type-plus 8.0.0-beta.3 → 8.0.0-beta.4

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 (1020) hide show
  1. package/cjs/any/any.d.ts +49 -0
  2. package/cjs/any/any.d.ts.map +1 -0
  3. package/cjs/any/any.js +3 -0
  4. package/cjs/any/any.js.map +1 -0
  5. package/cjs/any/is_any.d.ts +55 -0
  6. package/cjs/any/is_any.d.ts.map +1 -0
  7. package/cjs/any/is_any.js +3 -0
  8. package/cjs/any/is_any.js.map +1 -0
  9. package/cjs/any/is_not_any.d.ts +55 -0
  10. package/cjs/any/is_not_any.d.ts.map +1 -0
  11. package/cjs/any/is_not_any.js +3 -0
  12. package/cjs/any/is_not_any.js.map +1 -0
  13. package/cjs/array/array.at.d.ts +27 -0
  14. package/cjs/array/array.at.d.ts.map +1 -0
  15. package/cjs/array/array.at.js +3 -0
  16. package/cjs/array/array.at.js.map +1 -0
  17. package/cjs/array/array.entries.d.ts +21 -0
  18. package/cjs/array/array.entries.d.ts.map +1 -0
  19. package/cjs/array/array.entries.js +3 -0
  20. package/cjs/array/array.entries.js.map +1 -0
  21. package/cjs/array/array.find_last.d.ts +22 -0
  22. package/cjs/array/array.find_last.d.ts.map +1 -0
  23. package/cjs/array/array.find_last.js +3 -0
  24. package/cjs/array/array.find_last.js.map +1 -0
  25. package/cjs/array/array.reverse.d.ts +6 -0
  26. package/cjs/array/array.reverse.d.ts.map +1 -0
  27. package/cjs/array/array.reverse.js +3 -0
  28. package/cjs/array/array.reverse.js.map +1 -0
  29. package/cjs/array/array.some.d.ts +33 -0
  30. package/cjs/array/array.some.d.ts.map +1 -0
  31. package/cjs/array/array.some.js +3 -0
  32. package/cjs/array/array.some.js.map +1 -0
  33. package/cjs/array/array_plus.common_prop_keys.d.ts +31 -0
  34. package/cjs/array/array_plus.common_prop_keys.d.ts.map +1 -0
  35. package/cjs/array/array_plus.common_prop_keys.js +3 -0
  36. package/cjs/array/array_plus.common_prop_keys.js.map +1 -0
  37. package/cjs/array/array_plus.concat.d.ts +16 -0
  38. package/cjs/array/array_plus.concat.d.ts.map +1 -0
  39. package/cjs/array/array_plus.concat.js +3 -0
  40. package/cjs/array/array_plus.concat.js.map +1 -0
  41. package/cjs/array/array_plus.d.ts +17 -0
  42. package/cjs/array/array_plus.d.ts.map +1 -0
  43. package/cjs/array/array_plus.drop_match.d.ts +5 -0
  44. package/cjs/array/array_plus.drop_match.d.ts.map +1 -0
  45. package/cjs/array/array_plus.drop_match.js +3 -0
  46. package/cjs/array/array_plus.drop_match.js.map +1 -0
  47. package/cjs/array/array_plus.element_match.d.ts +49 -0
  48. package/cjs/array/array_plus.element_match.d.ts.map +1 -0
  49. package/cjs/array/array_plus.element_match.js +3 -0
  50. package/cjs/array/array_plus.element_match.js.map +1 -0
  51. package/cjs/array/array_plus.filter.d.ts +29 -0
  52. package/cjs/array/array_plus.filter.d.ts.map +1 -0
  53. package/cjs/array/array_plus.filter.js +4 -0
  54. package/cjs/array/array_plus.filter.js.map +1 -0
  55. package/cjs/array/array_plus.find.d.ts +60 -0
  56. package/cjs/array/array_plus.find.d.ts.map +1 -0
  57. package/cjs/array/array_plus.find.js +3 -0
  58. package/cjs/array/array_plus.find.js.map +1 -0
  59. package/cjs/array/array_plus.index_at.d.ts +42 -0
  60. package/cjs/array/array_plus.index_at.d.ts.map +1 -0
  61. package/cjs/array/array_plus.index_at.js +85 -0
  62. package/cjs/array/array_plus.index_at.js.map +1 -0
  63. package/cjs/array/array_plus.is_index_out_of_bound.d.ts +21 -0
  64. package/cjs/array/array_plus.is_index_out_of_bound.d.ts.map +1 -0
  65. package/cjs/array/array_plus.is_index_out_of_bound.js +3 -0
  66. package/cjs/array/array_plus.is_index_out_of_bound.js.map +1 -0
  67. package/cjs/array/array_plus.is_readonly.d.ts +35 -0
  68. package/cjs/array/array_plus.is_readonly.d.ts.map +1 -0
  69. package/cjs/array/array_plus.is_readonly.js +3 -0
  70. package/cjs/array/array_plus.is_readonly.js.map +1 -0
  71. package/cjs/array/array_plus.js +3 -0
  72. package/cjs/array/array_plus.js.map +1 -0
  73. package/cjs/array/array_plus.pad_start.d.ts +5 -0
  74. package/cjs/array/array_plus.pad_start.d.ts.map +1 -0
  75. package/cjs/array/array_plus.pad_start.js +3 -0
  76. package/cjs/array/array_plus.pad_start.js.map +1 -0
  77. package/cjs/array/array_plus.split_at.d.ts +50 -0
  78. package/cjs/array/array_plus.split_at.d.ts.map +1 -0
  79. package/cjs/array/array_plus.split_at.js +3 -0
  80. package/cjs/array/array_plus.split_at.js.map +1 -0
  81. package/cjs/array/filter.d.ts +29 -0
  82. package/cjs/array/filter.d.ts.map +1 -0
  83. package/cjs/array/filter.js +3 -0
  84. package/cjs/array/filter.js.map +1 -0
  85. package/cjs/array/find_first.d.ts +65 -0
  86. package/cjs/array/find_first.d.ts.map +1 -0
  87. package/cjs/array/find_first.js +3 -0
  88. package/cjs/array/find_first.js.map +1 -0
  89. package/cjs/array/head.d.ts +33 -0
  90. package/cjs/array/head.d.ts.map +1 -0
  91. package/cjs/array/head.js +3 -0
  92. package/cjs/array/head.js.map +1 -0
  93. package/cjs/array/intersect_of_props.d.ts +14 -0
  94. package/cjs/array/intersect_of_props.d.ts.map +1 -0
  95. package/cjs/array/intersect_of_props.js +3 -0
  96. package/cjs/array/intersect_of_props.js.map +1 -0
  97. package/cjs/array/is_array.d.ts +89 -0
  98. package/cjs/array/is_array.d.ts.map +1 -0
  99. package/cjs/array/is_array.js +3 -0
  100. package/cjs/array/is_array.js.map +1 -0
  101. package/cjs/array/is_not_array.d.ts +89 -0
  102. package/cjs/array/is_not_array.d.ts.map +1 -0
  103. package/cjs/array/is_not_array.js +3 -0
  104. package/cjs/array/is_not_array.js.map +1 -0
  105. package/cjs/array/last.d.ts +32 -0
  106. package/cjs/array/last.d.ts.map +1 -0
  107. package/cjs/array/last.js +3 -0
  108. package/cjs/array/last.js.map +1 -0
  109. package/cjs/array/literal_array.d.ts +8 -0
  110. package/cjs/array/literal_array.d.ts.map +1 -0
  111. package/cjs/array/literal_array.js +12 -0
  112. package/cjs/array/literal_array.js.map +1 -0
  113. package/cjs/array/loose_array_type.d.ts +65 -0
  114. package/cjs/array/loose_array_type.d.ts.map +1 -0
  115. package/cjs/array/loose_array_type.js +3 -0
  116. package/cjs/array/loose_array_type.js.map +1 -0
  117. package/cjs/array/pad_start.d.ts +32 -0
  118. package/cjs/array/pad_start.d.ts.map +1 -0
  119. package/cjs/array/pad_start.js +3 -0
  120. package/cjs/array/pad_start.js.map +1 -0
  121. package/cjs/array/reduce_while.d.ts +8 -0
  122. package/cjs/array/reduce_while.d.ts.map +1 -0
  123. package/cjs/array/reduce_while.js +20 -0
  124. package/cjs/array/reduce_while.js.map +1 -0
  125. package/cjs/array/reverse.d.ts +7 -0
  126. package/cjs/array/reverse.d.ts.map +1 -0
  127. package/cjs/array/reverse.js +3 -0
  128. package/cjs/array/reverse.js.map +1 -0
  129. package/cjs/array/union_of_props.d.ts +12 -0
  130. package/cjs/array/union_of_props.d.ts.map +1 -0
  131. package/cjs/array/union_of_props.js +3 -0
  132. package/cjs/array/union_of_props.js.map +1 -0
  133. package/cjs/array/union_of_values.d.ts +10 -0
  134. package/cjs/array/union_of_values.d.ts.map +1 -0
  135. package/cjs/array/union_of_values.js +3 -0
  136. package/cjs/array/union_of_values.js.map +1 -0
  137. package/cjs/assertion/assert_type.d.ts +40 -0
  138. package/cjs/assertion/assert_type.d.ts.map +1 -0
  139. package/cjs/assertion/assert_type.js +111 -0
  140. package/cjs/assertion/assert_type.js.map +1 -0
  141. package/cjs/bigint/cast.d.ts +10 -0
  142. package/cjs/bigint/cast.d.ts.map +1 -0
  143. package/cjs/bigint/cast.js +3 -0
  144. package/cjs/bigint/cast.js.map +1 -0
  145. package/cjs/bigint/is_bigint.d.ts +95 -0
  146. package/cjs/bigint/is_bigint.d.ts.map +1 -0
  147. package/cjs/bigint/is_bigint.js +3 -0
  148. package/cjs/bigint/is_bigint.js.map +1 -0
  149. package/cjs/bigint/is_bigint_literal.d.ts +83 -0
  150. package/cjs/bigint/is_bigint_literal.d.ts.map +1 -0
  151. package/cjs/bigint/is_bigint_literal.js +3 -0
  152. package/cjs/bigint/is_bigint_literal.js.map +1 -0
  153. package/cjs/bigint/is_not_bigint.d.ts +92 -0
  154. package/cjs/bigint/is_not_bigint.d.ts.map +1 -0
  155. package/cjs/bigint/is_not_bigint.js +3 -0
  156. package/cjs/bigint/is_not_bigint.js.map +1 -0
  157. package/cjs/bigint/is_not_bigint_literal.d.ts +81 -0
  158. package/cjs/bigint/is_not_bigint_literal.d.ts.map +1 -0
  159. package/cjs/bigint/is_not_bigint_literal.js +3 -0
  160. package/cjs/bigint/is_not_bigint_literal.js.map +1 -0
  161. package/cjs/binary/Bit.d.ts +6 -0
  162. package/cjs/binary/Bit.d.ts.map +1 -0
  163. package/cjs/binary/Bit.js +3 -0
  164. package/cjs/binary/Bit.js.map +1 -0
  165. package/cjs/binary/_binary.d.ts +2 -0
  166. package/cjs/binary/_binary.d.ts.map +1 -0
  167. package/cjs/binary/_binary.js +3 -0
  168. package/cjs/binary/_binary.js.map +1 -0
  169. package/cjs/binary/index.d.ts +3 -0
  170. package/cjs/binary/index.d.ts.map +1 -0
  171. package/cjs/binary/index.js +6 -0
  172. package/cjs/binary/index.js.map +1 -0
  173. package/cjs/boolean/is_boolean.d.ts +85 -0
  174. package/cjs/boolean/is_boolean.d.ts.map +1 -0
  175. package/cjs/boolean/is_boolean.js +3 -0
  176. package/cjs/boolean/is_boolean.js.map +1 -0
  177. package/cjs/boolean/is_false.d.ts +78 -0
  178. package/cjs/boolean/is_false.d.ts.map +1 -0
  179. package/cjs/boolean/is_false.js +3 -0
  180. package/cjs/boolean/is_false.js.map +1 -0
  181. package/cjs/boolean/is_not_boolean.d.ts +85 -0
  182. package/cjs/boolean/is_not_boolean.d.ts.map +1 -0
  183. package/cjs/boolean/is_not_boolean.js +3 -0
  184. package/cjs/boolean/is_not_boolean.js.map +1 -0
  185. package/cjs/boolean/is_not_false.d.ts +79 -0
  186. package/cjs/boolean/is_not_false.d.ts.map +1 -0
  187. package/cjs/boolean/is_not_false.js +3 -0
  188. package/cjs/boolean/is_not_false.js.map +1 -0
  189. package/cjs/boolean/is_not_true.d.ts +80 -0
  190. package/cjs/boolean/is_not_true.d.ts.map +1 -0
  191. package/cjs/boolean/is_not_true.js +3 -0
  192. package/cjs/boolean/is_not_true.js.map +1 -0
  193. package/cjs/boolean/is_true.d.ts +78 -0
  194. package/cjs/boolean/is_true.d.ts.map +1 -0
  195. package/cjs/boolean/is_true.js +3 -0
  196. package/cjs/boolean/is_true.js.map +1 -0
  197. package/cjs/class/AnyConstructor.d.ts +2 -0
  198. package/cjs/class/AnyConstructor.d.ts.map +1 -0
  199. package/cjs/class/AnyConstructor.js +3 -0
  200. package/cjs/class/AnyConstructor.js.map +1 -0
  201. package/cjs/class/index.d.ts +3 -0
  202. package/cjs/class/index.d.ts.map +1 -0
  203. package/cjs/class/index.js +18 -0
  204. package/cjs/class/index.js.map +1 -0
  205. package/cjs/class/isConstructor.d.ts +18 -0
  206. package/cjs/class/isConstructor.d.ts.map +1 -0
  207. package/cjs/class/isConstructor.js +35 -0
  208. package/cjs/class/isConstructor.js.map +1 -0
  209. package/cjs/composable_types.d.ts +9 -0
  210. package/cjs/composable_types.d.ts.map +1 -0
  211. package/cjs/composable_types.js +3 -0
  212. package/cjs/composable_types.js.map +1 -0
  213. package/cjs/equal/equal.d.ts +103 -0
  214. package/cjs/equal/equal.d.ts.map +1 -0
  215. package/cjs/equal/equal.js +3 -0
  216. package/cjs/equal/equal.js.map +1 -0
  217. package/cjs/equal/identity_equal.d.ts +6 -0
  218. package/cjs/equal/identity_equal.d.ts.map +1 -0
  219. package/cjs/equal/identity_equal.js +3 -0
  220. package/cjs/equal/identity_equal.js.map +1 -0
  221. package/cjs/function/any_function.d.ts +2 -0
  222. package/cjs/function/any_function.d.ts.map +1 -0
  223. package/cjs/function/any_function.js +3 -0
  224. package/cjs/function/any_function.js.map +1 -0
  225. package/cjs/function/extract_function.d.ts +24 -0
  226. package/cjs/function/extract_function.d.ts.map +1 -0
  227. package/cjs/function/extract_function.js +12 -0
  228. package/cjs/function/extract_function.js.map +1 -0
  229. package/cjs/function/is_function.d.ts +61 -0
  230. package/cjs/function/is_function.d.ts.map +1 -0
  231. package/cjs/function/is_function.js +3 -0
  232. package/cjs/function/is_function.js.map +1 -0
  233. package/cjs/function/is_not_function.d.ts +73 -0
  234. package/cjs/function/is_not_function.d.ts.map +1 -0
  235. package/cjs/function/is_not_function.js +3 -0
  236. package/cjs/function/is_not_function.js.map +1 -0
  237. package/cjs/function/is_not_strict_function.d.ts +31 -0
  238. package/cjs/function/is_not_strict_function.d.ts.map +1 -0
  239. package/cjs/function/is_not_strict_function.js +3 -0
  240. package/cjs/function/is_not_strict_function.js.map +1 -0
  241. package/cjs/function/is_strict_function.d.ts +31 -0
  242. package/cjs/function/is_strict_function.d.ts.map +1 -0
  243. package/cjs/function/is_strict_function.js +3 -0
  244. package/cjs/function/is_strict_function.js.map +1 -0
  245. package/cjs/functional/ChainFn.d.ts +6 -0
  246. package/cjs/functional/ChainFn.d.ts.map +1 -0
  247. package/cjs/functional/ChainFn.js +3 -0
  248. package/cjs/functional/ChainFn.js.map +1 -0
  249. package/cjs/functional/Maybe.d.ts +13 -0
  250. package/cjs/functional/Maybe.d.ts.map +1 -0
  251. package/cjs/functional/Maybe.js +16 -0
  252. package/cjs/functional/Maybe.js.map +1 -0
  253. package/cjs/functional/compose.d.ts +12 -0
  254. package/cjs/functional/compose.d.ts.map +1 -0
  255. package/cjs/functional/compose.js +16 -0
  256. package/cjs/functional/compose.js.map +1 -0
  257. package/cjs/functional/context.d.ts +40 -0
  258. package/cjs/functional/context.d.ts.map +1 -0
  259. package/cjs/functional/context.js +31 -0
  260. package/cjs/functional/context.js.map +1 -0
  261. package/cjs/functional/index.d.ts +4 -0
  262. package/cjs/functional/index.d.ts.map +1 -0
  263. package/cjs/functional/index.js +19 -0
  264. package/cjs/functional/index.js.map +1 -0
  265. package/cjs/index.d.ts +139 -0
  266. package/cjs/index.d.ts.map +1 -0
  267. package/cjs/index.js +47 -0
  268. package/cjs/index.js.map +1 -0
  269. package/cjs/json.d.ts +12 -0
  270. package/cjs/json.d.ts.map +1 -0
  271. package/cjs/json.js +14 -0
  272. package/cjs/json.js.map +1 -0
  273. package/cjs/math/abs.d.ts +5 -0
  274. package/cjs/math/abs.d.ts.map +1 -0
  275. package/cjs/math/abs.js +3 -0
  276. package/cjs/math/abs.js.map +1 -0
  277. package/cjs/math/add.d.ts +7 -0
  278. package/cjs/math/add.d.ts.map +1 -0
  279. package/cjs/math/add.js +3 -0
  280. package/cjs/math/add.js.map +1 -0
  281. package/cjs/math/greater_than.d.ts +4 -0
  282. package/cjs/math/greater_than.d.ts.map +1 -0
  283. package/cjs/math/greater_than.js +3 -0
  284. package/cjs/math/greater_than.js.map +1 -0
  285. package/cjs/math/index.d.ts +7 -0
  286. package/cjs/math/index.d.ts.map +1 -0
  287. package/cjs/math/index.js +3 -0
  288. package/cjs/math/index.js.map +1 -0
  289. package/cjs/math/math_plus.d.ts +5 -0
  290. package/cjs/math/math_plus.d.ts.map +1 -0
  291. package/cjs/math/math_plus.js +3 -0
  292. package/cjs/math/math_plus.js.map +1 -0
  293. package/cjs/math/math_plus.to_negative.d.ts +13 -0
  294. package/cjs/math/math_plus.to_negative.d.ts.map +1 -0
  295. package/cjs/math/math_plus.to_negative.js +3 -0
  296. package/cjs/math/math_plus.to_negative.js.map +1 -0
  297. package/cjs/math/max.d.ts +4 -0
  298. package/cjs/math/max.d.ts.map +1 -0
  299. package/cjs/math/max.js +3 -0
  300. package/cjs/math/max.js.map +1 -0
  301. package/cjs/math/multiply.d.ts +6 -0
  302. package/cjs/math/multiply.d.ts.map +1 -0
  303. package/cjs/math/multiply.js +3 -0
  304. package/cjs/math/multiply.js.map +1 -0
  305. package/cjs/math/numeric_struct.d.ts +1480 -0
  306. package/cjs/math/numeric_struct.d.ts.map +1 -0
  307. package/cjs/math/numeric_struct.js +3 -0
  308. package/cjs/math/numeric_struct.js.map +1 -0
  309. package/cjs/math/subtract.d.ts +7 -0
  310. package/cjs/math/subtract.d.ts.map +1 -0
  311. package/cjs/math/subtract.js +3 -0
  312. package/cjs/math/subtract.js.map +1 -0
  313. package/cjs/mix_types/box.d.ts +47 -0
  314. package/cjs/mix_types/box.d.ts.map +1 -0
  315. package/cjs/mix_types/box.js +3 -0
  316. package/cjs/mix_types/box.js.map +1 -0
  317. package/cjs/mix_types/exclude.d.ts +19 -0
  318. package/cjs/mix_types/exclude.d.ts.map +1 -0
  319. package/cjs/mix_types/exclude.js +3 -0
  320. package/cjs/mix_types/exclude.js.map +1 -0
  321. package/cjs/mix_types/is_any_or_never.d.ts +28 -0
  322. package/cjs/mix_types/is_any_or_never.d.ts.map +1 -0
  323. package/cjs/mix_types/is_any_or_never.js +3 -0
  324. package/cjs/mix_types/is_any_or_never.js.map +1 -0
  325. package/cjs/mix_types/merge.d.ts +38 -0
  326. package/cjs/mix_types/merge.d.ts.map +1 -0
  327. package/cjs/mix_types/merge.js +17 -0
  328. package/cjs/mix_types/merge.js.map +1 -0
  329. package/cjs/never/is_never.d.ts +59 -0
  330. package/cjs/never/is_never.d.ts.map +1 -0
  331. package/cjs/never/is_never.js +3 -0
  332. package/cjs/never/is_never.js.map +1 -0
  333. package/cjs/never/is_not_never.d.ts +59 -0
  334. package/cjs/never/is_not_never.d.ts.map +1 -0
  335. package/cjs/never/is_not_never.js +3 -0
  336. package/cjs/never/is_not_never.js.map +1 -0
  337. package/cjs/never/never.d.ts +75 -0
  338. package/cjs/never/never.d.ts.map +1 -0
  339. package/cjs/never/never.js +3 -0
  340. package/cjs/never/never.js.map +1 -0
  341. package/cjs/nodejs/index.d.ts +2 -0
  342. package/cjs/nodejs/index.d.ts.map +1 -0
  343. package/cjs/nodejs/index.js +18 -0
  344. package/cjs/nodejs/index.js.map +1 -0
  345. package/cjs/nodejs/isNodeError.d.ts +31 -0
  346. package/cjs/nodejs/isNodeError.d.ts.map +1 -0
  347. package/cjs/nodejs/isNodeError.js +12 -0
  348. package/cjs/nodejs/isNodeError.js.map +1 -0
  349. package/cjs/nominal/brand.d.ts +23 -0
  350. package/cjs/nominal/brand.d.ts.map +1 -0
  351. package/cjs/nominal/brand.js +17 -0
  352. package/cjs/nominal/brand.js.map +1 -0
  353. package/cjs/nominal/constants.d.ts +3 -0
  354. package/cjs/nominal/constants.d.ts.map +1 -0
  355. package/cjs/nominal/constants.js +6 -0
  356. package/cjs/nominal/constants.js.map +1 -0
  357. package/cjs/nominal/flavor.d.ts +31 -0
  358. package/cjs/nominal/flavor.d.ts.map +1 -0
  359. package/cjs/nominal/flavor.js +17 -0
  360. package/cjs/nominal/flavor.js.map +1 -0
  361. package/cjs/nominal/index.d.ts +4 -0
  362. package/cjs/nominal/index.d.ts.map +1 -0
  363. package/cjs/nominal/index.js +20 -0
  364. package/cjs/nominal/index.js.map +1 -0
  365. package/cjs/nominal/nominal_match.d.ts +5 -0
  366. package/cjs/nominal/nominal_match.d.ts.map +1 -0
  367. package/cjs/nominal/nominal_match.js +10 -0
  368. package/cjs/nominal/nominal_match.js.map +1 -0
  369. package/cjs/null/is_not_null.d.ts +71 -0
  370. package/cjs/null/is_not_null.d.ts.map +1 -0
  371. package/cjs/null/is_not_null.js +3 -0
  372. package/cjs/null/is_not_null.js.map +1 -0
  373. package/cjs/null/is_null.d.ts +75 -0
  374. package/cjs/null/is_null.d.ts.map +1 -0
  375. package/cjs/null/is_null.js +3 -0
  376. package/cjs/null/is_null.js.map +1 -0
  377. package/cjs/number/cast.d.ts +10 -0
  378. package/cjs/number/cast.d.ts.map +1 -0
  379. package/cjs/number/cast.js +3 -0
  380. package/cjs/number/cast.js.map +1 -0
  381. package/cjs/number/is_not_number.d.ts +82 -0
  382. package/cjs/number/is_not_number.d.ts.map +1 -0
  383. package/cjs/number/is_not_number.js +3 -0
  384. package/cjs/number/is_not_number.js.map +1 -0
  385. package/cjs/number/is_not_number_literal.d.ts +81 -0
  386. package/cjs/number/is_not_number_literal.d.ts.map +1 -0
  387. package/cjs/number/is_not_number_literal.js +3 -0
  388. package/cjs/number/is_not_number_literal.js.map +1 -0
  389. package/cjs/number/is_number.d.ts +85 -0
  390. package/cjs/number/is_number.d.ts.map +1 -0
  391. package/cjs/number/is_number.js +3 -0
  392. package/cjs/number/is_number.js.map +1 -0
  393. package/cjs/number/is_number_literal.d.ts +83 -0
  394. package/cjs/number/is_number_literal.d.ts.map +1 -0
  395. package/cjs/number/is_number_literal.js +3 -0
  396. package/cjs/number/is_number_literal.js.map +1 -0
  397. package/cjs/number/number_array.d.ts +1 -0
  398. package/cjs/number/number_array.d.ts.map +1 -0
  399. package/cjs/number/number_array.js +16 -0
  400. package/cjs/number/number_array.js.map +1 -0
  401. package/cjs/number/number_plus.d.ts +12 -0
  402. package/cjs/number/number_plus.d.ts.map +1 -0
  403. package/cjs/number/number_plus.js +4 -0
  404. package/cjs/number/number_plus.js.map +1 -0
  405. package/cjs/numeric/cast.d.ts +27 -0
  406. package/cjs/numeric/cast.d.ts.map +1 -0
  407. package/cjs/numeric/cast.js +3 -0
  408. package/cjs/numeric/cast.js.map +1 -0
  409. package/cjs/numeric/is_integer.d.ts +30 -0
  410. package/cjs/numeric/is_integer.d.ts.map +1 -0
  411. package/cjs/numeric/is_integer.js +3 -0
  412. package/cjs/numeric/is_integer.js.map +1 -0
  413. package/cjs/numeric/is_negative.d.ts +35 -0
  414. package/cjs/numeric/is_negative.d.ts.map +1 -0
  415. package/cjs/numeric/is_negative.js +3 -0
  416. package/cjs/numeric/is_negative.js.map +1 -0
  417. package/cjs/numeric/is_not_integer.d.ts +32 -0
  418. package/cjs/numeric/is_not_integer.d.ts.map +1 -0
  419. package/cjs/numeric/is_not_integer.js +3 -0
  420. package/cjs/numeric/is_not_integer.js.map +1 -0
  421. package/cjs/numeric/is_not_negative.d.ts +35 -0
  422. package/cjs/numeric/is_not_negative.d.ts.map +1 -0
  423. package/cjs/numeric/is_not_negative.js +3 -0
  424. package/cjs/numeric/is_not_negative.js.map +1 -0
  425. package/cjs/numeric/is_not_numeric.d.ts +19 -0
  426. package/cjs/numeric/is_not_numeric.d.ts.map +1 -0
  427. package/cjs/numeric/is_not_numeric.js +3 -0
  428. package/cjs/numeric/is_not_numeric.js.map +1 -0
  429. package/cjs/numeric/is_not_positive.d.ts +36 -0
  430. package/cjs/numeric/is_not_positive.d.ts.map +1 -0
  431. package/cjs/numeric/is_not_positive.js +3 -0
  432. package/cjs/numeric/is_not_positive.js.map +1 -0
  433. package/cjs/numeric/is_numeric.d.ts +19 -0
  434. package/cjs/numeric/is_numeric.d.ts.map +1 -0
  435. package/cjs/numeric/is_numeric.js +3 -0
  436. package/cjs/numeric/is_numeric.js.map +1 -0
  437. package/cjs/numeric/is_positive.d.ts +35 -0
  438. package/cjs/numeric/is_positive.d.ts.map +1 -0
  439. package/cjs/numeric/is_positive.js +3 -0
  440. package/cjs/numeric/is_positive.js.map +1 -0
  441. package/cjs/numeric/numeric_plus.d.ts +10 -0
  442. package/cjs/numeric/numeric_plus.d.ts.map +1 -0
  443. package/cjs/numeric/numeric_plus.js +3 -0
  444. package/cjs/numeric/numeric_plus.js.map +1 -0
  445. package/cjs/numeric/numeric_type.d.ts +9 -0
  446. package/cjs/numeric/numeric_type.d.ts.map +1 -0
  447. package/cjs/numeric/numeric_type.js +3 -0
  448. package/cjs/numeric/numeric_type.js.map +1 -0
  449. package/cjs/object/ANotB.d.ts +9 -0
  450. package/cjs/object/ANotB.d.ts.map +1 -0
  451. package/cjs/object/ANotB.js +3 -0
  452. package/cjs/object/ANotB.js.map +1 -0
  453. package/cjs/object/ExcludePropType.d.ts +7 -0
  454. package/cjs/object/ExcludePropType.d.ts.map +1 -0
  455. package/cjs/object/ExcludePropType.js +3 -0
  456. package/cjs/object/ExcludePropType.js.map +1 -0
  457. package/cjs/object/IsDisjoint.d.ts +9 -0
  458. package/cjs/object/IsDisjoint.d.ts.map +1 -0
  459. package/cjs/object/IsDisjoint.js +3 -0
  460. package/cjs/object/IsDisjoint.js.map +1 -0
  461. package/cjs/object/IsRecord.d.ts +2 -0
  462. package/cjs/object/IsRecord.d.ts.map +1 -0
  463. package/cjs/object/IsRecord.js +3 -0
  464. package/cjs/object/IsRecord.js.map +1 -0
  465. package/cjs/object/KeyTypes.d.ts +7 -0
  466. package/cjs/object/KeyTypes.d.ts.map +1 -0
  467. package/cjs/object/KeyTypes.js +3 -0
  468. package/cjs/object/KeyTypes.js.map +1 -0
  469. package/cjs/object/KeyofOptional.d.ts +6 -0
  470. package/cjs/object/KeyofOptional.d.ts.map +1 -0
  471. package/cjs/object/KeyofOptional.js +3 -0
  472. package/cjs/object/KeyofOptional.js.map +1 -0
  473. package/cjs/object/KeysWithDiffType.d.ts +7 -0
  474. package/cjs/object/KeysWithDiffType.d.ts.map +1 -0
  475. package/cjs/object/KeysWithDiffType.js +3 -0
  476. package/cjs/object/KeysWithDiffType.js.map +1 -0
  477. package/cjs/object/KnownKeys.d.ts +7 -0
  478. package/cjs/object/KnownKeys.d.ts.map +1 -0
  479. package/cjs/object/KnownKeys.js +6 -0
  480. package/cjs/object/KnownKeys.js.map +1 -0
  481. package/cjs/object/Partial.d.ts +22 -0
  482. package/cjs/object/Partial.d.ts.map +1 -0
  483. package/cjs/object/Partial.js +3 -0
  484. package/cjs/object/Partial.js.map +1 -0
  485. package/cjs/object/RecursiveIntersect.d.ts +16 -0
  486. package/cjs/object/RecursiveIntersect.d.ts.map +1 -0
  487. package/cjs/object/RecursiveIntersect.js +3 -0
  488. package/cjs/object/RecursiveIntersect.js.map +1 -0
  489. package/cjs/object/RecursiveRequired.d.ts +5 -0
  490. package/cjs/object/RecursiveRequired.d.ts.map +1 -0
  491. package/cjs/object/RecursiveRequired.js +3 -0
  492. package/cjs/object/RecursiveRequired.js.map +1 -0
  493. package/cjs/object/Required.d.ts +6 -0
  494. package/cjs/object/Required.d.ts.map +1 -0
  495. package/cjs/object/Required.js +4 -0
  496. package/cjs/object/Required.js.map +1 -0
  497. package/cjs/object/RequiredKeys.d.ts +7 -0
  498. package/cjs/object/RequiredKeys.d.ts.map +1 -0
  499. package/cjs/object/RequiredKeys.js +3 -0
  500. package/cjs/object/RequiredKeys.js.map +1 -0
  501. package/cjs/object/SpreadRecord.d.ts +3 -0
  502. package/cjs/object/SpreadRecord.d.ts.map +1 -0
  503. package/cjs/object/SpreadRecord.js +3 -0
  504. package/cjs/object/SpreadRecord.js.map +1 -0
  505. package/cjs/object/ValueOf.d.ts +2 -0
  506. package/cjs/object/ValueOf.d.ts.map +1 -0
  507. package/cjs/object/ValueOf.js +3 -0
  508. package/cjs/object/ValueOf.js.map +1 -0
  509. package/cjs/object/any_record.d.ts +3 -0
  510. package/cjs/object/any_record.d.ts.map +1 -0
  511. package/cjs/object/any_record.js +3 -0
  512. package/cjs/object/any_record.js.map +1 -0
  513. package/cjs/object/everyKey.d.ts +3 -0
  514. package/cjs/object/everyKey.d.ts.map +1 -0
  515. package/cjs/object/everyKey.js +7 -0
  516. package/cjs/object/everyKey.js.map +1 -0
  517. package/cjs/object/facade.d.ts +17 -0
  518. package/cjs/object/facade.d.ts.map +1 -0
  519. package/cjs/object/facade.js +26 -0
  520. package/cjs/object/facade.js.map +1 -0
  521. package/cjs/object/filterKey.d.ts +3 -0
  522. package/cjs/object/filterKey.d.ts.map +1 -0
  523. package/cjs/object/filterKey.js +9 -0
  524. package/cjs/object/filterKey.js.map +1 -0
  525. package/cjs/object/findKey.d.ts +3 -0
  526. package/cjs/object/findKey.d.ts.map +1 -0
  527. package/cjs/object/findKey.js +9 -0
  528. package/cjs/object/findKey.js.map +1 -0
  529. package/cjs/object/forEachKey.d.ts +3 -0
  530. package/cjs/object/forEachKey.d.ts.map +1 -0
  531. package/cjs/object/forEachKey.js +7 -0
  532. package/cjs/object/forEachKey.js.map +1 -0
  533. package/cjs/object/getField.d.ts +4 -0
  534. package/cjs/object/getField.d.ts.map +1 -0
  535. package/cjs/object/getField.js +7 -0
  536. package/cjs/object/getField.js.map +1 -0
  537. package/cjs/object/hasKey.d.ts +4 -0
  538. package/cjs/object/hasKey.d.ts.map +1 -0
  539. package/cjs/object/hasKey.js +7 -0
  540. package/cjs/object/hasKey.js.map +1 -0
  541. package/cjs/object/hasProperty.d.ts +3 -0
  542. package/cjs/object/hasProperty.d.ts.map +1 -0
  543. package/cjs/object/hasProperty.js +7 -0
  544. package/cjs/object/hasProperty.js.map +1 -0
  545. package/cjs/object/index.d.ts +38 -0
  546. package/cjs/object/index.d.ts.map +1 -0
  547. package/cjs/object/index.js +36 -0
  548. package/cjs/object/index.js.map +1 -0
  549. package/cjs/object/is_not_object.d.ts +117 -0
  550. package/cjs/object/is_not_object.d.ts.map +1 -0
  551. package/cjs/object/is_not_object.js +3 -0
  552. package/cjs/object/is_not_object.js.map +1 -0
  553. package/cjs/object/is_object.d.ts +104 -0
  554. package/cjs/object/is_object.d.ts.map +1 -0
  555. package/cjs/object/is_object.js +3 -0
  556. package/cjs/object/is_object.js.map +1 -0
  557. package/cjs/object/left_join.d.ts +10 -0
  558. package/cjs/object/left_join.d.ts.map +1 -0
  559. package/cjs/object/left_join.js +3 -0
  560. package/cjs/object/left_join.js.map +1 -0
  561. package/cjs/object/mapKey.d.ts +3 -0
  562. package/cjs/object/mapKey.d.ts.map +1 -0
  563. package/cjs/object/mapKey.js +9 -0
  564. package/cjs/object/mapKey.js.map +1 -0
  565. package/cjs/object/mapProperties.d.ts +14 -0
  566. package/cjs/object/mapProperties.d.ts.map +1 -0
  567. package/cjs/object/mapProperties.js +16 -0
  568. package/cjs/object/mapProperties.js.map +1 -0
  569. package/cjs/object/merge.d.ts +81 -0
  570. package/cjs/object/merge.d.ts.map +1 -0
  571. package/cjs/object/merge.js +3 -0
  572. package/cjs/object/merge.js.map +1 -0
  573. package/cjs/object/object_plus.d.ts +2 -0
  574. package/cjs/object/object_plus.d.ts.map +1 -0
  575. package/cjs/object/object_plus.js +18 -0
  576. package/cjs/object/object_plus.js.map +1 -0
  577. package/cjs/object/omit.d.ts +29 -0
  578. package/cjs/object/omit.d.ts.map +1 -0
  579. package/cjs/object/omit.js +13 -0
  580. package/cjs/object/omit.js.map +1 -0
  581. package/cjs/object/optional_key.d.ts +35 -0
  582. package/cjs/object/optional_key.d.ts.map +1 -0
  583. package/cjs/object/optional_key.js +3 -0
  584. package/cjs/object/optional_key.js.map +1 -0
  585. package/cjs/object/pick.d.ts +29 -0
  586. package/cjs/object/pick.d.ts.map +1 -0
  587. package/cjs/object/pick.js +13 -0
  588. package/cjs/object/pick.js.map +1 -0
  589. package/cjs/object/properties.d.ts +7 -0
  590. package/cjs/object/properties.d.ts.map +1 -0
  591. package/cjs/object/properties.js +3 -0
  592. package/cjs/object/properties.js.map +1 -0
  593. package/cjs/object/record.d.ts +17 -0
  594. package/cjs/object/record.d.ts.map +1 -0
  595. package/cjs/object/record.js +8 -0
  596. package/cjs/object/record.js.map +1 -0
  597. package/cjs/object/recursive_partial.d.ts +29 -0
  598. package/cjs/object/recursive_partial.d.ts.map +1 -0
  599. package/cjs/object/recursive_partial.js +4 -0
  600. package/cjs/object/recursive_partial.js.map +1 -0
  601. package/cjs/object/reduceKey.d.ts +7 -0
  602. package/cjs/object/reduceKey.d.ts.map +1 -0
  603. package/cjs/object/reduceKey.js +12 -0
  604. package/cjs/object/reduceKey.js.map +1 -0
  605. package/cjs/object/replaceProperty.d.ts +6 -0
  606. package/cjs/object/replaceProperty.d.ts.map +1 -0
  607. package/cjs/object/replaceProperty.js +7 -0
  608. package/cjs/object/replaceProperty.js.map +1 -0
  609. package/cjs/object/someKey.d.ts +3 -0
  610. package/cjs/object/someKey.d.ts.map +1 -0
  611. package/cjs/object/someKey.js +9 -0
  612. package/cjs/object/someKey.js.map +1 -0
  613. package/cjs/object/split.d.ts +69 -0
  614. package/cjs/object/split.d.ts.map +1 -0
  615. package/cjs/object/split.js +11 -0
  616. package/cjs/object/split.js.map +1 -0
  617. package/cjs/object/typeOverrideIncompatible.d.ts +3 -0
  618. package/cjs/object/typeOverrideIncompatible.d.ts.map +1 -0
  619. package/cjs/object/typeOverrideIncompatible.js +10 -0
  620. package/cjs/object/typeOverrideIncompatible.js.map +1 -0
  621. package/cjs/predicates/CanAssign.d.ts +53 -0
  622. package/cjs/predicates/CanAssign.d.ts.map +1 -0
  623. package/cjs/predicates/CanAssign.js +7 -0
  624. package/cjs/predicates/CanAssign.js.map +1 -0
  625. package/cjs/predicates/Extends.d.ts +8 -0
  626. package/cjs/predicates/Extends.d.ts.map +1 -0
  627. package/cjs/predicates/Extends.js +3 -0
  628. package/cjs/predicates/Extends.js.map +1 -0
  629. package/cjs/predicates/If.d.ts +2 -0
  630. package/cjs/predicates/If.d.ts.map +1 -0
  631. package/cjs/predicates/If.js +3 -0
  632. package/cjs/predicates/If.js.map +1 -0
  633. package/cjs/predicates/IsEmptyObject.d.ts +2 -0
  634. package/cjs/predicates/IsEmptyObject.d.ts.map +1 -0
  635. package/cjs/predicates/IsEmptyObject.js +3 -0
  636. package/cjs/predicates/IsEmptyObject.js.map +1 -0
  637. package/cjs/predicates/assignable.d.ts +89 -0
  638. package/cjs/predicates/assignable.d.ts.map +1 -0
  639. package/cjs/predicates/assignable.js +3 -0
  640. package/cjs/predicates/assignable.js.map +1 -0
  641. package/cjs/predicates/index.d.ts +7 -0
  642. package/cjs/predicates/index.d.ts.map +1 -0
  643. package/cjs/predicates/index.js +18 -0
  644. package/cjs/predicates/index.js.map +1 -0
  645. package/cjs/predicates/literal.d.ts +22 -0
  646. package/cjs/predicates/literal.d.ts.map +1 -0
  647. package/cjs/predicates/literal.js +3 -0
  648. package/cjs/predicates/literal.js.map +1 -0
  649. package/cjs/predicates/logical.d.ts +5 -0
  650. package/cjs/predicates/logical.d.ts.map +1 -0
  651. package/cjs/predicates/logical.js +3 -0
  652. package/cjs/predicates/logical.js.map +1 -0
  653. package/cjs/predicates/not_assignable.d.ts +89 -0
  654. package/cjs/predicates/not_assignable.d.ts.map +1 -0
  655. package/cjs/predicates/not_assignable.js +3 -0
  656. package/cjs/predicates/not_assignable.js.map +1 -0
  657. package/cjs/primitive.d.ts +5 -0
  658. package/cjs/primitive.d.ts.map +1 -0
  659. package/cjs/primitive.js +3 -0
  660. package/cjs/primitive.js.map +1 -0
  661. package/cjs/promise/MaybePromise.d.ts +22 -0
  662. package/cjs/promise/MaybePromise.d.ts.map +1 -0
  663. package/cjs/promise/MaybePromise.js +12 -0
  664. package/cjs/promise/MaybePromise.js.map +1 -0
  665. package/cjs/promise/PromiseValue.d.ts +13 -0
  666. package/cjs/promise/PromiseValue.d.ts.map +1 -0
  667. package/cjs/promise/PromiseValue.js +3 -0
  668. package/cjs/promise/PromiseValue.js.map +1 -0
  669. package/cjs/promise/PromiseValueMerge.d.ts +5 -0
  670. package/cjs/promise/PromiseValueMerge.d.ts.map +1 -0
  671. package/cjs/promise/PromiseValueMerge.js +3 -0
  672. package/cjs/promise/PromiseValueMerge.js.map +1 -0
  673. package/cjs/promise/index.d.ts +6 -0
  674. package/cjs/promise/index.d.ts.map +1 -0
  675. package/cjs/promise/index.js +20 -0
  676. package/cjs/promise/index.js.map +1 -0
  677. package/cjs/promise/isPromise.d.ts +2 -0
  678. package/cjs/promise/isPromise.d.ts.map +1 -0
  679. package/cjs/promise/isPromise.js +8 -0
  680. package/cjs/promise/isPromise.js.map +1 -0
  681. package/cjs/promise/mapSeries.d.ts +2 -0
  682. package/cjs/promise/mapSeries.d.ts.map +1 -0
  683. package/cjs/promise/mapSeries.js +7 -0
  684. package/cjs/promise/mapSeries.js.map +1 -0
  685. package/cjs/string/$extract_manipulated_string.d.ts +18 -0
  686. package/cjs/string/$extract_manipulated_string.d.ts.map +1 -0
  687. package/cjs/string/$extract_manipulated_string.js +3 -0
  688. package/cjs/string/$extract_manipulated_string.js.map +1 -0
  689. package/cjs/string/_string_type.d.ts +5 -0
  690. package/cjs/string/_string_type.d.ts.map +1 -0
  691. package/cjs/string/_string_type.js +3 -0
  692. package/cjs/string/_string_type.js.map +1 -0
  693. package/cjs/string/is_not_string.d.ts +82 -0
  694. package/cjs/string/is_not_string.d.ts.map +1 -0
  695. package/cjs/string/is_not_string.js +3 -0
  696. package/cjs/string/is_not_string.js.map +1 -0
  697. package/cjs/string/is_not_string_literal.d.ts +100 -0
  698. package/cjs/string/is_not_string_literal.d.ts.map +1 -0
  699. package/cjs/string/is_not_string_literal.js +3 -0
  700. package/cjs/string/is_not_string_literal.js.map +1 -0
  701. package/cjs/string/is_not_template_literal.d.ts +73 -0
  702. package/cjs/string/is_not_template_literal.d.ts.map +1 -0
  703. package/cjs/string/is_not_template_literal.js +3 -0
  704. package/cjs/string/is_not_template_literal.js.map +1 -0
  705. package/cjs/string/is_string.d.ts +81 -0
  706. package/cjs/string/is_string.d.ts.map +1 -0
  707. package/cjs/string/is_string.js +3 -0
  708. package/cjs/string/is_string.js.map +1 -0
  709. package/cjs/string/is_string_literal.d.ts +100 -0
  710. package/cjs/string/is_string_literal.d.ts.map +1 -0
  711. package/cjs/string/is_string_literal.js +3 -0
  712. package/cjs/string/is_string_literal.js.map +1 -0
  713. package/cjs/string/is_template_literal.d.ts +75 -0
  714. package/cjs/string/is_template_literal.d.ts.map +1 -0
  715. package/cjs/string/is_template_literal.js +3 -0
  716. package/cjs/string/is_template_literal.js.map +1 -0
  717. package/cjs/string/string.d.ts +24 -0
  718. package/cjs/string/string.d.ts.map +1 -0
  719. package/cjs/string/string.js +3 -0
  720. package/cjs/string/string.js.map +1 -0
  721. package/cjs/string/string_plus.d.ts +27 -0
  722. package/cjs/string/string_plus.d.ts.map +1 -0
  723. package/cjs/string/string_plus.js +3 -0
  724. package/cjs/string/string_plus.js.map +1 -0
  725. package/cjs/symbol/is_not_symbol.d.ts +71 -0
  726. package/cjs/symbol/is_not_symbol.d.ts.map +1 -0
  727. package/cjs/symbol/is_not_symbol.js +3 -0
  728. package/cjs/symbol/is_not_symbol.js.map +1 -0
  729. package/cjs/symbol/is_symbol.d.ts +73 -0
  730. package/cjs/symbol/is_symbol.d.ts.map +1 -0
  731. package/cjs/symbol/is_symbol.js +3 -0
  732. package/cjs/symbol/is_symbol.js.map +1 -0
  733. package/cjs/testing/stub.d.ts +31 -0
  734. package/cjs/testing/stub.d.ts.map +1 -0
  735. package/cjs/testing/stub.js +59 -0
  736. package/cjs/testing/stub.js.map +1 -0
  737. package/cjs/testing/test_type.d.ts +350 -0
  738. package/cjs/testing/test_type.d.ts.map +1 -0
  739. package/cjs/testing/test_type.js +16 -0
  740. package/cjs/testing/test_type.js.map +1 -0
  741. package/cjs/tuple/common_prop_keys.d.ts +34 -0
  742. package/cjs/tuple/common_prop_keys.d.ts.map +1 -0
  743. package/cjs/tuple/common_prop_keys.js +3 -0
  744. package/cjs/tuple/common_prop_keys.js.map +1 -0
  745. package/cjs/tuple/create_tuple.d.ts +28 -0
  746. package/cjs/tuple/create_tuple.d.ts.map +1 -0
  747. package/cjs/tuple/create_tuple.js +3 -0
  748. package/cjs/tuple/create_tuple.js.map +1 -0
  749. package/cjs/tuple/drop.d.ts +91 -0
  750. package/cjs/tuple/drop.d.ts.map +1 -0
  751. package/cjs/tuple/drop.js +12 -0
  752. package/cjs/tuple/drop.js.map +1 -0
  753. package/cjs/tuple/is_not_tuple.d.ts +78 -0
  754. package/cjs/tuple/is_not_tuple.d.ts.map +1 -0
  755. package/cjs/tuple/is_not_tuple.js +3 -0
  756. package/cjs/tuple/is_not_tuple.js.map +1 -0
  757. package/cjs/tuple/is_tuple.d.ts +76 -0
  758. package/cjs/tuple/is_tuple.d.ts.map +1 -0
  759. package/cjs/tuple/is_tuple.js +3 -0
  760. package/cjs/tuple/is_tuple.js.map +1 -0
  761. package/cjs/tuple/tail.d.ts +6 -0
  762. package/cjs/tuple/tail.d.ts.map +1 -0
  763. package/cjs/tuple/tail.js +3 -0
  764. package/cjs/tuple/tail.js.map +1 -0
  765. package/cjs/tuple/tuple_plus.common_prop_keys.d.ts +32 -0
  766. package/cjs/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -0
  767. package/cjs/tuple/tuple_plus.common_prop_keys.js +3 -0
  768. package/cjs/tuple/tuple_plus.common_prop_keys.js.map +1 -0
  769. package/cjs/tuple/tuple_plus.d.ts +6 -0
  770. package/cjs/tuple/tuple_plus.d.ts.map +1 -0
  771. package/cjs/tuple/tuple_plus.drop_match.d.ts +6 -0
  772. package/cjs/tuple/tuple_plus.drop_match.d.ts.map +1 -0
  773. package/cjs/tuple/tuple_plus.drop_match.js +3 -0
  774. package/cjs/tuple/tuple_plus.drop_match.js.map +1 -0
  775. package/cjs/tuple/tuple_plus.filter.d.ts +13 -0
  776. package/cjs/tuple/tuple_plus.filter.d.ts.map +1 -0
  777. package/cjs/tuple/tuple_plus.filter.js +3 -0
  778. package/cjs/tuple/tuple_plus.filter.js.map +1 -0
  779. package/cjs/tuple/tuple_plus.find.d.ts +67 -0
  780. package/cjs/tuple/tuple_plus.find.d.ts.map +1 -0
  781. package/cjs/tuple/tuple_plus.find.js +3 -0
  782. package/cjs/tuple/tuple_plus.find.js.map +1 -0
  783. package/cjs/tuple/tuple_plus.js +3 -0
  784. package/cjs/tuple/tuple_plus.js.map +1 -0
  785. package/cjs/tuple/tuple_plus.pad_start.d.ts +25 -0
  786. package/cjs/tuple/tuple_plus.pad_start.d.ts.map +1 -0
  787. package/cjs/tuple/tuple_plus.pad_start.js +3 -0
  788. package/cjs/tuple/tuple_plus.pad_start.js.map +1 -0
  789. package/cjs/type/failed.d.ts +32 -0
  790. package/cjs/type/failed.d.ts.map +1 -0
  791. package/cjs/type/failed.js +3 -0
  792. package/cjs/type/failed.js.map +1 -0
  793. package/cjs/type/no_infer.d.ts +28 -0
  794. package/cjs/type/no_infer.d.ts.map +1 -0
  795. package/cjs/type/no_infer.js +3 -0
  796. package/cjs/type/no_infer.js.map +1 -0
  797. package/cjs/type-guard/is_type.d.ts +27 -0
  798. package/cjs/type-guard/is_type.d.ts.map +1 -0
  799. package/cjs/type-guard/is_type.js +27 -0
  800. package/cjs/type-guard/is_type.js.map +1 -0
  801. package/cjs/type_plus/$equality.d.ts +12 -0
  802. package/cjs/type_plus/$equality.d.ts.map +1 -0
  803. package/cjs/type_plus/$equality.js +3 -0
  804. package/cjs/type_plus/$equality.js.map +1 -0
  805. package/cjs/type_plus/$error.d.ts +8 -0
  806. package/cjs/type_plus/$error.d.ts.map +1 -0
  807. package/cjs/type_plus/$error.js +3 -0
  808. package/cjs/type_plus/$error.js.map +1 -0
  809. package/cjs/type_plus/$infer_error.d.ts +21 -0
  810. package/cjs/type_plus/$infer_error.d.ts.map +1 -0
  811. package/cjs/type_plus/$infer_error.js +3 -0
  812. package/cjs/type_plus/$infer_error.js.map +1 -0
  813. package/cjs/type_plus/$merge_options.d.ts +11 -0
  814. package/cjs/type_plus/$merge_options.d.ts.map +1 -0
  815. package/cjs/type_plus/$merge_options.js +3 -0
  816. package/cjs/type_plus/$merge_options.js.map +1 -0
  817. package/cjs/type_plus/$resolve_options.d.ts +11 -0
  818. package/cjs/type_plus/$resolve_options.d.ts.map +1 -0
  819. package/cjs/type_plus/$resolve_options.js +3 -0
  820. package/cjs/type_plus/$resolve_options.js.map +1 -0
  821. package/cjs/type_plus/$special_type.d.ts +19 -0
  822. package/cjs/type_plus/$special_type.d.ts.map +1 -0
  823. package/cjs/type_plus/$special_type.js +3 -0
  824. package/cjs/type_plus/$special_type.js.map +1 -0
  825. package/cjs/type_plus/$type.d.ts +11 -0
  826. package/cjs/type_plus/$type.d.ts.map +1 -0
  827. package/cjs/type_plus/$type.js +3 -0
  828. package/cjs/type_plus/$type.js.map +1 -0
  829. package/cjs/type_plus/branch/$branch.d.ts +29 -0
  830. package/cjs/type_plus/branch/$branch.d.ts.map +1 -0
  831. package/cjs/type_plus/branch/$branch.js +3 -0
  832. package/cjs/type_plus/branch/$branch.js.map +1 -0
  833. package/cjs/type_plus/branch/$distributive.d.ts +19 -0
  834. package/cjs/type_plus/branch/$distributive.d.ts.map +1 -0
  835. package/cjs/type_plus/branch/$distributive.js +3 -0
  836. package/cjs/type_plus/branch/$distributive.js.map +1 -0
  837. package/cjs/type_plus/branch/$exact.d.ts +30 -0
  838. package/cjs/type_plus/branch/$exact.d.ts.map +1 -0
  839. package/cjs/type_plus/branch/$exact.js +3 -0
  840. package/cjs/type_plus/branch/$exact.js.map +1 -0
  841. package/cjs/type_plus/branch/$input_options.d.ts +10 -0
  842. package/cjs/type_plus/branch/$input_options.d.ts.map +1 -0
  843. package/cjs/type_plus/branch/$input_options.js +3 -0
  844. package/cjs/type_plus/branch/$input_options.js.map +1 -0
  845. package/cjs/type_plus/branch/$is_distributive.d.ts +6 -0
  846. package/cjs/type_plus/branch/$is_distributive.d.ts.map +1 -0
  847. package/cjs/type_plus/branch/$is_distributive.js +3 -0
  848. package/cjs/type_plus/branch/$is_distributive.js.map +1 -0
  849. package/cjs/type_plus/branch/$override.d.ts +21 -0
  850. package/cjs/type_plus/branch/$override.d.ts.map +1 -0
  851. package/cjs/type_plus/branch/$override.js +3 -0
  852. package/cjs/type_plus/branch/$override.js.map +1 -0
  853. package/cjs/type_plus/branch/$resolve_branch.d.ts +29 -0
  854. package/cjs/type_plus/branch/$resolve_branch.d.ts.map +1 -0
  855. package/cjs/type_plus/branch/$resolve_branch.js +3 -0
  856. package/cjs/type_plus/branch/$resolve_branch.js.map +1 -0
  857. package/cjs/type_plus/branch/$select.d.ts +77 -0
  858. package/cjs/type_plus/branch/$select.d.ts.map +1 -0
  859. package/cjs/type_plus/branch/$select.js +3 -0
  860. package/cjs/type_plus/branch/$select.js.map +1 -0
  861. package/cjs/type_plus/branch/$select_invert.d.ts +75 -0
  862. package/cjs/type_plus/branch/$select_invert.d.ts.map +1 -0
  863. package/cjs/type_plus/branch/$select_invert.js +3 -0
  864. package/cjs/type_plus/branch/$select_invert.js.map +1 -0
  865. package/cjs/type_plus/branch/$select_invert_strict.d.ts +75 -0
  866. package/cjs/type_plus/branch/$select_invert_strict.d.ts.map +1 -0
  867. package/cjs/type_plus/branch/$select_invert_strict.js +3 -0
  868. package/cjs/type_plus/branch/$select_invert_strict.js.map +1 -0
  869. package/cjs/type_plus/branch/$select_strict.d.ts +76 -0
  870. package/cjs/type_plus/branch/$select_strict.d.ts.map +1 -0
  871. package/cjs/type_plus/branch/$select_strict.js +3 -0
  872. package/cjs/type_plus/branch/$select_strict.js.map +1 -0
  873. package/cjs/type_plus/branch/$selection.d.ts +127 -0
  874. package/cjs/type_plus/branch/$selection.d.ts.map +1 -0
  875. package/cjs/type_plus/branch/$selection.js +3 -0
  876. package/cjs/type_plus/branch/$selection.js.map +1 -0
  877. package/cjs/type_plus/branch/$selection_options.d.ts +37 -0
  878. package/cjs/type_plus/branch/$selection_options.d.ts.map +1 -0
  879. package/cjs/type_plus/branch/$selection_options.js +3 -0
  880. package/cjs/type_plus/branch/$selection_options.js.map +1 -0
  881. package/cjs/undefined/has_undefined.d.ts +43 -0
  882. package/cjs/undefined/has_undefined.d.ts.map +1 -0
  883. package/cjs/undefined/has_undefined.js +3 -0
  884. package/cjs/undefined/has_undefined.js.map +1 -0
  885. package/cjs/undefined/is_not_undefined.d.ts +72 -0
  886. package/cjs/undefined/is_not_undefined.d.ts.map +1 -0
  887. package/cjs/undefined/is_not_undefined.js +3 -0
  888. package/cjs/undefined/is_not_undefined.js.map +1 -0
  889. package/cjs/undefined/is_undefined.d.ts +75 -0
  890. package/cjs/undefined/is_undefined.d.ts.map +1 -0
  891. package/cjs/undefined/is_undefined.js +3 -0
  892. package/cjs/undefined/is_undefined.js.map +1 -0
  893. package/cjs/union/union.d.ts +33 -0
  894. package/cjs/union/union.d.ts.map +1 -0
  895. package/cjs/union/union.js +3 -0
  896. package/cjs/union/union.js.map +1 -0
  897. package/cjs/union/union_to_intersection.d.ts +3 -0
  898. package/cjs/union/union_to_intersection.d.ts.map +1 -0
  899. package/cjs/union/union_to_intersection.js +7 -0
  900. package/cjs/union/union_to_intersection.js.map +1 -0
  901. package/cjs/union_keys.d.ts +6 -0
  902. package/cjs/union_keys.d.ts.map +1 -0
  903. package/cjs/union_keys.js +3 -0
  904. package/cjs/union_keys.js.map +1 -0
  905. package/cjs/unknown/is_not_unknown.d.ts +53 -0
  906. package/cjs/unknown/is_not_unknown.d.ts.map +1 -0
  907. package/cjs/unknown/is_not_unknown.js +3 -0
  908. package/cjs/unknown/is_not_unknown.js.map +1 -0
  909. package/cjs/unknown/is_unknown.d.ts +53 -0
  910. package/cjs/unknown/is_unknown.d.ts.map +1 -0
  911. package/cjs/unknown/is_unknown.js +3 -0
  912. package/cjs/unknown/is_unknown.js.map +1 -0
  913. package/cjs/unknown/not_unknown_or.d.ts +30 -0
  914. package/cjs/unknown/not_unknown_or.d.ts.map +1 -0
  915. package/cjs/unknown/not_unknown_or.js +3 -0
  916. package/cjs/unknown/not_unknown_or.js.map +1 -0
  917. package/cjs/unknown/unknown.d.ts +55 -0
  918. package/cjs/unknown/unknown.d.ts.map +1 -0
  919. package/cjs/unknown/unknown.js +3 -0
  920. package/cjs/unknown/unknown.js.map +1 -0
  921. package/cjs/unpartial.d.ts +2 -0
  922. package/cjs/unpartial.d.ts.map +1 -0
  923. package/cjs/unpartial.js +8 -0
  924. package/cjs/unpartial.js.map +1 -0
  925. package/cjs/utils/Widen.d.ts +6 -0
  926. package/cjs/utils/Widen.d.ts.map +1 -0
  927. package/cjs/utils/Widen.js +3 -0
  928. package/cjs/utils/Widen.js.map +1 -0
  929. package/cjs/utils/as.d.ts +10 -0
  930. package/cjs/utils/as.d.ts.map +1 -0
  931. package/cjs/utils/as.js +25 -0
  932. package/cjs/utils/as.js.map +1 -0
  933. package/cjs/utils/index.d.ts +41 -0
  934. package/cjs/utils/index.d.ts.map +1 -0
  935. package/cjs/utils/index.js +19 -0
  936. package/cjs/utils/index.js.map +1 -0
  937. package/cjs/utils/inspect.d.ts +5 -0
  938. package/cjs/utils/inspect.d.ts.map +1 -0
  939. package/cjs/utils/inspect.js +12 -0
  940. package/cjs/utils/inspect.js.map +1 -0
  941. package/cjs/utils/options.d.ts +15 -0
  942. package/cjs/utils/options.d.ts.map +1 -0
  943. package/cjs/utils/options.js +3 -0
  944. package/cjs/utils/options.js.map +1 -0
  945. package/cjs/void/is_not_void.d.ts +78 -0
  946. package/cjs/void/is_not_void.d.ts.map +1 -0
  947. package/cjs/void/is_not_void.js +3 -0
  948. package/cjs/void/is_not_void.js.map +1 -0
  949. package/cjs/void/is_void.d.ts +79 -0
  950. package/cjs/void/is_void.d.ts.map +1 -0
  951. package/cjs/void/is_void.js +3 -0
  952. package/cjs/void/is_void.js.map +1 -0
  953. package/esm/assertion/assert_type.d.ts +1 -1
  954. package/esm/assertion/assert_type.d.ts.map +1 -1
  955. package/esm/function/extract_function.d.ts.map +1 -1
  956. package/esm/functional/Maybe.js +1 -1
  957. package/esm/functional/context.js +1 -1
  958. package/esm/object/facade.js +1 -1
  959. package/esm/object/typeOverrideIncompatible.d.ts.map +1 -1
  960. package/esm/object/typeOverrideIncompatible.js +1 -1
  961. package/esm/promise/MaybePromise.js +1 -1
  962. package/esm/testing/stub.d.ts +2 -2
  963. package/esm/testing/stub.d.ts.map +1 -1
  964. package/esm/testing/stub.js +1 -1
  965. package/esm/testing/test_type.js +1 -1
  966. package/esm/type-guard/is_type.d.ts +2 -2
  967. package/esm/type-guard/is_type.d.ts.map +1 -1
  968. package/esm/utils/as.d.ts +1 -1
  969. package/esm/utils/as.d.ts.map +1 -1
  970. package/esm/utils/as.js +1 -1
  971. package/package.json +9 -2
  972. package/src/array/array.some.ts +1 -1
  973. package/src/array/array_plus.common_prop_keys.ts +1 -1
  974. package/src/array/array_plus.element_match.ts +1 -1
  975. package/src/array/array_plus.filter.ts +1 -1
  976. package/src/array/array_plus.find.ts +1 -1
  977. package/src/array/array_plus.index_at.ts +1 -1
  978. package/src/array/array_plus.split_at.ts +3 -3
  979. package/src/array/find_first.ts +1 -1
  980. package/src/array/pad_start.ts +1 -1
  981. package/src/array/reduce_while.ts +1 -1
  982. package/src/assertion/assert_type.ts +1 -1
  983. package/src/class/isConstructor.ts +1 -1
  984. package/src/functional/Maybe.ts +1 -1
  985. package/src/functional/context.ts +3 -3
  986. package/src/math/add.ts +1 -1
  987. package/src/math/multiply.ts +1 -1
  988. package/src/math/numeric_struct.ts +15 -15
  989. package/src/math/subtract.ts +1 -1
  990. package/src/nominal/nominal_match.ts +1 -1
  991. package/src/object/everyKey.ts +1 -1
  992. package/src/object/facade.ts +18 -18
  993. package/src/object/filterKey.ts +1 -1
  994. package/src/object/findKey.ts +1 -1
  995. package/src/object/forEachKey.ts +1 -1
  996. package/src/object/getField.ts +2 -2
  997. package/src/object/mapKey.ts +1 -1
  998. package/src/object/mapProperties.ts +2 -2
  999. package/src/object/merge.ts +1 -1
  1000. package/src/object/omit.ts +18 -18
  1001. package/src/object/pick.ts +18 -18
  1002. package/src/object/reduceKey.ts +1 -1
  1003. package/src/object/replaceProperty.ts +1 -1
  1004. package/src/object/someKey.ts +1 -1
  1005. package/src/object/split.ts +21 -21
  1006. package/src/object/typeOverrideIncompatible.ts +1 -1
  1007. package/src/predicates/literal.ts +1 -1
  1008. package/src/promise/MaybePromise.ts +2 -2
  1009. package/src/promise/PromiseValueMerge.ts +1 -1
  1010. package/src/string/string.ts +2 -2
  1011. package/src/testing/stub.ts +3 -3
  1012. package/src/testing/test_type.ts +1 -1
  1013. package/src/tuple/common_prop_keys.ts +1 -1
  1014. package/src/tuple/drop.ts +2 -2
  1015. package/src/tuple/tuple_plus.common_prop_keys.ts +1 -1
  1016. package/src/tuple/tuple_plus.find.ts +1 -1
  1017. package/src/tuple/tuple_plus.pad_start.ts +1 -1
  1018. package/src/type_plus/branch/$is_distributive.ts +1 -1
  1019. package/src/type_plus/branch/$resolve_branch.ts +2 -2
  1020. package/src/utils/as.ts +1 -1
