eslint-plugin-remeda 1.0.0 → 1.2.0
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 +1 -5
- package/dist/index.cjs +3768 -0
- package/dist/index.d.cts +187 -0
- package/dist/index.d.ts +187 -0
- package/dist/index.js +3755 -0
- package/docs/rules/prefer-flat-map.md +4 -4
- package/docs/rules/prefer-remeda-typecheck.md +6 -11
- package/package.json +39 -24
- package/src/index.js +0 -35
- package/src/rules/collection-method-value.js +0 -82
- package/src/rules/collection-return.js +0 -71
- package/src/rules/prefer-constant.js +0 -87
- package/src/rules/prefer-do-nothing.js +0 -44
- package/src/rules/prefer-filter.js +0 -82
- package/src/rules/prefer-find.js +0 -68
- package/src/rules/prefer-flat-map.js +0 -50
- package/src/rules/prefer-is-empty.js +0 -134
- package/src/rules/prefer-is-nil.js +0 -97
- package/src/rules/prefer-map.js +0 -62
- package/src/rules/prefer-nullish-coalescing.js +0 -63
- package/src/rules/prefer-remeda-typecheck.js +0 -93
- package/src/rules/prefer-some.js +0 -43
- package/src/rules/prefer-times.js +0 -37
- package/src/util/LodashContext.js +0 -128
- package/src/util/astUtil.js +0 -353
- package/src/util/getDocsUrl.js +0 -17
- package/src/util/importUtil.js +0 -24
- package/src/util/lodashUtil.js +0 -123
- package/src/util/methodData.js +0 -2417
- package/src/util/methodDataUtil.js +0 -115
- package/src/util/ruleUtil.js +0 -13
- package/src/util/settingsUtil.js +0 -31
package/dist/index.js
ADDED
@@ -0,0 +1,3755 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __export = (target, all) => {
|
3
|
+
for (var name in all)
|
4
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
5
|
+
};
|
6
|
+
|
7
|
+
// src/index.ts
|
8
|
+
import _2 from "lodash";
|
9
|
+
|
10
|
+
// package.json
|
11
|
+
var version = "0.0.0-development";
|
12
|
+
var package_default = {
|
13
|
+
name: "eslint-plugin-remeda",
|
14
|
+
version,
|
15
|
+
author: "Andrea Pontrandolfo <andrea.pontra@gmail.com>",
|
16
|
+
description: "ESLint plugin for Remeda library.",
|
17
|
+
type: "module",
|
18
|
+
main: "dist/index.js",
|
19
|
+
scripts: {
|
20
|
+
build: "tsup",
|
21
|
+
typecheck: "tsc",
|
22
|
+
knip: "knip",
|
23
|
+
publint: "publint",
|
24
|
+
"test:watch": "vitest --ui",
|
25
|
+
test: "vitest run",
|
26
|
+
attw: "attw --pack .",
|
27
|
+
qa: "pnpm typecheck && pnpm test && pnpm knip && pnpm publint && attw",
|
28
|
+
"semantic-release": "pnpm build && semantic-release"
|
29
|
+
},
|
30
|
+
files: [
|
31
|
+
"README.md",
|
32
|
+
"dist",
|
33
|
+
"docs"
|
34
|
+
],
|
35
|
+
exports: {
|
36
|
+
"./package.json": "./package.json",
|
37
|
+
".": {
|
38
|
+
import: "./dist/index.js",
|
39
|
+
default: "./dist/index.cjs"
|
40
|
+
}
|
41
|
+
},
|
42
|
+
repository: {
|
43
|
+
type: "git",
|
44
|
+
url: "git+https://github.com/AndreaPontrandolfo/eslint-plugin-remeda.git"
|
45
|
+
},
|
46
|
+
homepage: "https://github.com/AndreaPontrandolfo/eslint-plugin-remeda",
|
47
|
+
bugs: "https://github.com/AndreaPontrandolfo/eslint-plugin-remeda/issues",
|
48
|
+
peerDependencies: {
|
49
|
+
eslint: ">=9.0.0"
|
50
|
+
},
|
51
|
+
devDependencies: {
|
52
|
+
"@arethetypeswrong/cli": "^0.15.4",
|
53
|
+
"@types/lodash": "^4.17.7",
|
54
|
+
"@types/node": "^20.14.9",
|
55
|
+
"@vitest/coverage-v8": "^2.0.3",
|
56
|
+
"@vitest/ui": "^2.0.3",
|
57
|
+
eslint: "^9.7.0",
|
58
|
+
"eslint-plugin-eslint-plugin": "^4.2.0",
|
59
|
+
"eslint-vitest-rule-tester": "^0.3.3",
|
60
|
+
knip: "^5.29.1",
|
61
|
+
prettier: "^3.3.2",
|
62
|
+
publint: "^0.2.10",
|
63
|
+
"semantic-release": "^24.0.0",
|
64
|
+
tsup: "^8.2.4",
|
65
|
+
typescript: "^5.5.2",
|
66
|
+
vitest: "^2.0.3"
|
67
|
+
},
|
68
|
+
engines: {
|
69
|
+
node: ">=20"
|
70
|
+
},
|
71
|
+
packageManager: "pnpm@9.7.1",
|
72
|
+
publishConfig: {
|
73
|
+
access: "public"
|
74
|
+
},
|
75
|
+
keywords: [
|
76
|
+
"eslint",
|
77
|
+
"eslint-plugin",
|
78
|
+
"eslint plugin",
|
79
|
+
"eslintplugin",
|
80
|
+
"remeda",
|
81
|
+
"functional",
|
82
|
+
"fp"
|
83
|
+
],
|
84
|
+
license: "MIT",
|
85
|
+
dependencies: {
|
86
|
+
lodash: "^4.17.21"
|
87
|
+
}
|
88
|
+
};
|
89
|
+
|
90
|
+
// src/util/getDocsUrl.ts
|
91
|
+
var REPO_URL = "https://github.com/AndreaPontrandolfo/eslint-plugin-remeda";
|
92
|
+
function getDocsUrl(ruleName) {
|
93
|
+
return `${REPO_URL}/blob/v${version}/docs/rules/${ruleName}.md`;
|
94
|
+
}
|
95
|
+
|
96
|
+
// src/util/remedaUtil.ts
|
97
|
+
import { includes as includes4, capitalize as capitalize2 } from "lodash";
|
98
|
+
|
99
|
+
// src/util/methodDataUtil.ts
|
100
|
+
import { includes as includes2, get as get2, isObject as isObject2, has as has2 } from "lodash";
|
101
|
+
|
102
|
+
// src/util/methodData.ts
|
103
|
+
var methodData_exports = {};
|
104
|
+
__export(methodData_exports, {
|
105
|
+
add: () => add,
|
106
|
+
after: () => after,
|
107
|
+
ary: () => ary,
|
108
|
+
assign: () => assign,
|
109
|
+
assignIn: () => assignIn,
|
110
|
+
assignInWith: () => assignInWith,
|
111
|
+
assignWith: () => assignWith,
|
112
|
+
at: () => at,
|
113
|
+
attempt: () => attempt,
|
114
|
+
before: () => before,
|
115
|
+
bind: () => bind,
|
116
|
+
bindAll: () => bindAll,
|
117
|
+
bindKey: () => bindKey,
|
118
|
+
camelCase: () => camelCase,
|
119
|
+
capitalize: () => capitalize,
|
120
|
+
castArray: () => castArray,
|
121
|
+
ceil: () => ceil,
|
122
|
+
chain: () => chain,
|
123
|
+
chunk: () => chunk,
|
124
|
+
clamp: () => clamp,
|
125
|
+
clone: () => clone,
|
126
|
+
cloneDeep: () => cloneDeep,
|
127
|
+
cloneDeepWith: () => cloneDeepWith,
|
128
|
+
cloneWith: () => cloneWith,
|
129
|
+
commit: () => commit,
|
130
|
+
concat: () => concat,
|
131
|
+
cond: () => cond,
|
132
|
+
conforms: () => conforms,
|
133
|
+
conformsTo: () => conformsTo,
|
134
|
+
constant: () => constant,
|
135
|
+
countBy: () => countBy,
|
136
|
+
create: () => create,
|
137
|
+
curry: () => curry,
|
138
|
+
curryRight: () => curryRight,
|
139
|
+
debounce: () => debounce,
|
140
|
+
deburr: () => deburr,
|
141
|
+
defaultTo: () => defaultTo,
|
142
|
+
defaults: () => defaults,
|
143
|
+
defaultsDeep: () => defaultsDeep,
|
144
|
+
defer: () => defer,
|
145
|
+
delay: () => delay,
|
146
|
+
difference: () => difference,
|
147
|
+
differenceBy: () => differenceBy,
|
148
|
+
differenceWith: () => differenceWith,
|
149
|
+
divide: () => divide,
|
150
|
+
drop: () => drop,
|
151
|
+
dropRight: () => dropRight,
|
152
|
+
dropRightWhile: () => dropRightWhile,
|
153
|
+
dropWhile: () => dropWhile,
|
154
|
+
endsWith: () => endsWith,
|
155
|
+
eq: () => eq,
|
156
|
+
escape: () => escape,
|
157
|
+
escapeRegExp: () => escapeRegExp,
|
158
|
+
every: () => every,
|
159
|
+
fill: () => fill,
|
160
|
+
filter: () => filter,
|
161
|
+
find: () => find,
|
162
|
+
findIndex: () => findIndex,
|
163
|
+
findKey: () => findKey,
|
164
|
+
findLast: () => findLast,
|
165
|
+
findLastIndex: () => findLastIndex,
|
166
|
+
findLastKey: () => findLastKey,
|
167
|
+
first: () => first,
|
168
|
+
flatMap: () => flatMap,
|
169
|
+
flatMapDeep: () => flatMapDeep,
|
170
|
+
flatMapDepth: () => flatMapDepth,
|
171
|
+
flatten: () => flatten,
|
172
|
+
flattenDeep: () => flattenDeep,
|
173
|
+
flattenDepth: () => flattenDepth,
|
174
|
+
flip: () => flip,
|
175
|
+
floor: () => floor,
|
176
|
+
flow: () => flow,
|
177
|
+
flowRight: () => flowRight,
|
178
|
+
forEach: () => forEach,
|
179
|
+
forEachRight: () => forEachRight,
|
180
|
+
forIn: () => forIn,
|
181
|
+
forInRight: () => forInRight,
|
182
|
+
forOwn: () => forOwn,
|
183
|
+
forOwnRight: () => forOwnRight,
|
184
|
+
fromPairs: () => fromPairs,
|
185
|
+
functions: () => functions,
|
186
|
+
functionsIn: () => functionsIn,
|
187
|
+
get: () => get,
|
188
|
+
groupBy: () => groupBy,
|
189
|
+
gt: () => gt,
|
190
|
+
gte: () => gte,
|
191
|
+
has: () => has,
|
192
|
+
hasIn: () => hasIn,
|
193
|
+
head: () => head,
|
194
|
+
identity: () => identity,
|
195
|
+
inRange: () => inRange,
|
196
|
+
includes: () => includes,
|
197
|
+
indexBy: () => indexBy,
|
198
|
+
indexOf: () => indexOf,
|
199
|
+
initial: () => initial,
|
200
|
+
intersection: () => intersection,
|
201
|
+
intersectionBy: () => intersectionBy,
|
202
|
+
intersectionWith: () => intersectionWith,
|
203
|
+
invert: () => invert,
|
204
|
+
invertBy: () => invertBy,
|
205
|
+
invoke: () => invoke,
|
206
|
+
invokeMap: () => invokeMap,
|
207
|
+
isArguments: () => isArguments,
|
208
|
+
isArray: () => isArray,
|
209
|
+
isArrayBuffer: () => isArrayBuffer,
|
210
|
+
isArrayLike: () => isArrayLike,
|
211
|
+
isArrayLikeObject: () => isArrayLikeObject,
|
212
|
+
isBoolean: () => isBoolean,
|
213
|
+
isBuffer: () => isBuffer,
|
214
|
+
isDate: () => isDate,
|
215
|
+
isElement: () => isElement,
|
216
|
+
isEmpty: () => isEmpty,
|
217
|
+
isEqual: () => isEqual,
|
218
|
+
isEqualWith: () => isEqualWith,
|
219
|
+
isError: () => isError,
|
220
|
+
isFinite: () => isFinite,
|
221
|
+
isFunction: () => isFunction,
|
222
|
+
isInteger: () => isInteger,
|
223
|
+
isLength: () => isLength,
|
224
|
+
isMap: () => isMap,
|
225
|
+
isMatch: () => isMatch,
|
226
|
+
isMatchWith: () => isMatchWith,
|
227
|
+
isNaN: () => isNaN,
|
228
|
+
isNative: () => isNative,
|
229
|
+
isNil: () => isNil,
|
230
|
+
isNull: () => isNull,
|
231
|
+
isNumber: () => isNumber,
|
232
|
+
isObject: () => isObject,
|
233
|
+
isObjectLike: () => isObjectLike,
|
234
|
+
isPlainObject: () => isPlainObject,
|
235
|
+
isRegExp: () => isRegExp,
|
236
|
+
isSafeInteger: () => isSafeInteger,
|
237
|
+
isSet: () => isSet,
|
238
|
+
isString: () => isString,
|
239
|
+
isSymbol: () => isSymbol,
|
240
|
+
isTypedArray: () => isTypedArray,
|
241
|
+
isUndefined: () => isUndefined,
|
242
|
+
isWeakMap: () => isWeakMap,
|
243
|
+
isWeakSet: () => isWeakSet,
|
244
|
+
iteratee: () => iteratee,
|
245
|
+
join: () => join,
|
246
|
+
kebabCase: () => kebabCase,
|
247
|
+
keyBy: () => keyBy,
|
248
|
+
keys: () => keys,
|
249
|
+
keysIn: () => keysIn,
|
250
|
+
last: () => last,
|
251
|
+
lastIndexOf: () => lastIndexOf,
|
252
|
+
lowerCase: () => lowerCase,
|
253
|
+
lowerFirst: () => lowerFirst,
|
254
|
+
lt: () => lt,
|
255
|
+
lte: () => lte,
|
256
|
+
map: () => map,
|
257
|
+
mapKeys: () => mapKeys,
|
258
|
+
mapValues: () => mapValues,
|
259
|
+
matches: () => matches,
|
260
|
+
matchesProperty: () => matchesProperty,
|
261
|
+
max: () => max,
|
262
|
+
maxBy: () => maxBy,
|
263
|
+
mean: () => mean,
|
264
|
+
meanBy: () => meanBy,
|
265
|
+
memoize: () => memoize,
|
266
|
+
merge: () => merge,
|
267
|
+
mergeWith: () => mergeWith,
|
268
|
+
method: () => method,
|
269
|
+
methodOf: () => methodOf,
|
270
|
+
min: () => min,
|
271
|
+
minBy: () => minBy,
|
272
|
+
mixin: () => mixin,
|
273
|
+
multiply: () => multiply,
|
274
|
+
negate: () => negate,
|
275
|
+
next: () => next,
|
276
|
+
noConflict: () => noConflict,
|
277
|
+
noop: () => noop,
|
278
|
+
now: () => now,
|
279
|
+
nth: () => nth,
|
280
|
+
nthArg: () => nthArg,
|
281
|
+
omit: () => omit,
|
282
|
+
omitBy: () => omitBy,
|
283
|
+
once: () => once,
|
284
|
+
orderBy: () => orderBy,
|
285
|
+
over: () => over,
|
286
|
+
overArgs: () => overArgs,
|
287
|
+
overEvery: () => overEvery,
|
288
|
+
overSome: () => overSome,
|
289
|
+
pad: () => pad,
|
290
|
+
padEnd: () => padEnd,
|
291
|
+
padStart: () => padStart,
|
292
|
+
parseInt: () => parseInt2,
|
293
|
+
partial: () => partial,
|
294
|
+
partialRight: () => partialRight,
|
295
|
+
partition: () => partition,
|
296
|
+
pick: () => pick,
|
297
|
+
pickBy: () => pickBy,
|
298
|
+
plant: () => plant,
|
299
|
+
pop: () => pop,
|
300
|
+
property: () => property,
|
301
|
+
propertyOf: () => propertyOf,
|
302
|
+
pull: () => pull,
|
303
|
+
pullAll: () => pullAll,
|
304
|
+
pullAllBy: () => pullAllBy,
|
305
|
+
pullAllWith: () => pullAllWith,
|
306
|
+
pullAt: () => pullAt,
|
307
|
+
push: () => push,
|
308
|
+
random: () => random,
|
309
|
+
range: () => range,
|
310
|
+
rangeRight: () => rangeRight,
|
311
|
+
rearg: () => rearg,
|
312
|
+
reduce: () => reduce,
|
313
|
+
reduceRight: () => reduceRight,
|
314
|
+
reject: () => reject,
|
315
|
+
remove: () => remove,
|
316
|
+
repeat: () => repeat,
|
317
|
+
replace: () => replace,
|
318
|
+
rest: () => rest,
|
319
|
+
result: () => result,
|
320
|
+
reverse: () => reverse,
|
321
|
+
round: () => round,
|
322
|
+
runInContext: () => runInContext,
|
323
|
+
sample: () => sample,
|
324
|
+
sampleSize: () => sampleSize,
|
325
|
+
set: () => set,
|
326
|
+
setWith: () => setWith,
|
327
|
+
shift: () => shift,
|
328
|
+
shuffle: () => shuffle,
|
329
|
+
size: () => size,
|
330
|
+
slice: () => slice,
|
331
|
+
snakeCase: () => snakeCase,
|
332
|
+
some: () => some,
|
333
|
+
sort: () => sort,
|
334
|
+
sortBy: () => sortBy,
|
335
|
+
sortedIndex: () => sortedIndex,
|
336
|
+
sortedIndexBy: () => sortedIndexBy,
|
337
|
+
sortedIndexOf: () => sortedIndexOf,
|
338
|
+
sortedLastIndex: () => sortedLastIndex,
|
339
|
+
sortedLastIndexBy: () => sortedLastIndexBy,
|
340
|
+
sortedLastIndexOf: () => sortedLastIndexOf,
|
341
|
+
sortedUniq: () => sortedUniq,
|
342
|
+
sortedUniqBy: () => sortedUniqBy,
|
343
|
+
splice: () => splice,
|
344
|
+
split: () => split,
|
345
|
+
spread: () => spread,
|
346
|
+
startCase: () => startCase,
|
347
|
+
startsWith: () => startsWith,
|
348
|
+
stubArray: () => stubArray,
|
349
|
+
stubFalse: () => stubFalse,
|
350
|
+
stubObject: () => stubObject,
|
351
|
+
stubString: () => stubString,
|
352
|
+
stubTrue: () => stubTrue,
|
353
|
+
subtract: () => subtract,
|
354
|
+
sum: () => sum,
|
355
|
+
sumBy: () => sumBy,
|
356
|
+
tail: () => tail,
|
357
|
+
take: () => take,
|
358
|
+
takeRight: () => takeRight,
|
359
|
+
takeRightWhile: () => takeRightWhile,
|
360
|
+
takeWhile: () => takeWhile,
|
361
|
+
tap: () => tap,
|
362
|
+
template: () => template,
|
363
|
+
throttle: () => throttle,
|
364
|
+
thru: () => thru,
|
365
|
+
times: () => times,
|
366
|
+
toArray: () => toArray,
|
367
|
+
toFinite: () => toFinite,
|
368
|
+
toInteger: () => toInteger,
|
369
|
+
toLength: () => toLength,
|
370
|
+
toLower: () => toLower,
|
371
|
+
toNumber: () => toNumber,
|
372
|
+
toPairs: () => toPairs,
|
373
|
+
toPairsIn: () => toPairsIn,
|
374
|
+
toPath: () => toPath,
|
375
|
+
toPlainObject: () => toPlainObject,
|
376
|
+
toSafeInteger: () => toSafeInteger,
|
377
|
+
toString: () => toString,
|
378
|
+
toUpper: () => toUpper,
|
379
|
+
transform: () => transform,
|
380
|
+
trim: () => trim,
|
381
|
+
trimEnd: () => trimEnd,
|
382
|
+
trimStart: () => trimStart,
|
383
|
+
truncate: () => truncate,
|
384
|
+
unary: () => unary,
|
385
|
+
unescape: () => unescape,
|
386
|
+
union: () => union,
|
387
|
+
unionBy: () => unionBy,
|
388
|
+
unionWith: () => unionWith,
|
389
|
+
uniq: () => uniq,
|
390
|
+
uniqBy: () => uniqBy,
|
391
|
+
uniqWith: () => uniqWith,
|
392
|
+
uniqueId: () => uniqueId,
|
393
|
+
unset: () => unset,
|
394
|
+
unshift: () => unshift,
|
395
|
+
unzip: () => unzip,
|
396
|
+
unzipWith: () => unzipWith,
|
397
|
+
update: () => update,
|
398
|
+
updateWith: () => updateWith,
|
399
|
+
upperCase: () => upperCase,
|
400
|
+
upperFirst: () => upperFirst,
|
401
|
+
value: () => value,
|
402
|
+
values: () => values,
|
403
|
+
valuesIn: () => valuesIn,
|
404
|
+
without: () => without,
|
405
|
+
words: () => words,
|
406
|
+
wrap: () => wrap,
|
407
|
+
xor: () => xor,
|
408
|
+
xorBy: () => xorBy,
|
409
|
+
xorWith: () => xorWith,
|
410
|
+
zip: () => zip,
|
411
|
+
zipObject: () => zipObject,
|
412
|
+
zipObjectDeep: () => zipObjectDeep,
|
413
|
+
zipWith: () => zipWith
|
414
|
+
});
|
415
|
+
var add = {
|
416
|
+
wrapper: false,
|
417
|
+
shorthand: false,
|
418
|
+
chainable: false,
|
419
|
+
iteratee: false,
|
420
|
+
args: 2
|
421
|
+
};
|
422
|
+
var after = {
|
423
|
+
wrapper: false,
|
424
|
+
shorthand: false,
|
425
|
+
chainable: true,
|
426
|
+
iteratee: false,
|
427
|
+
args: 2
|
428
|
+
};
|
429
|
+
var ary = {
|
430
|
+
wrapper: false,
|
431
|
+
shorthand: false,
|
432
|
+
chainable: true,
|
433
|
+
iteratee: false,
|
434
|
+
args: 2
|
435
|
+
};
|
436
|
+
var assign = {
|
437
|
+
wrapper: false,
|
438
|
+
shorthand: false,
|
439
|
+
chainable: true,
|
440
|
+
iteratee: false
|
441
|
+
};
|
442
|
+
var assignIn = {
|
443
|
+
wrapper: false,
|
444
|
+
shorthand: false,
|
445
|
+
chainable: true,
|
446
|
+
iteratee: false
|
447
|
+
};
|
448
|
+
var assignInWith = {
|
449
|
+
wrapper: false,
|
450
|
+
shorthand: false,
|
451
|
+
chainable: true,
|
452
|
+
iteratee: false
|
453
|
+
};
|
454
|
+
var assignWith = {
|
455
|
+
wrapper: false,
|
456
|
+
shorthand: false,
|
457
|
+
chainable: true,
|
458
|
+
iteratee: false
|
459
|
+
};
|
460
|
+
var at = {
|
461
|
+
wrapper: false,
|
462
|
+
shorthand: false,
|
463
|
+
chainable: true,
|
464
|
+
iteratee: false
|
465
|
+
};
|
466
|
+
var attempt = {
|
467
|
+
wrapper: false,
|
468
|
+
shorthand: false,
|
469
|
+
chainable: false,
|
470
|
+
iteratee: false
|
471
|
+
};
|
472
|
+
var before = {
|
473
|
+
wrapper: false,
|
474
|
+
shorthand: false,
|
475
|
+
chainable: true,
|
476
|
+
iteratee: false,
|
477
|
+
args: 2
|
478
|
+
};
|
479
|
+
var bind = {
|
480
|
+
wrapper: false,
|
481
|
+
shorthand: false,
|
482
|
+
chainable: true,
|
483
|
+
iteratee: false
|
484
|
+
};
|
485
|
+
var bindAll = {
|
486
|
+
wrapper: false,
|
487
|
+
shorthand: false,
|
488
|
+
chainable: true,
|
489
|
+
iteratee: false
|
490
|
+
};
|
491
|
+
var bindKey = {
|
492
|
+
wrapper: false,
|
493
|
+
shorthand: false,
|
494
|
+
chainable: true,
|
495
|
+
iteratee: false
|
496
|
+
};
|
497
|
+
var camelCase = {
|
498
|
+
wrapper: false,
|
499
|
+
shorthand: false,
|
500
|
+
chainable: false,
|
501
|
+
iteratee: false,
|
502
|
+
args: 1
|
503
|
+
};
|
504
|
+
var capitalize = {
|
505
|
+
wrapper: false,
|
506
|
+
shorthand: false,
|
507
|
+
chainable: false,
|
508
|
+
iteratee: false,
|
509
|
+
args: 1
|
510
|
+
};
|
511
|
+
var castArray = {
|
512
|
+
wrapper: false,
|
513
|
+
shorthand: false,
|
514
|
+
chainable: true,
|
515
|
+
iteratee: false,
|
516
|
+
args: 1
|
517
|
+
};
|
518
|
+
var ceil = {
|
519
|
+
wrapper: false,
|
520
|
+
shorthand: false,
|
521
|
+
chainable: false,
|
522
|
+
iteratee: false,
|
523
|
+
args: 2
|
524
|
+
};
|
525
|
+
var chain = {
|
526
|
+
wrapper: false,
|
527
|
+
shorthand: false,
|
528
|
+
chainable: true,
|
529
|
+
iteratee: false,
|
530
|
+
args: 1
|
531
|
+
};
|
532
|
+
var chunk = {
|
533
|
+
wrapper: false,
|
534
|
+
shorthand: false,
|
535
|
+
chainable: true,
|
536
|
+
iteratee: false,
|
537
|
+
args: 2
|
538
|
+
};
|
539
|
+
var clamp = {
|
540
|
+
wrapper: false,
|
541
|
+
shorthand: false,
|
542
|
+
chainable: false,
|
543
|
+
iteratee: false,
|
544
|
+
args: 3
|
545
|
+
};
|
546
|
+
var clone = {
|
547
|
+
wrapper: false,
|
548
|
+
shorthand: false,
|
549
|
+
chainable: false,
|
550
|
+
iteratee: false,
|
551
|
+
args: 1
|
552
|
+
};
|
553
|
+
var cloneDeep = {
|
554
|
+
wrapper: false,
|
555
|
+
shorthand: false,
|
556
|
+
chainable: false,
|
557
|
+
iteratee: false,
|
558
|
+
args: 1
|
559
|
+
};
|
560
|
+
var cloneDeepWith = {
|
561
|
+
wrapper: false,
|
562
|
+
shorthand: false,
|
563
|
+
chainable: false,
|
564
|
+
iteratee: true,
|
565
|
+
args: 2
|
566
|
+
};
|
567
|
+
var cloneWith = {
|
568
|
+
wrapper: false,
|
569
|
+
shorthand: false,
|
570
|
+
chainable: false,
|
571
|
+
iteratee: true,
|
572
|
+
args: 2
|
573
|
+
};
|
574
|
+
var commit = {
|
575
|
+
wrapper: false,
|
576
|
+
shorthand: false,
|
577
|
+
chainable: true,
|
578
|
+
iteratee: false
|
579
|
+
};
|
580
|
+
var concat = {
|
581
|
+
wrapper: true,
|
582
|
+
shorthand: false,
|
583
|
+
chainable: true,
|
584
|
+
iteratee: false
|
585
|
+
};
|
586
|
+
var cond = {
|
587
|
+
wrapper: false,
|
588
|
+
shorthand: false,
|
589
|
+
chainable: false,
|
590
|
+
iteratee: false,
|
591
|
+
args: 1
|
592
|
+
};
|
593
|
+
var conforms = {
|
594
|
+
wrapper: false,
|
595
|
+
shorthand: false,
|
596
|
+
chainable: true,
|
597
|
+
iteratee: false,
|
598
|
+
args: 1
|
599
|
+
};
|
600
|
+
var conformsTo = {
|
601
|
+
wrapper: false,
|
602
|
+
shorthand: false,
|
603
|
+
chainable: false,
|
604
|
+
iteratee: false,
|
605
|
+
args: 2
|
606
|
+
};
|
607
|
+
var constant = {
|
608
|
+
wrapper: false,
|
609
|
+
shorthand: false,
|
610
|
+
chainable: true,
|
611
|
+
iteratee: false,
|
612
|
+
args: 1
|
613
|
+
};
|
614
|
+
var countBy = {
|
615
|
+
wrapper: false,
|
616
|
+
shorthand: true,
|
617
|
+
chainable: true,
|
618
|
+
iteratee: true,
|
619
|
+
args: 2
|
620
|
+
};
|
621
|
+
var create = {
|
622
|
+
wrapper: false,
|
623
|
+
shorthand: false,
|
624
|
+
chainable: true,
|
625
|
+
iteratee: false,
|
626
|
+
args: 2
|
627
|
+
};
|
628
|
+
var curry = {
|
629
|
+
wrapper: false,
|
630
|
+
shorthand: false,
|
631
|
+
chainable: true,
|
632
|
+
iteratee: false,
|
633
|
+
args: 2
|
634
|
+
};
|
635
|
+
var curryRight = {
|
636
|
+
wrapper: false,
|
637
|
+
shorthand: false,
|
638
|
+
chainable: false,
|
639
|
+
iteratee: false,
|
640
|
+
args: 2
|
641
|
+
};
|
642
|
+
var debounce = {
|
643
|
+
wrapper: false,
|
644
|
+
shorthand: false,
|
645
|
+
chainable: true,
|
646
|
+
iteratee: false,
|
647
|
+
args: 3
|
648
|
+
};
|
649
|
+
var deburr = {
|
650
|
+
wrapper: false,
|
651
|
+
shorthand: false,
|
652
|
+
chainable: false,
|
653
|
+
iteratee: false,
|
654
|
+
args: 1
|
655
|
+
};
|
656
|
+
var defaultTo = {
|
657
|
+
wrapper: false,
|
658
|
+
shorthand: false,
|
659
|
+
chainable: false,
|
660
|
+
iteratee: false,
|
661
|
+
args: 2
|
662
|
+
};
|
663
|
+
var defaults = {
|
664
|
+
wrapper: false,
|
665
|
+
shorthand: false,
|
666
|
+
chainable: true,
|
667
|
+
iteratee: false
|
668
|
+
};
|
669
|
+
var defaultsDeep = {
|
670
|
+
wrapper: false,
|
671
|
+
shorthand: false,
|
672
|
+
chainable: true,
|
673
|
+
iteratee: false
|
674
|
+
};
|
675
|
+
var defer = {
|
676
|
+
wrapper: false,
|
677
|
+
shorthand: false,
|
678
|
+
chainable: true,
|
679
|
+
iteratee: false
|
680
|
+
};
|
681
|
+
var delay = {
|
682
|
+
wrapper: false,
|
683
|
+
shorthand: false,
|
684
|
+
chainable: true,
|
685
|
+
iteratee: false
|
686
|
+
};
|
687
|
+
var difference = {
|
688
|
+
wrapper: false,
|
689
|
+
shorthand: false,
|
690
|
+
chainable: true,
|
691
|
+
iteratee: false
|
692
|
+
};
|
693
|
+
var differenceBy = {
|
694
|
+
wrapper: false,
|
695
|
+
shorthand: true,
|
696
|
+
chainable: true,
|
697
|
+
iteratee: true
|
698
|
+
};
|
699
|
+
var differenceWith = {
|
700
|
+
wrapper: false,
|
701
|
+
shorthand: false,
|
702
|
+
chainable: true,
|
703
|
+
iteratee: false
|
704
|
+
};
|
705
|
+
var divide = {
|
706
|
+
wrapper: false,
|
707
|
+
shorthand: false,
|
708
|
+
chainable: false,
|
709
|
+
iteratee: false,
|
710
|
+
args: 2
|
711
|
+
};
|
712
|
+
var drop = {
|
713
|
+
wrapper: false,
|
714
|
+
shorthand: false,
|
715
|
+
chainable: true,
|
716
|
+
iteratee: false,
|
717
|
+
args: 2
|
718
|
+
};
|
719
|
+
var dropRight = {
|
720
|
+
wrapper: false,
|
721
|
+
shorthand: false,
|
722
|
+
chainable: true,
|
723
|
+
iteratee: false,
|
724
|
+
args: 2
|
725
|
+
};
|
726
|
+
var dropRightWhile = {
|
727
|
+
wrapper: false,
|
728
|
+
shorthand: true,
|
729
|
+
chainable: true,
|
730
|
+
iteratee: true,
|
731
|
+
args: 3
|
732
|
+
};
|
733
|
+
var dropWhile = {
|
734
|
+
wrapper: false,
|
735
|
+
shorthand: true,
|
736
|
+
chainable: true,
|
737
|
+
iteratee: true,
|
738
|
+
args: 3
|
739
|
+
};
|
740
|
+
var endsWith = {
|
741
|
+
wrapper: false,
|
742
|
+
shorthand: false,
|
743
|
+
chainable: false,
|
744
|
+
iteratee: false,
|
745
|
+
args: 3
|
746
|
+
};
|
747
|
+
var eq = {
|
748
|
+
wrapper: false,
|
749
|
+
shorthand: false,
|
750
|
+
chainable: false,
|
751
|
+
iteratee: false,
|
752
|
+
args: 2
|
753
|
+
};
|
754
|
+
var escape = {
|
755
|
+
wrapper: false,
|
756
|
+
shorthand: false,
|
757
|
+
chainable: false,
|
758
|
+
iteratee: false,
|
759
|
+
args: 1
|
760
|
+
};
|
761
|
+
var escapeRegExp = {
|
762
|
+
wrapper: false,
|
763
|
+
shorthand: false,
|
764
|
+
chainable: false,
|
765
|
+
iteratee: false,
|
766
|
+
args: 1
|
767
|
+
};
|
768
|
+
var every = {
|
769
|
+
wrapper: false,
|
770
|
+
shorthand: true,
|
771
|
+
chainable: false,
|
772
|
+
iteratee: true,
|
773
|
+
args: 2
|
774
|
+
};
|
775
|
+
var fill = {
|
776
|
+
wrapper: false,
|
777
|
+
shorthand: false,
|
778
|
+
chainable: true,
|
779
|
+
iteratee: false,
|
780
|
+
args: 4
|
781
|
+
};
|
782
|
+
var filter = {
|
783
|
+
wrapper: false,
|
784
|
+
shorthand: true,
|
785
|
+
chainable: true,
|
786
|
+
iteratee: true,
|
787
|
+
args: 2
|
788
|
+
};
|
789
|
+
var find = {
|
790
|
+
wrapper: false,
|
791
|
+
shorthand: true,
|
792
|
+
chainable: false,
|
793
|
+
iteratee: true,
|
794
|
+
args: 3
|
795
|
+
};
|
796
|
+
var findIndex = {
|
797
|
+
wrapper: false,
|
798
|
+
shorthand: true,
|
799
|
+
chainable: false,
|
800
|
+
iteratee: true,
|
801
|
+
args: 3
|
802
|
+
};
|
803
|
+
var findKey = {
|
804
|
+
wrapper: false,
|
805
|
+
shorthand: true,
|
806
|
+
chainable: false,
|
807
|
+
iteratee: true,
|
808
|
+
args: 2
|
809
|
+
};
|
810
|
+
var findLast = {
|
811
|
+
wrapper: false,
|
812
|
+
shorthand: true,
|
813
|
+
chainable: false,
|
814
|
+
iteratee: true,
|
815
|
+
args: 3
|
816
|
+
};
|
817
|
+
var findLastIndex = {
|
818
|
+
wrapper: false,
|
819
|
+
shorthand: true,
|
820
|
+
chainable: false,
|
821
|
+
iteratee: true,
|
822
|
+
args: 3
|
823
|
+
};
|
824
|
+
var findLastKey = {
|
825
|
+
wrapper: false,
|
826
|
+
shorthand: true,
|
827
|
+
chainable: false,
|
828
|
+
iteratee: true,
|
829
|
+
args: 2
|
830
|
+
};
|
831
|
+
var flatMap = {
|
832
|
+
wrapper: false,
|
833
|
+
shorthand: true,
|
834
|
+
chainable: true,
|
835
|
+
iteratee: true,
|
836
|
+
args: 2
|
837
|
+
};
|
838
|
+
var flatMapDeep = {
|
839
|
+
wrapper: false,
|
840
|
+
shorthand: true,
|
841
|
+
chainable: true,
|
842
|
+
iteratee: true,
|
843
|
+
args: 2
|
844
|
+
};
|
845
|
+
var flatMapDepth = {
|
846
|
+
wrapper: false,
|
847
|
+
shorthand: true,
|
848
|
+
chainable: true,
|
849
|
+
iteratee: true,
|
850
|
+
args: 3
|
851
|
+
};
|
852
|
+
var flatten = {
|
853
|
+
wrapper: false,
|
854
|
+
shorthand: false,
|
855
|
+
chainable: true,
|
856
|
+
iteratee: false,
|
857
|
+
args: 1
|
858
|
+
};
|
859
|
+
var flattenDeep = {
|
860
|
+
wrapper: false,
|
861
|
+
shorthand: false,
|
862
|
+
chainable: true,
|
863
|
+
iteratee: false,
|
864
|
+
args: 1
|
865
|
+
};
|
866
|
+
var flattenDepth = {
|
867
|
+
wrapper: false,
|
868
|
+
shorthand: false,
|
869
|
+
chainable: true,
|
870
|
+
iteratee: false,
|
871
|
+
args: 2
|
872
|
+
};
|
873
|
+
var flip = {
|
874
|
+
wrapper: false,
|
875
|
+
shorthand: false,
|
876
|
+
chainable: true,
|
877
|
+
iteratee: false,
|
878
|
+
args: 1
|
879
|
+
};
|
880
|
+
var floor = {
|
881
|
+
wrapper: false,
|
882
|
+
shorthand: false,
|
883
|
+
chainable: false,
|
884
|
+
iteratee: false,
|
885
|
+
args: 2
|
886
|
+
};
|
887
|
+
var flow = {
|
888
|
+
wrapper: false,
|
889
|
+
shorthand: false,
|
890
|
+
chainable: true,
|
891
|
+
iteratee: false
|
892
|
+
};
|
893
|
+
var flowRight = {
|
894
|
+
wrapper: false,
|
895
|
+
shorthand: false,
|
896
|
+
chainable: true,
|
897
|
+
iteratee: false
|
898
|
+
};
|
899
|
+
var forEach = {
|
900
|
+
wrapper: false,
|
901
|
+
shorthand: false,
|
902
|
+
chainable: false,
|
903
|
+
iteratee: true,
|
904
|
+
args: 2
|
905
|
+
};
|
906
|
+
var forEachRight = {
|
907
|
+
wrapper: false,
|
908
|
+
shorthand: false,
|
909
|
+
chainable: false,
|
910
|
+
iteratee: true,
|
911
|
+
args: 2
|
912
|
+
};
|
913
|
+
var forIn = {
|
914
|
+
wrapper: false,
|
915
|
+
shorthand: false,
|
916
|
+
chainable: false,
|
917
|
+
iteratee: true,
|
918
|
+
args: 2
|
919
|
+
};
|
920
|
+
var forInRight = {
|
921
|
+
wrapper: false,
|
922
|
+
shorthand: false,
|
923
|
+
chainable: false,
|
924
|
+
iteratee: true,
|
925
|
+
args: 2
|
926
|
+
};
|
927
|
+
var forOwn = {
|
928
|
+
wrapper: false,
|
929
|
+
shorthand: false,
|
930
|
+
chainable: false,
|
931
|
+
iteratee: true,
|
932
|
+
args: 2
|
933
|
+
};
|
934
|
+
var forOwnRight = {
|
935
|
+
wrapper: false,
|
936
|
+
shorthand: false,
|
937
|
+
chainable: false,
|
938
|
+
iteratee: true,
|
939
|
+
args: 2
|
940
|
+
};
|
941
|
+
var fromPairs = {
|
942
|
+
wrapper: false,
|
943
|
+
shorthand: false,
|
944
|
+
chainable: true,
|
945
|
+
iteratee: false,
|
946
|
+
args: 1
|
947
|
+
};
|
948
|
+
var functions = {
|
949
|
+
wrapper: false,
|
950
|
+
shorthand: false,
|
951
|
+
chainable: true,
|
952
|
+
iteratee: false,
|
953
|
+
args: 1
|
954
|
+
};
|
955
|
+
var functionsIn = {
|
956
|
+
wrapper: false,
|
957
|
+
shorthand: false,
|
958
|
+
chainable: true,
|
959
|
+
iteratee: false,
|
960
|
+
args: 1
|
961
|
+
};
|
962
|
+
var get = {
|
963
|
+
wrapper: false,
|
964
|
+
shorthand: false,
|
965
|
+
chainable: false,
|
966
|
+
iteratee: false,
|
967
|
+
args: 3
|
968
|
+
};
|
969
|
+
var groupBy = {
|
970
|
+
wrapper: false,
|
971
|
+
shorthand: true,
|
972
|
+
chainable: true,
|
973
|
+
iteratee: true,
|
974
|
+
args: 2
|
975
|
+
};
|
976
|
+
var gt = {
|
977
|
+
wrapper: false,
|
978
|
+
shorthand: false,
|
979
|
+
chainable: false,
|
980
|
+
iteratee: false,
|
981
|
+
args: 2
|
982
|
+
};
|
983
|
+
var gte = {
|
984
|
+
wrapper: false,
|
985
|
+
shorthand: false,
|
986
|
+
chainable: false,
|
987
|
+
iteratee: false,
|
988
|
+
args: 2
|
989
|
+
};
|
990
|
+
var has = {
|
991
|
+
wrapper: false,
|
992
|
+
shorthand: false,
|
993
|
+
chainable: false,
|
994
|
+
iteratee: false,
|
995
|
+
args: 2
|
996
|
+
};
|
997
|
+
var hasIn = {
|
998
|
+
wrapper: false,
|
999
|
+
shorthand: false,
|
1000
|
+
chainable: false,
|
1001
|
+
iteratee: false,
|
1002
|
+
args: 2
|
1003
|
+
};
|
1004
|
+
var head = {
|
1005
|
+
wrapper: false,
|
1006
|
+
shorthand: false,
|
1007
|
+
chainable: false,
|
1008
|
+
iteratee: false,
|
1009
|
+
args: 1
|
1010
|
+
};
|
1011
|
+
var first = {
|
1012
|
+
wrapper: false,
|
1013
|
+
shorthand: false,
|
1014
|
+
chainable: false,
|
1015
|
+
iteratee: false,
|
1016
|
+
args: 1
|
1017
|
+
};
|
1018
|
+
var identity = {
|
1019
|
+
wrapper: false,
|
1020
|
+
shorthand: false,
|
1021
|
+
chainable: false,
|
1022
|
+
iteratee: false,
|
1023
|
+
args: 1
|
1024
|
+
};
|
1025
|
+
var inRange = {
|
1026
|
+
wrapper: false,
|
1027
|
+
shorthand: false,
|
1028
|
+
chainable: false,
|
1029
|
+
iteratee: false,
|
1030
|
+
args: 3
|
1031
|
+
};
|
1032
|
+
var includes = {
|
1033
|
+
wrapper: false,
|
1034
|
+
shorthand: false,
|
1035
|
+
chainable: false,
|
1036
|
+
iteratee: false,
|
1037
|
+
args: 3
|
1038
|
+
};
|
1039
|
+
var indexBy = {
|
1040
|
+
wrapper: false,
|
1041
|
+
shorthand: false,
|
1042
|
+
chainable: false,
|
1043
|
+
iteratee: true
|
1044
|
+
};
|
1045
|
+
var indexOf = {
|
1046
|
+
wrapper: false,
|
1047
|
+
shorthand: false,
|
1048
|
+
chainable: false,
|
1049
|
+
iteratee: false,
|
1050
|
+
args: 3
|
1051
|
+
};
|
1052
|
+
var initial = {
|
1053
|
+
wrapper: false,
|
1054
|
+
shorthand: false,
|
1055
|
+
chainable: true,
|
1056
|
+
iteratee: false,
|
1057
|
+
args: 1
|
1058
|
+
};
|
1059
|
+
var intersection = {
|
1060
|
+
wrapper: false,
|
1061
|
+
shorthand: false,
|
1062
|
+
chainable: true,
|
1063
|
+
iteratee: false
|
1064
|
+
};
|
1065
|
+
var intersectionBy = {
|
1066
|
+
wrapper: false,
|
1067
|
+
shorthand: true,
|
1068
|
+
chainable: true,
|
1069
|
+
iteratee: true
|
1070
|
+
};
|
1071
|
+
var intersectionWith = {
|
1072
|
+
wrapper: false,
|
1073
|
+
shorthand: false,
|
1074
|
+
chainable: true,
|
1075
|
+
iteratee: false
|
1076
|
+
};
|
1077
|
+
var invert = {
|
1078
|
+
wrapper: false,
|
1079
|
+
shorthand: false,
|
1080
|
+
chainable: true,
|
1081
|
+
iteratee: false,
|
1082
|
+
args: 1
|
1083
|
+
};
|
1084
|
+
var invertBy = {
|
1085
|
+
wrapper: false,
|
1086
|
+
shorthand: true,
|
1087
|
+
chainable: true,
|
1088
|
+
iteratee: true,
|
1089
|
+
args: 2
|
1090
|
+
};
|
1091
|
+
var invoke = {
|
1092
|
+
wrapper: false,
|
1093
|
+
shorthand: false,
|
1094
|
+
chainable: false,
|
1095
|
+
iteratee: false
|
1096
|
+
};
|
1097
|
+
var invokeMap = {
|
1098
|
+
wrapper: false,
|
1099
|
+
shorthand: false,
|
1100
|
+
chainable: true,
|
1101
|
+
iteratee: false
|
1102
|
+
};
|
1103
|
+
var isArguments = {
|
1104
|
+
wrapper: false,
|
1105
|
+
shorthand: false,
|
1106
|
+
chainable: false,
|
1107
|
+
iteratee: false,
|
1108
|
+
args: 1
|
1109
|
+
};
|
1110
|
+
var isArray = {
|
1111
|
+
wrapper: false,
|
1112
|
+
shorthand: false,
|
1113
|
+
chainable: false,
|
1114
|
+
iteratee: false,
|
1115
|
+
args: 1
|
1116
|
+
};
|
1117
|
+
var isArrayBuffer = {
|
1118
|
+
wrapper: false,
|
1119
|
+
shorthand: false,
|
1120
|
+
chainable: false,
|
1121
|
+
iteratee: false,
|
1122
|
+
args: 1
|
1123
|
+
};
|
1124
|
+
var isArrayLike = {
|
1125
|
+
wrapper: false,
|
1126
|
+
shorthand: false,
|
1127
|
+
chainable: false,
|
1128
|
+
iteratee: false,
|
1129
|
+
args: 1
|
1130
|
+
};
|
1131
|
+
var isArrayLikeObject = {
|
1132
|
+
wrapper: false,
|
1133
|
+
shorthand: false,
|
1134
|
+
chainable: false,
|
1135
|
+
iteratee: false,
|
1136
|
+
args: 1
|
1137
|
+
};
|
1138
|
+
var isBoolean = {
|
1139
|
+
wrapper: false,
|
1140
|
+
shorthand: false,
|
1141
|
+
chainable: false,
|
1142
|
+
iteratee: false,
|
1143
|
+
args: 1
|
1144
|
+
};
|
1145
|
+
var isBuffer = {
|
1146
|
+
wrapper: false,
|
1147
|
+
shorthand: false,
|
1148
|
+
chainable: false,
|
1149
|
+
iteratee: false,
|
1150
|
+
args: 1
|
1151
|
+
};
|
1152
|
+
var isDate = {
|
1153
|
+
wrapper: false,
|
1154
|
+
shorthand: false,
|
1155
|
+
chainable: false,
|
1156
|
+
iteratee: false,
|
1157
|
+
args: 1
|
1158
|
+
};
|
1159
|
+
var isElement = {
|
1160
|
+
wrapper: false,
|
1161
|
+
shorthand: false,
|
1162
|
+
chainable: false,
|
1163
|
+
iteratee: false,
|
1164
|
+
args: 1
|
1165
|
+
};
|
1166
|
+
var isEmpty = {
|
1167
|
+
wrapper: false,
|
1168
|
+
shorthand: false,
|
1169
|
+
chainable: false,
|
1170
|
+
iteratee: false,
|
1171
|
+
args: 1
|
1172
|
+
};
|
1173
|
+
var isEqual = {
|
1174
|
+
wrapper: false,
|
1175
|
+
shorthand: false,
|
1176
|
+
chainable: false,
|
1177
|
+
iteratee: false,
|
1178
|
+
args: 2
|
1179
|
+
};
|
1180
|
+
var isEqualWith = {
|
1181
|
+
wrapper: false,
|
1182
|
+
shorthand: false,
|
1183
|
+
chainable: false,
|
1184
|
+
iteratee: false,
|
1185
|
+
args: 3
|
1186
|
+
};
|
1187
|
+
var isError = {
|
1188
|
+
wrapper: false,
|
1189
|
+
shorthand: false,
|
1190
|
+
chainable: false,
|
1191
|
+
iteratee: false,
|
1192
|
+
args: 1
|
1193
|
+
};
|
1194
|
+
var isFinite = {
|
1195
|
+
wrapper: false,
|
1196
|
+
shorthand: false,
|
1197
|
+
chainable: false,
|
1198
|
+
iteratee: false,
|
1199
|
+
args: 1
|
1200
|
+
};
|
1201
|
+
var isFunction = {
|
1202
|
+
wrapper: false,
|
1203
|
+
shorthand: false,
|
1204
|
+
chainable: false,
|
1205
|
+
iteratee: false,
|
1206
|
+
args: 1
|
1207
|
+
};
|
1208
|
+
var isInteger = {
|
1209
|
+
wrapper: false,
|
1210
|
+
shorthand: false,
|
1211
|
+
chainable: false,
|
1212
|
+
iteratee: false,
|
1213
|
+
args: 1
|
1214
|
+
};
|
1215
|
+
var isLength = {
|
1216
|
+
wrapper: false,
|
1217
|
+
shorthand: false,
|
1218
|
+
chainable: false,
|
1219
|
+
iteratee: false,
|
1220
|
+
args: 1
|
1221
|
+
};
|
1222
|
+
var isMap = {
|
1223
|
+
wrapper: false,
|
1224
|
+
shorthand: false,
|
1225
|
+
chainable: false,
|
1226
|
+
iteratee: false,
|
1227
|
+
args: 1
|
1228
|
+
};
|
1229
|
+
var isMatch = {
|
1230
|
+
wrapper: false,
|
1231
|
+
shorthand: false,
|
1232
|
+
chainable: false,
|
1233
|
+
iteratee: false,
|
1234
|
+
args: 2
|
1235
|
+
};
|
1236
|
+
var isMatchWith = {
|
1237
|
+
wrapper: false,
|
1238
|
+
shorthand: false,
|
1239
|
+
chainable: false,
|
1240
|
+
iteratee: false,
|
1241
|
+
args: 3
|
1242
|
+
};
|
1243
|
+
var isNaN = {
|
1244
|
+
wrapper: false,
|
1245
|
+
shorthand: false,
|
1246
|
+
chainable: false,
|
1247
|
+
iteratee: false,
|
1248
|
+
args: 1
|
1249
|
+
};
|
1250
|
+
var isNative = {
|
1251
|
+
wrapper: false,
|
1252
|
+
shorthand: false,
|
1253
|
+
chainable: false,
|
1254
|
+
iteratee: false,
|
1255
|
+
args: 1
|
1256
|
+
};
|
1257
|
+
var isNil = {
|
1258
|
+
wrapper: false,
|
1259
|
+
shorthand: false,
|
1260
|
+
chainable: false,
|
1261
|
+
iteratee: false,
|
1262
|
+
args: 1
|
1263
|
+
};
|
1264
|
+
var isNull = {
|
1265
|
+
wrapper: false,
|
1266
|
+
shorthand: false,
|
1267
|
+
chainable: false,
|
1268
|
+
iteratee: false,
|
1269
|
+
args: 1
|
1270
|
+
};
|
1271
|
+
var isNumber = {
|
1272
|
+
wrapper: false,
|
1273
|
+
shorthand: false,
|
1274
|
+
chainable: false,
|
1275
|
+
iteratee: false,
|
1276
|
+
args: 1
|
1277
|
+
};
|
1278
|
+
var isObject = {
|
1279
|
+
wrapper: false,
|
1280
|
+
shorthand: false,
|
1281
|
+
chainable: false,
|
1282
|
+
iteratee: false,
|
1283
|
+
args: 1
|
1284
|
+
};
|
1285
|
+
var isObjectLike = {
|
1286
|
+
wrapper: false,
|
1287
|
+
shorthand: false,
|
1288
|
+
chainable: false,
|
1289
|
+
iteratee: false,
|
1290
|
+
args: 1
|
1291
|
+
};
|
1292
|
+
var isPlainObject = {
|
1293
|
+
wrapper: false,
|
1294
|
+
shorthand: false,
|
1295
|
+
chainable: false,
|
1296
|
+
iteratee: false,
|
1297
|
+
args: 1
|
1298
|
+
};
|
1299
|
+
var isRegExp = {
|
1300
|
+
wrapper: false,
|
1301
|
+
shorthand: false,
|
1302
|
+
chainable: false,
|
1303
|
+
iteratee: false,
|
1304
|
+
args: 1
|
1305
|
+
};
|
1306
|
+
var isSafeInteger = {
|
1307
|
+
wrapper: false,
|
1308
|
+
shorthand: false,
|
1309
|
+
chainable: false,
|
1310
|
+
iteratee: false,
|
1311
|
+
args: 1
|
1312
|
+
};
|
1313
|
+
var isSet = {
|
1314
|
+
wrapper: false,
|
1315
|
+
shorthand: false,
|
1316
|
+
chainable: false,
|
1317
|
+
iteratee: false,
|
1318
|
+
args: 1
|
1319
|
+
};
|
1320
|
+
var isString = {
|
1321
|
+
wrapper: false,
|
1322
|
+
shorthand: false,
|
1323
|
+
chainable: false,
|
1324
|
+
iteratee: false,
|
1325
|
+
args: 1
|
1326
|
+
};
|
1327
|
+
var isSymbol = {
|
1328
|
+
wrapper: false,
|
1329
|
+
shorthand: false,
|
1330
|
+
chainable: false,
|
1331
|
+
iteratee: false,
|
1332
|
+
args: 1
|
1333
|
+
};
|
1334
|
+
var isTypedArray = {
|
1335
|
+
wrapper: false,
|
1336
|
+
shorthand: false,
|
1337
|
+
chainable: false,
|
1338
|
+
iteratee: false,
|
1339
|
+
args: 1
|
1340
|
+
};
|
1341
|
+
var isUndefined = {
|
1342
|
+
wrapper: false,
|
1343
|
+
shorthand: false,
|
1344
|
+
chainable: false,
|
1345
|
+
iteratee: false,
|
1346
|
+
args: 1
|
1347
|
+
};
|
1348
|
+
var isWeakMap = {
|
1349
|
+
wrapper: false,
|
1350
|
+
shorthand: false,
|
1351
|
+
chainable: false,
|
1352
|
+
iteratee: false,
|
1353
|
+
args: 1
|
1354
|
+
};
|
1355
|
+
var isWeakSet = {
|
1356
|
+
wrapper: false,
|
1357
|
+
shorthand: false,
|
1358
|
+
chainable: false,
|
1359
|
+
iteratee: false,
|
1360
|
+
args: 1
|
1361
|
+
};
|
1362
|
+
var iteratee = {
|
1363
|
+
wrapper: false,
|
1364
|
+
shorthand: false,
|
1365
|
+
chainable: true,
|
1366
|
+
iteratee: false
|
1367
|
+
};
|
1368
|
+
var join = {
|
1369
|
+
wrapper: true,
|
1370
|
+
shorthand: false,
|
1371
|
+
chainable: false,
|
1372
|
+
iteratee: false,
|
1373
|
+
args: 2
|
1374
|
+
};
|
1375
|
+
var kebabCase = {
|
1376
|
+
wrapper: false,
|
1377
|
+
shorthand: false,
|
1378
|
+
chainable: false,
|
1379
|
+
iteratee: false,
|
1380
|
+
args: 1
|
1381
|
+
};
|
1382
|
+
var keyBy = {
|
1383
|
+
wrapper: false,
|
1384
|
+
shorthand: false,
|
1385
|
+
chainable: true,
|
1386
|
+
iteratee: true,
|
1387
|
+
args: 2
|
1388
|
+
};
|
1389
|
+
var keys = {
|
1390
|
+
wrapper: false,
|
1391
|
+
shorthand: false,
|
1392
|
+
chainable: true,
|
1393
|
+
iteratee: false,
|
1394
|
+
args: 1
|
1395
|
+
};
|
1396
|
+
var keysIn = {
|
1397
|
+
wrapper: false,
|
1398
|
+
shorthand: false,
|
1399
|
+
chainable: true,
|
1400
|
+
iteratee: false,
|
1401
|
+
args: 1
|
1402
|
+
};
|
1403
|
+
var last = {
|
1404
|
+
wrapper: false,
|
1405
|
+
shorthand: false,
|
1406
|
+
chainable: false,
|
1407
|
+
iteratee: false,
|
1408
|
+
args: 1
|
1409
|
+
};
|
1410
|
+
var lastIndexOf = {
|
1411
|
+
wrapper: false,
|
1412
|
+
shorthand: false,
|
1413
|
+
chainable: false,
|
1414
|
+
iteratee: false,
|
1415
|
+
args: 3
|
1416
|
+
};
|
1417
|
+
var lowerCase = {
|
1418
|
+
wrapper: false,
|
1419
|
+
shorthand: false,
|
1420
|
+
chainable: false,
|
1421
|
+
iteratee: false,
|
1422
|
+
args: 1
|
1423
|
+
};
|
1424
|
+
var lowerFirst = {
|
1425
|
+
wrapper: false,
|
1426
|
+
shorthand: false,
|
1427
|
+
chainable: false,
|
1428
|
+
iteratee: false,
|
1429
|
+
args: 1
|
1430
|
+
};
|
1431
|
+
var lt = {
|
1432
|
+
wrapper: false,
|
1433
|
+
shorthand: false,
|
1434
|
+
chainable: false,
|
1435
|
+
iteratee: false,
|
1436
|
+
args: 2
|
1437
|
+
};
|
1438
|
+
var lte = {
|
1439
|
+
wrapper: false,
|
1440
|
+
shorthand: false,
|
1441
|
+
chainable: false,
|
1442
|
+
iteratee: false,
|
1443
|
+
args: 2
|
1444
|
+
};
|
1445
|
+
var map = {
|
1446
|
+
wrapper: false,
|
1447
|
+
shorthand: true,
|
1448
|
+
chainable: true,
|
1449
|
+
iteratee: true,
|
1450
|
+
args: 2
|
1451
|
+
};
|
1452
|
+
var mapKeys = {
|
1453
|
+
wrapper: false,
|
1454
|
+
shorthand: false,
|
1455
|
+
chainable: true,
|
1456
|
+
iteratee: true,
|
1457
|
+
args: 2
|
1458
|
+
};
|
1459
|
+
var mapValues = {
|
1460
|
+
wrapper: false,
|
1461
|
+
shorthand: true,
|
1462
|
+
chainable: true,
|
1463
|
+
iteratee: true,
|
1464
|
+
args: 2
|
1465
|
+
};
|
1466
|
+
var matches = {
|
1467
|
+
wrapper: false,
|
1468
|
+
shorthand: false,
|
1469
|
+
chainable: true,
|
1470
|
+
iteratee: false,
|
1471
|
+
args: 1
|
1472
|
+
};
|
1473
|
+
var matchesProperty = {
|
1474
|
+
wrapper: false,
|
1475
|
+
shorthand: false,
|
1476
|
+
chainable: true,
|
1477
|
+
iteratee: false,
|
1478
|
+
args: 2
|
1479
|
+
};
|
1480
|
+
var max = {
|
1481
|
+
wrapper: false,
|
1482
|
+
shorthand: false,
|
1483
|
+
chainable: false,
|
1484
|
+
iteratee: false,
|
1485
|
+
args: 1
|
1486
|
+
};
|
1487
|
+
var maxBy = {
|
1488
|
+
wrapper: false,
|
1489
|
+
shorthand: true,
|
1490
|
+
chainable: false,
|
1491
|
+
iteratee: true,
|
1492
|
+
args: 2
|
1493
|
+
};
|
1494
|
+
var mean = {
|
1495
|
+
wrapper: false,
|
1496
|
+
shorthand: false,
|
1497
|
+
chainable: false,
|
1498
|
+
iteratee: false,
|
1499
|
+
args: 1
|
1500
|
+
};
|
1501
|
+
var meanBy = {
|
1502
|
+
wrapper: false,
|
1503
|
+
shorthand: false,
|
1504
|
+
chainable: false,
|
1505
|
+
iteratee: true,
|
1506
|
+
args: 2
|
1507
|
+
};
|
1508
|
+
var memoize = {
|
1509
|
+
wrapper: false,
|
1510
|
+
shorthand: false,
|
1511
|
+
chainable: true,
|
1512
|
+
iteratee: false,
|
1513
|
+
args: 2
|
1514
|
+
};
|
1515
|
+
var merge = {
|
1516
|
+
wrapper: false,
|
1517
|
+
shorthand: false,
|
1518
|
+
chainable: true,
|
1519
|
+
iteratee: false
|
1520
|
+
};
|
1521
|
+
var mergeWith = {
|
1522
|
+
wrapper: false,
|
1523
|
+
shorthand: false,
|
1524
|
+
chainable: true,
|
1525
|
+
iteratee: false
|
1526
|
+
};
|
1527
|
+
var method = {
|
1528
|
+
wrapper: false,
|
1529
|
+
shorthand: false,
|
1530
|
+
chainable: true,
|
1531
|
+
iteratee: false
|
1532
|
+
};
|
1533
|
+
var methodOf = {
|
1534
|
+
wrapper: false,
|
1535
|
+
shorthand: false,
|
1536
|
+
chainable: true,
|
1537
|
+
iteratee: false
|
1538
|
+
};
|
1539
|
+
var min = {
|
1540
|
+
wrapper: false,
|
1541
|
+
shorthand: false,
|
1542
|
+
chainable: false,
|
1543
|
+
iteratee: false,
|
1544
|
+
args: 1
|
1545
|
+
};
|
1546
|
+
var minBy = {
|
1547
|
+
wrapper: false,
|
1548
|
+
shorthand: true,
|
1549
|
+
chainable: false,
|
1550
|
+
iteratee: true,
|
1551
|
+
args: 2
|
1552
|
+
};
|
1553
|
+
var mixin = {
|
1554
|
+
wrapper: false,
|
1555
|
+
shorthand: false,
|
1556
|
+
chainable: true,
|
1557
|
+
iteratee: false,
|
1558
|
+
args: 3
|
1559
|
+
};
|
1560
|
+
var multiply = {
|
1561
|
+
wrapper: false,
|
1562
|
+
shorthand: false,
|
1563
|
+
chainable: false,
|
1564
|
+
iteratee: false,
|
1565
|
+
args: 2
|
1566
|
+
};
|
1567
|
+
var negate = {
|
1568
|
+
wrapper: false,
|
1569
|
+
shorthand: false,
|
1570
|
+
chainable: true,
|
1571
|
+
iteratee: false,
|
1572
|
+
args: 1
|
1573
|
+
};
|
1574
|
+
var next = {
|
1575
|
+
wrapper: true,
|
1576
|
+
shorthand: false,
|
1577
|
+
chainable: true,
|
1578
|
+
iteratee: false,
|
1579
|
+
args: 0
|
1580
|
+
};
|
1581
|
+
var noConflict = {
|
1582
|
+
wrapper: false,
|
1583
|
+
shorthand: false,
|
1584
|
+
chainable: false,
|
1585
|
+
iteratee: false,
|
1586
|
+
args: 0
|
1587
|
+
};
|
1588
|
+
var noop = {
|
1589
|
+
wrapper: false,
|
1590
|
+
shorthand: false,
|
1591
|
+
chainable: false,
|
1592
|
+
iteratee: false,
|
1593
|
+
args: 0
|
1594
|
+
};
|
1595
|
+
var now = {
|
1596
|
+
wrapper: false,
|
1597
|
+
shorthand: false,
|
1598
|
+
chainable: false,
|
1599
|
+
iteratee: false,
|
1600
|
+
args: 0
|
1601
|
+
};
|
1602
|
+
var nth = {
|
1603
|
+
wrapper: false,
|
1604
|
+
shorthand: false,
|
1605
|
+
chainable: false,
|
1606
|
+
iteratee: false,
|
1607
|
+
args: 2
|
1608
|
+
};
|
1609
|
+
var nthArg = {
|
1610
|
+
wrapper: false,
|
1611
|
+
shorthand: false,
|
1612
|
+
chainable: true,
|
1613
|
+
iteratee: false,
|
1614
|
+
args: 1
|
1615
|
+
};
|
1616
|
+
var omit = {
|
1617
|
+
wrapper: false,
|
1618
|
+
shorthand: false,
|
1619
|
+
chainable: true,
|
1620
|
+
iteratee: false
|
1621
|
+
};
|
1622
|
+
var omitBy = {
|
1623
|
+
wrapper: false,
|
1624
|
+
shorthand: true,
|
1625
|
+
chainable: true,
|
1626
|
+
iteratee: true
|
1627
|
+
};
|
1628
|
+
var once = {
|
1629
|
+
wrapper: false,
|
1630
|
+
shorthand: false,
|
1631
|
+
chainable: true,
|
1632
|
+
iteratee: false,
|
1633
|
+
args: 1
|
1634
|
+
};
|
1635
|
+
var orderBy = {
|
1636
|
+
wrapper: false,
|
1637
|
+
shorthand: false,
|
1638
|
+
chainable: true,
|
1639
|
+
iteratee: false,
|
1640
|
+
args: 3
|
1641
|
+
};
|
1642
|
+
var over = {
|
1643
|
+
wrapper: false,
|
1644
|
+
shorthand: false,
|
1645
|
+
chainable: true,
|
1646
|
+
iteratee: false
|
1647
|
+
};
|
1648
|
+
var overArgs = {
|
1649
|
+
wrapper: false,
|
1650
|
+
shorthand: false,
|
1651
|
+
chainable: true,
|
1652
|
+
iteratee: false
|
1653
|
+
};
|
1654
|
+
var overEvery = {
|
1655
|
+
wrapper: false,
|
1656
|
+
shorthand: true,
|
1657
|
+
chainable: true,
|
1658
|
+
iteratee: true
|
1659
|
+
};
|
1660
|
+
var overSome = {
|
1661
|
+
wrapper: false,
|
1662
|
+
shorthand: true,
|
1663
|
+
chainable: true,
|
1664
|
+
iteratee: true
|
1665
|
+
};
|
1666
|
+
var pad = {
|
1667
|
+
wrapper: false,
|
1668
|
+
shorthand: false,
|
1669
|
+
chainable: false,
|
1670
|
+
iteratee: false,
|
1671
|
+
args: 3
|
1672
|
+
};
|
1673
|
+
var padEnd = {
|
1674
|
+
wrapper: false,
|
1675
|
+
shorthand: false,
|
1676
|
+
chainable: false,
|
1677
|
+
iteratee: false,
|
1678
|
+
args: 3
|
1679
|
+
};
|
1680
|
+
var padStart = {
|
1681
|
+
wrapper: false,
|
1682
|
+
shorthand: false,
|
1683
|
+
chainable: false,
|
1684
|
+
iteratee: false,
|
1685
|
+
args: 3
|
1686
|
+
};
|
1687
|
+
var parseInt2 = {
|
1688
|
+
wrapper: false,
|
1689
|
+
shorthand: false,
|
1690
|
+
chainable: false,
|
1691
|
+
iteratee: false,
|
1692
|
+
args: 2
|
1693
|
+
};
|
1694
|
+
var partial = {
|
1695
|
+
wrapper: false,
|
1696
|
+
shorthand: false,
|
1697
|
+
chainable: true,
|
1698
|
+
iteratee: false
|
1699
|
+
};
|
1700
|
+
var partialRight = {
|
1701
|
+
wrapper: false,
|
1702
|
+
shorthand: false,
|
1703
|
+
chainable: true,
|
1704
|
+
iteratee: false
|
1705
|
+
};
|
1706
|
+
var partition = {
|
1707
|
+
wrapper: false,
|
1708
|
+
shorthand: true,
|
1709
|
+
chainable: true,
|
1710
|
+
iteratee: true,
|
1711
|
+
args: 2
|
1712
|
+
};
|
1713
|
+
var pick = {
|
1714
|
+
wrapper: false,
|
1715
|
+
shorthand: false,
|
1716
|
+
chainable: true,
|
1717
|
+
iteratee: false
|
1718
|
+
};
|
1719
|
+
var pickBy = {
|
1720
|
+
wrapper: false,
|
1721
|
+
shorthand: true,
|
1722
|
+
chainable: true,
|
1723
|
+
iteratee: true
|
1724
|
+
};
|
1725
|
+
var plant = {
|
1726
|
+
wrapper: false,
|
1727
|
+
shorthand: false,
|
1728
|
+
chainable: true,
|
1729
|
+
iteratee: false
|
1730
|
+
};
|
1731
|
+
var pop = {
|
1732
|
+
wrapper: true,
|
1733
|
+
shorthand: false,
|
1734
|
+
chainable: false,
|
1735
|
+
iteratee: false
|
1736
|
+
};
|
1737
|
+
var property = {
|
1738
|
+
wrapper: false,
|
1739
|
+
shorthand: false,
|
1740
|
+
chainable: true,
|
1741
|
+
iteratee: false,
|
1742
|
+
args: 1
|
1743
|
+
};
|
1744
|
+
var propertyOf = {
|
1745
|
+
wrapper: false,
|
1746
|
+
shorthand: false,
|
1747
|
+
chainable: true,
|
1748
|
+
iteratee: false,
|
1749
|
+
args: 1
|
1750
|
+
};
|
1751
|
+
var pull = {
|
1752
|
+
wrapper: false,
|
1753
|
+
shorthand: false,
|
1754
|
+
chainable: true,
|
1755
|
+
iteratee: false
|
1756
|
+
};
|
1757
|
+
var pullAll = {
|
1758
|
+
wrapper: false,
|
1759
|
+
shorthand: false,
|
1760
|
+
chainable: true,
|
1761
|
+
iteratee: false,
|
1762
|
+
args: 2
|
1763
|
+
};
|
1764
|
+
var pullAllBy = {
|
1765
|
+
wrapper: false,
|
1766
|
+
shorthand: true,
|
1767
|
+
chainable: true,
|
1768
|
+
iteratee: false,
|
1769
|
+
iterateeIndex: 2,
|
1770
|
+
args: 3
|
1771
|
+
};
|
1772
|
+
var pullAllWith = {
|
1773
|
+
wrapper: false,
|
1774
|
+
shorthand: false,
|
1775
|
+
chainable: true,
|
1776
|
+
iteratee: false,
|
1777
|
+
args: 3
|
1778
|
+
};
|
1779
|
+
var pullAt = {
|
1780
|
+
wrapper: false,
|
1781
|
+
shorthand: false,
|
1782
|
+
chainable: true,
|
1783
|
+
iteratee: false
|
1784
|
+
};
|
1785
|
+
var push = {
|
1786
|
+
wrapper: true,
|
1787
|
+
shorthand: false,
|
1788
|
+
chainable: true,
|
1789
|
+
iteratee: false
|
1790
|
+
};
|
1791
|
+
var random = {
|
1792
|
+
wrapper: false,
|
1793
|
+
shorthand: false,
|
1794
|
+
chainable: false,
|
1795
|
+
iteratee: false,
|
1796
|
+
args: 3
|
1797
|
+
};
|
1798
|
+
var range = {
|
1799
|
+
wrapper: false,
|
1800
|
+
shorthand: false,
|
1801
|
+
chainable: true,
|
1802
|
+
iteratee: false,
|
1803
|
+
args: 3
|
1804
|
+
};
|
1805
|
+
var rangeRight = {
|
1806
|
+
wrapper: false,
|
1807
|
+
shorthand: false,
|
1808
|
+
chainable: true,
|
1809
|
+
iteratee: false,
|
1810
|
+
args: 3
|
1811
|
+
};
|
1812
|
+
var rearg = {
|
1813
|
+
wrapper: false,
|
1814
|
+
shorthand: false,
|
1815
|
+
chainable: true,
|
1816
|
+
iteratee: false
|
1817
|
+
};
|
1818
|
+
var reduce = {
|
1819
|
+
wrapper: false,
|
1820
|
+
shorthand: false,
|
1821
|
+
chainable: false,
|
1822
|
+
iteratee: true,
|
1823
|
+
args: 3
|
1824
|
+
};
|
1825
|
+
var reduceRight = {
|
1826
|
+
wrapper: false,
|
1827
|
+
shorthand: false,
|
1828
|
+
chainable: false,
|
1829
|
+
iteratee: true,
|
1830
|
+
args: 3
|
1831
|
+
};
|
1832
|
+
var reject = {
|
1833
|
+
wrapper: false,
|
1834
|
+
shorthand: true,
|
1835
|
+
chainable: true,
|
1836
|
+
iteratee: true,
|
1837
|
+
args: 2
|
1838
|
+
};
|
1839
|
+
var remove = {
|
1840
|
+
wrapper: false,
|
1841
|
+
shorthand: true,
|
1842
|
+
chainable: true,
|
1843
|
+
iteratee: true,
|
1844
|
+
args: 2
|
1845
|
+
};
|
1846
|
+
var repeat = {
|
1847
|
+
wrapper: false,
|
1848
|
+
shorthand: false,
|
1849
|
+
chainable: false,
|
1850
|
+
iteratee: false,
|
1851
|
+
args: 2
|
1852
|
+
};
|
1853
|
+
var replace = {
|
1854
|
+
wrapper: true,
|
1855
|
+
shorthand: false,
|
1856
|
+
chainable: false,
|
1857
|
+
iteratee: false
|
1858
|
+
};
|
1859
|
+
var rest = {
|
1860
|
+
wrapper: false,
|
1861
|
+
shorthand: false,
|
1862
|
+
chainable: true,
|
1863
|
+
iteratee: false,
|
1864
|
+
args: 2
|
1865
|
+
};
|
1866
|
+
var result = {
|
1867
|
+
wrapper: false,
|
1868
|
+
shorthand: false,
|
1869
|
+
chainable: false,
|
1870
|
+
iteratee: false,
|
1871
|
+
args: 3
|
1872
|
+
};
|
1873
|
+
var reverse = {
|
1874
|
+
wrapper: false,
|
1875
|
+
shorthand: false,
|
1876
|
+
chainable: true,
|
1877
|
+
iteratee: false,
|
1878
|
+
args: 1
|
1879
|
+
};
|
1880
|
+
var round = {
|
1881
|
+
wrapper: false,
|
1882
|
+
shorthand: false,
|
1883
|
+
chainable: false,
|
1884
|
+
iteratee: false,
|
1885
|
+
args: 2
|
1886
|
+
};
|
1887
|
+
var runInContext = {
|
1888
|
+
wrapper: false,
|
1889
|
+
shorthand: false,
|
1890
|
+
chainable: false,
|
1891
|
+
iteratee: false,
|
1892
|
+
args: 1
|
1893
|
+
};
|
1894
|
+
var sample = {
|
1895
|
+
wrapper: false,
|
1896
|
+
shorthand: false,
|
1897
|
+
chainable: false,
|
1898
|
+
iteratee: false,
|
1899
|
+
args: 1
|
1900
|
+
};
|
1901
|
+
var sampleSize = {
|
1902
|
+
wrapper: false,
|
1903
|
+
shorthand: false,
|
1904
|
+
chainable: true,
|
1905
|
+
iteratee: false,
|
1906
|
+
args: 2
|
1907
|
+
};
|
1908
|
+
var set = {
|
1909
|
+
wrapper: false,
|
1910
|
+
shorthand: false,
|
1911
|
+
chainable: true,
|
1912
|
+
iteratee: false,
|
1913
|
+
args: 3
|
1914
|
+
};
|
1915
|
+
var setWith = {
|
1916
|
+
wrapper: false,
|
1917
|
+
shorthand: false,
|
1918
|
+
chainable: true,
|
1919
|
+
iteratee: false,
|
1920
|
+
args: 4
|
1921
|
+
};
|
1922
|
+
var shift = {
|
1923
|
+
wrapper: true,
|
1924
|
+
shorthand: false,
|
1925
|
+
chainable: false,
|
1926
|
+
iteratee: false
|
1927
|
+
};
|
1928
|
+
var shuffle = {
|
1929
|
+
wrapper: false,
|
1930
|
+
shorthand: false,
|
1931
|
+
chainable: true,
|
1932
|
+
iteratee: false,
|
1933
|
+
args: 1
|
1934
|
+
};
|
1935
|
+
var size = {
|
1936
|
+
wrapper: false,
|
1937
|
+
shorthand: false,
|
1938
|
+
chainable: false,
|
1939
|
+
iteratee: false,
|
1940
|
+
args: 1
|
1941
|
+
};
|
1942
|
+
var slice = {
|
1943
|
+
wrapper: false,
|
1944
|
+
shorthand: false,
|
1945
|
+
chainable: true,
|
1946
|
+
iteratee: false,
|
1947
|
+
args: 3
|
1948
|
+
};
|
1949
|
+
var snakeCase = {
|
1950
|
+
wrapper: false,
|
1951
|
+
shorthand: false,
|
1952
|
+
chainable: false,
|
1953
|
+
iteratee: false,
|
1954
|
+
args: 1
|
1955
|
+
};
|
1956
|
+
var some = {
|
1957
|
+
wrapper: false,
|
1958
|
+
shorthand: true,
|
1959
|
+
chainable: false,
|
1960
|
+
iteratee: true,
|
1961
|
+
args: 2
|
1962
|
+
};
|
1963
|
+
var sort = {
|
1964
|
+
wrapper: true,
|
1965
|
+
shorthand: false,
|
1966
|
+
chainable: true,
|
1967
|
+
iteratee: false
|
1968
|
+
};
|
1969
|
+
var sortBy = {
|
1970
|
+
wrapper: false,
|
1971
|
+
shorthand: {
|
1972
|
+
prop: true
|
1973
|
+
},
|
1974
|
+
chainable: true,
|
1975
|
+
iteratee: true
|
1976
|
+
};
|
1977
|
+
var sortedIndex = {
|
1978
|
+
wrapper: false,
|
1979
|
+
shorthand: false,
|
1980
|
+
chainable: false,
|
1981
|
+
iteratee: false,
|
1982
|
+
args: 2
|
1983
|
+
};
|
1984
|
+
var sortedIndexBy = {
|
1985
|
+
wrapper: false,
|
1986
|
+
shorthand: true,
|
1987
|
+
chainable: false,
|
1988
|
+
iteratee: false,
|
1989
|
+
iterateeIndex: 2,
|
1990
|
+
args: 3
|
1991
|
+
};
|
1992
|
+
var sortedIndexOf = {
|
1993
|
+
wrapper: false,
|
1994
|
+
shorthand: false,
|
1995
|
+
chainable: false,
|
1996
|
+
iteratee: false,
|
1997
|
+
args: 2
|
1998
|
+
};
|
1999
|
+
var sortedLastIndex = {
|
2000
|
+
wrapper: false,
|
2001
|
+
shorthand: false,
|
2002
|
+
chainable: false,
|
2003
|
+
iteratee: false,
|
2004
|
+
args: 2
|
2005
|
+
};
|
2006
|
+
var sortedLastIndexBy = {
|
2007
|
+
wrapper: false,
|
2008
|
+
shorthand: true,
|
2009
|
+
chainable: false,
|
2010
|
+
iteratee: false,
|
2011
|
+
iterateeIndex: 2,
|
2012
|
+
args: 3
|
2013
|
+
};
|
2014
|
+
var sortedLastIndexOf = {
|
2015
|
+
wrapper: false,
|
2016
|
+
shorthand: false,
|
2017
|
+
chainable: false,
|
2018
|
+
iteratee: false,
|
2019
|
+
args: 2
|
2020
|
+
};
|
2021
|
+
var sortedUniq = {
|
2022
|
+
wrapper: false,
|
2023
|
+
shorthand: false,
|
2024
|
+
chainable: true,
|
2025
|
+
iteratee: false,
|
2026
|
+
args: 1
|
2027
|
+
};
|
2028
|
+
var sortedUniqBy = {
|
2029
|
+
wrapper: false,
|
2030
|
+
shorthand: true,
|
2031
|
+
chainable: true,
|
2032
|
+
iteratee: true,
|
2033
|
+
args: 2
|
2034
|
+
};
|
2035
|
+
var splice = {
|
2036
|
+
wrapper: true,
|
2037
|
+
shorthand: false,
|
2038
|
+
chainable: true,
|
2039
|
+
iteratee: false
|
2040
|
+
};
|
2041
|
+
var split = {
|
2042
|
+
wrapper: true,
|
2043
|
+
shorthand: false,
|
2044
|
+
chainable: false,
|
2045
|
+
iteratee: false,
|
2046
|
+
args: 3
|
2047
|
+
};
|
2048
|
+
var spread = {
|
2049
|
+
wrapper: false,
|
2050
|
+
shorthand: false,
|
2051
|
+
chainable: true,
|
2052
|
+
iteratee: false,
|
2053
|
+
args: 2
|
2054
|
+
};
|
2055
|
+
var startCase = {
|
2056
|
+
wrapper: false,
|
2057
|
+
shorthand: false,
|
2058
|
+
chainable: false,
|
2059
|
+
iteratee: false,
|
2060
|
+
args: 1
|
2061
|
+
};
|
2062
|
+
var startsWith = {
|
2063
|
+
wrapper: false,
|
2064
|
+
shorthand: false,
|
2065
|
+
chainable: false,
|
2066
|
+
iteratee: false,
|
2067
|
+
args: 3
|
2068
|
+
};
|
2069
|
+
var stubArray = {
|
2070
|
+
wrapper: false,
|
2071
|
+
shorthand: false,
|
2072
|
+
chainable: false,
|
2073
|
+
iteratee: false,
|
2074
|
+
args: 0
|
2075
|
+
};
|
2076
|
+
var stubFalse = {
|
2077
|
+
wrapper: false,
|
2078
|
+
shorthand: false,
|
2079
|
+
chainable: false,
|
2080
|
+
iteratee: false,
|
2081
|
+
args: 0
|
2082
|
+
};
|
2083
|
+
var stubObject = {
|
2084
|
+
wrapper: false,
|
2085
|
+
shorthand: false,
|
2086
|
+
chainable: false,
|
2087
|
+
iteratee: false,
|
2088
|
+
args: 0
|
2089
|
+
};
|
2090
|
+
var stubString = {
|
2091
|
+
wrapper: false,
|
2092
|
+
shorthand: false,
|
2093
|
+
chainable: false,
|
2094
|
+
iteratee: false,
|
2095
|
+
args: 0
|
2096
|
+
};
|
2097
|
+
var stubTrue = {
|
2098
|
+
wrapper: false,
|
2099
|
+
shorthand: false,
|
2100
|
+
chainable: false,
|
2101
|
+
iteratee: false,
|
2102
|
+
args: 0
|
2103
|
+
};
|
2104
|
+
var subtract = {
|
2105
|
+
wrapper: false,
|
2106
|
+
shorthand: false,
|
2107
|
+
chainable: false,
|
2108
|
+
iteratee: false,
|
2109
|
+
args: 2
|
2110
|
+
};
|
2111
|
+
var sum = {
|
2112
|
+
wrapper: false,
|
2113
|
+
shorthand: false,
|
2114
|
+
chainable: false,
|
2115
|
+
iteratee: false,
|
2116
|
+
args: 1
|
2117
|
+
};
|
2118
|
+
var sumBy = {
|
2119
|
+
wrapper: false,
|
2120
|
+
shorthand: true,
|
2121
|
+
chainable: false,
|
2122
|
+
iteratee: true,
|
2123
|
+
args: 2
|
2124
|
+
};
|
2125
|
+
var tail = {
|
2126
|
+
wrapper: false,
|
2127
|
+
shorthand: false,
|
2128
|
+
chainable: true,
|
2129
|
+
iteratee: false,
|
2130
|
+
args: 1
|
2131
|
+
};
|
2132
|
+
var take = {
|
2133
|
+
wrapper: false,
|
2134
|
+
shorthand: false,
|
2135
|
+
chainable: true,
|
2136
|
+
iteratee: false,
|
2137
|
+
args: 2
|
2138
|
+
};
|
2139
|
+
var takeRight = {
|
2140
|
+
wrapper: false,
|
2141
|
+
shorthand: false,
|
2142
|
+
chainable: true,
|
2143
|
+
iteratee: false,
|
2144
|
+
args: 2
|
2145
|
+
};
|
2146
|
+
var takeRightWhile = {
|
2147
|
+
wrapper: false,
|
2148
|
+
shorthand: true,
|
2149
|
+
chainable: true,
|
2150
|
+
iteratee: true,
|
2151
|
+
args: 2
|
2152
|
+
};
|
2153
|
+
var takeWhile = {
|
2154
|
+
wrapper: false,
|
2155
|
+
shorthand: true,
|
2156
|
+
chainable: true,
|
2157
|
+
iteratee: true,
|
2158
|
+
args: 2
|
2159
|
+
};
|
2160
|
+
var tap = {
|
2161
|
+
wrapper: false,
|
2162
|
+
shorthand: false,
|
2163
|
+
chainable: true,
|
2164
|
+
iteratee: true,
|
2165
|
+
args: 2
|
2166
|
+
};
|
2167
|
+
var template = {
|
2168
|
+
wrapper: false,
|
2169
|
+
shorthand: false,
|
2170
|
+
chainable: false,
|
2171
|
+
iteratee: false,
|
2172
|
+
args: 2
|
2173
|
+
};
|
2174
|
+
var throttle = {
|
2175
|
+
wrapper: false,
|
2176
|
+
shorthand: false,
|
2177
|
+
chainable: true,
|
2178
|
+
iteratee: false,
|
2179
|
+
args: 3
|
2180
|
+
};
|
2181
|
+
var thru = {
|
2182
|
+
wrapper: false,
|
2183
|
+
shorthand: false,
|
2184
|
+
chainable: true,
|
2185
|
+
iteratee: true,
|
2186
|
+
args: 2
|
2187
|
+
};
|
2188
|
+
var times = {
|
2189
|
+
wrapper: false,
|
2190
|
+
shorthand: false,
|
2191
|
+
chainable: false,
|
2192
|
+
iteratee: true,
|
2193
|
+
args: 2
|
2194
|
+
};
|
2195
|
+
var toArray = {
|
2196
|
+
wrapper: false,
|
2197
|
+
shorthand: false,
|
2198
|
+
chainable: true,
|
2199
|
+
iteratee: false,
|
2200
|
+
args: 1
|
2201
|
+
};
|
2202
|
+
var toFinite = {
|
2203
|
+
wrapper: false,
|
2204
|
+
shorthand: false,
|
2205
|
+
chainable: false,
|
2206
|
+
iteratee: false,
|
2207
|
+
args: 1
|
2208
|
+
};
|
2209
|
+
var toInteger = {
|
2210
|
+
wrapper: false,
|
2211
|
+
shorthand: false,
|
2212
|
+
chainable: false,
|
2213
|
+
iteratee: false,
|
2214
|
+
args: 1
|
2215
|
+
};
|
2216
|
+
var toLength = {
|
2217
|
+
wrapper: false,
|
2218
|
+
shorthand: false,
|
2219
|
+
chainable: false,
|
2220
|
+
iteratee: false,
|
2221
|
+
args: 1
|
2222
|
+
};
|
2223
|
+
var toLower = {
|
2224
|
+
wrapper: false,
|
2225
|
+
shorthand: false,
|
2226
|
+
chainable: false,
|
2227
|
+
iteratee: false,
|
2228
|
+
args: 1
|
2229
|
+
};
|
2230
|
+
var toNumber = {
|
2231
|
+
wrapper: false,
|
2232
|
+
shorthand: false,
|
2233
|
+
chainable: false,
|
2234
|
+
iteratee: false,
|
2235
|
+
args: 1
|
2236
|
+
};
|
2237
|
+
var toPairs = {
|
2238
|
+
wrapper: false,
|
2239
|
+
shorthand: false,
|
2240
|
+
chainable: true,
|
2241
|
+
iteratee: false,
|
2242
|
+
args: 1
|
2243
|
+
};
|
2244
|
+
var toPairsIn = {
|
2245
|
+
wrapper: false,
|
2246
|
+
shorthand: false,
|
2247
|
+
chainable: true,
|
2248
|
+
iteratee: false,
|
2249
|
+
args: 1
|
2250
|
+
};
|
2251
|
+
var toPath = {
|
2252
|
+
wrapper: false,
|
2253
|
+
shorthand: false,
|
2254
|
+
chainable: true,
|
2255
|
+
iteratee: false,
|
2256
|
+
args: 1
|
2257
|
+
};
|
2258
|
+
var toPlainObject = {
|
2259
|
+
wrapper: false,
|
2260
|
+
shorthand: false,
|
2261
|
+
chainable: true,
|
2262
|
+
iteratee: false,
|
2263
|
+
args: 1
|
2264
|
+
};
|
2265
|
+
var toSafeInteger = {
|
2266
|
+
wrapper: false,
|
2267
|
+
shorthand: false,
|
2268
|
+
chainable: false,
|
2269
|
+
iteratee: false,
|
2270
|
+
args: 1
|
2271
|
+
};
|
2272
|
+
var toString = {
|
2273
|
+
wrapper: false,
|
2274
|
+
shorthand: false,
|
2275
|
+
chainable: false,
|
2276
|
+
iteratee: false,
|
2277
|
+
args: 1
|
2278
|
+
};
|
2279
|
+
var toUpper = {
|
2280
|
+
wrapper: false,
|
2281
|
+
shorthand: false,
|
2282
|
+
chainable: false,
|
2283
|
+
iteratee: false,
|
2284
|
+
args: 1
|
2285
|
+
};
|
2286
|
+
var transform = {
|
2287
|
+
wrapper: false,
|
2288
|
+
shorthand: false,
|
2289
|
+
chainable: true,
|
2290
|
+
iteratee: true,
|
2291
|
+
args: 3
|
2292
|
+
};
|
2293
|
+
var trim = {
|
2294
|
+
wrapper: false,
|
2295
|
+
shorthand: false,
|
2296
|
+
chainable: false,
|
2297
|
+
iteratee: false,
|
2298
|
+
args: 2
|
2299
|
+
};
|
2300
|
+
var trimEnd = {
|
2301
|
+
wrapper: false,
|
2302
|
+
shorthand: false,
|
2303
|
+
chainable: false,
|
2304
|
+
iteratee: false,
|
2305
|
+
args: 2
|
2306
|
+
};
|
2307
|
+
var trimStart = {
|
2308
|
+
wrapper: false,
|
2309
|
+
shorthand: false,
|
2310
|
+
chainable: false,
|
2311
|
+
iteratee: false,
|
2312
|
+
args: 2
|
2313
|
+
};
|
2314
|
+
var truncate = {
|
2315
|
+
wrapper: false,
|
2316
|
+
shorthand: false,
|
2317
|
+
chainable: false,
|
2318
|
+
iteratee: false,
|
2319
|
+
args: 3
|
2320
|
+
};
|
2321
|
+
var unary = {
|
2322
|
+
wrapper: false,
|
2323
|
+
shorthand: false,
|
2324
|
+
chainable: true,
|
2325
|
+
iteratee: false,
|
2326
|
+
args: 1
|
2327
|
+
};
|
2328
|
+
var unescape = {
|
2329
|
+
wrapper: false,
|
2330
|
+
shorthand: false,
|
2331
|
+
chainable: false,
|
2332
|
+
iteratee: false,
|
2333
|
+
args: 1
|
2334
|
+
};
|
2335
|
+
var union = {
|
2336
|
+
wrapper: false,
|
2337
|
+
shorthand: false,
|
2338
|
+
chainable: true,
|
2339
|
+
iteratee: false
|
2340
|
+
};
|
2341
|
+
var unionBy = {
|
2342
|
+
wrapper: false,
|
2343
|
+
shorthand: true,
|
2344
|
+
chainable: true,
|
2345
|
+
iteratee: true
|
2346
|
+
};
|
2347
|
+
var unionWith = {
|
2348
|
+
wrapper: false,
|
2349
|
+
shorthand: false,
|
2350
|
+
chainable: true,
|
2351
|
+
iteratee: false
|
2352
|
+
};
|
2353
|
+
var uniq = {
|
2354
|
+
wrapper: false,
|
2355
|
+
shorthand: false,
|
2356
|
+
chainable: true,
|
2357
|
+
iteratee: false,
|
2358
|
+
args: 1
|
2359
|
+
};
|
2360
|
+
var uniqBy = {
|
2361
|
+
wrapper: false,
|
2362
|
+
shorthand: true,
|
2363
|
+
chainable: true,
|
2364
|
+
iteratee: true,
|
2365
|
+
args: 2
|
2366
|
+
};
|
2367
|
+
var uniqWith = {
|
2368
|
+
wrapper: false,
|
2369
|
+
shorthand: false,
|
2370
|
+
chainable: true,
|
2371
|
+
iteratee: false,
|
2372
|
+
args: 2
|
2373
|
+
};
|
2374
|
+
var uniqueId = {
|
2375
|
+
wrapper: false,
|
2376
|
+
shorthand: false,
|
2377
|
+
chainable: false,
|
2378
|
+
iteratee: false,
|
2379
|
+
args: 1
|
2380
|
+
};
|
2381
|
+
var unset = {
|
2382
|
+
wrapper: false,
|
2383
|
+
shorthand: false,
|
2384
|
+
chainable: true,
|
2385
|
+
iteratee: false,
|
2386
|
+
args: 2
|
2387
|
+
};
|
2388
|
+
var unshift = {
|
2389
|
+
wrapper: true,
|
2390
|
+
shorthand: false,
|
2391
|
+
chainable: true,
|
2392
|
+
iteratee: false
|
2393
|
+
};
|
2394
|
+
var unzip = {
|
2395
|
+
wrapper: false,
|
2396
|
+
shorthand: false,
|
2397
|
+
chainable: true,
|
2398
|
+
iteratee: false,
|
2399
|
+
args: 1
|
2400
|
+
};
|
2401
|
+
var unzipWith = {
|
2402
|
+
wrapper: false,
|
2403
|
+
shorthand: false,
|
2404
|
+
chainable: true,
|
2405
|
+
iteratee: true,
|
2406
|
+
args: 2
|
2407
|
+
};
|
2408
|
+
var update = {
|
2409
|
+
wrapper: false,
|
2410
|
+
shorthand: false,
|
2411
|
+
chainable: true,
|
2412
|
+
iteratee: false,
|
2413
|
+
args: 3
|
2414
|
+
};
|
2415
|
+
var updateWith = {
|
2416
|
+
wrapper: false,
|
2417
|
+
shorthand: false,
|
2418
|
+
chainable: true,
|
2419
|
+
iteratee: false,
|
2420
|
+
args: 4
|
2421
|
+
};
|
2422
|
+
var upperCase = {
|
2423
|
+
wrapper: false,
|
2424
|
+
shorthand: false,
|
2425
|
+
chainable: false,
|
2426
|
+
iteratee: false,
|
2427
|
+
args: 1
|
2428
|
+
};
|
2429
|
+
var upperFirst = {
|
2430
|
+
wrapper: false,
|
2431
|
+
shorthand: false,
|
2432
|
+
chainable: false,
|
2433
|
+
iteratee: false,
|
2434
|
+
args: 1
|
2435
|
+
};
|
2436
|
+
var value = {
|
2437
|
+
wrapper: true,
|
2438
|
+
shorthand: false,
|
2439
|
+
chainable: false,
|
2440
|
+
iteratee: false,
|
2441
|
+
args: 0
|
2442
|
+
};
|
2443
|
+
var values = {
|
2444
|
+
wrapper: false,
|
2445
|
+
shorthand: false,
|
2446
|
+
chainable: true,
|
2447
|
+
iteratee: false,
|
2448
|
+
args: 1
|
2449
|
+
};
|
2450
|
+
var valuesIn = {
|
2451
|
+
wrapper: false,
|
2452
|
+
shorthand: false,
|
2453
|
+
chainable: true,
|
2454
|
+
iteratee: false,
|
2455
|
+
args: 1
|
2456
|
+
};
|
2457
|
+
var without = {
|
2458
|
+
wrapper: false,
|
2459
|
+
shorthand: false,
|
2460
|
+
chainable: true,
|
2461
|
+
iteratee: false
|
2462
|
+
};
|
2463
|
+
var words = {
|
2464
|
+
wrapper: false,
|
2465
|
+
shorthand: false,
|
2466
|
+
chainable: false,
|
2467
|
+
iteratee: false,
|
2468
|
+
args: 2
|
2469
|
+
};
|
2470
|
+
var wrap = {
|
2471
|
+
wrapper: false,
|
2472
|
+
shorthand: false,
|
2473
|
+
chainable: true,
|
2474
|
+
iteratee: false,
|
2475
|
+
args: 2
|
2476
|
+
};
|
2477
|
+
var xor = {
|
2478
|
+
wrapper: false,
|
2479
|
+
shorthand: false,
|
2480
|
+
chainable: true,
|
2481
|
+
iteratee: false
|
2482
|
+
};
|
2483
|
+
var xorBy = {
|
2484
|
+
wrapper: false,
|
2485
|
+
shorthand: true,
|
2486
|
+
chainable: true,
|
2487
|
+
iteratee: true
|
2488
|
+
};
|
2489
|
+
var xorWith = {
|
2490
|
+
wrapper: false,
|
2491
|
+
shorthand: false,
|
2492
|
+
chainable: true,
|
2493
|
+
iteratee: false
|
2494
|
+
};
|
2495
|
+
var zip = {
|
2496
|
+
wrapper: false,
|
2497
|
+
shorthand: false,
|
2498
|
+
chainable: true,
|
2499
|
+
iteratee: false
|
2500
|
+
};
|
2501
|
+
var zipObject = {
|
2502
|
+
wrapper: false,
|
2503
|
+
shorthand: false,
|
2504
|
+
chainable: true,
|
2505
|
+
iteratee: false,
|
2506
|
+
args: 2
|
2507
|
+
};
|
2508
|
+
var zipObjectDeep = {
|
2509
|
+
wrapper: false,
|
2510
|
+
shorthand: false,
|
2511
|
+
chainable: true,
|
2512
|
+
iteratee: false,
|
2513
|
+
args: 2
|
2514
|
+
};
|
2515
|
+
var zipWith = {
|
2516
|
+
wrapper: false,
|
2517
|
+
shorthand: false,
|
2518
|
+
chainable: true,
|
2519
|
+
iteratee: false
|
2520
|
+
};
|
2521
|
+
|
2522
|
+
// src/util/methodDataUtil.ts
|
2523
|
+
function isCollectionMethod(method2) {
|
2524
|
+
return methodSupportsShorthand(method2) || includes2(["reduce", "reduceRight"], method2);
|
2525
|
+
}
|
2526
|
+
function methodSupportsShorthand(method2, shorthandType) {
|
2527
|
+
const methodShorthandData = get2(methodData_exports, [method2, "shorthand"]);
|
2528
|
+
return isObject2(methodShorthandData) ? Boolean(shorthandType && methodShorthandData[shorthandType]) : Boolean(methodShorthandData);
|
2529
|
+
}
|
2530
|
+
function getIterateeIndex(method2) {
|
2531
|
+
const methodData = methodData_exports[method2];
|
2532
|
+
if (has2(methodData, "iterateeIndex")) {
|
2533
|
+
return methodData.iterateeIndex;
|
2534
|
+
}
|
2535
|
+
if (methodData?.iteratee) {
|
2536
|
+
return 1;
|
2537
|
+
}
|
2538
|
+
return -1;
|
2539
|
+
}
|
2540
|
+
var sideEffectIterationMethods = [
|
2541
|
+
"forEach",
|
2542
|
+
"forEachRight",
|
2543
|
+
"forIn",
|
2544
|
+
"forInRight",
|
2545
|
+
"forOwn",
|
2546
|
+
"forOwnRight"
|
2547
|
+
];
|
2548
|
+
function getSideEffectIterationMethods() {
|
2549
|
+
return sideEffectIterationMethods;
|
2550
|
+
}
|
2551
|
+
|
2552
|
+
// src/util/astUtil.ts
|
2553
|
+
import {
|
2554
|
+
property as property2,
|
2555
|
+
matches as matches2,
|
2556
|
+
overSome as overSome2,
|
2557
|
+
matchesProperty as matchesProperty2,
|
2558
|
+
cond as cond2,
|
2559
|
+
get as get3,
|
2560
|
+
isMatch as isMatch2,
|
2561
|
+
isEqualWith as isEqualWith2,
|
2562
|
+
includes as includes3,
|
2563
|
+
overEvery as overEvery2,
|
2564
|
+
flatMap as flatMap2
|
2565
|
+
} from "lodash";
|
2566
|
+
var getCaller = property2(["callee", "object"]);
|
2567
|
+
var getMethodName = property2(["callee", "property", "name"]);
|
2568
|
+
var isMethodCall = matches2({
|
2569
|
+
type: "CallExpression",
|
2570
|
+
callee: { type: "MemberExpression" }
|
2571
|
+
});
|
2572
|
+
var isFunctionExpression = overSome2(
|
2573
|
+
matchesProperty2("type", "FunctionExpression"),
|
2574
|
+
matchesProperty2("type", "FunctionDeclaration")
|
2575
|
+
);
|
2576
|
+
var isFunctionDefinitionWithBlock = overSome2(
|
2577
|
+
isFunctionExpression,
|
2578
|
+
matches2({
|
2579
|
+
type: "ArrowFunctionExpression",
|
2580
|
+
body: { type: "BlockStatement" }
|
2581
|
+
})
|
2582
|
+
);
|
2583
|
+
var getFirstFunctionLine = cond2([
|
2584
|
+
[isFunctionDefinitionWithBlock, property2(["body", "body", 0])],
|
2585
|
+
[matches2({ type: "ArrowFunctionExpression" }), property2("body")]
|
2586
|
+
]);
|
2587
|
+
var isPropAccess = overSome2(
|
2588
|
+
matches2({ computed: false }),
|
2589
|
+
matchesProperty2(["property", "type"], "Literal")
|
2590
|
+
);
|
2591
|
+
function isMemberExpOf(node, objectName, { maxLength = Number.MAX_VALUE, allowComputed } = {}) {
|
2592
|
+
if (objectName) {
|
2593
|
+
let curr = node;
|
2594
|
+
let depth = maxLength;
|
2595
|
+
while (curr && depth) {
|
2596
|
+
if (allowComputed || isPropAccess(curr)) {
|
2597
|
+
if (curr.type === "MemberExpression" && curr.object.name === objectName) {
|
2598
|
+
return true;
|
2599
|
+
}
|
2600
|
+
curr = curr.object;
|
2601
|
+
depth--;
|
2602
|
+
} else {
|
2603
|
+
return false;
|
2604
|
+
}
|
2605
|
+
}
|
2606
|
+
}
|
2607
|
+
}
|
2608
|
+
var getFirstParamName = property2(["params", 0, "name"]);
|
2609
|
+
var isReturnStatement = matchesProperty2("type", "ReturnStatement");
|
2610
|
+
function hasOnlyOneStatement(func) {
|
2611
|
+
if (isFunctionDefinitionWithBlock(func)) {
|
2612
|
+
return get3(func, "body.body.length") === 1;
|
2613
|
+
}
|
2614
|
+
if (func.type === "ArrowFunctionExpression") {
|
2615
|
+
return !get3(func, "body.body");
|
2616
|
+
}
|
2617
|
+
}
|
2618
|
+
function isObjectOfMethodCall(node) {
|
2619
|
+
return get3(node, "parent.object") === node && get3(node, "parent.parent.type") === "CallExpression";
|
2620
|
+
}
|
2621
|
+
function isLiteral(node) {
|
2622
|
+
return node.type === "Literal";
|
2623
|
+
}
|
2624
|
+
function isBinaryExpWithMemberOf(operator, exp, objectName, {
|
2625
|
+
maxLength,
|
2626
|
+
allowComputed,
|
2627
|
+
onlyLiterals
|
2628
|
+
} = {}) {
|
2629
|
+
if (!isMatch2(exp, { type: "BinaryExpression", operator })) {
|
2630
|
+
return false;
|
2631
|
+
}
|
2632
|
+
const [left, right] = [exp.left, exp.right].map(
|
2633
|
+
(side) => isMemberExpOf(side, objectName, { maxLength, allowComputed })
|
2634
|
+
);
|
2635
|
+
return left === !right && (!onlyLiterals || isLiteral(exp.left) || isLiteral(exp.right));
|
2636
|
+
}
|
2637
|
+
var isNegationExpression = matches2({
|
2638
|
+
type: "UnaryExpression",
|
2639
|
+
operator: "!"
|
2640
|
+
});
|
2641
|
+
function isNegationOfMemberOf(exp, objectName, { maxLength } = {}) {
|
2642
|
+
return isNegationExpression(exp) && isMemberExpOf(exp.argument, objectName, { maxLength, allowComputed: false });
|
2643
|
+
}
|
2644
|
+
function isIdentifierWithName(exp, paramName) {
|
2645
|
+
return exp && paramName && exp.type === "Identifier" && exp.name === paramName;
|
2646
|
+
}
|
2647
|
+
function getValueReturnedInFirstStatement(func) {
|
2648
|
+
const firstLine = getFirstFunctionLine(func);
|
2649
|
+
if (func) {
|
2650
|
+
if (isFunctionDefinitionWithBlock(func)) {
|
2651
|
+
return isReturnStatement(firstLine) ? firstLine.argument : void 0;
|
2652
|
+
}
|
2653
|
+
if (func.type === "ArrowFunctionExpression") {
|
2654
|
+
return firstLine;
|
2655
|
+
}
|
2656
|
+
}
|
2657
|
+
}
|
2658
|
+
function isCallFromObject(node, objName) {
|
2659
|
+
return node && objName && node.type === "CallExpression" && get3(node, "callee.object.name") === objName;
|
2660
|
+
}
|
2661
|
+
function isComputed(node) {
|
2662
|
+
return get3(node, "computed") && node.property.type !== "Literal";
|
2663
|
+
}
|
2664
|
+
function isEquivalentMemberExp(a, b) {
|
2665
|
+
return isEqualWith2(a, b, (left, right, key) => {
|
2666
|
+
if (includes3(["loc", "range", "computed", "start", "end", "parent"], key)) {
|
2667
|
+
return true;
|
2668
|
+
}
|
2669
|
+
if (isComputed(left) || isComputed(right)) {
|
2670
|
+
return false;
|
2671
|
+
}
|
2672
|
+
if (key === "property") {
|
2673
|
+
const leftValue = left.name || left.value;
|
2674
|
+
const rightValue = right.name || right.value;
|
2675
|
+
return leftValue === rightValue;
|
2676
|
+
}
|
2677
|
+
});
|
2678
|
+
}
|
2679
|
+
var isEqEqEq = matches2({ type: "BinaryExpression", operator: "===" });
|
2680
|
+
var isMinus = (node) => node.type === "UnaryExpression" && node.operator === "-";
|
2681
|
+
var comparisonType = {
|
2682
|
+
exact: 0,
|
2683
|
+
over: 1,
|
2684
|
+
under: 2,
|
2685
|
+
any: 3
|
2686
|
+
};
|
2687
|
+
var comparisonOperators = ["==", "!=", "===", "!=="];
|
2688
|
+
function getIsValue(value2) {
|
2689
|
+
return value2 < 0 ? overEvery2(isMinus, matches2({ argument: { value: -value2 } })) : matches2({ value: value2 });
|
2690
|
+
}
|
2691
|
+
function getExpressionComparedToInt(node, value2, checkOver) {
|
2692
|
+
const isValue = getIsValue(value2);
|
2693
|
+
if (includes3(comparisonOperators, node.operator)) {
|
2694
|
+
if (isValue(node.right)) {
|
2695
|
+
return node.left;
|
2696
|
+
}
|
2697
|
+
if (isValue(node.left)) {
|
2698
|
+
return node.right;
|
2699
|
+
}
|
2700
|
+
}
|
2701
|
+
if (checkOver) {
|
2702
|
+
if (node.operator === ">" && isValue(node.right)) {
|
2703
|
+
return node.left;
|
2704
|
+
}
|
2705
|
+
if (node.operator === "<" && isValue(node.left)) {
|
2706
|
+
return node.right;
|
2707
|
+
}
|
2708
|
+
const isNext = getIsValue(value2 + 1);
|
2709
|
+
if ((node.operator === ">=" || node.operator === "<") && isNext(node.right)) {
|
2710
|
+
return node.left;
|
2711
|
+
}
|
2712
|
+
if ((node.operator === "<=" || node.operator === ">") && isNext(node.left)) {
|
2713
|
+
return node.right;
|
2714
|
+
}
|
2715
|
+
}
|
2716
|
+
}
|
2717
|
+
var isIndexOfCall = (node) => isMethodCall(node) && getMethodName(node) === "indexOf";
|
2718
|
+
var isFindIndexCall = (node) => isMethodCall(node) && getMethodName(node) === "findIndex";
|
2719
|
+
function collectParameterValues(node) {
|
2720
|
+
switch (node && node.type) {
|
2721
|
+
case "Identifier":
|
2722
|
+
return [node.name];
|
2723
|
+
case "ObjectPattern":
|
2724
|
+
return flatMap2(
|
2725
|
+
node.properties,
|
2726
|
+
(prop) => collectParameterValues(prop.value)
|
2727
|
+
);
|
2728
|
+
case "ArrayPattern":
|
2729
|
+
return flatMap2(node.elements, collectParameterValues);
|
2730
|
+
default:
|
2731
|
+
return [];
|
2732
|
+
}
|
2733
|
+
}
|
2734
|
+
var astUtil_default = {
|
2735
|
+
getCaller,
|
2736
|
+
getMethodName,
|
2737
|
+
isMethodCall,
|
2738
|
+
getFirstFunctionLine,
|
2739
|
+
isMemberExpOf,
|
2740
|
+
getFirstParamName,
|
2741
|
+
hasOnlyOneStatement,
|
2742
|
+
isObjectOfMethodCall,
|
2743
|
+
isEqEqEqToMemberOf: isBinaryExpWithMemberOf.bind(null, "==="),
|
2744
|
+
isNotEqEqToMemberOf: isBinaryExpWithMemberOf.bind(null, "!=="),
|
2745
|
+
isNegationOfMemberOf,
|
2746
|
+
isIdentifierWithName,
|
2747
|
+
isNegationExpression,
|
2748
|
+
getValueReturnedInFirstStatement,
|
2749
|
+
isCallFromObject,
|
2750
|
+
isComputed,
|
2751
|
+
isEquivalentMemberExp,
|
2752
|
+
isEqEqEq,
|
2753
|
+
comparisonType,
|
2754
|
+
getExpressionComparedToInt,
|
2755
|
+
isIndexOfCall,
|
2756
|
+
isFindIndexCall,
|
2757
|
+
isFunctionExpression,
|
2758
|
+
isFunctionDefinitionWithBlock,
|
2759
|
+
collectParameterValues
|
2760
|
+
};
|
2761
|
+
|
2762
|
+
// src/util/settingsUtil.ts
|
2763
|
+
import { chain as chain2, get as get4 } from "lodash";
|
2764
|
+
function getSettings(context) {
|
2765
|
+
return chain2(context).get(["settings", "remeda"]).clone().defaults({
|
2766
|
+
version: 4
|
2767
|
+
}).value();
|
2768
|
+
}
|
2769
|
+
|
2770
|
+
// src/util/importUtil.ts
|
2771
|
+
import get5 from "lodash/get";
|
2772
|
+
function getNameFromCjsRequire(init) {
|
2773
|
+
if (get5(init, "callee.name") === "require" && get5(init, "arguments.length") === 1 && init.arguments[0].type === "Literal") {
|
2774
|
+
return init.arguments[0].value;
|
2775
|
+
}
|
2776
|
+
}
|
2777
|
+
var isFullRemedaImport = (str) => /^remeda?(\/)?$/.test(str);
|
2778
|
+
var getMethodImportFromName = (str) => {
|
2779
|
+
const match = /^remeda([./])(\w+)$/.exec(str);
|
2780
|
+
return match && match[2];
|
2781
|
+
};
|
2782
|
+
|
2783
|
+
// src/util/RemedaContext.ts
|
2784
|
+
var { isMethodCall: isMethodCall2, isCallFromObject: isCallFromObject2, getCaller: getCaller2 } = astUtil_default;
|
2785
|
+
var RemedaContext_default = class {
|
2786
|
+
context;
|
2787
|
+
general;
|
2788
|
+
methods;
|
2789
|
+
_pragma;
|
2790
|
+
/**
|
2791
|
+
* Create a Remeda context wrapper from a file's RuleContext
|
2792
|
+
* @param {RuleContext} context
|
2793
|
+
*/
|
2794
|
+
constructor(context) {
|
2795
|
+
this.context = context;
|
2796
|
+
this.general = /* @__PURE__ */ Object.create(null);
|
2797
|
+
this.methods = /* @__PURE__ */ Object.create(null);
|
2798
|
+
}
|
2799
|
+
/**
|
2800
|
+
* Gets visitors to collect Remeda declarations in the context
|
2801
|
+
* @returns {Object} visitors for everywhere Remeda can be declared
|
2802
|
+
*/
|
2803
|
+
getImportVisitors() {
|
2804
|
+
const self = this;
|
2805
|
+
return {
|
2806
|
+
ImportDeclaration({ source, specifiers }) {
|
2807
|
+
if (isFullRemedaImport(source.value)) {
|
2808
|
+
specifiers.forEach((spec) => {
|
2809
|
+
switch (spec.type) {
|
2810
|
+
case "ImportNamespaceSpecifier":
|
2811
|
+
case "ImportDefaultSpecifier":
|
2812
|
+
self.general[spec.local.name] = true;
|
2813
|
+
break;
|
2814
|
+
case "ImportSpecifier":
|
2815
|
+
self.methods[spec.local.name] = spec.imported.name;
|
2816
|
+
if (spec.imported.name === "chain") {
|
2817
|
+
self.general[spec.local.name] = true;
|
2818
|
+
}
|
2819
|
+
break;
|
2820
|
+
}
|
2821
|
+
});
|
2822
|
+
} else {
|
2823
|
+
const method2 = getMethodImportFromName(source.value);
|
2824
|
+
if (method2) {
|
2825
|
+
self.methods[specifiers[0].local.name] = method2;
|
2826
|
+
}
|
2827
|
+
}
|
2828
|
+
},
|
2829
|
+
VariableDeclarator({ init, id }) {
|
2830
|
+
const required = getNameFromCjsRequire(init);
|
2831
|
+
if (isFullRemedaImport(required)) {
|
2832
|
+
if (id.type === "Identifier") {
|
2833
|
+
self.general[id.name] = true;
|
2834
|
+
} else if (id.type === "ObjectPattern") {
|
2835
|
+
id.properties.forEach((prop) => {
|
2836
|
+
self.methods[prop.value.name] = prop.key.name;
|
2837
|
+
if (prop.value.name === "chain") {
|
2838
|
+
self.general[prop.value.name] = true;
|
2839
|
+
}
|
2840
|
+
});
|
2841
|
+
}
|
2842
|
+
} else if (required) {
|
2843
|
+
const method2 = getMethodImportFromName(required);
|
2844
|
+
if (method2) {
|
2845
|
+
self.methods[id.name] = method2;
|
2846
|
+
}
|
2847
|
+
}
|
2848
|
+
}
|
2849
|
+
};
|
2850
|
+
}
|
2851
|
+
/**
|
2852
|
+
* Returns whether the node is an imported Remeda in this context
|
2853
|
+
* @param node
|
2854
|
+
* @returns {boolean|undefined}
|
2855
|
+
*/
|
2856
|
+
isImportedRemeda(node) {
|
2857
|
+
if (node && node.type === "Identifier") {
|
2858
|
+
return this.general[node.name];
|
2859
|
+
}
|
2860
|
+
}
|
2861
|
+
/**
|
2862
|
+
* Returns the name of the Remeda method for this node, if any
|
2863
|
+
* @param node
|
2864
|
+
* @returns {string|undefined}
|
2865
|
+
*/
|
2866
|
+
getImportedRemedaMethod(node) {
|
2867
|
+
if (node && node.type === "CallExpression" && !isMethodCall2(node)) {
|
2868
|
+
return this.methods[node.callee.name];
|
2869
|
+
}
|
2870
|
+
}
|
2871
|
+
/**
|
2872
|
+
* Returns whether the node is a call from a Remeda object
|
2873
|
+
* @param node
|
2874
|
+
* @returns {boolean|undefined}
|
2875
|
+
*/
|
2876
|
+
isRemedaCall(node) {
|
2877
|
+
return this.pragma && isCallFromObject2(node, this.pragma) || this.isImportedRemeda(getCaller2(node));
|
2878
|
+
}
|
2879
|
+
/**
|
2880
|
+
*
|
2881
|
+
* @returns {string|undefined} the current Remeda pragma
|
2882
|
+
*/
|
2883
|
+
get pragma() {
|
2884
|
+
if (!this._pragma) {
|
2885
|
+
const { pragma } = getSettings(this.context);
|
2886
|
+
this._pragma = pragma;
|
2887
|
+
}
|
2888
|
+
return this._pragma;
|
2889
|
+
}
|
2890
|
+
};
|
2891
|
+
|
2892
|
+
// src/util/remedaUtil.ts
|
2893
|
+
function isCallToMethod(node, method2) {
|
2894
|
+
return method2 === astUtil_default.getMethodName(node);
|
2895
|
+
}
|
2896
|
+
function getIsTypeMethod(name) {
|
2897
|
+
const types = [
|
2898
|
+
"number",
|
2899
|
+
"boolean",
|
2900
|
+
"function",
|
2901
|
+
"Function",
|
2902
|
+
"string",
|
2903
|
+
// "object",
|
2904
|
+
// "undefined",
|
2905
|
+
"Date",
|
2906
|
+
"Array",
|
2907
|
+
"Error"
|
2908
|
+
// "Element",
|
2909
|
+
];
|
2910
|
+
return includes4(types, name) ? `is${capitalize2(name)}` : null;
|
2911
|
+
}
|
2912
|
+
function getRemedaMethodCallExpVisitor(remedaContext, reporter) {
|
2913
|
+
return function(node) {
|
2914
|
+
let iterateeIndex;
|
2915
|
+
if (remedaContext.isRemedaCall(node)) {
|
2916
|
+
const method2 = astUtil_default.getMethodName(node);
|
2917
|
+
iterateeIndex = getIterateeIndex(method2);
|
2918
|
+
reporter(node, node.arguments[iterateeIndex], {
|
2919
|
+
callType: "method",
|
2920
|
+
method: method2,
|
2921
|
+
remedaContext
|
2922
|
+
});
|
2923
|
+
} else {
|
2924
|
+
const method2 = remedaContext.getImportedRemedaMethod(node);
|
2925
|
+
if (method2) {
|
2926
|
+
iterateeIndex = getIterateeIndex(method2);
|
2927
|
+
reporter(node, node.arguments[iterateeIndex], {
|
2928
|
+
method: method2,
|
2929
|
+
callType: "single",
|
2930
|
+
remedaContext
|
2931
|
+
});
|
2932
|
+
}
|
2933
|
+
}
|
2934
|
+
};
|
2935
|
+
}
|
2936
|
+
function isRemedaCallToMethod(node, method2, remedaContext) {
|
2937
|
+
return remedaContext.isRemedaCall(node) && isCallToMethod(node, method2);
|
2938
|
+
}
|
2939
|
+
function isCallToRemedaMethod(node, method2, remedaContext) {
|
2940
|
+
if (!node || node.type !== "CallExpression") {
|
2941
|
+
return false;
|
2942
|
+
}
|
2943
|
+
return isRemedaCallToMethod(node, method2, remedaContext) || method2 === remedaContext.getImportedRemedaMethod(node);
|
2944
|
+
}
|
2945
|
+
function getRemedaMethodVisitors(context, remedaCallExpVisitor) {
|
2946
|
+
const remedaContext = new RemedaContext_default(context);
|
2947
|
+
const visitors = remedaContext.getImportVisitors();
|
2948
|
+
visitors.CallExpression = getRemedaMethodCallExpVisitor(
|
2949
|
+
remedaContext,
|
2950
|
+
remedaCallExpVisitor
|
2951
|
+
);
|
2952
|
+
return visitors;
|
2953
|
+
}
|
2954
|
+
function getRemedaContext(context) {
|
2955
|
+
return new RemedaContext_default(context);
|
2956
|
+
}
|
2957
|
+
|
2958
|
+
// src/rules/collection-method-value.ts
|
2959
|
+
import includes5 from "lodash/includes";
|
2960
|
+
var { getMethodName: getMethodName2 } = astUtil_default;
|
2961
|
+
var meta = {
|
2962
|
+
type: "problem",
|
2963
|
+
schema: [],
|
2964
|
+
docs: {
|
2965
|
+
url: getDocsUrl("collection-method-value")
|
2966
|
+
}
|
2967
|
+
};
|
2968
|
+
function create2(context) {
|
2969
|
+
function parentUsesValue(node) {
|
2970
|
+
return node.parent.type !== "ExpressionStatement";
|
2971
|
+
}
|
2972
|
+
function isSideEffectIterationMethod(method2) {
|
2973
|
+
return includes5(getSideEffectIterationMethods(), method2);
|
2974
|
+
}
|
2975
|
+
function isParentCommit(node, callType) {
|
2976
|
+
return callType === "chained" && isCallToMethod(node.parent.parent, "commit");
|
2977
|
+
}
|
2978
|
+
return getRemedaMethodVisitors(
|
2979
|
+
context,
|
2980
|
+
(node, iteratee2, { method: method2, callType }) => {
|
2981
|
+
if (isCollectionMethod(method2) && !parentUsesValue(node)) {
|
2982
|
+
context.report({
|
2983
|
+
node,
|
2984
|
+
message: `Use value returned from R.${method2}`
|
2985
|
+
});
|
2986
|
+
} else if (isSideEffectIterationMethod(method2) && parentUsesValue(node) && !isParentCommit(node, callType)) {
|
2987
|
+
context.report({
|
2988
|
+
node,
|
2989
|
+
message: `Do not use value returned from R.${getMethodName2(node)}`
|
2990
|
+
});
|
2991
|
+
}
|
2992
|
+
}
|
2993
|
+
);
|
2994
|
+
}
|
2995
|
+
var rule = {
|
2996
|
+
create: create2,
|
2997
|
+
meta
|
2998
|
+
};
|
2999
|
+
var RULE_NAME = "collection-method-value";
|
3000
|
+
var collection_method_value_default = rule;
|
3001
|
+
|
3002
|
+
// src/rules/collection-return.ts
|
3003
|
+
import assign2 from "lodash/assign";
|
3004
|
+
var meta2 = {
|
3005
|
+
type: "problem",
|
3006
|
+
schema: [],
|
3007
|
+
docs: {
|
3008
|
+
url: getDocsUrl("collection-return")
|
3009
|
+
}
|
3010
|
+
};
|
3011
|
+
function create3(context) {
|
3012
|
+
const funcInfos = /* @__PURE__ */ new Map();
|
3013
|
+
let currFuncInfo;
|
3014
|
+
const remedaContext = getRemedaContext(context);
|
3015
|
+
return assign2(
|
3016
|
+
{
|
3017
|
+
"CallExpression:exit": getRemedaMethodCallExpVisitor(
|
3018
|
+
remedaContext,
|
3019
|
+
(node, iteratee2, { method: method2 }) => {
|
3020
|
+
if (isCollectionMethod(method2) && funcInfos.has(iteratee2)) {
|
3021
|
+
const { hasReturn } = funcInfos.get(iteratee2);
|
3022
|
+
if (astUtil_default.isFunctionDefinitionWithBlock(iteratee2) && !hasReturn && !iteratee2.async && !iteratee2.generator) {
|
3023
|
+
context.report({
|
3024
|
+
node,
|
3025
|
+
message: `Do not use R.${method2} without returning a value`
|
3026
|
+
});
|
3027
|
+
}
|
3028
|
+
}
|
3029
|
+
}
|
3030
|
+
),
|
3031
|
+
ReturnStatement() {
|
3032
|
+
currFuncInfo.hasReturn = true;
|
3033
|
+
},
|
3034
|
+
onCodePathStart(codePath, node) {
|
3035
|
+
currFuncInfo = {
|
3036
|
+
upper: currFuncInfo,
|
3037
|
+
codePath,
|
3038
|
+
hasReturn: false
|
3039
|
+
};
|
3040
|
+
funcInfos.set(node, currFuncInfo);
|
3041
|
+
},
|
3042
|
+
onCodePathEnd() {
|
3043
|
+
currFuncInfo = currFuncInfo.upper;
|
3044
|
+
}
|
3045
|
+
},
|
3046
|
+
remedaContext.getImportVisitors()
|
3047
|
+
);
|
3048
|
+
}
|
3049
|
+
var rule2 = {
|
3050
|
+
create: create3,
|
3051
|
+
meta: meta2
|
3052
|
+
};
|
3053
|
+
var RULE_NAME2 = "collection-return";
|
3054
|
+
var collection_return_default = rule2;
|
3055
|
+
|
3056
|
+
// src/rules/prefer-constant.ts
|
3057
|
+
var { getValueReturnedInFirstStatement: getValueReturnedInFirstStatement2 } = astUtil_default;
|
3058
|
+
var meta3 = {
|
3059
|
+
type: "problem",
|
3060
|
+
docs: {
|
3061
|
+
url: getDocsUrl("prefer-constant")
|
3062
|
+
},
|
3063
|
+
schema: [
|
3064
|
+
{
|
3065
|
+
type: "boolean"
|
3066
|
+
},
|
3067
|
+
{
|
3068
|
+
type: "boolean"
|
3069
|
+
}
|
3070
|
+
]
|
3071
|
+
};
|
3072
|
+
function create4(context) {
|
3073
|
+
const shouldCheckArrowFunctions = context.options[0] !== void 0 ? context.options[0] : true;
|
3074
|
+
const shouldCheckFunctionDeclarations = context.options[1] !== void 0 ? context.options[1] : false;
|
3075
|
+
function isCompletelyLiteral(node) {
|
3076
|
+
switch (node.type) {
|
3077
|
+
case "Literal":
|
3078
|
+
return true;
|
3079
|
+
case "BinaryExpression":
|
3080
|
+
return isCompletelyLiteral(node.left) && isCompletelyLiteral(node.right);
|
3081
|
+
case "UnaryExpression":
|
3082
|
+
return isCompletelyLiteral(node.argument);
|
3083
|
+
case "ConditionalExpression":
|
3084
|
+
return isCompletelyLiteral(node.test) && isCompletelyLiteral(node.consequent) && isCompletelyLiteral(node.alternate);
|
3085
|
+
default:
|
3086
|
+
return false;
|
3087
|
+
}
|
3088
|
+
}
|
3089
|
+
function reportIfLikeConstant(func, node) {
|
3090
|
+
const valueReturnedInFirstLine = func(node);
|
3091
|
+
if (valueReturnedInFirstLine && isCompletelyLiteral(valueReturnedInFirstLine)) {
|
3092
|
+
context.report({
|
3093
|
+
node,
|
3094
|
+
message: "Prefer R.constant over a function returning a literal"
|
3095
|
+
});
|
3096
|
+
}
|
3097
|
+
}
|
3098
|
+
function handleFunctionDefinition(node) {
|
3099
|
+
reportIfLikeConstant(getValueReturnedInFirstStatement2, node);
|
3100
|
+
}
|
3101
|
+
return {
|
3102
|
+
FunctionExpression: handleFunctionDefinition,
|
3103
|
+
FunctionDeclaration(node) {
|
3104
|
+
if (shouldCheckFunctionDeclarations) {
|
3105
|
+
handleFunctionDefinition(node);
|
3106
|
+
}
|
3107
|
+
},
|
3108
|
+
ArrowFunctionExpression(node) {
|
3109
|
+
if (shouldCheckArrowFunctions) {
|
3110
|
+
handleFunctionDefinition(node);
|
3111
|
+
}
|
3112
|
+
}
|
3113
|
+
};
|
3114
|
+
}
|
3115
|
+
var rule3 = {
|
3116
|
+
create: create4,
|
3117
|
+
meta: meta3
|
3118
|
+
};
|
3119
|
+
var RULE_NAME3 = "prefer-constant";
|
3120
|
+
var prefer_constant_default = rule3;
|
3121
|
+
|
3122
|
+
// src/rules/prefer-do-nothing.ts
|
3123
|
+
var { getFirstFunctionLine: getFirstFunctionLine2 } = astUtil_default;
|
3124
|
+
var meta4 = {
|
3125
|
+
type: "problem",
|
3126
|
+
schema: [],
|
3127
|
+
docs: {
|
3128
|
+
url: getDocsUrl("prefer-do-nothing")
|
3129
|
+
}
|
3130
|
+
};
|
3131
|
+
function create5(context) {
|
3132
|
+
function reportIfEmptyFunction(node) {
|
3133
|
+
if (!getFirstFunctionLine2(node) && node.parent.type !== "MethodDefinition" && !node.generator && !node.async) {
|
3134
|
+
context.report({
|
3135
|
+
node,
|
3136
|
+
message: "Prefer R.doNothing() or R.constant(undefined) over an empty function"
|
3137
|
+
});
|
3138
|
+
}
|
3139
|
+
}
|
3140
|
+
return {
|
3141
|
+
FunctionExpression: reportIfEmptyFunction,
|
3142
|
+
ArrowFunctionExpression: reportIfEmptyFunction
|
3143
|
+
};
|
3144
|
+
}
|
3145
|
+
var rule4 = {
|
3146
|
+
create: create5,
|
3147
|
+
meta: meta4
|
3148
|
+
};
|
3149
|
+
var RULE_NAME4 = "prefer-do-nothing";
|
3150
|
+
var prefer_do_nothing_default = rule4;
|
3151
|
+
|
3152
|
+
// src/rules/prefer-filter.ts
|
3153
|
+
var {
|
3154
|
+
isIdentifierWithName: isIdentifierWithName2,
|
3155
|
+
isMemberExpOf: isMemberExpOf2,
|
3156
|
+
isNegationOfMemberOf: isNegationOfMemberOf2,
|
3157
|
+
isEqEqEqToMemberOf,
|
3158
|
+
isNotEqEqToMemberOf,
|
3159
|
+
getFirstFunctionLine: getFirstFunctionLine3,
|
3160
|
+
hasOnlyOneStatement: hasOnlyOneStatement2,
|
3161
|
+
getFirstParamName: getFirstParamName2
|
3162
|
+
} = astUtil_default;
|
3163
|
+
var meta5 = {
|
3164
|
+
type: "problem",
|
3165
|
+
docs: {
|
3166
|
+
url: getDocsUrl("prefer-filter")
|
3167
|
+
},
|
3168
|
+
schema: [
|
3169
|
+
{
|
3170
|
+
type: "integer"
|
3171
|
+
}
|
3172
|
+
]
|
3173
|
+
};
|
3174
|
+
function create6(context) {
|
3175
|
+
const DEFAULT_MAX_PROPERTY_PATH_LENGTH = 3;
|
3176
|
+
const maxLength = parseInt(context.options[0], 10) || DEFAULT_MAX_PROPERTY_PATH_LENGTH;
|
3177
|
+
function isIfWithoutElse(statement) {
|
3178
|
+
return statement && statement.type === "IfStatement" && !statement.alternate;
|
3179
|
+
}
|
3180
|
+
function canBeShorthand(exp, paramName) {
|
3181
|
+
return isIdentifierWithName2(exp, paramName) || isMemberExpOf2(exp, paramName, { maxLength }) || isNegationOfMemberOf2(exp, paramName, { maxLength }) || isEqEqEqToMemberOf(exp, paramName, { maxLength }) || isNotEqEqToMemberOf(exp, paramName, { maxLength });
|
3182
|
+
}
|
3183
|
+
function onlyHasSimplifiableIf(func) {
|
3184
|
+
const firstLine = getFirstFunctionLine3(func);
|
3185
|
+
return func && hasOnlyOneStatement2(func) && func.params.length === 1 && isIfWithoutElse(firstLine) && canBeShorthand(firstLine.test, getFirstParamName2(func));
|
3186
|
+
}
|
3187
|
+
return getRemedaMethodVisitors(context, (node, iteratee2, { method: method2 }) => {
|
3188
|
+
if (method2 === "forEach" && onlyHasSimplifiableIf(iteratee2)) {
|
3189
|
+
context.report({
|
3190
|
+
node,
|
3191
|
+
message: "Prefer R.filter or R.some over an if statement inside a R.forEach"
|
3192
|
+
});
|
3193
|
+
}
|
3194
|
+
});
|
3195
|
+
}
|
3196
|
+
var rule5 = {
|
3197
|
+
create: create6,
|
3198
|
+
meta: meta5
|
3199
|
+
};
|
3200
|
+
var RULE_NAME5 = "prefer-filter";
|
3201
|
+
var prefer_filter_default = rule5;
|
3202
|
+
|
3203
|
+
// src/rules/prefer-find.ts
|
3204
|
+
var meta6 = {
|
3205
|
+
type: "problem",
|
3206
|
+
schema: [],
|
3207
|
+
docs: {
|
3208
|
+
url: getDocsUrl("prefer-find")
|
3209
|
+
}
|
3210
|
+
};
|
3211
|
+
function create7(context) {
|
3212
|
+
function isZeroIndexAccess(node) {
|
3213
|
+
return node.type === "MemberExpression" && node.property.value === 0;
|
3214
|
+
}
|
3215
|
+
function isChainedBeforeMethod(callType, node, method2) {
|
3216
|
+
return callType === "chained" && isCallToMethod(node.parent.parent, method2);
|
3217
|
+
}
|
3218
|
+
return getRemedaMethodVisitors(
|
3219
|
+
context,
|
3220
|
+
(node, iteratee2, { method: method2, callType, remedaContext }) => {
|
3221
|
+
if (method2 === "filter") {
|
3222
|
+
if (isZeroIndexAccess(node.parent) || isCallToRemedaMethod(node.parent, "first", remedaContext) || isChainedBeforeMethod(callType, node, "first")) {
|
3223
|
+
context.report({
|
3224
|
+
node,
|
3225
|
+
message: "Prefer using `R.find` over selecting the first item of a filtered result"
|
3226
|
+
});
|
3227
|
+
}
|
3228
|
+
if (isCallToRemedaMethod(node.parent, "last", remedaContext) || isChainedBeforeMethod(callType, node, "last")) {
|
3229
|
+
context.report({
|
3230
|
+
node,
|
3231
|
+
message: "Prefer using `R.findLast` over selecting the last item of a filtered result"
|
3232
|
+
});
|
3233
|
+
}
|
3234
|
+
}
|
3235
|
+
}
|
3236
|
+
);
|
3237
|
+
}
|
3238
|
+
var rule6 = {
|
3239
|
+
create: create7,
|
3240
|
+
meta: meta6
|
3241
|
+
};
|
3242
|
+
var RULE_NAME6 = "prefer-find";
|
3243
|
+
var prefer_find_default = rule6;
|
3244
|
+
|
3245
|
+
// src/rules/prefer-flat-map.ts
|
3246
|
+
var { getCaller: getCaller3 } = astUtil_default;
|
3247
|
+
var meta7 = {
|
3248
|
+
type: "problem",
|
3249
|
+
schema: [],
|
3250
|
+
docs: {
|
3251
|
+
url: getDocsUrl("prefer-flat-map")
|
3252
|
+
}
|
3253
|
+
};
|
3254
|
+
function create8(context) {
|
3255
|
+
function isChainedMapFlatten(node) {
|
3256
|
+
return isCallToMethod(getCaller3(node), "map");
|
3257
|
+
}
|
3258
|
+
return getRemedaMethodVisitors(
|
3259
|
+
context,
|
3260
|
+
(node, iteratee2, { method: method2, remedaContext }) => {
|
3261
|
+
if (method2 === "flat" && (isChainedMapFlatten(node) || isCallToRemedaMethod(node.arguments[0], "map", remedaContext))) {
|
3262
|
+
context.report({
|
3263
|
+
node,
|
3264
|
+
message: "Prefer R.flatMap over consecutive R.map and R.flat."
|
3265
|
+
});
|
3266
|
+
}
|
3267
|
+
}
|
3268
|
+
);
|
3269
|
+
}
|
3270
|
+
var rule7 = {
|
3271
|
+
create: create8,
|
3272
|
+
meta: meta7
|
3273
|
+
};
|
3274
|
+
var RULE_NAME7 = "prefer-flat-map";
|
3275
|
+
var prefer_flat_map_default = rule7;
|
3276
|
+
|
3277
|
+
// src/rules/prefer-is-empty.ts
|
3278
|
+
var meta8 = {
|
3279
|
+
type: "problem",
|
3280
|
+
schema: [],
|
3281
|
+
docs: {
|
3282
|
+
url: getDocsUrl("prefer-is-empty")
|
3283
|
+
},
|
3284
|
+
fixable: "code"
|
3285
|
+
};
|
3286
|
+
function create9(context) {
|
3287
|
+
const remedaContext = getRemedaContext(context);
|
3288
|
+
function getTextOfNode(node) {
|
3289
|
+
if (node) {
|
3290
|
+
if (node.type === "Identifier") {
|
3291
|
+
return node.name;
|
3292
|
+
}
|
3293
|
+
return context.getSourceCode().getText(node);
|
3294
|
+
}
|
3295
|
+
}
|
3296
|
+
const visitors = remedaContext.getImportVisitors();
|
3297
|
+
visitors.BinaryExpression = function(node) {
|
3298
|
+
if (node.operator === "===") {
|
3299
|
+
if (node.left) {
|
3300
|
+
if (node.left.property && node.right) {
|
3301
|
+
const leftExpressionMember = node.left.property.name;
|
3302
|
+
const rightExpressionMember = node.right.value;
|
3303
|
+
if (leftExpressionMember === "length" && rightExpressionMember === 0) {
|
3304
|
+
const subjectObject = node.left.object;
|
3305
|
+
context.report({
|
3306
|
+
node,
|
3307
|
+
message: "Prefer isEmpty over manually checking for length value.",
|
3308
|
+
fix(fixer) {
|
3309
|
+
return fixer.replaceText(
|
3310
|
+
node,
|
3311
|
+
`isEmpty(${getTextOfNode(subjectObject)})`
|
3312
|
+
);
|
3313
|
+
}
|
3314
|
+
});
|
3315
|
+
}
|
3316
|
+
} else if (node.left.expression && node.right && node.left.expression.property) {
|
3317
|
+
const leftExpressionMember = node.left.expression.property.name;
|
3318
|
+
const rightExpressionMember = node.right.value;
|
3319
|
+
if (leftExpressionMember === "length" && rightExpressionMember === 0) {
|
3320
|
+
const subjectObject = node.left.expression.object;
|
3321
|
+
context.report({
|
3322
|
+
node,
|
3323
|
+
message: "Prefer isEmpty over manually checking for length value.",
|
3324
|
+
fix(fixer) {
|
3325
|
+
return fixer.replaceText(
|
3326
|
+
node,
|
3327
|
+
`isEmpty(${getTextOfNode(subjectObject)})`
|
3328
|
+
);
|
3329
|
+
}
|
3330
|
+
});
|
3331
|
+
}
|
3332
|
+
}
|
3333
|
+
}
|
3334
|
+
}
|
3335
|
+
if (node.operator === ">") {
|
3336
|
+
if (node.left) {
|
3337
|
+
if (node.left.property && node.right) {
|
3338
|
+
const leftExpressionMember = node.left.property.name;
|
3339
|
+
const rightExpressionMember = node.right.value;
|
3340
|
+
if (leftExpressionMember === "length" && rightExpressionMember === 0) {
|
3341
|
+
const subjectObject = node.left.object;
|
3342
|
+
context.report({
|
3343
|
+
node,
|
3344
|
+
message: "Prefer isEmpty over manually checking for length value.",
|
3345
|
+
fix(fixer) {
|
3346
|
+
return fixer.replaceText(
|
3347
|
+
node,
|
3348
|
+
`!isEmpty(${getTextOfNode(subjectObject)})`
|
3349
|
+
);
|
3350
|
+
}
|
3351
|
+
});
|
3352
|
+
}
|
3353
|
+
} else if (node.left.expression && node.right) {
|
3354
|
+
const leftExpressionMember = node.left.expression.property.name;
|
3355
|
+
const rightExpressionMember = node.right.value;
|
3356
|
+
if (leftExpressionMember === "length" && rightExpressionMember === 0) {
|
3357
|
+
const subjectObject = node.left.expression.object;
|
3358
|
+
context.report({
|
3359
|
+
node,
|
3360
|
+
message: "Prefer isEmpty over manually checking for length value.",
|
3361
|
+
fix(fixer) {
|
3362
|
+
return fixer.replaceText(
|
3363
|
+
node,
|
3364
|
+
`!isEmpty(${getTextOfNode(subjectObject)})`
|
3365
|
+
);
|
3366
|
+
}
|
3367
|
+
});
|
3368
|
+
}
|
3369
|
+
}
|
3370
|
+
}
|
3371
|
+
}
|
3372
|
+
};
|
3373
|
+
return visitors;
|
3374
|
+
}
|
3375
|
+
var rule8 = {
|
3376
|
+
create: create9,
|
3377
|
+
meta: meta8
|
3378
|
+
};
|
3379
|
+
var RULE_NAME8 = "prefer-is-empty";
|
3380
|
+
var prefer_is_empty_default = rule8;
|
3381
|
+
|
3382
|
+
// src/rules/prefer-is-nil.ts
|
3383
|
+
import _, { matches as matches3, cond as cond3, property as property3 } from "lodash";
|
3384
|
+
var { isNegationExpression: isNegationExpression2, isEquivalentMemberExp: isEquivalentMemberExp2 } = astUtil_default;
|
3385
|
+
var meta9 = {
|
3386
|
+
type: "problem",
|
3387
|
+
schema: [],
|
3388
|
+
docs: {
|
3389
|
+
url: getDocsUrl("prefer-is-nil")
|
3390
|
+
}
|
3391
|
+
};
|
3392
|
+
function create10(context) {
|
3393
|
+
const remedaContext = getRemedaContext(context);
|
3394
|
+
const nilChecks = {
|
3395
|
+
null: {
|
3396
|
+
isValue: matches3({ type: "Literal", value: null }),
|
3397
|
+
expressionChecks: [
|
3398
|
+
getRemedaTypeCheckedBy("isNull"),
|
3399
|
+
getValueComparedTo("null")
|
3400
|
+
]
|
3401
|
+
},
|
3402
|
+
undefined: {
|
3403
|
+
isValue: matches3({ type: "Identifier", name: "undefined" }),
|
3404
|
+
expressionChecks: [
|
3405
|
+
getRemedaTypeCheckedBy("isUndefined"),
|
3406
|
+
getValueComparedTo("undefined"),
|
3407
|
+
getValueWithTypeofUndefinedComparison
|
3408
|
+
]
|
3409
|
+
}
|
3410
|
+
};
|
3411
|
+
function getRemedaTypeCheckedBy(typecheck) {
|
3412
|
+
return function(node) {
|
3413
|
+
return isCallToRemedaMethod(node, typecheck, remedaContext) && node.arguments[0];
|
3414
|
+
};
|
3415
|
+
}
|
3416
|
+
function getValueComparedTo(nil) {
|
3417
|
+
return function(node, operator) {
|
3418
|
+
return node.type === "BinaryExpression" && node.operator === operator && (nilChecks[nil].isValue(node.right) && node.left || nilChecks[nil].isValue(node.left) && node.right);
|
3419
|
+
};
|
3420
|
+
}
|
3421
|
+
const getTypeofArgument = cond3([
|
3422
|
+
[
|
3423
|
+
matches3({ type: "UnaryExpression", operator: "typeof" }),
|
3424
|
+
property3("argument")
|
3425
|
+
]
|
3426
|
+
]);
|
3427
|
+
const isUndefinedString = matches3({
|
3428
|
+
type: "Literal",
|
3429
|
+
value: "undefined"
|
3430
|
+
});
|
3431
|
+
function getValueWithTypeofUndefinedComparison(node, operator) {
|
3432
|
+
return node.type === "BinaryExpression" && node.operator === operator && (isUndefinedString(node.right) && getTypeofArgument(node.left) || isUndefinedString(node.left) && getTypeofArgument(node.right));
|
3433
|
+
}
|
3434
|
+
function checkExpression(nil, operator, node) {
|
3435
|
+
return _(nilChecks[nil].expressionChecks).map((check) => check(node, operator)).find();
|
3436
|
+
}
|
3437
|
+
function checkNegatedExpression(nil, node) {
|
3438
|
+
return isNegationExpression2(node) && checkExpression(nil, "===", node.argument) || checkExpression(nil, "!==", node);
|
3439
|
+
}
|
3440
|
+
function isEquivalentExistingExpression(node, leftNil, rightNil) {
|
3441
|
+
const leftExp = checkExpression(leftNil, "===", node.left);
|
3442
|
+
return leftExp && isEquivalentMemberExp2(
|
3443
|
+
leftExp,
|
3444
|
+
checkExpression(rightNil, "===", node.right)
|
3445
|
+
);
|
3446
|
+
}
|
3447
|
+
function isEquivalentExistingNegation(node, leftNil, rightNil) {
|
3448
|
+
const leftExp = checkNegatedExpression(leftNil, node.left);
|
3449
|
+
return leftExp && isEquivalentMemberExp2(
|
3450
|
+
leftExp,
|
3451
|
+
checkNegatedExpression(rightNil, node.right)
|
3452
|
+
);
|
3453
|
+
}
|
3454
|
+
const visitors = remedaContext.getImportVisitors();
|
3455
|
+
visitors.LogicalExpression = function(node) {
|
3456
|
+
if (node.operator === "||") {
|
3457
|
+
if (isEquivalentExistingExpression(node, "undefined", "null") || isEquivalentExistingExpression(node, "null", "undefined")) {
|
3458
|
+
context.report({
|
3459
|
+
node,
|
3460
|
+
message: "Prefer isNil over checking for undefined or null."
|
3461
|
+
});
|
3462
|
+
}
|
3463
|
+
} else if (isEquivalentExistingNegation(node, "undefined", "null") || isEquivalentExistingNegation(node, "null", "undefined")) {
|
3464
|
+
context.report({
|
3465
|
+
node,
|
3466
|
+
message: "Prefer isNil over checking for undefined or null."
|
3467
|
+
});
|
3468
|
+
}
|
3469
|
+
};
|
3470
|
+
return visitors;
|
3471
|
+
}
|
3472
|
+
var rule9 = {
|
3473
|
+
create: create10,
|
3474
|
+
meta: meta9
|
3475
|
+
};
|
3476
|
+
var RULE_NAME9 = "prefer-is-nil";
|
3477
|
+
var prefer_is_nil_default = rule9;
|
3478
|
+
|
3479
|
+
// src/rules/prefer-map.ts
|
3480
|
+
import get6 from "lodash/get";
|
3481
|
+
import includes6 from "lodash/includes";
|
3482
|
+
var {
|
3483
|
+
getFirstFunctionLine: getFirstFunctionLine4,
|
3484
|
+
hasOnlyOneStatement: hasOnlyOneStatement3,
|
3485
|
+
getMethodName: getMethodName3,
|
3486
|
+
isFunctionDefinitionWithBlock: isFunctionDefinitionWithBlock2,
|
3487
|
+
collectParameterValues: collectParameterValues2
|
3488
|
+
} = astUtil_default;
|
3489
|
+
var meta10 = {
|
3490
|
+
type: "problem",
|
3491
|
+
schema: [],
|
3492
|
+
docs: {
|
3493
|
+
url: getDocsUrl("prefer-map")
|
3494
|
+
}
|
3495
|
+
};
|
3496
|
+
function create11(context) {
|
3497
|
+
function onlyHasPush(func) {
|
3498
|
+
const firstLine = getFirstFunctionLine4(func);
|
3499
|
+
const firstParam = get6(func, "params[0]");
|
3500
|
+
const exp = func && !isFunctionDefinitionWithBlock2(func) ? firstLine : (
|
3501
|
+
//@ts-expect-error
|
3502
|
+
firstLine?.expression
|
3503
|
+
);
|
3504
|
+
return func && hasOnlyOneStatement3(func) && getMethodName3(exp) === "push" && !includes6(
|
3505
|
+
collectParameterValues2(firstParam),
|
3506
|
+
get6(exp, "callee.object.name")
|
3507
|
+
);
|
3508
|
+
}
|
3509
|
+
return getRemedaMethodVisitors(context, (node, iteratee2, { method: method2 }) => {
|
3510
|
+
if (method2 === "forEach" && onlyHasPush(iteratee2)) {
|
3511
|
+
context.report({
|
3512
|
+
node,
|
3513
|
+
message: "Prefer R.map over a R.forEach with a push to an array inside"
|
3514
|
+
});
|
3515
|
+
}
|
3516
|
+
});
|
3517
|
+
}
|
3518
|
+
var rule10 = {
|
3519
|
+
create: create11,
|
3520
|
+
meta: meta10
|
3521
|
+
};
|
3522
|
+
var RULE_NAME10 = "prefer-map";
|
3523
|
+
var prefer_map_default = rule10;
|
3524
|
+
|
3525
|
+
// src/rules/prefer-nullish-coalescing.ts
|
3526
|
+
var meta11 = {
|
3527
|
+
type: "problem",
|
3528
|
+
schema: [],
|
3529
|
+
docs: {
|
3530
|
+
url: getDocsUrl("prefer-nullish-coalescing")
|
3531
|
+
},
|
3532
|
+
fixable: "code"
|
3533
|
+
};
|
3534
|
+
function create12(context) {
|
3535
|
+
const remedaContext = getRemedaContext(context);
|
3536
|
+
function getTextOfNode(node) {
|
3537
|
+
if (node) {
|
3538
|
+
if (node.type === "Identifier") {
|
3539
|
+
return node.name;
|
3540
|
+
}
|
3541
|
+
return context.getSourceCode().getText(node);
|
3542
|
+
}
|
3543
|
+
}
|
3544
|
+
const visitors = remedaContext.getImportVisitors();
|
3545
|
+
visitors.ConditionalExpression = function(node) {
|
3546
|
+
const statement = node.test;
|
3547
|
+
if (statement.operator === "!") {
|
3548
|
+
if (statement.argument && statement.argument.callee && statement.argument.callee.name && statement.argument.callee.name === "isNullish") {
|
3549
|
+
const argument = getTextOfNode(statement.argument.arguments[0]);
|
3550
|
+
const consequent = getTextOfNode(node.consequent);
|
3551
|
+
const alternate = getTextOfNode(node.alternate);
|
3552
|
+
if (argument === consequent) {
|
3553
|
+
context.report({
|
3554
|
+
node,
|
3555
|
+
message: "Prefer nullish coalescing over checking a ternary with !isNullish.",
|
3556
|
+
fix(fixer) {
|
3557
|
+
return fixer.replaceText(node, `${argument} ?? ${alternate}`);
|
3558
|
+
}
|
3559
|
+
});
|
3560
|
+
}
|
3561
|
+
}
|
3562
|
+
}
|
3563
|
+
};
|
3564
|
+
return visitors;
|
3565
|
+
}
|
3566
|
+
var rule11 = {
|
3567
|
+
create: create12,
|
3568
|
+
meta: meta11
|
3569
|
+
};
|
3570
|
+
var RULE_NAME11 = "prefer-nullish-coalescing";
|
3571
|
+
var prefer_nullish_coalescing_default = rule11;
|
3572
|
+
|
3573
|
+
// src/rules/prefer-remeda-typecheck.ts
|
3574
|
+
import some2 from "lodash/some";
|
3575
|
+
var meta12 = {
|
3576
|
+
type: "problem",
|
3577
|
+
schema: [],
|
3578
|
+
docs: {
|
3579
|
+
url: getDocsUrl("prefer-remeda-typecheck")
|
3580
|
+
}
|
3581
|
+
};
|
3582
|
+
function create13(context) {
|
3583
|
+
const otherSides = {
|
3584
|
+
left: "right",
|
3585
|
+
right: "left"
|
3586
|
+
};
|
3587
|
+
function isTypeOf(node) {
|
3588
|
+
return node && node.type === "UnaryExpression" && node.operator === "typeof";
|
3589
|
+
}
|
3590
|
+
function isStrictComparison(node) {
|
3591
|
+
return node.operator === "===" || node.operator === "!==";
|
3592
|
+
}
|
3593
|
+
function isDeclaredVariable(node) {
|
3594
|
+
const sourceCode = context.sourceCode ?? context.getSourceCode();
|
3595
|
+
const scope = sourceCode?.getScope?.(node);
|
3596
|
+
const definedVariables = scope.variables;
|
3597
|
+
return some2(definedVariables, { name: node.name });
|
3598
|
+
}
|
3599
|
+
function getValueForSide(node, side) {
|
3600
|
+
const otherSide = otherSides[side];
|
3601
|
+
if (isTypeOf(node[side]) && (node[otherSide].value !== "undefined" || node[side].argument.type !== "Identifier" || isDeclaredVariable(node[side].argument))) {
|
3602
|
+
return node[otherSide].value;
|
3603
|
+
}
|
3604
|
+
}
|
3605
|
+
function getTypeofCompareType(node) {
|
3606
|
+
if (isStrictComparison(node)) {
|
3607
|
+
return getValueForSide(node, "left") || getValueForSide(node, "right");
|
3608
|
+
}
|
3609
|
+
}
|
3610
|
+
const REPORT_MESSAGE = "Prefer 'R.{{method}}' over {{actual}}.";
|
3611
|
+
return {
|
3612
|
+
BinaryExpression(node) {
|
3613
|
+
const typeofCompareType = getTypeofCompareType(node);
|
3614
|
+
if (typeofCompareType) {
|
3615
|
+
context.report({
|
3616
|
+
node,
|
3617
|
+
message: REPORT_MESSAGE,
|
3618
|
+
data: {
|
3619
|
+
method: getIsTypeMethod(typeofCompareType),
|
3620
|
+
actual: "'typeof' comparison"
|
3621
|
+
}
|
3622
|
+
});
|
3623
|
+
} else if (node.operator === "instanceof") {
|
3624
|
+
const remedaEquivalent = getIsTypeMethod(node.right.name);
|
3625
|
+
if (node.right.type === "Identifier" && remedaEquivalent) {
|
3626
|
+
context.report({
|
3627
|
+
node,
|
3628
|
+
message: REPORT_MESSAGE,
|
3629
|
+
data: {
|
3630
|
+
method: remedaEquivalent,
|
3631
|
+
actual: `'instanceof ${node.right.name}'`
|
3632
|
+
}
|
3633
|
+
});
|
3634
|
+
}
|
3635
|
+
}
|
3636
|
+
}
|
3637
|
+
};
|
3638
|
+
}
|
3639
|
+
var rule12 = {
|
3640
|
+
create: create13,
|
3641
|
+
meta: meta12
|
3642
|
+
};
|
3643
|
+
var RULE_NAME12 = "prefer-remeda-typecheck";
|
3644
|
+
var prefer_remeda_typecheck_default = rule12;
|
3645
|
+
|
3646
|
+
// src/rules/prefer-some.ts
|
3647
|
+
var { getExpressionComparedToInt: getExpressionComparedToInt2 } = astUtil_default;
|
3648
|
+
var meta13 = {
|
3649
|
+
type: "problem",
|
3650
|
+
docs: {
|
3651
|
+
url: getDocsUrl("prefer-some")
|
3652
|
+
},
|
3653
|
+
schema: []
|
3654
|
+
};
|
3655
|
+
function create14(context) {
|
3656
|
+
const visitors = getRemedaMethodVisitors(
|
3657
|
+
context,
|
3658
|
+
(node, iteratee2, { method: method2 }) => {
|
3659
|
+
if (method2 === "findIndex" && node === getExpressionComparedToInt2(node.parent, -1, true)) {
|
3660
|
+
context.report({
|
3661
|
+
node,
|
3662
|
+
message: "Prefer R.some over findIndex comparison to -1"
|
3663
|
+
});
|
3664
|
+
}
|
3665
|
+
}
|
3666
|
+
);
|
3667
|
+
return visitors;
|
3668
|
+
}
|
3669
|
+
var rule13 = {
|
3670
|
+
create: create14,
|
3671
|
+
meta: meta13
|
3672
|
+
};
|
3673
|
+
var RULE_NAME13 = "prefer-some";
|
3674
|
+
var prefer_some_default = rule13;
|
3675
|
+
|
3676
|
+
// src/rules/prefer-times.ts
|
3677
|
+
import { get as get7 } from "lodash";
|
3678
|
+
var meta14 = {
|
3679
|
+
type: "problem",
|
3680
|
+
schema: [],
|
3681
|
+
docs: {
|
3682
|
+
url: getDocsUrl("prefer-times")
|
3683
|
+
}
|
3684
|
+
};
|
3685
|
+
function create15(context) {
|
3686
|
+
return getRemedaMethodVisitors(context, (node, iteratee2, { method: method2 }) => {
|
3687
|
+
if (method2 === "map" && get7(iteratee2, "params.length") === 0) {
|
3688
|
+
context.report({
|
3689
|
+
node,
|
3690
|
+
message: "Prefer R.times over R.map without using arguments"
|
3691
|
+
});
|
3692
|
+
}
|
3693
|
+
});
|
3694
|
+
}
|
3695
|
+
var rule14 = {
|
3696
|
+
create: create15,
|
3697
|
+
meta: meta14
|
3698
|
+
};
|
3699
|
+
var RULE_NAME14 = "prefer-times";
|
3700
|
+
var prefer_times_default = rule14;
|
3701
|
+
|
3702
|
+
// src/rules/index.ts
|
3703
|
+
var rules = {
|
3704
|
+
[RULE_NAME]: collection_method_value_default,
|
3705
|
+
[RULE_NAME2]: collection_return_default,
|
3706
|
+
[RULE_NAME3]: prefer_constant_default,
|
3707
|
+
[RULE_NAME4]: prefer_do_nothing_default,
|
3708
|
+
[RULE_NAME5]: prefer_filter_default,
|
3709
|
+
[RULE_NAME6]: prefer_find_default,
|
3710
|
+
[RULE_NAME7]: prefer_flat_map_default,
|
3711
|
+
[RULE_NAME8]: prefer_is_empty_default,
|
3712
|
+
[RULE_NAME9]: prefer_is_nil_default,
|
3713
|
+
[RULE_NAME10]: prefer_map_default,
|
3714
|
+
[RULE_NAME11]: prefer_nullish_coalescing_default,
|
3715
|
+
[RULE_NAME12]: prefer_remeda_typecheck_default,
|
3716
|
+
[RULE_NAME13]: prefer_some_default,
|
3717
|
+
[RULE_NAME14]: prefer_times_default
|
3718
|
+
};
|
3719
|
+
|
3720
|
+
// src/index.ts
|
3721
|
+
var plugin = {
|
3722
|
+
meta: { name: package_default.name, version: package_default.version },
|
3723
|
+
// @ts-expect-error
|
3724
|
+
rules,
|
3725
|
+
configs: {},
|
3726
|
+
processors: {}
|
3727
|
+
};
|
3728
|
+
var pluginShortName = _2.last(plugin.meta.name.split("-"));
|
3729
|
+
Object.assign(plugin.configs, {
|
3730
|
+
recommended: {
|
3731
|
+
plugins: {
|
3732
|
+
[pluginShortName]: plugin
|
3733
|
+
},
|
3734
|
+
rules: {
|
3735
|
+
[`${pluginShortName}/prefer-is-empty`]: 2,
|
3736
|
+
[`${pluginShortName}/prefer-is-nil`]: 2,
|
3737
|
+
[`${pluginShortName}/prefer-times`]: 2,
|
3738
|
+
[`${pluginShortName}/prefer-constant`]: 2,
|
3739
|
+
[`${pluginShortName}/prefer-remeda-typecheck`]: 2,
|
3740
|
+
[`${pluginShortName}/prefer-nullish-coalescing`]: 2,
|
3741
|
+
[`${pluginShortName}/prefer-filter`]: [2, 3],
|
3742
|
+
[`${pluginShortName}/collection-method-value`]: 2,
|
3743
|
+
[`${pluginShortName}/collection-return`]: 2,
|
3744
|
+
[`${pluginShortName}/prefer-map`]: 2,
|
3745
|
+
[`${pluginShortName}/prefer-find`]: 2,
|
3746
|
+
[`${pluginShortName}/prefer-some`]: 2,
|
3747
|
+
[`${pluginShortName}/prefer-flat-map`]: 2,
|
3748
|
+
[`${pluginShortName}/prefer-do-nothing`]: 2
|
3749
|
+
}
|
3750
|
+
}
|
3751
|
+
});
|
3752
|
+
var src_default = plugin;
|
3753
|
+
export {
|
3754
|
+
src_default as default
|
3755
|
+
};
|