UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 2.96 kB
{"version":3,"sources":["url_resolver.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;aAArC,EAAC,GAAE,YAAqB;AAAE,wBAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;;EAAlD,WAAS,EAAjB,EAAC,qBAAoB,CAAA,OAAM,AAAC,eAAkB,CACtC,CAAA,sBAAqB,+BAA2B,CAAA,sBAAqB,GAAK,EAAC,OAAM,qBAAmB,CAAC,AAD/D,CACgE;SAD9G,EAAC,wCAAoB,CAAA,OAAM,AAAC,4BAAkB,CACtC,CAAA,yCAAqB,kDAA2B,CAAA,yCAAqB,GAAK,EAAC,OAAM,wCAAmB,CAAC,AAD/D,CACgE;AAAtG,YAAQ;AAAG,UAAM;AAAG,gBAAY;AAAG,gBAAY;EAC/C,IAAE,EAFV,EAAC,+CAAoB,CAAA,OAAM,AAAC,gCAAkB,CACtC,CAAA,gDAAqB,yDAA2B,CAAA,gDAAqB,GAAK,EAAC,OAAM,+CAAmB,CAAC,AAD/D,CACgE;AAD9G,AAAI,EAAA,cAKG,SAAM,YAAU,CAGT,AAAD,CAAG;AACZ,KAAI,OAAM,AAAC,CAAC,cAAY,CAAC,CAAG;AAC1B,iBAAY,EAAI,CAAA,GAAE,cAAc,AAAC,CAAC,GAAE,CAAC,CAAC;EACxC;AAAA,AACF,AAZsC,CAAA;AAAxC,AAAI,EAAA,2BAAoC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC,eAc3B,OAAM,CAAN,UAAQ,OAAM,AAAQ,CAAG,CAAA,GAAE,AAAQ,CAAW;AAC5C,OAAI,OAAM,AAAC,CAAC,OAAM,CAAC,CAAG;AACpB,QAAE,kBAAkB,AAAC,CAAC,cAAY,CAAG,IAAE,CAAG,KAAG,CAAC,CAAC;AAC/C,WAAO,CAAA,GAAE,QAAQ,AAAC,CAAC,cAAY,CAAC,CAAC;IACnC;AAAA,AAEA,OAAI,OAAM,AAAC,CAAC,GAAE,CAAC,CAAA,EAAK,CAAA,GAAE,GAAK,GAAC;AAAG,WAAO,QAAM,CAAC;AAAA,AAE7C,OAAI,GAAE,CAAE,CAAA,CAAC,GAAK,IAAE,CAAG;AACjB,UAAM,IAAI,cAAY,AAAC,EAAC,4BAA4B,EAAC,IAAE,EAAC,SAAQ,EAAC,QAAM,EAAG,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;AACnB,WAAO,IAAE,CAAC;IACZ;AAAA,AAEA,MAAE,kBAAkB,AAAC,CAAC,cAAY,CAAG,QAAM,CAAG,IAAE,CAAC,CAAC;AAClD,SAAO,CAAA,GAAE,QAAQ,AAAC,CAAC,cAAY,CAAC,CAAC;EACnC,MAlCmF;AAArF,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,eAAc,KAAO,WAArB,eAAc,KAAO,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.js","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"]}