From 824a2d9f587ca017fc71b84d835e72f54f9c87c4 Mon Sep 17 00:00:00 2001
From: Marvin Borner
Date: Wed, 7 Nov 2018 18:02:36 +0100
Subject: Began rewrite

---
 node_modules/locutus/php/strings/str_replace.js | 85 +++++++++++++++++++++++++
 1 file changed, 85 insertions(+)
 create mode 100644 node_modules/locutus/php/strings/str_replace.js

(limited to 'node_modules/locutus/php/strings/str_replace.js')

diff --git a/node_modules/locutus/php/strings/str_replace.js b/node_modules/locutus/php/strings/str_replace.js
new file mode 100644
index 0000000..2ced641
--- /dev/null
+++ b/node_modules/locutus/php/strings/str_replace.js
@@ -0,0 +1,85 @@
+'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 str_replace(search, replace, subject, countObj) {
+  // eslint-disable-line camelcase
+  //  discuss at: http://locutus.io/php/str_replace/
+  // original by: Kevin van Zonneveld (http://kvz.io)
+  // improved by: Gabriel Paderni
+  // improved by: Philip Peterson
+  // improved by: Simon Willison (http://simonwillison.net)
+  // improved by: Kevin van Zonneveld (http://kvz.io)
+  // improved by: Onno Marsman (https://twitter.com/onnomarsman)
+  // improved by: Brett Zamir (http://brett-zamir.me)
+  //  revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
+  // bugfixed by: Anton Ongson
+  // bugfixed by: Kevin van Zonneveld (http://kvz.io)
+  // bugfixed by: Oleg Eremeev
+  // bugfixed by: Glen Arason (http://CanadianDomainRegistry.ca)
+  // bugfixed by: Glen Arason (http://CanadianDomainRegistry.ca)
+  //    input by: Onno Marsman (https://twitter.com/onnomarsman)
+  //    input by: Brett Zamir (http://brett-zamir.me)
+  //    input by: Oleg Eremeev
+  //      note 1: The countObj parameter (optional) if used must be passed in as a
+  //      note 1: object. The count will then be written by reference into it's `value` property
+  //   example 1: str_replace(' ', '.', 'Kevin van Zonneveld')
+  //   returns 1: 'Kevin.van.Zonneveld'
+  //   example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars')
+  //   returns 2: 'hemmo, mars'
+  //   example 3: str_replace(Array('S','F'),'x','ASDFASDF')
+  //   returns 3: 'AxDxAxDx'
+  //   example 4: var countObj = {}
+  //   example 4: str_replace(['A','D'], ['x','y'] , 'ASDFASDF' , countObj)
+  //   example 4: var $result = countObj.value
+  //   returns 4: 4
+
+  var i = 0;
+  var j = 0;
+  var temp = '';
+  var repl = '';
+  var sl = 0;
+  var fl = 0;
+  var f = [].concat(search);
+  var r = [].concat(replace);
+  var s = subject;
+  var ra = Object.prototype.toString.call(r) === '[object Array]';
+  var sa = Object.prototype.toString.call(s) === '[object Array]';
+  s = [].concat(s);
+
+  var $global = typeof window !== 'undefined' ? window : global;
+  $global.$locutus = $global.$locutus || {};
+  var $locutus = $global.$locutus;
+  $locutus.php = $locutus.php || {};
+
+  if ((typeof search === 'undefined' ? 'undefined' : _typeof(search)) === 'object' && typeof replace === 'string') {
+    temp = replace;
+    replace = [];
+    for (i = 0; i < search.length; i += 1) {
+      replace[i] = temp;
+    }
+    temp = '';
+    r = [].concat(replace);
+    ra = Object.prototype.toString.call(r) === '[object Array]';
+  }
+
+  if (typeof countObj !== 'undefined') {
+    countObj.value = 0;
+  }
+
+  for (i = 0, sl = s.length; i < sl; i++) {
+    if (s[i] === '') {
+      continue;
+    }
+    for (j = 0, fl = f.length; j < fl; j++) {
+      temp = s[i] + '';
+      repl = ra ? r[j] !== undefined ? r[j] : '' : r[0];
+      s[i] = temp.split(f[j]).join(repl);
+      if (typeof countObj !== 'undefined') {
+        countObj.value += temp.split(f[j]).length - 1;
+      }
+    }
+  }
+  return sa ? s : s[0];
+};
+//# sourceMappingURL=str_replace.js.map
\ No newline at end of file
-- 
cgit v1.2.3