UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 2.85 kB
{"version":3,"sources":["url_resolver.js"],"names":[],"mappings":"AAAA;AAAA,KAAO,EAAC,UAAS,CAAC,KAAO,cAAY,CAAC;AACtC,KAAO,EAAC,SAAQ;AAAG,QAAM;AAAG,cAAY;AAAG,cAAY,CAAC,KAAO,2BAAyB,CAAC;AACzF,KAAO,EAAC,GAAE,CAAC,KAAO,+BAA6B,CAAC;AAGhD,KAAO,MAAM,YAAU;AAGrB,YAAU,CAAE,AAAD,CAAG;AACZ,OAAI,OAAM,AAAC,CAAC,WAAU,EAAE,CAAC,CAAG;AAC1B,gBAAU,EAAE,EAAI,CAAA,GAAE,cAAc,AAAC,CAAC,GAAE,CAAC,CAAC;IACxC;AAAA,EACF;AAAA,AAEA,QAAM,CAAE,OAAM,AAAQ,CAAG,CAAA,GAAE,AAAQ;AAdrC,SAAK,cAAc,SAAnB,CAAA,MAAK,KAAgB,aAArB,CAAA,MAAK,KAAgB,QAAiB,CAAA;AAelC,OAAI,OAAM,AAAC,CAAC,OAAM,CAAC,CAAG;AACpB,QAAE,kBAAkB,AAAC,CAAC,WAAU,EAAE,CAAG,IAAE,CAAG,KAAG,CAAC,CAAC;AAhBrD,WAAO,CAAA,MAAK,WAAW,AAAC,CAAC,CAiBZ,GAAE,QAAQ,AAAC,CAAC,WAAU,EAAE,CAAC,CAjBK,CAA3C,CAAA,MAAK,KAAgB,QAA0C,CAAA;IAkB3D;AAAA,AAEA,OAAI,OAAM,AAAC,CAAC,GAAE,CAAC,CAAA,EAAK,CAAA,GAAE,GAAK,GAAC;AApBhC,WAAO,CAAA,MAAK,WAAW,AAAC,CAAC,CAoBiB,OAAM,CApBL,CAA3C,CAAA,MAAK,KAAgB,QAA0C,CAAA;AAoBd,AAE7C,OAAI,GAAE,CAAE,CAAA,CAAC,GAAK,IAAE,CAAG;AACjB,UAAM,IAAI,cAAY,AAAC,CAAC,6BAA6B,GAAE,SAAU,OAAM,EAAE,CAAC,CAAC;IAC7E;AAAA,AAEI,MAAA,CAAA,CAAA,EAAI,CAAA,aAAY,WAAW,AAAC,CAAC,SAAQ,CAAG,IAAE,CAAC,CAAC;AAEhD,OAAI,SAAQ,AAAC,CAAC,CAAA,CAAE,CAAA,CAAC,CAAC,CAAG;AA5BzB,WAAO,CAAA,MAAK,WAAW,AAAC,CAAC,CA6BZ,GAAE,CA7B4B,CAA3C,CAAA,MAAK,KAAgB,QAA0C,CAAA;IA8B3D;AAAA,AAEA,MAAE,kBAAkB,AAAC,CAAC,WAAU,EAAE,CAAG,QAAM,CAAG,IAAE,CAAC,CAAC;AAhCtD,SAAO,CAAA,MAAK,WAAW,AAAC,CAAC,CAiCd,GAAE,QAAQ,AAAC,CAAC,WAAU,EAAE,CAAC,CAjCO,CAA3C,CAAA,MAAK,KAAgB,QAA0C,CAAA;EAkC7D;AACF;AAAA,AAnCA,KAAK,eAAe,AAAC,4BACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,cAGzB,WAAS,AAAC,EAAC,EAHqC;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,6CACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,MAAK,KAAgB,WAArB,MAAK,KAAgB,UAC4B;EAAC,CAAC,CAAC,CAAC;AAoCrD,AAAI,EAAA,CAAA,SAAQ,EAAI,CAAA,aAAY,OAAO,AAAC,CAAC,eAAc,CAAC,CAAC;AACrD","file":"angular2/src/services/url_resolver.es6","sourcesContent":["import {Injectable} from 'angular2/di';\nimport {isPresent, isBlank, RegExpWrapper, BaseException} from 'angular2/src/facade/lang';\nimport {DOM} from 'angular2/src/dom/dom_adapter';\n\n@Injectable()\nexport class UrlResolver {\n static a;\n\n constructor() {\n if (isBlank(UrlResolver.a)) {\n UrlResolver.a = DOM.createElement('a');\n }\n }\n\n resolve(baseUrl: string, url: string): string {\n if (isBlank(baseUrl)) {\n DOM.resolveAndSetHref(UrlResolver.a, url, null);\n return DOM.getHref(UrlResolver.a);\n }\n\n if (isBlank(url) || url == '') return baseUrl;\n\n if (url[0] == '/') {\n throw new BaseException(`Could not resolve the url ${url} from ${baseUrl}`);\n }\n\n var m = RegExpWrapper.firstMatch(_schemeRe, url);\n\n if (isPresent(m[1])) {\n return url;\n }\n\n DOM.resolveAndSetHref(UrlResolver.a, baseUrl, url);\n return DOM.getHref(UrlResolver.a);\n }\n}\n\nvar _schemeRe = RegExpWrapper.create('^([^:/?#]+:)?');\n"]}