{"version":3,"names":["DefaultMap","Map","constructor","defaultInit","iterable","_defaultInit","builder","bind","get","key","has","defaultValue","set"],"sources":["collections.js"],"sourcesContent":["export class DefaultMap extends Map {\n  constructor(defaultInit, iterable) {\n    super(iterable);\n    this._defaultInit = defaultInit;\n  }\n  \n  static builder(defaultInit) {\n    return DefaultMap.bind(null, defaultInit);\n  }\n  \n  get(key) {\n    if(!this.has(key)) {\n      const defaultValue = typeof this._defaultInit === 'function' ? \n                           new this._defaultInit() :\n                           this._defaultInit;\n      this.set(key, defaultValue);\n    }\n    return super.get(key);\n  }\n}\n"],"mappings":";;;MAAaA,UAAU;EAAA;EAAA;IAAA;IAAA;MAAA;MAAA;MAAA,sBAAVA,UAAU,GAAhB,MAAMA,UAAU,SAASC,GAAG,CAAC;QAClCC,WAAW,CAACC,WAAW,EAAEC,QAAQ,EAAE;UACjC,KAAK,CAACA,QAAQ,CAAC;UACf,IAAI,CAACC,YAAY,GAAGF,WAAW;QACjC;QAEA,OAAOG,OAAO,CAACH,WAAW,EAAE;UAC1B,OAAOH,UAAU,CAACO,IAAI,CAAC,IAAI,EAAEJ,WAAW,CAAC;QAC3C;QAEAK,GAAG,CAACC,GAAG,EAAE;UACP,IAAG,CAAC,IAAI,CAACC,GAAG,CAACD,GAAG,CAAC,EAAE;YACjB,MAAME,YAAY,GAAG,OAAO,IAAI,CAACN,YAAY,KAAK,UAAU,GACvC,IAAI,IAAI,CAACA,YAAY,EAAE,GACvB,IAAI,CAACA,YAAY;YACtC,IAAI,CAACO,GAAG,CAACH,GAAG,EAAEE,YAAY,CAAC;UAC7B;UACA,OAAO,KAAK,CAACH,GAAG,CAACC,GAAG,CAAC;QACvB;MACF,CAAC;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,sBAnBYT,2CAAU;UAAA;QAAA;QAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}