{"version":3,"sources":["locals.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;QAArC,EAAC,GAAE,YAAqB;AAAE,mBAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;SAA1D,EAAC,wCAAoB,CAAA,OAAM,AAAC,4BAAkB,CACtC,CAAA,yCAAqB,kDAA2B,CAAA,yCAAqB,GAAK,EAAC,OAAM,wCAAmB,CAAC,AAD/D,CACgE;AADtG,YAAQ;AAAG,gBAAY;SAA/B,EAAC,8CAAoB,CAAA,OAAM,AAAC,kCAAkB,CACtC,CAAA,+CAAqB,wDAA2B,CAAA,+CAAqB,GAAK,EAAC,OAAM,8CAAmB,CAAC,AAD/D,CACgE;AAAtG,cAAU;AAAG,aAAS;AAD9B,AAAI,EAAA,SAGG,SAAM,OAAK,CAIJ,MAAK,AAAO,CAAG,CAAA,OAAM,AAAI,CAAG;AACtC,KAAG,OAAO,EAAI,OAAK,CAAC;AACpB,KAAG,QAAQ,EAAI,QAAM,CAAC;AACxB,AAVsC,CAAA;AAAxC,AAAI,EAAA,iBAAoC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC;AAY3B,SAAO,CAAP,UAAS,IAAG,AAAO,CAAW;AAC5B,OAAI,UAAS,SAAS,AAAC,CAAC,IAAG,QAAQ,CAAG,KAAG,CAAC,CAAG;AAC3C,WAAO,KAAG,CAAC;IACb;AAAA,AAEA,OAAI,SAAQ,AAAC,CAAC,IAAG,OAAO,CAAC,CAAG;AAC1B,WAAO,CAAA,IAAG,OAAO,SAAS,AAAC,CAAC,IAAG,CAAC,CAAC;IACnC;AAAA,AAEA,SAAO,MAAI,CAAC;EACd;AAEA,IAAE,CAAF,UAAI,IAAG,AAAO,CAAG;AACf,OAAI,UAAS,SAAS,AAAC,CAAC,IAAG,QAAQ,CAAG,KAAG,CAAC,CAAG;AAC3C,WAAO,CAAA,UAAS,IAAI,AAAC,CAAC,IAAG,QAAQ,CAAG,KAAG,CAAC,CAAC;IAC3C;AAAA,AAEA,OAAI,SAAQ,AAAC,CAAC,IAAG,OAAO,CAAC,CAAG;AAC1B,WAAO,CAAA,IAAG,OAAO,IAAI,AAAC,CAAC,IAAG,CAAC,CAAC;IAC9B;AAAA,AAEA,QAAM,IAAI,cAAY,AAAC,EAAC,eAAe,EAAC,KAAG,EAAC,IAAE,EAAC,CAAC;EAClD;AAEA,IAAE,CAAF,UAAI,IAAG,AAAO,CAAG,CAAA,KAAI,CAAG;AAItB,OAAI,UAAS,SAAS,AAAC,CAAC,IAAG,QAAQ,CAAG,KAAG,CAAC,CAAG;AAC3C,eAAS,IAAI,AAAC,CAAC,IAAG,QAAQ,CAAG,KAAG,CAAG,MAAI,CAAC,CAAC;IAC3C,KAAO;AACL,UAAM,IAAI,cAAY,AAAC,CAAC,yDAAwD,CAAC,CAAC;IACpF;AAAA,EACF;AAEA,YAAU,CAAV,UAAY,AAAD,CAAG;AACZ,aAAS,YAAY,AAAC,CAAC,IAAG,QAAQ,CAAC,CAAC;EACtC;AAAA,KAjDmF;AAArF,KAAK,eAAe,AAAC,sBACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAML,MAAK,IAAW,GAAE,GANU;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,yCACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,UAC4B;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,oCACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,UAC4B;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,oCACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,cAC4B;EAAC,CAAC,CAAC,CAAC;AAiDrD","file":"angular2/src/change_detection/parser/locals.js","sourcesContent":["import {isPresent, BaseException} from 'angular2/src/facade/lang';\nimport {ListWrapper, MapWrapper} from 'angular2/src/facade/collection';\n\nexport class Locals {\n  parent:Locals;\n  current:Map;\n\n  constructor(parent:Locals, current:Map) {\n    this.parent = parent;\n    this.current = current;\n  }\n\n  contains(name:string):boolean {\n    if (MapWrapper.contains(this.current, name)) {\n      return true;\n    }\n\n    if (isPresent(this.parent)) {\n      return this.parent.contains(name);\n    }\n\n    return false;\n  }\n\n  get(name:string) {\n    if (MapWrapper.contains(this.current, name)) {\n      return MapWrapper.get(this.current, name);\n    }\n\n    if (isPresent(this.parent)) {\n      return this.parent.get(name);\n    }\n\n    throw new BaseException(`Cannot find '${name}'`);\n  }\n\n  set(name:string, value) {\n    // TODO(rado): consider removing this check if we can guarantee this is not\n    // exposed to the public API.\n    // TODO: vsavkin maybe it should check only the local map\n    if (MapWrapper.contains(this.current, name)) {\n      MapWrapper.set(this.current, name, value);\n    } else {\n      throw new BaseException('Setting of new keys post-construction is not supported.');\n    }\n  }\n\n  clearValues() {\n    MapWrapper.clearValues(this.current);\n  }\n}"]}