@@ -0,0 +1,1480 @@
1
+ import type { Tail } from '../tuple/tail.js';
2
+ import type { PadStart } from '../tuple/tuple_plus.pad_start.js';
3
+ import type { Add as NumericAdd } from './add.js';
4
+ import type { ToNegative } from './math_plus.to_negative.js';
5
+ /**
6
+ * Internal numeric representation to perform math operations.
7
+ *
8
+ * NumericStruct: `[Type, DigitsStruct]`
9
+ * DigitsStruct: `[Sign, Digits, Exponent]`
10
+ *
11
+ * It is similar to the floating point representation with some minor differences.
12
+ *
13
+ * @template Type Type of the value, either `number` or `bigint`.
14
+ * It captures the original type of the value,
15
+ * so that at the end of the operation,
16
+ * the value can be adjusted accordingly.
17
+ *
18
+ * @template Sign Sign of the value, either `+` or `-`.
19
+ *
20
+ * @template Digits Digits of the value.
21
+ * It is a tuple of digits,
22
+ * where each digits can range from 0 to 9 during input,
23
+ * and range from -10 to 89 during operation.
24
+ * The max 89 comes from multiplication:
25
+ *
26
+ * ```
27
+ * 99 * 9
28
+ * => [[ 9, 9], 0]
29
+ * * [ [9], 0]
30
+ * => [[ 81, 81], 0]
31
+ * => [[ 89, 1], 0]
32
+ * => [[ 8, 9, 1], 0]
33
+ * ```
34
+ *
35
+ * While -10 comes from subtraction:
36
+ *
37
+ * ```
38
+ * 100 - 99 = 1
39
+ * => [[ 1, 0, 0], 0]
40
+ * - [[ 9, 9], 0]
41
+ * => [[ 1, -9, -9], 0]
42
+ * => [[ 1,-10, 1], 0] // here, as in intermediate step
43
+ * => [[ 0, 0, 1], 0]
44
+ * => [[1], 0]
45
+ * => 1
46
+ * ```
47
+ *
48
+ *
49
+ * Unlike floating point numbers, the digits length is not limited.
50
+ *
51
+ * @template Exponent Exponent is the negative exponent of the number.
52
+ *
53
+ * ```
54
+ * 1.23 = 123e^-2 = [[1, 2, 3], 2]
55
+ * 0.0123 = 123e^-4 = [[1, 2, 3], 4]
56
+ * ```
57
+ *
58
+ * There are 2 kinds of `NumericStruct`:
59
+ * - Normalized: The `NumericStruct` is clean and can be converted to/from `number` or `bigint`
60
+ * - Not normalized: The `DigitsStruct` within the `NumericStruct` is normalized,
61
+ * but may need to convert between `number` and `bigint`.\
62
+ * e.g. bigint + float => float (if possible), number + number => bigint (too big)
63
+ *
64
+ * During operations, the `DigitsStruct` can be not normalized,
65
+ * but each operation should always normalize the `DigitsStruct` before returning.
66
+ * Each operations assume the input `DigitsStruct` is normalized.
67
+ *
68
+ * All operations are performed in similar way:
69
+ *
70
+ * value -> NormalizedNumericStruct -> operation(NormalizedDigitsStruct) -> NormalizedNumericStruct -> Value
71
+ *
72
+ * This allows the operations to be composable.
73
+ * */
74
+ export type NumericStruct = ['bigint' | 'number', DigitsStruct];
75
+ export type TYPE = 0;
76
+ export type DIGITS_STRUCT = 1;
77
+ export declare namespace NumericStruct {
78
+ /**
79
+ * Creates a `NumericStruct` from number or bigint `N`.
80
+ */
81
+ type FromNumeric<N extends number | bigint, Fail = never> = N extends number ? number extends N ? Fail : ['number', DigitsStruct.FromNumber<N>] : N extends bigint ? bigint extends N ? Fail : ['bigint', DigitsStruct.FromBigint<N>] : never;
82
+ /**
83
+ * Converts a `NumericStruct` to a number or bigint.
84
+ *
85
+ * It includes the normalization of the `NumericStruct`.
86
+ */
87
+ type ToNumeric<M extends NumericStruct> = DigitsStruct.ToString<M[DIGITS_STRUCT]> extends infer S extends string ? M[TYPE] extends 'bigint' ? StringToBigint<S, StringToNumber<S, `The value '${S}' cannot be represented as bigint or number`>> : StringToNumber<S, StringToBigint<S, `The value '${S}' cannot be represented as bigint or number`>> : never;
88
+ type Add<A extends NumericStruct, B extends NumericStruct> = [
89
+ A[TYPE],
90
+ DigitsStruct.Add<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
91
+ ];
92
+ type Subtract<A extends NumericStruct, B extends NumericStruct> = [
93
+ A[TYPE],
94
+ DigitsStruct.Subtract<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
95
+ ];
96
+ type Multiply<A extends NumericStruct, B extends NumericStruct> = [
97
+ A[TYPE],
98
+ DigitsStruct.Multiply<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
99
+ ];
100
+ }
101
+ type StringToBigint<S extends string, Fail> = S extends `${infer N extends bigint}` ? N : Fail;
102
+ export type StringToNumber<S extends string, Fail> = S extends `${infer N extends number}` ? number extends N ? Fail : N : Fail;
103
+ export type DigitsStruct = [Sign: '+' | '-', Digits: number[], Exponent: number];
104
+ export type SIGN = 0;
105
+ export type DIGITS = 1;
106
+ export type EXPONENT = 2;
107
+ export declare namespace DigitsStruct {
108
+ /**
109
+ * Creates a `DigitsStruct` from number `N`.
110
+ *
111
+ * @template N Number to create `DigitsStruct` from.
112
+ */
113
+ export type FromNumber<N extends number> = `${N}` extends `-${infer R}` ? R extends `${infer W}.${infer F}` ? [DigitArray.FromString<W>, DigitArray.FromString<F>] extends [
114
+ infer WA extends number[],
115
+ infer FA extends number[]
116
+ ] ? ['-', DigitArray.TrimLeadingZeros<[...WA, ...FA]>, FA['length']] : never : ['-', DigitArray.FromString<R>, 0] : `${N}` extends `${infer W}.${infer F}` ? [DigitArray.FromString<W>, DigitArray.FromString<F>] extends [
117
+ infer WA extends number[],
118
+ infer FA extends number[]
119
+ ] ? ['+', DigitArray.TrimLeadingZeros<[...WA, ...FA]>, FA['length']] : never : ['+', DigitArray.FromString<`${N}`>, 0];
120
+ /**
121
+ * Creates a `DigitsStruct` from bigint `N`.
122
+ *
123
+ * @template N Number to create `DigitsStruct` from.
124
+ */
125
+ export type FromBigint<N extends bigint> = `${N}` extends `-${infer R}` ? ['-', DigitArray.FromString<R>, 0] : ['+', DigitArray.FromString<`${N}`>, 0];
126
+ /**
127
+ * Converts a `DigitsStruct` to string.
128
+ *
129
+ * @template D A normalized `DigitsStruct`.
130
+ */
131
+ export type ToString<D extends DigitsStruct> = (PadStart<D[DIGITS], D[EXPONENT], 0> extends infer Padded extends number[] ? Padded['length'] extends D[EXPONENT] ? DigitArray.ToString<[0, '.', ...DigitArray.TrimTrailingZeros<Padded>]> : SplitFloat<Padded, D[EXPONENT]> extends [infer W extends number[], infer F extends number[]] ? F extends [] ? DigitArray.ToString<W> : DigitArray.ToString<[...W, '.', ...DigitArray.TrimTrailingZeros<F>]> : never : never) extends infer R ? R extends '0' ? R : R extends string ? D[SIGN] extends '-' ? `-${R}` : R : never : never;
132
+ /**
133
+ * Splits DigitArray into the whole number and the fractional part.
134
+ *
135
+ * @note cannot use `ArrayPlus.SplitAt` as it causes infinite loop.
136
+ */
137
+ type SplitFloat<A extends number[], I extends number, F extends number[] = []> = I extends 0 ? [A, []] : F['length'] extends I ? [A, F] : A extends [...infer H extends number[], infer T extends number] ? SplitFloat<H, I, [T, ...F]> : never;
138
+ /**
139
+ * Normalizes a `DigitsStruct`.
140
+ *
141
+ * The normalization two two things:
142
+ *
143
+ * - if the first digit is negative, it will flip the sign.
144
+ * - carry digits if the digit is negative or greater than 9.
145
+ */
146
+ export type Normalize<N extends DigitsStruct, R extends DigitsStruct = ['+', [], 0]> = `${N[DIGITS][0]}` extends `-${number}` ? Normalize<FlipSign<N>, R> : [N[SIGN], DigitArray.CarryDigits<N[DIGITS]>, N[EXPONENT]];
147
+ type FlipSign<D extends DigitsStruct, I extends number[] = D[DIGITS], R extends number[] = []> = I extends [] ? D[SIGN] extends '-' ? ['+', R, D[EXPONENT]] : ['-', R, D[EXPONENT]] : I extends [infer H extends number, ...infer T extends number[]] ? FlipSign<D, T, [...R, Digit.FlipSign<H>]> : never;
148
+ /**
149
+ * Add `A` and `B`.
150
+ *
151
+ * @template A A normalized `DigitsStruct`.
152
+ * @template B B normalized `DigitsStruct`.
153
+ */
154
+ export type Add<A extends DigitsStruct, B extends DigitsStruct> = Balance<A, B> extends [
155
+ infer BA extends DigitsStruct,
156
+ infer BB extends DigitsStruct
157
+ ] ? [BA[SIGN], BB[SIGN]] extends ['+', '+'] ? Normalize<['+', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]> : [BA[SIGN], BB[SIGN]] extends ['+', '-'] ? Normalize<['+', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]> : [BA[SIGN], BB[SIGN]] extends ['-', '+'] ? Normalize<['+', DigitArray.Subtract<BB[DIGITS], BA[DIGITS]>, BB[EXPONENT]]> : [BA[SIGN], BB[SIGN]] extends ['-', '-'] ? Normalize<['-', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]> : never : never;
158
+ export type Subtract<A extends DigitsStruct, B extends DigitsStruct> = Balance<A, B> extends [
159
+ infer BA extends DigitsStruct,
160
+ infer BB extends DigitsStruct
161
+ ] ? [BA[SIGN], BB[SIGN]] extends ['+', '+'] ? Normalize<['+', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]> : [BA[SIGN], BB[SIGN]] extends ['+', '-'] ? Normalize<['+', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]> : [BA[SIGN], BB[SIGN]] extends ['-', '+'] ? Normalize<['-', DigitArray.Add<BB[DIGITS], BA[DIGITS]>, BA[EXPONENT]]> : [BA[SIGN], BB[SIGN]] extends ['-', '-'] ? Normalize<['-', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]> : never : never;
162
+ export type Multiply<A extends DigitsStruct, B extends DigitsStruct> = NumericAdd<A[EXPONENT], B[EXPONENT]> extends infer Exp extends number ? [A[SIGN], B[SIGN]] extends ['+', '+'] ? Normalize<['+', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]> : [A[SIGN], B[SIGN]] extends ['+', '-'] ? Normalize<['-', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]> : [A[SIGN], B[SIGN]] extends ['-', '+'] ? Normalize<['-', DigitArray.Multiply<B[DIGITS], A[DIGITS]>, Exp]> : [A[SIGN], B[SIGN]] extends ['-', '-'] ? Normalize<['+', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]> : never : never;
163
+ /**
164
+ * Balance the two structs for add/subtract.
165
+ */
166
+ export type Balance<A extends DigitsStruct, B extends DigitsStruct> = GetBalancePadding<A[EXPONENT], B[EXPONENT]> extends [infer Pads extends number[], infer Longer] ? Longer extends 'A' ? [A, [B[SIGN], DigitArray.TrimLeadingZeros<[...B[DIGITS], ...Pads]>, A[EXPONENT]]] : [[A[SIGN], DigitArray.TrimLeadingZeros<[...A[DIGITS], ...Pads]>, B[EXPONENT]], B] : never;
167
+ type GetBalancePadding<A extends number, B extends number, C extends number[] = [], R extends number[] = []> = A extends B ? [[], 'A'] : R extends [] ? C['length'] extends A ? GetBalancePadding<A, B, [0, ...C], [0]> : C['length'] extends B ? GetBalancePadding<A, B, [0, ...C], [0, ...R]> : GetBalancePadding<A, B, [0, ...C], []> : C['length'] extends A ? [R, 'A'] : C['length'] extends B ? [R, 'B'] : GetBalancePadding<A, B, [0, ...C], [0, ...R]>;
168
+ /**
169
+ * This is used to align the `NumberStruct` during `Add/Subtract`.
170
+ */
171
+ export type GetMinPadEnd<A extends number, B extends number, R extends number[] = []> = R['length'] extends A ? [R, 'B'] : R['length'] extends B ? [R, 'A'] : GetMinPadEnd<A, B, [0, ...R]>;
172
+ export {};
173
+ }
174
+ export declare namespace DigitArray {
175
+ export type FromString<S extends string> = S extends `1${infer L}` ? [1, ...FromString<L>] : S extends `2${infer L}` ? [2, ...FromString<L>] : S extends `3${infer L}` ? [3, ...FromString<L>] : S extends `4${infer L}` ? [4, ...FromString<L>] : S extends `5${infer L}` ? [5, ...FromString<L>] : S extends `6${infer L}` ? [6, ...FromString<L>] : S extends `7${infer L}` ? [7, ...FromString<L>] : S extends `8${infer L}` ? [8, ...FromString<L>] : S extends `9${infer L}` ? [9, ...FromString<L>] : S extends `0${infer L}` ? [0, ...FromString<L>] : S extends `-1${infer L}` ? [-1, ...FromString<L>] : S extends `-2${infer L}` ? [-2, ...FromString<L>] : S extends `-3${infer L}` ? [-3, ...FromString<L>] : S extends `-4${infer L}` ? [-4, ...FromString<L>] : S extends `-5${infer L}` ? [-5, ...FromString<L>] : S extends `-6${infer L}` ? [-6, ...FromString<L>] : S extends `-7${infer L}` ? [-7, ...FromString<L>] : S extends `-8${infer L}` ? [-8, ...FromString<L>] : S extends `-9${infer L}` ? [-9, ...FromString<L>] : S extends `-0${infer L}` ? [-0, ...FromString<L>] : [];
176
+ export type ToString<A extends Array<number | string>> = number extends A['length'] ? '' : A['length'] extends 0 ? '' : `${A[0]}${ToString<Tail<A>>}`;
177
+ /**
178
+ * [0, 0, -1] => [-1]
179
+ *
180
+ * This is used in various places so that there will be less computation,
181
+ * and the sign bit can be handled properly.
182
+ */
183
+ export type TrimLeadingZeros<T extends number[]> = T extends [0] ? T : T extends [0, ...infer Tail extends number[]] ? TrimLeadingZeros<Tail> : T;
184
+ export type TrimTrailingZeros<T extends number[]> = T extends [0] ? T : T extends [...infer Tail extends number[], 0] ? TrimTrailingZeros<Tail> : T;
185
+ export type Add<A extends number[], B extends number[], R extends number[] = []> = A extends [] ? B extends [] ? R : B extends [...infer BH extends number[], infer BL extends number] ? Add<[], BH, [BL, ...R]> : never : B extends [] ? A extends [...infer AH extends number[], infer AL extends number] ? Add<AH, [], [AL, ...R]> : never : [A, B] extends [
186
+ [
187
+ ...infer AH extends number[],
188
+ infer AL extends number
189
+ ],
190
+ [
191
+ ...infer BH extends number[],
192
+ infer BL extends number
193
+ ]
194
+ ] ? Add<AH, BH, [Digit.Add<AL, BL>, ...R]> : never;
195
+ export type Subtract<A extends number[], B extends number[], R extends number[] = []> = A extends [] ? B extends [] ? TrimLeadingZeros<R> : B extends [...infer BH extends number[], infer BL extends number] ? Subtract<[], BH, [ToNegative<BL>, ...R]> : never : B extends [] ? A extends [...infer AH extends number[], infer AL extends number] ? Subtract<AH, [], [AL, ...R]> : never : [A, B] extends [
196
+ [
197
+ ...infer AH extends number[],
198
+ infer AL extends number
199
+ ],
200
+ [
201
+ ...infer BH extends number[],
202
+ infer BL extends number
203
+ ]
204
+ ] ? Subtract<AH, BH, [Digit.Subtract<AL, BL>, ...R]> : never;
205
+ export type Multiply<A extends number[], B extends number[], R extends number[][] = []> = B extends [] ? RecursiveAdd<R> : B extends [infer Head extends number, ...infer Tail extends number[]] ? Multiply<A, Tail, [...R, CarryDigits<MultiplyArray<A, Head, Zeros<Tail['length']>>>]> : never;
206
+ type Zeros<N extends number, R extends number[] = []> = N extends unknown ? R['length'] extends N ? R : Zeros<N, [0, ...R]> : never;
207
+ type MultiplyArray<A extends number[], B extends number, Pad extends number[], R extends number[] = []> = B extends 0 ? [0] : B extends 1 ? [...A, ...Pad] : A extends [] ? [...R, ...Pad] : A extends [infer H extends number, ...infer T extends number[]] ? MultiplyArray<T, B, Pad, [...R, Digit.Multiply<H, B>]> : never;
208
+ /**
209
+ * Recursively add digit arrays.
210
+ *
211
+ * This is used in multiplication.
212
+ */
213
+ type RecursiveAdd<E extends number[][], R extends number[] = []> = E extends [] ? R : E extends [infer H extends number[], ...infer T extends number[][]] ? RecursiveAdd<T, CarryDigits<Add<R, H>>> : never;
214
+ export type CarryDigits<N extends number[], R extends number[] = []> = N extends [] ? TrimLeadingZeros<R> : N extends [infer Tail extends number] ? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}` ? CarryDigits<[], [T1, T2, ...R]> : `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}` ? `-${T1}` extends `${infer NT extends number}` ? CarryDigits<[], [NT, T2, ...R]> : never : CarryDigits<[], [Tail, ...R]> : N extends [infer Head extends number, infer Tail extends number] ? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}` ? CarryDigits<[Digit.Add<Head, T1>], [T2, ...R]> : `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}` ? `-${T1}` extends `${infer NT extends number}` ? CarryDigits<[Digit.Add<Head, NT>], [T2, ...R]> : never : `${Tail}` extends `-${number}` ? CarryDigits<[Digit.Add<Head, -1>], [Digit.Plus10[Tail], ...R]> : CarryDigits<[Head], [Tail, ...R]> : N extends [...infer Heads extends number[], infer Head extends number, infer Tail extends number] ? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}` ? CarryDigits<[...Heads, Digit.Add<Head, T1>], [T2, ...R]> : `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}` ? `-${T1}` extends `${infer NT extends number}` ? CarryDigits<[...Heads, Digit.Add<Head, NT>], [T2, ...R]> : never : `${Tail}` extends `-${number}` ? CarryDigits<[...Heads, Digit.Add<Head, -1>], [Digit.Plus10[Tail], ...R]> : CarryDigits<[...Heads, Head], [Tail, ...R]> : never;
215
+ export {};
216
+ }
217
+ export declare namespace Digit {
218
+ /**
219
+ * Adds two `Digit`.
220
+ *
221
+ * add: A: 0 - 9, B: 0 - 9
222
+ * normalize: [81, 81] -> [81 + 8, 1]
223
+ */
224
+ export type Add<A extends number, B extends number> = `${A}` extends `-${infer AD extends number}` ? `${B}` extends `-${infer BD extends number}` ? ToNegative<PositiveEntryAdd<AD, BD>> : Subtract<B, AD> : `${B}` extends `-${infer BD extends number}` ? Subtract<A, BD> : PositiveEntryAdd<A, B>;
225
+ export type FlipSign<T extends number> = T extends 0 ? 0 : `${T}` extends `-${infer R extends number}` ? R : `-${T}` extends `${infer R extends number}` ? R : never;
226
+ type PositiveEntryAdd<A extends number, B extends number> = [
227
+ [
228
+ 0,
229
+ 1,
230
+ 2,
231
+ 3,
232
+ 4,
233
+ 5,
234
+ 6,
235
+ 7,
236
+ 8,
237
+ 9
238
+ ],
239
+ [
240
+ 1,
241
+ 2,
242
+ 3,
243
+ 4,
244
+ 5,
245
+ 6,
246
+ 7,
247
+ 8,
248
+ 9,
249
+ 10
250
+ ],
251
+ [
252
+ 2,
253
+ 3,
254
+ 4,
255
+ 5,
256
+ 6,
257
+ 7,
258
+ 8,
259
+ 9,
260
+ 10,
261
+ 11
262
+ ],
263
+ [
264
+ 3,
265
+ 4,
266
+ 5,
267
+ 6,
268
+ 7,
269
+ 8,
270
+ 9,
271
+ 10,
272
+ 11,
273
+ 12
274
+ ],
275
+ [
276
+ 4,
277
+ 5,
278
+ 6,
279
+ 7,
280
+ 8,
281
+ 9,
282
+ 10,
283
+ 11,
284
+ 12,
285
+ 13
286
+ ],
287
+ [
288
+ 5,
289
+ 6,
290
+ 7,
291
+ 8,
292
+ 9,
293
+ 10,
294
+ 11,
295
+ 12,
296
+ 13,
297
+ 14
298
+ ],
299
+ [
300
+ 6,
301
+ 7,
302
+ 8,
303
+ 9,
304
+ 10,
305
+ 11,
306
+ 12,
307
+ 13,
308
+ 14,
309
+ 15
310
+ ],
311
+ [
312
+ 7,
313
+ 8,
314
+ 9,
315
+ 10,
316
+ 11,
317
+ 12,
318
+ 13,
319
+ 14,
320
+ 15,
321
+ 16
322
+ ],
323
+ [
324
+ 8,
325
+ 9,
326
+ 10,
327
+ 11,
328
+ 12,
329
+ 13,
330
+ 14,
331
+ 15,
332
+ 16,
333
+ 17
334
+ ],
335
+ [
336
+ 9,
337
+ 10,
338
+ 11,
339
+ 12,
340
+ 13,
341
+ 14,
342
+ 15,
343
+ 16,
344
+ 17,
345
+ 18
346
+ ],
347
+ [
348
+ 10,
349
+ 11,
350
+ 12,
351
+ 13,
352
+ 14,
353
+ 15,
354
+ 16,
355
+ 17,
356
+ 18,
357
+ 19
358
+ ],
359
+ [
360
+ 11,
361
+ 12,
362
+ 13,
363
+ 14,
364
+ 15,
365
+ 16,
366
+ 17,
367
+ 18,
368
+ 19,
369
+ 20
370
+ ],
371
+ [
372
+ 12,
373
+ 13,
374
+ 14,
375
+ 15,
376
+ 16,
377
+ 17,
378
+ 18,
379
+ 19,
380
+ 20,
381
+ 21
382
+ ],
383
+ [
384
+ 13,
385
+ 14,
386
+ 15,
387
+ 16,
388
+ 17,
389
+ 18,
390
+ 19,
391
+ 20,
392
+ 21,
393
+ 22
394
+ ],
395
+ [
396
+ 14,
397
+ 15,
398
+ 16,
399
+ 17,
400
+ 18,
401
+ 19,
402
+ 20,
403
+ 21,
404
+ 22,
405
+ 23
406
+ ],
407
+ [
408
+ 15,
409
+ 16,
410
+ 17,
411
+ 18,
412
+ 19,
413
+ 20,
414
+ 21,
415
+ 22,
416
+ 23,
417
+ 24
418
+ ],
419
+ [
420
+ 16,
421
+ 17,
422
+ 18,
423
+ 19,
424
+ 20,
425
+ 21,
426
+ 22,
427
+ 23,
428
+ 24,
429
+ 25
430
+ ],
431
+ [
432
+ 17,
433
+ 18,
434
+ 19,
435
+ 20,
436
+ 21,
437
+ 22,
438
+ 23,
439
+ 24,
440
+ 25,
441
+ 26
442
+ ],
443
+ [
444
+ 18,
445
+ 19,
446
+ 20,
447
+ 21,
448
+ 22,
449
+ 23,
450
+ 24,
451
+ 25,
452
+ 26,
453
+ 27
454
+ ],
455
+ [
456
+ 19,
457
+ 20,
458
+ 21,
459
+ 22,
460
+ 23,
461
+ 24,
462
+ 25,
463
+ 26,
464
+ 27,
465
+ 28
466
+ ],
467
+ [
468
+ 20,
469
+ 21,
470
+ 22,
471
+ 23,
472
+ 24,
473
+ 25,
474
+ 26,
475
+ 27,
476
+ 28,
477
+ 29
478
+ ],
479
+ [
480
+ 21,
481
+ 22,
482
+ 23,
483
+ 24,
484
+ 25,
485
+ 26,
486
+ 27,
487
+ 28,
488
+ 29,
489
+ 30
490
+ ],
491
+ [
492
+ 22,
493
+ 23,
494
+ 24,
495
+ 25,
496
+ 26,
497
+ 27,
498
+ 28,
499
+ 29,
500
+ 30,
501
+ 31
502
+ ],
503
+ [
504
+ 23,
505
+ 24,
506
+ 25,
507
+ 26,
508
+ 27,
509
+ 28,
510
+ 29,
511
+ 30,
512
+ 31,
513
+ 32
514
+ ],
515
+ [
516
+ 24,
517
+ 25,
518
+ 26,
519
+ 27,
520
+ 28,
521
+ 29,
522
+ 30,
523
+ 31,
524
+ 32,
525
+ 33
526
+ ],
527
+ [
528
+ 25,
529
+ 26,
530
+ 27,
531
+ 28,
532
+ 29,
533
+ 30,
534
+ 31,
535
+ 32,
536
+ 33,
537
+ 34
538
+ ],
539
+ [
540
+ 26,
541
+ 27,
542
+ 28,
543
+ 29,
544
+ 30,
545
+ 31,
546
+ 32,
547
+ 33,
548
+ 34,
549
+ 35
550
+ ],
551
+ [
552
+ 27,
553
+ 28,
554
+ 29,
555
+ 30,
556
+ 31,
557
+ 32,
558
+ 33,
559
+ 34,
560
+ 35,
561
+ 36
562
+ ],
563
+ [
564
+ 28,
565
+ 29,
566
+ 30,
567
+ 31,
568
+ 32,
569
+ 33,
570
+ 34,
571
+ 35,
572
+ 36,
573
+ 37
574
+ ],
575
+ [
576
+ 29,
577
+ 30,
578
+ 31,
579
+ 32,
580
+ 33,
581
+ 34,
582
+ 35,
583
+ 36,
584
+ 37,
585
+ 38
586
+ ],
587
+ [
588
+ 30,
589
+ 31,
590
+ 32,
591
+ 33,
592
+ 34,
593
+ 35,
594
+ 36,
595
+ 37,
596
+ 38,
597
+ 39
598
+ ],
599
+ [
600
+ 31,
601
+ 32,
602
+ 33,
603
+ 34,
604
+ 35,
605
+ 36,
606
+ 37,
607
+ 38,
608
+ 39,
609
+ 40
610
+ ],
611
+ [
612
+ 32,
613
+ 33,
614
+ 34,
615
+ 35,
616
+ 36,
617
+ 37,
618
+ 38,
619
+ 39,
620
+ 40,
621
+ 41
622
+ ],
623
+ [
624
+ 33,
625
+ 34,
626
+ 35,
627
+ 36,
628
+ 37,
629
+ 38,
630
+ 39,
631
+ 40,
632
+ 41,
633
+ 42
634
+ ],
635
+ [
636
+ 34,
637
+ 35,
638
+ 36,
639
+ 37,
640
+ 38,
641
+ 39,
642
+ 40,
643
+ 41,
644
+ 42,
645
+ 43
646
+ ],
647
+ [
648
+ 35,
649
+ 36,
650
+ 37,
651
+ 38,
652
+ 39,
653
+ 40,
654
+ 41,
655
+ 42,
656
+ 43,
657
+ 44
658
+ ],
659
+ [
660
+ 36,
661
+ 37,
662
+ 38,
663
+ 39,
664
+ 40,
665
+ 41,
666
+ 42,
667
+ 43,
668
+ 44,
669
+ 45
670
+ ],
671
+ [
672
+ 37,
673
+ 38,
674
+ 39,
675
+ 40,
676
+ 41,
677
+ 42,
678
+ 43,
679
+ 44,
680
+ 45,
681
+ 46
682
+ ],
683
+ [
684
+ 38,
685
+ 39,
686
+ 40,
687
+ 41,
688
+ 42,
689
+ 43,
690
+ 44,
691
+ 45,
692
+ 46,
693
+ 47
694
+ ],
695
+ [
696
+ 39,
697
+ 40,
698
+ 41,
699
+ 42,
700
+ 43,
701
+ 44,
702
+ 45,
703
+ 46,
704
+ 47,
705
+ 48
706
+ ],
707
+ [
708
+ 40,
709
+ 41,
710
+ 42,
711
+ 43,
712
+ 44,
713
+ 45,
714
+ 46,
715
+ 47,
716
+ 48,
717
+ 49
718
+ ],
719
+ [
720
+ 41,
721
+ 42,
722
+ 43,
723
+ 44,
724
+ 45,
725
+ 46,
726
+ 47,
727
+ 48,
728
+ 49,
729
+ 50
730
+ ],
731
+ [
732
+ 42,
733
+ 43,
734
+ 44,
735
+ 45,
736
+ 46,
737
+ 47,
738
+ 48,
739
+ 49,
740
+ 50,
741
+ 51
742
+ ],
743
+ [
744
+ 43,
745
+ 44,
746
+ 45,
747
+ 46,
748
+ 47,
749
+ 48,
750
+ 49,
751
+ 50,
752
+ 51,
753
+ 52
754
+ ],
755
+ [
756
+ 44,
757
+ 45,
758
+ 46,
759
+ 47,
760
+ 48,
761
+ 49,
762
+ 50,
763
+ 51,
764
+ 52,
765
+ 53
766
+ ],
767
+ [
768
+ 45,
769
+ 46,
770
+ 47,
771
+ 48,
772
+ 49,
773
+ 50,
774
+ 51,
775
+ 52,
776
+ 53,
777
+ 54
778
+ ],
779
+ [
780
+ 46,
781
+ 47,
782
+ 48,
783
+ 49,
784
+ 50,
785
+ 51,
786
+ 52,
787
+ 53,
788
+ 54,
789
+ 55
790
+ ],
791
+ [
792
+ 47,
793
+ 48,
794
+ 49,
795
+ 50,
796
+ 51,
797
+ 52,
798
+ 53,
799
+ 54,
800
+ 55,
801
+ 56
802
+ ],
803
+ [
804
+ 48,
805
+ 49,
806
+ 50,
807
+ 51,
808
+ 52,
809
+ 53,
810
+ 54,
811
+ 55,
812
+ 56,
813
+ 57
814
+ ],
815
+ [
816
+ 49,
817
+ 50,
818
+ 51,
819
+ 52,
820
+ 53,
821
+ 54,
822
+ 55,
823
+ 56,
824
+ 57,
825
+ 58
826
+ ],
827
+ [
828
+ 50,
829
+ 51,
830
+ 52,
831
+ 53,
832
+ 54,
833
+ 55,
834
+ 56,
835
+ 57,
836
+ 58,
837
+ 59
838
+ ],
839
+ [
840
+ 51,
841
+ 52,
842
+ 53,
843
+ 54,
844
+ 55,
845
+ 56,
846
+ 57,
847
+ 58,
848
+ 59,
849
+ 60
850
+ ],
851
+ [
852
+ 52,
853
+ 53,
854
+ 54,
855
+ 55,
856
+ 56,
857
+ 57,
858
+ 58,
859
+ 59,
860
+ 60,
861
+ 61
862
+ ],
863
+ [
864
+ 53,
865
+ 54,
866
+ 55,
867
+ 56,
868
+ 57,
869
+ 58,
870
+ 59,
871
+ 60,
872
+ 61,
873
+ 62
874
+ ],
875
+ [
876
+ 54,
877
+ 55,
878
+ 56,
879
+ 57,
880
+ 58,
881
+ 59,
882
+ 60,
883
+ 61,
884
+ 62,
885
+ 63
886
+ ],
887
+ [
888
+ 55,
889
+ 56,
890
+ 57,
891
+ 58,
892
+ 59,
893
+ 60,
894
+ 61,
895
+ 62,
896
+ 63,
897
+ 64
898
+ ],
899
+ [
900
+ 56,
901
+ 57,
902
+ 58,
903
+ 59,
904
+ 60,
905
+ 61,
906
+ 62,
907
+ 63,
908
+ 64,
909
+ 65
910
+ ],
911
+ [
912
+ 57,
913
+ 58,
914
+ 59,
915
+ 60,
916
+ 61,
917
+ 62,
918
+ 63,
919
+ 64,
920
+ 65,
921
+ 66
922
+ ],
923
+ [
924
+ 58,
925
+ 59,
926
+ 60,
927
+ 61,
928
+ 62,
929
+ 63,
930
+ 64,
931
+ 65,
932
+ 66,
933
+ 67
934
+ ],
935
+ [
936
+ 59,
937
+ 60,
938
+ 61,
939
+ 62,
940
+ 63,
941
+ 64,
942
+ 65,
943
+ 66,
944
+ 67,
945
+ 68
946
+ ],
947
+ [
948
+ 60,
949
+ 61,
950
+ 62,
951
+ 63,
952
+ 64,
953
+ 65,
954
+ 66,
955
+ 67,
956
+ 68,
957
+ 69
958
+ ],
959
+ [
960
+ 61,
961
+ 62,
962
+ 63,
963
+ 64,
964
+ 65,
965
+ 66,
966
+ 67,
967
+ 68,
968
+ 69,
969
+ 70
970
+ ],
971
+ [
972
+ 62,
973
+ 63,
974
+ 64,
975
+ 65,
976
+ 66,
977
+ 67,
978
+ 68,
979
+ 69,
980
+ 70,
981
+ 71
982
+ ],
983
+ [
984
+ 63,
985
+ 64,
986
+ 65,
987
+ 66,
988
+ 67,
989
+ 68,
990
+ 69,
991
+ 70,
992
+ 71,
993
+ 72
994
+ ],
995
+ [
996
+ 64,
997
+ 65,
998
+ 66,
999
+ 67,
1000
+ 68,
1001
+ 69,
1002
+ 70,
1003
+ 71,
1004
+ 72,
1005
+ 73
1006
+ ],
1007
+ [
1008
+ 65,
1009
+ 66,
1010
+ 67,
1011
+ 68,
1012
+ 69,
1013
+ 70,
1014
+ 71,
1015
+ 72,
1016
+ 73,
1017
+ 74
1018
+ ],
1019
+ [
1020
+ 66,
1021
+ 67,
1022
+ 68,
1023
+ 69,
1024
+ 70,
1025
+ 71,
1026
+ 72,
1027
+ 73,
1028
+ 74,
1029
+ 75
1030
+ ],
1031
+ [
1032
+ 67,
1033
+ 68,
1034
+ 69,
1035
+ 70,
1036
+ 71,
1037
+ 72,
1038
+ 73,
1039
+ 74,
1040
+ 75,
1041
+ 76
1042
+ ],
1043
+ [
1044
+ 68,
1045
+ 69,
1046
+ 70,
1047
+ 71,
1048
+ 72,
1049
+ 73,
1050
+ 74,
1051
+ 75,
1052
+ 76,
1053
+ 77
1054
+ ],
1055
+ [
1056
+ 69,
1057
+ 70,
1058
+ 71,
1059
+ 72,
1060
+ 73,
1061
+ 74,
1062
+ 75,
1063
+ 76,
1064
+ 77,
1065
+ 78
1066
+ ],
1067
+ [
1068
+ 70,
1069
+ 71,
1070
+ 72,
1071
+ 73,
1072
+ 74,
1073
+ 75,
1074
+ 76,
1075
+ 77,
1076
+ 78,
1077
+ 79
1078
+ ],
1079
+ [
1080
+ 71,
1081
+ 72,
1082
+ 73,
1083
+ 74,
1084
+ 75,
1085
+ 76,
1086
+ 77,
1087
+ 78,
1088
+ 79,
1089
+ 80
1090
+ ],
1091
+ [
1092
+ 72,
1093
+ 73,
1094
+ 74,
1095
+ 75,
1096
+ 76,
1097
+ 77,
1098
+ 78,
1099
+ 79,
1100
+ 80,
1101
+ 81
1102
+ ],
1103
+ [
1104
+ 73,
1105
+ 74,
1106
+ 75,
1107
+ 76,
1108
+ 77,
1109
+ 78,
1110
+ 79,
1111
+ 80,
1112
+ 81,
1113
+ 82
1114
+ ],
1115
+ [
1116
+ 74,
1117
+ 75,
1118
+ 76,
1119
+ 77,
1120
+ 78,
1121
+ 79,
1122
+ 80,
1123
+ 81,
1124
+ 82,
1125
+ 83
1126
+ ],
1127
+ [
1128
+ 75,
1129
+ 76,
1130
+ 77,
1131
+ 78,
1132
+ 79,
1133
+ 80,
1134
+ 81,
1135
+ 82,
1136
+ 83,
1137
+ 84
1138
+ ],
1139
+ [
1140
+ 76,
1141
+ 77,
1142
+ 78,
1143
+ 79,
1144
+ 80,
1145
+ 81,
1146
+ 82,
1147
+ 83,
1148
+ 84,
1149
+ 85
1150
+ ],
1151
+ [
1152
+ 77,
1153
+ 78,
1154
+ 79,
1155
+ 80,
1156
+ 81,
1157
+ 82,
1158
+ 83,
1159
+ 84,
1160
+ 85,
1161
+ 86
1162
+ ],
1163
+ [
1164
+ 78,
1165
+ 79,
1166
+ 80,
1167
+ 81,
1168
+ 82,
1169
+ 83,
1170
+ 84,
1171
+ 85,
1172
+ 86,
1173
+ 87
1174
+ ],
1175
+ [
1176
+ 79,
1177
+ 80,
1178
+ 81,
1179
+ 82,
1180
+ 83,
1181
+ 84,
1182
+ 85,
1183
+ 86,
1184
+ 87,
1185
+ 88
1186
+ ],
1187
+ [
1188
+ 80,
1189
+ 81,
1190
+ 82,
1191
+ 83,
1192
+ 84,
1193
+ 85,
1194
+ 86,
1195
+ 87,
1196
+ 88,
1197
+ 89
1198
+ ],
1199
+ [
1200
+ 81,
1201
+ 82,
1202
+ 83,
1203
+ 84,
1204
+ 85,
1205
+ 86,
1206
+ 87,
1207
+ 88,
1208
+ 89,
1209
+ 90
1210
+ ]
1211
+ ][A][B];
1212
+ /**
1213
+ * Subtract two positive numbers.
1214
+ * The number range from 0 to 81.
1215
+ */
1216
+ export type Subtract<A extends number, B extends number> = [`${A}`, `${B}`] extends [
1217
+ `${number}${infer A2 extends number}`,
1218
+ `${number}${infer B2 extends number}`
1219
+ ] ? Subtract<A2, B2> : `${A}` extends `${number}${infer A2 extends number}` ? Subtract<A2, B> : `${B}` extends `${number}${infer B2 extends number}` ? Subtract<A, B2> : SingleDigitSubtract<A, B>;
1220
+ export type SingleDigitSubtract<A extends number, B extends number> = [
1221
+ [
1222
+ 0,
1223
+ -1,
1224
+ -2,
1225
+ -3,
1226
+ -4,
1227
+ -5,
1228
+ -6,
1229
+ -7,
1230
+ -8,
1231
+ -9
1232
+ ],
1233
+ [
1234
+ 1,
1235
+ 0,
1236
+ -1,
1237
+ -2,
1238
+ -3,
1239
+ -4,
1240
+ -5,
1241
+ -6,
1242
+ -7,
1243
+ -8
1244
+ ],
1245
+ [
1246
+ 2,
1247
+ 1,
1248
+ 0,
1249
+ -1,
1250
+ -2,
1251
+ -3,
1252
+ -4,
1253
+ -5,
1254
+ -6,
1255
+ -7
1256
+ ],
1257
+ [
1258
+ 3,
1259
+ 2,
1260
+ 1,
1261
+ 0,
1262
+ -1,
1263
+ -2,
1264
+ -3,
1265
+ -4,
1266
+ -5,
1267
+ -6
1268
+ ],
1269
+ [
1270
+ 4,
1271
+ 3,
1272
+ 2,
1273
+ 1,
1274
+ 0,
1275
+ -1,
1276
+ -2,
1277
+ -3,
1278
+ -4,
1279
+ -5
1280
+ ],
1281
+ [
1282
+ 5,
1283
+ 4,
1284
+ 3,
1285
+ 2,
1286
+ 1,
1287
+ 0,
1288
+ -1,
1289
+ -2,
1290
+ -3,
1291
+ -4
1292
+ ],
1293
+ [
1294
+ 6,
1295
+ 5,
1296
+ 4,
1297
+ 3,
1298
+ 2,
1299
+ 1,
1300
+ 0,
1301
+ -1,
1302
+ -2,
1303
+ -3
1304
+ ],
1305
+ [
1306
+ 7,
1307
+ 6,
1308
+ 5,
1309
+ 4,
1310
+ 3,
1311
+ 2,
1312
+ 1,
1313
+ 0,
1314
+ -1,
1315
+ -2
1316
+ ],
1317
+ [
1318
+ 8,
1319
+ 7,
1320
+ 6,
1321
+ 5,
1322
+ 4,
1323
+ 3,
1324
+ 2,
1325
+ 1,
1326
+ 0,
1327
+ -1
1328
+ ],
1329
+ [
1330
+ 9,
1331
+ 8,
1332
+ 7,
1333
+ 6,
1334
+ 5,
1335
+ 4,
1336
+ 3,
1337
+ 2,
1338
+ 1,
1339
+ 0
1340
+ ]
1341
+ ][A][B];
1342
+ export type Plus10 = {
1343
+ [k in number]: number;
1344
+ } & {
1345
+ '-1': 9;
1346
+ '-2': 8;
1347
+ '-3': 7;
1348
+ '-4': 6;
1349
+ '-5': 5;
1350
+ '-6': 4;
1351
+ '-7': 3;
1352
+ '-8': 2;
1353
+ '-9': 1;
1354
+ };
1355
+ export type Multiply<A extends number, B extends number> = [
1356
+ [
1357
+ 0,
1358
+ 0,
1359
+ 0,
1360
+ 0,
1361
+ 0,
1362
+ 0,
1363
+ 0,
1364
+ 0,
1365
+ 0,
1366
+ 0
1367
+ ],
1368
+ [
1369
+ 0,
1370
+ 1,
1371
+ 2,
1372
+ 3,
1373
+ 4,
1374
+ 5,
1375
+ 6,
1376
+ 7,
1377
+ 8,
1378
+ 9
1379
+ ],
1380
+ [
1381
+ 0,
1382
+ 2,
1383
+ 4,
1384
+ 6,
1385
+ 8,
1386
+ 10,
1387
+ 12,
1388
+ 14,
1389
+ 16,
1390
+ 18
1391
+ ],
1392
+ [
1393
+ 0,
1394
+ 3,
1395
+ 6,
1396
+ 9,
1397
+ 12,
1398
+ 15,
1399
+ 18,
1400
+ 21,
1401
+ 24,
1402
+ 27
1403
+ ],
1404
+ [
1405
+ 0,
1406
+ 4,
1407
+ 8,
1408
+ 12,
1409
+ 16,
1410
+ 20,
1411
+ 24,
1412
+ 28,
1413
+ 32,
1414
+ 36
1415
+ ],
1416
+ [
1417
+ 0,
1418
+ 5,
1419
+ 10,
1420
+ 15,
1421
+ 20,
1422
+ 25,
1423
+ 30,
1424
+ 35,
1425
+ 40,
1426
+ 45
1427
+ ],
1428
+ [
1429
+ 0,
1430
+ 6,
1431
+ 12,
1432
+ 18,
1433
+ 24,
1434
+ 30,
1435
+ 36,
1436
+ 42,
1437
+ 48,
1438
+ 54
1439
+ ],
1440
+ [
1441
+ 0,
1442
+ 7,
1443
+ 14,
1444
+ 21,
1445
+ 28,
1446
+ 35,
1447
+ 42,
1448
+ 49,
1449
+ 56,
1450
+ 63
1451
+ ],
1452
+ [
1453
+ 0,
1454
+ 8,
1455
+ 16,
1456
+ 24,
1457
+ 32,
1458
+ 40,
1459
+ 48,
1460
+ 56,
1461
+ 64,
1462
+ 72
1463
+ ],
1464
+ [
1465
+ 0,
1466
+ 9,
1467
+ 18,
1468
+ 27,
1469
+ 36,
1470
+ 45,
1471
+ 54,
1472
+ 63,
1473
+ 72,
1474
+ 81
1475
+ ]
1476
+ ][A][B];
1477
+ export {};
1478
+ }
1479
+ export {};
1480
+ //# sourceMappingURL=numeric_struct.d.ts.map