MCPcopy
hub / github.com/angular-ui/ui-router / parseRoute

Function parseRoute

test/angular/1.5/angular-mocks.js:1584–1612  ·  view source on GitHub ↗
(url)

Source from the content-addressed store, hash-verified

1582 };
1583
1584 function parseRoute(url) {
1585 var ret = {
1586 regexp: url
1587 },
1588 keys = ret.keys = [];
1589
1590 if (!url || !angular.isString(url)) return ret;
1591
1592 url = url
1593 .replace(/([().])/g, '\\$1')
1594 .replace(/(\/)?:(\w+)([?*])?/g, function(_, slash, key, option) {
1595 var optional = option === '?' ? option : null;
1596 var star = option === '*' ? option : null;
1597 keys.push({ name: key, optional: !!optional });
1598 slash = slash || '';
1599 return ''
1600 + (optional ? '' : slash)
1601 + '(?:'
1602 + (optional ? slash : '')
1603 + (star && '(.+?)' || '([^/]+)')
1604 + (optional || '')
1605 + ')'
1606 + (optional || '');
1607 })
1608 .replace(/([/$*])/g, '\\$1');
1609
1610 ret.regexp = new RegExp('^' + url, 'i');
1611 return ret;
1612 }
1613
1614 /**
1615 * @ngdoc method

Callers 1

createHttpBackendMockFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected