rudder-sdk-js 1.3.4 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +2 -1
  2. package/index.js +161 -367
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -105,7 +105,8 @@ declare module "rudder-sdk-js" {
105
105
  | number
106
106
  | boolean
107
107
  | apiObject
108
- | (string | number | boolean | apiObject)[];
108
+ | (string | number | boolean | apiObject)[]
109
+ | undefined;
109
110
  }
110
111
 
111
112
  /**
package/index.js CHANGED
@@ -5148,200 +5148,6 @@
5148
5148
  return isobject(val) || Array.isArray(val) || typeof val === 'function';
5149
5149
  }
5150
5150
 
5151
- /*!
5152
- * is-primitive <https://github.com/jonschlinkert/is-primitive>
5153
- *
5154
- * Copyright (c) 2014-present, Jon Schlinkert.
5155
- * Released under the MIT License.
5156
- */
5157
-
5158
- var isPrimitive = function isPrimitive(val) {
5159
- if (_typeof(val) === 'object') {
5160
- return val === null;
5161
- }
5162
-
5163
- return typeof val !== 'function';
5164
- };
5165
-
5166
- function isObjectObject(o) {
5167
- return isobject(o) === true && Object.prototype.toString.call(o) === '[object Object]';
5168
- }
5169
-
5170
- var isPlainObject = function isPlainObject(o) {
5171
- var ctor, prot;
5172
- if (isObjectObject(o) === false) return false; // If has modified constructor
5173
-
5174
- ctor = o.constructor;
5175
- if (typeof ctor !== 'function') return false; // If has modified prototype
5176
-
5177
- prot = ctor.prototype;
5178
- if (isObjectObject(prot) === false) return false; // If constructor does not have an Object-specific method
5179
-
5180
- if (prot.hasOwnProperty('isPrototypeOf') === false) {
5181
- return false;
5182
- } // Most likely a plain Object
5183
-
5184
-
5185
- return true;
5186
- };
5187
-
5188
- var deleteProperty = Reflect.deleteProperty;
5189
-
5190
- var isObject = function isObject(value) {
5191
- return _typeof(value) === 'object' && value !== null || typeof value === 'function';
5192
- };
5193
-
5194
- var isUnsafeKey = function isUnsafeKey(key) {
5195
- return key === '__proto__' || key === 'constructor' || key === 'prototype';
5196
- };
5197
-
5198
- var validateKey = function validateKey(key) {
5199
- if (!isPrimitive(key)) {
5200
- throw new TypeError('Object keys must be strings or symbols');
5201
- }
5202
-
5203
- if (isUnsafeKey(key)) {
5204
- throw new Error("Cannot set unsafe key: \"".concat(key, "\""));
5205
- }
5206
- };
5207
-
5208
- var toStringKey = function toStringKey(input) {
5209
- return Array.isArray(input) ? input.flat().map(String).join(',') : input;
5210
- };
5211
-
5212
- var createMemoKey = function createMemoKey(input, options) {
5213
- if (typeof input !== 'string' || !options) return input;
5214
- var key = input + ';';
5215
- if (options.arrays !== undefined) key += "arrays=".concat(options.arrays, ";");
5216
- if (options.separator !== undefined) key += "separator=".concat(options.separator, ";");
5217
- if (options.split !== undefined) key += "split=".concat(options.split, ";");
5218
- if (options.merge !== undefined) key += "merge=".concat(options.merge, ";");
5219
- if (options.preservePaths !== undefined) key += "preservePaths=".concat(options.preservePaths, ";");
5220
- return key;
5221
- };
5222
-
5223
- var memoize = function memoize(input, options, fn) {
5224
- var key = toStringKey(options ? createMemoKey(input, options) : input);
5225
- validateKey(key);
5226
- var value = setValue.cache.get(key) || fn();
5227
- setValue.cache.set(key, value);
5228
- return value;
5229
- };
5230
-
5231
- var splitString = function splitString(input) {
5232
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5233
- var sep = options.separator || '.';
5234
- var preserve = sep === '/' ? false : options.preservePaths;
5235
-
5236
- if (typeof input === 'string' && preserve !== false && /\//.test(input)) {
5237
- return [input];
5238
- }
5239
-
5240
- var parts = [];
5241
- var part = '';
5242
-
5243
- var push = function push(part) {
5244
- var number;
5245
-
5246
- if (part.trim() !== '' && Number.isInteger(number = Number(part))) {
5247
- parts.push(number);
5248
- } else {
5249
- parts.push(part);
5250
- }
5251
- };
5252
-
5253
- for (var i = 0; i < input.length; i++) {
5254
- var value = input[i];
5255
-
5256
- if (value === '\\') {
5257
- part += input[++i];
5258
- continue;
5259
- }
5260
-
5261
- if (value === sep) {
5262
- push(part);
5263
- part = '';
5264
- continue;
5265
- }
5266
-
5267
- part += value;
5268
- }
5269
-
5270
- if (part) {
5271
- push(part);
5272
- }
5273
-
5274
- return parts;
5275
- };
5276
-
5277
- var split$1 = function split(input, options) {
5278
- if (options && typeof options.split === 'function') return options.split(input);
5279
- if (_typeof(input) === 'symbol') return [input];
5280
- if (Array.isArray(input)) return input;
5281
- return memoize(input, options, function () {
5282
- return splitString(input, options);
5283
- });
5284
- };
5285
-
5286
- var assignProp = function assignProp(obj, prop, value, options) {
5287
- validateKey(prop); // Delete property when "value" is undefined
5288
-
5289
- if (value === undefined) {
5290
- deleteProperty(obj, prop);
5291
- } else if (options && options.merge) {
5292
- var merge = options.merge === 'function' ? options.merge : Object.assign; // Only merge plain objects
5293
-
5294
- if (merge && isPlainObject(obj[prop]) && isPlainObject(value)) {
5295
- obj[prop] = merge(obj[prop], value);
5296
- } else {
5297
- obj[prop] = value;
5298
- }
5299
- } else {
5300
- obj[prop] = value;
5301
- }
5302
-
5303
- return obj;
5304
- };
5305
-
5306
- var setValue = function setValue(target, path, value, options) {
5307
- if (!path || !isObject(target)) return target;
5308
- var keys = split$1(path, options);
5309
- var obj = target;
5310
-
5311
- for (var i = 0; i < keys.length; i++) {
5312
- var key = keys[i];
5313
- var next = keys[i + 1];
5314
- validateKey(key);
5315
-
5316
- if (next === undefined) {
5317
- assignProp(obj, key, value, options);
5318
- break;
5319
- }
5320
-
5321
- if (typeof next === 'number' && !Array.isArray(obj[key])) {
5322
- obj = obj[key] = [];
5323
- continue;
5324
- }
5325
-
5326
- if (!isObject(obj[key])) {
5327
- obj[key] = {};
5328
- }
5329
-
5330
- obj = obj[key];
5331
- }
5332
-
5333
- return target;
5334
- };
5335
-
5336
- setValue.split = split$1;
5337
- setValue.cache = new Map();
5338
-
5339
- setValue.clear = function () {
5340
- setValue.cache = new Map();
5341
- };
5342
-
5343
- var setValue_1 = setValue;
5344
-
5345
5151
  var LOG_LEVEL_INFO = 1;
