diff options
Diffstat (limited to 'node_modules/locutus/php/strings/strtr.js')
-rw-r--r-- | node_modules/locutus/php/strings/strtr.js | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/node_modules/locutus/php/strings/strtr.js b/node_modules/locutus/php/strings/strtr.js deleted file mode 100644 index 7c6f35f..0000000 --- a/node_modules/locutus/php/strings/strtr.js +++ /dev/null @@ -1,102 +0,0 @@ -'use strict'; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -module.exports = function strtr(str, trFrom, trTo) { - // discuss at: http://locutus.io/php/strtr/ - // original by: Brett Zamir (http://brett-zamir.me) - // input by: uestla - // input by: Alan C - // input by: Taras Bogach - // input by: jpfle - // bugfixed by: Kevin van Zonneveld (http://kvz.io) - // bugfixed by: Kevin van Zonneveld (http://kvz.io) - // bugfixed by: Brett Zamir (http://brett-zamir.me) - // bugfixed by: Brett Zamir (http://brett-zamir.me) - // example 1: var $trans = {'hello' : 'hi', 'hi' : 'hello'} - // example 1: strtr('hi all, I said hello', $trans) - // returns 1: 'hello all, I said hi' - // example 2: strtr('äaabaåccasdeöoo', 'äåö','aao') - // returns 2: 'aaabaaccasdeooo' - // example 3: strtr('ääääääää', 'ä', 'a') - // returns 3: 'aaaaaaaa' - // example 4: strtr('http', 'pthxyz','xyzpth') - // returns 4: 'zyyx' - // example 5: strtr('zyyx', 'pthxyz','xyzpth') - // returns 5: 'http' - // example 6: strtr('aa', {'a':1,'aa':2}) - // returns 6: '2' - - var krsort = require('../array/krsort'); - var iniSet = require('../info/ini_set'); - - var fr = ''; - var i = 0; - var j = 0; - var lenStr = 0; - var lenFrom = 0; - var sortByReference = false; - var fromTypeStr = ''; - var toTypeStr = ''; - var istr = ''; - var tmpFrom = []; - var tmpTo = []; - var ret = ''; - var match = false; - - // Received replace_pairs? - // Convert to normal trFrom->trTo chars - if ((typeof trFrom === 'undefined' ? 'undefined' : _typeof(trFrom)) === 'object') { - // Not thread-safe; temporarily set to true - // @todo: Don't rely on ini here, use internal krsort instead - sortByReference = iniSet('locutus.sortByReference', false); - trFrom = krsort(trFrom); - iniSet('locutus.sortByReference', sortByReference); - - for (fr in trFrom) { - if (trFrom.hasOwnProperty(fr)) { - tmpFrom.push(fr); - tmpTo.push(trFrom[fr]); - } - } - - trFrom = tmpFrom; - trTo = tmpTo; - } - - // Walk through subject and replace chars when needed - lenStr = str.length; - lenFrom = trFrom.length; - fromTypeStr = typeof trFrom === 'string'; - toTypeStr = typeof trTo === 'string'; - - for (i = 0; i < lenStr; i++) { - match = false; - if (fromTypeStr) { - istr = str.charAt(i); - for (j = 0; j < lenFrom; j++) { - if (istr === trFrom.charAt(j)) { - match = true; - break; - } - } - } else { - for (j = 0; j < lenFrom; j++) { - if (str.substr(i, trFrom[j].length) === trFrom[j]) { - match = true; - // Fast forward - i = i + trFrom[j].length - 1; - break; - } - } - } - if (match) { - ret += toTypeStr ? trTo.charAt(j) : trTo[j]; - } else { - ret += str.charAt(i); - } - } - - return ret; -}; -//# sourceMappingURL=strtr.js.map
\ No newline at end of file |