@dxyl/utils 1.3.0 → 1.3.1

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 (420) hide show
  1. package/dist/index.es.js +8577 -8342
  2. package/dist/index.umd.js +25 -25
  3. package/lib/glslang/glslang.d.ts +14 -14
  4. package/lib/glslang/glslang.js +112 -112
  5. package/lib/twgsl/twgsl.js +53 -53
  6. package/package.json +51 -51
  7. package/types/Disposable.d.ts +21 -0
  8. package/types/PluginService.d.ts +20 -16
  9. package/types/Pool.d.ts +90 -0
  10. package/types/StackCursor.d.ts +6 -0
  11. package/types/Transaction.d.ts +25 -0
  12. package/types/data/immer.d.ts +262 -262
  13. package/types/data/immutable.d.ts +5127 -5127
  14. package/types/data/mobx.d.ts +2 -2
  15. package/types/events/event_emiter.d.ts +43 -43
  16. package/types/fast-deep-equal.d.ts +1 -1
  17. package/types/index.d.ts +4 -0
  18. package/types/lodash/add.d.ts +2 -1
  19. package/types/lodash/after.d.ts +2 -1
  20. package/types/lodash/array.d.ts +3 -1
  21. package/types/lodash/array.default.d.ts +70 -68
  22. package/types/lodash/ary.d.ts +2 -1
  23. package/types/lodash/assign.d.ts +2 -1
  24. package/types/lodash/assignIn.d.ts +2 -1
  25. package/types/lodash/assignInWith.d.ts +2 -1
  26. package/types/lodash/assignWith.d.ts +2 -1
  27. package/types/lodash/at.d.ts +2 -1
  28. package/types/lodash/attempt.d.ts +2 -1
  29. package/types/lodash/augment.d.ts +2 -2
  30. package/types/lodash/before.d.ts +2 -1
  31. package/types/lodash/bind.d.ts +2 -1
  32. package/types/lodash/bindAll.d.ts +2 -1
  33. package/types/lodash/bindKey.d.ts +2 -1
  34. package/types/lodash/cache.d.ts +14 -14
  35. package/types/lodash/camelCase.d.ts +2 -1
  36. package/types/lodash/capitalize.d.ts +2 -1
  37. package/types/lodash/castArray.d.ts +2 -1
  38. package/types/lodash/ceil.d.ts +2 -1
  39. package/types/lodash/chain.d.ts +2 -1
  40. package/types/lodash/chunk.d.ts +2 -1
  41. package/types/lodash/clamp.d.ts +2 -1
  42. package/types/lodash/clear-animation-frame.d.ts +1 -1
  43. package/types/lodash/clone.d.ts +2 -1
  44. package/types/lodash/cloneDeep.d.ts +2 -1
  45. package/types/lodash/cloneDeepWith.d.ts +2 -1
  46. package/types/lodash/cloneWith.d.ts +2 -1
  47. package/types/lodash/collection.d.ts +3 -1
  48. package/types/lodash/collection.default.d.ts +33 -31
  49. package/types/lodash/compact.d.ts +2 -1
  50. package/types/lodash/concat.d.ts +2 -1
  51. package/types/lodash/cond.d.ts +2 -1
  52. package/types/lodash/conforms.d.ts +2 -1
  53. package/types/lodash/conformsTo.d.ts +2 -1
  54. package/types/lodash/constant.d.ts +2 -1
  55. package/types/lodash/contains.d.ts +2 -2
  56. package/types/lodash/countBy.d.ts +2 -1
  57. package/types/lodash/create.d.ts +2 -1
  58. package/types/lodash/curry.d.ts +2 -1
  59. package/types/lodash/curryRight.d.ts +2 -1
  60. package/types/lodash/date.d.ts +3 -1
  61. package/types/lodash/date.default.d.ts +6 -4
  62. package/types/lodash/debounce.d.ts +4 -2
  63. package/types/lodash/deburr.d.ts +2 -1
  64. package/types/lodash/deep-mix.d.ts +2 -2
  65. package/types/lodash/defaultTo.d.ts +2 -1
  66. package/types/lodash/defaults.d.ts +2 -1
  67. package/types/lodash/defaultsDeep.d.ts +2 -1
  68. package/types/lodash/defer.d.ts +2 -1
  69. package/types/lodash/delay.d.ts +2 -1
  70. package/types/lodash/difference.d.ts +2 -1
  71. package/types/lodash/differenceBy.d.ts +2 -1
  72. package/types/lodash/differenceWith.d.ts +2 -1
  73. package/types/lodash/divide.d.ts +2 -1
  74. package/types/lodash/drop.d.ts +2 -1
  75. package/types/lodash/dropRight.d.ts +2 -1
  76. package/types/lodash/dropRightWhile.d.ts +2 -1
  77. package/types/lodash/dropWhile.d.ts +2 -1
  78. package/types/lodash/each.d.ts +2 -1
  79. package/types/lodash/eachRight.d.ts +2 -1
  80. package/types/lodash/ends-with.d.ts +3 -3
  81. package/types/lodash/endsWith.d.ts +2 -1
  82. package/types/lodash/entries.d.ts +2 -1
  83. package/types/lodash/entriesIn.d.ts +2 -1
  84. package/types/lodash/eq.d.ts +2 -1
  85. package/types/lodash/escape.d.ts +2 -1
  86. package/types/lodash/escapeRegExp.d.ts +2 -1
  87. package/types/lodash/every.d.ts +2 -1
  88. package/types/lodash/extend.d.ts +2 -1
  89. package/types/lodash/extendWith.d.ts +2 -1
  90. package/types/lodash/fill.d.ts +2 -1
  91. package/types/lodash/filter.d.ts +2 -1
  92. package/types/lodash/find-index.d.ts +2 -2
  93. package/types/lodash/find.d.ts +2 -1
  94. package/types/lodash/findIndex.d.ts +2 -1
  95. package/types/lodash/findKey.d.ts +2 -1
  96. package/types/lodash/findLast.d.ts +2 -1
  97. package/types/lodash/findLastIndex.d.ts +2 -1
  98. package/types/lodash/findLastKey.d.ts +2 -1
  99. package/types/lodash/first-value.d.ts +2 -2
  100. package/types/lodash/first.d.ts +2 -1
  101. package/types/lodash/fixed-base.d.ts +2 -2
  102. package/types/lodash/flatMap.d.ts +2 -1
  103. package/types/lodash/flatMapDeep.d.ts +2 -1
  104. package/types/lodash/flatMapDepth.d.ts +2 -1
  105. package/types/lodash/flatten-deep.d.ts +12 -12
  106. package/types/lodash/flatten.d.ts +2 -1
  107. package/types/lodash/flattenDeep.d.ts +2 -1
  108. package/types/lodash/flattenDepth.d.ts +2 -1
  109. package/types/lodash/flip.d.ts +2 -1
  110. package/types/lodash/floor.d.ts +2 -1
  111. package/types/lodash/flow.d.ts +2 -1
  112. package/types/lodash/flowRight.d.ts +2 -1
  113. package/types/lodash/for-in.d.ts +2 -2
  114. package/types/lodash/forEach.d.ts +2 -1
  115. package/types/lodash/forEachRight.d.ts +2 -1
  116. package/types/lodash/forIn.d.ts +2 -1
  117. package/types/lodash/forInRight.d.ts +2 -1
  118. package/types/lodash/forOwn.d.ts +2 -1
  119. package/types/lodash/forOwnRight.d.ts +2 -1
  120. package/types/lodash/fromPairs.d.ts +2 -1
  121. package/types/lodash/function.d.ts +3 -1
  122. package/types/lodash/function.default.d.ts +28 -26
  123. package/types/lodash/functions.d.ts +2 -1
  124. package/types/lodash/functionsIn.d.ts +2 -1
  125. package/types/lodash/get-range.d.ts +6 -6
  126. package/types/lodash/get-type.d.ts +2 -2
  127. package/types/lodash/get-wrap-behavior.d.ts +9 -9
  128. package/types/lodash/get.d.ts +2 -1
  129. package/types/lodash/group-by.d.ts +6 -6
  130. package/types/lodash/group-to-map.d.ts +8 -8
  131. package/types/lodash/group.d.ts +2 -2
  132. package/types/lodash/groupBy.d.ts +2 -1
  133. package/types/lodash/gt.d.ts +2 -1
  134. package/types/lodash/gte.d.ts +2 -1
  135. package/types/lodash/has-key.d.ts +2 -2
  136. package/types/lodash/has-value.d.ts +2 -2
  137. package/types/lodash/has.d.ts +2 -1
  138. package/types/lodash/hasIn.d.ts +2 -1
  139. package/types/lodash/head.d.ts +2 -1
  140. package/types/lodash/identity.d.ts +2 -1
  141. package/types/lodash/inRange.d.ts +2 -1
  142. package/types/lodash/includes.d.ts +2 -1
  143. package/types/lodash/index-of.d.ts +2 -2
  144. package/types/lodash/index.d.ts +304 -304
  145. package/types/lodash/indexOf.d.ts +2 -1
  146. package/types/lodash/initial.d.ts +2 -1
  147. package/types/lodash/intersection.d.ts +2 -1
  148. package/types/lodash/intersectionBy.d.ts +2 -1
  149. package/types/lodash/intersectionWith.d.ts +2 -1
  150. package/types/lodash/invert.d.ts +2 -1
  151. package/types/lodash/invertBy.d.ts +2 -1
  152. package/types/lodash/invoke.d.ts +2 -1
  153. package/types/lodash/invokeMap.d.ts +2 -1
  154. package/types/lodash/is-arguments.d.ts +2 -2
  155. package/types/lodash/is-array-like.d.ts +2 -2
  156. package/types/lodash/is-array.d.ts +2 -2
  157. package/types/lodash/is-boolean.d.ts +2 -2
  158. package/types/lodash/is-date.d.ts +2 -2
  159. package/types/lodash/is-decimal.d.ts +2 -2
  160. package/types/lodash/is-element.d.ts +6 -6
  161. package/types/lodash/is-empty.d.ts +2 -2
  162. package/types/lodash/is-equal-with.d.ts +24 -24
  163. package/types/lodash/is-equal.d.ts +2 -2
  164. package/types/lodash/is-error.d.ts +2 -2
  165. package/types/lodash/is-even.d.ts +2 -2
  166. package/types/lodash/is-finite.d.ts +1 -1
  167. package/types/lodash/is-function.d.ts +2 -2
  168. package/types/lodash/is-integer.d.ts +2 -2
  169. package/types/lodash/is-match.d.ts +2 -2
  170. package/types/lodash/is-negative.d.ts +2 -2
  171. package/types/lodash/is-nil.d.ts +2 -2
  172. package/types/lodash/is-null.d.ts +2 -2
  173. package/types/lodash/is-number-equal.d.ts +1 -1
  174. package/types/lodash/is-number.d.ts +2 -2
  175. package/types/lodash/is-object-like.d.ts +2 -2
  176. package/types/lodash/is-object.d.ts +2 -2
  177. package/types/lodash/is-odd.d.ts +2 -2
  178. package/types/lodash/is-plain-object.d.ts +2 -2
  179. package/types/lodash/is-positive.d.ts +2 -2
  180. package/types/lodash/is-prototype.d.ts +2 -2
  181. package/types/lodash/is-reg-exp.d.ts +2 -2
  182. package/types/lodash/is-segment-equal.d.ts +2 -2
  183. package/types/lodash/is-string.d.ts +2 -2
  184. package/types/lodash/is-type.d.ts +2 -2
  185. package/types/lodash/is-undefined.d.ts +2 -2
  186. package/types/lodash/isArguments.d.ts +2 -1
  187. package/types/lodash/isArray.d.ts +2 -1
  188. package/types/lodash/isArrayBuffer.d.ts +2 -1
  189. package/types/lodash/isArrayLike.d.ts +2 -1
  190. package/types/lodash/isArrayLikeObject.d.ts +2 -1
  191. package/types/lodash/isBoolean.d.ts +2 -1
  192. package/types/lodash/isBuffer.d.ts +2 -1
  193. package/types/lodash/isDate.d.ts +2 -1
  194. package/types/lodash/isElement.d.ts +2 -1
  195. package/types/lodash/isEmpty.d.ts +2 -1
  196. package/types/lodash/isEqual.d.ts +2 -1
  197. package/types/lodash/isEqualWith.d.ts +2 -1
  198. package/types/lodash/isError.d.ts +2 -1
  199. package/types/lodash/isFinite.d.ts +2 -1
  200. package/types/lodash/isFunction.d.ts +2 -1
  201. package/types/lodash/isInteger.d.ts +2 -1
  202. package/types/lodash/isLength.d.ts +2 -1
  203. package/types/lodash/isMap.d.ts +2 -1
  204. package/types/lodash/isMatch.d.ts +2 -1
  205. package/types/lodash/isMatchWith.d.ts +2 -1
  206. package/types/lodash/isNaN.d.ts +2 -1
  207. package/types/lodash/isNative.d.ts +2 -1
  208. package/types/lodash/isNil.d.ts +2 -1
  209. package/types/lodash/isNull.d.ts +2 -1
  210. package/types/lodash/isNumber.d.ts +2 -1
  211. package/types/lodash/isObject.d.ts +2 -1
  212. package/types/lodash/isObjectLike.d.ts +2 -1
  213. package/types/lodash/isPlainObject.d.ts +2 -1
  214. package/types/lodash/isRegExp.d.ts +2 -1
  215. package/types/lodash/isSafeInteger.d.ts +2 -1
  216. package/types/lodash/isSet.d.ts +2 -1
  217. package/types/lodash/isString.d.ts +2 -1
  218. package/types/lodash/isSymbol.d.ts +2 -1
  219. package/types/lodash/isTypedArray.d.ts +2 -1
  220. package/types/lodash/isUndefined.d.ts +2 -1
  221. package/types/lodash/isWeakMap.d.ts +2 -1
  222. package/types/lodash/isWeakSet.d.ts +2 -1
  223. package/types/lodash/iteratee.d.ts +2 -1
  224. package/types/lodash/join.d.ts +2 -1
  225. package/types/lodash/kebabCase.d.ts +2 -1
  226. package/types/lodash/keyBy.d.ts +2 -1
  227. package/types/lodash/keys.d.ts +2 -1
  228. package/types/lodash/keysIn.d.ts +2 -1
  229. package/types/lodash/lang.d.ts +3 -1
  230. package/types/lodash/lang.default.d.ts +61 -59
  231. package/types/lodash/last.d.ts +2 -1
  232. package/types/lodash/lastIndexOf.d.ts +2 -1
  233. package/types/lodash/lower-case.d.ts +2 -2
  234. package/types/lodash/lower-first.d.ts +2 -2
  235. package/types/lodash/lowerCase.d.ts +2 -1
  236. package/types/lodash/lowerFirst.d.ts +2 -1
  237. package/types/lodash/lt.d.ts +2 -1
  238. package/types/lodash/lte.d.ts +2 -1
  239. package/types/lodash/map-values.d.ts +6 -6
  240. package/types/lodash/map.d.ts +2 -1
  241. package/types/lodash/mapKeys.d.ts +2 -1
  242. package/types/lodash/mapValues.d.ts +2 -1
  243. package/types/lodash/matches.d.ts +2 -1
  244. package/types/lodash/matchesProperty.d.ts +2 -1
  245. package/types/lodash/math.d.ts +3 -1
  246. package/types/lodash/math.default.d.ts +20 -18
  247. package/types/lodash/max-by.d.ts +16 -16
  248. package/types/lodash/max.d.ts +2 -1
  249. package/types/lodash/maxBy.d.ts +2 -1
  250. package/types/lodash/mean.d.ts +2 -1
  251. package/types/lodash/meanBy.d.ts +2 -1
  252. package/types/lodash/memoize.d.ts +2 -1
  253. package/types/lodash/merge.d.ts +2 -1
  254. package/types/lodash/mergeWith.d.ts +2 -1
  255. package/types/lodash/method.d.ts +2 -1
  256. package/types/lodash/methodOf.d.ts +2 -1
  257. package/types/lodash/min-by.d.ts +16 -16
  258. package/types/lodash/min.d.ts +2 -1
  259. package/types/lodash/minBy.d.ts +2 -1
  260. package/types/lodash/mix.d.ts +1 -1
  261. package/types/lodash/mixin.d.ts +2 -1
  262. package/types/lodash/mod.d.ts +2 -2
  263. package/types/lodash/multiply.d.ts +2 -1
  264. package/types/lodash/negate.d.ts +2 -1
  265. package/types/lodash/noop.d.ts +2 -1
  266. package/types/lodash/now.d.ts +2 -1
  267. package/types/lodash/nth.d.ts +2 -1
  268. package/types/lodash/nthArg.d.ts +2 -1
  269. package/types/lodash/number.d.ts +3 -1
  270. package/types/lodash/number.default.d.ts +8 -6
  271. package/types/lodash/number2color.d.ts +2 -2
  272. package/types/lodash/object.d.ts +3 -1
  273. package/types/lodash/object.default.d.ts +52 -50
  274. package/types/lodash/omit.d.ts +2 -1
  275. package/types/lodash/omitBy.d.ts +2 -1
  276. package/types/lodash/once.d.ts +2 -1
  277. package/types/lodash/orderBy.d.ts +2 -1
  278. package/types/lodash/over.d.ts +2 -1
  279. package/types/lodash/overArgs.d.ts +2 -1
  280. package/types/lodash/overEvery.d.ts +2 -1
  281. package/types/lodash/overSome.d.ts +2 -1
  282. package/types/lodash/pad.d.ts +2 -1
  283. package/types/lodash/padEnd.d.ts +2 -1
  284. package/types/lodash/padStart.d.ts +2 -1
  285. package/types/lodash/parse-radius.d.ts +9 -9
  286. package/types/lodash/parseInt.d.ts +2 -1
  287. package/types/lodash/partial.d.ts +2 -1
  288. package/types/lodash/partialRight.d.ts +2 -1
  289. package/types/lodash/partition.d.ts +2 -1
  290. package/types/lodash/pick.d.ts +2 -1
  291. package/types/lodash/pickBy.d.ts +2 -1
  292. package/types/lodash/property.d.ts +4 -2
  293. package/types/lodash/propertyOf.d.ts +2 -1
  294. package/types/lodash/pull-at.d.ts +2 -2
  295. package/types/lodash/pull.d.ts +2 -1
  296. package/types/lodash/pullAll.d.ts +2 -1
  297. package/types/lodash/pullAllBy.d.ts +2 -1
  298. package/types/lodash/pullAllWith.d.ts +2 -1
  299. package/types/lodash/pullAt.d.ts +2 -1
  300. package/types/lodash/random.d.ts +2 -1
  301. package/types/lodash/range.d.ts +2 -1
  302. package/types/lodash/rangeRight.d.ts +2 -1
  303. package/types/lodash/rearg.d.ts +2 -1
  304. package/types/lodash/reduce.d.ts +2 -1
  305. package/types/lodash/reduceRight.d.ts +2 -1
  306. package/types/lodash/reject.d.ts +2 -1
  307. package/types/lodash/remove.d.ts +2 -1
  308. package/types/lodash/repeat.d.ts +2 -1
  309. package/types/lodash/replace.d.ts +2 -1
  310. package/types/lodash/request-animation-frame.d.ts +1 -1
  311. package/types/lodash/rest.d.ts +2 -1
  312. package/types/lodash/result.d.ts +2 -1
  313. package/types/lodash/reverse.d.ts +2 -1
  314. package/types/lodash/round.d.ts +2 -1
  315. package/types/lodash/sample.d.ts +2 -1
  316. package/types/lodash/sampleSize.d.ts +2 -1
  317. package/types/lodash/set.d.ts +2 -1
  318. package/types/lodash/setWith.d.ts +2 -1
  319. package/types/lodash/shuffle.d.ts +2 -1
  320. package/types/lodash/size.d.ts +2 -1
  321. package/types/lodash/slice.d.ts +2 -1
  322. package/types/lodash/snakeCase.d.ts +2 -1
  323. package/types/lodash/some.d.ts +2 -1
  324. package/types/lodash/sort-by.d.ts +7 -7
  325. package/types/lodash/sortBy.d.ts +2 -1
  326. package/types/lodash/sortedIndex.d.ts +2 -1
  327. package/types/lodash/sortedIndexBy.d.ts +2 -1
  328. package/types/lodash/sortedIndexOf.d.ts +2 -1
  329. package/types/lodash/sortedLastIndex.d.ts +2 -1
  330. package/types/lodash/sortedLastIndexBy.d.ts +2 -1
  331. package/types/lodash/sortedLastIndexOf.d.ts +2 -1
  332. package/types/lodash/sortedUniq.d.ts +2 -1
  333. package/types/lodash/sortedUniqBy.d.ts +2 -1
  334. package/types/lodash/split.d.ts +2 -1
  335. package/types/lodash/spread.d.ts +2 -1
  336. package/types/lodash/startCase.d.ts +2 -1
  337. package/types/lodash/starts-with.d.ts +3 -3
  338. package/types/lodash/startsWith.d.ts +2 -1
  339. package/types/lodash/string.d.ts +3 -1
  340. package/types/lodash/string.default.d.ts +36 -34
  341. package/types/lodash/stubArray.d.ts +2 -1
  342. package/types/lodash/stubFalse.d.ts +2 -1
  343. package/types/lodash/stubObject.d.ts +2 -1
  344. package/types/lodash/stubString.d.ts +2 -1
  345. package/types/lodash/stubTrue.d.ts +2 -1
  346. package/types/lodash/substitute.d.ts +5 -5
  347. package/types/lodash/subtract.d.ts +2 -1
  348. package/types/lodash/sum.d.ts +2 -1
  349. package/types/lodash/sumBy.d.ts +2 -1
  350. package/types/lodash/tail.d.ts +2 -1
  351. package/types/lodash/take.d.ts +2 -1
  352. package/types/lodash/takeRight.d.ts +2 -1
  353. package/types/lodash/takeRightWhile.d.ts +2 -1
  354. package/types/lodash/takeWhile.d.ts +2 -1
  355. package/types/lodash/tap.d.ts +2 -1
  356. package/types/lodash/template.d.ts +2 -1
  357. package/types/lodash/templateSettings.d.ts +2 -1
  358. package/types/lodash/throttle.d.ts +4 -2
  359. package/types/lodash/thru.d.ts +2 -1
  360. package/types/lodash/times.d.ts +2 -1
  361. package/types/lodash/to-array.d.ts +2 -2
  362. package/types/lodash/to-degree.d.ts +2 -2
  363. package/types/lodash/to-integer.d.ts +1 -1
  364. package/types/lodash/to-radian.d.ts +2 -2
  365. package/types/lodash/to-string.d.ts +2 -2
  366. package/types/lodash/toArray.d.ts +2 -1
  367. package/types/lodash/toFinite.d.ts +2 -1
  368. package/types/lodash/toInteger.d.ts +2 -1
  369. package/types/lodash/toLength.d.ts +2 -1
  370. package/types/lodash/toLower.d.ts +2 -1
  371. package/types/lodash/toNumber.d.ts +2 -1
  372. package/types/lodash/toPairs.d.ts +2 -1
  373. package/types/lodash/toPairsIn.d.ts +2 -1
  374. package/types/lodash/toPath.d.ts +2 -1
  375. package/types/lodash/toPlainObject.d.ts +2 -1
  376. package/types/lodash/toSafeInteger.d.ts +2 -1
  377. package/types/lodash/toString.d.ts +2 -1
  378. package/types/lodash/toUpper.d.ts +2 -1
  379. package/types/lodash/transform.d.ts +2 -1
  380. package/types/lodash/trim.d.ts +2 -1
  381. package/types/lodash/trimEnd.d.ts +2 -1
  382. package/types/lodash/trimStart.d.ts +2 -1
  383. package/types/lodash/truncate.d.ts +2 -1
  384. package/types/lodash/types/index.d.ts +3 -3
  385. package/types/lodash/unary.d.ts +2 -1
  386. package/types/lodash/unescape.d.ts +2 -1
  387. package/types/lodash/union.d.ts +2 -1
  388. package/types/lodash/unionBy.d.ts +2 -1
  389. package/types/lodash/unionWith.d.ts +2 -1
  390. package/types/lodash/uniq.d.ts +2 -1
  391. package/types/lodash/uniqBy.d.ts +2 -1
  392. package/types/lodash/uniqWith.d.ts +2 -1
  393. package/types/lodash/unique-id.d.ts +2 -2
  394. package/types/lodash/uniqueId.d.ts +2 -1
  395. package/types/lodash/unset.d.ts +2 -1
  396. package/types/lodash/unzip.d.ts +2 -1
  397. package/types/lodash/unzipWith.d.ts +2 -1
  398. package/types/lodash/update.d.ts +2 -1
  399. package/types/lodash/updateWith.d.ts +2 -1
  400. package/types/lodash/upper-case.d.ts +2 -2
  401. package/types/lodash/upper-first.d.ts +2 -2
  402. package/types/lodash/upperCase.d.ts +2 -1
  403. package/types/lodash/upperFirst.d.ts +2 -1
  404. package/types/lodash/util.d.ts +3 -1
  405. package/types/lodash/util.default.d.ts +37 -35
  406. package/types/lodash/values-of-key.d.ts +2 -2
  407. package/types/lodash/values.d.ts +2 -1
  408. package/types/lodash/valuesIn.d.ts +2 -1
  409. package/types/lodash/without.d.ts +2 -1
  410. package/types/lodash/words.d.ts +2 -1
  411. package/types/lodash/wrap-behavior.d.ts +9 -9
  412. package/types/lodash/wrap.d.ts +2 -1
  413. package/types/lodash/xor.d.ts +2 -1
  414. package/types/lodash/xorBy.d.ts +2 -1
  415. package/types/lodash/xorWith.d.ts +2 -1
  416. package/types/lodash/zip.d.ts +2 -1
  417. package/types/lodash/zipObject.d.ts +2 -1
  418. package/types/lodash/zipObjectDeep.d.ts +2 -1
  419. package/types/lodash/zipWith.d.ts +2 -1
  420. package/types/stats.module.d.ts +3 -3
