UNPKG

composr-core

Version:
29 lines (21 loc) 636 B
'use strict' var XRegExp = require('xregexp') function extractParams (path, phraseRegexpReference) { var params = {} // Store all the names as null values phraseRegexpReference.params.forEach(function (param) { param = param.replace('?', '') params[param] = null }) var regexp = XRegExp(phraseRegexpReference.regexp) var result = XRegExp.exec(path, regexp) Object.keys(params).forEach(function (param) { if (result && result.hasOwnProperty(param) && typeof (result[param]) !== 'undefined') { params[param] = result[param] } }) return params } module.exports = { extract: extractParams }