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

Function parseRoute

test/angular/1.6/angular-mocks.js:1628–1656  ·  view source on GitHub ↗
(url)

Source from the content-addressed store, hash-verified

1626 };
1627
1628 function parseRoute(url) {
1629 var ret = {
1630 regexp: url
1631 },
1632 keys = ret.keys = [];
1633
1634 if (!url || !angular.isString(url)) return ret;
1635
1636 url = url
1637 .replace(/([().])/g, '\\$1')
1638 .replace(/(\/)?:(\w+)([?*])?/g, function(_, slash, key, option) {
1639 var optional = option === '?' ? option : null;
1640 var star = option === '*' ? option : null;
1641 keys.push({ name: key, optional: !!optional });
1642 slash = slash || '';
1643 return ''
1644 + (optional ? '' : slash)
1645 + '(?:'
1646 + (optional ? slash : '')
1647 + (star && '(.+?)' || '([^/]+)')
1648 + (optional || '')
1649 + ')'
1650 + (optional || '');
1651 })
1652 .replace(/([/$*])/g, '\\$1');
1653
1654 ret.regexp = new RegExp('^' + url, 'i');
1655 return ret;
1656 }
1657
1658 /**
1659 * @ngdoc method

Callers 1

createHttpBackendMockFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected