angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 2.79 kB
Source Map (JSON)
{"version":3,"sources":["key.js"],"names":[],"mappings":"AAAA,KAAO,EAAC,UAAS,CAAC,KAAO,iCAA+B,CAAC;AAiBzD,KAAO,MAAM,IAAE;AAIb,YAAU,CAAE,KAAI,CAAG,CAAA,EAAC,CAAa;AAC/B,OAAG,MAAM,EAAI,MAAI,CAAC;AAClB,OAAG,GAAG,EAAI,GAAC,CAAC;AACZ,OAAG,SAAS,EAAI,KAAG,CAAC;EACtB;AAAA,AAKA,OAAO,IAAE,CAAE,KAAI,CAAO;AACpB,SAAO,CAAA,kBAAiB,IAAI,AAAC,CAAC,KAAI,CAAC,CAAC;EACtC;AAAA,AAKA,WAAW,aAAW,EAAc;AAClC,SAAO,CAAA,kBAAiB,aAAa,CAAC;EACxC;AAAA,AACF;AAAA,AAKA,KAAO,MAAM,YAAU;AAErB,YAAU,CAAE,AAAD,CAAG;AACZ,OAAG,SAAS,EAAI,CAAA,UAAS,OAAO,AAAC,EAAC,CAAC;EACrC;AAAA,AAEA,IAAE,CAAE,KAAI,CAAO;AACb,OAAI,KAAI,WAAa,IAAE;AAAG,WAAO,MAAI,CAAC;AAAA,AAEtC,OAAI,UAAS,SAAS,AAAC,CAAC,IAAG,SAAS,CAAG,MAAI,CAAC,CAAG;AAC7C,WAAO,CAAA,UAAS,IAAI,AAAC,CAAC,IAAG,SAAS,CAAG,MAAI,CAAC,CAAC;IAC7C;AAAA,AAEI,MAAA,CAAA,MAAK,EAAI,IAAI,IAAE,AAAC,CAAC,KAAI,CAAG,CAAA,GAAE,aAAa,CAAC,CAAC;AAC7C,aAAS,IAAI,AAAC,CAAC,IAAG,SAAS,CAAG,MAAI,CAAG,OAAK,CAAC,CAAC;AAC5C,SAAO,OAAK,CAAC;EACf;AAAA,AAEA,IAAI,aAAW,EAAc;AAC3B,SAAO,CAAA,UAAS,KAAK,AAAC,CAAC,IAAG,SAAS,CAAC,CAAC;EACvC;AAAA,AACF;AAAA,AAEI,EAAA,CAAA,kBAAiB,EAAI,IAAI,YAAU,AAAC,EAAC,CAAC;AAC1C","file":"angular2/src/di/key.es6","sourcesContent":["import {MapWrapper} from 'angular2/src/facade/collection';\n//import {int} from 'angular2/src/facade/lang';\n\n// TODO: uncoment `int` once https://github.com/angular/angular/issues/1414 is fixed\n\n/**\n * A unique object used for retrieving items from the {@link Injector}.\n *\n * Keys have:\n * - a system-wide unique `id`.\n * - a `token`, usually the `Type` of the instance.\n *\n * Keys are used internally by the {@link Injector} because their system-wide unique `id`s allow the\n * injector to index in arrays rather than looking up items in maps.\n *\n * @exportedAs angular2/di\n */\nexport class Key {\n token;\n id/* :int */;\n metadata:any;\n constructor(token, id/* :int */) {\n this.token = token;\n this.id = id;\n this.metadata = null;\n }\n\n /**\n * Retrieves a `Key` for a token.\n */\n static get(token):Key {\n return _globalKeyRegistry.get(token);\n }\n\n /**\n * @returns the number of keys registered in the system.\n */\n static get numberOfKeys()/* :int */ {\n return _globalKeyRegistry.numberOfKeys;\n }\n}\n\n/**\n * @private\n */\nexport class KeyRegistry {\n _allKeys:Map;\n constructor() {\n this._allKeys = MapWrapper.create();\n }\n\n get(token):Key {\n if (token instanceof Key) return token;\n\n if (MapWrapper.contains(this._allKeys, token)) {\n return MapWrapper.get(this._allKeys, token);\n }\n\n var newKey = new Key(token, Key.numberOfKeys);\n MapWrapper.set(this._allKeys, token, newKey);\n return newKey;\n }\n\n get numberOfKeys()/* :int */ {\n return MapWrapper.size(this._allKeys);\n }\n}\n\nvar _globalKeyRegistry = new KeyRegistry();\n"]}