UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

28 lines (27 loc) 1.02 kB
import { RegExpWrapper, RegExpMatcherWrapper, isBlank } from 'angular2/src/facade/lang'; import { MatchedUrl } from './route_path'; export class RegexRoutePath { constructor(_reString, _serializer) { this._reString = _reString; this._serializer = _serializer; this.terminal = true; this.specificity = '2'; this.hash = this._reString; this._regex = RegExpWrapper.create(this._reString); } matchUrl(url) { var urlPath = url.toString(); var params = {}; var matcher = RegExpWrapper.matcher(this._regex, urlPath); var match = RegExpMatcherWrapper.next(matcher); if (isBlank(match)) { return null; } for (let i = 0; i < match.length; i += 1) { params[i.toString()] = match[i]; } return new MatchedUrl(urlPath, [], params, [], null); } generateUrl(params) { return this._serializer(params); } toString() { return this._reString; } }