@umijs/utils 3.5.19 → 4.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/README.md +2 -0
  2. package/compiled/address/index.js +1 -0
  3. package/compiled/address/lib/address.d.ts +28 -0
  4. package/compiled/address/package.json +1 -0
  5. package/compiled/axios/LICENSE +19 -0
  6. package/compiled/axios/index.d.ts +206 -0
  7. package/compiled/axios/index.js +1 -0
  8. package/compiled/axios/package.json +1 -0
  9. package/compiled/chalk/LICENSE +9 -0
  10. package/compiled/chalk/index.d.ts +415 -0
  11. package/compiled/chalk/index.js +1 -0
  12. package/compiled/chalk/package.json +1 -0
  13. package/compiled/cheerio/LICENSE +21 -0
  14. package/compiled/cheerio/domelementtype/lib/index.d.ts +48 -0
  15. package/compiled/cheerio/domhandler/lib/index.d.ts +85 -0
  16. package/compiled/cheerio/domhandler/lib/node.d.ts +169 -0
  17. package/compiled/cheerio/htmlparser2/lib/Parser.d.ts +159 -0
  18. package/compiled/cheerio/htmlparser2/lib/Tokenizer.d.ts +182 -0
  19. package/compiled/cheerio/htmlparser2/lib/index.d.ts +39 -0
  20. package/compiled/cheerio/index.js +16 -0
  21. package/compiled/cheerio/lib/api/attributes.d.ts +317 -0
  22. package/compiled/cheerio/lib/api/css.d.ts +41 -0
  23. package/compiled/cheerio/lib/api/forms.d.ts +31 -0
  24. package/compiled/cheerio/lib/api/manipulation.d.ts +496 -0
  25. package/compiled/cheerio/lib/api/traversing.d.ts +644 -0
  26. package/compiled/cheerio/lib/cheerio.d.ts +53 -0
  27. package/compiled/cheerio/lib/index.d.ts +91 -0
  28. package/compiled/cheerio/lib/load.d.ts +73 -0
  29. package/compiled/cheerio/lib/options.d.ts +31 -0
  30. package/compiled/cheerio/lib/static.d.ts +88 -0
  31. package/compiled/cheerio/lib/types.d.ts +20 -0
  32. package/compiled/cheerio/package.json +1 -0
  33. package/compiled/color/LICENSE +21 -0
  34. package/compiled/color/color-convert/conversions.d.ts +149 -0
  35. package/compiled/color/color-convert/index.d.ts +113 -0
  36. package/compiled/color/color-convert/route.d.ts +294 -0
  37. package/compiled/color/color-name/index.d.ts +161 -0
  38. package/compiled/color/index.d.ts +142 -0
  39. package/compiled/color/index.js +1 -0
  40. package/compiled/color/package.json +4 -0
  41. package/compiled/cross-spawn/LICENSE +21 -0
  42. package/compiled/cross-spawn/index.d.ts +36 -0
  43. package/compiled/cross-spawn/index.js +1 -0
  44. package/compiled/cross-spawn/package.json +1 -0
  45. package/compiled/debug/LICENSE +19 -0
  46. package/compiled/debug/index.d.ts +54 -0
  47. package/compiled/debug/index.js +1 -0
  48. package/compiled/debug/ms/index.d.ts +25 -0
  49. package/compiled/debug/package.json +1 -0
  50. package/compiled/deepmerge/index.d.ts +16 -0
  51. package/compiled/deepmerge/index.js +1 -0
  52. package/compiled/deepmerge/package.json +1 -0
  53. package/compiled/execa/LICENSE +9 -0
  54. package/compiled/execa/index.d.ts +564 -0
  55. package/compiled/execa/index.js +1 -0
  56. package/compiled/execa/package.json +1 -0
  57. package/compiled/fs-extra/LICENSE +15 -0
  58. package/compiled/fs-extra/index.d.ts +332 -0
  59. package/compiled/fs-extra/index.js +1 -0
  60. package/compiled/fs-extra/package.json +1 -0
  61. package/compiled/glob/LICENSE +21 -0
  62. package/compiled/glob/index.d.ts +89 -0
  63. package/compiled/glob/index.js +1 -0
  64. package/compiled/glob/minimatch/index.d.ts +204 -0
  65. package/compiled/glob/package.json +1 -0
  66. package/compiled/import-lazy/LICENSE +9 -0
  67. package/compiled/import-lazy/index.d.ts +26 -0
  68. package/compiled/import-lazy/index.js +1 -0
  69. package/compiled/import-lazy/package.json +1 -0
  70. package/compiled/lodash/LICENSE +47 -0
  71. package/compiled/lodash/common/array.d.ts +2126 -0
  72. package/compiled/lodash/common/collection.d.ts +1930 -0
  73. package/compiled/lodash/common/common.d.ts +280 -0
  74. package/compiled/lodash/common/date.d.ts +23 -0
  75. package/compiled/lodash/common/function.d.ts +1430 -0
  76. package/compiled/lodash/common/lang.d.ts +1692 -0
  77. package/compiled/lodash/common/math.d.ts +405 -0
  78. package/compiled/lodash/common/number.d.ts +131 -0
  79. package/compiled/lodash/common/object.d.ts +2519 -0
  80. package/compiled/lodash/common/seq.d.ts +210 -0
  81. package/compiled/lodash/common/string.d.ts +788 -0
  82. package/compiled/lodash/common/util.d.ts +1219 -0
  83. package/compiled/lodash/index.d.ts +46 -0
  84. package/compiled/lodash/index.js +9 -0
  85. package/compiled/lodash/package.json +1 -0
  86. package/compiled/mustache/LICENSE +11 -0
  87. package/compiled/mustache/index.d.ts +437 -0
  88. package/compiled/mustache/index.js +5 -0
  89. package/compiled/mustache/package.json +1 -0
  90. package/compiled/pkg-up/LICENSE +9 -0
  91. package/compiled/pkg-up/index.d.ts +48 -0
  92. package/compiled/pkg-up/index.js +1 -0
  93. package/compiled/pkg-up/package.json +1 -0
  94. package/compiled/portfinder/LICENSE +22 -0
  95. package/compiled/portfinder/index.js +1 -0
  96. package/compiled/portfinder/lib/portfinder.d.ts +47 -0
  97. package/compiled/portfinder/package.json +1 -0
  98. package/compiled/prettier/LICENSE +7 -0
  99. package/compiled/prettier/index.d.ts +756 -0
  100. package/compiled/prettier/index.js +263 -0
  101. package/compiled/prettier/package.json +1 -0
  102. package/compiled/prompts/LICENSE +21 -0
  103. package/compiled/prompts/index.d.ts +120 -0
  104. package/compiled/prompts/index.js +1 -0
  105. package/compiled/prompts/package.json +1 -0
  106. package/compiled/resolve/LICENSE +21 -0
  107. package/compiled/resolve/index.d.ts +166 -0
  108. package/compiled/resolve/index.js +1 -0
  109. package/compiled/resolve/package.json +1 -0
  110. package/compiled/rimraf/LICENSE +15 -0
  111. package/compiled/rimraf/glob/index.d.ts +89 -0
  112. package/compiled/rimraf/index.d.ts +49 -0
  113. package/compiled/rimraf/index.js +1 -0
  114. package/compiled/rimraf/minimatch/index.d.ts +204 -0
  115. package/compiled/rimraf/package.json +1 -0
  116. package/compiled/semver/LICENSE +15 -0
  117. package/compiled/semver/classes/comparator.d.ts +17 -0
  118. package/compiled/semver/classes/range.d.ts +21 -0
  119. package/compiled/semver/classes/semver.d.ts +62 -0
  120. package/compiled/semver/functions/clean.d.ts +8 -0
  121. package/compiled/semver/functions/cmp.d.ts +16 -0
  122. package/compiled/semver/functions/coerce.d.ts +12 -0
  123. package/compiled/semver/functions/compare-build.d.ts +16 -0
  124. package/compiled/semver/functions/compare-loose.d.ts +5 -0
  125. package/compiled/semver/functions/compare.d.ts +20 -0
  126. package/compiled/semver/functions/diff.d.ts +13 -0
  127. package/compiled/semver/functions/eq.d.ts +9 -0
  128. package/compiled/semver/functions/gt.d.ts +9 -0
  129. package/compiled/semver/functions/gte.d.ts +9 -0
  130. package/compiled/semver/functions/inc.d.ts +15 -0
  131. package/compiled/semver/functions/lt.d.ts +9 -0
  132. package/compiled/semver/functions/lte.d.ts +8 -0
  133. package/compiled/semver/functions/major.d.ts +9 -0
  134. package/compiled/semver/functions/minor.d.ts +9 -0
  135. package/compiled/semver/functions/neq.d.ts +9 -0
  136. package/compiled/semver/functions/parse.d.ts +12 -0
  137. package/compiled/semver/functions/patch.d.ts +9 -0
  138. package/compiled/semver/functions/prerelease.d.ts +12 -0
  139. package/compiled/semver/functions/rcompare.d.ts +15 -0
  140. package/compiled/semver/functions/rsort.d.ts +9 -0
  141. package/compiled/semver/functions/satisfies.d.ts +14 -0
  142. package/compiled/semver/functions/sort.d.ts +9 -0
  143. package/compiled/semver/functions/valid.d.ts +11 -0
  144. package/compiled/semver/index.d.ts +133 -0
  145. package/compiled/semver/index.js +1 -0
  146. package/compiled/semver/internals/identifiers.d.ts +13 -0
  147. package/compiled/semver/package.json +1 -0
  148. package/compiled/semver/ranges/gtr.d.ts +14 -0
  149. package/compiled/semver/ranges/intersects.d.ts +13 -0
  150. package/compiled/semver/ranges/ltr.d.ts +14 -0
  151. package/compiled/semver/ranges/max-satisfying.d.ts +14 -0
  152. package/compiled/semver/ranges/min-satisfying.d.ts +14 -0
  153. package/compiled/semver/ranges/min-version.d.ts +10 -0
  154. package/compiled/semver/ranges/outside.d.ts +15 -0
  155. package/compiled/semver/ranges/simplify.d.ts +14 -0
  156. package/compiled/semver/ranges/subset.d.ts +13 -0
  157. package/compiled/semver/ranges/to-comparators.d.ts +9 -0
  158. package/compiled/semver/ranges/valid.d.ts +12 -0
  159. package/compiled/strip-ansi/LICENSE +9 -0
  160. package/compiled/strip-ansi/index.d.ts +17 -0
  161. package/compiled/strip-ansi/index.js +1 -0
  162. package/compiled/strip-ansi/package.json +1 -0
  163. package/compiled/yargs-parser/index.d.ts +112 -0
  164. package/compiled/yargs-parser/index.js +1 -0
  165. package/compiled/yargs-parser/package.json +1 -0
  166. package/dist/BaseGenerator/BaseGenerator.d.ts +18 -0
  167. package/dist/BaseGenerator/BaseGenerator.js +58 -0
  168. package/dist/BaseGenerator/generateFile.d.ts +8 -0
  169. package/dist/BaseGenerator/generateFile.js +25 -0
  170. package/{lib → dist}/Generator/Generator.d.ts +3 -3
  171. package/dist/Generator/Generator.js +74 -0
  172. package/dist/importLazy.d.ts +6 -0
  173. package/dist/importLazy.js +17 -0
  174. package/dist/index.d.ts +33 -0
  175. package/dist/index.js +88 -0
  176. package/dist/installDeps.d.ts +9 -0
  177. package/dist/installDeps.js +39 -0
  178. package/dist/logger.d.ts +14 -0
  179. package/dist/logger.js +39 -0
  180. package/dist/npmClient.d.ts +15 -0
  181. package/dist/npmClient.js +43 -0
  182. package/dist/randomColor/randomColor.d.ts +6 -0
  183. package/dist/randomColor/randomColor.js +19 -0
  184. package/dist/register.d.ts +6 -0
  185. package/dist/register.js +48 -0
  186. package/dist/updatePackageJSON.d.ts +5 -0
  187. package/dist/updatePackageJSON.js +21 -0
  188. package/dist/winPath.d.ts +1 -0
  189. package/dist/winPath.js +11 -0
  190. package/package.json +102 -18
  191. package/lib/BabelRegister/BabelRegister.d.ts +0 -9
  192. package/lib/BabelRegister/BabelRegister.js +0 -66
  193. package/lib/Generator/Generator.js +0 -120
  194. package/lib/cheerio/cheerio.d.ts +0 -2
  195. package/lib/cheerio/cheerio.js +0 -37
  196. package/lib/cleanRequireCache/cleanRequireCache.d.ts +0 -1
  197. package/lib/cleanRequireCache/cleanRequireCache.js +0 -40
  198. package/lib/compatESModuleRequire/compatESModuleRequire.d.ts +0 -7
  199. package/lib/compatESModuleRequire/compatESModuleRequire.js +0 -22
  200. package/lib/delay/delay.d.ts +0 -1
  201. package/lib/delay/delay.js +0 -22
  202. package/lib/getFile/getFile.d.ts +0 -22
  203. package/lib/getFile/getFile.js +0 -85
  204. package/lib/index.d.ts +0 -66
  205. package/lib/index.js +0 -619
  206. package/lib/isLernaPackage/isLernaPackage.d.ts +0 -1
  207. package/lib/isLernaPackage/isLernaPackage.js +0 -42
  208. package/lib/mergeConfig/mergeConfig.d.ts +0 -8
  209. package/lib/mergeConfig/mergeConfig.js +0 -42
  210. package/lib/parseRequireDeps/parseRequireDeps.d.ts +0 -1
  211. package/lib/parseRequireDeps/parseRequireDeps.js +0 -98
  212. package/lib/randomColor/randomColor.d.ts +0 -6
  213. package/lib/randomColor/randomColor.js +0 -42
  214. package/lib/routes.d.ts +0 -11
  215. package/lib/routes.js +0 -53
  216. package/lib/ssr.d.ts +0 -12
  217. package/lib/ssr.js +0 -41
  218. package/lib/types.d.ts +0 -7
  219. package/lib/types.js +0 -17
  220. package/lib/winEOL/winEOL.d.ts +0 -7
  221. package/lib/winEOL/winEOL.js +0 -39
  222. package/lib/winPath/winPath.d.ts +0 -1
  223. package/lib/winPath/winPath.js +0 -28