5346
5152
  var LOG_LEVEL_DEBUG = 2;
5347
5153
  var LOG_LEVEL_WARN = 3;
@@ -5713,9 +5519,10 @@
5713
5519
  PRODUCT_REVIEWED: "Product Reviewed"
5714
5520
  }; // Enumeration for integrations supported
5715
5521
 
5716
- var CONFIG_URL = "https://api.rudderlabs.com/sourceConfig/?p=npm&v=1.3.4";
5522
+ var CONFIG_URL = "https://api.rudderlabs.com/sourceConfig/?p=npm&v=1.4.3";
5717
5523
  var MAX_WAIT_FOR_INTEGRATION_LOAD = 10000;
5718
5524
  var INTEGRATION_LOAD_CHECK_INTERVAL = 1000;
5525
+ var POLYFILL_URL = "https://polyfill.io/v3/polyfill.min.js?features=Array.prototype.find%2CArray.prototype.includes%2CPromise%2CString.prototype.endsWith%2CString.prototype.includes%2CString.prototype.startsWith%2CObject.entries";
5719
5526
  /* module.exports = {
5720
5527
  MessageType: MessageType,
5721
5528
  ECommerceParamNames: ECommerceParamNames,
@@ -9066,7 +8873,7 @@
9066
8873
  */
9067
8874
  // TODO: Move to a library
9068
8875
 
