web-atoms-core
Version:
39 lines (31 loc) • 990 B
text/typescript
import AtomMap from "../core/AtomMap";
export class TypeKey {
public static get(c: any): string {
// for (const iterator of this.keys) {
// if (iterator.c === c) {
// return iterator.key;
// }
// }
// const key = `${c.name || "key"}${this.keys.length}`;
// this.keys.push({ c, key});
// return key;
return TypeKey.keys.getOrCreate(c, (c1) => {
const key = `${c1.name || "key"}${TypeKey.keys.size}`;
return key;
});
}
private static keys: AtomMap<any, any> = new AtomMap();
}
// if (Map !== undefined) {
// const map = new Map<any, string>();
// const oldGet = TypeKey.get;
// TypeKey.get = (c: any): string => {
// const v = map.get(c);
// if (!v) {
// return v;
// }
// const v1 = oldGet(c);
// map.set(c, v1);
// return v1;
// };
// }