{"version":3,"sources":["pipe_registry.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;cAArC,EAAC,GAAE,YAAqB;AAAE,yBAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;;;;SAA1D,EAAC,8CAAoB,CAAA,OAAM,AAAC,kCAAkB,CACtC,CAAA,+CAAqB,wDAA2B,CAAA,+CAAqB,GAAK,EAAC,OAAM,8CAAmB,CAAC,AAD/D,CACgE;AADtG,OAAG;AAAG,cAAU;SAAxB,EAAC,wCAAoB,CAAA,OAAM,AAAC,4BAAkB,CACtC,CAAA,yCAAqB,kDAA2B,CAAA,yCAAqB,GAAK,EAAC,OAAM,wCAAmB,CAAC,AAD/D,CACgE;AAAtG,UAAM;AAAG,YAAQ;AAAG,gBAAY;AAAG,QAAI;EACvC,KAAG,EAFX,EAAC,WAAoB,CAAA,OAAM,AAAC,UAAkB,CACtC,CAAA,YAAqB,qBAA2B,CAAA,YAAqB,GAAK,EAAC,OAAM,WAAmB,CAAC,AAD/D,CACgE;EAEtG,WAAS,EAHjB,EAAC,qBAAoB,CAAA,OAAM,AAAC,eAAkB,CACtC,CAAA,sBAAqB,+BAA2B,CAAA,sBAAqB,GAAK,EAAC,OAAM,qBAAmB,CAAC,AAD/D,CACgE;EAGtG,kBAAgB,EAJxB,EAAC,4CAAoB,CAAA,OAAM,AAAC,0BAAkB,CACtC,CAAA,6CAAqB,sDAA2B,CAAA,6CAAqB,GAAK,EAAC,OAAM,4CAAmB,CAAC,AAD/D,CACgE;AAD9G,AAAI,EAAA,eAOG,SAAM,aAAW,CAGV,MAAK,CAAE;AACjB,KAAG,OAAO,EAAI,OAAK,CAAC;AACtB,AAZsC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC,gBAc3B,GAAE,CAAF,UAAI,IAAG,AAAO,CAAG,CAAA,GAAE,CAAG,CAAA,KAAI,AAAkB;AAC1C,AAAI,MAAA,CAAA,aAAY,EAAI,CAAA,IAAG,OAAO,CAAE,IAAG,CAAC,CAAC;AACrC,OAAI,OAAM,AAAC,CAAC,aAAY,CAAC,CAAG;AAC1B,UAAM,IAAI,cAAY,AAAC,EAAC,+BAA+B,EAAC,KAAG,EAAC,aAAY,EAAC,IAAE,EAAC,IAAE,EAAC,CAAC;IAClF;AAAA,AAEI,MAAA,CAAA,cAAa,EAAI,CAAA,WAAU,KAAK,AAAC,CAAC,aAAY,GAChD,SAAC,UAAS;WAAM,CAAA,UAAS,SAAS,AAAC,CAAC,GAAE,CAAC;IAAA,EAAC,CAAC;AAE3C,OAAI,OAAM,AAAC,CAAC,cAAa,CAAC,CAAG;AAC3B,UAAM,IAAI,cAAY,AAAC,EAAC,+BAA+B,EAAC,KAAG,EAAC,aAAY,EAAC,IAAE,EAAC,IAAE,EAAC,CAAC;IAClF;AAAA,AAEA,SAAO,CAAA,cAAa,OAAO,AAAC,CAAC,KAAI,CAAC,CAAC;EACrC,MA5BmF;AAArF,KAAK,eAAe,AAAC,6BACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,cAKzB,WAAS,AAAC,EAAC,EALqC;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,0CACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,eAcS,iBAAgB,GAbG;EAAC,CAAC,CAAC,CAAC;AA4BrD","file":"angular2/src/change_detection/pipes/pipe_registry.js","sourcesContent":["import {List, ListWrapper} from 'angular2/src/facade/collection';\nimport {isBlank, isPresent, BaseException, CONST} from 'angular2/src/facade/lang';\nimport {Pipe} from './pipe';\nimport {Injectable} from 'angular2/di';\nimport {ChangeDetectorRef} from '../change_detector_ref';\n\n@Injectable()\nexport class PipeRegistry {\n  config;\n\n  constructor(config){\n    this.config = config;\n  }\n\n  get(type:string, obj, cdRef:ChangeDetectorRef):Pipe {\n    var listOfConfigs = this.config[type];\n    if (isBlank(listOfConfigs)) {\n      throw new BaseException(`Cannot find a pipe for type '${type}' object '${obj}'`);\n    }\n\n    var matchingConfig = ListWrapper.find(listOfConfigs,\n      (pipeConfig) => pipeConfig.supports(obj));\n\n    if (isBlank(matchingConfig)) {\n      throw new BaseException(`Cannot find a pipe for type '${type}' object '${obj}'`);\n    }\n\n    return matchingConfig.create(cdRef);\n  }\n}"]}