9069
- var isObject$1 = function isObject(value) {
8876
+ var isObject = function isObject(value) {
9070
8877
  return Boolean(value) && _typeof(value) === 'object';
9071
8878
  };
9072
8879
  /**
@@ -9080,7 +8887,7 @@
9080
8887
  // TODO: Move to a library
9081
8888
 
9082
8889
 
9083
- var isPlainObject$1 = function isPlainObject(value) {
8890
+ var isPlainObject = function isPlainObject(value) {
9084
8891
  return Boolean(value) && objToString$1.call(value) === '[object Object]';
9085
8892
  };
9086
8893
  /**
@@ -9119,7 +8926,7 @@
9119
8926
 
9120
8927
  var deepCombiner = function deepCombiner(target, source, value, key) {
9121
8928
  if (has$2.call(source, key)) {
9122
- if (isPlainObject$1(target[key]) && isPlainObject$1(value)) {
8929
+ if (isPlainObject(target[key]) && isPlainObject(value)) {
9123
8930
  target[key] = defaultsDeep(target[key], value);
9124
8931
  } else if (target[key] === undefined) {
9125
8932
  target[key] = value;
@@ -9143,7 +8950,7 @@
9143
8950
  var defaultsWith = function defaultsWith(combiner, target
9144
8951
  /*, ...sources */
9145
8952
  ) {
9146
- if (!isObject$1(target)) {
8953
+ if (!isObject(target)) {
9147
8954
  return target;
9148
8955
  }
9149
8956
 
@@ -12477,7 +12284,13 @@
12477
12284
  });
12478
12285
  objKeys.map(function (k) {
12479
12286
  if (!(typeof messageContext[k] === "undefined")) {
12480
- setValue_1(destination, k, getValue(messageContext, k));
12287
+ if (destination) {
12288
+ destination[k] = getValue(messageContext, k);
12289
+ } else {
12290
+ destination = {
12291
+ k: getValue(messageContext, k)
12292
+ };
12293
+ }
12481
12294
  }
12482
12295
  });
12483
12296
  }
@@ -12505,7 +12318,7 @@
12505
12318
  };
12506
12319
 
12507
12320
  if (!getValue(traitsValue, "name") && getValue(traitsValue, "firstName") && getValue(traitsValue, "lastName")) {
12508
- setValue_1(traitsValue, "name", "".concat(getValue(traitsValue, "firstName"), " ").concat(getValue(traitsValue, "lastName")));
12321
+ traitsValue.name = "".concat(getValue(traitsValue, "firstName"), " ").concat(getValue(traitsValue, "lastName"));
12509
12322
  }
12510
12323
 
12511
12324
  return traitsValue;
@@ -12515,7 +12328,7 @@
12515
12328
  */
12516
12329
 
12517
12330
 
