type-plus 7.6.2 → 8.0.0-beta.2

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 (1980) hide show
  1. package/esm/any/any.d.ts +49 -0
  2. package/esm/any/any.d.ts.map +1 -0
  3. package/esm/any/any.js +2 -0
  4. package/esm/any/any.js.map +1 -0
  5. package/esm/any/is_any.d.ts +55 -0
  6. package/esm/any/is_any.d.ts.map +1 -0
  7. package/esm/any/is_any.js +2 -0
  8. package/esm/any/is_any.js.map +1 -0
  9. package/esm/any/is_not_any.d.ts +55 -0
  10. package/esm/any/is_not_any.d.ts.map +1 -0
  11. package/esm/any/is_not_any.js +2 -0
  12. package/esm/any/is_not_any.js.map +1 -0
  13. package/esm/array/array.at.d.ts +11 -4
  14. package/esm/array/array.at.d.ts.map +1 -1
  15. package/esm/array/array.at.js.map +1 -1
  16. package/esm/array/array.entries.d.ts +6 -3
  17. package/esm/array/array.entries.d.ts.map +1 -1
  18. package/esm/array/array.entries.js.map +1 -1
  19. package/esm/array/array.find_last.d.ts +5 -2
  20. package/esm/array/array.find_last.d.ts.map +1 -1
  21. package/esm/array/array.find_last.js.map +1 -1
  22. package/esm/array/array.reverse.d.ts +5 -1
  23. package/esm/array/array.reverse.d.ts.map +1 -1
  24. package/esm/array/array.reverse.js.map +1 -1
  25. package/esm/array/array.some.d.ts +7 -7
  26. package/esm/array/array.some.d.ts.map +1 -1
  27. package/esm/array/array.some.js.map +1 -1
  28. package/esm/array/array_plus.common_prop_keys.d.ts +9 -5
  29. package/esm/array/array_plus.common_prop_keys.d.ts.map +1 -1
  30. package/esm/array/array_plus.common_prop_keys.js.map +1 -1
  31. package/esm/array/array_plus.concat.d.ts +1 -1
  32. package/esm/array/array_plus.concat.d.ts.map +1 -1
  33. package/esm/array/array_plus.concat.js.map +1 -1
  34. package/esm/array/array_plus.d.ts +3 -1
  35. package/esm/array/array_plus.d.ts.map +1 -1
  36. package/esm/array/array_plus.drop_match.d.ts +4 -3
  37. package/esm/array/array_plus.drop_match.d.ts.map +1 -1
  38. package/esm/array/array_plus.drop_match.js.map +1 -1
  39. package/esm/array/array_plus.element_match.d.ts +15 -12
  40. package/esm/array/array_plus.element_match.d.ts.map +1 -1
  41. package/esm/array/array_plus.element_match.js.map +1 -1
  42. package/esm/array/array_plus.filter.d.ts +28 -1
  43. package/esm/array/array_plus.filter.d.ts.map +1 -1
  44. package/esm/array/array_plus.filter.js +1 -0
  45. package/esm/array/array_plus.filter.js.map +1 -1
  46. package/esm/array/array_plus.find.d.ts +17 -14
  47. package/esm/array/array_plus.find.d.ts.map +1 -1
  48. package/esm/array/array_plus.find.js.map +1 -1
  49. package/esm/array/array_plus.index_at.d.ts +42 -0
  50. package/esm/array/array_plus.index_at.d.ts.map +1 -0
  51. package/esm/array/array_plus.index_at.js +84 -0
  52. package/esm/array/array_plus.index_at.js.map +1 -0
  53. package/esm/array/array_plus.is_index_out_of_bound.d.ts +21 -0
  54. package/esm/array/array_plus.is_index_out_of_bound.d.ts.map +1 -0
  55. package/esm/array/array_plus.is_index_out_of_bound.js +2 -0
  56. package/esm/array/array_plus.is_index_out_of_bound.js.map +1 -0
  57. package/esm/array/array_plus.is_readonly.d.ts +35 -0
  58. package/esm/array/array_plus.is_readonly.d.ts.map +1 -0
  59. package/esm/array/array_plus.is_readonly.js +2 -0
  60. package/esm/array/array_plus.is_readonly.js.map +1 -0
  61. package/esm/array/array_plus.js.map +1 -1
  62. package/esm/array/array_plus.pad_start.d.ts +1 -1
  63. package/esm/array/array_plus.pad_start.d.ts.map +1 -1
  64. package/esm/array/array_plus.pad_start.js.map +1 -1
  65. package/esm/array/array_plus.split_at.d.ts +23 -13
  66. package/esm/array/array_plus.split_at.d.ts.map +1 -1
  67. package/esm/array/array_plus.split_at.js.map +1 -1
  68. package/esm/array/filter.d.ts +2 -2
  69. package/esm/array/filter.d.ts.map +1 -1
  70. package/esm/array/filter.js.map +1 -1
  71. package/esm/array/find_first.d.ts +10 -7
  72. package/esm/array/find_first.d.ts.map +1 -1
  73. package/esm/array/find_first.js.map +1 -1
  74. package/esm/array/head.d.ts +7 -5
  75. package/esm/array/head.d.ts.map +1 -1
  76. package/esm/array/head.js.map +1 -1
  77. package/esm/array/intersect_of_props.d.ts +1 -1
  78. package/esm/array/intersect_of_props.d.ts.map +1 -1
  79. package/esm/array/intersect_of_props.js.map +1 -1
  80. package/esm/array/is_array.d.ts +89 -0
  81. package/esm/array/is_array.d.ts.map +1 -0
  82. package/esm/array/is_array.js +2 -0
  83. package/esm/array/is_array.js.map +1 -0
  84. package/esm/array/is_not_array.d.ts +89 -0
  85. package/esm/array/is_not_array.d.ts.map +1 -0
  86. package/esm/array/is_not_array.js +2 -0
  87. package/esm/array/is_not_array.js.map +1 -0
  88. package/esm/array/last.d.ts +7 -5
  89. package/esm/array/last.d.ts.map +1 -1
  90. package/esm/array/last.js.map +1 -1
  91. package/esm/array/literal_array.d.ts.map +1 -1
  92. package/esm/array/literal_array.js.map +1 -1
  93. package/esm/array/loose_array_type.d.ts +65 -0
  94. package/esm/array/loose_array_type.d.ts.map +1 -0
  95. package/esm/array/loose_array_type.js +2 -0
  96. package/esm/array/loose_array_type.js.map +1 -0
  97. package/esm/array/pad_start.d.ts +1 -1
  98. package/esm/array/pad_start.d.ts.map +1 -1
  99. package/esm/array/pad_start.js.map +1 -1
  100. package/esm/array/reduce_while.d.ts.map +1 -1
  101. package/esm/array/reduce_while.js.map +1 -1
  102. package/esm/array/reverse.d.ts.map +1 -1
  103. package/esm/array/reverse.js.map +1 -1
  104. package/esm/array/union_of_props.d.ts +2 -2
  105. package/esm/array/union_of_props.d.ts.map +1 -1
  106. package/esm/array/union_of_props.js.map +1 -1
  107. package/esm/array/union_of_values.d.ts +2 -2
  108. package/esm/array/union_of_values.d.ts.map +1 -1
  109. package/esm/array/union_of_values.js.map +1 -1
  110. package/esm/assertion/assert_type.d.ts +2 -2
  111. package/esm/assertion/assert_type.d.ts.map +1 -1
  112. package/esm/assertion/assert_type.js +44 -47
  113. package/esm/assertion/assert_type.js.map +1 -1
  114. package/esm/bigint/cast.d.ts.map +1 -1
  115. package/esm/bigint/cast.js.map +1 -1
  116. package/esm/bigint/is_bigint.d.ts +97 -0
  117. package/esm/bigint/is_bigint.d.ts.map +1 -0
  118. package/esm/bigint/is_bigint.js +2 -0
  119. package/esm/bigint/is_bigint.js.map +1 -0
  120. package/esm/bigint/is_bigint_literal.d.ts +85 -0
  121. package/esm/bigint/is_bigint_literal.d.ts.map +1 -0
  122. package/esm/bigint/is_bigint_literal.js +2 -0
  123. package/esm/bigint/is_bigint_literal.js.map +1 -0
  124. package/esm/bigint/is_not_bigint.d.ts +94 -0
  125. package/esm/bigint/is_not_bigint.d.ts.map +1 -0
  126. package/esm/bigint/is_not_bigint.js +2 -0
  127. package/esm/bigint/is_not_bigint.js.map +1 -0
  128. package/esm/bigint/is_not_bigint_literal.d.ts +83 -0
  129. package/esm/bigint/is_not_bigint_literal.d.ts.map +1 -0
  130. package/esm/bigint/is_not_bigint_literal.js +2 -0
  131. package/esm/bigint/is_not_bigint_literal.js.map +1 -0
  132. package/esm/binary/Bit.d.ts.map +1 -1
  133. package/esm/binary/Bit.js.map +1 -1
  134. package/esm/binary/_binary.d.ts.map +1 -1
  135. package/esm/binary/_binary.js.map +1 -1
  136. package/esm/binary/index.d.ts.map +1 -1
  137. package/esm/binary/index.js.map +1 -1
  138. package/esm/boolean/is_boolean.d.ts +91 -0
  139. package/esm/boolean/is_boolean.d.ts.map +1 -0
  140. package/esm/boolean/is_boolean.js +2 -0
  141. package/esm/boolean/is_boolean.js.map +1 -0
  142. package/esm/boolean/is_false.d.ts +78 -0
  143. package/esm/boolean/is_false.d.ts.map +1 -0
  144. package/esm/boolean/is_false.js +2 -0
  145. package/esm/boolean/is_false.js.map +1 -0
  146. package/esm/boolean/is_not_boolean.d.ts +91 -0
  147. package/esm/boolean/is_not_boolean.d.ts.map +1 -0
  148. package/esm/boolean/is_not_boolean.js +2 -0
  149. package/esm/boolean/is_not_boolean.js.map +1 -0
  150. package/esm/boolean/is_not_false.d.ts +79 -0
  151. package/esm/boolean/is_not_false.d.ts.map +1 -0
  152. package/esm/boolean/is_not_false.js +2 -0
  153. package/esm/boolean/is_not_false.js.map +1 -0
  154. package/esm/boolean/is_not_true.d.ts +80 -0
  155. package/esm/boolean/is_not_true.d.ts.map +1 -0
  156. package/esm/boolean/is_not_true.js +2 -0
  157. package/esm/boolean/is_not_true.js.map +1 -0
  158. package/esm/boolean/is_true.d.ts +78 -0
  159. package/esm/boolean/is_true.d.ts.map +1 -0
  160. package/esm/boolean/is_true.js +2 -0
  161. package/esm/boolean/is_true.js.map +1 -0
  162. package/esm/class/AnyConstructor.d.ts +1 -1
  163. package/esm/class/AnyConstructor.d.ts.map +1 -1
  164. package/esm/class/AnyConstructor.js.map +1 -1
  165. package/esm/class/index.d.ts.map +1 -1
  166. package/esm/class/index.js.map +1 -1
  167. package/esm/class/isConstructor.d.ts +1 -1
  168. package/esm/class/isConstructor.d.ts.map +1 -1
  169. package/esm/class/isConstructor.js +2 -2
  170. package/esm/class/isConstructor.js.map +1 -1
  171. package/esm/composable_types.d.ts.map +1 -1
  172. package/esm/composable_types.js.map +1 -1
  173. package/esm/equal/equal.d.ts +10 -6
  174. package/esm/equal/equal.d.ts.map +1 -1
  175. package/esm/equal/equal.js.map +1 -1
  176. package/esm/equal/identity_equal.d.ts +6 -0
  177. package/esm/equal/identity_equal.d.ts.map +1 -0
  178. package/esm/equal/identity_equal.js +2 -0
  179. package/esm/equal/identity_equal.js.map +1 -0
  180. package/esm/function/any_function.d.ts.map +1 -1
  181. package/esm/function/any_function.js.map +1 -1
  182. package/esm/function/extract_function.d.ts.map +1 -1
  183. package/esm/function/extract_function.js.map +1 -1
  184. package/esm/function/is_function.d.ts +61 -0
  185. package/esm/function/is_function.d.ts.map +1 -0
  186. package/esm/function/is_function.js +2 -0
  187. package/esm/function/is_function.js.map +1 -0
  188. package/esm/function/is_not_function.d.ts +73 -0
  189. package/esm/function/is_not_function.d.ts.map +1 -0
  190. package/esm/function/is_not_function.js +2 -0
  191. package/esm/function/is_not_function.js.map +1 -0
  192. package/esm/function/is_not_strict_function.d.ts +31 -0
  193. package/esm/function/is_not_strict_function.d.ts.map +1 -0
  194. package/esm/function/is_not_strict_function.js +2 -0
  195. package/esm/function/is_not_strict_function.js.map +1 -0
  196. package/esm/function/is_strict_function.d.ts +31 -0
  197. package/esm/function/is_strict_function.d.ts.map +1 -0
  198. package/esm/function/is_strict_function.js +2 -0
  199. package/esm/function/is_strict_function.js.map +1 -0
  200. package/esm/functional/ChainFn.d.ts.map +1 -1
  201. package/esm/functional/ChainFn.js.map +1 -1
  202. package/esm/functional/Maybe.d.ts +1 -1
  203. package/esm/functional/Maybe.d.ts.map +1 -1
  204. package/esm/functional/Maybe.js.map +1 -1
  205. package/esm/functional/compose.d.ts.map +1 -1
  206. package/esm/functional/compose.js +1 -0
  207. package/esm/functional/compose.js.map +1 -1
  208. package/esm/functional/context.d.ts.map +1 -1
  209. package/esm/functional/context.js +1 -1
  210. package/esm/functional/context.js.map +1 -1
  211. package/esm/functional/index.d.ts.map +1 -1
  212. package/esm/functional/index.js.map +1 -1
  213. package/esm/index.d.ts +83 -28
  214. package/esm/index.d.ts.map +1 -1
  215. package/esm/index.js +2 -0
  216. package/esm/index.js.map +1 -1
  217. package/esm/json.d.ts.map +1 -1
  218. package/esm/json.js.map +1 -1
  219. package/esm/math/abs.d.ts +4 -5
  220. package/esm/math/abs.d.ts.map +1 -1
  221. package/esm/math/abs.js.map +1 -1
  222. package/esm/math/add.d.ts.map +1 -1
  223. package/esm/math/add.js.map +1 -1
  224. package/esm/math/greater_than.d.ts +1 -1
  225. package/esm/math/greater_than.d.ts.map +1 -1
  226. package/esm/math/greater_than.js.map +1 -1
  227. package/esm/math/index.d.ts +1 -1
  228. package/esm/math/index.d.ts.map +1 -1
  229. package/esm/math/index.js.map +1 -1
  230. package/esm/math/math_plus.d.ts.map +1 -1
  231. package/esm/math/math_plus.js.map +1 -1
  232. package/esm/math/math_plus.to_negative.d.ts.map +1 -1
  233. package/esm/math/math_plus.to_negative.js.map +1 -1
  234. package/esm/math/max.d.ts +1 -1
  235. package/esm/math/max.d.ts.map +1 -1
  236. package/esm/math/max.js.map +1 -1
  237. package/esm/math/multiply.d.ts.map +1 -1
  238. package/esm/math/multiply.js.map +1 -1
  239. package/esm/math/numeric_struct.d.ts.map +1 -1
  240. package/esm/math/numeric_struct.js.map +1 -1
  241. package/esm/math/subtract.d.ts.map +1 -1
  242. package/esm/math/subtract.js.map +1 -1
  243. package/esm/mix_types/box.d.ts +47 -0
  244. package/esm/mix_types/box.d.ts.map +1 -0
  245. package/esm/mix_types/box.js +2 -0
  246. package/esm/mix_types/box.js.map +1 -0
  247. package/esm/mix_types/exclude.d.ts +19 -0
  248. package/esm/mix_types/exclude.d.ts.map +1 -0
  249. package/esm/mix_types/exclude.js +2 -0
  250. package/esm/mix_types/exclude.js.map +1 -0
  251. package/esm/mix_types/is_any_or_never.d.ts +28 -0
  252. package/esm/mix_types/is_any_or_never.d.ts.map +1 -0
  253. package/esm/mix_types/is_any_or_never.js +2 -0
  254. package/esm/mix_types/is_any_or_never.js.map +1 -0
  255. package/esm/mix_types/merge.d.ts +38 -0
  256. package/esm/mix_types/merge.d.ts.map +1 -0
  257. package/esm/mix_types/merge.js +14 -0
  258. package/esm/mix_types/merge.js.map +1 -0
  259. package/esm/never/is_never.d.ts +59 -0
  260. package/esm/never/is_never.d.ts.map +1 -0
  261. package/esm/never/is_never.js +2 -0
  262. package/esm/never/is_never.js.map +1 -0
  263. package/esm/never/is_not_never.d.ts +59 -0
  264. package/esm/never/is_not_never.d.ts.map +1 -0
  265. package/esm/never/is_not_never.js +2 -0
  266. package/esm/never/is_not_never.js.map +1 -0
  267. package/esm/never/never.d.ts +75 -0
  268. package/esm/never/never.d.ts.map +1 -0
  269. package/esm/never/never.js +2 -0
  270. package/esm/never/never.js.map +1 -0
  271. package/esm/nodejs/index.d.ts.map +1 -1
  272. package/esm/nodejs/index.js.map +1 -1
  273. package/esm/nodejs/isNodeError.d.ts.map +1 -1
  274. package/esm/nodejs/isNodeError.js.map +1 -1
  275. package/esm/nominal/brand.d.ts.map +1 -1
  276. package/esm/nominal/brand.js +1 -3
  277. package/esm/nominal/brand.js.map +1 -1
  278. package/esm/nominal/constants.d.ts.map +1 -1
  279. package/esm/nominal/constants.js.map +1 -1
  280. package/esm/nominal/flavor.d.ts.map +1 -1
  281. package/esm/nominal/flavor.js +1 -3
  282. package/esm/nominal/flavor.js.map +1 -1
  283. package/esm/nominal/index.d.ts.map +1 -1
  284. package/esm/nominal/index.js.map +1 -1
  285. package/esm/nominal/nominal_match.d.ts.map +1 -1
  286. package/esm/nominal/nominal_match.js +1 -3
  287. package/esm/nominal/nominal_match.js.map +1 -1
  288. package/esm/null/is_not_null.d.ts +71 -0
  289. package/esm/null/is_not_null.d.ts.map +1 -0
  290. package/esm/null/is_not_null.js +2 -0
  291. package/esm/null/is_not_null.js.map +1 -0
  292. package/esm/null/is_null.d.ts +75 -0
  293. package/esm/null/is_null.d.ts.map +1 -0
  294. package/esm/null/is_null.js +2 -0
  295. package/esm/null/is_null.js.map +1 -0
  296. package/esm/number/cast.d.ts.map +1 -1
  297. package/esm/number/cast.js.map +1 -1
  298. package/esm/number/is_not_number.d.ts +84 -0
  299. package/esm/number/is_not_number.d.ts.map +1 -0
  300. package/esm/number/is_not_number.js +2 -0
  301. package/esm/number/is_not_number.js.map +1 -0
  302. package/esm/number/is_not_number_literal.d.ts +83 -0
  303. package/esm/number/is_not_number_literal.d.ts.map +1 -0
  304. package/esm/number/is_not_number_literal.js +2 -0
  305. package/esm/number/is_not_number_literal.js.map +1 -0
  306. package/esm/number/is_number.d.ts +87 -0
  307. package/esm/number/is_number.d.ts.map +1 -0
  308. package/esm/number/is_number.js +2 -0
  309. package/esm/number/is_number.js.map +1 -0
  310. package/esm/number/is_number_literal.d.ts +85 -0
  311. package/esm/number/is_number_literal.d.ts.map +1 -0
  312. package/esm/number/is_number_literal.js +2 -0
  313. package/esm/number/is_number_literal.js.map +1 -0
  314. package/esm/number/number_array.d.ts.map +1 -1
  315. package/esm/number/number_array.js.map +1 -1
  316. package/esm/number/number_plus.d.ts +11 -6
  317. package/esm/number/number_plus.d.ts.map +1 -1
  318. package/esm/number/number_plus.js +1 -0
  319. package/esm/number/number_plus.js.map +1 -1
  320. package/esm/numeric/cast.d.ts.map +1 -1
  321. package/esm/numeric/cast.js.map +1 -1
  322. package/esm/numeric/is_integer.d.ts +30 -0
  323. package/esm/numeric/is_integer.d.ts.map +1 -0
  324. package/esm/numeric/is_integer.js +2 -0
  325. package/esm/numeric/is_integer.js.map +1 -0
  326. package/esm/numeric/is_negative.d.ts +35 -0
  327. package/esm/numeric/is_negative.d.ts.map +1 -0
  328. package/esm/numeric/is_negative.js +2 -0
  329. package/esm/numeric/is_negative.js.map +1 -0
  330. package/esm/numeric/is_not_integer.d.ts +32 -0
  331. package/esm/numeric/is_not_integer.d.ts.map +1 -0
  332. package/esm/numeric/is_not_integer.js +2 -0
  333. package/esm/numeric/is_not_integer.js.map +1 -0
  334. package/esm/numeric/is_not_negative.d.ts +35 -0
  335. package/esm/numeric/is_not_negative.d.ts.map +1 -0
  336. package/esm/numeric/is_not_negative.js +2 -0
  337. package/esm/numeric/is_not_negative.js.map +1 -0
  338. package/esm/numeric/is_not_numeric.d.ts +19 -0
  339. package/esm/numeric/is_not_numeric.d.ts.map +1 -0
  340. package/esm/numeric/is_not_numeric.js +2 -0
  341. package/esm/numeric/is_not_numeric.js.map +1 -0
  342. package/esm/numeric/is_not_positive.d.ts +36 -0
  343. package/esm/numeric/is_not_positive.d.ts.map +1 -0
  344. package/esm/numeric/is_not_positive.js +2 -0
  345. package/esm/numeric/is_not_positive.js.map +1 -0
  346. package/esm/numeric/is_numeric.d.ts +19 -0
  347. package/esm/numeric/is_numeric.d.ts.map +1 -0
  348. package/esm/numeric/is_numeric.js +2 -0
  349. package/esm/numeric/is_numeric.js.map +1 -0
  350. package/esm/numeric/is_positive.d.ts +35 -0
  351. package/esm/numeric/is_positive.d.ts.map +1 -0
  352. package/esm/numeric/is_positive.js +2 -0
  353. package/esm/numeric/is_positive.js.map +1 -0
  354. package/esm/numeric/numeric_plus.d.ts +9 -4
  355. package/esm/numeric/numeric_plus.d.ts.map +1 -1
  356. package/esm/numeric/numeric_plus.js.map +1 -1
  357. package/esm/numeric/numeric_type.d.ts +0 -50
  358. package/esm/numeric/numeric_type.d.ts.map +1 -1
  359. package/esm/numeric/numeric_type.js.map +1 -1
  360. package/esm/object/ANotB.d.ts +1 -1
  361. package/esm/object/ANotB.d.ts.map +1 -1
  362. package/esm/object/ANotB.js.map +1 -1
  363. package/esm/object/ExcludePropType.d.ts.map +1 -1
  364. package/esm/object/ExcludePropType.js.map +1 -1
  365. package/esm/object/IsDisjoint.d.ts +1 -1
  366. package/esm/object/IsDisjoint.d.ts.map +1 -1
  367. package/esm/object/IsDisjoint.js.map +1 -1
  368. package/esm/object/IsRecord.d.ts.map +1 -1
  369. package/esm/object/IsRecord.js.map +1 -1
  370. package/esm/object/KeyTypes.d.ts.map +1 -1
  371. package/esm/object/KeyTypes.js.map +1 -1
  372. package/esm/object/KeyofOptional.d.ts.map +1 -1
  373. package/esm/object/KeyofOptional.js.map +1 -1
  374. package/esm/object/KeysWithDiffType.d.ts +2 -2
  375. package/esm/object/KeysWithDiffType.d.ts.map +1 -1
  376. package/esm/object/KeysWithDiffType.js.map +1 -1
  377. package/esm/object/KnownKeys.d.ts.map +1 -1
  378. package/esm/object/KnownKeys.js.map +1 -1
  379. package/esm/object/Partial.d.ts.map +1 -1
  380. package/esm/object/Partial.js.map +1 -1
  381. package/esm/object/RecursiveIntersect.d.ts +2 -2
  382. package/esm/object/RecursiveIntersect.d.ts.map +1 -1
  383. package/esm/object/RecursiveIntersect.js.map +1 -1
  384. package/esm/object/RecursiveRequired.d.ts +1 -1
  385. package/esm/object/RecursiveRequired.d.ts.map +1 -1
  386. package/esm/object/RecursiveRequired.js.map +1 -1
  387. package/esm/object/Required.d.ts +1 -2
  388. package/esm/object/Required.d.ts.map +1 -1
  389. package/esm/object/Required.js.map +1 -1
  390. package/esm/object/RequiredKeys.d.ts +2 -2
  391. package/esm/object/RequiredKeys.d.ts.map +1 -1
  392. package/esm/object/RequiredKeys.js.map +1 -1
  393. package/esm/object/SpreadRecord.d.ts.map +1 -1
  394. package/esm/object/SpreadRecord.js.map +1 -1
  395. package/esm/object/ValueOf.d.ts.map +1 -1
  396. package/esm/object/ValueOf.js.map +1 -1
  397. package/esm/object/any_record.d.ts +3 -0
  398. package/esm/object/any_record.d.ts.map +1 -0
  399. package/esm/object/any_record.js +2 -0
  400. package/esm/object/any_record.js.map +1 -0
  401. package/esm/object/everyKey.d.ts.map +1 -1
  402. package/esm/object/everyKey.js.map +1 -1
  403. package/esm/object/facade.d.ts +1 -1
  404. package/esm/object/facade.d.ts.map +1 -1
  405. package/esm/object/facade.js.map +1 -1
  406. package/esm/object/filterKey.d.ts.map +1 -1
  407. package/esm/object/filterKey.js.map +1 -1
  408. package/esm/object/findKey.d.ts.map +1 -1
  409. package/esm/object/findKey.js.map +1 -1
  410. package/esm/object/forEachKey.d.ts.map +1 -1
  411. package/esm/object/forEachKey.js +1 -1
  412. package/esm/object/forEachKey.js.map +1 -1
  413. package/esm/object/getField.d.ts.map +1 -1
  414. package/esm/object/getField.js.map +1 -1
  415. package/esm/object/hasKey.d.ts +1 -1
  416. package/esm/object/hasKey.d.ts.map +1 -1
  417. package/esm/object/hasKey.js.map +1 -1
  418. package/esm/object/hasProperty.d.ts.map +1 -1
  419. package/esm/object/hasProperty.js.map +1 -1
  420. package/esm/object/index.d.ts +15 -16
  421. package/esm/object/index.d.ts.map +1 -1
  422. package/esm/object/index.js.map +1 -1
  423. package/esm/object/is_not_object.d.ts +119 -0
  424. package/esm/object/is_not_object.d.ts.map +1 -0
  425. package/esm/object/is_not_object.js +2 -0
  426. package/esm/object/is_not_object.js.map +1 -0
  427. package/esm/object/is_object.d.ts +104 -0
  428. package/esm/object/is_object.d.ts.map +1 -0
  429. package/esm/object/is_object.js +2 -0
  430. package/esm/object/is_object.js.map +1 -0
  431. package/esm/object/left_join.d.ts +1 -6
  432. package/esm/object/left_join.d.ts.map +1 -1
  433. package/esm/object/left_join.js.map +1 -1
  434. package/esm/object/mapKey.d.ts.map +1 -1
  435. package/esm/object/mapKey.js.map +1 -1
  436. package/esm/object/mapProperties.d.ts +1 -1
  437. package/esm/object/mapProperties.d.ts.map +1 -1
  438. package/esm/object/mapProperties.js.map +1 -1
  439. package/esm/object/merge.d.ts +80 -0
  440. package/esm/object/merge.d.ts.map +1 -0
  441. package/esm/object/merge.js +2 -0
  442. package/esm/object/merge.js.map +1 -0
  443. package/esm/object/object_plus.d.ts +2 -0
  444. package/esm/object/object_plus.d.ts.map +1 -0
  445. package/esm/object/object_plus.js +2 -0
  446. package/esm/object/object_plus.js.map +1 -0
  447. package/esm/object/omit.d.ts +1 -8
  448. package/esm/object/omit.d.ts.map +1 -1
  449. package/esm/object/omit.js.map +1 -1
  450. package/esm/object/optional_key.d.ts +2 -2
  451. package/esm/object/optional_key.d.ts.map +1 -1
  452. package/esm/object/optional_key.js.map +1 -1
  453. package/esm/object/pick.d.ts +1 -1
  454. package/esm/object/pick.d.ts.map +1 -1
  455. package/esm/object/pick.js.map +1 -1
  456. package/esm/object/properties.d.ts.map +1 -1
  457. package/esm/object/properties.js.map +1 -1
  458. package/esm/object/record.d.ts.map +1 -1
  459. package/esm/object/record.js.map +1 -1
  460. package/esm/object/recursive_partial.d.ts +1 -1
  461. package/esm/object/recursive_partial.d.ts.map +1 -1
  462. package/esm/object/recursive_partial.js.map +1 -1
  463. package/esm/object/reduceKey.d.ts.map +1 -1
  464. package/esm/object/reduceKey.js.map +1 -1
  465. package/esm/object/replaceProperty.d.ts +1 -1
  466. package/esm/object/replaceProperty.d.ts.map +1 -1
  467. package/esm/object/replaceProperty.js.map +1 -1
  468. package/esm/object/someKey.d.ts.map +1 -1
  469. package/esm/object/someKey.js.map +1 -1
  470. package/esm/object/split.d.ts +2 -3
  471. package/esm/object/split.d.ts.map +1 -1
  472. package/esm/object/split.js.map +1 -1
  473. package/esm/object/typeOverrideIncompatible.d.ts.map +1 -1
  474. package/esm/object/typeOverrideIncompatible.js +4 -6
  475. package/esm/object/typeOverrideIncompatible.js.map +1 -1
  476. package/esm/predicates/CanAssign.d.ts +12 -4
  477. package/esm/predicates/CanAssign.d.ts.map +1 -1
  478. package/esm/predicates/CanAssign.js.map +1 -1
  479. package/esm/predicates/Extends.d.ts +3 -0
  480. package/esm/predicates/Extends.d.ts.map +1 -1
  481. package/esm/predicates/Extends.js.map +1 -1
  482. package/esm/predicates/If.d.ts.map +1 -1
  483. package/esm/predicates/If.js.map +1 -1
  484. package/esm/predicates/IsEmptyObject.d.ts.map +1 -1
  485. package/esm/predicates/IsEmptyObject.js.map +1 -1
  486. package/esm/predicates/assignable.d.ts +89 -0
  487. package/esm/predicates/assignable.d.ts.map +1 -0
  488. package/esm/predicates/assignable.js +2 -0
  489. package/esm/predicates/assignable.js.map +1 -0
  490. package/esm/predicates/index.d.ts.map +1 -1
  491. package/esm/predicates/index.js.map +1 -1
  492. package/esm/predicates/literal.d.ts +1 -1
  493. package/esm/predicates/literal.d.ts.map +1 -1
  494. package/esm/predicates/literal.js.map +1 -1
  495. package/esm/predicates/logical.d.ts.map +1 -1
  496. package/esm/predicates/logical.js.map +1 -1
  497. package/esm/predicates/not_assignable.d.ts +89 -0
  498. package/esm/predicates/not_assignable.d.ts.map +1 -0
  499. package/esm/predicates/not_assignable.js +2 -0
  500. package/esm/predicates/not_assignable.js.map +1 -0
  501. package/esm/primitive.d.ts.map +1 -1
  502. package/esm/primitive.js.map +1 -1
  503. package/esm/promise/MaybePromise.d.ts.map +1 -1
  504. package/esm/promise/MaybePromise.js.map +1 -1
  505. package/esm/promise/PromiseValue.d.ts.map +1 -1
  506. package/esm/promise/PromiseValue.js.map +1 -1
  507. package/esm/promise/PromiseValueMerge.d.ts.map +1 -1
  508. package/esm/promise/PromiseValueMerge.js.map +1 -1
  509. package/esm/promise/index.d.ts +1 -1
  510. package/esm/promise/index.d.ts.map +1 -1
  511. package/esm/promise/index.js.map +1 -1
  512. package/esm/promise/isPromise.d.ts.map +1 -1
  513. package/esm/promise/isPromise.js.map +1 -1
  514. package/esm/promise/mapSeries.d.ts.map +1 -1
  515. package/esm/promise/mapSeries.js.map +1 -1
  516. package/esm/string/$extract_manipulated_string.d.ts +18 -0
  517. package/esm/string/$extract_manipulated_string.d.ts.map +1 -0
  518. package/esm/string/$extract_manipulated_string.js +2 -0
  519. package/esm/string/$extract_manipulated_string.js.map +1 -0
  520. package/esm/string/_string_type.d.ts +5 -0
  521. package/esm/string/_string_type.d.ts.map +1 -0
  522. package/esm/string/_string_type.js +2 -0
  523. package/esm/string/_string_type.js.map +1 -0
  524. package/esm/string/is_not_string.d.ts +84 -0
  525. package/esm/string/is_not_string.d.ts.map +1 -0
  526. package/esm/string/is_not_string.js +2 -0
  527. package/esm/string/is_not_string.js.map +1 -0
  528. package/esm/string/is_not_string_literal.d.ts +104 -0
  529. package/esm/string/is_not_string_literal.d.ts.map +1 -0
  530. package/esm/string/is_not_string_literal.js +2 -0
  531. package/esm/string/is_not_string_literal.js.map +1 -0
  532. package/esm/string/is_not_template_literal.d.ts +73 -0
  533. package/esm/string/is_not_template_literal.d.ts.map +1 -0
  534. package/esm/string/is_not_template_literal.js +2 -0
  535. package/esm/string/is_not_template_literal.js.map +1 -0
  536. package/esm/string/is_string.d.ts +83 -0
  537. package/esm/string/is_string.d.ts.map +1 -0
  538. package/esm/string/is_string.js +2 -0
  539. package/esm/string/is_string.js.map +1 -0
  540. package/esm/string/is_string_literal.d.ts +104 -0
  541. package/esm/string/is_string_literal.d.ts.map +1 -0
  542. package/esm/string/is_string_literal.js +2 -0
  543. package/esm/string/is_string_literal.js.map +1 -0
  544. package/esm/string/is_template_literal.d.ts +75 -0
  545. package/esm/string/is_template_literal.d.ts.map +1 -0
  546. package/esm/string/is_template_literal.js +2 -0
  547. package/esm/string/is_template_literal.js.map +1 -0
  548. package/esm/string/string.d.ts +1 -1
  549. package/esm/string/string.d.ts.map +1 -1
  550. package/esm/string/string.js.map +1 -1
  551. package/esm/string/string_plus.d.ts.map +1 -1
  552. package/esm/string/string_plus.js.map +1 -1
  553. package/esm/symbol/is_not_symbol.d.ts +71 -0
  554. package/esm/symbol/is_not_symbol.d.ts.map +1 -0
  555. package/esm/symbol/is_not_symbol.js +2 -0
  556. package/esm/symbol/is_not_symbol.js.map +1 -0
  557. package/esm/symbol/is_symbol.d.ts +73 -0
  558. package/esm/symbol/is_symbol.d.ts.map +1 -0
  559. package/esm/symbol/is_symbol.js +2 -0
  560. package/esm/symbol/is_symbol.js.map +1 -0
  561. package/esm/testing/stub.d.ts.map +1 -1
  562. package/esm/testing/stub.js.map +1 -1
  563. package/esm/testing/test_type.d.ts +84 -44
  564. package/esm/testing/test_type.d.ts.map +1 -1
  565. package/esm/testing/test_type.js.map +1 -1
  566. package/esm/tuple/common_prop_keys.d.ts +1 -1
  567. package/esm/tuple/common_prop_keys.d.ts.map +1 -1
  568. package/esm/tuple/common_prop_keys.js.map +1 -1
  569. package/esm/tuple/create_tuple.d.ts +2 -2
  570. package/esm/tuple/create_tuple.d.ts.map +1 -1
  571. package/esm/tuple/create_tuple.js.map +1 -1
  572. package/esm/tuple/drop.d.ts +8 -8
  573. package/esm/tuple/drop.d.ts.map +1 -1
  574. package/esm/tuple/drop.js.map +1 -1
  575. package/esm/tuple/is_not_tuple.d.ts +78 -0
  576. package/esm/tuple/is_not_tuple.d.ts.map +1 -0
  577. package/esm/tuple/is_not_tuple.js +2 -0
  578. package/esm/tuple/is_not_tuple.js.map +1 -0
  579. package/esm/tuple/is_tuple.d.ts +76 -0
  580. package/esm/tuple/is_tuple.d.ts.map +1 -0
  581. package/esm/tuple/is_tuple.js +2 -0
  582. package/esm/tuple/is_tuple.js.map +1 -0
  583. package/esm/tuple/tail.d.ts +1 -1
  584. package/esm/tuple/tail.d.ts.map +1 -1
  585. package/esm/tuple/tail.js.map +1 -1
  586. package/esm/tuple/tuple_plus.common_prop_keys.d.ts +9 -5
  587. package/esm/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -1
  588. package/esm/tuple/tuple_plus.common_prop_keys.js.map +1 -1
  589. package/esm/tuple/tuple_plus.d.ts.map +1 -1
  590. package/esm/tuple/tuple_plus.drop_match.d.ts.map +1 -1
  591. package/esm/tuple/tuple_plus.drop_match.js.map +1 -1
  592. package/esm/tuple/tuple_plus.filter.d.ts +1 -1
  593. package/esm/tuple/tuple_plus.filter.d.ts.map +1 -1
  594. package/esm/tuple/tuple_plus.filter.js.map +1 -1
  595. package/esm/tuple/tuple_plus.find.d.ts +21 -18
  596. package/esm/tuple/tuple_plus.find.d.ts.map +1 -1
  597. package/esm/tuple/tuple_plus.find.js.map +1 -1
  598. package/esm/tuple/tuple_plus.js.map +1 -1
  599. package/esm/tuple/tuple_plus.pad_start.d.ts +3 -3
  600. package/esm/tuple/tuple_plus.pad_start.d.ts.map +1 -1
  601. package/esm/tuple/tuple_plus.pad_start.js.map +1 -1
  602. package/esm/type/failed.d.ts.map +1 -1
  603. package/esm/type/failed.js.map +1 -1
  604. package/esm/type/no_infer.d.ts +4 -3
  605. package/esm/type/no_infer.d.ts.map +1 -1
  606. package/esm/type/no_infer.js.map +1 -1
  607. package/esm/type-guard/is_type.d.ts +1 -1
  608. package/esm/type-guard/is_type.d.ts.map +1 -1
  609. package/esm/type-guard/is_type.js +3 -7
  610. package/esm/type-guard/is_type.js.map +1 -1
  611. package/esm/type_plus/$equality.d.ts +12 -0
  612. package/esm/type_plus/$equality.d.ts.map +1 -0
  613. package/esm/type_plus/$equality.js +2 -0
  614. package/esm/type_plus/$equality.js.map +1 -0
  615. package/esm/type_plus/$error.d.ts +8 -0
  616. package/esm/type_plus/$error.d.ts.map +1 -0
  617. package/esm/type_plus/$error.js +2 -0
  618. package/esm/type_plus/$error.js.map +1 -0
  619. package/esm/type_plus/$infer_error.d.ts +21 -0
  620. package/esm/type_plus/$infer_error.d.ts.map +1 -0
  621. package/esm/type_plus/$infer_error.js +2 -0
  622. package/esm/type_plus/$infer_error.js.map +1 -0
  623. package/esm/type_plus/$merge_options.d.ts +11 -0
  624. package/esm/type_plus/$merge_options.d.ts.map +1 -0
  625. package/esm/type_plus/$merge_options.js +2 -0
  626. package/esm/type_plus/$merge_options.js.map +1 -0
  627. package/esm/type_plus/$resolve_options.d.ts +11 -0
  628. package/esm/type_plus/$resolve_options.d.ts.map +1 -0
  629. package/esm/type_plus/$resolve_options.js +2 -0
  630. package/esm/type_plus/$resolve_options.js.map +1 -0
  631. package/esm/type_plus/$special_type.d.ts +25 -0
  632. package/esm/type_plus/$special_type.d.ts.map +1 -0
  633. package/esm/type_plus/$special_type.js +2 -0
  634. package/esm/type_plus/$special_type.js.map +1 -0
  635. package/esm/type_plus/$type.d.ts +11 -0
  636. package/esm/type_plus/$type.d.ts.map +1 -0
  637. package/esm/type_plus/$type.js +2 -0
  638. package/esm/type_plus/$type.js.map +1 -0
  639. package/esm/type_plus/branch/$branch.d.ts +29 -0
  640. package/esm/type_plus/branch/$branch.d.ts.map +1 -0
  641. package/esm/type_plus/branch/$branch.js +2 -0
  642. package/esm/type_plus/branch/$branch.js.map +1 -0
  643. package/esm/type_plus/branch/$distributive.d.ts +19 -0
  644. package/esm/type_plus/branch/$distributive.d.ts.map +1 -0
  645. package/esm/type_plus/branch/$distributive.js +2 -0
  646. package/esm/type_plus/branch/$distributive.js.map +1 -0
  647. package/esm/type_plus/branch/$exact.d.ts +27 -0
  648. package/esm/type_plus/branch/$exact.d.ts.map +1 -0
  649. package/esm/type_plus/branch/$exact.js +2 -0
  650. package/esm/type_plus/branch/$exact.js.map +1 -0
  651. package/esm/type_plus/branch/$input_options.d.ts +10 -0
  652. package/esm/type_plus/branch/$input_options.d.ts.map +1 -0
  653. package/esm/type_plus/branch/$input_options.js +2 -0
  654. package/esm/type_plus/branch/$input_options.js.map +1 -0
  655. package/esm/type_plus/branch/$is_distributive.d.ts +6 -0
  656. package/esm/type_plus/branch/$is_distributive.d.ts.map +1 -0
  657. package/esm/type_plus/branch/$is_distributive.js +2 -0
  658. package/esm/type_plus/branch/$is_distributive.js.map +1 -0
  659. package/esm/type_plus/branch/$override.d.ts +21 -0
  660. package/esm/type_plus/branch/$override.d.ts.map +1 -0
  661. package/esm/type_plus/branch/$override.js +2 -0
  662. package/esm/type_plus/branch/$override.js.map +1 -0
  663. package/esm/type_plus/branch/$resolve_branch.d.ts +30 -0
  664. package/esm/type_plus/branch/$resolve_branch.d.ts.map +1 -0
  665. package/esm/type_plus/branch/$resolve_branch.js +2 -0
  666. package/esm/type_plus/branch/$resolve_branch.js.map +1 -0
  667. package/esm/type_plus/branch/$select.d.ts +79 -0
  668. package/esm/type_plus/branch/$select.d.ts.map +1 -0
  669. package/esm/type_plus/branch/$select.js +2 -0
  670. package/esm/type_plus/branch/$select.js.map +1 -0
  671. package/esm/type_plus/branch/$select_invert.d.ts +77 -0
  672. package/esm/type_plus/branch/$select_invert.d.ts.map +1 -0
  673. package/esm/type_plus/branch/$select_invert.js +2 -0
  674. package/esm/type_plus/branch/$select_invert.js.map +1 -0
  675. package/esm/type_plus/branch/$select_invert_strict.d.ts +78 -0
  676. package/esm/type_plus/branch/$select_invert_strict.d.ts.map +1 -0
  677. package/esm/type_plus/branch/$select_invert_strict.js +2 -0
  678. package/esm/type_plus/branch/$select_invert_strict.js.map +1 -0
  679. package/esm/type_plus/branch/$select_strict.d.ts +79 -0
  680. package/esm/type_plus/branch/$select_strict.d.ts.map +1 -0
  681. package/esm/type_plus/branch/$select_strict.js +2 -0
  682. package/esm/type_plus/branch/$select_strict.js.map +1 -0
  683. package/esm/type_plus/branch/$selection.d.ts +127 -0
  684. package/esm/type_plus/branch/$selection.d.ts.map +1 -0
  685. package/esm/type_plus/branch/$selection.js +2 -0
  686. package/esm/type_plus/branch/$selection.js.map +1 -0
  687. package/esm/type_plus/branch/$selection_options.d.ts +37 -0
  688. package/esm/type_plus/branch/$selection_options.d.ts.map +1 -0
  689. package/esm/type_plus/branch/$selection_options.js +2 -0
  690. package/esm/type_plus/branch/$selection_options.js.map +1 -0
  691. package/esm/undefined/has_undefined.d.ts +41 -0
  692. package/esm/undefined/has_undefined.d.ts.map +1 -0
  693. package/esm/undefined/has_undefined.js +2 -0
  694. package/esm/undefined/has_undefined.js.map +1 -0
  695. package/esm/undefined/is_not_undefined.d.ts +72 -0
  696. package/esm/undefined/is_not_undefined.d.ts.map +1 -0
  697. package/esm/undefined/is_not_undefined.js +2 -0
  698. package/esm/undefined/is_not_undefined.js.map +1 -0
  699. package/esm/undefined/is_undefined.d.ts +75 -0
  700. package/esm/undefined/is_undefined.d.ts.map +1 -0
  701. package/esm/undefined/is_undefined.js +2 -0
  702. package/esm/undefined/is_undefined.js.map +1 -0
  703. package/esm/union/union.d.ts +1 -1
  704. package/esm/union/union.d.ts.map +1 -1
  705. package/esm/union/union.js.map +1 -1
  706. package/esm/union/union_to_intersection.d.ts.map +1 -1
  707. package/esm/union/union_to_intersection.js.map +1 -1
  708. package/esm/union_keys.d.ts.map +1 -1
  709. package/esm/union_keys.js.map +1 -1
  710. package/esm/unknown/is_not_unknown.d.ts +53 -0
  711. package/esm/unknown/is_not_unknown.d.ts.map +1 -0
  712. package/esm/unknown/is_not_unknown.js +2 -0
  713. package/esm/unknown/is_not_unknown.js.map +1 -0
  714. package/esm/unknown/is_unknown.d.ts +53 -0
  715. package/esm/unknown/is_unknown.d.ts.map +1 -0
  716. package/esm/unknown/is_unknown.js +2 -0
  717. package/esm/unknown/is_unknown.js.map +1 -0
  718. package/esm/unknown/not_unknown_or.d.ts +30 -0
  719. package/esm/unknown/not_unknown_or.d.ts.map +1 -0
  720. package/esm/unknown/not_unknown_or.js +2 -0
  721. package/esm/unknown/not_unknown_or.js.map +1 -0
  722. package/esm/unknown/unknown.d.ts +55 -0
  723. package/esm/unknown/unknown.d.ts.map +1 -0
  724. package/esm/unknown/unknown.js +2 -0
  725. package/esm/unknown/unknown.js.map +1 -0
  726. package/esm/unpartial.d.ts.map +1 -1
  727. package/esm/unpartial.js.map +1 -1
  728. package/esm/utils/Widen.d.ts.map +1 -1
  729. package/esm/utils/Widen.js.map +1 -1
  730. package/esm/utils/as.d.ts.map +1 -1
  731. package/esm/utils/as.js.map +1 -1
  732. package/esm/utils/index.d.ts +0 -2
  733. package/esm/utils/index.d.ts.map +1 -1
  734. package/esm/utils/index.js.map +1 -1
  735. package/esm/utils/inspect.d.ts.map +1 -1
  736. package/esm/utils/inspect.js.map +1 -1
  737. package/esm/utils/options.d.ts +14 -9
  738. package/esm/utils/options.d.ts.map +1 -1
  739. package/esm/utils/options.js.map +1 -1
  740. package/esm/void/is_not_void.d.ts +78 -0
  741. package/esm/void/is_not_void.d.ts.map +1 -0
  742. package/esm/void/is_not_void.js +2 -0
  743. package/esm/void/is_not_void.js.map +1 -0
  744. package/esm/void/is_void.d.ts +79 -0
  745. package/esm/void/is_void.d.ts.map +1 -0
  746. package/esm/void/is_void.js +2 -0
  747. package/esm/void/is_void.js.map +1 -0
  748. package/package.json +31 -33
  749. package/readme.md +1376 -0
  750. package/src/any/any.ts +46 -0
  751. package/src/any/is_any.ts +59 -0
  752. package/src/any/is_not_any.ts +59 -0
  753. package/src/any/readme.md +104 -0
  754. package/src/array/array.at.ts +40 -0
  755. package/src/array/array.entries.ts +28 -0
  756. package/src/array/array.find_last.ts +31 -0
  757. package/src/array/array.reverse.ts +25 -0
  758. package/src/array/array.some.ts +67 -0
  759. package/src/array/array_plus.common_prop_keys.ts +38 -0
  760. package/src/array/array_plus.concat.ts +15 -0
  761. package/src/array/array_plus.drop_match.ts +16 -0
  762. package/src/array/array_plus.element_match.ts +61 -0
  763. package/src/array/array_plus.filter.ts +52 -0
  764. package/src/array/array_plus.find.ts +71 -0
  765. package/src/array/array_plus.index_at.ts +169 -0
  766. package/src/array/array_plus.is_index_out_of_bound.ts +24 -0
  767. package/src/array/array_plus.is_readonly.ts +50 -0
  768. package/src/array/array_plus.pad_start.ts +13 -0
  769. package/src/array/array_plus.split_at.ts +79 -0
  770. package/src/array/array_plus.ts +16 -0
  771. package/src/array/filter.ts +32 -0
  772. package/src/array/find_first.ts +73 -0
  773. package/src/array/head.ts +45 -0
  774. package/src/array/intersect_of_props.ts +21 -0
  775. package/src/array/is_array.ts +116 -0
  776. package/src/array/is_not_array.ts +114 -0
  777. package/src/array/last.ts +42 -0
  778. package/src/array/loose_array_type.ts +71 -0
  779. package/src/array/pad_start.ts +39 -0
  780. package/src/array/readme.md +567 -0
  781. package/src/array/union_of_props.ts +17 -0
  782. package/src/array/union_of_values.ts +14 -0
  783. package/src/assertion/assert_type.ts +117 -0
  784. package/src/bigint/is_bigint.ts +114 -0
  785. package/src/bigint/is_bigint_literal.ts +100 -0
  786. package/src/bigint/is_not_bigint.ts +110 -0
  787. package/src/bigint/is_not_bigint_literal.ts +101 -0
  788. package/src/bigint/readme.md +109 -0
  789. package/src/boolean/is_boolean.ts +126 -0
  790. package/src/boolean/is_false.ts +85 -0
  791. package/src/boolean/is_not_boolean.ts +109 -0
  792. package/src/boolean/is_not_false.ts +86 -0
  793. package/src/boolean/is_not_true.ts +86 -0
  794. package/src/boolean/is_true.ts +85 -0
  795. package/src/boolean/readme.md +430 -0
  796. package/src/class/AnyConstructor.ts +1 -0
  797. package/src/class/isConstructor.ts +34 -0
  798. package/src/equal/equal.ts +135 -0
  799. package/src/equal/identity_equal.ts +9 -0
  800. package/src/function/is_function.ts +62 -0
  801. package/src/function/is_not_function.ts +75 -0
  802. package/src/function/is_not_strict_function.ts +40 -0
  803. package/src/function/is_strict_function.ts +43 -0
  804. package/src/functional/Maybe.ts +22 -0
  805. package/src/functional/compose.ts +18 -0
  806. package/src/functional/context.ts +66 -0
  807. package/src/index.ts +139 -0
  808. package/src/math/abs.ts +23 -0
  809. package/src/math/greater_than.ts +12 -0
  810. package/src/math/index.ts +7 -0
  811. package/src/math/max.ts +13 -0
  812. package/src/math/numeric_struct.ts +656 -0
  813. package/src/mix_types/box.ts +74 -0
  814. package/src/mix_types/exclude.ts +18 -0
  815. package/src/mix_types/is_any_or_never.ts +31 -0
  816. package/src/mix_types/merge.ts +61 -0
  817. package/src/mix_types/readme.md +87 -0
  818. package/src/never/is_never.ts +62 -0
  819. package/src/never/is_not_never.ts +62 -0
  820. package/src/never/never.ts +78 -0
  821. package/src/never/readme.md +148 -0
  822. package/src/nominal/brand.ts +41 -0
  823. package/src/nominal/flavor.ts +51 -0
  824. package/src/nominal/nominal_match.ts +21 -0
  825. package/src/null/is_not_null.ts +79 -0
  826. package/src/null/is_null.ts +83 -0
  827. package/src/null/readme.md +107 -0
  828. package/src/number/is_not_number.ts +99 -0
  829. package/src/number/is_not_number_literal.ts +101 -0
  830. package/src/number/is_number.ts +103 -0
  831. package/src/number/is_number_literal.ts +100 -0
  832. package/src/number/number_plus.ts +13 -0
  833. package/src/number/readme.md +225 -0
  834. package/src/numeric/is_integer.ts +48 -0
  835. package/src/numeric/is_negative.ts +51 -0
  836. package/src/numeric/is_not_integer.ts +49 -0
  837. package/src/numeric/is_not_negative.ts +49 -0
  838. package/src/numeric/is_not_numeric.ts +21 -0
  839. package/src/numeric/is_not_positive.ts +50 -0
  840. package/src/numeric/is_numeric.ts +20 -0
  841. package/src/numeric/is_positive.ts +51 -0
  842. package/src/numeric/numeric_plus.ts +10 -0
  843. package/src/numeric/numeric_type.ts +10 -0
  844. package/src/object/ANotB.ts +12 -0
  845. package/src/object/IsDisjoint.ts +12 -0
  846. package/src/object/KeysWithDiffType.ts +9 -0
  847. package/src/object/KnownKeys.ts +17 -0
  848. package/src/object/RecursiveIntersect.ts +25 -0
  849. package/src/object/RecursiveRequired.ts +9 -0
  850. package/src/object/Required.ts +7 -0
  851. package/src/object/RequiredKeys.ts +8 -0
  852. package/src/object/facade.ts +214 -0
  853. package/src/object/forEachKey.ts +9 -0
  854. package/src/object/hasKey.ts +7 -0
  855. package/src/object/index.ts +38 -0
  856. package/src/object/is_not_object.ts +132 -0
  857. package/src/object/is_object.ts +119 -0
  858. package/src/object/left_join.ts +10 -0
  859. package/src/object/mapProperties.ts +22 -0
  860. package/src/object/merge.ts +117 -0
  861. package/src/object/object_plus.ts +1 -0
  862. package/src/object/omit.ts +220 -0
  863. package/src/object/optional_key.ts +38 -0
  864. package/src/object/pick.ts +220 -0
  865. package/src/object/readme.md +79 -0
  866. package/src/object/record.ts +23 -0
  867. package/src/object/recursive_partial.ts +39 -0
  868. package/src/object/replaceProperty.ts +11 -0
  869. package/src/object/split.ts +202 -0
  870. package/src/object/typeOverrideIncompatible.ts +8 -0
  871. package/src/predicates/CanAssign.ts +61 -0
  872. package/src/predicates/Extends.ts +7 -0
  873. package/src/predicates/assignable.ts +102 -0
  874. package/src/predicates/index.ts +6 -0
  875. package/src/predicates/literal.ts +35 -0
  876. package/src/predicates/not_assignable.ts +100 -0
  877. package/src/promise/index.ts +5 -0
  878. package/src/string/$extract_manipulated_string.ts +45 -0
  879. package/src/string/_string_type.ts +11 -0
  880. package/src/string/is_not_string.ts +100 -0
  881. package/src/string/is_not_string_literal.ts +132 -0
  882. package/src/string/is_not_template_literal.ts +90 -0
  883. package/src/string/is_string.ts +101 -0
  884. package/src/string/is_string_literal.ts +132 -0
  885. package/src/string/is_template_literal.ts +91 -0
  886. package/src/string/string.ts +36 -0
  887. package/src/string/string_plus.ts +34 -0
  888. package/src/symbol/is_not_symbol.ts +78 -0
  889. package/src/symbol/is_symbol.ts +80 -0
  890. package/src/testing/stub.ts +81 -0
  891. package/src/testing/test_type.ts +313 -0
  892. package/src/tuple/common_prop_keys.ts +41 -0
  893. package/src/tuple/create_tuple.ts +42 -0
  894. package/src/tuple/drop.ts +125 -0
  895. package/src/tuple/is_not_tuple.ts +101 -0
  896. package/src/tuple/is_tuple.ts +99 -0
  897. package/src/tuple/readme.md +282 -0
  898. package/src/tuple/tail.ts +10 -0
  899. package/src/tuple/tuple_plus.common_prop_keys.ts +50 -0
  900. package/src/tuple/tuple_plus.filter.ts +29 -0
  901. package/src/tuple/tuple_plus.find.ts +89 -0
  902. package/src/tuple/tuple_plus.pad_start.ts +61 -0
  903. package/src/type/no_infer.ts +28 -0
  904. package/src/type-guard/is_type.ts +48 -0
  905. package/src/type_plus/$equality.ts +14 -0
  906. package/src/type_plus/$error.ts +8 -0
  907. package/src/type_plus/$infer_error.ts +21 -0
  908. package/src/type_plus/$merge_options.ts +9 -0
  909. package/src/type_plus/$resolve_options.ts +16 -0
  910. package/src/type_plus/$special_type.ts +24 -0
  911. package/src/type_plus/$type.ts +10 -0
  912. package/src/type_plus/branch/$branch.ts +27 -0
  913. package/src/type_plus/branch/$distributive.ts +19 -0
  914. package/src/type_plus/branch/$exact.ts +34 -0
  915. package/src/type_plus/branch/$input_options.ts +9 -0
  916. package/src/type_plus/branch/$is_distributive.ts +12 -0
  917. package/src/type_plus/branch/$override.ts +22 -0
  918. package/src/type_plus/branch/$resolve_branch.ts +81 -0
  919. package/src/type_plus/branch/$select.ts +90 -0
  920. package/src/type_plus/branch/$select_invert.ts +88 -0
  921. package/src/type_plus/branch/$select_invert_strict.ts +88 -0
  922. package/src/type_plus/branch/$select_strict.ts +90 -0
  923. package/src/type_plus/branch/$selection.ts +135 -0
  924. package/src/type_plus/branch/$selection_options.ts +36 -0
  925. package/src/type_plus/readme.md +25 -0
  926. package/src/undefined/has_undefined.ts +44 -0
  927. package/src/undefined/is_not_undefined.ts +80 -0
  928. package/src/undefined/is_undefined.ts +82 -0
  929. package/src/undefined/readme.md +140 -0
  930. package/src/union/readme.md +81 -0
  931. package/src/union/union.ts +37 -0
  932. package/src/unknown/is_not_unknown.ts +57 -0
  933. package/src/unknown/is_unknown.ts +57 -0
  934. package/src/unknown/not_unknown_or.ts +29 -0
  935. package/src/unknown/readme.md +108 -0
  936. package/src/unknown/unknown.ts +58 -0
  937. package/src/utils/index.ts +61 -0
  938. package/src/utils/options.ts +15 -0
  939. package/src/void/is_not_void.ts +90 -0
  940. package/src/void/is_void.ts +91 -0
  941. package/src/void/readme.md +108 -0
  942. package/README.md +0 -1356
  943. package/cjs/any/any_type.d.ts +0 -63
  944. package/cjs/any/any_type.d.ts.map +0 -1
  945. package/cjs/any/any_type.js +0 -3
  946. package/cjs/any/any_type.js.map +0 -1
  947. package/cjs/array/array.at.d.ts +0 -20
  948. package/cjs/array/array.at.d.ts.map +0 -1
  949. package/cjs/array/array.at.js +0 -3
  950. package/cjs/array/array.at.js.map +0 -1
  951. package/cjs/array/array.entries.d.ts +0 -18
  952. package/cjs/array/array.entries.d.ts.map +0 -1
  953. package/cjs/array/array.entries.js +0 -3
  954. package/cjs/array/array.entries.js.map +0 -1
  955. package/cjs/array/array.find_last.d.ts +0 -19
  956. package/cjs/array/array.find_last.d.ts.map +0 -1
  957. package/cjs/array/array.find_last.js +0 -3
  958. package/cjs/array/array.find_last.js.map +0 -1
  959. package/cjs/array/array.reverse.d.ts +0 -2
  960. package/cjs/array/array.reverse.d.ts.map +0 -1
  961. package/cjs/array/array.reverse.js +0 -3
  962. package/cjs/array/array.reverse.js.map +0 -1
  963. package/cjs/array/array.some.d.ts +0 -33
  964. package/cjs/array/array.some.d.ts.map +0 -1
  965. package/cjs/array/array.some.js +0 -3
  966. package/cjs/array/array.some.js.map +0 -1
  967. package/cjs/array/array_index.d.ts +0 -37
  968. package/cjs/array/array_index.d.ts.map +0 -1
  969. package/cjs/array/array_index.js +0 -3
  970. package/cjs/array/array_index.js.map +0 -1
  971. package/cjs/array/array_plus.common_prop_keys.d.ts +0 -27
  972. package/cjs/array/array_plus.common_prop_keys.d.ts.map +0 -1
  973. package/cjs/array/array_plus.common_prop_keys.js +0 -3
  974. package/cjs/array/array_plus.common_prop_keys.js.map +0 -1
  975. package/cjs/array/array_plus.concat.d.ts +0 -16
  976. package/cjs/array/array_plus.concat.d.ts.map +0 -1
  977. package/cjs/array/array_plus.concat.js +0 -3
  978. package/cjs/array/array_plus.concat.js.map +0 -1
  979. package/cjs/array/array_plus.d.ts +0 -15
  980. package/cjs/array/array_plus.d.ts.map +0 -1
  981. package/cjs/array/array_plus.drop_match.d.ts +0 -4
  982. package/cjs/array/array_plus.drop_match.d.ts.map +0 -1
  983. package/cjs/array/array_plus.drop_match.js +0 -3
  984. package/cjs/array/array_plus.drop_match.js.map +0 -1
  985. package/cjs/array/array_plus.element_match.d.ts +0 -44
  986. package/cjs/array/array_plus.element_match.d.ts.map +0 -1
  987. package/cjs/array/array_plus.element_match.js +0 -3
  988. package/cjs/array/array_plus.element_match.js.map +0 -1
  989. package/cjs/array/array_plus.filter.d.ts +0 -2
  990. package/cjs/array/array_plus.filter.d.ts.map +0 -1
  991. package/cjs/array/array_plus.filter.js +0 -3
  992. package/cjs/array/array_plus.filter.js.map +0 -1
  993. package/cjs/array/array_plus.find.d.ts +0 -57
  994. package/cjs/array/array_plus.find.d.ts.map +0 -1
  995. package/cjs/array/array_plus.find.js +0 -3
  996. package/cjs/array/array_plus.find.js.map +0 -1
  997. package/cjs/array/array_plus.js +0 -3
  998. package/cjs/array/array_plus.js.map +0 -1
  999. package/cjs/array/array_plus.pad_start.d.ts +0 -5
  1000. package/cjs/array/array_plus.pad_start.d.ts.map +0 -1
  1001. package/cjs/array/array_plus.pad_start.js +0 -3
  1002. package/cjs/array/array_plus.pad_start.js.map +0 -1
  1003. package/cjs/array/array_plus.split_at.d.ts +0 -40
  1004. package/cjs/array/array_plus.split_at.d.ts.map +0 -1
  1005. package/cjs/array/array_plus.split_at.js +0 -3
  1006. package/cjs/array/array_plus.split_at.js.map +0 -1
  1007. package/cjs/array/array_type.d.ts +0 -66
  1008. package/cjs/array/array_type.d.ts.map +0 -1
  1009. package/cjs/array/array_type.js +0 -3
  1010. package/cjs/array/array_type.js.map +0 -1
  1011. package/cjs/array/filter.d.ts +0 -29
  1012. package/cjs/array/filter.d.ts.map +0 -1
  1013. package/cjs/array/filter.js +0 -3
  1014. package/cjs/array/filter.js.map +0 -1
  1015. package/cjs/array/find_first.d.ts +0 -62
  1016. package/cjs/array/find_first.d.ts.map +0 -1
  1017. package/cjs/array/find_first.js +0 -3
  1018. package/cjs/array/find_first.js.map +0 -1
  1019. package/cjs/array/head.d.ts +0 -31
  1020. package/cjs/array/head.d.ts.map +0 -1
  1021. package/cjs/array/head.js +0 -3
  1022. package/cjs/array/head.js.map +0 -1
  1023. package/cjs/array/intersect_of_props.d.ts +0 -14
  1024. package/cjs/array/intersect_of_props.d.ts.map +0 -1
  1025. package/cjs/array/intersect_of_props.js +0 -3
  1026. package/cjs/array/intersect_of_props.js.map +0 -1
  1027. package/cjs/array/last.d.ts +0 -30
  1028. package/cjs/array/last.d.ts.map +0 -1
  1029. package/cjs/array/last.js +0 -3
  1030. package/cjs/array/last.js.map +0 -1
  1031. package/cjs/array/literal_array.d.ts +0 -8
  1032. package/cjs/array/literal_array.d.ts.map +0 -1
  1033. package/cjs/array/literal_array.js +0 -13
  1034. package/cjs/array/literal_array.js.map +0 -1
  1035. package/cjs/array/pad_start.d.ts +0 -32
  1036. package/cjs/array/pad_start.d.ts.map +0 -1
  1037. package/cjs/array/pad_start.js +0 -3
  1038. package/cjs/array/pad_start.js.map +0 -1
  1039. package/cjs/array/reduce_while.d.ts +0 -8
  1040. package/cjs/array/reduce_while.d.ts.map +0 -1
  1041. package/cjs/array/reduce_while.js +0 -21
  1042. package/cjs/array/reduce_while.js.map +0 -1
  1043. package/cjs/array/reverse.d.ts +0 -7
  1044. package/cjs/array/reverse.d.ts.map +0 -1
  1045. package/cjs/array/reverse.js +0 -3
  1046. package/cjs/array/reverse.js.map +0 -1
  1047. package/cjs/array/union_of_props.d.ts +0 -12
  1048. package/cjs/array/union_of_props.d.ts.map +0 -1
  1049. package/cjs/array/union_of_props.js +0 -3
  1050. package/cjs/array/union_of_props.js.map +0 -1
  1051. package/cjs/array/union_of_values.d.ts +0 -10
  1052. package/cjs/array/union_of_values.d.ts.map +0 -1
  1053. package/cjs/array/union_of_values.js +0 -3
  1054. package/cjs/array/union_of_values.js.map +0 -1
  1055. package/cjs/assertion/assert_type.d.ts +0 -40
  1056. package/cjs/assertion/assert_type.d.ts.map +0 -1
  1057. package/cjs/assertion/assert_type.js +0 -113
  1058. package/cjs/assertion/assert_type.js.map +0 -1
  1059. package/cjs/bigint/bigint_type.d.ts +0 -54
  1060. package/cjs/bigint/bigint_type.d.ts.map +0 -1
  1061. package/cjs/bigint/bigint_type.js +0 -3
  1062. package/cjs/bigint/bigint_type.js.map +0 -1
  1063. package/cjs/bigint/cast.d.ts +0 -10
  1064. package/cjs/bigint/cast.d.ts.map +0 -1
  1065. package/cjs/bigint/cast.js +0 -3
  1066. package/cjs/bigint/cast.js.map +0 -1
  1067. package/cjs/bigint/strict_bigint_type.d.ts +0 -56
  1068. package/cjs/bigint/strict_bigint_type.d.ts.map +0 -1
  1069. package/cjs/bigint/strict_bigint_type.js +0 -3
  1070. package/cjs/bigint/strict_bigint_type.js.map +0 -1
  1071. package/cjs/binary/Bit.d.ts +0 -6
  1072. package/cjs/binary/Bit.d.ts.map +0 -1
  1073. package/cjs/binary/Bit.js +0 -3
  1074. package/cjs/binary/Bit.js.map +0 -1
  1075. package/cjs/binary/_binary.d.ts +0 -2
  1076. package/cjs/binary/_binary.d.ts.map +0 -1
  1077. package/cjs/binary/_binary.js +0 -3
  1078. package/cjs/binary/_binary.js.map +0 -1
  1079. package/cjs/binary/index.d.ts +0 -3
  1080. package/cjs/binary/index.d.ts.map +0 -1
  1081. package/cjs/binary/index.js +0 -6
  1082. package/cjs/binary/index.js.map +0 -1
  1083. package/cjs/boolean/boolean_type.d.ts +0 -56
  1084. package/cjs/boolean/boolean_type.d.ts.map +0 -1
  1085. package/cjs/boolean/boolean_type.js +0 -3
  1086. package/cjs/boolean/boolean_type.js.map +0 -1
  1087. package/cjs/boolean/false_type.d.ts +0 -49
  1088. package/cjs/boolean/false_type.d.ts.map +0 -1
  1089. package/cjs/boolean/false_type.js +0 -3
  1090. package/cjs/boolean/false_type.js.map +0 -1
  1091. package/cjs/boolean/strict_boolean_type.d.ts +0 -53
  1092. package/cjs/boolean/strict_boolean_type.d.ts.map +0 -1
  1093. package/cjs/boolean/strict_boolean_type.js +0 -3
  1094. package/cjs/boolean/strict_boolean_type.js.map +0 -1
  1095. package/cjs/boolean/true_type.d.ts +0 -49
  1096. package/cjs/boolean/true_type.d.ts.map +0 -1
  1097. package/cjs/boolean/true_type.js +0 -3
  1098. package/cjs/boolean/true_type.js.map +0 -1
  1099. package/cjs/class/AnyConstructor.d.ts +0 -2
  1100. package/cjs/class/AnyConstructor.d.ts.map +0 -1
  1101. package/cjs/class/AnyConstructor.js +0 -3
  1102. package/cjs/class/AnyConstructor.js.map +0 -1
  1103. package/cjs/class/index.d.ts +0 -3
  1104. package/cjs/class/index.d.ts.map +0 -1
  1105. package/cjs/class/index.js +0 -18
  1106. package/cjs/class/index.js.map +0 -1
  1107. package/cjs/class/isConstructor.d.ts +0 -18
  1108. package/cjs/class/isConstructor.d.ts.map +0 -1
  1109. package/cjs/class/isConstructor.js +0 -35
  1110. package/cjs/class/isConstructor.js.map +0 -1
  1111. package/cjs/composable_types.d.ts +0 -9
  1112. package/cjs/composable_types.d.ts.map +0 -1
  1113. package/cjs/composable_types.js +0 -3
  1114. package/cjs/composable_types.js.map +0 -1
  1115. package/cjs/equal/equal.d.ts +0 -99
  1116. package/cjs/equal/equal.d.ts.map +0 -1
  1117. package/cjs/equal/equal.js +0 -3
  1118. package/cjs/equal/equal.js.map +0 -1
  1119. package/cjs/function/any_function.d.ts +0 -2
  1120. package/cjs/function/any_function.d.ts.map +0 -1
  1121. package/cjs/function/any_function.js +0 -3
  1122. package/cjs/function/any_function.js.map +0 -1
  1123. package/cjs/function/extract_function.d.ts +0 -24
  1124. package/cjs/function/extract_function.d.ts.map +0 -1
  1125. package/cjs/function/extract_function.js +0 -13
  1126. package/cjs/function/extract_function.js.map +0 -1
  1127. package/cjs/function/function_type.d.ts +0 -59
  1128. package/cjs/function/function_type.d.ts.map +0 -1
  1129. package/cjs/function/function_type.js +0 -3
  1130. package/cjs/function/function_type.js.map +0 -1
  1131. package/cjs/function/strict_function_type.d.ts +0 -49
  1132. package/cjs/function/strict_function_type.d.ts.map +0 -1
  1133. package/cjs/function/strict_function_type.js +0 -3
  1134. package/cjs/function/strict_function_type.js.map +0 -1
  1135. package/cjs/functional/ChainFn.d.ts +0 -6
  1136. package/cjs/functional/ChainFn.d.ts.map +0 -1
  1137. package/cjs/functional/ChainFn.js +0 -3
  1138. package/cjs/functional/ChainFn.js.map +0 -1
  1139. package/cjs/functional/Maybe.d.ts +0 -13
  1140. package/cjs/functional/Maybe.d.ts.map +0 -1
  1141. package/cjs/functional/Maybe.js +0 -17
  1142. package/cjs/functional/Maybe.js.map +0 -1
  1143. package/cjs/functional/compose.d.ts +0 -12
  1144. package/cjs/functional/compose.d.ts.map +0 -1
  1145. package/cjs/functional/compose.js +0 -16
  1146. package/cjs/functional/compose.js.map +0 -1
  1147. package/cjs/functional/context.d.ts +0 -40
  1148. package/cjs/functional/context.d.ts.map +0 -1
  1149. package/cjs/functional/context.js +0 -32
  1150. package/cjs/functional/context.js.map +0 -1
  1151. package/cjs/functional/index.d.ts +0 -4
  1152. package/cjs/functional/index.d.ts.map +0 -1
  1153. package/cjs/functional/index.js +0 -19
  1154. package/cjs/functional/index.js.map +0 -1
  1155. package/cjs/index.d.ts +0 -84
  1156. package/cjs/index.d.ts.map +0 -1
  1157. package/cjs/index.js +0 -45
  1158. package/cjs/index.js.map +0 -1
  1159. package/cjs/json.d.ts +0 -12
  1160. package/cjs/json.d.ts.map +0 -1
  1161. package/cjs/json.js +0 -14
  1162. package/cjs/json.js.map +0 -1
  1163. package/cjs/math/abs.d.ts +0 -6
  1164. package/cjs/math/abs.d.ts.map +0 -1
  1165. package/cjs/math/abs.js +0 -3
  1166. package/cjs/math/abs.js.map +0 -1
  1167. package/cjs/math/add.d.ts +0 -7
  1168. package/cjs/math/add.d.ts.map +0 -1
  1169. package/cjs/math/add.js +0 -3
  1170. package/cjs/math/add.js.map +0 -1
  1171. package/cjs/math/greater_than.d.ts +0 -4
  1172. package/cjs/math/greater_than.d.ts.map +0 -1
  1173. package/cjs/math/greater_than.js +0 -3
  1174. package/cjs/math/greater_than.js.map +0 -1
  1175. package/cjs/math/index.d.ts +0 -7
  1176. package/cjs/math/index.d.ts.map +0 -1
  1177. package/cjs/math/index.js +0 -3
  1178. package/cjs/math/index.js.map +0 -1
  1179. package/cjs/math/math_plus.d.ts +0 -5
  1180. package/cjs/math/math_plus.d.ts.map +0 -1
  1181. package/cjs/math/math_plus.js +0 -3
  1182. package/cjs/math/math_plus.js.map +0 -1
  1183. package/cjs/math/math_plus.to_negative.d.ts +0 -13
  1184. package/cjs/math/math_plus.to_negative.d.ts.map +0 -1
  1185. package/cjs/math/math_plus.to_negative.js +0 -3
  1186. package/cjs/math/math_plus.to_negative.js.map +0 -1
  1187. package/cjs/math/max.d.ts +0 -4
  1188. package/cjs/math/max.d.ts.map +0 -1
  1189. package/cjs/math/max.js +0 -3
  1190. package/cjs/math/max.js.map +0 -1
  1191. package/cjs/math/multiply.d.ts +0 -6
  1192. package/cjs/math/multiply.d.ts.map +0 -1
  1193. package/cjs/math/multiply.js +0 -3
  1194. package/cjs/math/multiply.js.map +0 -1
  1195. package/cjs/math/numeric_struct.d.ts +0 -1480
  1196. package/cjs/math/numeric_struct.d.ts.map +0 -1
  1197. package/cjs/math/numeric_struct.js +0 -3
  1198. package/cjs/math/numeric_struct.js.map +0 -1
  1199. package/cjs/math/subtract.d.ts +0 -7
  1200. package/cjs/math/subtract.d.ts.map +0 -1
  1201. package/cjs/math/subtract.js +0 -3
  1202. package/cjs/math/subtract.js.map +0 -1
  1203. package/cjs/merge.d.ts +0 -55
  1204. package/cjs/merge.d.ts.map +0 -1
  1205. package/cjs/merge.js +0 -18
  1206. package/cjs/merge.js.map +0 -1
  1207. package/cjs/mix_types/any_or_never_type.d.ts +0 -37
  1208. package/cjs/mix_types/any_or_never_type.d.ts.map +0 -1
  1209. package/cjs/mix_types/any_or_never_type.js +0 -3
  1210. package/cjs/mix_types/any_or_never_type.js.map +0 -1
  1211. package/cjs/never/never_type.d.ts +0 -62
  1212. package/cjs/never/never_type.d.ts.map +0 -1
  1213. package/cjs/never/never_type.js +0 -3
  1214. package/cjs/never/never_type.js.map +0 -1
  1215. package/cjs/nodejs/index.d.ts +0 -2
  1216. package/cjs/nodejs/index.d.ts.map +0 -1
  1217. package/cjs/nodejs/index.js +0 -18
  1218. package/cjs/nodejs/index.js.map +0 -1
  1219. package/cjs/nodejs/isNodeError.d.ts +0 -31
  1220. package/cjs/nodejs/isNodeError.d.ts.map +0 -1
  1221. package/cjs/nodejs/isNodeError.js +0 -13
  1222. package/cjs/nodejs/isNodeError.js.map +0 -1
  1223. package/cjs/nominal/brand.d.ts +0 -23
  1224. package/cjs/nominal/brand.d.ts.map +0 -1
  1225. package/cjs/nominal/brand.js +0 -20
  1226. package/cjs/nominal/brand.js.map +0 -1
  1227. package/cjs/nominal/constants.d.ts +0 -3
  1228. package/cjs/nominal/constants.d.ts.map +0 -1
  1229. package/cjs/nominal/constants.js +0 -6
  1230. package/cjs/nominal/constants.js.map +0 -1
  1231. package/cjs/nominal/flavor.d.ts +0 -31
  1232. package/cjs/nominal/flavor.d.ts.map +0 -1
  1233. package/cjs/nominal/flavor.js +0 -20
  1234. package/cjs/nominal/flavor.js.map +0 -1
  1235. package/cjs/nominal/index.d.ts +0 -4
  1236. package/cjs/nominal/index.d.ts.map +0 -1
  1237. package/cjs/nominal/index.js +0 -20
  1238. package/cjs/nominal/index.js.map +0 -1
  1239. package/cjs/nominal/nominal_match.d.ts +0 -5
  1240. package/cjs/nominal/nominal_match.d.ts.map +0 -1
  1241. package/cjs/nominal/nominal_match.js +0 -13
  1242. package/cjs/nominal/nominal_match.js.map +0 -1
  1243. package/cjs/null/null_type.d.ts +0 -50
  1244. package/cjs/null/null_type.d.ts.map +0 -1
  1245. package/cjs/null/null_type.js +0 -3
  1246. package/cjs/null/null_type.js.map +0 -1
  1247. package/cjs/number/cast.d.ts +0 -10
  1248. package/cjs/number/cast.d.ts.map +0 -1
  1249. package/cjs/number/cast.js +0 -3
  1250. package/cjs/number/cast.js.map +0 -1
  1251. package/cjs/number/number_array.d.ts +0 -1
  1252. package/cjs/number/number_array.d.ts.map +0 -1
  1253. package/cjs/number/number_array.js +0 -16
  1254. package/cjs/number/number_array.js.map +0 -1
  1255. package/cjs/number/number_plus.d.ts +0 -7
  1256. package/cjs/number/number_plus.d.ts.map +0 -1
  1257. package/cjs/number/number_plus.js +0 -3
  1258. package/cjs/number/number_plus.js.map +0 -1
  1259. package/cjs/number/number_type.d.ts +0 -50
  1260. package/cjs/number/number_type.d.ts.map +0 -1
  1261. package/cjs/number/number_type.js +0 -3
  1262. package/cjs/number/number_type.js.map +0 -1
  1263. package/cjs/number/strict_number_type.d.ts +0 -65
  1264. package/cjs/number/strict_number_type.d.ts.map +0 -1
  1265. package/cjs/number/strict_number_type.js +0 -3
  1266. package/cjs/number/strict_number_type.js.map +0 -1
  1267. package/cjs/numeric/cast.d.ts +0 -27
  1268. package/cjs/numeric/cast.d.ts.map +0 -1
  1269. package/cjs/numeric/cast.js +0 -3
  1270. package/cjs/numeric/cast.js.map +0 -1
  1271. package/cjs/numeric/integer.d.ts +0 -69
  1272. package/cjs/numeric/integer.d.ts.map +0 -1
  1273. package/cjs/numeric/integer.js +0 -3
  1274. package/cjs/numeric/integer.js.map +0 -1
  1275. package/cjs/numeric/negative.d.ts +0 -70
  1276. package/cjs/numeric/negative.d.ts.map +0 -1
  1277. package/cjs/numeric/negative.js +0 -3
  1278. package/cjs/numeric/negative.js.map +0 -1
  1279. package/cjs/numeric/numeric_plus.d.ts +0 -5
  1280. package/cjs/numeric/numeric_plus.d.ts.map +0 -1
  1281. package/cjs/numeric/numeric_plus.js +0 -3
  1282. package/cjs/numeric/numeric_plus.js.map +0 -1
  1283. package/cjs/numeric/numeric_type.d.ts +0 -59
  1284. package/cjs/numeric/numeric_type.d.ts.map +0 -1
  1285. package/cjs/numeric/numeric_type.js +0 -3
  1286. package/cjs/numeric/numeric_type.js.map +0 -1
  1287. package/cjs/numeric/positive.d.ts +0 -53
  1288. package/cjs/numeric/positive.d.ts.map +0 -1
  1289. package/cjs/numeric/positive.js +0 -3
  1290. package/cjs/numeric/positive.js.map +0 -1
  1291. package/cjs/object/ANotB.d.ts +0 -9
  1292. package/cjs/object/ANotB.d.ts.map +0 -1
  1293. package/cjs/object/ANotB.js +0 -3
  1294. package/cjs/object/ANotB.js.map +0 -1
  1295. package/cjs/object/AnyRecord.d.ts +0 -3
  1296. package/cjs/object/AnyRecord.d.ts.map +0 -1
  1297. package/cjs/object/AnyRecord.js +0 -3
  1298. package/cjs/object/AnyRecord.js.map +0 -1
  1299. package/cjs/object/ExcludePropType.d.ts +0 -7
  1300. package/cjs/object/ExcludePropType.d.ts.map +0 -1
  1301. package/cjs/object/ExcludePropType.js +0 -3
  1302. package/cjs/object/ExcludePropType.js.map +0 -1
  1303. package/cjs/object/IsDisjoint.d.ts +0 -9
  1304. package/cjs/object/IsDisjoint.d.ts.map +0 -1
  1305. package/cjs/object/IsDisjoint.js +0 -3
  1306. package/cjs/object/IsDisjoint.js.map +0 -1
  1307. package/cjs/object/IsRecord.d.ts +0 -2
  1308. package/cjs/object/IsRecord.d.ts.map +0 -1
  1309. package/cjs/object/IsRecord.js +0 -3
  1310. package/cjs/object/IsRecord.js.map +0 -1
  1311. package/cjs/object/KeyTypes.d.ts +0 -7
  1312. package/cjs/object/KeyTypes.d.ts.map +0 -1
  1313. package/cjs/object/KeyTypes.js +0 -3
  1314. package/cjs/object/KeyTypes.js.map +0 -1
  1315. package/cjs/object/KeyofOptional.d.ts +0 -6
  1316. package/cjs/object/KeyofOptional.d.ts.map +0 -1
  1317. package/cjs/object/KeyofOptional.js +0 -3
  1318. package/cjs/object/KeyofOptional.js.map +0 -1
  1319. package/cjs/object/KeysWithDiffType.d.ts +0 -7
  1320. package/cjs/object/KeysWithDiffType.d.ts.map +0 -1
  1321. package/cjs/object/KeysWithDiffType.js +0 -3
  1322. package/cjs/object/KeysWithDiffType.js.map +0 -1
  1323. package/cjs/object/KnownKeys.d.ts +0 -7
  1324. package/cjs/object/KnownKeys.d.ts.map +0 -1
  1325. package/cjs/object/KnownKeys.js +0 -6
  1326. package/cjs/object/KnownKeys.js.map +0 -1
  1327. package/cjs/object/OptionalKeys.d.ts +0 -8
  1328. package/cjs/object/OptionalKeys.d.ts.map +0 -1
  1329. package/cjs/object/OptionalKeys.js +0 -3
  1330. package/cjs/object/OptionalKeys.js.map +0 -1
  1331. package/cjs/object/Partial.d.ts +0 -22
  1332. package/cjs/object/Partial.d.ts.map +0 -1
  1333. package/cjs/object/Partial.js +0 -3
  1334. package/cjs/object/Partial.js.map +0 -1
  1335. package/cjs/object/RecursiveIntersect.d.ts +0 -16
  1336. package/cjs/object/RecursiveIntersect.d.ts.map +0 -1
  1337. package/cjs/object/RecursiveIntersect.js +0 -3
  1338. package/cjs/object/RecursiveIntersect.js.map +0 -1
  1339. package/cjs/object/RecursiveRequired.d.ts +0 -5
  1340. package/cjs/object/RecursiveRequired.d.ts.map +0 -1
  1341. package/cjs/object/RecursiveRequired.js +0 -3
  1342. package/cjs/object/RecursiveRequired.js.map +0 -1
  1343. package/cjs/object/Required.d.ts +0 -7
  1344. package/cjs/object/Required.d.ts.map +0 -1
  1345. package/cjs/object/Required.js +0 -4
  1346. package/cjs/object/Required.js.map +0 -1
  1347. package/cjs/object/RequiredKeys.d.ts +0 -7
  1348. package/cjs/object/RequiredKeys.d.ts.map +0 -1
  1349. package/cjs/object/RequiredKeys.js +0 -3
  1350. package/cjs/object/RequiredKeys.js.map +0 -1
  1351. package/cjs/object/SpreadRecord.d.ts +0 -3
  1352. package/cjs/object/SpreadRecord.d.ts.map +0 -1
  1353. package/cjs/object/SpreadRecord.js +0 -3
  1354. package/cjs/object/SpreadRecord.js.map +0 -1
  1355. package/cjs/object/ValueOf.d.ts +0 -2
  1356. package/cjs/object/ValueOf.d.ts.map +0 -1
  1357. package/cjs/object/ValueOf.js +0 -3
  1358. package/cjs/object/ValueOf.js.map +0 -1
  1359. package/cjs/object/everyKey.d.ts +0 -3
  1360. package/cjs/object/everyKey.d.ts.map +0 -1
  1361. package/cjs/object/everyKey.js +0 -8
  1362. package/cjs/object/everyKey.js.map +0 -1
  1363. package/cjs/object/facade.d.ts +0 -17
  1364. package/cjs/object/facade.d.ts.map +0 -1
  1365. package/cjs/object/facade.js +0 -27
  1366. package/cjs/object/facade.js.map +0 -1
  1367. package/cjs/object/filterKey.d.ts +0 -3
  1368. package/cjs/object/filterKey.d.ts.map +0 -1
  1369. package/cjs/object/filterKey.js +0 -10
  1370. package/cjs/object/filterKey.js.map +0 -1
  1371. package/cjs/object/findKey.d.ts +0 -3
  1372. package/cjs/object/findKey.d.ts.map +0 -1
  1373. package/cjs/object/findKey.js +0 -10
  1374. package/cjs/object/findKey.js.map +0 -1
  1375. package/cjs/object/forEachKey.d.ts +0 -3
  1376. package/cjs/object/forEachKey.d.ts.map +0 -1
  1377. package/cjs/object/forEachKey.js +0 -8
  1378. package/cjs/object/forEachKey.js.map +0 -1
  1379. package/cjs/object/getField.d.ts +0 -4
  1380. package/cjs/object/getField.d.ts.map +0 -1
  1381. package/cjs/object/getField.js +0 -8
  1382. package/cjs/object/getField.js.map +0 -1
  1383. package/cjs/object/hasKey.d.ts +0 -4
  1384. package/cjs/object/hasKey.d.ts.map +0 -1
  1385. package/cjs/object/hasKey.js +0 -8
  1386. package/cjs/object/hasKey.js.map +0 -1
  1387. package/cjs/object/hasProperty.d.ts +0 -3
  1388. package/cjs/object/hasProperty.d.ts.map +0 -1
  1389. package/cjs/object/hasProperty.js +0 -8
  1390. package/cjs/object/hasProperty.js.map +0 -1
  1391. package/cjs/object/index.d.ts +0 -39
  1392. package/cjs/object/index.d.ts.map +0 -1
  1393. package/cjs/object/index.js +0 -36
  1394. package/cjs/object/index.js.map +0 -1
  1395. package/cjs/object/left_join.d.ts +0 -15
  1396. package/cjs/object/left_join.d.ts.map +0 -1
  1397. package/cjs/object/left_join.js +0 -3
  1398. package/cjs/object/left_join.js.map +0 -1
  1399. package/cjs/object/mapKey.d.ts +0 -3
  1400. package/cjs/object/mapKey.d.ts.map +0 -1
  1401. package/cjs/object/mapKey.js +0 -10
  1402. package/cjs/object/mapKey.js.map +0 -1
  1403. package/cjs/object/mapProperties.d.ts +0 -14
  1404. package/cjs/object/mapProperties.d.ts.map +0 -1
  1405. package/cjs/object/mapProperties.js +0 -17
  1406. package/cjs/object/mapProperties.js.map +0 -1
  1407. package/cjs/object/object_type.d.ts +0 -54
  1408. package/cjs/object/object_type.d.ts.map +0 -1
  1409. package/cjs/object/object_type.js +0 -3
  1410. package/cjs/object/object_type.js.map +0 -1
  1411. package/cjs/object/omit.d.ts +0 -29
  1412. package/cjs/object/omit.d.ts.map +0 -1
  1413. package/cjs/object/omit.js +0 -14
  1414. package/cjs/object/omit.js.map +0 -1
  1415. package/cjs/object/optional_key.d.ts +0 -35
  1416. package/cjs/object/optional_key.d.ts.map +0 -1
  1417. package/cjs/object/optional_key.js +0 -3
  1418. package/cjs/object/optional_key.js.map +0 -1
  1419. package/cjs/object/pick.d.ts +0 -29
  1420. package/cjs/object/pick.d.ts.map +0 -1
  1421. package/cjs/object/pick.js +0 -14
  1422. package/cjs/object/pick.js.map +0 -1
  1423. package/cjs/object/properties.d.ts +0 -7
  1424. package/cjs/object/properties.d.ts.map +0 -1
  1425. package/cjs/object/properties.js +0 -3
  1426. package/cjs/object/properties.js.map +0 -1
  1427. package/cjs/object/record.d.ts +0 -17
  1428. package/cjs/object/record.d.ts.map +0 -1
  1429. package/cjs/object/record.js +0 -9
  1430. package/cjs/object/record.js.map +0 -1
  1431. package/cjs/object/recursive_partial.d.ts +0 -29
  1432. package/cjs/object/recursive_partial.d.ts.map +0 -1
  1433. package/cjs/object/recursive_partial.js +0 -4
  1434. package/cjs/object/recursive_partial.js.map +0 -1
  1435. package/cjs/object/reduceKey.d.ts +0 -7
  1436. package/cjs/object/reduceKey.d.ts.map +0 -1
  1437. package/cjs/object/reduceKey.js +0 -12
  1438. package/cjs/object/reduceKey.js.map +0 -1
  1439. package/cjs/object/replaceProperty.d.ts +0 -6
  1440. package/cjs/object/replaceProperty.d.ts.map +0 -1
  1441. package/cjs/object/replaceProperty.js +0 -8
  1442. package/cjs/object/replaceProperty.js.map +0 -1
  1443. package/cjs/object/someKey.d.ts +0 -3
  1444. package/cjs/object/someKey.d.ts.map +0 -1
  1445. package/cjs/object/someKey.js +0 -10
  1446. package/cjs/object/someKey.js.map +0 -1
  1447. package/cjs/object/split.d.ts +0 -76
  1448. package/cjs/object/split.d.ts.map +0 -1
  1449. package/cjs/object/split.js +0 -12
  1450. package/cjs/object/split.js.map +0 -1
  1451. package/cjs/object/typeOverrideIncompatible.d.ts +0 -3
  1452. package/cjs/object/typeOverrideIncompatible.d.ts.map +0 -1
  1453. package/cjs/object/typeOverrideIncompatible.js +0 -13
  1454. package/cjs/object/typeOverrideIncompatible.js.map +0 -1
  1455. package/cjs/package.json +0 -3
  1456. package/cjs/predicates/CanAssign.d.ts +0 -45
  1457. package/cjs/predicates/CanAssign.d.ts.map +0 -1
  1458. package/cjs/predicates/CanAssign.js +0 -8
  1459. package/cjs/predicates/CanAssign.js.map +0 -1
  1460. package/cjs/predicates/Extends.d.ts +0 -5
  1461. package/cjs/predicates/Extends.d.ts.map +0 -1
  1462. package/cjs/predicates/Extends.js +0 -3
  1463. package/cjs/predicates/Extends.js.map +0 -1
  1464. package/cjs/predicates/If.d.ts +0 -2
  1465. package/cjs/predicates/If.d.ts.map +0 -1
  1466. package/cjs/predicates/If.js +0 -3
  1467. package/cjs/predicates/If.js.map +0 -1
  1468. package/cjs/predicates/IsEmptyObject.d.ts +0 -2
  1469. package/cjs/predicates/IsEmptyObject.d.ts.map +0 -1
  1470. package/cjs/predicates/IsEmptyObject.js +0 -3
  1471. package/cjs/predicates/IsEmptyObject.js.map +0 -1
  1472. package/cjs/predicates/index.d.ts +0 -7
  1473. package/cjs/predicates/index.d.ts.map +0 -1
  1474. package/cjs/predicates/index.js +0 -18
  1475. package/cjs/predicates/index.js.map +0 -1
  1476. package/cjs/predicates/literal.d.ts +0 -22
  1477. package/cjs/predicates/literal.d.ts.map +0 -1
  1478. package/cjs/predicates/literal.js +0 -3
  1479. package/cjs/predicates/literal.js.map +0 -1
  1480. package/cjs/predicates/logical.d.ts +0 -5
  1481. package/cjs/predicates/logical.d.ts.map +0 -1
  1482. package/cjs/predicates/logical.js +0 -3
  1483. package/cjs/predicates/logical.js.map +0 -1
  1484. package/cjs/primitive.d.ts +0 -5
  1485. package/cjs/primitive.d.ts.map +0 -1
  1486. package/cjs/primitive.js +0 -3
  1487. package/cjs/primitive.js.map +0 -1
  1488. package/cjs/promise/MaybePromise.d.ts +0 -22
  1489. package/cjs/promise/MaybePromise.d.ts.map +0 -1
  1490. package/cjs/promise/MaybePromise.js +0 -12
  1491. package/cjs/promise/MaybePromise.js.map +0 -1
  1492. package/cjs/promise/PromiseValue.d.ts +0 -13
  1493. package/cjs/promise/PromiseValue.d.ts.map +0 -1
  1494. package/cjs/promise/PromiseValue.js +0 -3
  1495. package/cjs/promise/PromiseValue.js.map +0 -1
  1496. package/cjs/promise/PromiseValueMerge.d.ts +0 -5
  1497. package/cjs/promise/PromiseValueMerge.d.ts.map +0 -1
  1498. package/cjs/promise/PromiseValueMerge.js +0 -3
  1499. package/cjs/promise/PromiseValueMerge.js.map +0 -1
  1500. package/cjs/promise/index.d.ts +0 -6
  1501. package/cjs/promise/index.d.ts.map +0 -1
  1502. package/cjs/promise/index.js +0 -20
  1503. package/cjs/promise/index.js.map +0 -1
  1504. package/cjs/promise/isPromise.d.ts +0 -2
  1505. package/cjs/promise/isPromise.d.ts.map +0 -1
  1506. package/cjs/promise/isPromise.js +0 -9
  1507. package/cjs/promise/isPromise.js.map +0 -1
  1508. package/cjs/promise/mapSeries.d.ts +0 -2
  1509. package/cjs/promise/mapSeries.d.ts.map +0 -1
  1510. package/cjs/promise/mapSeries.js +0 -8
  1511. package/cjs/promise/mapSeries.js.map +0 -1
  1512. package/cjs/string/strict_string_type.d.ts +0 -61
  1513. package/cjs/string/strict_string_type.d.ts.map +0 -1
  1514. package/cjs/string/strict_string_type.js +0 -3
  1515. package/cjs/string/strict_string_type.js.map +0 -1
  1516. package/cjs/string/string.d.ts +0 -24
  1517. package/cjs/string/string.d.ts.map +0 -1
  1518. package/cjs/string/string.js +0 -3
  1519. package/cjs/string/string.js.map +0 -1
  1520. package/cjs/string/string_plus.d.ts +0 -27
  1521. package/cjs/string/string_plus.d.ts.map +0 -1
  1522. package/cjs/string/string_plus.js +0 -3
  1523. package/cjs/string/string_plus.js.map +0 -1
  1524. package/cjs/string/string_type.d.ts +0 -58
  1525. package/cjs/string/string_type.d.ts.map +0 -1
  1526. package/cjs/string/string_type.js +0 -3
  1527. package/cjs/string/string_type.js.map +0 -1
  1528. package/cjs/symbol/symbol_type.d.ts +0 -50
  1529. package/cjs/symbol/symbol_type.d.ts.map +0 -1
  1530. package/cjs/symbol/symbol_type.js +0 -3
  1531. package/cjs/symbol/symbol_type.js.map +0 -1
  1532. package/cjs/testing/stub.d.ts +0 -31
  1533. package/cjs/testing/stub.d.ts.map +0 -1
  1534. package/cjs/testing/stub.js +0 -60
  1535. package/cjs/testing/stub.js.map +0 -1
  1536. package/cjs/testing/test_type.d.ts +0 -310
  1537. package/cjs/testing/test_type.d.ts.map +0 -1
  1538. package/cjs/testing/test_type.js +0 -16
  1539. package/cjs/testing/test_type.js.map +0 -1
  1540. package/cjs/tuple/common_prop_keys.d.ts +0 -34
  1541. package/cjs/tuple/common_prop_keys.d.ts.map +0 -1
  1542. package/cjs/tuple/common_prop_keys.js +0 -3
  1543. package/cjs/tuple/common_prop_keys.js.map +0 -1
  1544. package/cjs/tuple/create_tuple.d.ts +0 -28
  1545. package/cjs/tuple/create_tuple.d.ts.map +0 -1
  1546. package/cjs/tuple/create_tuple.js +0 -3
  1547. package/cjs/tuple/create_tuple.js.map +0 -1
  1548. package/cjs/tuple/drop.d.ts +0 -91
  1549. package/cjs/tuple/drop.d.ts.map +0 -1
  1550. package/cjs/tuple/drop.js +0 -13
  1551. package/cjs/tuple/drop.js.map +0 -1
  1552. package/cjs/tuple/tail.d.ts +0 -6
  1553. package/cjs/tuple/tail.d.ts.map +0 -1
  1554. package/cjs/tuple/tail.js +0 -3
  1555. package/cjs/tuple/tail.js.map +0 -1
  1556. package/cjs/tuple/tuple_plus.common_prop_keys.d.ts +0 -28
  1557. package/cjs/tuple/tuple_plus.common_prop_keys.d.ts.map +0 -1
  1558. package/cjs/tuple/tuple_plus.common_prop_keys.js +0 -3
  1559. package/cjs/tuple/tuple_plus.common_prop_keys.js.map +0 -1
  1560. package/cjs/tuple/tuple_plus.d.ts +0 -6
  1561. package/cjs/tuple/tuple_plus.d.ts.map +0 -1
  1562. package/cjs/tuple/tuple_plus.drop_match.d.ts +0 -6
  1563. package/cjs/tuple/tuple_plus.drop_match.d.ts.map +0 -1
  1564. package/cjs/tuple/tuple_plus.drop_match.js +0 -3
  1565. package/cjs/tuple/tuple_plus.drop_match.js.map +0 -1
  1566. package/cjs/tuple/tuple_plus.filter.d.ts +0 -13
  1567. package/cjs/tuple/tuple_plus.filter.d.ts.map +0 -1
  1568. package/cjs/tuple/tuple_plus.filter.js +0 -3
  1569. package/cjs/tuple/tuple_plus.filter.js.map +0 -1
  1570. package/cjs/tuple/tuple_plus.find.d.ts +0 -64
  1571. package/cjs/tuple/tuple_plus.find.d.ts.map +0 -1
  1572. package/cjs/tuple/tuple_plus.find.js +0 -3
  1573. package/cjs/tuple/tuple_plus.find.js.map +0 -1
  1574. package/cjs/tuple/tuple_plus.js +0 -3
  1575. package/cjs/tuple/tuple_plus.js.map +0 -1
  1576. package/cjs/tuple/tuple_plus.pad_start.d.ts +0 -28
  1577. package/cjs/tuple/tuple_plus.pad_start.d.ts.map +0 -1
  1578. package/cjs/tuple/tuple_plus.pad_start.js +0 -3
  1579. package/cjs/tuple/tuple_plus.pad_start.js.map +0 -1
  1580. package/cjs/tuple/tuple_type.d.ts +0 -77
  1581. package/cjs/tuple/tuple_type.d.ts.map +0 -1
  1582. package/cjs/tuple/tuple_type.js +0 -3
  1583. package/cjs/tuple/tuple_type.js.map +0 -1
  1584. package/cjs/type/failed.d.ts +0 -32
  1585. package/cjs/type/failed.d.ts.map +0 -1
  1586. package/cjs/type/failed.js +0 -3
  1587. package/cjs/type/failed.js.map +0 -1
  1588. package/cjs/type/no_infer.d.ts +0 -27
  1589. package/cjs/type/no_infer.d.ts.map +0 -1
  1590. package/cjs/type/no_infer.js +0 -3
  1591. package/cjs/type/no_infer.js.map +0 -1
  1592. package/cjs/type-guard/is_type.d.ts +0 -27
  1593. package/cjs/type-guard/is_type.d.ts.map +0 -1
  1594. package/cjs/type-guard/is_type.js +0 -32
  1595. package/cjs/type-guard/is_type.js.map +0 -1
  1596. package/cjs/undefined/undefined_type.d.ts +0 -53
  1597. package/cjs/undefined/undefined_type.d.ts.map +0 -1
  1598. package/cjs/undefined/undefined_type.js +0 -3
  1599. package/cjs/undefined/undefined_type.js.map +0 -1
  1600. package/cjs/union/union.d.ts +0 -33
  1601. package/cjs/union/union.d.ts.map +0 -1
  1602. package/cjs/union/union.js +0 -3
  1603. package/cjs/union/union.js.map +0 -1
  1604. package/cjs/union/union_to_intersection.d.ts +0 -3
  1605. package/cjs/union/union_to_intersection.d.ts.map +0 -1
  1606. package/cjs/union/union_to_intersection.js +0 -8
  1607. package/cjs/union/union_to_intersection.js.map +0 -1
  1608. package/cjs/union_keys.d.ts +0 -6
  1609. package/cjs/union_keys.d.ts.map +0 -1
  1610. package/cjs/union_keys.js +0 -3
  1611. package/cjs/union_keys.js.map +0 -1
  1612. package/cjs/unknown/unknown_type.d.ts +0 -63
  1613. package/cjs/unknown/unknown_type.d.ts.map +0 -1
  1614. package/cjs/unknown/unknown_type.js +0 -3
  1615. package/cjs/unknown/unknown_type.js.map +0 -1
  1616. package/cjs/unpartial.d.ts +0 -2
  1617. package/cjs/unpartial.d.ts.map +0 -1
  1618. package/cjs/unpartial.js +0 -8
  1619. package/cjs/unpartial.js.map +0 -1
  1620. package/cjs/utils/NonNull.d.ts +0 -2
  1621. package/cjs/utils/NonNull.d.ts.map +0 -1
  1622. package/cjs/utils/NonNull.js +0 -3
  1623. package/cjs/utils/NonNull.js.map +0 -1
  1624. package/cjs/utils/NonUndefined.d.ts +0 -2
  1625. package/cjs/utils/NonUndefined.d.ts.map +0 -1
  1626. package/cjs/utils/NonUndefined.js +0 -3
  1627. package/cjs/utils/NonUndefined.js.map +0 -1
  1628. package/cjs/utils/Widen.d.ts +0 -6
  1629. package/cjs/utils/Widen.d.ts.map +0 -1
  1630. package/cjs/utils/Widen.js +0 -3
  1631. package/cjs/utils/Widen.js.map +0 -1
  1632. package/cjs/utils/as.d.ts +0 -10
  1633. package/cjs/utils/as.d.ts.map +0 -1
  1634. package/cjs/utils/as.js +0 -26
  1635. package/cjs/utils/as.js.map +0 -1
  1636. package/cjs/utils/index.d.ts +0 -43
  1637. package/cjs/utils/index.d.ts.map +0 -1
  1638. package/cjs/utils/index.js +0 -19
  1639. package/cjs/utils/index.js.map +0 -1
  1640. package/cjs/utils/inspect.d.ts +0 -5
  1641. package/cjs/utils/inspect.d.ts.map +0 -1
  1642. package/cjs/utils/inspect.js +0 -13
  1643. package/cjs/utils/inspect.js.map +0 -1
  1644. package/cjs/utils/options.d.ts +0 -10
  1645. package/cjs/utils/options.d.ts.map +0 -1
  1646. package/cjs/utils/options.js +0 -3
  1647. package/cjs/utils/options.js.map +0 -1
  1648. package/cjs/void/void_type.d.ts +0 -43
  1649. package/cjs/void/void_type.d.ts.map +0 -1
  1650. package/cjs/void/void_type.js +0 -3
  1651. package/cjs/void/void_type.js.map +0 -1
  1652. package/esm/any/any_type.d.ts +0 -63
  1653. package/esm/any/any_type.d.ts.map +0 -1
  1654. package/esm/any/any_type.js +0 -2
  1655. package/esm/any/any_type.js.map +0 -1
  1656. package/esm/array/array_index.d.ts +0 -37
  1657. package/esm/array/array_index.d.ts.map +0 -1
  1658. package/esm/array/array_index.js +0 -2
  1659. package/esm/array/array_index.js.map +0 -1
  1660. package/esm/array/array_type.d.ts +0 -66
  1661. package/esm/array/array_type.d.ts.map +0 -1
  1662. package/esm/array/array_type.js +0 -2
  1663. package/esm/array/array_type.js.map +0 -1
  1664. package/esm/bigint/bigint_type.d.ts +0 -54
  1665. package/esm/bigint/bigint_type.d.ts.map +0 -1
  1666. package/esm/bigint/bigint_type.js +0 -2
  1667. package/esm/bigint/bigint_type.js.map +0 -1
  1668. package/esm/bigint/strict_bigint_type.d.ts +0 -56
  1669. package/esm/bigint/strict_bigint_type.d.ts.map +0 -1
  1670. package/esm/bigint/strict_bigint_type.js +0 -2
  1671. package/esm/bigint/strict_bigint_type.js.map +0 -1
  1672. package/esm/boolean/boolean_type.d.ts +0 -56
  1673. package/esm/boolean/boolean_type.d.ts.map +0 -1
  1674. package/esm/boolean/boolean_type.js +0 -2
  1675. package/esm/boolean/boolean_type.js.map +0 -1
  1676. package/esm/boolean/false_type.d.ts +0 -49
  1677. package/esm/boolean/false_type.d.ts.map +0 -1
  1678. package/esm/boolean/false_type.js +0 -2
  1679. package/esm/boolean/false_type.js.map +0 -1
  1680. package/esm/boolean/strict_boolean_type.d.ts +0 -53
  1681. package/esm/boolean/strict_boolean_type.d.ts.map +0 -1
  1682. package/esm/boolean/strict_boolean_type.js +0 -2
  1683. package/esm/boolean/strict_boolean_type.js.map +0 -1
  1684. package/esm/boolean/true_type.d.ts +0 -49
  1685. package/esm/boolean/true_type.d.ts.map +0 -1
  1686. package/esm/boolean/true_type.js +0 -2
  1687. package/esm/boolean/true_type.js.map +0 -1
  1688. package/esm/function/function_type.d.ts +0 -59
  1689. package/esm/function/function_type.d.ts.map +0 -1
  1690. package/esm/function/function_type.js +0 -2
  1691. package/esm/function/function_type.js.map +0 -1
  1692. package/esm/function/strict_function_type.d.ts +0 -49
  1693. package/esm/function/strict_function_type.d.ts.map +0 -1
  1694. package/esm/function/strict_function_type.js +0 -2
  1695. package/esm/function/strict_function_type.js.map +0 -1
  1696. package/esm/merge.d.ts +0 -55
  1697. package/esm/merge.d.ts.map +0 -1
  1698. package/esm/merge.js +0 -14
  1699. package/esm/merge.js.map +0 -1
  1700. package/esm/mix_types/any_or_never_type.d.ts +0 -37
  1701. package/esm/mix_types/any_or_never_type.d.ts.map +0 -1
  1702. package/esm/mix_types/any_or_never_type.js +0 -2
  1703. package/esm/mix_types/any_or_never_type.js.map +0 -1
  1704. package/esm/never/never_type.d.ts +0 -62
  1705. package/esm/never/never_type.d.ts.map +0 -1
  1706. package/esm/never/never_type.js +0 -2
  1707. package/esm/never/never_type.js.map +0 -1
  1708. package/esm/null/null_type.d.ts +0 -50
  1709. package/esm/null/null_type.d.ts.map +0 -1
  1710. package/esm/null/null_type.js +0 -2
  1711. package/esm/null/null_type.js.map +0 -1
  1712. package/esm/number/number_type.d.ts +0 -50
  1713. package/esm/number/number_type.d.ts.map +0 -1
  1714. package/esm/number/number_type.js +0 -2
  1715. package/esm/number/number_type.js.map +0 -1
  1716. package/esm/number/strict_number_type.d.ts +0 -65
  1717. package/esm/number/strict_number_type.d.ts.map +0 -1
  1718. package/esm/number/strict_number_type.js +0 -2
  1719. package/esm/number/strict_number_type.js.map +0 -1
  1720. package/esm/numeric/integer.d.ts +0 -69
  1721. package/esm/numeric/integer.d.ts.map +0 -1
  1722. package/esm/numeric/integer.js +0 -2
  1723. package/esm/numeric/integer.js.map +0 -1
  1724. package/esm/numeric/negative.d.ts +0 -70
  1725. package/esm/numeric/negative.d.ts.map +0 -1
  1726. package/esm/numeric/negative.js +0 -2
  1727. package/esm/numeric/negative.js.map +0 -1
  1728. package/esm/numeric/positive.d.ts +0 -53
  1729. package/esm/numeric/positive.d.ts.map +0 -1
  1730. package/esm/numeric/positive.js +0 -2
  1731. package/esm/numeric/positive.js.map +0 -1
  1732. package/esm/object/AnyRecord.d.ts +0 -3
  1733. package/esm/object/AnyRecord.d.ts.map +0 -1
  1734. package/esm/object/AnyRecord.js +0 -2
  1735. package/esm/object/AnyRecord.js.map +0 -1
  1736. package/esm/object/OptionalKeys.d.ts +0 -8
  1737. package/esm/object/OptionalKeys.d.ts.map +0 -1
  1738. package/esm/object/OptionalKeys.js +0 -2
  1739. package/esm/object/OptionalKeys.js.map +0 -1
  1740. package/esm/object/object_type.d.ts +0 -54
  1741. package/esm/object/object_type.d.ts.map +0 -1
  1742. package/esm/object/object_type.js +0 -2
  1743. package/esm/object/object_type.js.map +0 -1
  1744. package/esm/string/strict_string_type.d.ts +0 -61
  1745. package/esm/string/strict_string_type.d.ts.map +0 -1
  1746. package/esm/string/strict_string_type.js +0 -2
  1747. package/esm/string/strict_string_type.js.map +0 -1
  1748. package/esm/string/string_type.d.ts +0 -58
  1749. package/esm/string/string_type.d.ts.map +0 -1
  1750. package/esm/string/string_type.js +0 -2
  1751. package/esm/string/string_type.js.map +0 -1
  1752. package/esm/symbol/symbol_type.d.ts +0 -50
  1753. package/esm/symbol/symbol_type.d.ts.map +0 -1
  1754. package/esm/symbol/symbol_type.js +0 -2
  1755. package/esm/symbol/symbol_type.js.map +0 -1
  1756. package/esm/tuple/tuple_type.d.ts +0 -77
  1757. package/esm/tuple/tuple_type.d.ts.map +0 -1
  1758. package/esm/tuple/tuple_type.js +0 -2
  1759. package/esm/tuple/tuple_type.js.map +0 -1
  1760. package/esm/undefined/undefined_type.d.ts +0 -53
  1761. package/esm/undefined/undefined_type.d.ts.map +0 -1
  1762. package/esm/undefined/undefined_type.js +0 -2
  1763. package/esm/undefined/undefined_type.js.map +0 -1
  1764. package/esm/unknown/unknown_type.d.ts +0 -63
  1765. package/esm/unknown/unknown_type.d.ts.map +0 -1
  1766. package/esm/unknown/unknown_type.js +0 -2
  1767. package/esm/unknown/unknown_type.js.map +0 -1
  1768. package/esm/utils/NonNull.d.ts +0 -2
  1769. package/esm/utils/NonNull.d.ts.map +0 -1
  1770. package/esm/utils/NonNull.js +0 -2
  1771. package/esm/utils/NonNull.js.map +0 -1
  1772. package/esm/utils/NonUndefined.d.ts +0 -2
  1773. package/esm/utils/NonUndefined.d.ts.map +0 -1
  1774. package/esm/utils/NonUndefined.js +0 -2
  1775. package/esm/utils/NonUndefined.js.map +0 -1
  1776. package/esm/void/void_type.d.ts +0 -43
  1777. package/esm/void/void_type.d.ts.map +0 -1
  1778. package/esm/void/void_type.js +0 -2
  1779. package/esm/void/void_type.js.map +0 -1
  1780. package/ts/any/any_type.ts +0 -65
  1781. package/ts/any/readme.md +0 -110
  1782. package/ts/array/array.at.ts +0 -30
  1783. package/ts/array/array.entries.ts +0 -26
  1784. package/ts/array/array.find_last.ts +0 -29
  1785. package/ts/array/array.reverse.ts +0 -16
  1786. package/ts/array/array.some.ts +0 -67
  1787. package/ts/array/array_index.ts +0 -83
  1788. package/ts/array/array_plus.common_prop_keys.ts +0 -35
  1789. package/ts/array/array_plus.concat.ts +0 -15
  1790. package/ts/array/array_plus.drop_match.ts +0 -16
  1791. package/ts/array/array_plus.element_match.ts +0 -61
  1792. package/ts/array/array_plus.filter.ts +0 -5
  1793. package/ts/array/array_plus.find.ts +0 -71
  1794. package/ts/array/array_plus.pad_start.ts +0 -13
  1795. package/ts/array/array_plus.split_at.ts +0 -74
  1796. package/ts/array/array_plus.ts +0 -14
  1797. package/ts/array/array_type.ts +0 -71
  1798. package/ts/array/filter.ts +0 -32
  1799. package/ts/array/find_first.ts +0 -71
  1800. package/ts/array/head.ts +0 -40
  1801. package/ts/array/intersect_of_props.ts +0 -21
  1802. package/ts/array/last.ts +0 -38
  1803. package/ts/array/pad_start.ts +0 -39
  1804. package/ts/array/readme.md +0 -497
  1805. package/ts/array/union_of_props.ts +0 -17
  1806. package/ts/array/union_of_values.ts +0 -14
  1807. package/ts/assertion/assert_type.ts +0 -119
  1808. package/ts/bigint/bigint_type.ts +0 -57
  1809. package/ts/bigint/readme.md +0 -51
  1810. package/ts/bigint/strict_bigint_type.ts +0 -61
  1811. package/ts/boolean/boolean_type.ts +0 -61
  1812. package/ts/boolean/false_type.ts +0 -53
  1813. package/ts/boolean/readme.md +0 -85
  1814. package/ts/boolean/strict_boolean_type.ts +0 -57
  1815. package/ts/boolean/true_type.ts +0 -53
  1816. package/ts/class/AnyConstructor.ts +0 -1
  1817. package/ts/class/isConstructor.ts +0 -34
  1818. package/ts/equal/equal.ts +0 -142
  1819. package/ts/function/function_type.ts +0 -64
  1820. package/ts/function/strict_function_type.ts +0 -53
  1821. package/ts/functional/Maybe.ts +0 -22
  1822. package/ts/functional/compose.ts +0 -17
  1823. package/ts/functional/context.ts +0 -66
  1824. package/ts/index.ts +0 -121
  1825. package/ts/math/abs.ts +0 -18
  1826. package/ts/math/greater_than.ts +0 -12
  1827. package/ts/math/index.ts +0 -7
  1828. package/ts/math/max.ts +0 -13
  1829. package/ts/math/numeric_struct.ts +0 -656
  1830. package/ts/merge.ts +0 -72
  1831. package/ts/mix_types/any_or_never_type.ts +0 -38
  1832. package/ts/mix_types/readme.md +0 -40
  1833. package/ts/never/never_type.ts +0 -70
  1834. package/ts/never/readme.md +0 -37
  1835. package/ts/nominal/brand.ts +0 -43
  1836. package/ts/nominal/flavor.ts +0 -53
  1837. package/ts/nominal/nominal_match.ts +0 -22
  1838. package/ts/null/null_type.ts +0 -53
  1839. package/ts/null/readme.md +0 -24
  1840. package/ts/number/number_plus.ts +0 -20
  1841. package/ts/number/number_type.ts +0 -53
  1842. package/ts/number/readme.md +0 -47
  1843. package/ts/number/strict_number_type.ts +0 -69
  1844. package/ts/numeric/integer.ts +0 -75
  1845. package/ts/numeric/negative.ts +0 -101
  1846. package/ts/numeric/numeric_plus.ts +0 -12
  1847. package/ts/numeric/numeric_type.ts +0 -64
  1848. package/ts/numeric/positive.ts +0 -60
  1849. package/ts/object/ANotB.ts +0 -12
  1850. package/ts/object/IsDisjoint.ts +0 -12
  1851. package/ts/object/KeysWithDiffType.ts +0 -9
  1852. package/ts/object/KnownKeys.ts +0 -17
  1853. package/ts/object/OptionalKeys.ts +0 -9
  1854. package/ts/object/RecursiveIntersect.ts +0 -25
  1855. package/ts/object/RecursiveRequired.ts +0 -9
  1856. package/ts/object/Required.ts +0 -9
  1857. package/ts/object/RequiredKeys.ts +0 -8
  1858. package/ts/object/facade.ts +0 -214
  1859. package/ts/object/forEachKey.ts +0 -9
  1860. package/ts/object/hasKey.ts +0 -7
  1861. package/ts/object/index.ts +0 -38
  1862. package/ts/object/left_join.ts +0 -19
  1863. package/ts/object/mapProperties.ts +0 -22
  1864. package/ts/object/object_type.ts +0 -57
  1865. package/ts/object/omit.ts +0 -224
  1866. package/ts/object/optional_key.ts +0 -38
  1867. package/ts/object/pick.ts +0 -220
  1868. package/ts/object/readme.md +0 -65
  1869. package/ts/object/record.ts +0 -23
  1870. package/ts/object/recursive_partial.ts +0 -39
  1871. package/ts/object/replaceProperty.ts +0 -11
  1872. package/ts/object/split.ts +0 -203
  1873. package/ts/object/typeOverrideIncompatible.ts +0 -10
  1874. package/ts/predicates/CanAssign.ts +0 -71
  1875. package/ts/predicates/Extends.ts +0 -4
  1876. package/ts/predicates/index.ts +0 -7
  1877. package/ts/predicates/literal.ts +0 -35
  1878. package/ts/promise/index.ts +0 -5
  1879. package/ts/string/strict_string_type.ts +0 -65
  1880. package/ts/string/string.ts +0 -36
  1881. package/ts/string/string_plus.ts +0 -33
  1882. package/ts/string/string_type.ts +0 -61
  1883. package/ts/symbol/symbol_type.ts +0 -53
  1884. package/ts/testing/stub.ts +0 -80
  1885. package/ts/testing/test_type.ts +0 -317
  1886. package/ts/tuple/common_prop_keys.ts +0 -41
  1887. package/ts/tuple/create_tuple.ts +0 -42
  1888. package/ts/tuple/drop.ts +0 -125
  1889. package/ts/tuple/readme.md +0 -282
  1890. package/ts/tuple/tail.ts +0 -12
  1891. package/ts/tuple/tuple_plus.common_prop_keys.ts +0 -47
  1892. package/ts/tuple/tuple_plus.filter.ts +0 -29
  1893. package/ts/tuple/tuple_plus.find.ts +0 -88
  1894. package/ts/tuple/tuple_plus.pad_start.ts +0 -58
  1895. package/ts/tuple/tuple_type.ts +0 -106
  1896. package/ts/type/no_infer.ts +0 -27
  1897. package/ts/type-guard/is_type.ts +0 -52
  1898. package/ts/undefined/readme.md +0 -18
  1899. package/ts/undefined/undefined_type.ts +0 -57
  1900. package/ts/union/readme.md +0 -81
  1901. package/ts/union/union.ts +0 -37
  1902. package/ts/unknown/readme.md +0 -27
  1903. package/ts/unknown/unknown_type.ts +0 -68
  1904. package/ts/utils/NonNull.ts +0 -1
  1905. package/ts/utils/NonUndefined.ts +0 -1
  1906. package/ts/utils/index.ts +0 -63
  1907. package/ts/utils/options.ts +0 -10
  1908. package/ts/void/readme.md +0 -26
  1909. package/ts/void/void_type.ts +0 -50
  1910. /package/{ts → src}/array/literal_array.ts +0 -0
  1911. /package/{ts → src}/array/reduce_while.ts +0 -0
  1912. /package/{ts → src}/array/reverse.ts +0 -0
  1913. /package/{ts → src}/assertion/readme.md +0 -0
  1914. /package/{ts → src}/bigint/cast.ts +0 -0
  1915. /package/{ts → src}/binary/Bit.ts +0 -0
  1916. /package/{ts → src}/binary/_binary.ts +0 -0
  1917. /package/{ts → src}/binary/index.ts +0 -0
  1918. /package/{ts → src}/class/index.ts +0 -0
  1919. /package/{ts → src}/composable_types.ts +0 -0
  1920. /package/{ts → src}/equal/readme.md +0 -0
  1921. /package/{ts → src}/function/any_function.ts +0 -0
  1922. /package/{ts → src}/function/extract_function.ts +0 -0
  1923. /package/{ts → src}/function/readme.md +0 -0
  1924. /package/{ts → src}/functional/ChainFn.ts +0 -0
  1925. /package/{ts → src}/functional/index.ts +0 -0
  1926. /package/{ts → src}/json.ts +0 -0
  1927. /package/{ts → src}/math/README.md +0 -0
  1928. /package/{ts → src}/math/add.ts +0 -0
  1929. /package/{ts → src}/math/math_plus.to_negative.ts +0 -0
  1930. /package/{ts → src}/math/math_plus.ts +0 -0
  1931. /package/{ts → src}/math/multiply.ts +0 -0
  1932. /package/{ts → src}/math/subtract.ts +0 -0
  1933. /package/{ts → src}/nodejs/index.ts +0 -0
  1934. /package/{ts → src}/nodejs/isNodeError.ts +0 -0
  1935. /package/{ts → src}/nominal/constants.ts +0 -0
  1936. /package/{ts → src}/nominal/index.ts +0 -0
  1937. /package/{ts → src}/number/cast.ts +0 -0
  1938. /package/{ts → src}/number/number_array.ts +0 -0
  1939. /package/{ts → src}/numeric/cast.ts +0 -0
  1940. /package/{ts → src}/numeric/readme.md +0 -0
  1941. /package/{ts → src}/object/ExcludePropType.ts +0 -0
  1942. /package/{ts → src}/object/IsRecord.ts +0 -0
  1943. /package/{ts → src}/object/KeyTypes.ts +0 -0
  1944. /package/{ts → src}/object/KeyofOptional.ts +0 -0
  1945. /package/{ts → src}/object/Partial.ts +0 -0
  1946. /package/{ts → src}/object/SpreadRecord.ts +0 -0
  1947. /package/{ts → src}/object/ValueOf.ts +0 -0
  1948. /package/{ts/object/AnyRecord.ts → src/object/any_record.ts} +0 -0
  1949. /package/{ts → src}/object/everyKey.ts +0 -0
  1950. /package/{ts → src}/object/filterKey.ts +0 -0
  1951. /package/{ts → src}/object/findKey.ts +0 -0
  1952. /package/{ts → src}/object/getField.ts +0 -0
  1953. /package/{ts → src}/object/hasProperty.ts +0 -0
  1954. /package/{ts → src}/object/mapKey.ts +0 -0
  1955. /package/{ts → src}/object/properties.ts +0 -0
  1956. /package/{ts → src}/object/reduceKey.ts +0 -0
  1957. /package/{ts → src}/object/someKey.ts +0 -0
  1958. /package/{ts → src}/predicates/If.ts +0 -0
  1959. /package/{ts → src}/predicates/IsEmptyObject.ts +0 -0
  1960. /package/{ts → src}/predicates/logical.ts +0 -0
  1961. /package/{ts → src}/primitive.ts +0 -0
  1962. /package/{ts → src}/promise/MaybePromise.ts +0 -0
  1963. /package/{ts → src}/promise/PromiseValue.ts +0 -0
  1964. /package/{ts → src}/promise/PromiseValueMerge.ts +0 -0
  1965. /package/{ts → src}/promise/isPromise.ts +0 -0
  1966. /package/{ts → src}/promise/mapSeries.ts +0 -0
  1967. /package/{ts → src}/string/readme.md +0 -0
  1968. /package/{ts → src}/symbol/readme.md +0 -0
  1969. /package/{ts → src}/testing/readme.md +0 -0
  1970. /package/{ts → src}/tuple/tuple_plus.drop_match.ts +0 -0
  1971. /package/{ts → src}/tuple/tuple_plus.ts +0 -0
  1972. /package/{ts → src}/type/failed.ts +0 -0
  1973. /package/{ts → src}/type/readme.md +0 -0
  1974. /package/{ts → src}/type-guard/readme.md +0 -0
  1975. /package/{ts → src}/union/union_to_intersection.ts +0 -0
  1976. /package/{ts → src}/union_keys.ts +0 -0
  1977. /package/{ts → src}/unpartial.ts +0 -0
  1978. /package/{ts → src}/utils/Widen.ts +0 -0
  1979. /package/{ts → src}/utils/as.ts +0 -0
  1980. /package/{ts → src}/utils/inspect.ts +0 -0
