Sha256: b0ef7cad742e9a67ecf9ddbaf15df5c0c763d0772a8cdf21098e803da54c6aac
Contents?: true
Size: 708 Bytes
Versions: 47
Compression:
Stored size: 708 Bytes
Contents
"use strict"; var isCallable = require("../object/is-callable") , value = require("../object/valid-value") , call = Function.prototype.call; module.exports = function (fmap) { fmap = Object(value(fmap)); return function (pattern) { var context = this; value(context); pattern = String(pattern); return pattern.replace(/%([a-zA-Z]+)|\\([\u0000-\uffff])/g, function ( match, token, escapeChar ) { var t, result; if (escapeChar) return escapeChar; t = token; while (t && !(result = fmap[t])) t = t.slice(0, -1); if (!result) return match; if (isCallable(result)) result = call.call(result, context); return result + token.slice(t.length); }); }; };
Version data entries
47 entries across 47 versions & 3 rubygems