12518
- var isObject$2 = function isObject(obj) {
12331
+ var isObject$1 = function isObject(obj) {
12519
12332
  return type(obj) === "object";
12520
12333
  };
12521
12334
  /**
@@ -24886,7 +24699,7 @@
24886
24699
  }
24887
24700
 
24888
24701
  Object.keys(payload).map(function (key) {
24889
- if (isObject$2(payload[key])) {
24702
+ if (isObject$1(payload[key])) {
24890
24703
  logger.debug("cannot process, unsupported traits");
24891
24704
  return;
24892
24705
  }
@@ -24920,7 +24733,7 @@
24920
24733
  window.clevertap.event.push("Charged", ecomProperties);
24921
24734
  } else {
24922
24735
  Object.keys(properties).map(function (key) {
24923
- if (isObject$2(properties[key]) || isArray$1(properties[key])) {
24736
+ if (isObject$1(properties[key]) || isArray$1(properties[key])) {
24924
24737
  logger.debug("cannot process, unsupported event");
24925
24738
  return;
24926
24739
  }
@@ -24952,7 +24765,7 @@
24952
24765
 
24953
24766
  if (properties) {
24954
24767
  Object.keys(properties).map(function (key) {
24955
- if (isObject$2(properties[key]) || isArray$1(properties[key])) {
24768
+ if (isObject$1(properties[key]) || isArray$1(properties[key])) {
24956
24769
  logger.debug("cannot process, unsupported event");
24957
24770
  return;
24958
24771
  }
@@ -27602,114 +27415,50 @@
27602
27415
  return FacebookPixel;
27603
27416
  }();
27604
27417
 
27605
- var UPPERCASE = /(?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7D0\uA7D6\uA7D8\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])/;
27606
- var LOWERCASE = /(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43])/;
27607
- var LEADING_CAPITAL = /^(?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7D0\uA7D6\uA7D8\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])(?!(?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7D0\uA7D6\uA7D8\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]))/g;
27608
- var IDENTIFIER = /((?:[0-9A-Z_a-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0345\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05B0-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0657\u0659-\u0669\u066E-\u06D3\u06D5-\u06DC\u06E1-\u06E8\u06ED-\u06FC\u06FF\u0710-\u073F\u074D-\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0817\u081A-\u082C\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u08D4-\u08DF\u08E3-\u08E9\u08F0-\u093B\u093D-\u094C\u094E-\u0950\u0955-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C4\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A42\u0A47\u0A48\u0A4B\u0A4C\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC5\u0AC7-\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFC\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D-\u0B44\u0B47\u0B48\u0B4B\u0B4C\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71-\u0B77\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4C\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C78-\u0C7E\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCC\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D54-\u0D63\u0D66-\u0D78\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E46\u0E4D\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F71-\u0F81\u0F88-\u0F97\u0F99-\u0FBC\u1000-\u1036\u1038\u103B-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1713\u171F-\u1733\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17B3\u17B6-\u17C8\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A61-\u1A74\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1ABF\u1AC0\u1ACC-\u1ACE\u1B00-\u1B33\u1B35-\u1B43\u1B45-\u1B4C\u1B50-\u1B59\u1B80-\u1BA9\u1BAC-\u1BE5\u1BE7-\u1BF1\u1C00-\u1C36\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1DE7-\u1DF4\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2189\u2150-\u2182\u2460-\u249B\u24B6-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA674-\uA67B\uA67F-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA805\uA807-\uA827\uA830-\uA835\uA840-\uA873\uA880-\uA8C3\uA8C5\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD-\uA92A\uA930-\uA952\uA960-\uA97C\uA980-\uA9B2\uA9B4-\uA9BF\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAABE\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD27\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC45\uDC52-\uDC6F\uDC71-\uDC75\uDC82-\uDCB8\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD32\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDCE-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB5\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC38\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B\uDD3C\uDD3F-\uDD42\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDDF\uDDE1\uDDE3\uDDE4\uDE00-\uDE32\uDE35-\uDE3E\uDE50-\uDE97\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD41\uDD43\uDD46\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD96\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD47\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])|$)/;
27609
- var SEPARATORS = /[_.\- ]+/;
27610
- var LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);
27611
- var SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');
27612
- var NUMBERS_AND_IDENTIFIER = new RegExp('\\d+' + IDENTIFIER.source, 'gu');
27613
-
27614
- var preserveCamelCase = function preserveCamelCase(string, locale) {
27615
- var isLastCharLower = false;
27616
- var isLastCharUpper = false;
27617
- var isLastLastCharUpper = false;
27618
-
27619
- for (var i = 0; i < string.length; i++) {
27620
- var character = string[i];
27621
-
27622
- if (isLastCharLower && UPPERCASE.test(character)) {
27623
- string = string.slice(0, i) + '-' + string.slice(i);
27624
- isLastCharLower = false;
27625
- isLastLastCharUpper = isLastCharUpper;
27626
- isLastCharUpper = true;
27627
- i++;
27628
- } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {
27629
- string = string.slice(0, i - 1) + '-' + string.slice(i - 1);
27630
- isLastLastCharUpper = isLastCharUpper;
27631
- isLastCharUpper = false;
27632
- isLastCharLower = true;
27633
- } else {
27634
- isLastCharLower = character.toLocaleLowerCase(locale) === character && character.toLocaleUpperCase(locale) !== character;
27635
- isLastLastCharUpper = isLastCharUpper;
27636
- isLastCharUpper = character.toLocaleUpperCase(locale) === character && character.toLocaleLowerCase(locale) !== character;
27418
+ // util function to convert the input to string type
27419
+ function convertToString(input) {
27420
+ if (input) {
27421
+ if (typeof input === "string") {
27422
+ return input;
27637
27423
  }
27638
- }
27639
27424
 
27640
- return string;
27641
- };
27642
-
27643
- var preserveConsecutiveUppercase = function preserveConsecutiveUppercase(input) {
27644
- LEADING_CAPITAL.lastIndex = 0;
27645
- return input.replace(LEADING_CAPITAL, function (m1) {
27646
- return m1.toLowerCase();
27647
- });
27648
- };
27649
-
27650
- var postProcess = function postProcess(input, options) {
27651
- SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
27652
- NUMBERS_AND_IDENTIFIER.lastIndex = 0;
27653
- return input.replace(SEPARATORS_AND_IDENTIFIER, function (_, identifier) {
27654
- return identifier.toLocaleUpperCase(options.locale);
27655
- }).replace(NUMBERS_AND_IDENTIFIER, function (m) {
27656
- return m.toLocaleUpperCase(options.locale);
27657
- });
27658
- };
27659
-
27660
- var camelCase = function camelCase(input, options) {
27661
- if (!(typeof input === 'string' || Array.isArray(input))) {
27662
- throw new TypeError('Expected the input to be `string | string[]`');
27425
+ return String(input);
27663
27426
  }
27664
27427
 
27665
- options = _objectSpread2({
27666
- pascalCase: false,
27667
- preserveConsecutiveUppercase: false
27668
- }, options);
27669
-
27670
- if (Array.isArray(input)) {
27671
- input = input.map(function (x) {
27672
- return x.trim();
27673
- }).filter(function (x) {
27674
- return x.length;
27675
- }).join('-');
27676
- } else {
27677
- input = input.trim();
27678
- }
27428
+ return "";
27429
+ } // convert string to words
27679
27430
 
27680
- if (input.length === 0) {
27681
- return '';
27682
- }
27683
27431
 
27684
- if (input.length === 1) {
27685
- return options.pascalCase ? input.toLocaleUpperCase(options.locale) : input.toLocaleLowerCase(options.locale);
27686
- }
27432
+ function toWords(input) {
27433
+ input = convertToString(input);
27434
+ var regex = /[A-Z\xC0-\xD6\xD8-\xDE]?[a-z\xDF-\xF6\xF8-\xFF]+|[A-Z\xC0-\xD6\xD8-\xDE]+(?![a-z\xDF-\xF6\xF8-\xFF])|\d+/g;
27435
+ return input.match(regex);
27436
+ } // convert the input array to camel case
27687
27437
 
27688
- var hasUpperCase = input !== input.toLocaleLowerCase(options.locale);
27689
27438
 
27690
- if (hasUpperCase) {
27691
- input = preserveCamelCase(input, options.locale);
27692
- }
27439
+ function toCamelCase(inputArray) {
27440
+ var result = "";
27693
27441
 
27694
- input = input.replace(LEADING_SEPARATORS, '');
27442
+ for (var i = 0, len = inputArray.length; i < len; i++) {
27443
+ var currentStr = inputArray[i];
27444
+ var tempStr = currentStr.toLowerCase();
27695
27445
 
27696
- if (options.preserveConsecutiveUppercase) {
27697
- input = preserveConsecutiveUppercase(input);
27698
- } else {
27699
- input = input.toLocaleLowerCase();
27700
- }
27446
+ if (i !== 0) {
27447
+ // convert first letter to upper case (the word is in lowercase)
27448
+ tempStr = tempStr.substr(0, 1).toUpperCase() + tempStr.substr(1);
27449
+ }
27701
27450
 
27702
- if (options.pascalCase) {
27703
- input = input.charAt(0).toLocaleUpperCase(options.locale) + input.slice(1);
27451
+ result += tempStr;
27704
27452
  }
27705
27453
 
27706
- return postProcess(input, options);
27707
- };
27454
+ return result;
27455
+ } // this function call all other functions
27708
27456
 
27709
- var camelcase = camelCase; // TODO: Remove this for the next major release
27710
27457
 
27711
- var default_1 = camelCase;
27712
- camelcase.default = default_1;
27458
+ function camelcase(input) {
27459
+ var words = toWords(input);
27460
+ return toCamelCase(words);
27461
+ }
27713
27462
 
27714
27463
  var Fullstory = /*#__PURE__*/function () {
27715
27464
  function Fullstory(config, analytics) {
@@ -33419,7 +33168,7 @@
33419
33168
  key: "isLoaded",
33420
33169
  value: function isLoaded() {
33421
33170
  logger.debug("===in Sentry isLoaded===");
33422
- return !!(window.Sentry && isObject$2(window.Sentry) && window.Sentry.setUser && window.Sentry.Integrations.RewriteFrames);
33171
+ return !!(window.Sentry && isObject$1(window.Sentry) && window.Sentry.setUser && window.Sentry.Integrations.RewriteFrames);
33423
33172
  } // eslint-disable-next-line class-methods-use-this
33424
33173
 
33425
33174
  }, {
@@ -33427,7 +33176,7 @@
33427
33176
  value: function isReady() {
33428
33177
  logger.debug("===in Sentry isReady===");
33429
33178
 
33430
- if (window.Sentry && isObject$2(window.Sentry) && window.Sentry.setUser && window.Sentry.Integrations.RewriteFrames) {
33179
+ if (window.Sentry && isObject$1(window.Sentry) && window.Sentry.setUser && window.Sentry.Integrations.RewriteFrames) {
33431
33180
  var sentryConfig = sentryInit(this.allowUrls, this.denyUrls, this.ignoreErrors, this.includePathsArray, this.customVersionProperty, this.release, this.dsn, this.debugMode, this.environment, this.serverName);
33432
33181
  window.Sentry.init(sentryConfig);
33433
33182
 
@@ -33962,61 +33711,69 @@
33962
33711
  _createClass(VWO, [{
33963
33712
  key: "init",
33964
33713
  value: function init() {
33965
- logger.debug("===in init VWO===");
33966
- var account_id = this.accountId;
33967
- var settings_tolerance = this.settingsTolerance;
33968
- var _library_tolerance = this.libraryTolerance;
33969
- var _use_existing_jquery = this.useExistingJquery;
33970
- var isSPA = this.isSPA;
33971
-
33972
- window._vwo_code = function () {
33973
- var f = false;
33974
- var d = document;
33975
- return {
33976
- use_existing_jquery: function use_existing_jquery() {
33977
- return _use_existing_jquery;
33978
- },
33979
- library_tolerance: function library_tolerance() {
33980
- return _library_tolerance;
33981
- },
33982
- finish: function finish() {
33983
- if (!f) {
33984
- f = true;
33985
- var a = d.getElementById("_vis_opt_path_hides");
33986
- if (a) a.parentNode.removeChild(a);
33714
+ var _this$analytics$loadO, _this$analytics$loadO2;
33715
+
33716
+ logger.debug("===In init VWO===");
33717
+
33718
+ if ((_this$analytics$loadO = this.analytics.loadOnlyIntegrations) !== null && _this$analytics$loadO !== void 0 && (_this$analytics$loadO2 = _this$analytics$loadO.VWO) !== null && _this$analytics$loadO2 !== void 0 && _this$analytics$loadO2.loadIntegration) {
33719
+ var account_id = this.accountId;
33720
+ var settings_tolerance = this.settingsTolerance;
33721
+ var _library_tolerance = this.libraryTolerance;
33722
+ var _use_existing_jquery = this.useExistingJquery;
33723
+ var isSPA = this.isSPA;
33724
+
33725
+ window._vwo_code = function () {
33726
+ var f = false;
33727
+ var d = document;
33728
+ return {
33729
+ use_existing_jquery: function use_existing_jquery() {
33730
+ return _use_existing_jquery;
33731
+ },
33732
+ library_tolerance: function library_tolerance() {
33733
+ return _library_tolerance;
33734
+ },
33735
+ finish: function finish() {
33736
+ if (!f) {
33737
+ f = true;
33738
+ var a = d.getElementById("_vis_opt_path_hides");
33739
+ if (a) a.parentNode.removeChild(a);
33740
+ }
33741
+ },
33742
+ finished: function finished() {
33743
+ return f;
33744
+ },
33745
+ load: function load(a) {
33746
+ var b = d.createElement("script");
33747
+ b.src = a;
33748
+ b.type = "text/javascript";
33749
+ b.innerText;
33750
+
33751
+ b.onerror = function () {
33752
+ _vwo_code.finish();
33753
+ };
33754
+
33755
+ d.getElementsByTagName("head")[0].appendChild(b);
33756
+ },
33757
+ init: function init() {
33758
+ var settings_timer = setTimeout("_vwo_code.finish()", settings_tolerance);
33759
+ var a = d.createElement("style");
33760
+ var b = "body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}";
33761
+ var h = d.getElementsByTagName("head")[0];
33762
+ a.setAttribute("id", "_vis_opt_path_hides");
33763
+ a.setAttribute("type", "text/css");
33764
+ if (a.styleSheet) a.styleSheet.cssText = b;else a.appendChild(d.createTextNode(b));
33765
+ h.appendChild(a);
33766
+ this.load("//dev.visualwebsiteoptimizer.com/j.php?a=".concat(account_id, "&u=").concat(encodeURIComponent(d.URL), "&r=").concat(Math.random(), "&f=").concat(+isSPA));
33767
+ return settings_timer;
33987
33768
  }
33988
- },
33989
- finished: function finished() {
33990
- return f;
33991
- },
33992
- load: function load(a) {
33993
- var b = d.createElement("script");
33994
- b.src = a;
33995
- b.type = "text/javascript";
33996
- b.innerText;
33997
-
33998
- b.onerror = function () {
33999
- _vwo_code.finish();
34000
- };
33769
+ };
33770
+ }();
34001
33771
 
34002
- d.getElementsByTagName("head")[0].appendChild(b);
34003
- },
34004
- init: function init() {
34005
- var settings_timer = setTimeout("_vwo_code.finish()", settings_tolerance);
34006
- var a = d.createElement("style");
34007
- var b = "body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}";
34008
- var h = d.getElementsByTagName("head")[0];
34009
- a.setAttribute("id", "_vis_opt_path_hides");
34010
- a.setAttribute("type", "text/css");
34011
- if (a.styleSheet) a.styleSheet.cssText = b;else a.appendChild(d.createTextNode(b));
34012
- h.appendChild(a);
34013
- this.load("//dev.visualwebsiteoptimizer.com/j.php?a=".concat(account_id, "&u=").concat(encodeURIComponent(d.URL), "&r=").concat(Math.random(), "&f=").concat(+isSPA));
34014
- return settings_timer;
34015
- }
34016
- };
34017
- }();
33772
+ window._vwo_settings_timer = window._vwo_code.init();
33773
+ } else {
33774
+ logger.debug("===[VWO]loadIntegration flag is disabled===");
33775
+ } // Send track or iddentify when
34018
33776
 
34019
- window._vwo_settings_timer = window._vwo_code.init(); // Send track or iddentify when
34020
33777
 
34021
33778
  if (this.sendExperimentTrack || this.experimentViewedIdentify) {
34022
33779
  this.experimentViewed();
@@ -34067,12 +33824,13 @@
34067
33824
  }
34068
33825
  }, {
34069
33826
  key: "identify",
34070
- value: function identify(rudderElement) {
34071
- logger.debug("method not supported");
33827
+ value: function identify() {
33828
+ logger.debug("[VWO] identify:: method not supported");
34072
33829
  }
34073
33830
  }, {
34074
33831
  key: "track",
34075
33832
  value: function track(rudderElement) {
33833
+ logger.debug("===In VWO track===");
34076
33834
  var eventName = rudderElement.message.event;
34077
33835
 
34078
33836
  if (eventName === "Order Completed") {
@@ -34084,17 +33842,19 @@
34084
33842
  }
34085
33843
  }, {
34086
33844
  key: "page",
34087
- value: function page(rudderElement) {
34088
- logger.debug("method not supported");
33845
+ value: function page() {
33846
+ logger.debug("[VWO] page:: method not supported");
34089
33847
  }
34090
33848
  }, {
34091
33849
  key: "isLoaded",
34092
33850
  value: function isLoaded() {
33851
+ logger.debug("===In isLoaded VWO===");
34093
33852
  return !!window._vwo_code;
34094
33853
  }
34095
33854
  }, {
34096
33855
  key: "isReady",
34097
33856
  value: function isReady() {
33857
+ logger.debug("===In isReady VWO===");
34098
33858
  return !!window._vwo_code;
34099
33859
  }
34100
33860
  }]);
@@ -34472,7 +34232,7 @@
34472
34232
  this.build = "1.0.0";
34473
34233
  this.name = "RudderLabs JavaScript SDK";
34474
34234
  this.namespace = "com.rudderlabs.javascript";
34475
- this.version = "1.3.4";
34235
+ this.version = "1.4.3";
34476
34236
  });
34477
34237
 
34478
34238
  // Library information class
@@ -34480,7 +34240,7 @@
34480
34240
  _classCallCheck(this, RudderLibraryInfo);
34481
34241
 
34482
34242
  this.name = "RudderLabs JavaScript SDK";
34483
- this.version = "1.3.4";
34243
+ this.version = "1.4.3";
34484
34244
  }); // Operating System information class
34485
34245
 
34486
34246
 
@@ -36389,7 +36149,7 @@
36389
36149
  };
36390
36150
  var payload = JSON.stringify(data, this.replacer);
36391
36151
  var blob = new Blob([payload], {
36392
- type: "application/json"
36152
+ type: "text/plain"
36393
36153
  });
36394
36154
  var isPushed = navigator.sendBeacon("".concat(this.url, "?writeKey=").concat(this.writekey), blob);
36395
36155
 
@@ -36447,7 +36207,7 @@
36447
36207
  var queueOptions = {};
36448
36208
  var targetUrl = url.slice(-1) === "/" ? url.slice(0, -1) : url;
36449
36209
 
36450
- if (options && options.useBeacon) {
36210
+ if (options && options.useBeacon && navigator.sendBeacon) {
36451
36211
  if (options && options.beaconQueueOptions && options.beaconQueueOptions != null && _typeof(options.beaconQueueOptions) === "object") {
36452
36212
  queueOptions = options.beaconQueueOptions;
36453
36213
  }
@@ -36455,6 +36215,10 @@
36455
36215
  targetUrl = "".concat(targetUrl, "/beacon/v1/batch");
36456
36216
  this.queue = new BeaconQueue();
36457
36217
  } else {
36218
+ if (options && options.useBeacon) {
36219
+ logger.info("[EventRepository] sendBeacon feature not available in this browser :: fallback to XHR");
36220
+ }
36221
+
36458
36222
  if (options && options.queueOptions && options.queueOptions != null && _typeof(options.queueOptions) === "object") {
36459
36223
  queueOptions = options.queueOptions;
36460
36224
  }
@@ -38106,20 +37870,19 @@
38106
37870
  return true;
38107
37871
  }
38108
37872
  /**
38109
- * Call control pane to get client configs
38110
- *
37873
+ * Load after polyfills are loaded
38111
37874
  * @param {*} writeKey
38112
- * @memberof Analytics
37875
+ * @param {*} serverUrl
37876
+ * @param {*} options
37877
+ * @returns
38113
37878
  */
38114
37879
 
38115
37880
  }, {
38116
- key: "load",
38117
- value: function load(writeKey, serverUrl, options) {
37881
+ key: "loadAfterPolyfill",
37882
+ value: function loadAfterPolyfill(writeKey, serverUrl, options) {
38118
37883
  var _this4 = this;
38119
37884
 
38120
- logger.debug("inside load ");
38121
37885
  if (options && options.cookieConsentManager) this.cookieConsentOptions = lodash_clonedeep(options.cookieConsentManager);
38122
- if (this.loaded) return;
38123
37886
  var configUrl = CONFIG_URL;
38124
37887
 
38125
37888
  if (!this.isValidWriteKey(writeKey) || !this.isValidServerUrl(serverUrl)) {
@@ -38244,6 +38007,37 @@
38244
38007
 
38245
38008
  processDataInAnalyticsArray(this);
38246
38009
  }
38010
+ /**
38011
+ * Call control pane to get client configs
38012
+ *
38013
+ * @param {*} writeKey
38014
+ * @memberof Analytics
38015
+ */
38016
+
38017
+ }, {
38018
+ key: "load",
38019
+ value: function load(writeKey, serverUrl, options) {
38020
+ // logger.debug("inside load ");
38021
+ if (this.loaded) return; // check if the below features are available in the browser or not
38022
+ // If not present dynamically load from the polyfill cdn
38023
+
38024
+ if (!String.prototype.endsWith || !String.prototype.startsWith || !String.prototype.includes || !Array.prototype.find || !Array.prototype.includes || !Promise || !Object.entries) {
38025
+ ScriptLoader("polyfill", POLYFILL_URL);
38026
+ var self = this;
38027
+ var interval = setInterval(function () {
38028
+ // check if the polyfill is loaded
38029
+ if (window.hasOwnProperty("polyfill")) {
38030
+ clearInterval(interval);
38031
+ self.loadAfterPolyfill(writeKey, serverUrl, options);
38032
+ }
38033
+ }, 100);
38034
+ setTimeout(function () {
38035
+ clearInterval(interval);
38036
+ }, MAX_WAIT_FOR_INTEGRATION_LOAD);
38037
+ } else {
38038
+ this.loadAfterPolyfill(writeKey, serverUrl, options);
38039
+ }
38040
+ }
38247
38041
  }, {
38248
38042
  key: "ready",
38249
38043
  value: function ready(callback) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rudder-sdk-js",
3
- "version": "1.3.4",
3
+ "version": "1.4.3",
4
4
  "description": "RudderStack Javascript SDK",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",