packageDocumentation module import { ClassInfoJSON , CompressedClassInfoJSON , PropertyInfo , PropertyInfoJSON } from "../EC" ; public export interface PropertyAccessor { /** Name of ECProperty */ propertyName : string ; /** If the property is an array, array index. Otherwise undefined. */ arrayIndex ? : number ; } public export type PropertyAccessorPath = PropertyAccessor [ ] ; public export interface Property { /** ECProperty information */ property : PropertyInfo ; } public export namespace Property { /** Serialize [[Property]] to JSON */ export function toJSON ( prop ) { return { property : PropertyInfo . toJSON ( prop . property ) } ; } /** Serialize [[Property]] to compressed JSON */ export function toCompressedJSON ( prop , classesMap ) { return { property : PropertyInfo . toCompressedJSON ( prop . property , classesMap ) } ; } /** Deserializes [[Property]] from JSON */ export function fromJSON ( json ) { return { property : PropertyInfo . fromJSON ( json . property ) } ; } } public export interface PropertyJSON < TClassInfoJSON = ClassInfoJSON > { property : PropertyInfoJSON < TClassInfoJSON > ; }