@@ -1,17 +1,19 @@
1
- export type PluginObject = {};
2
1
  export type PluginServiceOPtions = {
3
2
  plugins?: IPlugin[];
4
3
  presets?: IPreset[];
5
4
  };
6
- export type PluginContext = {
5
+ export type PluginContext<HookList extends HookListType = any, HookMethods extends Record<string, IMethod> = any> = {
7
6
  pluginName: string;
8
- register(hook: IHook): void;
9
- registerMethod(name: string, fn?: IMethod): void;
7
+ register<K extends keyof HookList>(hook: IHook<K, HookList[K]>): void;
8
+ registerMethod<K extends keyof HookMethods>(name: K, fn?: IMethod<Parameters<HookMethods[K]>, ReturnType<HookMethods[K]>>): void;
9
+ } & PluginMethods<HookMethods>;
10
+ export type PluginMethods<HookMethods extends Record<string, IMethod> = any> = {
11
+ [k in Exclude<keyof HookMethods, 'pluginName' | 'register' | 'registerMethod'>]: IMethod<Parameters<HookMethods[k]>, ReturnType<HookMethods[k]>>;
10
12
  };
11
- export type IPlugin = {
13
+ export type IPlugin<HookList extends HookListType = any, HookMethods extends Record<string, IMethod> = any> = {
12
14
  name: string;
13
15
  config?: any;
14
- apply: (api: PluginContext, config?: any) => void;
16
+ apply: (api: PluginContext<HookList, HookMethods>, config?: any) => void;
15
17
  };
16
18
  export type IPreset = Omit<IPlugin, 'apply'> & {
17
19
  apply: (api: PluginContext, config?: any) => ({
@@ -19,10 +21,10 @@ export type IPreset = Omit<IPlugin, 'apply'> & {
19
21
  plugins?: IPlugin[];
20
22
  });
21
23
  };
22
- export type IHook = {
23
- name: string;
24
+ export type IHook<T = any, F = any> = {
25
+ name: T;
24
26
  order?: number;
25
- fn: Function;
27
+ fn: (...args: any[]) => F;
26
28
  };
27
29
  export declare enum HookType {
28
30
  create = "create",
@@ -30,15 +32,16 @@ export declare enum HookType {
30
32
  modify = "modify",
31
33
  event = "event"
32
34
  }
33
- export type HookOpts = {
34
- name: string;
35
+ export type HookOpts<T> = {
36
+ name: T;
35
37
  type?: HookType;
36
38
  initalValue?: any;
37
39
  args?: any;
38
40
  sync?: boolean;
39
41
  };
40
- export type IMethod = (...args: any[]) => void;
41
- export declare class PluginService {
42
+ export type IMethod<T extends any = any, R = any> = (...args: T extends Array<any> ? T : [T]) => R;
43
+ export type HookListType = Record<string, any>;
44
+ export declare class PluginService<HookList extends HookListType, HookMethods extends Record<string, IMethod> = any> {
42
45
  config?: PluginServiceOPtions;
43
46
  private hooks;
44
47
  private methods;
@@ -49,13 +52,14 @@ export declare class PluginService {
49
52
  initPresetsAndPlugins(config: PluginServiceOPtions): void;
50
53
  private resolvePresets;
51
54
  private resolvePlugins;
52
- private applyMethods;
55
+ private getApplyMethods;
56
+ applyMethods<K extends Extract<keyof HookMethods, string>>(name: K, ...args: Parameters<HookMethods[K]> extends Array<any> ? Parameters<HookMethods[K]> : [Parameters<HookMethods[K]>]): ReturnType<HookMethods[K]>;
53
57
  private initPluginContext;
54
58
  private initPreset;
55
59
  private initPlugin;
56
60
  registerPlugin(plugin: IPlugin | IPreset): void;
57
61
  register(hook: IHook): void;
58
- registerMethod(name: string, fn?: IMethod): void;
59
- applyPlugins<T = any>(opts: HookOpts): Promise<T | void>;
62
+ registerMethod<K>(name: string, fn?: IMethod): void;
63
+ applyPlugins<K extends Extract<keyof HookList, string> = Extract<keyof HookList, string>, T = HookList[K]>(inOpts: HookOpts<K> | K): Promise<Exclude<T, void> extends never ? void : T>;
60
64
  destroy(): void;
61
65
  }
@@ -0,0 +1,90 @@
1
+ /**
2
+ * 对象池配置选项
3
+ */
4
+ interface PoolOptions<T> {
5
+ /** 池子最大容量 */
6
+ maxSize?: number;
7
+ /** 对象创建函数 */
8
+ create: () => T;
9
+ /** 对象重置清理函数 */
10
+ reset?: (obj: T) => void;
11
+ /** 对象验证函数(返回对象是否可用) */
12
+ validate?: (obj: T) => boolean;
13
+ /** 池子初始化时预创建的对象数量 */
14
+ preAllocate?: number;
15
+ }
16
+ /**
17
+ * 通用对象池类
18
+ * 用于管理对象的重用,减少垃圾回收压力
19
+ */
20
+ export declare class Pool<T> {
21
+ private available;
22
+ private inUse;
23
+ private maxSize;
24
+ private create;
25
+ private reset?;
26
+ private validate?;
27
+ private totalCreated;
28
+ constructor(options: PoolOptions<T>);
29
+ /**
30
+ * 从池中获取一个对象
31
+ * @returns 可用的对象
32
+ */
33
+ acquire(): T;
34
+ /**
35
+ * 释放对象回池中
36
+ * @param obj 要释放的对象
37
+ */
38
+ release(obj: T): void;
39
+ /**
40
+ * 批量释放多个对象
41
+ * @param objects 要释放的对象数组
42
+ */
43
+ releaseAll(objects: T[]): void;
44
+ /**
45
+ * 获取池子统计信息
46
+ */
47
+ getStats(): {
48
+ available: number;
49
+ inUse: number;
50
+ totalCreated: number;
51
+ maxSize: number;
52
+ };
53
+ /**
54
+ * 清空池子并释放所有资源
55
+ */
56
+ dispose(): void;
57
+ /**
58
+ * 获取当前可用的对象数量
59
+ */
60
+ get availableCount(): number;
61
+ /**
62
+ * 获取当前正在使用的对象数量
63
+ */
64
+ get inUseCount(): number;
65
+ /**
66
+ * 检查对象是否正在被使用
67
+ */
68
+ isInUse(obj: T): boolean;
69
+ }
70
+ /**
71
+ * 自动释放的包装器,使用 RAII 模式
72
+ */
73
+ declare class AutoRelease<T> {
74
+ private pool;
75
+ private obj;
76
+ constructor(pool: Pool<T>, obj: T);
77
+ get value(): T;
78
+ release(): void;
79
+ [Symbol.dispose](): void;
80
+ }
81
+ /**
82
+ * 扩展的 Pool 类,支持自动释放
83
+ */
84
+ export declare class AutoPool<T> extends Pool<T> {
85
+ /**
86
+ * 获取对象并返回自动释放包装器
87
+ */
88
+ autoAcquire(): AutoRelease<T>;
89
+ }
90
+ export {};
@@ -0,0 +1,6 @@
1
+ export type StackCursor<T> = {
2
+ current: T;
3
+ };
4
+ export declare const createCursor: <T>(defaultValue: T) => StackCursor<T>;
5
+ export declare const push: <T>(cursor: StackCursor<T>, value: T) => void;
6
+ export declare const pop: <T>(cursor: StackCursor<T>) => void;
@@ -0,0 +1,25 @@
1
+ type TransactionWrapper = {
2
+ initialize: () => void;
3
+ close: (initData: any) => void;
4
+ };
5
+ /**
6
+ * 以AOP模式执行,在前置函数与后置函数中间执行
7
+ * 给目标函数添加一系列的前置和后置函数,对目标函数进行功能增强或者代码环境保护。
8
+ * **/
9
+ export declare abstract class Transaction {
10
+ transactionWrappers: TransactionWrapper[];
11
+ wrapperInitData: any[];
12
+ constructor();
13
+ /**
14
+ *@desc 事件包装,事务都创建前置initialize函数和后置close函数
15
+ @abstract
16
+ **/
17
+ abstract getTransactionWrappers(): TransactionWrapper[];
18
+ _isInTransaction: boolean;
19
+ isInTransaction(): boolean;
20
+ reinitializeTransaction(): void;
21
+ perform(method: Function, scope: any, a?: any, b?: any, c?: any, d?: any, e?: any, f?: any): any;
22
+ initializeAll(startIndex: number): void;
23
+ closeAll(startIndex: number): void;
24
+ }
25
+ export {};