@@ -0,0 +1,280 @@
1
+ import _ = require("../index");
2
+ // tslint:disable-next-line:strict-export-declare-modifiers
3
+ type GlobalPartial<T> = Partial<T>;
4
+ declare module "../index" {
5
+ type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
6
+ type PartialObject<T> = GlobalPartial<T>;
7
+ type Many<T> = T | ReadonlyArray<T>;
8
+ type ImpChain<T> =
9
+ T extends { __trapAny: any } ? Collection<any> & Function<any> & Object<any> & Primitive<any> & String :
10
+ T extends null | undefined ? never :
11
+ T extends string | null | undefined ? String :
12
+ T extends (...args: any) => any ? Function<T> :
13
+ T extends List<infer U> | null | undefined ? Collection<U> :
14
+ T extends object | null | undefined ? Object<T> :
15
+ Primitive<T>;
16
+ type ExpChain<T> =
17
+ T extends { __trapAny: any } ? CollectionChain<any> & FunctionChain<any> & ObjectChain<any> & PrimitiveChain<any> & StringChain :
18
+ T extends null | undefined ? never :
19
+ T extends string ? StringChain :
20
+ T extends string | null | undefined ? StringNullableChain :
21
+ T extends (...args: any) => any ? FunctionChain<T> :
22
+ T extends List<infer U> | null | undefined ? CollectionChain<U> :
23
+ T extends object | null | undefined ? ObjectChain<T> :
24
+ PrimitiveChain<T>;
25
+ interface LoDashStatic {
26
+ /**
27
+ * Creates a lodash object which wraps value to enable implicit method chain sequences.
28
+ * Methods that operate on and return arrays, collections, and functions can be chained together.
29
+ * Methods that retrieve a single value or may return a primitive value will automatically end the
30
+ * chain sequence and return the unwrapped value. Otherwise, the value must be unwrapped with value().
31
+ *
32
+ * Explicit chain sequences, which must be unwrapped with value(), may be enabled using _.chain.
33
+ *
34
+ * The execution of chained methods is lazy, that is, it's deferred until value() is
35
+ * implicitly or explicitly called.
36
+ *
37
+ * Lazy evaluation allows several methods to support shortcut fusion. Shortcut fusion
38
+ * is an optimization to merge iteratee calls; this avoids the creation of intermediate
39
+ * arrays and can greatly reduce the number of iteratee executions. Sections of a chain
40
+ * sequence qualify for shortcut fusion if the section is applied to an array and iteratees
41
+ * accept only one argument. The heuristic for whether a section qualifies for shortcut
42
+ * fusion is subject to change.
43
+ *
44
+ * Chaining is supported in custom builds as long as the value() method is directly or
45
+ * indirectly included in the build.
46
+ *
47
+ * In addition to lodash methods, wrappers have Array and String methods.
48
+ * The wrapper Array methods are:
49
+ * concat, join, pop, push, shift, sort, splice, and unshift.
50
+ * The wrapper String methods are:
51
+ * replace and split.
52
+ *
53
+ * The wrapper methods that support shortcut fusion are:
54
+ * at, compact, drop, dropRight, dropWhile, filter, find, findLast, head, initial, last,
55
+ * map, reject, reverse, slice, tail, take, takeRight, takeRightWhile, takeWhile, and toArray
56
+ *
57
+ * The chainable wrapper methods are:
58
+ * after, ary, assign, assignIn, assignInWith, assignWith, at, before, bind, bindAll, bindKey,
59
+ * castArray, chain, chunk, commit, compact, concat, conforms, constant, countBy, create,
60
+ * curry, debounce, defaults, defaultsDeep, defer, delay, difference, differenceBy, differenceWith,
61
+ * drop, dropRight, dropRightWhile, dropWhile, extend, extendWith, fill, filter, flatMap,
62
+ * flatMapDeep, flatMapDepth, flatten, flattenDeep, flattenDepth, flip, flow, flowRight,
63
+ * fromPairs, functions, functionsIn, groupBy, initial, intersection, intersectionBy, intersectionWith,
64
+ * invert, invertBy, invokeMap, iteratee, keyBy, keys, keysIn, map, mapKeys, mapValues,
65
+ * matches, matchesProperty, memoize, merge, mergeWith, method, methodOf, mixin, negate,
66
+ * nthArg, omit, omitBy, once, orderBy, over, overArgs, overEvery, overSome, partial, partialRight,
67
+ * partition, pick, pickBy, plant, property, propertyOf, pull, pullAll, pullAllBy, pullAllWith, pullAt,
68
+ * push, range, rangeRight, rearg, reject, remove, rest, reverse, sampleSize, set, setWith,
69
+ * shuffle, slice, sort, sortBy, sortedUniq, sortedUniqBy, splice, spread, tail, take,
70
+ * takeRight, takeRightWhile, takeWhile, tap, throttle, thru, toArray, toPairs, toPairsIn,
71
+ * toPath, toPlainObject, transform, unary, union, unionBy, unionWith, uniq, uniqBy, uniqWith,
72
+ * unset, unshift, unzip, unzipWith, update, updateWith, values, valuesIn, without, wrap,
73
+ * xor, xorBy, xorWith, zip, zipObject, zipObjectDeep, and zipWith.
74
+ *
75
+ * The wrapper methods that are not chainable by default are:
76
+ * add, attempt, camelCase, capitalize, ceil, clamp, clone, cloneDeep, cloneDeepWith, cloneWith,
77
+ * conformsTo, deburr, defaultTo, divide, each, eachRight, endsWith, eq, escape, escapeRegExp,
78
+ * every, find, findIndex, findKey, findLast, findLastIndex, findLastKey, first, floor, forEach,
79
+ * forEachRight, forIn, forInRight, forOwn, forOwnRight, get, gt, gte, has, hasIn, head,
80
+ * identity, includes, indexOf, inRange, invoke, isArguments, isArray, isArrayBuffer,
81
+ * isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith,
82
+ * isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN,
83
+ * isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp,
84
+ * isSafeInteger, isSet, isString, isUndefined, isTypedArray, isWeakMap, isWeakSet, join,
85
+ * kebabCase, last, lastIndexOf, lowerCase, lowerFirst, lt, lte, max, maxBy, mean, meanBy,
86
+ * min, minBy, multiply, noConflict, noop, now, nth, pad, padEnd, padStart, parseInt, pop,
87
+ * random, reduce, reduceRight, repeat, result, round, runInContext, sample, shift, size,
88
+ * snakeCase, some, sortedIndex, sortedIndexBy, sortedLastIndex, sortedLastIndexBy, startCase,
89
+ * startsWith, stubArray, stubFalse, stubObject, stubString, stubTrue, subtract, sum, sumBy,
90
+ * template, times, toFinite, toInteger, toJSON, toLength, toLower, toNumber, toSafeInteger,
91
+ * toString, toUpper, trim, trimEnd, trimStart, truncate, unescape, uniqueId, upperCase,
92
+ * upperFirst, value, and words.
93
+ **/
94
+ <TrapAny extends { __trapAny: any }>(value: TrapAny): Collection<any> & Function<any> & Object<any> & Primitive<any> & String;
95
+ <T extends null | undefined>(value: T): Primitive<T>;
96
+ (value: string | null | undefined): String;
97
+ <T extends (...args: any) => any>(value: T): Function<T>;
98
+ <T = any>(value: List<T> | null | undefined): Collection<T>;
99
+ <T extends object>(value: T | null | undefined): Object<T>;
100
+ <T>(value: T): Primitive<T>;
101
+ /**
102
+ * The semantic version number.
103
+ **/
104
+ VERSION: string;
105
+ /**
106
+ * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby
107
+ * (ERB). Change the following template settings to use alternative delimiters.
108
+ **/
109
+ templateSettings: TemplateSettings;
110
+ }
111
+ /**
112
+ * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby
113
+ * (ERB). Change the following template settings to use alternative delimiters.
114
+ **/
115
+ interface TemplateSettings {
116
+ /**
117
+ * The "escape" delimiter.
118
+ **/
119
+ escape?: RegExp | undefined;
120
+ /**
121
+ * The "evaluate" delimiter.
122
+ **/
123
+ evaluate?: RegExp | undefined;
124
+ /**
125
+ * An object to import into the template as local variables.
126
+ */
127
+ imports?: Dictionary<any> | undefined;
128
+ /**
129
+ * The "interpolate" delimiter.
130
+ */
131
+ interpolate?: RegExp | undefined;
132
+ /**
133
+ * Used to reference the data object in the template text.
134
+ */
135
+ variable?: string | undefined;
136
+ }
137
+ /**
138
+ * Creates a cache object to store key/value pairs.
139
+ */
140
+ interface MapCache {
141
+ /**
142
+ * Removes `key` and its value from the cache.
143
+ * @param key The key of the value to remove.
144
+ * @return Returns `true` if the entry was removed successfully, else `false`.
145
+ */
146
+ delete(key: any): boolean;
147
+ /**
148
+ * Gets the cached value for `key`.
149
+ * @param key The key of the value to get.
150
+ * @return Returns the cached value.
151
+ */
152
+ get(key: any): any;
153
+ /**
154
+ * Checks if a cached value for `key` exists.
155
+ * @param key The key of the entry to check.
156
+ * @return Returns `true` if an entry for `key` exists, else `false`.
157
+ */
158
+ has(key: any): boolean;
159
+ /**
160
+ * Sets `value` to `key` of the cache.
161
+ * @param key The key of the value to cache.
162
+ * @param value The value to cache.
163
+ * @return Returns the cache object.
164
+ */
165
+ set(key: any, value: any): this;
166
+ /**
167
+ * Removes all key-value entries from the map.
168
+ */
169
+ clear?: (() => void) | undefined;
170
+ }
171
+ interface MapCacheConstructor {
172
+ new (): MapCache;
173
+ }
174
+ interface Collection<T> {
175
+ pop(): T | undefined;
176
+ push(...items: T[]): this;
177
+ shift(): T | undefined;
178
+ sort(compareFn?: (a: T, b: T) => number): this;
179
+ splice(start: number, deleteCount?: number, ...items: T[]): this;
180
+ unshift(...items: T[]): this;
181
+ }
182
+ interface CollectionChain<T> {
183
+ pop(): ExpChain<T | undefined>;
184
+ push(...items: T[]): this;
185
+ shift(): ExpChain<T | undefined>;
186
+ sort(compareFn?: (a: T, b: T) => number): this;
187
+ splice(start: number, deleteCount?: number, ...items: T[]): this;
188
+ unshift(...items: T[]): this;
189
+ }
190
+ interface Function<T extends (...args: any) => any> extends LoDashImplicitWrapper<T> {
191
+ }
192
+ interface String extends LoDashImplicitWrapper<string> {
193
+ }
194
+ interface Object<T> extends LoDashImplicitWrapper<T> {
195
+ }
196
+ interface Collection<T> extends LoDashImplicitWrapper<T[]> {
197
+ }
198
+ interface Primitive<T> extends LoDashImplicitWrapper<T> {
199
+ }
200
+ interface FunctionChain<T extends (...args: any) => any> extends LoDashExplicitWrapper<T> {
201
+ }
202
+ interface StringChain extends LoDashExplicitWrapper<string> {
203
+ }
204
+ interface StringNullableChain extends LoDashExplicitWrapper<string | undefined> {
205
+ }
206
+ interface ObjectChain<T> extends LoDashExplicitWrapper<T> {
207
+ }
208
+ interface CollectionChain<T> extends LoDashExplicitWrapper<T[]> {
209
+ }
210
+ interface PrimitiveChain<T> extends LoDashExplicitWrapper<T> {
211
+ }
212
+ type NotVoid = unknown;
213
+ type IterateeShorthand<T> = PropertyName | [PropertyName, any] | PartialShallow<T>;
214
+ type ArrayIterator<T, TResult> = (value: T, index: number, collection: T[]) => TResult;
215
+ type ListIterator<T, TResult> = (value: T, index: number, collection: List<T>) => TResult;
216
+ type ListIteratee<T> = ListIterator<T, NotVoid> | IterateeShorthand<T>;
217
+ type ListIterateeCustom<T, TResult> = ListIterator<T, TResult> | IterateeShorthand<T>;
218
+ type ListIteratorTypeGuard<T, S extends T> = (value: T, index: number, collection: List<T>) => value is S;
219
+ // Note: key should be string, not keyof T, because the actual object may contain extra properties that were not specified in the type.
220
+ type ObjectIterator<TObject, TResult> = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult;
221
+ type ObjectIteratee<TObject> = ObjectIterator<TObject, NotVoid> | IterateeShorthand<TObject[keyof TObject]>;
222
+ type ObjectIterateeCustom<TObject, TResult> = ObjectIterator<TObject, TResult> | IterateeShorthand<TObject[keyof TObject]>;
223
+ type ObjectIteratorTypeGuard<TObject, S extends TObject[keyof TObject]> = (value: TObject[keyof TObject], key: string, collection: TObject) => value is S;
224
+ type StringIterator<TResult> = (char: string, index: number, string: string) => TResult;
225
+ /** @deprecated Use MemoVoidArrayIterator or MemoVoidDictionaryIterator instead. */
226
+ type MemoVoidIterator<T, TResult> = (prev: TResult, curr: T, indexOrKey: any, list: T[]) => void;
227
+ /** @deprecated Use MemoListIterator or MemoObjectIterator instead. */
228
+ type MemoIterator<T, TResult> = (prev: TResult, curr: T, indexOrKey: any, list: T[]) => TResult;
229
+ type MemoListIterator<T, TResult, TList> = (prev: TResult, curr: T, index: number, list: TList) => TResult;
230
+ type MemoObjectIterator<T, TResult, TList> = (prev: TResult, curr: T, key: string, list: TList) => TResult;
231
+ type MemoIteratorCapped<T, TResult> = (prev: TResult, curr: T) => TResult;
232
+ type MemoIteratorCappedRight<T, TResult> = (curr: T, prev: TResult) => TResult;
233
+ type MemoVoidArrayIterator<T, TResult> = (acc: TResult, curr: T, index: number, arr: T[]) => void;
234
+ type MemoVoidDictionaryIterator<T, K extends string | number | symbol, TResult> = (acc: TResult, curr: T, key: K, dict: Record<K, T>) => void;
235
+ type MemoVoidIteratorCapped<T, TResult> = (acc: TResult, curr: T) => void;
236
+ type ValueIteratee<T> = ((value: T) => NotVoid) | IterateeShorthand<T>;
237
+ type ValueIterateeCustom<T, TResult> = ((value: T) => TResult) | IterateeShorthand<T>;
238
+ type ValueIteratorTypeGuard<T, S extends T> = (value: T) => value is S;
239
+ type ValueKeyIteratee<T> = ((value: T, key: string) => NotVoid) | IterateeShorthand<T>;
240
+ type ValueKeyIterateeTypeGuard<T, S extends T> = (value: T, key: string) => value is S;
241
+ type Comparator<T> = (a: T, b: T) => boolean;
242
+ type Comparator2<T1, T2> = (a: T1, b: T2) => boolean;
243
+ type PropertyName = string | number | symbol;
244
+ type PropertyPath = Many<PropertyName>;
245
+ /** Common interface between Arrays and jQuery objects */
246
+ type List<T> = ArrayLike<T>;
247
+ interface Dictionary<T> {
248
+ [index: string]: T;
249
+ }
250
+ interface NumericDictionary<T> {
251
+ [index: number]: T;
252
+ }
253
+ // Crazy typedef needed get _.omit to work properly with Dictionary and NumericDictionary
254
+ type AnyKindOfDictionary =
255
+ | Dictionary<unknown>
256
+ | NumericDictionary<unknown>;
257
+ type PartialShallow<T> = {
258
+ [P in keyof T]?: T[P] extends object ? object : T[P]
259
+ };
260
+ // For backwards compatibility
261
+ type LoDashImplicitArrayWrapper<T> = LoDashImplicitWrapper<T[]>;
262
+ type LoDashImplicitNillableArrayWrapper<T> = LoDashImplicitWrapper<T[] | null | undefined>;
263
+ type LoDashImplicitObjectWrapper<T> = LoDashImplicitWrapper<T>;
264
+ type LoDashImplicitNillableObjectWrapper<T> = LoDashImplicitWrapper<T | null | undefined>;
265
+ type LoDashImplicitNumberArrayWrapper = LoDashImplicitWrapper<number[]>;
266
+ type LoDashImplicitStringWrapper = LoDashImplicitWrapper<string>;
267
+ type LoDashExplicitArrayWrapper<T> = LoDashExplicitWrapper<T[]>;
268
+ type LoDashExplicitNillableArrayWrapper<T> = LoDashExplicitWrapper<T[] | null | undefined>;
269
+ type LoDashExplicitObjectWrapper<T> = LoDashExplicitWrapper<T>;
270
+ type LoDashExplicitNillableObjectWrapper<T> = LoDashExplicitWrapper<T | null | undefined>;
271
+ type LoDashExplicitNumberArrayWrapper = LoDashExplicitWrapper<number[]>;
272
+ type LoDashExplicitStringWrapper = LoDashExplicitWrapper<string>;
273
+ type DictionaryIterator<T, TResult> = ObjectIterator<Dictionary<T>, TResult>;
274
+ type DictionaryIteratee<T> = ObjectIteratee<Dictionary<T>>;
275
+ type DictionaryIteratorTypeGuard<T, S extends T> = ObjectIteratorTypeGuard<Dictionary<T>, S>;
276
+ // NOTE: keys of objects at run time are always strings, even when a NumericDictionary is being iterated.
277
+ type NumericDictionaryIterator<T, TResult> = (value: T, key: string, collection: NumericDictionary<T>) => TResult;
278
+ type NumericDictionaryIteratee<T> = NumericDictionaryIterator<T, NotVoid> | IterateeShorthand<T>;
279
+ type NumericDictionaryIterateeCustom<T, TResult> = NumericDictionaryIterator<T, TResult> | IterateeShorthand<T>;
280
+ }
@@ -0,0 +1,23 @@
1
+ import _ = require("../index");
2
+ declare module "../index" {
3
+ interface LoDashStatic {
4
+ /*
5
+ * Gets the number of milliseconds that have elapsed since the Unix epoch (1 January 1970 00:00:00 UTC).
6
+ *
7
+ * @return The number of milliseconds.
8
+ */
9
+ now(): number;
10
+ }
11
+ interface LoDashImplicitWrapper<TValue> {
12
+ /**
13
+ * @see _.now
14
+ */
15
+ now(): number;
16
+ }
17
+ interface LoDashExplicitWrapper<TValue> {
18
+ /**
19
+ * @see _.now
20
+ */
21
+ now(): PrimitiveChain<number>;
22
+ }
23
+ }