@itcase/storybook-config 1.2.71 → 1.2.72
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.
- package/README.md +9 -0
- package/dist/cjs/decorators/withFigmaSourceLink.js +58 -2
- package/dist/cjs/decorators/withFormSubmitDecorator.js +1108 -1
- package/dist/cjs/decorators/withNextDecorator.js +6 -11
- package/dist/cjs/decorators/withUiDecorator.js +4 -9
- package/dist/cjs/decorators.js +3 -6
- package/dist/components/EmailTemplatePreview.js +2 -2
- package/dist/components/{FormSubmitWrapper-YokGjDrh.js → FormSubmitWrapper-CytvWwKi.js} +4 -4
- package/dist/components/FormSubmitWrapper.js +2 -2
- package/dist/components/{_rollupPluginBabelHelpers-DQ-fuxJg.js → _rollupPluginBabelHelpers-OwKVS06F.js} +1 -1
- package/dist/components/isArray-CPoGkdXv.js +43 -0
- package/dist/config/sourceLink/sourceLink.js +8 -16
- package/dist/decorators/withClearStoresDecorator.js +2 -2
- package/dist/decorators/withExtraProviders.js +2 -2
- package/dist/decorators/withFigmaSourceLink.js +61 -5
- package/dist/decorators/withFormSubmitDecorator.js +1114 -7
- package/dist/decorators/withLayoutDecorator.js +9 -9
- package/dist/decorators/withNextDecorator.js +8 -13
- package/dist/decorators/withUiDecorator.js +5 -10
- package/dist/decorators.js +5 -8
- package/dist/isArray-DJguRq_2.js +47 -0
- package/package.json +21 -15
- package/dist/Notification-Cqx2_tCE.js +0 -7945
- package/dist/components/Notification-qLYjGbKN.js +0 -7923
|
@@ -2,11 +2,1118 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var FormSubmitWrapper = require('../../FormSubmitWrapper-DXUEGLuS.js');
|
|
5
|
-
require('
|
|
5
|
+
var isArray = require('../../isArray-DJguRq_2.js');
|
|
6
6
|
require('@itcase/common');
|
|
7
7
|
require('msw');
|
|
8
8
|
require('../../_rollupPluginBabelHelpers-D8XyM9rZ.js');
|
|
9
9
|
|
|
10
|
+
/** Detect free variable `global` from Node.js. */
|
|
11
|
+
|
|
12
|
+
var _freeGlobal;
|
|
13
|
+
var hasRequired_freeGlobal;
|
|
14
|
+
|
|
15
|
+
function require_freeGlobal () {
|
|
16
|
+
if (hasRequired_freeGlobal) return _freeGlobal;
|
|
17
|
+
hasRequired_freeGlobal = 1;
|
|
18
|
+
var freeGlobal = typeof isArray.commonjsGlobal == 'object' && isArray.commonjsGlobal && isArray.commonjsGlobal.Object === Object && isArray.commonjsGlobal;
|
|
19
|
+
|
|
20
|
+
_freeGlobal = freeGlobal;
|
|
21
|
+
return _freeGlobal;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var _root;
|
|
25
|
+
var hasRequired_root;
|
|
26
|
+
|
|
27
|
+
function require_root () {
|
|
28
|
+
if (hasRequired_root) return _root;
|
|
29
|
+
hasRequired_root = 1;
|
|
30
|
+
var freeGlobal = require_freeGlobal();
|
|
31
|
+
|
|
32
|
+
/** Detect free variable `self`. */
|
|
33
|
+
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
|
34
|
+
|
|
35
|
+
/** Used as a reference to the global object. */
|
|
36
|
+
var root = freeGlobal || freeSelf || Function('return this')();
|
|
37
|
+
|
|
38
|
+
_root = root;
|
|
39
|
+
return _root;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var _Symbol;
|
|
43
|
+
var hasRequired_Symbol;
|
|
44
|
+
|
|
45
|
+
function require_Symbol () {
|
|
46
|
+
if (hasRequired_Symbol) return _Symbol;
|
|
47
|
+
hasRequired_Symbol = 1;
|
|
48
|
+
var root = require_root();
|
|
49
|
+
|
|
50
|
+
/** Built-in value references. */
|
|
51
|
+
var Symbol = root.Symbol;
|
|
52
|
+
|
|
53
|
+
_Symbol = Symbol;
|
|
54
|
+
return _Symbol;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* A specialized version of `_.map` for arrays without support for iteratee
|
|
59
|
+
* shorthands.
|
|
60
|
+
*
|
|
61
|
+
* @private
|
|
62
|
+
* @param {Array} [array] The array to iterate over.
|
|
63
|
+
* @param {Function} iteratee The function invoked per iteration.
|
|
64
|
+
* @returns {Array} Returns the new mapped array.
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
var _arrayMap;
|
|
68
|
+
var hasRequired_arrayMap;
|
|
69
|
+
|
|
70
|
+
function require_arrayMap () {
|
|
71
|
+
if (hasRequired_arrayMap) return _arrayMap;
|
|
72
|
+
hasRequired_arrayMap = 1;
|
|
73
|
+
function arrayMap(array, iteratee) {
|
|
74
|
+
var index = -1,
|
|
75
|
+
length = array == null ? 0 : array.length,
|
|
76
|
+
result = Array(length);
|
|
77
|
+
|
|
78
|
+
while (++index < length) {
|
|
79
|
+
result[index] = iteratee(array[index], index, array);
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
_arrayMap = arrayMap;
|
|
85
|
+
return _arrayMap;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
var _getRawTag;
|
|
89
|
+
var hasRequired_getRawTag;
|
|
90
|
+
|
|
91
|
+
function require_getRawTag () {
|
|
92
|
+
if (hasRequired_getRawTag) return _getRawTag;
|
|
93
|
+
hasRequired_getRawTag = 1;
|
|
94
|
+
var Symbol = require_Symbol();
|
|
95
|
+
|
|
96
|
+
/** Used for built-in method references. */
|
|
97
|
+
var objectProto = Object.prototype;
|
|
98
|
+
|
|
99
|
+
/** Used to check objects for own properties. */
|
|
100
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Used to resolve the
|
|
104
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
105
|
+
* of values.
|
|
106
|
+
*/
|
|
107
|
+
var nativeObjectToString = objectProto.toString;
|
|
108
|
+
|
|
109
|
+
/** Built-in value references. */
|
|
110
|
+
var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
|
114
|
+
*
|
|
115
|
+
* @private
|
|
116
|
+
* @param {*} value The value to query.
|
|
117
|
+
* @returns {string} Returns the raw `toStringTag`.
|
|
118
|
+
*/
|
|
119
|
+
function getRawTag(value) {
|
|
120
|
+
var isOwn = hasOwnProperty.call(value, symToStringTag),
|
|
121
|
+
tag = value[symToStringTag];
|
|
122
|
+
|
|
123
|
+
try {
|
|
124
|
+
value[symToStringTag] = undefined;
|
|
125
|
+
var unmasked = true;
|
|
126
|
+
} catch (e) {}
|
|
127
|
+
|
|
128
|
+
var result = nativeObjectToString.call(value);
|
|
129
|
+
if (unmasked) {
|
|
130
|
+
if (isOwn) {
|
|
131
|
+
value[symToStringTag] = tag;
|
|
132
|
+
} else {
|
|
133
|
+
delete value[symToStringTag];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
_getRawTag = getRawTag;
|
|
140
|
+
return _getRawTag;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/** Used for built-in method references. */
|
|
144
|
+
|
|
145
|
+
var _objectToString;
|
|
146
|
+
var hasRequired_objectToString;
|
|
147
|
+
|
|
148
|
+
function require_objectToString () {
|
|
149
|
+
if (hasRequired_objectToString) return _objectToString;
|
|
150
|
+
hasRequired_objectToString = 1;
|
|
151
|
+
var objectProto = Object.prototype;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Used to resolve the
|
|
155
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
156
|
+
* of values.
|
|
157
|
+
*/
|
|
158
|
+
var nativeObjectToString = objectProto.toString;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Converts `value` to a string using `Object.prototype.toString`.
|
|
162
|
+
*
|
|
163
|
+
* @private
|
|
164
|
+
* @param {*} value The value to convert.
|
|
165
|
+
* @returns {string} Returns the converted string.
|
|
166
|
+
*/
|
|
167
|
+
function objectToString(value) {
|
|
168
|
+
return nativeObjectToString.call(value);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
_objectToString = objectToString;
|
|
172
|
+
return _objectToString;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
var _baseGetTag;
|
|
176
|
+
var hasRequired_baseGetTag;
|
|
177
|
+
|
|
178
|
+
function require_baseGetTag () {
|
|
179
|
+
if (hasRequired_baseGetTag) return _baseGetTag;
|
|
180
|
+
hasRequired_baseGetTag = 1;
|
|
181
|
+
var Symbol = require_Symbol(),
|
|
182
|
+
getRawTag = require_getRawTag(),
|
|
183
|
+
objectToString = require_objectToString();
|
|
184
|
+
|
|
185
|
+
/** `Object#toString` result references. */
|
|
186
|
+
var nullTag = '[object Null]',
|
|
187
|
+
undefinedTag = '[object Undefined]';
|
|
188
|
+
|
|
189
|
+
/** Built-in value references. */
|
|
190
|
+
var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* The base implementation of `getTag` without fallbacks for buggy environments.
|
|
194
|
+
*
|
|
195
|
+
* @private
|
|
196
|
+
* @param {*} value The value to query.
|
|
197
|
+
* @returns {string} Returns the `toStringTag`.
|
|
198
|
+
*/
|
|
199
|
+
function baseGetTag(value) {
|
|
200
|
+
if (value == null) {
|
|
201
|
+
return value === undefined ? undefinedTag : nullTag;
|
|
202
|
+
}
|
|
203
|
+
return (symToStringTag && symToStringTag in Object(value))
|
|
204
|
+
? getRawTag(value)
|
|
205
|
+
: objectToString(value);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
_baseGetTag = baseGetTag;
|
|
209
|
+
return _baseGetTag;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
214
|
+
* and has a `typeof` result of "object".
|
|
215
|
+
*
|
|
216
|
+
* @static
|
|
217
|
+
* @memberOf _
|
|
218
|
+
* @since 4.0.0
|
|
219
|
+
* @category Lang
|
|
220
|
+
* @param {*} value The value to check.
|
|
221
|
+
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
|
222
|
+
* @example
|
|
223
|
+
*
|
|
224
|
+
* _.isObjectLike({});
|
|
225
|
+
* // => true
|
|
226
|
+
*
|
|
227
|
+
* _.isObjectLike([1, 2, 3]);
|
|
228
|
+
* // => true
|
|
229
|
+
*
|
|
230
|
+
* _.isObjectLike(_.noop);
|
|
231
|
+
* // => false
|
|
232
|
+
*
|
|
233
|
+
* _.isObjectLike(null);
|
|
234
|
+
* // => false
|
|
235
|
+
*/
|
|
236
|
+
|
|
237
|
+
var isObjectLike_1;
|
|
238
|
+
var hasRequiredIsObjectLike;
|
|
239
|
+
|
|
240
|
+
function requireIsObjectLike () {
|
|
241
|
+
if (hasRequiredIsObjectLike) return isObjectLike_1;
|
|
242
|
+
hasRequiredIsObjectLike = 1;
|
|
243
|
+
function isObjectLike(value) {
|
|
244
|
+
return value != null && typeof value == 'object';
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
isObjectLike_1 = isObjectLike;
|
|
248
|
+
return isObjectLike_1;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
var isSymbol_1;
|
|
252
|
+
var hasRequiredIsSymbol;
|
|
253
|
+
|
|
254
|
+
function requireIsSymbol () {
|
|
255
|
+
if (hasRequiredIsSymbol) return isSymbol_1;
|
|
256
|
+
hasRequiredIsSymbol = 1;
|
|
257
|
+
var baseGetTag = require_baseGetTag(),
|
|
258
|
+
isObjectLike = requireIsObjectLike();
|
|
259
|
+
|
|
260
|
+
/** `Object#toString` result references. */
|
|
261
|
+
var symbolTag = '[object Symbol]';
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Checks if `value` is classified as a `Symbol` primitive or object.
|
|
265
|
+
*
|
|
266
|
+
* @static
|
|
267
|
+
* @memberOf _
|
|
268
|
+
* @since 4.0.0
|
|
269
|
+
* @category Lang
|
|
270
|
+
* @param {*} value The value to check.
|
|
271
|
+
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
|
|
272
|
+
* @example
|
|
273
|
+
*
|
|
274
|
+
* _.isSymbol(Symbol.iterator);
|
|
275
|
+
* // => true
|
|
276
|
+
*
|
|
277
|
+
* _.isSymbol('abc');
|
|
278
|
+
* // => false
|
|
279
|
+
*/
|
|
280
|
+
function isSymbol(value) {
|
|
281
|
+
return typeof value == 'symbol' ||
|
|
282
|
+
(isObjectLike(value) && baseGetTag(value) == symbolTag);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
isSymbol_1 = isSymbol;
|
|
286
|
+
return isSymbol_1;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
var _baseToString;
|
|
290
|
+
var hasRequired_baseToString;
|
|
291
|
+
|
|
292
|
+
function require_baseToString () {
|
|
293
|
+
if (hasRequired_baseToString) return _baseToString;
|
|
294
|
+
hasRequired_baseToString = 1;
|
|
295
|
+
var Symbol = require_Symbol(),
|
|
296
|
+
arrayMap = require_arrayMap(),
|
|
297
|
+
isArray$1 = isArray.requireIsArray(),
|
|
298
|
+
isSymbol = requireIsSymbol();
|
|
299
|
+
|
|
300
|
+
/** Used to convert symbols to primitives and strings. */
|
|
301
|
+
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
|
302
|
+
symbolToString = symbolProto ? symbolProto.toString : undefined;
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* The base implementation of `_.toString` which doesn't convert nullish
|
|
306
|
+
* values to empty strings.
|
|
307
|
+
*
|
|
308
|
+
* @private
|
|
309
|
+
* @param {*} value The value to process.
|
|
310
|
+
* @returns {string} Returns the string.
|
|
311
|
+
*/
|
|
312
|
+
function baseToString(value) {
|
|
313
|
+
// Exit early for strings to avoid a performance hit in some environments.
|
|
314
|
+
if (typeof value == 'string') {
|
|
315
|
+
return value;
|
|
316
|
+
}
|
|
317
|
+
if (isArray$1(value)) {
|
|
318
|
+
// Recursively convert values (susceptible to call stack limits).
|
|
319
|
+
return arrayMap(value, baseToString) + '';
|
|
320
|
+
}
|
|
321
|
+
if (isSymbol(value)) {
|
|
322
|
+
return symbolToString ? symbolToString.call(value) : '';
|
|
323
|
+
}
|
|
324
|
+
var result = (value + '');
|
|
325
|
+
return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
_baseToString = baseToString;
|
|
329
|
+
return _baseToString;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
var toString_1;
|
|
333
|
+
var hasRequiredToString;
|
|
334
|
+
|
|
335
|
+
function requireToString () {
|
|
336
|
+
if (hasRequiredToString) return toString_1;
|
|
337
|
+
hasRequiredToString = 1;
|
|
338
|
+
var baseToString = require_baseToString();
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Converts `value` to a string. An empty string is returned for `null`
|
|
342
|
+
* and `undefined` values. The sign of `-0` is preserved.
|
|
343
|
+
*
|
|
344
|
+
* @static
|
|
345
|
+
* @memberOf _
|
|
346
|
+
* @since 4.0.0
|
|
347
|
+
* @category Lang
|
|
348
|
+
* @param {*} value The value to convert.
|
|
349
|
+
* @returns {string} Returns the converted string.
|
|
350
|
+
* @example
|
|
351
|
+
*
|
|
352
|
+
* _.toString(null);
|
|
353
|
+
* // => ''
|
|
354
|
+
*
|
|
355
|
+
* _.toString(-0);
|
|
356
|
+
* // => '-0'
|
|
357
|
+
*
|
|
358
|
+
* _.toString([1, 2, 3]);
|
|
359
|
+
* // => '1,2,3'
|
|
360
|
+
*/
|
|
361
|
+
function toString(value) {
|
|
362
|
+
return value == null ? '' : baseToString(value);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
toString_1 = toString;
|
|
366
|
+
return toString_1;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* The base implementation of `_.slice` without an iteratee call guard.
|
|
371
|
+
*
|
|
372
|
+
* @private
|
|
373
|
+
* @param {Array} array The array to slice.
|
|
374
|
+
* @param {number} [start=0] The start position.
|
|
375
|
+
* @param {number} [end=array.length] The end position.
|
|
376
|
+
* @returns {Array} Returns the slice of `array`.
|
|
377
|
+
*/
|
|
378
|
+
|
|
379
|
+
var _baseSlice;
|
|
380
|
+
var hasRequired_baseSlice;
|
|
381
|
+
|
|
382
|
+
function require_baseSlice () {
|
|
383
|
+
if (hasRequired_baseSlice) return _baseSlice;
|
|
384
|
+
hasRequired_baseSlice = 1;
|
|
385
|
+
function baseSlice(array, start, end) {
|
|
386
|
+
var index = -1,
|
|
387
|
+
length = array.length;
|
|
388
|
+
|
|
389
|
+
if (start < 0) {
|
|
390
|
+
start = -start > length ? 0 : (length + start);
|
|
391
|
+
}
|
|
392
|
+
end = end > length ? length : end;
|
|
393
|
+
if (end < 0) {
|
|
394
|
+
end += length;
|
|
395
|
+
}
|
|
396
|
+
length = start > end ? 0 : ((end - start) >>> 0);
|
|
397
|
+
start >>>= 0;
|
|
398
|
+
|
|
399
|
+
var result = Array(length);
|
|
400
|
+
while (++index < length) {
|
|
401
|
+
result[index] = array[index + start];
|
|
402
|
+
}
|
|
403
|
+
return result;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
_baseSlice = baseSlice;
|
|
407
|
+
return _baseSlice;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
var _castSlice;
|
|
411
|
+
var hasRequired_castSlice;
|
|
412
|
+
|
|
413
|
+
function require_castSlice () {
|
|
414
|
+
if (hasRequired_castSlice) return _castSlice;
|
|
415
|
+
hasRequired_castSlice = 1;
|
|
416
|
+
var baseSlice = require_baseSlice();
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Casts `array` to a slice if it's needed.
|
|
420
|
+
*
|
|
421
|
+
* @private
|
|
422
|
+
* @param {Array} array The array to inspect.
|
|
423
|
+
* @param {number} start The start position.
|
|
424
|
+
* @param {number} [end=array.length] The end position.
|
|
425
|
+
* @returns {Array} Returns the cast slice.
|
|
426
|
+
*/
|
|
427
|
+
function castSlice(array, start, end) {
|
|
428
|
+
var length = array.length;
|
|
429
|
+
end = end === undefined ? length : end;
|
|
430
|
+
return (!start && end >= length) ? array : baseSlice(array, start, end);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
_castSlice = castSlice;
|
|
434
|
+
return _castSlice;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/** Used to compose unicode character classes. */
|
|
438
|
+
|
|
439
|
+
var _hasUnicode;
|
|
440
|
+
var hasRequired_hasUnicode;
|
|
441
|
+
|
|
442
|
+
function require_hasUnicode () {
|
|
443
|
+
if (hasRequired_hasUnicode) return _hasUnicode;
|
|
444
|
+
hasRequired_hasUnicode = 1;
|
|
445
|
+
var rsAstralRange = '\\ud800-\\udfff',
|
|
446
|
+
rsComboMarksRange = '\\u0300-\\u036f',
|
|
447
|
+
reComboHalfMarksRange = '\\ufe20-\\ufe2f',
|
|
448
|
+
rsComboSymbolsRange = '\\u20d0-\\u20ff',
|
|
449
|
+
rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
|
|
450
|
+
rsVarRange = '\\ufe0e\\ufe0f';
|
|
451
|
+
|
|
452
|
+
/** Used to compose unicode capture groups. */
|
|
453
|
+
var rsZWJ = '\\u200d';
|
|
454
|
+
|
|
455
|
+
/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
|
|
456
|
+
var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Checks if `string` contains Unicode symbols.
|
|
460
|
+
*
|
|
461
|
+
* @private
|
|
462
|
+
* @param {string} string The string to inspect.
|
|
463
|
+
* @returns {boolean} Returns `true` if a symbol is found, else `false`.
|
|
464
|
+
*/
|
|
465
|
+
function hasUnicode(string) {
|
|
466
|
+
return reHasUnicode.test(string);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
_hasUnicode = hasUnicode;
|
|
470
|
+
return _hasUnicode;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
/**
|
|
474
|
+
* Converts an ASCII `string` to an array.
|
|
475
|
+
*
|
|
476
|
+
* @private
|
|
477
|
+
* @param {string} string The string to convert.
|
|
478
|
+
* @returns {Array} Returns the converted array.
|
|
479
|
+
*/
|
|
480
|
+
|
|
481
|
+
var _asciiToArray;
|
|
482
|
+
var hasRequired_asciiToArray;
|
|
483
|
+
|
|
484
|
+
function require_asciiToArray () {
|
|
485
|
+
if (hasRequired_asciiToArray) return _asciiToArray;
|
|
486
|
+
hasRequired_asciiToArray = 1;
|
|
487
|
+
function asciiToArray(string) {
|
|
488
|
+
return string.split('');
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
_asciiToArray = asciiToArray;
|
|
492
|
+
return _asciiToArray;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/** Used to compose unicode character classes. */
|
|
496
|
+
|
|
497
|
+
var _unicodeToArray;
|
|
498
|
+
var hasRequired_unicodeToArray;
|
|
499
|
+
|
|
500
|
+
function require_unicodeToArray () {
|
|
501
|
+
if (hasRequired_unicodeToArray) return _unicodeToArray;
|
|
502
|
+
hasRequired_unicodeToArray = 1;
|
|
503
|
+
var rsAstralRange = '\\ud800-\\udfff',
|
|
504
|
+
rsComboMarksRange = '\\u0300-\\u036f',
|
|
505
|
+
reComboHalfMarksRange = '\\ufe20-\\ufe2f',
|
|
506
|
+
rsComboSymbolsRange = '\\u20d0-\\u20ff',
|
|
507
|
+
rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
|
|
508
|
+
rsVarRange = '\\ufe0e\\ufe0f';
|
|
509
|
+
|
|
510
|
+
/** Used to compose unicode capture groups. */
|
|
511
|
+
var rsAstral = '[' + rsAstralRange + ']',
|
|
512
|
+
rsCombo = '[' + rsComboRange + ']',
|
|
513
|
+
rsFitz = '\\ud83c[\\udffb-\\udfff]',
|
|
514
|
+
rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
|
|
515
|
+
rsNonAstral = '[^' + rsAstralRange + ']',
|
|
516
|
+
rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
|
|
517
|
+
rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
|
|
518
|
+
rsZWJ = '\\u200d';
|
|
519
|
+
|
|
520
|
+
/** Used to compose unicode regexes. */
|
|
521
|
+
var reOptMod = rsModifier + '?',
|
|
522
|
+
rsOptVar = '[' + rsVarRange + ']?',
|
|
523
|
+
rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
|
|
524
|
+
rsSeq = rsOptVar + reOptMod + rsOptJoin,
|
|
525
|
+
rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
|
|
526
|
+
|
|
527
|
+
/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
|
|
528
|
+
var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
|
|
529
|
+
|
|
530
|
+
/**
|
|
531
|
+
* Converts a Unicode `string` to an array.
|
|
532
|
+
*
|
|
533
|
+
* @private
|
|
534
|
+
* @param {string} string The string to convert.
|
|
535
|
+
* @returns {Array} Returns the converted array.
|
|
536
|
+
*/
|
|
537
|
+
function unicodeToArray(string) {
|
|
538
|
+
return string.match(reUnicode) || [];
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
_unicodeToArray = unicodeToArray;
|
|
542
|
+
return _unicodeToArray;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
var _stringToArray;
|
|
546
|
+
var hasRequired_stringToArray;
|
|
547
|
+
|
|
548
|
+
function require_stringToArray () {
|
|
549
|
+
if (hasRequired_stringToArray) return _stringToArray;
|
|
550
|
+
hasRequired_stringToArray = 1;
|
|
551
|
+
var asciiToArray = require_asciiToArray(),
|
|
552
|
+
hasUnicode = require_hasUnicode(),
|
|
553
|
+
unicodeToArray = require_unicodeToArray();
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* Converts `string` to an array.
|
|
557
|
+
*
|
|
558
|
+
* @private
|
|
559
|
+
* @param {string} string The string to convert.
|
|
560
|
+
* @returns {Array} Returns the converted array.
|
|
561
|
+
*/
|
|
562
|
+
function stringToArray(string) {
|
|
563
|
+
return hasUnicode(string)
|
|
564
|
+
? unicodeToArray(string)
|
|
565
|
+
: asciiToArray(string);
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
_stringToArray = stringToArray;
|
|
569
|
+
return _stringToArray;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
var _createCaseFirst;
|
|
573
|
+
var hasRequired_createCaseFirst;
|
|
574
|
+
|
|
575
|
+
function require_createCaseFirst () {
|
|
576
|
+
if (hasRequired_createCaseFirst) return _createCaseFirst;
|
|
577
|
+
hasRequired_createCaseFirst = 1;
|
|
578
|
+
var castSlice = require_castSlice(),
|
|
579
|
+
hasUnicode = require_hasUnicode(),
|
|
580
|
+
stringToArray = require_stringToArray(),
|
|
581
|
+
toString = requireToString();
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Creates a function like `_.lowerFirst`.
|
|
585
|
+
*
|
|
586
|
+
* @private
|
|
587
|
+
* @param {string} methodName The name of the `String` case method to use.
|
|
588
|
+
* @returns {Function} Returns the new case function.
|
|
589
|
+
*/
|
|
590
|
+
function createCaseFirst(methodName) {
|
|
591
|
+
return function(string) {
|
|
592
|
+
string = toString(string);
|
|
593
|
+
|
|
594
|
+
var strSymbols = hasUnicode(string)
|
|
595
|
+
? stringToArray(string)
|
|
596
|
+
: undefined;
|
|
597
|
+
|
|
598
|
+
var chr = strSymbols
|
|
599
|
+
? strSymbols[0]
|
|
600
|
+
: string.charAt(0);
|
|
601
|
+
|
|
602
|
+
var trailing = strSymbols
|
|
603
|
+
? castSlice(strSymbols, 1).join('')
|
|
604
|
+
: string.slice(1);
|
|
605
|
+
|
|
606
|
+
return chr[methodName]() + trailing;
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
_createCaseFirst = createCaseFirst;
|
|
611
|
+
return _createCaseFirst;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
var upperFirst_1;
|
|
615
|
+
var hasRequiredUpperFirst;
|
|
616
|
+
|
|
617
|
+
function requireUpperFirst () {
|
|
618
|
+
if (hasRequiredUpperFirst) return upperFirst_1;
|
|
619
|
+
hasRequiredUpperFirst = 1;
|
|
620
|
+
var createCaseFirst = require_createCaseFirst();
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Converts the first character of `string` to upper case.
|
|
624
|
+
*
|
|
625
|
+
* @static
|
|
626
|
+
* @memberOf _
|
|
627
|
+
* @since 4.0.0
|
|
628
|
+
* @category String
|
|
629
|
+
* @param {string} [string=''] The string to convert.
|
|
630
|
+
* @returns {string} Returns the converted string.
|
|
631
|
+
* @example
|
|
632
|
+
*
|
|
633
|
+
* _.upperFirst('fred');
|
|
634
|
+
* // => 'Fred'
|
|
635
|
+
*
|
|
636
|
+
* _.upperFirst('FRED');
|
|
637
|
+
* // => 'FRED'
|
|
638
|
+
*/
|
|
639
|
+
var upperFirst = createCaseFirst('toUpperCase');
|
|
640
|
+
|
|
641
|
+
upperFirst_1 = upperFirst;
|
|
642
|
+
return upperFirst_1;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
var capitalize_1;
|
|
646
|
+
var hasRequiredCapitalize;
|
|
647
|
+
|
|
648
|
+
function requireCapitalize () {
|
|
649
|
+
if (hasRequiredCapitalize) return capitalize_1;
|
|
650
|
+
hasRequiredCapitalize = 1;
|
|
651
|
+
var toString = requireToString(),
|
|
652
|
+
upperFirst = requireUpperFirst();
|
|
653
|
+
|
|
654
|
+
/**
|
|
655
|
+
* Converts the first character of `string` to upper case and the remaining
|
|
656
|
+
* to lower case.
|
|
657
|
+
*
|
|
658
|
+
* @static
|
|
659
|
+
* @memberOf _
|
|
660
|
+
* @since 3.0.0
|
|
661
|
+
* @category String
|
|
662
|
+
* @param {string} [string=''] The string to capitalize.
|
|
663
|
+
* @returns {string} Returns the capitalized string.
|
|
664
|
+
* @example
|
|
665
|
+
*
|
|
666
|
+
* _.capitalize('FRED');
|
|
667
|
+
* // => 'Fred'
|
|
668
|
+
*/
|
|
669
|
+
function capitalize(string) {
|
|
670
|
+
return upperFirst(toString(string).toLowerCase());
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
capitalize_1 = capitalize;
|
|
674
|
+
return capitalize_1;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* A specialized version of `_.reduce` for arrays without support for
|
|
679
|
+
* iteratee shorthands.
|
|
680
|
+
*
|
|
681
|
+
* @private
|
|
682
|
+
* @param {Array} [array] The array to iterate over.
|
|
683
|
+
* @param {Function} iteratee The function invoked per iteration.
|
|
684
|
+
* @param {*} [accumulator] The initial value.
|
|
685
|
+
* @param {boolean} [initAccum] Specify using the first element of `array` as
|
|
686
|
+
* the initial value.
|
|
687
|
+
* @returns {*} Returns the accumulated value.
|
|
688
|
+
*/
|
|
689
|
+
|
|
690
|
+
var _arrayReduce;
|
|
691
|
+
var hasRequired_arrayReduce;
|
|
692
|
+
|
|
693
|
+
function require_arrayReduce () {
|
|
694
|
+
if (hasRequired_arrayReduce) return _arrayReduce;
|
|
695
|
+
hasRequired_arrayReduce = 1;
|
|
696
|
+
function arrayReduce(array, iteratee, accumulator, initAccum) {
|
|
697
|
+
var index = -1,
|
|
698
|
+
length = array == null ? 0 : array.length;
|
|
699
|
+
|
|
700
|
+
if (initAccum && length) {
|
|
701
|
+
accumulator = array[++index];
|
|
702
|
+
}
|
|
703
|
+
while (++index < length) {
|
|
704
|
+
accumulator = iteratee(accumulator, array[index], index, array);
|
|
705
|
+
}
|
|
706
|
+
return accumulator;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
_arrayReduce = arrayReduce;
|
|
710
|
+
return _arrayReduce;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* The base implementation of `_.propertyOf` without support for deep paths.
|
|
715
|
+
*
|
|
716
|
+
* @private
|
|
717
|
+
* @param {Object} object The object to query.
|
|
718
|
+
* @returns {Function} Returns the new accessor function.
|
|
719
|
+
*/
|
|
720
|
+
|
|
721
|
+
var _basePropertyOf;
|
|
722
|
+
var hasRequired_basePropertyOf;
|
|
723
|
+
|
|
724
|
+
function require_basePropertyOf () {
|
|
725
|
+
if (hasRequired_basePropertyOf) return _basePropertyOf;
|
|
726
|
+
hasRequired_basePropertyOf = 1;
|
|
727
|
+
function basePropertyOf(object) {
|
|
728
|
+
return function(key) {
|
|
729
|
+
return object == null ? undefined : object[key];
|
|
730
|
+
};
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
_basePropertyOf = basePropertyOf;
|
|
734
|
+
return _basePropertyOf;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
var _deburrLetter;
|
|
738
|
+
var hasRequired_deburrLetter;
|
|
739
|
+
|
|
740
|
+
function require_deburrLetter () {
|
|
741
|
+
if (hasRequired_deburrLetter) return _deburrLetter;
|
|
742
|
+
hasRequired_deburrLetter = 1;
|
|
743
|
+
var basePropertyOf = require_basePropertyOf();
|
|
744
|
+
|
|
745
|
+
/** Used to map Latin Unicode letters to basic Latin letters. */
|
|
746
|
+
var deburredLetters = {
|
|
747
|
+
// Latin-1 Supplement block.
|
|
748
|
+
'\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
|
|
749
|
+
'\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
|
|
750
|
+
'\xc7': 'C', '\xe7': 'c',
|
|
751
|
+
'\xd0': 'D', '\xf0': 'd',
|
|
752
|
+
'\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
|
|
753
|
+
'\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
|
|
754
|
+
'\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
|
|
755
|
+
'\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
|
|
756
|
+
'\xd1': 'N', '\xf1': 'n',
|
|
757
|
+
'\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
|
|
758
|
+
'\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
|
|
759
|
+
'\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
|
|
760
|
+
'\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
|
|
761
|
+
'\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
|
|
762
|
+
'\xc6': 'Ae', '\xe6': 'ae',
|
|
763
|
+
'\xde': 'Th', '\xfe': 'th',
|
|
764
|
+
'\xdf': 'ss',
|
|
765
|
+
// Latin Extended-A block.
|
|
766
|
+
'\u0100': 'A', '\u0102': 'A', '\u0104': 'A',
|
|
767
|
+
'\u0101': 'a', '\u0103': 'a', '\u0105': 'a',
|
|
768
|
+
'\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C',
|
|
769
|
+
'\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c',
|
|
770
|
+
'\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd',
|
|
771
|
+
'\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E',
|
|
772
|
+
'\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e',
|
|
773
|
+
'\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G',
|
|
774
|
+
'\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g',
|
|
775
|
+
'\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h',
|
|
776
|
+
'\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I',
|
|
777
|
+
'\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i',
|
|
778
|
+
'\u0134': 'J', '\u0135': 'j',
|
|
779
|
+
'\u0136': 'K', '\u0137': 'k', '\u0138': 'k',
|
|
780
|
+
'\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L',
|
|
781
|
+
'\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l',
|
|
782
|
+
'\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N',
|
|
783
|
+
'\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n',
|
|
784
|
+
'\u014c': 'O', '\u014e': 'O', '\u0150': 'O',
|
|
785
|
+
'\u014d': 'o', '\u014f': 'o', '\u0151': 'o',
|
|
786
|
+
'\u0154': 'R', '\u0156': 'R', '\u0158': 'R',
|
|
787
|
+
'\u0155': 'r', '\u0157': 'r', '\u0159': 'r',
|
|
788
|
+
'\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S',
|
|
789
|
+
'\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's',
|
|
790
|
+
'\u0162': 'T', '\u0164': 'T', '\u0166': 'T',
|
|
791
|
+
'\u0163': 't', '\u0165': 't', '\u0167': 't',
|
|
792
|
+
'\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U',
|
|
793
|
+
'\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u',
|
|
794
|
+
'\u0174': 'W', '\u0175': 'w',
|
|
795
|
+
'\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y',
|
|
796
|
+
'\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z',
|
|
797
|
+
'\u017a': 'z', '\u017c': 'z', '\u017e': 'z',
|
|
798
|
+
'\u0132': 'IJ', '\u0133': 'ij',
|
|
799
|
+
'\u0152': 'Oe', '\u0153': 'oe',
|
|
800
|
+
'\u0149': "'n", '\u017f': 's'
|
|
801
|
+
};
|
|
802
|
+
|
|
803
|
+
/**
|
|
804
|
+
* Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
|
|
805
|
+
* letters to basic Latin letters.
|
|
806
|
+
*
|
|
807
|
+
* @private
|
|
808
|
+
* @param {string} letter The matched letter to deburr.
|
|
809
|
+
* @returns {string} Returns the deburred letter.
|
|
810
|
+
*/
|
|
811
|
+
var deburrLetter = basePropertyOf(deburredLetters);
|
|
812
|
+
|
|
813
|
+
_deburrLetter = deburrLetter;
|
|
814
|
+
return _deburrLetter;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
var deburr_1;
|
|
818
|
+
var hasRequiredDeburr;
|
|
819
|
+
|
|
820
|
+
function requireDeburr () {
|
|
821
|
+
if (hasRequiredDeburr) return deburr_1;
|
|
822
|
+
hasRequiredDeburr = 1;
|
|
823
|
+
var deburrLetter = require_deburrLetter(),
|
|
824
|
+
toString = requireToString();
|
|
825
|
+
|
|
826
|
+
/** Used to match Latin Unicode letters (excluding mathematical operators). */
|
|
827
|
+
var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
|
|
828
|
+
|
|
829
|
+
/** Used to compose unicode character classes. */
|
|
830
|
+
var rsComboMarksRange = '\\u0300-\\u036f',
|
|
831
|
+
reComboHalfMarksRange = '\\ufe20-\\ufe2f',
|
|
832
|
+
rsComboSymbolsRange = '\\u20d0-\\u20ff',
|
|
833
|
+
rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
|
|
834
|
+
|
|
835
|
+
/** Used to compose unicode capture groups. */
|
|
836
|
+
var rsCombo = '[' + rsComboRange + ']';
|
|
837
|
+
|
|
838
|
+
/**
|
|
839
|
+
* Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
|
|
840
|
+
* [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
|
|
841
|
+
*/
|
|
842
|
+
var reComboMark = RegExp(rsCombo, 'g');
|
|
843
|
+
|
|
844
|
+
/**
|
|
845
|
+
* Deburrs `string` by converting
|
|
846
|
+
* [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
|
|
847
|
+
* and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)
|
|
848
|
+
* letters to basic Latin letters and removing
|
|
849
|
+
* [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
|
|
850
|
+
*
|
|
851
|
+
* @static
|
|
852
|
+
* @memberOf _
|
|
853
|
+
* @since 3.0.0
|
|
854
|
+
* @category String
|
|
855
|
+
* @param {string} [string=''] The string to deburr.
|
|
856
|
+
* @returns {string} Returns the deburred string.
|
|
857
|
+
* @example
|
|
858
|
+
*
|
|
859
|
+
* _.deburr('déjà vu');
|
|
860
|
+
* // => 'deja vu'
|
|
861
|
+
*/
|
|
862
|
+
function deburr(string) {
|
|
863
|
+
string = toString(string);
|
|
864
|
+
return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
deburr_1 = deburr;
|
|
868
|
+
return deburr_1;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
/** Used to match words composed of alphanumeric characters. */
|
|
872
|
+
|
|
873
|
+
var _asciiWords;
|
|
874
|
+
var hasRequired_asciiWords;
|
|
875
|
+
|
|
876
|
+
function require_asciiWords () {
|
|
877
|
+
if (hasRequired_asciiWords) return _asciiWords;
|
|
878
|
+
hasRequired_asciiWords = 1;
|
|
879
|
+
var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
|
|
880
|
+
|
|
881
|
+
/**
|
|
882
|
+
* Splits an ASCII `string` into an array of its words.
|
|
883
|
+
*
|
|
884
|
+
* @private
|
|
885
|
+
* @param {string} The string to inspect.
|
|
886
|
+
* @returns {Array} Returns the words of `string`.
|
|
887
|
+
*/
|
|
888
|
+
function asciiWords(string) {
|
|
889
|
+
return string.match(reAsciiWord) || [];
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
_asciiWords = asciiWords;
|
|
893
|
+
return _asciiWords;
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
/** Used to detect strings that need a more robust regexp to match words. */
|
|
897
|
+
|
|
898
|
+
var _hasUnicodeWord;
|
|
899
|
+
var hasRequired_hasUnicodeWord;
|
|
900
|
+
|
|
901
|
+
function require_hasUnicodeWord () {
|
|
902
|
+
if (hasRequired_hasUnicodeWord) return _hasUnicodeWord;
|
|
903
|
+
hasRequired_hasUnicodeWord = 1;
|
|
904
|
+
var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
|
|
905
|
+
|
|
906
|
+
/**
|
|
907
|
+
* Checks if `string` contains a word composed of Unicode symbols.
|
|
908
|
+
*
|
|
909
|
+
* @private
|
|
910
|
+
* @param {string} string The string to inspect.
|
|
911
|
+
* @returns {boolean} Returns `true` if a word is found, else `false`.
|
|
912
|
+
*/
|
|
913
|
+
function hasUnicodeWord(string) {
|
|
914
|
+
return reHasUnicodeWord.test(string);
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
_hasUnicodeWord = hasUnicodeWord;
|
|
918
|
+
return _hasUnicodeWord;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
/** Used to compose unicode character classes. */
|
|
922
|
+
|
|
923
|
+
var _unicodeWords;
|
|
924
|
+
var hasRequired_unicodeWords;
|
|
925
|
+
|
|
926
|
+
function require_unicodeWords () {
|
|
927
|
+
if (hasRequired_unicodeWords) return _unicodeWords;
|
|
928
|
+
hasRequired_unicodeWords = 1;
|
|
929
|
+
var rsAstralRange = '\\ud800-\\udfff',
|
|
930
|
+
rsComboMarksRange = '\\u0300-\\u036f',
|
|
931
|
+
reComboHalfMarksRange = '\\ufe20-\\ufe2f',
|
|
932
|
+
rsComboSymbolsRange = '\\u20d0-\\u20ff',
|
|
933
|
+
rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,
|
|
934
|
+
rsDingbatRange = '\\u2700-\\u27bf',
|
|
935
|
+
rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
|
|
936
|
+
rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
|
|
937
|
+
rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf',
|
|
938
|
+
rsPunctuationRange = '\\u2000-\\u206f',
|
|
939
|
+
rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000',
|
|
940
|
+
rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde',
|
|
941
|
+
rsVarRange = '\\ufe0e\\ufe0f',
|
|
942
|
+
rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
|
|
943
|
+
|
|
944
|
+
/** Used to compose unicode capture groups. */
|
|
945
|
+
var rsApos = "['\u2019]",
|
|
946
|
+
rsBreak = '[' + rsBreakRange + ']',
|
|
947
|
+
rsCombo = '[' + rsComboRange + ']',
|
|
948
|
+
rsDigits = '\\d+',
|
|
949
|
+
rsDingbat = '[' + rsDingbatRange + ']',
|
|
950
|
+
rsLower = '[' + rsLowerRange + ']',
|
|
951
|
+
rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',
|
|
952
|
+
rsFitz = '\\ud83c[\\udffb-\\udfff]',
|
|
953
|
+
rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
|
|
954
|
+
rsNonAstral = '[^' + rsAstralRange + ']',
|
|
955
|
+
rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
|
|
956
|
+
rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
|
|
957
|
+
rsUpper = '[' + rsUpperRange + ']',
|
|
958
|
+
rsZWJ = '\\u200d';
|
|
959
|
+
|
|
960
|
+
/** Used to compose unicode regexes. */
|
|
961
|
+
var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',
|
|
962
|
+
rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',
|
|
963
|
+
rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',
|
|
964
|
+
rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',
|
|
965
|
+
reOptMod = rsModifier + '?',
|
|
966
|
+
rsOptVar = '[' + rsVarRange + ']?',
|
|
967
|
+
rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
|
|
968
|
+
rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
|
|
969
|
+
rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
|
|
970
|
+
rsSeq = rsOptVar + reOptMod + rsOptJoin,
|
|
971
|
+
rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;
|
|
972
|
+
|
|
973
|
+
/** Used to match complex or compound words. */
|
|
974
|
+
var reUnicodeWord = RegExp([
|
|
975
|
+
rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',
|
|
976
|
+
rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',
|
|
977
|
+
rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,
|
|
978
|
+
rsUpper + '+' + rsOptContrUpper,
|
|
979
|
+
rsOrdUpper,
|
|
980
|
+
rsOrdLower,
|
|
981
|
+
rsDigits,
|
|
982
|
+
rsEmoji
|
|
983
|
+
].join('|'), 'g');
|
|
984
|
+
|
|
985
|
+
/**
|
|
986
|
+
* Splits a Unicode `string` into an array of its words.
|
|
987
|
+
*
|
|
988
|
+
* @private
|
|
989
|
+
* @param {string} The string to inspect.
|
|
990
|
+
* @returns {Array} Returns the words of `string`.
|
|
991
|
+
*/
|
|
992
|
+
function unicodeWords(string) {
|
|
993
|
+
return string.match(reUnicodeWord) || [];
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
_unicodeWords = unicodeWords;
|
|
997
|
+
return _unicodeWords;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
var words_1;
|
|
1001
|
+
var hasRequiredWords;
|
|
1002
|
+
|
|
1003
|
+
function requireWords () {
|
|
1004
|
+
if (hasRequiredWords) return words_1;
|
|
1005
|
+
hasRequiredWords = 1;
|
|
1006
|
+
var asciiWords = require_asciiWords(),
|
|
1007
|
+
hasUnicodeWord = require_hasUnicodeWord(),
|
|
1008
|
+
toString = requireToString(),
|
|
1009
|
+
unicodeWords = require_unicodeWords();
|
|
1010
|
+
|
|
1011
|
+
/**
|
|
1012
|
+
* Splits `string` into an array of its words.
|
|
1013
|
+
*
|
|
1014
|
+
* @static
|
|
1015
|
+
* @memberOf _
|
|
1016
|
+
* @since 3.0.0
|
|
1017
|
+
* @category String
|
|
1018
|
+
* @param {string} [string=''] The string to inspect.
|
|
1019
|
+
* @param {RegExp|string} [pattern] The pattern to match words.
|
|
1020
|
+
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
|
|
1021
|
+
* @returns {Array} Returns the words of `string`.
|
|
1022
|
+
* @example
|
|
1023
|
+
*
|
|
1024
|
+
* _.words('fred, barney, & pebbles');
|
|
1025
|
+
* // => ['fred', 'barney', 'pebbles']
|
|
1026
|
+
*
|
|
1027
|
+
* _.words('fred, barney, & pebbles', /[^, ]+/g);
|
|
1028
|
+
* // => ['fred', 'barney', '&', 'pebbles']
|
|
1029
|
+
*/
|
|
1030
|
+
function words(string, pattern, guard) {
|
|
1031
|
+
string = toString(string);
|
|
1032
|
+
pattern = guard ? undefined : pattern;
|
|
1033
|
+
|
|
1034
|
+
if (pattern === undefined) {
|
|
1035
|
+
return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
|
|
1036
|
+
}
|
|
1037
|
+
return string.match(pattern) || [];
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
words_1 = words;
|
|
1041
|
+
return words_1;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
var _createCompounder;
|
|
1045
|
+
var hasRequired_createCompounder;
|
|
1046
|
+
|
|
1047
|
+
function require_createCompounder () {
|
|
1048
|
+
if (hasRequired_createCompounder) return _createCompounder;
|
|
1049
|
+
hasRequired_createCompounder = 1;
|
|
1050
|
+
var arrayReduce = require_arrayReduce(),
|
|
1051
|
+
deburr = requireDeburr(),
|
|
1052
|
+
words = requireWords();
|
|
1053
|
+
|
|
1054
|
+
/** Used to compose unicode capture groups. */
|
|
1055
|
+
var rsApos = "['\u2019]";
|
|
1056
|
+
|
|
1057
|
+
/** Used to match apostrophes. */
|
|
1058
|
+
var reApos = RegExp(rsApos, 'g');
|
|
1059
|
+
|
|
1060
|
+
/**
|
|
1061
|
+
* Creates a function like `_.camelCase`.
|
|
1062
|
+
*
|
|
1063
|
+
* @private
|
|
1064
|
+
* @param {Function} callback The function to combine each word.
|
|
1065
|
+
* @returns {Function} Returns the new compounder function.
|
|
1066
|
+
*/
|
|
1067
|
+
function createCompounder(callback) {
|
|
1068
|
+
return function(string) {
|
|
1069
|
+
return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
|
|
1070
|
+
};
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
_createCompounder = createCompounder;
|
|
1074
|
+
return _createCompounder;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
var camelCase_1;
|
|
1078
|
+
var hasRequiredCamelCase;
|
|
1079
|
+
|
|
1080
|
+
function requireCamelCase () {
|
|
1081
|
+
if (hasRequiredCamelCase) return camelCase_1;
|
|
1082
|
+
hasRequiredCamelCase = 1;
|
|
1083
|
+
var capitalize = requireCapitalize(),
|
|
1084
|
+
createCompounder = require_createCompounder();
|
|
1085
|
+
|
|
1086
|
+
/**
|
|
1087
|
+
* Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
|
|
1088
|
+
*
|
|
1089
|
+
* @static
|
|
1090
|
+
* @memberOf _
|
|
1091
|
+
* @since 3.0.0
|
|
1092
|
+
* @category String
|
|
1093
|
+
* @param {string} [string=''] The string to convert.
|
|
1094
|
+
* @returns {string} Returns the camel cased string.
|
|
1095
|
+
* @example
|
|
1096
|
+
*
|
|
1097
|
+
* _.camelCase('Foo Bar');
|
|
1098
|
+
* // => 'fooBar'
|
|
1099
|
+
*
|
|
1100
|
+
* _.camelCase('--foo-bar--');
|
|
1101
|
+
* // => 'fooBar'
|
|
1102
|
+
*
|
|
1103
|
+
* _.camelCase('__FOO_BAR__');
|
|
1104
|
+
* // => 'fooBar'
|
|
1105
|
+
*/
|
|
1106
|
+
var camelCase = createCompounder(function(result, word, index) {
|
|
1107
|
+
word = word.toLowerCase();
|
|
1108
|
+
return result + (index ? capitalize(word) : word);
|
|
1109
|
+
});
|
|
1110
|
+
|
|
1111
|
+
camelCase_1 = camelCase;
|
|
1112
|
+
return camelCase_1;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
requireCamelCase();
|
|
1116
|
+
|
|
10
1117
|
function hasFormParameters(parameters) {
|
|
11
1118
|
return Boolean(parameters.require || parameters.validation || parameters.error || parameters.serverError || parameters.serverErrorData);
|
|
12
1119
|
}
|