@imbricate/core
Version:
Imbricate Core, Notebook for Engineers
12 lines (11 loc) • 797 B
TypeScript
/**
* @author WMXPY
* @namespace Property
* @description Map
*/
import { ImbricatePropertyKey, ImbricatePropertyVariant } from "./definition";
import { IImbricateProperty } from "./interface";
import { IMBRICATE_PROPERTY_TYPE, ImbricatePropertyValueObject } from "./type";
export type ImbricatePropertyRecord = Record<ImbricatePropertyKey, IImbricateProperty<IMBRICATE_PROPERTY_TYPE>>;
export type ImbricatePropertyGenerator<T extends IMBRICATE_PROPERTY_TYPE> = (propertyKey: ImbricatePropertyKey, propertyType: T, propertyValue: ImbricatePropertyValueObject<T>, propertyVariant: ImbricatePropertyVariant) => IImbricateProperty<T>;
export type ImbricatePropertiesDrafter = (generator: ImbricatePropertyGenerator<IMBRICATE_PROPERTY_TYPE>) => Array<IImbricateProperty<IMBRICATE_PROPERTY_TYPE>>;