@@ -0,0 +1,656 @@
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
+ /**
7
+ * Internal numeric representation to perform math operations.
8
+ *
9
+ * NumericStruct: `[Type, DigitsStruct]`
10
+ * DigitsStruct: `[Sign, Digits, Exponent]`
11
+ *
12
+ * It is similar to the floating point representation with some minor differences.
13
+ *
14
+ * @template Type Type of the value, either `number` or `bigint`.
15
+ * It captures the original type of the value,
16
+ * so that at the end of the operation,
17
+ * the value can be adjusted accordingly.
18
+ *
19
+ * @template Sign Sign of the value, either `+` or `-`.
20
+ *
21
+ * @template Digits Digits of the value.
22
+ * It is a tuple of digits,
23
+ * where each digits can range from 0 to 9 during input,
24
+ * and range from -10 to 89 during operation.
25
+ * The max 89 comes from multiplication:
26
+ *
27
+ * ```
28
+ * 99 * 9
29
+ * => [[ 9, 9], 0]
30
+ * * [ [9], 0]
31
+ * => [[ 81, 81], 0]
32
+ * => [[ 89, 1], 0]
33
+ * => [[ 8, 9, 1], 0]
34
+ * ```
35
+ *
36
+ * While -10 comes from subtraction:
37
+ *
38
+ * ```
39
+ * 100 - 99 = 1
40
+ * => [[ 1, 0, 0], 0]
41
+ * - [[ 9, 9], 0]
42
+ * => [[ 1, -9, -9], 0]
43
+ * => [[ 1,-10, 1], 0] // here, as in intermediate step
44
+ * => [[ 0, 0, 1], 0]
45
+ * => [[1], 0]
46
+ * => 1
47
+ * ```
48
+ *
49
+ *
50
+ * Unlike floating point numbers, the digits length is not limited.
51
+ *
52
+ * @template Exponent Exponent is the negative exponent of the number.
53
+ *
54
+ * ```
55
+ * 1.23 = 123e^-2 = [[1, 2, 3], 2]
56
+ * 0.0123 = 123e^-4 = [[1, 2, 3], 4]
57
+ * ```
58
+ *
59
+ * There are 2 kinds of `NumericStruct`:
60
+ * - Normalized: The `NumericStruct` is clean and can be converted to/from `number` or `bigint`
61
+ * - Not normalized: The `DigitsStruct` within the `NumericStruct` is normalized,
62
+ * but may need to convert between `number` and `bigint`.\
63
+ * e.g. bigint + float => float (if possible), number + number => bigint (too big)
64
+ *
65
+ * During operations, the `DigitsStruct` can be not normalized,
66
+ * but each operation should always normalize the `DigitsStruct` before returning.
67
+ * Each operations assume the input `DigitsStruct` is normalized.
68
+ *
69
+ * All operations are performed in similar way:
70
+ *
71
+ * value -> NormalizedNumericStruct -> operation(NormalizedDigitsStruct) -> NormalizedNumericStruct -> Value
72
+ *
73
+ * This allows the operations to be composable.
74
+ * */
75
+ export type NumericStruct = ['bigint' | 'number', DigitsStruct]
76
+ // These are used to reference the NumericStruct values
77
+ export type TYPE = 0
78
+ export type DIGITS_STRUCT = 1
79
+
80
+ export namespace NumericStruct {
81
+ /**
82
+ * Creates a `NumericStruct` from number or bigint `N`.
83
+ */
84
+ export type FromNumeric<N extends number | bigint, Fail = never> = N extends number
85
+ ? number extends N
86
+ ? Fail
87
+ : ['number', DigitsStruct.FromNumber<N>]
88
+ : N extends bigint
89
+ ? bigint extends N
90
+ ? Fail
91
+ : ['bigint', DigitsStruct.FromBigint<N>]
92
+ : never
93
+
94
+ /**
95
+ * Converts a `NumericStruct` to a number or bigint.
96
+ *
97
+ * It includes the normalization of the `NumericStruct`.
98
+ */
99
+ export type ToNumeric<M extends NumericStruct> = DigitsStruct.ToString<
100
+ M[DIGITS_STRUCT]
101
+ > extends infer S extends string
102
+ ? M[TYPE] extends 'bigint'
103
+ ? StringToBigint<S, StringToNumber<S, `The value '${S}' cannot be represented as bigint or number`>>
104
+ : StringToNumber<S, StringToBigint<S, `The value '${S}' cannot be represented as bigint or number`>>
105
+ : never
106
+
107
+ export type Add<A extends NumericStruct, B extends NumericStruct> = [
108
+ A[TYPE],
109
+ DigitsStruct.Add<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
110
+ ]
111
+
112
+ export type Subtract<A extends NumericStruct, B extends NumericStruct> = [
113
+ A[TYPE],
114
+ DigitsStruct.Subtract<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
115
+ ]
116
+
117
+ export type Multiply<A extends NumericStruct, B extends NumericStruct> = [
118
+ A[TYPE],
119
+ DigitsStruct.Multiply<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
120
+ ]
121
+ }
122
+
123
+ // TODO: move into `NumericHelpers`
124
+ type StringToBigint<S extends string, Fail> = S extends `${infer N extends bigint}` ? N : Fail
125
+
126
+ // TODO: move into `NumericHelpers`
127
+ export type StringToNumber<S extends string, Fail> = S extends `${infer N extends number}`
128
+ ? number extends N
129
+ ? Fail
130
+ : N
131
+ : Fail
132
+
133
+ export type DigitsStruct = [Sign: '+' | '-', Digits: number[], Exponent: number]
134
+ // These are used to reference the DigitsStruct values
135
+ export type SIGN = 0
136
+ export type DIGITS = 1
137
+ export type EXPONENT = 2
138
+
139
+ export namespace DigitsStruct {
140
+ /**
141
+ * Creates a `DigitsStruct` from number `N`.
142
+ *
143
+ * @template N Number to create `DigitsStruct` from.
144
+ */
145
+ export type FromNumber<N extends number> = `${N}` extends `-${infer R}`
146
+ ? R extends `${infer W}.${infer F}`
147
+ ? [DigitArray.FromString<W>, DigitArray.FromString<F>] extends [
148
+ infer WA extends number[],
149
+ infer FA extends number[]
150
+ ]
151
+ ? ['-', DigitArray.TrimLeadingZeros<[...WA, ...FA]>, FA['length']]
152
+ : never
153
+ : ['-', DigitArray.FromString<R>, 0]
154
+ : `${N}` extends `${infer W}.${infer F}`
155
+ ? [DigitArray.FromString<W>, DigitArray.FromString<F>] extends [
156
+ infer WA extends number[],
157
+ infer FA extends number[]
158
+ ]
159
+ ? ['+', DigitArray.TrimLeadingZeros<[...WA, ...FA]>, FA['length']]
160
+ : never
161
+ : ['+', DigitArray.FromString<`${N}`>, 0]
162
+
163
+ /**
164
+ * Creates a `DigitsStruct` from bigint `N`.
165
+ *
166
+ * @template N Number to create `DigitsStruct` from.
167
+ */
168
+ export type FromBigint<N extends bigint> = `${N}` extends `-${infer R}`
169
+ ? ['-', DigitArray.FromString<R>, 0]
170
+ : ['+', DigitArray.FromString<`${N}`>, 0]
171
+
172
+ /**
173
+ * Converts a `DigitsStruct` to string.
174
+ *
175
+ * @template D A normalized `DigitsStruct`.
176
+ */
177
+ export type ToString<D extends DigitsStruct> = (
178
+ PadStart<D[DIGITS], D[EXPONENT], 0> extends infer Padded extends number[]
179
+ ? Padded['length'] extends D[EXPONENT]
180
+ ? DigitArray.ToString<[0, '.', ...DigitArray.TrimTrailingZeros<Padded>]>
181
+ : SplitFloat<Padded, D[EXPONENT]> extends [infer W extends number[], infer F extends number[]]
182
+ ? F extends []
183
+ ? DigitArray.ToString<W>
184
+ : DigitArray.ToString<[...W, '.', ...DigitArray.TrimTrailingZeros<F>]>
185
+ : never
186
+ : never
187
+ ) extends infer R
188
+ ? R extends '0'
189
+ ? R
190
+ : R extends string
191
+ ? D[SIGN] extends '-'
192
+ ? `-${R}`
193
+ : R
194
+ : never
195
+ : never
196
+
197
+ /**
198
+ * Splits DigitArray into the whole number and the fractional part.
199
+ *
200
+ * @note cannot use `ArrayPlus.SplitAt` as it causes infinite loop.
201
+ */
202
+ type SplitFloat<A extends number[], I extends number, F extends number[] = []> = I extends 0
203
+ ? [A, []]
204
+ : F['length'] extends I
205
+ ? [A, F]
206
+ : A extends [...infer H extends number[], infer T extends number]
207
+ ? SplitFloat<H, I, [T, ...F]>
208
+ : never
209
+
210
+ /**
211
+ * Normalizes a `DigitsStruct`.
212
+ *
213
+ * The normalization two two things:
214
+ *
215
+ * - if the first digit is negative, it will flip the sign.
216
+ * - carry digits if the digit is negative or greater than 9.
217
+ */
218
+ export type Normalize<
219
+ N extends DigitsStruct,
220
+ R extends DigitsStruct = ['+', [], 0]
221
+ > = `${N[DIGITS][0]}` extends `-${number}`
222
+ ? Normalize<FlipSign<N>, R>
223
+ : [N[SIGN], DigitArray.CarryDigits<N[DIGITS]>, N[EXPONENT]]
224
+
225
+ type FlipSign<
226
+ D extends DigitsStruct,
227
+ I extends number[] = D[DIGITS],
228
+ R extends number[] = []
229
+ > = I extends []
230
+ ? D[SIGN] extends '-'
231
+ ? ['+', R, D[EXPONENT]]
232
+ : ['-', R, D[EXPONENT]]
233
+ : I extends [infer H extends number, ...infer T extends number[]]
234
+ ? FlipSign<D, T, [...R, Digit.FlipSign<H>]>
235
+ : never
236
+
237
+ /**
238
+ * Add `A` and `B`.
239
+ *
240
+ * @template A A normalized `DigitsStruct`.
241
+ * @template B B normalized `DigitsStruct`.
242
+ */
243
+ export type Add<A extends DigitsStruct, B extends DigitsStruct> = Balance<A, B> extends [
244
+ infer BA extends DigitsStruct,
245
+ infer BB extends DigitsStruct
246
+ ]
247
+ ? [BA[SIGN], BB[SIGN]] extends ['+', '+']
248
+ ? Normalize<['+', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
249
+ : [BA[SIGN], BB[SIGN]] extends ['+', '-']
250
+ ? Normalize<['+', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
251
+ : [BA[SIGN], BB[SIGN]] extends ['-', '+']
252
+ ? Normalize<['+', DigitArray.Subtract<BB[DIGITS], BA[DIGITS]>, BB[EXPONENT]]>
253
+ : [BA[SIGN], BB[SIGN]] extends ['-', '-']
254
+ ? Normalize<['-', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
255
+ : never
256
+ : never
257
+
258
+ export type Subtract<A extends DigitsStruct, B extends DigitsStruct> = Balance<A, B> extends [
259
+ infer BA extends DigitsStruct,
260
+ infer BB extends DigitsStruct
261
+ ]
262
+ ? [BA[SIGN], BB[SIGN]] extends ['+', '+']
263
+ ? Normalize<['+', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
264
+ : [BA[SIGN], BB[SIGN]] extends ['+', '-']
265
+ ? Normalize<['+', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
266
+ : [BA[SIGN], BB[SIGN]] extends ['-', '+']
267
+ ? Normalize<['-', DigitArray.Add<BB[DIGITS], BA[DIGITS]>, BA[EXPONENT]]>
268
+ : [BA[SIGN], BB[SIGN]] extends ['-', '-']
269
+ ? Normalize<['-', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
270
+ : never
271
+ : never
272
+
273
+ export type Multiply<A extends DigitsStruct, B extends DigitsStruct> = NumericAdd<
274
+ A[EXPONENT],
275
+ B[EXPONENT]
276
+ > extends infer Exp extends number
277
+ ? [A[SIGN], B[SIGN]] extends ['+', '+']
278
+ ? Normalize<['+', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]>
279
+ : [A[SIGN], B[SIGN]] extends ['+', '-']
280
+ ? Normalize<['-', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]>
281
+ : [A[SIGN], B[SIGN]] extends ['-', '+']
282
+ ? Normalize<['-', DigitArray.Multiply<B[DIGITS], A[DIGITS]>, Exp]>
283
+ : [A[SIGN], B[SIGN]] extends ['-', '-']
284
+ ? Normalize<['+', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]>
285
+ : never
286
+ : never
287
+
288
+ /**
289
+ * Balance the two structs for add/subtract.
290
+ */
291
+ export type Balance<A extends DigitsStruct, B extends DigitsStruct> = GetBalancePadding<
292
+ A[EXPONENT],
293
+ B[EXPONENT]
294
+ > extends [infer Pads extends number[], infer Longer]
295
+ ? Longer extends 'A'
296
+ ? [A, [B[SIGN], DigitArray.TrimLeadingZeros<[...B[DIGITS], ...Pads]>, A[EXPONENT]]]
297
+ : [[A[SIGN], DigitArray.TrimLeadingZeros<[...A[DIGITS], ...Pads]>, B[EXPONENT]], B]
298
+ : never
299
+
300
+ type GetBalancePadding<
301
+ A extends number,
302
+ B extends number,
303
+ C extends number[] = [],
304
+ R extends number[] = []
305
+ > = A extends B
306
+ ? [[], 'A']
307
+ : R extends []
308
+ ? // have not reach min yet
309
+ C['length'] extends A
310
+ ? GetBalancePadding<A, B, [0, ...C], [0]>
311
+ : C['length'] extends B
312
+ ? GetBalancePadding<A, B, [0, ...C], [0, ...R]>
313
+ : GetBalancePadding<A, B, [0, ...C], []>
314
+ : C['length'] extends A
315
+ ? [R, 'A']
316
+ : C['length'] extends B
317
+ ? [R, 'B']
318
+ : GetBalancePadding<A, B, [0, ...C], [0, ...R]>
319
+
320
+ /**
321
+ * This is used to align the `NumberStruct` during `Add/Subtract`.
322
+ */
323
+ export type GetMinPadEnd<
324
+ A extends number,
325
+ B extends number,
326
+ R extends number[] = []
327
+ > = R['length'] extends A ? [R, 'B'] : R['length'] extends B ? [R, 'A'] : GetMinPadEnd<A, B, [0, ...R]>
328
+ }
329
+
330
+ export namespace DigitArray {
331
+ export type FromString<S extends string> = S extends `1${infer L}`
332
+ ? [1, ...FromString<L>]
333
+ : S extends `2${infer L}`
334
+ ? [2, ...FromString<L>]
335
+ : S extends `3${infer L}`
336
+ ? [3, ...FromString<L>]
337
+ : S extends `4${infer L}`
338
+ ? [4, ...FromString<L>]
339
+ : S extends `5${infer L}`
340
+ ? [5, ...FromString<L>]
341
+ : S extends `6${infer L}`
342
+ ? [6, ...FromString<L>]
343
+ : S extends `7${infer L}`
344
+ ? [7, ...FromString<L>]
345
+ : S extends `8${infer L}`
346
+ ? [8, ...FromString<L>]
347
+ : S extends `9${infer L}`
348
+ ? [9, ...FromString<L>]
349
+ : S extends `0${infer L}`
350
+ ? [0, ...FromString<L>]
351
+ : S extends `-1${infer L}`
352
+ ? [-1, ...FromString<L>]
353
+ : S extends `-2${infer L}`
354
+ ? [-2, ...FromString<L>]
355
+ : S extends `-3${infer L}`
356
+ ? [-3, ...FromString<L>]
357
+ : S extends `-4${infer L}`
358
+ ? [-4, ...FromString<L>]
359
+ : S extends `-5${infer L}`
360
+ ? [-5, ...FromString<L>]
361
+ : S extends `-6${infer L}`
362
+ ? [-6, ...FromString<L>]
363
+ : S extends `-7${infer L}`
364
+ ? [-7, ...FromString<L>]
365
+ : S extends `-8${infer L}`
366
+ ? [-8, ...FromString<L>]
367
+ : S extends `-9${infer L}`
368
+ ? [-9, ...FromString<L>]
369
+ : S extends `-0${infer L}`
370
+ ? [-0, ...FromString<L>]
371
+ : []
372
+
373
+ export type ToString<A extends Array<number | string>> = number extends A['length']
374
+ ? ''
375
+ : A['length'] extends 0
376
+ ? ''
377
+ : `${A[0]}${ToString<Tail<A>>}`
378
+
379
+ /**
380
+ * [0, 0, -1] => [-1]
381
+ *
382
+ * This is used in various places so that there will be less computation,
383
+ * and the sign bit can be handled properly.
384
+ */
385
+ export type TrimLeadingZeros<T extends number[]> = T extends [0]
386
+ ? T
387
+ : T extends [0, ...infer Tail extends number[]]
388
+ ? TrimLeadingZeros<Tail>
389
+ : T
390
+ export type TrimTrailingZeros<T extends number[]> = T extends [0]
391
+ ? T
392
+ : T extends [...infer Tail extends number[], 0]
393
+ ? TrimTrailingZeros<Tail>
394
+ : T
395
+
396
+ export type Add<A extends number[], B extends number[], R extends number[] = []> = A extends []
397
+ ? B extends []
398
+ ? R
399
+ : B extends [...infer BH extends number[], infer BL extends number]
400
+ ? Add<[], BH, [BL, ...R]>
401
+ : never
402
+ : B extends []
403
+ ? A extends [...infer AH extends number[], infer AL extends number]
404
+ ? Add<AH, [], [AL, ...R]>
405
+ : never
406
+ : [A, B] extends [
407
+ [...infer AH extends number[], infer AL extends number],
408
+ [...infer BH extends number[], infer BL extends number]
409
+ ]
410
+ ? Add<AH, BH, [Digit.Add<AL, BL>, ...R]>
411
+ : never
412
+
413
+ export type Subtract<A extends number[], B extends number[], R extends number[] = []> = A extends []
414
+ ? B extends []
415
+ ? TrimLeadingZeros<R>
416
+ : B extends [...infer BH extends number[], infer BL extends number]
417
+ ? Subtract<[], BH, [ToNegative<BL>, ...R]>
418
+ : never
419
+ : B extends []
420
+ ? A extends [...infer AH extends number[], infer AL extends number]
421
+ ? Subtract<AH, [], [AL, ...R]>
422
+ : never
423
+ : [A, B] extends [
424
+ [...infer AH extends number[], infer AL extends number],
425
+ [...infer BH extends number[], infer BL extends number]
426
+ ]
427
+ ? Subtract<AH, BH, [Digit.Subtract<AL, BL>, ...R]>
428
+ : never
429
+
430
+ export type Multiply<A extends number[], B extends number[], R extends number[][] = []> = B extends []
431
+ ? RecursiveAdd<R>
432
+ : B extends [infer Head extends number, ...infer Tail extends number[]]
433
+ ? Multiply<A, Tail, [...R, CarryDigits<MultiplyArray<A, Head, Zeros<Tail['length']>>>]>
434
+ : never
435
+
436
+ type Zeros<N extends number, R extends number[] = []> = N extends unknown ? R['length'] extends N ? R : Zeros<N, [0, ...R]> : never
437
+
438
+ type MultiplyArray<
439
+ A extends number[],
440
+ B extends number,
441
+ Pad extends number[],
442
+ R extends number[] = []
443
+ > = B extends 0
444
+ ? [0]
445
+ : B extends 1
446
+ ? [...A, ...Pad]
447
+ : A extends []
448
+ ? [...R, ...Pad]
449
+ : A extends [infer H extends number, ...infer T extends number[]]
450
+ ? MultiplyArray<T, B, Pad, [...R, Digit.Multiply<H, B>]>
451
+ : never
452
+
453
+ /**
454
+ * Recursively add digit arrays.
455
+ *
456
+ * This is used in multiplication.
457
+ */
458
+ type RecursiveAdd<E extends number[][], R extends number[] = []> = E extends []
459
+ ? R
460
+ : E extends [infer H extends number[], ...infer T extends number[][]]
461
+ ? RecursiveAdd<T, CarryDigits<Add<R, H>>>
462
+ : never
463
+
464
+ export type CarryDigits<N extends number[], R extends number[] = []> = N extends []
465
+ ? TrimLeadingZeros<R>
466
+ : N extends [infer Tail extends number]
467
+ ? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}`
468
+ ? CarryDigits<[], [T1, T2, ...R]>
469
+ : `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}`
470
+ ? `-${T1}` extends `${infer NT extends number}`
471
+ ? CarryDigits<[], [NT, T2, ...R]>
472
+ : never
473
+ : CarryDigits<[], [Tail, ...R]>
474
+ : N extends [infer Head extends number, infer Tail extends number]
475
+ ? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}`
476
+ ? CarryDigits<[Digit.Add<Head, T1>], [T2, ...R]>
477
+ : `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}`
478
+ ? `-${T1}` extends `${infer NT extends number}`
479
+ ? CarryDigits<[Digit.Add<Head, NT>], [T2, ...R]>
480
+ : never
481
+ : `${Tail}` extends `-${number}`
482
+ ? CarryDigits<[Digit.Add<Head, -1>], [Digit.Plus10[Tail], ...R]>
483
+ : CarryDigits<[Head], [Tail, ...R]>
484
+ : N extends [...infer Heads extends number[], infer Head extends number, infer Tail extends number]
485
+ ? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}`
486
+ ? CarryDigits<[...Heads, Digit.Add<Head, T1>], [T2, ...R]>
487
+ : `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}`
488
+ ? `-${T1}` extends `${infer NT extends number}`
489
+ ? CarryDigits<[...Heads, Digit.Add<Head, NT>], [T2, ...R]>
490
+ : never
491
+ : `${Tail}` extends `-${number}`
492
+ ? CarryDigits<[...Heads, Digit.Add<Head, -1>], [Digit.Plus10[Tail], ...R]>
493
+ : CarryDigits<[...Heads, Head], [Tail, ...R]>
494
+ : never
495
+ }
496
+
497
+ export namespace Digit {
498
+ /**
499
+ * Adds two `Digit`.
500
+ *
501
+ * add: A: 0 - 9, B: 0 - 9
502
+ * normalize: [81, 81] -> [81 + 8, 1]
503
+ */
504
+ export type Add<A extends number, B extends number> = `${A}` extends `-${infer AD extends number}`
505
+ ? `${B}` extends `-${infer BD extends number}`
506
+ ? ToNegative<PositiveEntryAdd<AD, BD>>
507
+ : Subtract<B, AD>
508
+ : `${B}` extends `-${infer BD extends number}`
509
+ ? Subtract<A, BD>
510
+ : PositiveEntryAdd<A, B>
511
+
512
+ export type FlipSign<T extends number> = T extends 0
513
+ ? 0
514
+ : `${T}` extends `-${infer R extends number}`
515
+ ? R
516
+ : `-${T}` extends `${infer R extends number}`
517
+ ? R
518
+ : never
519
+
520
+ type PositiveEntryAdd<A extends number, B extends number> = [
521
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
522
+ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
523
+ [2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
524
+ [3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
525
+ [4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
526
+ [5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
527
+ [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
528
+ [7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
529
+ [8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
530
+ [9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
531
+ [10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
532
+ [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
533
+ [12, 13, 14, 15, 16, 17, 18, 19, 20, 21],
534
+ [13, 14, 15, 16, 17, 18, 19, 20, 21, 22],
535
+ [14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
536
+ [15, 16, 17, 18, 19, 20, 21, 22, 23, 24],
537
+ [16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
538
+ [17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
539
+ [18, 19, 20, 21, 22, 23, 24, 25, 26, 27],
540
+ [19, 20, 21, 22, 23, 24, 25, 26, 27, 28],
541
+ [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
542
+ [21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
543
+ [22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
544
+ [23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
545
+ [24, 25, 26, 27, 28, 29, 30, 31, 32, 33],
546
+ [25, 26, 27, 28, 29, 30, 31, 32, 33, 34],
547
+ [26, 27, 28, 29, 30, 31, 32, 33, 34, 35],
548
+ [27, 28, 29, 30, 31, 32, 33, 34, 35, 36],
549
+ [28, 29, 30, 31, 32, 33, 34, 35, 36, 37],
550
+ [29, 30, 31, 32, 33, 34, 35, 36, 37, 38],
551
+ [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
552
+ [31, 32, 33, 34, 35, 36, 37, 38, 39, 40],
553
+ [32, 33, 34, 35, 36, 37, 38, 39, 40, 41],
554
+ [33, 34, 35, 36, 37, 38, 39, 40, 41, 42],
555
+ [34, 35, 36, 37, 38, 39, 40, 41, 42, 43],
556
+ [35, 36, 37, 38, 39, 40, 41, 42, 43, 44],
557
+ [36, 37, 38, 39, 40, 41, 42, 43, 44, 45],
558
+ [37, 38, 39, 40, 41, 42, 43, 44, 45, 46],
559
+ [38, 39, 40, 41, 42, 43, 44, 45, 46, 47],
560
+ [39, 40, 41, 42, 43, 44, 45, 46, 47, 48],
561
+ [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
562
+ [41, 42, 43, 44, 45, 46, 47, 48, 49, 50],
563
+ [42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
564
+ [43, 44, 45, 46, 47, 48, 49, 50, 51, 52],
565
+ [44, 45, 46, 47, 48, 49, 50, 51, 52, 53],
566
+ [45, 46, 47, 48, 49, 50, 51, 52, 53, 54],
567
+ [46, 47, 48, 49, 50, 51, 52, 53, 54, 55],
568
+ [47, 48, 49, 50, 51, 52, 53, 54, 55, 56],
569
+ [48, 49, 50, 51, 52, 53, 54, 55, 56, 57],
570
+ [49, 50, 51, 52, 53, 54, 55, 56, 57, 58],
571
+ [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
572
+ [51, 52, 53, 54, 55, 56, 57, 58, 59, 60],
573
+ [52, 53, 54, 55, 56, 57, 58, 59, 60, 61],
574
+ [53, 54, 55, 56, 57, 58, 59, 60, 61, 62],
575
+ [54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
576
+ [55, 56, 57, 58, 59, 60, 61, 62, 63, 64],
577
+ [56, 57, 58, 59, 60, 61, 62, 63, 64, 65],
578
+ [57, 58, 59, 60, 61, 62, 63, 64, 65, 66],
579
+ [58, 59, 60, 61, 62, 63, 64, 65, 66, 67],
580
+ [59, 60, 61, 62, 63, 64, 65, 66, 67, 68],
581
+ [60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
582
+ [61, 62, 63, 64, 65, 66, 67, 68, 69, 70],
583
+ [62, 63, 64, 65, 66, 67, 68, 69, 70, 71],
584
+ [63, 64, 65, 66, 67, 68, 69, 70, 71, 72],
585
+ [64, 65, 66, 67, 68, 69, 70, 71, 72, 73],
586
+ [65, 66, 67, 68, 69, 70, 71, 72, 73, 74],
587
+ [66, 67, 68, 69, 70, 71, 72, 73, 74, 75],
588
+ [67, 68, 69, 70, 71, 72, 73, 74, 75, 76],
589
+ [68, 69, 70, 71, 72, 73, 74, 75, 76, 77],
590
+ [69, 70, 71, 72, 73, 74, 75, 76, 77, 78],
591
+ [70, 71, 72, 73, 74, 75, 76, 77, 78, 79],
592
+ [71, 72, 73, 74, 75, 76, 77, 78, 79, 80],
593
+ [72, 73, 74, 75, 76, 77, 78, 79, 80, 81],
594
+ [73, 74, 75, 76, 77, 78, 79, 80, 81, 82],
595
+ [74, 75, 76, 77, 78, 79, 80, 81, 82, 83],
596
+ [75, 76, 77, 78, 79, 80, 81, 82, 83, 84],
597
+ [76, 77, 78, 79, 80, 81, 82, 83, 84, 85],
598
+ [77, 78, 79, 80, 81, 82, 83, 84, 85, 86],
599
+ [78, 79, 80, 81, 82, 83, 84, 85, 86, 87],
600
+ [79, 80, 81, 82, 83, 84, 85, 86, 87, 88],
601
+ [80, 81, 82, 83, 84, 85, 86, 87, 88, 89],
602
+ [81, 82, 83, 84, 85, 86, 87, 88, 89, 90]
603
+ ][A][B]
604
+
605
+ /**
606
+ * Subtract two positive numbers.
607
+ * The number range from 0 to 81.
608
+ */
609
+ export type Subtract<A extends number, B extends number> = [`${A}`, `${B}`] extends [
610
+ `${number}${infer A2 extends number}`,
611
+ `${number}${infer B2 extends number}`
612
+ ]
613
+ ? Subtract<A2, B2>
614
+ : `${A}` extends `${number}${infer A2 extends number}`
615
+ ? Subtract<A2, B>
616
+ : `${B}` extends `${number}${infer B2 extends number}`
617
+ ? Subtract<A, B2>
618
+ : SingleDigitSubtract<A, B>
619
+
620
+ export type SingleDigitSubtract<A extends number, B extends number> = [
621
+ [0, -1, -2, -3, -4, -5, -6, -7, -8, -9],
622
+ [1, 0, -1, -2, -3, -4, -5, -6, -7, -8],
623
+ [2, 1, 0, -1, -2, -3, -4, -5, -6, -7],
624
+ [3, 2, 1, 0, -1, -2, -3, -4, -5, -6],
625
+ [4, 3, 2, 1, 0, -1, -2, -3, -4, -5],
626
+ [5, 4, 3, 2, 1, 0, -1, -2, -3, -4],
627
+ [6, 5, 4, 3, 2, 1, 0, -1, -2, -3],
628
+ [7, 6, 5, 4, 3, 2, 1, 0, -1, -2],
629
+ [8, 7, 6, 5, 4, 3, 2, 1, 0, -1],
630
+ [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
631
+ ][A][B]
632
+
633
+ export type Plus10 = { [k in number]: number } & {
634
+ '-1': 9,
635
+ '-2': 8,
636
+ '-3': 7,
637
+ '-4': 6,
638
+ '-5': 5,
639
+ '-6': 4,
640
+ '-7': 3,
641
+ '-8': 2,
642
+ '-9': 1
643
+ }
644
+ export type Multiply<A extends number, B extends number> = [
645
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
646
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
647
+ [0, 2, 4, 6, 8, 10, 12, 14, 16, 18],
648
+ [0, 3, 6, 9, 12, 15, 18, 21, 24, 27],
649
+ [0, 4, 8, 12, 16, 20, 24, 28, 32, 36],
650
+ [0, 5, 10, 15, 20, 25, 30, 35, 40, 45],
651
+ [0, 6, 12, 18, 24, 30, 36, 42, 48, 54],
652
+ [0, 7, 14, 21, 28, 35, 42, 49, 56, 63],
653
+ [0, 8, 16, 24, 32, 40, 48, 56, 64, 72],
654
+ [0, 9, 18, 27, 36, 45, 54, 63, 72, 81]
655
+ ][A][B]
656
+ }