@imbricate/core
Version:
Imbricate Core, Notebook for Engineers
12 lines (11 loc) • 728 B
TypeScript
/**
* @author WMXPY
* @namespace Property
* @description Map
*/
import { ImbricatePropertyKey } 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>) => IImbricateProperty<T>;
export type ImbricatePropertiesDrafter = (generator: ImbricatePropertyGenerator<IMBRICATE_PROPERTY_TYPE>) => Array<IImbricateProperty<IMBRICATE_PROPERTY_TYPE>>;