UNPKG

use-on-demand

Version:
53 lines 2.11 kB
import { EleObj } from './EleObj'; export interface UsedParams { [key: string]: EleObj.Base; } interface IRefCheckUtils { collectToCheckRef(eleObjs: EleObj.Base[]): CheckRefWrapper; checkUsedIfOnce(obj: EleObj.Base): void; checkRefs(): void; } /** * 既然【静态接口】用不了,那我就换成【工厂模式】。 */ export declare class RefCheckUtilsFactory { private static v1?; private static v2?; static getV1(): RefCheckUtils_v1; static getV2(): RefCheckUtils_v2; } declare class RefCheckUtils_v1 implements IRefCheckUtils { /** * 将元素收集起来,检查引用 * 1.避免,未在md变量中声明,就在md连线中使用 的情况。 * 2.该方法,可以用作【drawFlow】方法的外部传参之前,也可以用作【drawFlow】内部。 */ collectToCheckRef(eleObjs: EleObj.Base[]): CheckRefWrapper; checkUsedIfOnce(obj: EleObj.Base): void; /** * 基本思路 声明/引用 引用次数,计数器。 * * 1.方式一. * 1.将所有的声明,包起来,放在一个对象里。然后通过对象调用。 * 2.这样的好处是,我们拥有全集的一个对象。 * 2.方式二. * 1.方式二,通过【with】关键字。 * 2.这是基于方式一,对方式一的一种简化、修正。(但是缺陷在于,TypeScript,以及strict模式,并不支持) * 3.方式三. * 1.正在考虑。在Utils类中维护一个全局。 * 2.然后每个调用、被调用方法内,进行处理。 */ checkRefs(usedParams?: UsedParams): void; } export declare class CheckRefWrapper { eleObjs: EleObj.Base[]; constructor(eleObjs: EleObj.Base[]); } declare class RefCheckUtils_v2 implements IRefCheckUtils { static declaredObjs: EleObj.Base[]; collectToCheckRef(eleObjs: EleObj.Base[]): CheckRefWrapper; checkUsedIfOnce(obj: EleObj.Base): void; checkRefs(): void; } export {}; //# sourceMappingURL=RefCheckUtils.d.ts.map