import type * as ts from 'typescript' ; import { createEmptyProperty } from '../../../typescriptFactory/typescriptFactory' ; export class PropertySignatureCache { private _cache : ts . PropertyName ; private static _instance : PropertySignatureCache ; public static get instance ( ) : PropertySignatureCache { this . _instance = this . _instance || new PropertySignatureCache ( ) ; return this . _instance ; } public set ( identifier ) { this . _cache = identifier ; } public get ( ) { return this . _cache || createEmptyProperty ( ) . name ; } }