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