type-plus 7.5.0 → 8.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (953) hide show
  1. package/esm/array/array.at.d.ts +2 -2
  2. package/esm/array/array.at.d.ts.map +1 -1
  3. package/esm/array/array.entries.d.ts +2 -2
  4. package/esm/array/array.entries.d.ts.map +1 -1
  5. package/esm/array/array.find_last.d.ts +1 -1
  6. package/esm/array/array.find_last.d.ts.map +1 -1
  7. package/esm/array/array.reverse.d.ts +5 -1
  8. package/esm/array/array.reverse.d.ts.map +1 -1
  9. package/esm/array/array.some.d.ts +7 -7
  10. package/esm/array/array.some.d.ts.map +1 -1
  11. package/esm/array/array_plus.common_prop_keys.d.ts +2 -2
  12. package/esm/array/array_plus.common_prop_keys.d.ts.map +1 -1
  13. package/esm/array/array_plus.concat.d.ts +1 -1
  14. package/esm/array/array_plus.concat.d.ts.map +1 -1
  15. package/esm/array/array_plus.d.ts +3 -1
  16. package/esm/array/array_plus.d.ts.map +1 -1
  17. package/esm/array/array_plus.drop_match.d.ts +3 -0
  18. package/esm/array/array_plus.drop_match.d.ts.map +1 -1
  19. package/esm/array/array_plus.element_match.d.ts +11 -11
  20. package/esm/array/array_plus.element_match.d.ts.map +1 -1
  21. package/esm/array/array_plus.filter.d.ts +24 -1
  22. package/esm/array/array_plus.filter.d.ts.map +1 -1
  23. package/esm/array/array_plus.filter.js +1 -0
  24. package/esm/array/array_plus.filter.js.map +1 -1
  25. package/esm/array/array_plus.find.d.ts +10 -10
  26. package/esm/array/array_plus.find.d.ts.map +1 -1
  27. package/esm/array/array_plus.index_at.d.ts +28 -0
  28. package/esm/array/array_plus.index_at.d.ts.map +1 -0
  29. package/esm/array/array_plus.index_at.js +2 -0
  30. package/esm/array/array_plus.index_at.js.map +1 -0
  31. package/esm/array/array_plus.is_index_out_of_bound.d.ts +18 -0
  32. package/esm/array/array_plus.is_index_out_of_bound.d.ts.map +1 -0
  33. package/esm/array/array_plus.is_index_out_of_bound.js +2 -0
  34. package/esm/array/array_plus.is_index_out_of_bound.js.map +1 -0
  35. package/esm/array/array_plus.is_readonly.d.ts +30 -0
  36. package/esm/array/array_plus.is_readonly.d.ts.map +1 -0
  37. package/esm/array/array_plus.is_readonly.js +2 -0
  38. package/esm/array/array_plus.is_readonly.js.map +1 -0
  39. package/esm/array/array_plus.pad_start.d.ts +1 -1
  40. package/esm/array/array_plus.pad_start.d.ts.map +1 -1
  41. package/esm/array/array_plus.split_at.d.ts +21 -16
  42. package/esm/array/array_plus.split_at.d.ts.map +1 -1
  43. package/esm/array/array_type.d.ts +2 -2
  44. package/esm/array/array_type.d.ts.map +1 -1
  45. package/esm/array/filter.d.ts +2 -2
  46. package/esm/array/filter.d.ts.map +1 -1
  47. package/esm/array/find_first.d.ts +6 -6
  48. package/esm/array/find_first.d.ts.map +1 -1
  49. package/esm/array/head.d.ts +2 -2
  50. package/esm/array/head.d.ts.map +1 -1
  51. package/esm/array/intersect_of_props.d.ts +1 -1
  52. package/esm/array/intersect_of_props.d.ts.map +1 -1
  53. package/esm/array/last.d.ts +2 -2
  54. package/esm/array/last.d.ts.map +1 -1
  55. package/esm/array/loose_array_type.d.ts +62 -0
  56. package/esm/array/loose_array_type.d.ts.map +1 -0
  57. package/esm/array/loose_array_type.js +2 -0
  58. package/esm/array/loose_array_type.js.map +1 -0
  59. package/esm/array/pad_start.d.ts +1 -1
  60. package/esm/array/pad_start.d.ts.map +1 -1
  61. package/esm/array/strict_array_type.d.ts +66 -0
  62. package/esm/array/strict_array_type.d.ts.map +1 -0
  63. package/esm/array/strict_array_type.js +2 -0
  64. package/esm/array/strict_array_type.js.map +1 -0
  65. package/esm/array/union_of_props.d.ts +2 -2
  66. package/esm/array/union_of_props.d.ts.map +1 -1
  67. package/esm/array/union_of_values.d.ts +2 -2
  68. package/esm/array/union_of_values.d.ts.map +1 -1
  69. package/esm/equal/equal.d.ts +1 -1
  70. package/esm/equal/equal.d.ts.map +1 -1
  71. package/esm/equal/identity_equal.d.ts +6 -0
  72. package/esm/equal/identity_equal.d.ts.map +1 -0
  73. package/esm/equal/identity_equal.js +2 -0
  74. package/esm/equal/identity_equal.js.map +1 -0
  75. package/esm/index.d.ts +7 -1
  76. package/esm/index.d.ts.map +1 -1
  77. package/esm/index.js +2 -0
  78. package/esm/index.js.map +1 -1
  79. package/esm/math/numeric_struct.d.ts.map +1 -1
  80. package/esm/mix_types/box.d.ts +35 -0
  81. package/esm/mix_types/box.d.ts.map +1 -0
  82. package/esm/mix_types/box.js +2 -0
  83. package/esm/mix_types/box.js.map +1 -0
  84. package/esm/mix_types/merge.d.ts +38 -0
  85. package/esm/mix_types/merge.d.ts.map +1 -0
  86. package/esm/{merge.js → mix_types/merge.js} +1 -1
  87. package/esm/mix_types/merge.js.map +1 -0
  88. package/esm/never/never_type.d.ts +2 -2
  89. package/esm/never/never_type.d.ts.map +1 -1
  90. package/esm/object/ANotB.d.ts +1 -1
  91. package/esm/object/ANotB.d.ts.map +1 -1
  92. package/esm/object/IsDisjoint.d.ts +1 -1
  93. package/esm/object/IsDisjoint.d.ts.map +1 -1
  94. package/esm/object/KeysWithDiffType.d.ts +1 -1
  95. package/esm/object/KeysWithDiffType.d.ts.map +1 -1
  96. package/esm/object/KnownKeys.d.ts.map +1 -1
  97. package/esm/object/RecursiveIntersect.d.ts +2 -2
  98. package/esm/object/RecursiveIntersect.d.ts.map +1 -1
  99. package/esm/object/RecursiveRequired.d.ts +1 -1
  100. package/esm/object/RecursiveRequired.d.ts.map +1 -1
  101. package/{cjs/object/AnyRecord.d.ts → esm/object/any_record.d.ts} +1 -1
  102. package/esm/object/any_record.d.ts.map +1 -0
  103. package/esm/object/any_record.js +2 -0
  104. package/esm/object/any_record.js.map +1 -0
  105. package/esm/object/facade.d.ts +1 -1
  106. package/esm/object/facade.d.ts.map +1 -1
  107. package/esm/object/hasKey.d.ts +1 -1
  108. package/esm/object/hasKey.d.ts.map +1 -1
  109. package/esm/object/index.d.ts +1 -1
  110. package/esm/object/index.d.ts.map +1 -1
  111. package/esm/object/is_strict_object.d.ts +10 -0
  112. package/esm/object/is_strict_object.d.ts.map +1 -0
  113. package/esm/object/is_strict_object.js +2 -0
  114. package/esm/object/is_strict_object.js.map +1 -0
  115. package/esm/object/left_join.d.ts +1 -1
  116. package/esm/object/left_join.d.ts.map +1 -1
  117. package/esm/object/mapProperties.d.ts +1 -1
  118. package/esm/object/mapProperties.d.ts.map +1 -1
  119. package/esm/object/merge.d.ts +59 -0
  120. package/esm/object/merge.d.ts.map +1 -0
  121. package/esm/object/merge.js +2 -0
  122. package/esm/object/merge.js.map +1 -0
  123. package/esm/object/object_plus.d.ts +2 -0
  124. package/esm/object/object_plus.d.ts.map +1 -0
  125. package/esm/object/object_plus.js +2 -0
  126. package/esm/object/object_plus.js.map +1 -0
  127. package/esm/object/omit.d.ts +2 -2
  128. package/esm/object/omit.d.ts.map +1 -1
  129. package/esm/object/omit.js.map +1 -1
  130. package/esm/object/optional_key.d.ts +1 -1
  131. package/esm/object/optional_key.d.ts.map +1 -1
  132. package/esm/object/pick.d.ts +1 -1
  133. package/esm/object/pick.d.ts.map +1 -1
  134. package/esm/object/recursive_partial.d.ts +1 -1
  135. package/esm/object/recursive_partial.d.ts.map +1 -1
  136. package/esm/object/replaceProperty.d.ts +1 -1
  137. package/esm/object/replaceProperty.d.ts.map +1 -1
  138. package/esm/object/split.d.ts +1 -1
  139. package/esm/object/split.d.ts.map +1 -1
  140. package/esm/tuple/common_prop_keys.d.ts +1 -1
  141. package/esm/tuple/drop.d.ts +8 -8
  142. package/esm/tuple/drop.d.ts.map +1 -1
  143. package/esm/tuple/tail.d.ts +1 -1
  144. package/esm/tuple/tail.d.ts.map +1 -1
  145. package/esm/tuple/tuple_plus.common_prop_keys.d.ts +2 -2
  146. package/esm/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -1
  147. package/esm/tuple/tuple_plus.filter.d.ts +1 -1
  148. package/esm/tuple/tuple_plus.filter.d.ts.map +1 -1
  149. package/esm/tuple/tuple_plus.find.d.ts +14 -14
  150. package/esm/tuple/tuple_plus.find.d.ts.map +1 -1
  151. package/esm/tuple/tuple_plus.pad_start.d.ts +3 -3
  152. package/esm/tuple/tuple_plus.pad_start.d.ts.map +1 -1
  153. package/esm/tuple/tuple_type.d.ts +4 -4
  154. package/esm/tuple/tuple_type.d.ts.map +1 -1
  155. package/esm/type_plus/cases.d.ts +13 -0
  156. package/esm/type_plus/cases.d.ts.map +1 -0
  157. package/esm/type_plus/cases.js +6 -0
  158. package/esm/type_plus/cases.js.map +1 -0
  159. package/esm/utils/options.d.ts +27 -9
  160. package/esm/utils/options.d.ts.map +1 -1
  161. package/package.json +16 -15
  162. package/{README.md → readme.md} +36 -17
  163. package/ts/array/array.at.ts +2 -2
  164. package/ts/array/array.entries.ts +6 -6
  165. package/ts/array/array.find_last.ts +7 -7
  166. package/ts/array/array.reverse.ts +12 -3
  167. package/ts/array/array.some.ts +13 -13
  168. package/ts/array/array_plus.common_prop_keys.ts +4 -4
  169. package/ts/array/array_plus.concat.ts +1 -1
  170. package/ts/array/array_plus.drop_match.ts +3 -0
  171. package/ts/array/array_plus.element_match.ts +16 -16
  172. package/ts/array/array_plus.filter.ts +49 -5
  173. package/ts/array/array_plus.find.ts +13 -13
  174. package/ts/array/{array_index.ts → array_plus.index_at.ts} +37 -41
  175. package/ts/array/array_plus.is_index_out_of_bound.ts +22 -0
  176. package/ts/array/array_plus.is_readonly.ts +46 -0
  177. package/ts/array/array_plus.pad_start.ts +1 -1
  178. package/ts/array/array_plus.split_at.ts +53 -24
  179. package/ts/array/array_plus.ts +3 -1
  180. package/ts/array/array_type.ts +5 -1
  181. package/ts/array/filter.ts +2 -2
  182. package/ts/array/find_first.ts +6 -6
  183. package/ts/array/head.ts +3 -3
  184. package/ts/array/intersect_of_props.ts +1 -1
  185. package/ts/array/last.ts +6 -4
  186. package/ts/array/loose_array_type.ts +69 -0
  187. package/ts/array/pad_start.ts +1 -1
  188. package/ts/array/readme.md +125 -35
  189. package/ts/array/strict_array_type.ts +75 -0
  190. package/ts/array/union_of_props.ts +2 -2
  191. package/ts/array/union_of_values.ts +2 -2
  192. package/ts/equal/equal.ts +23 -30
  193. package/ts/equal/identity_equal.ts +9 -0
  194. package/ts/index.ts +7 -1
  195. package/ts/math/numeric_struct.ts +109 -109
  196. package/ts/mix_types/box.ts +62 -0
  197. package/ts/mix_types/merge.ts +61 -0
  198. package/ts/mix_types/readme.md +34 -0
  199. package/ts/never/never_type.ts +2 -2
  200. package/ts/object/ANotB.ts +1 -1
  201. package/ts/object/IsDisjoint.ts +1 -1
  202. package/ts/object/KeysWithDiffType.ts +3 -3
  203. package/ts/object/KnownKeys.ts +5 -5
  204. package/ts/object/RecursiveIntersect.ts +7 -7
  205. package/ts/object/RecursiveRequired.ts +1 -1
  206. package/ts/object/facade.ts +1 -1
  207. package/ts/object/hasKey.ts +1 -1
  208. package/ts/object/index.ts +1 -1
  209. package/ts/object/is_strict_object.ts +14 -0
  210. package/ts/object/left_join.ts +1 -1
  211. package/ts/object/mapProperties.ts +1 -1
  212. package/ts/object/merge.ts +122 -0
  213. package/ts/object/object_plus.ts +1 -0
  214. package/ts/object/omit.ts +4 -5
  215. package/ts/object/optional_key.ts +1 -1
  216. package/ts/object/pick.ts +1 -1
  217. package/ts/object/readme.md +14 -0
  218. package/ts/object/record.ts +1 -1
  219. package/ts/object/recursive_partial.ts +1 -1
  220. package/ts/object/replaceProperty.ts +1 -1
  221. package/ts/object/split.ts +1 -1
  222. package/ts/tuple/common_prop_keys.ts +1 -1
  223. package/ts/tuple/drop.ts +8 -8
  224. package/ts/tuple/readme.md +17 -17
  225. package/ts/tuple/tail.ts +4 -6
  226. package/ts/tuple/tuple_plus.common_prop_keys.ts +2 -2
  227. package/ts/tuple/tuple_plus.filter.ts +2 -2
  228. package/ts/tuple/tuple_plus.find.ts +19 -19
  229. package/ts/tuple/tuple_plus.pad_start.ts +12 -9
  230. package/ts/tuple/tuple_type.ts +4 -4
  231. package/ts/type_plus/cases.ts +14 -0
  232. package/ts/utils/options.ts +27 -8
  233. package/cjs/any/any_type.d.ts +0 -63
  234. package/cjs/any/any_type.d.ts.map +0 -1
  235. package/cjs/any/any_type.js +0 -3
  236. package/cjs/any/any_type.js.map +0 -1
  237. package/cjs/array/array.at.d.ts +0 -20
  238. package/cjs/array/array.at.d.ts.map +0 -1
  239. package/cjs/array/array.at.js +0 -3
  240. package/cjs/array/array.at.js.map +0 -1
  241. package/cjs/array/array.entries.d.ts +0 -18
  242. package/cjs/array/array.entries.d.ts.map +0 -1
  243. package/cjs/array/array.entries.js +0 -3
  244. package/cjs/array/array.entries.js.map +0 -1
  245. package/cjs/array/array.find_last.d.ts +0 -19
  246. package/cjs/array/array.find_last.d.ts.map +0 -1
  247. package/cjs/array/array.find_last.js +0 -3
  248. package/cjs/array/array.find_last.js.map +0 -1
  249. package/cjs/array/array.reverse.d.ts +0 -2
  250. package/cjs/array/array.reverse.d.ts.map +0 -1
  251. package/cjs/array/array.reverse.js +0 -3
  252. package/cjs/array/array.reverse.js.map +0 -1
  253. package/cjs/array/array.some.d.ts +0 -33
  254. package/cjs/array/array.some.d.ts.map +0 -1
  255. package/cjs/array/array.some.js +0 -3
  256. package/cjs/array/array.some.js.map +0 -1
  257. package/cjs/array/array_index.d.ts +0 -34
  258. package/cjs/array/array_index.d.ts.map +0 -1
  259. package/cjs/array/array_index.js +0 -3
  260. package/cjs/array/array_index.js.map +0 -1
  261. package/cjs/array/array_plus.common_prop_keys.d.ts +0 -27
  262. package/cjs/array/array_plus.common_prop_keys.d.ts.map +0 -1
  263. package/cjs/array/array_plus.common_prop_keys.js +0 -3
  264. package/cjs/array/array_plus.common_prop_keys.js.map +0 -1
  265. package/cjs/array/array_plus.concat.d.ts +0 -16
  266. package/cjs/array/array_plus.concat.d.ts.map +0 -1
  267. package/cjs/array/array_plus.concat.js +0 -3
  268. package/cjs/array/array_plus.concat.js.map +0 -1
  269. package/cjs/array/array_plus.d.ts +0 -15
  270. package/cjs/array/array_plus.d.ts.map +0 -1
  271. package/cjs/array/array_plus.drop_match.d.ts +0 -4
  272. package/cjs/array/array_plus.drop_match.d.ts.map +0 -1
  273. package/cjs/array/array_plus.drop_match.js +0 -3
  274. package/cjs/array/array_plus.drop_match.js.map +0 -1
  275. package/cjs/array/array_plus.element_match.d.ts +0 -44
  276. package/cjs/array/array_plus.element_match.d.ts.map +0 -1
  277. package/cjs/array/array_plus.element_match.js +0 -3
  278. package/cjs/array/array_plus.element_match.js.map +0 -1
  279. package/cjs/array/array_plus.filter.d.ts +0 -2
  280. package/cjs/array/array_plus.filter.d.ts.map +0 -1
  281. package/cjs/array/array_plus.filter.js +0 -3
  282. package/cjs/array/array_plus.filter.js.map +0 -1
  283. package/cjs/array/array_plus.find.d.ts +0 -57
  284. package/cjs/array/array_plus.find.d.ts.map +0 -1
  285. package/cjs/array/array_plus.find.js +0 -3
  286. package/cjs/array/array_plus.find.js.map +0 -1
  287. package/cjs/array/array_plus.js +0 -3
  288. package/cjs/array/array_plus.js.map +0 -1
  289. package/cjs/array/array_plus.pad_start.d.ts +0 -5
  290. package/cjs/array/array_plus.pad_start.d.ts.map +0 -1
  291. package/cjs/array/array_plus.pad_start.js +0 -3
  292. package/cjs/array/array_plus.pad_start.js.map +0 -1
  293. package/cjs/array/array_plus.split_at.d.ts +0 -35
  294. package/cjs/array/array_plus.split_at.d.ts.map +0 -1
  295. package/cjs/array/array_plus.split_at.js +0 -3
  296. package/cjs/array/array_plus.split_at.js.map +0 -1
  297. package/cjs/array/array_type.d.ts +0 -66
  298. package/cjs/array/array_type.d.ts.map +0 -1
  299. package/cjs/array/array_type.js +0 -3
  300. package/cjs/array/array_type.js.map +0 -1
  301. package/cjs/array/filter.d.ts +0 -29
  302. package/cjs/array/filter.d.ts.map +0 -1
  303. package/cjs/array/filter.js +0 -3
  304. package/cjs/array/filter.js.map +0 -1
  305. package/cjs/array/find_first.d.ts +0 -62
  306. package/cjs/array/find_first.d.ts.map +0 -1
  307. package/cjs/array/find_first.js +0 -3
  308. package/cjs/array/find_first.js.map +0 -1
  309. package/cjs/array/head.d.ts +0 -31
  310. package/cjs/array/head.d.ts.map +0 -1
  311. package/cjs/array/head.js +0 -3
  312. package/cjs/array/head.js.map +0 -1
  313. package/cjs/array/intersect_of_props.d.ts +0 -14
  314. package/cjs/array/intersect_of_props.d.ts.map +0 -1
  315. package/cjs/array/intersect_of_props.js +0 -3
  316. package/cjs/array/intersect_of_props.js.map +0 -1
  317. package/cjs/array/last.d.ts +0 -30
  318. package/cjs/array/last.d.ts.map +0 -1
  319. package/cjs/array/last.js +0 -3
  320. package/cjs/array/last.js.map +0 -1
  321. package/cjs/array/literal_array.d.ts +0 -8
  322. package/cjs/array/literal_array.d.ts.map +0 -1
  323. package/cjs/array/literal_array.js +0 -13
  324. package/cjs/array/literal_array.js.map +0 -1
  325. package/cjs/array/pad_start.d.ts +0 -32
  326. package/cjs/array/pad_start.d.ts.map +0 -1
  327. package/cjs/array/pad_start.js +0 -3
  328. package/cjs/array/pad_start.js.map +0 -1
  329. package/cjs/array/reduce_while.d.ts +0 -8
  330. package/cjs/array/reduce_while.d.ts.map +0 -1
  331. package/cjs/array/reduce_while.js +0 -21
  332. package/cjs/array/reduce_while.js.map +0 -1
  333. package/cjs/array/reverse.d.ts +0 -7
  334. package/cjs/array/reverse.d.ts.map +0 -1
  335. package/cjs/array/reverse.js +0 -3
  336. package/cjs/array/reverse.js.map +0 -1
  337. package/cjs/array/union_of_props.d.ts +0 -12
  338. package/cjs/array/union_of_props.d.ts.map +0 -1
  339. package/cjs/array/union_of_props.js +0 -3
  340. package/cjs/array/union_of_props.js.map +0 -1
  341. package/cjs/array/union_of_values.d.ts +0 -10
  342. package/cjs/array/union_of_values.d.ts.map +0 -1
  343. package/cjs/array/union_of_values.js +0 -3
  344. package/cjs/array/union_of_values.js.map +0 -1
  345. package/cjs/assertion/assert_type.d.ts +0 -40
  346. package/cjs/assertion/assert_type.d.ts.map +0 -1
  347. package/cjs/assertion/assert_type.js +0 -113
  348. package/cjs/assertion/assert_type.js.map +0 -1
  349. package/cjs/bigint/bigint_type.d.ts +0 -54
  350. package/cjs/bigint/bigint_type.d.ts.map +0 -1
  351. package/cjs/bigint/bigint_type.js +0 -3
  352. package/cjs/bigint/bigint_type.js.map +0 -1
  353. package/cjs/bigint/cast.d.ts +0 -10
  354. package/cjs/bigint/cast.d.ts.map +0 -1
  355. package/cjs/bigint/cast.js +0 -3
  356. package/cjs/bigint/cast.js.map +0 -1
  357. package/cjs/bigint/strict_bigint_type.d.ts +0 -56
  358. package/cjs/bigint/strict_bigint_type.d.ts.map +0 -1
  359. package/cjs/bigint/strict_bigint_type.js +0 -3
  360. package/cjs/bigint/strict_bigint_type.js.map +0 -1
  361. package/cjs/binary/Bit.d.ts +0 -6
  362. package/cjs/binary/Bit.d.ts.map +0 -1
  363. package/cjs/binary/Bit.js +0 -3
  364. package/cjs/binary/Bit.js.map +0 -1
  365. package/cjs/binary/_binary.d.ts +0 -2
  366. package/cjs/binary/_binary.d.ts.map +0 -1
  367. package/cjs/binary/_binary.js +0 -3
  368. package/cjs/binary/_binary.js.map +0 -1
  369. package/cjs/binary/index.d.ts +0 -3
  370. package/cjs/binary/index.d.ts.map +0 -1
  371. package/cjs/binary/index.js +0 -6
  372. package/cjs/binary/index.js.map +0 -1
  373. package/cjs/boolean/boolean_type.d.ts +0 -56
  374. package/cjs/boolean/boolean_type.d.ts.map +0 -1
  375. package/cjs/boolean/boolean_type.js +0 -3
  376. package/cjs/boolean/boolean_type.js.map +0 -1
  377. package/cjs/boolean/false_type.d.ts +0 -49
  378. package/cjs/boolean/false_type.d.ts.map +0 -1
  379. package/cjs/boolean/false_type.js +0 -3
  380. package/cjs/boolean/false_type.js.map +0 -1
  381. package/cjs/boolean/strict_boolean_type.d.ts +0 -53
  382. package/cjs/boolean/strict_boolean_type.d.ts.map +0 -1
  383. package/cjs/boolean/strict_boolean_type.js +0 -3
  384. package/cjs/boolean/strict_boolean_type.js.map +0 -1
  385. package/cjs/boolean/true_type.d.ts +0 -49
  386. package/cjs/boolean/true_type.d.ts.map +0 -1
  387. package/cjs/boolean/true_type.js +0 -3
  388. package/cjs/boolean/true_type.js.map +0 -1
  389. package/cjs/class/AnyConstructor.d.ts +0 -2
  390. package/cjs/class/AnyConstructor.d.ts.map +0 -1
  391. package/cjs/class/AnyConstructor.js +0 -3
  392. package/cjs/class/AnyConstructor.js.map +0 -1
  393. package/cjs/class/index.d.ts +0 -3
  394. package/cjs/class/index.d.ts.map +0 -1
  395. package/cjs/class/index.js +0 -18
  396. package/cjs/class/index.js.map +0 -1
  397. package/cjs/class/isConstructor.d.ts +0 -18
  398. package/cjs/class/isConstructor.d.ts.map +0 -1
  399. package/cjs/class/isConstructor.js +0 -35
  400. package/cjs/class/isConstructor.js.map +0 -1
  401. package/cjs/composable_types.d.ts +0 -9
  402. package/cjs/composable_types.d.ts.map +0 -1
  403. package/cjs/composable_types.js +0 -3
  404. package/cjs/composable_types.js.map +0 -1
  405. package/cjs/equal/equal.d.ts +0 -99
  406. package/cjs/equal/equal.d.ts.map +0 -1
  407. package/cjs/equal/equal.js +0 -3
  408. package/cjs/equal/equal.js.map +0 -1
  409. package/cjs/function/any_function.d.ts +0 -2
  410. package/cjs/function/any_function.d.ts.map +0 -1
  411. package/cjs/function/any_function.js +0 -3
  412. package/cjs/function/any_function.js.map +0 -1
  413. package/cjs/function/extract_function.d.ts +0 -24
  414. package/cjs/function/extract_function.d.ts.map +0 -1
  415. package/cjs/function/extract_function.js +0 -13
  416. package/cjs/function/extract_function.js.map +0 -1
  417. package/cjs/function/function_type.d.ts +0 -59
  418. package/cjs/function/function_type.d.ts.map +0 -1
  419. package/cjs/function/function_type.js +0 -3
  420. package/cjs/function/function_type.js.map +0 -1
  421. package/cjs/function/strict_function_type.d.ts +0 -49
  422. package/cjs/function/strict_function_type.d.ts.map +0 -1
  423. package/cjs/function/strict_function_type.js +0 -3
  424. package/cjs/function/strict_function_type.js.map +0 -1
  425. package/cjs/functional/ChainFn.d.ts +0 -6
  426. package/cjs/functional/ChainFn.d.ts.map +0 -1
  427. package/cjs/functional/ChainFn.js +0 -3
  428. package/cjs/functional/ChainFn.js.map +0 -1
  429. package/cjs/functional/Maybe.d.ts +0 -13
  430. package/cjs/functional/Maybe.d.ts.map +0 -1
  431. package/cjs/functional/Maybe.js +0 -17
  432. package/cjs/functional/Maybe.js.map +0 -1
  433. package/cjs/functional/compose.d.ts +0 -12
  434. package/cjs/functional/compose.d.ts.map +0 -1
  435. package/cjs/functional/compose.js +0 -16
  436. package/cjs/functional/compose.js.map +0 -1
  437. package/cjs/functional/context.d.ts +0 -40
  438. package/cjs/functional/context.d.ts.map +0 -1
  439. package/cjs/functional/context.js +0 -32
  440. package/cjs/functional/context.js.map +0 -1
  441. package/cjs/functional/index.d.ts +0 -4
  442. package/cjs/functional/index.d.ts.map +0 -1
  443. package/cjs/functional/index.js +0 -19
  444. package/cjs/functional/index.js.map +0 -1
  445. package/cjs/index.d.ts +0 -84
  446. package/cjs/index.d.ts.map +0 -1
  447. package/cjs/index.js +0 -45
  448. package/cjs/index.js.map +0 -1
  449. package/cjs/json.d.ts +0 -12
  450. package/cjs/json.d.ts.map +0 -1
  451. package/cjs/json.js +0 -14
  452. package/cjs/json.js.map +0 -1
  453. package/cjs/math/abs.d.ts +0 -6
  454. package/cjs/math/abs.d.ts.map +0 -1
  455. package/cjs/math/abs.js +0 -3
  456. package/cjs/math/abs.js.map +0 -1
  457. package/cjs/math/add.d.ts +0 -7
  458. package/cjs/math/add.d.ts.map +0 -1
  459. package/cjs/math/add.js +0 -3
  460. package/cjs/math/add.js.map +0 -1
  461. package/cjs/math/greater_than.d.ts +0 -4
  462. package/cjs/math/greater_than.d.ts.map +0 -1
  463. package/cjs/math/greater_than.js +0 -3
  464. package/cjs/math/greater_than.js.map +0 -1
  465. package/cjs/math/index.d.ts +0 -7
  466. package/cjs/math/index.d.ts.map +0 -1
  467. package/cjs/math/index.js +0 -3
  468. package/cjs/math/index.js.map +0 -1
  469. package/cjs/math/math_plus.d.ts +0 -5
  470. package/cjs/math/math_plus.d.ts.map +0 -1
  471. package/cjs/math/math_plus.js +0 -3
  472. package/cjs/math/math_plus.js.map +0 -1
  473. package/cjs/math/math_plus.to_negative.d.ts +0 -13
  474. package/cjs/math/math_plus.to_negative.d.ts.map +0 -1
  475. package/cjs/math/math_plus.to_negative.js +0 -3
  476. package/cjs/math/math_plus.to_negative.js.map +0 -1
  477. package/cjs/math/max.d.ts +0 -4
  478. package/cjs/math/max.d.ts.map +0 -1
  479. package/cjs/math/max.js +0 -3
  480. package/cjs/math/max.js.map +0 -1
  481. package/cjs/math/multiply.d.ts +0 -6
  482. package/cjs/math/multiply.d.ts.map +0 -1
  483. package/cjs/math/multiply.js +0 -3
  484. package/cjs/math/multiply.js.map +0 -1
  485. package/cjs/math/numeric_struct.d.ts +0 -1480
  486. package/cjs/math/numeric_struct.d.ts.map +0 -1
  487. package/cjs/math/numeric_struct.js +0 -3
  488. package/cjs/math/numeric_struct.js.map +0 -1
  489. package/cjs/math/subtract.d.ts +0 -7
  490. package/cjs/math/subtract.d.ts.map +0 -1
  491. package/cjs/math/subtract.js +0 -3
  492. package/cjs/math/subtract.js.map +0 -1
  493. package/cjs/merge.d.ts +0 -55
  494. package/cjs/merge.d.ts.map +0 -1
  495. package/cjs/merge.js +0 -18
  496. package/cjs/merge.js.map +0 -1
  497. package/cjs/mix_types/any_or_never_type.d.ts +0 -37
  498. package/cjs/mix_types/any_or_never_type.d.ts.map +0 -1
  499. package/cjs/mix_types/any_or_never_type.js +0 -3
  500. package/cjs/mix_types/any_or_never_type.js.map +0 -1
  501. package/cjs/never/never_type.d.ts +0 -62
  502. package/cjs/never/never_type.d.ts.map +0 -1
  503. package/cjs/never/never_type.js +0 -3
  504. package/cjs/never/never_type.js.map +0 -1
  505. package/cjs/nodejs/index.d.ts +0 -2
  506. package/cjs/nodejs/index.d.ts.map +0 -1
  507. package/cjs/nodejs/index.js +0 -18
  508. package/cjs/nodejs/index.js.map +0 -1
  509. package/cjs/nodejs/isNodeError.d.ts +0 -31
  510. package/cjs/nodejs/isNodeError.d.ts.map +0 -1
  511. package/cjs/nodejs/isNodeError.js +0 -13
  512. package/cjs/nodejs/isNodeError.js.map +0 -1
  513. package/cjs/nominal/brand.d.ts +0 -23
  514. package/cjs/nominal/brand.d.ts.map +0 -1
  515. package/cjs/nominal/brand.js +0 -20
  516. package/cjs/nominal/brand.js.map +0 -1
  517. package/cjs/nominal/constants.d.ts +0 -3
  518. package/cjs/nominal/constants.d.ts.map +0 -1
  519. package/cjs/nominal/constants.js +0 -6
  520. package/cjs/nominal/constants.js.map +0 -1
  521. package/cjs/nominal/flavor.d.ts +0 -31
  522. package/cjs/nominal/flavor.d.ts.map +0 -1
  523. package/cjs/nominal/flavor.js +0 -20
  524. package/cjs/nominal/flavor.js.map +0 -1
  525. package/cjs/nominal/index.d.ts +0 -4
  526. package/cjs/nominal/index.d.ts.map +0 -1
  527. package/cjs/nominal/index.js +0 -20
  528. package/cjs/nominal/index.js.map +0 -1
  529. package/cjs/nominal/nominal_match.d.ts +0 -5
  530. package/cjs/nominal/nominal_match.d.ts.map +0 -1
  531. package/cjs/nominal/nominal_match.js +0 -13
  532. package/cjs/nominal/nominal_match.js.map +0 -1
  533. package/cjs/null/null_type.d.ts +0 -50
  534. package/cjs/null/null_type.d.ts.map +0 -1
  535. package/cjs/null/null_type.js +0 -3
  536. package/cjs/null/null_type.js.map +0 -1
  537. package/cjs/number/cast.d.ts +0 -10
  538. package/cjs/number/cast.d.ts.map +0 -1
  539. package/cjs/number/cast.js +0 -3
  540. package/cjs/number/cast.js.map +0 -1
  541. package/cjs/number/number_array.d.ts +0 -1
  542. package/cjs/number/number_array.d.ts.map +0 -1
  543. package/cjs/number/number_array.js +0 -16
  544. package/cjs/number/number_array.js.map +0 -1
  545. package/cjs/number/number_plus.d.ts +0 -7
  546. package/cjs/number/number_plus.d.ts.map +0 -1
  547. package/cjs/number/number_plus.js +0 -3
  548. package/cjs/number/number_plus.js.map +0 -1
  549. package/cjs/number/number_type.d.ts +0 -50
  550. package/cjs/number/number_type.d.ts.map +0 -1
  551. package/cjs/number/number_type.js +0 -3
  552. package/cjs/number/number_type.js.map +0 -1
  553. package/cjs/number/strict_number_type.d.ts +0 -65
  554. package/cjs/number/strict_number_type.d.ts.map +0 -1
  555. package/cjs/number/strict_number_type.js +0 -3
  556. package/cjs/number/strict_number_type.js.map +0 -1
  557. package/cjs/numeric/cast.d.ts +0 -27
  558. package/cjs/numeric/cast.d.ts.map +0 -1
  559. package/cjs/numeric/cast.js +0 -3
  560. package/cjs/numeric/cast.js.map +0 -1
  561. package/cjs/numeric/integer.d.ts +0 -69
  562. package/cjs/numeric/integer.d.ts.map +0 -1
  563. package/cjs/numeric/integer.js +0 -3
  564. package/cjs/numeric/integer.js.map +0 -1
  565. package/cjs/numeric/negative.d.ts +0 -70
  566. package/cjs/numeric/negative.d.ts.map +0 -1
  567. package/cjs/numeric/negative.js +0 -3
  568. package/cjs/numeric/negative.js.map +0 -1
  569. package/cjs/numeric/numeric_plus.d.ts +0 -5
  570. package/cjs/numeric/numeric_plus.d.ts.map +0 -1
  571. package/cjs/numeric/numeric_plus.js +0 -3
  572. package/cjs/numeric/numeric_plus.js.map +0 -1
  573. package/cjs/numeric/numeric_type.d.ts +0 -59
  574. package/cjs/numeric/numeric_type.d.ts.map +0 -1
  575. package/cjs/numeric/numeric_type.js +0 -3
  576. package/cjs/numeric/numeric_type.js.map +0 -1
  577. package/cjs/numeric/positive.d.ts +0 -53
  578. package/cjs/numeric/positive.d.ts.map +0 -1
  579. package/cjs/numeric/positive.js +0 -3
  580. package/cjs/numeric/positive.js.map +0 -1
  581. package/cjs/object/ANotB.d.ts +0 -9
  582. package/cjs/object/ANotB.d.ts.map +0 -1
  583. package/cjs/object/ANotB.js +0 -3
  584. package/cjs/object/ANotB.js.map +0 -1
  585. package/cjs/object/AnyRecord.d.ts.map +0 -1
  586. package/cjs/object/AnyRecord.js +0 -3
  587. package/cjs/object/AnyRecord.js.map +0 -1
  588. package/cjs/object/ExcludePropType.d.ts +0 -7
  589. package/cjs/object/ExcludePropType.d.ts.map +0 -1
  590. package/cjs/object/ExcludePropType.js +0 -3
  591. package/cjs/object/ExcludePropType.js.map +0 -1
  592. package/cjs/object/IsDisjoint.d.ts +0 -9
  593. package/cjs/object/IsDisjoint.d.ts.map +0 -1
  594. package/cjs/object/IsDisjoint.js +0 -3
  595. package/cjs/object/IsDisjoint.js.map +0 -1
  596. package/cjs/object/IsRecord.d.ts +0 -2
  597. package/cjs/object/IsRecord.d.ts.map +0 -1
  598. package/cjs/object/IsRecord.js +0 -3
  599. package/cjs/object/IsRecord.js.map +0 -1
  600. package/cjs/object/KeyTypes.d.ts +0 -7
  601. package/cjs/object/KeyTypes.d.ts.map +0 -1
  602. package/cjs/object/KeyTypes.js +0 -3
  603. package/cjs/object/KeyTypes.js.map +0 -1
  604. package/cjs/object/KeyofOptional.d.ts +0 -6
  605. package/cjs/object/KeyofOptional.d.ts.map +0 -1
  606. package/cjs/object/KeyofOptional.js +0 -3
  607. package/cjs/object/KeyofOptional.js.map +0 -1
  608. package/cjs/object/KeysWithDiffType.d.ts +0 -7
  609. package/cjs/object/KeysWithDiffType.d.ts.map +0 -1
  610. package/cjs/object/KeysWithDiffType.js +0 -3
  611. package/cjs/object/KeysWithDiffType.js.map +0 -1
  612. package/cjs/object/KnownKeys.d.ts +0 -7
  613. package/cjs/object/KnownKeys.d.ts.map +0 -1
  614. package/cjs/object/KnownKeys.js +0 -6
  615. package/cjs/object/KnownKeys.js.map +0 -1
  616. package/cjs/object/OptionalKeys.d.ts +0 -8
  617. package/cjs/object/OptionalKeys.d.ts.map +0 -1
  618. package/cjs/object/OptionalKeys.js +0 -3
  619. package/cjs/object/OptionalKeys.js.map +0 -1
  620. package/cjs/object/Partial.d.ts +0 -22
  621. package/cjs/object/Partial.d.ts.map +0 -1
  622. package/cjs/object/Partial.js +0 -3
  623. package/cjs/object/Partial.js.map +0 -1
  624. package/cjs/object/RecursiveIntersect.d.ts +0 -16
  625. package/cjs/object/RecursiveIntersect.d.ts.map +0 -1
  626. package/cjs/object/RecursiveIntersect.js +0 -3
  627. package/cjs/object/RecursiveIntersect.js.map +0 -1
  628. package/cjs/object/RecursiveRequired.d.ts +0 -5
  629. package/cjs/object/RecursiveRequired.d.ts.map +0 -1
  630. package/cjs/object/RecursiveRequired.js +0 -3
  631. package/cjs/object/RecursiveRequired.js.map +0 -1
  632. package/cjs/object/Required.d.ts +0 -7
  633. package/cjs/object/Required.d.ts.map +0 -1
  634. package/cjs/object/Required.js +0 -4
  635. package/cjs/object/Required.js.map +0 -1
  636. package/cjs/object/RequiredKeys.d.ts +0 -7
  637. package/cjs/object/RequiredKeys.d.ts.map +0 -1
  638. package/cjs/object/RequiredKeys.js +0 -3
  639. package/cjs/object/RequiredKeys.js.map +0 -1
  640. package/cjs/object/SpreadRecord.d.ts +0 -3
  641. package/cjs/object/SpreadRecord.d.ts.map +0 -1
  642. package/cjs/object/SpreadRecord.js +0 -3
  643. package/cjs/object/SpreadRecord.js.map +0 -1
  644. package/cjs/object/ValueOf.d.ts +0 -2
  645. package/cjs/object/ValueOf.d.ts.map +0 -1
  646. package/cjs/object/ValueOf.js +0 -3
  647. package/cjs/object/ValueOf.js.map +0 -1
  648. package/cjs/object/everyKey.d.ts +0 -3
  649. package/cjs/object/everyKey.d.ts.map +0 -1
  650. package/cjs/object/everyKey.js +0 -8
  651. package/cjs/object/everyKey.js.map +0 -1
  652. package/cjs/object/facade.d.ts +0 -17
  653. package/cjs/object/facade.d.ts.map +0 -1
  654. package/cjs/object/facade.js +0 -27
  655. package/cjs/object/facade.js.map +0 -1
  656. package/cjs/object/filterKey.d.ts +0 -3
  657. package/cjs/object/filterKey.d.ts.map +0 -1
  658. package/cjs/object/filterKey.js +0 -10
  659. package/cjs/object/filterKey.js.map +0 -1
  660. package/cjs/object/findKey.d.ts +0 -3
  661. package/cjs/object/findKey.d.ts.map +0 -1
  662. package/cjs/object/findKey.js +0 -10
  663. package/cjs/object/findKey.js.map +0 -1
  664. package/cjs/object/forEachKey.d.ts +0 -3
  665. package/cjs/object/forEachKey.d.ts.map +0 -1
  666. package/cjs/object/forEachKey.js +0 -8
  667. package/cjs/object/forEachKey.js.map +0 -1
  668. package/cjs/object/getField.d.ts +0 -4
  669. package/cjs/object/getField.d.ts.map +0 -1
  670. package/cjs/object/getField.js +0 -8
  671. package/cjs/object/getField.js.map +0 -1
  672. package/cjs/object/hasKey.d.ts +0 -4
  673. package/cjs/object/hasKey.d.ts.map +0 -1
  674. package/cjs/object/hasKey.js +0 -8
  675. package/cjs/object/hasKey.js.map +0 -1
  676. package/cjs/object/hasProperty.d.ts +0 -3
  677. package/cjs/object/hasProperty.d.ts.map +0 -1
  678. package/cjs/object/hasProperty.js +0 -8
  679. package/cjs/object/hasProperty.js.map +0 -1
  680. package/cjs/object/index.d.ts +0 -39
  681. package/cjs/object/index.d.ts.map +0 -1
  682. package/cjs/object/index.js +0 -36
  683. package/cjs/object/index.js.map +0 -1
  684. package/cjs/object/left_join.d.ts +0 -15
  685. package/cjs/object/left_join.d.ts.map +0 -1
  686. package/cjs/object/left_join.js +0 -3
  687. package/cjs/object/left_join.js.map +0 -1
  688. package/cjs/object/mapKey.d.ts +0 -3
  689. package/cjs/object/mapKey.d.ts.map +0 -1
  690. package/cjs/object/mapKey.js +0 -10
  691. package/cjs/object/mapKey.js.map +0 -1
  692. package/cjs/object/mapProperties.d.ts +0 -14
  693. package/cjs/object/mapProperties.d.ts.map +0 -1
  694. package/cjs/object/mapProperties.js +0 -17
  695. package/cjs/object/mapProperties.js.map +0 -1
  696. package/cjs/object/object_type.d.ts +0 -54
  697. package/cjs/object/object_type.d.ts.map +0 -1
  698. package/cjs/object/object_type.js +0 -3
  699. package/cjs/object/object_type.js.map +0 -1
  700. package/cjs/object/omit.d.ts +0 -22
  701. package/cjs/object/omit.d.ts.map +0 -1
  702. package/cjs/object/omit.js +0 -14
  703. package/cjs/object/omit.js.map +0 -1
  704. package/cjs/object/optional_key.d.ts +0 -35
  705. package/cjs/object/optional_key.d.ts.map +0 -1
  706. package/cjs/object/optional_key.js +0 -3
  707. package/cjs/object/optional_key.js.map +0 -1
  708. package/cjs/object/pick.d.ts +0 -29
  709. package/cjs/object/pick.d.ts.map +0 -1
  710. package/cjs/object/pick.js +0 -14
  711. package/cjs/object/pick.js.map +0 -1
  712. package/cjs/object/properties.d.ts +0 -7
  713. package/cjs/object/properties.d.ts.map +0 -1
  714. package/cjs/object/properties.js +0 -3
  715. package/cjs/object/properties.js.map +0 -1
  716. package/cjs/object/record.d.ts +0 -17
  717. package/cjs/object/record.d.ts.map +0 -1
  718. package/cjs/object/record.js +0 -9
  719. package/cjs/object/record.js.map +0 -1
  720. package/cjs/object/recursive_partial.d.ts +0 -29
  721. package/cjs/object/recursive_partial.d.ts.map +0 -1
  722. package/cjs/object/recursive_partial.js +0 -4
  723. package/cjs/object/recursive_partial.js.map +0 -1
  724. package/cjs/object/reduceKey.d.ts +0 -7
  725. package/cjs/object/reduceKey.d.ts.map +0 -1
  726. package/cjs/object/reduceKey.js +0 -12
  727. package/cjs/object/reduceKey.js.map +0 -1
  728. package/cjs/object/replaceProperty.d.ts +0 -6
  729. package/cjs/object/replaceProperty.d.ts.map +0 -1
  730. package/cjs/object/replaceProperty.js +0 -8
  731. package/cjs/object/replaceProperty.js.map +0 -1
  732. package/cjs/object/someKey.d.ts +0 -3
  733. package/cjs/object/someKey.d.ts.map +0 -1
  734. package/cjs/object/someKey.js +0 -10
  735. package/cjs/object/someKey.js.map +0 -1
  736. package/cjs/object/split.d.ts +0 -76
  737. package/cjs/object/split.d.ts.map +0 -1
  738. package/cjs/object/split.js +0 -12
  739. package/cjs/object/split.js.map +0 -1
  740. package/cjs/object/typeOverrideIncompatible.d.ts +0 -3
  741. package/cjs/object/typeOverrideIncompatible.d.ts.map +0 -1
  742. package/cjs/object/typeOverrideIncompatible.js +0 -13
  743. package/cjs/object/typeOverrideIncompatible.js.map +0 -1
  744. package/cjs/package.json +0 -3
  745. package/cjs/predicates/CanAssign.d.ts +0 -45
  746. package/cjs/predicates/CanAssign.d.ts.map +0 -1
  747. package/cjs/predicates/CanAssign.js +0 -8
  748. package/cjs/predicates/CanAssign.js.map +0 -1
  749. package/cjs/predicates/Extends.d.ts +0 -5
  750. package/cjs/predicates/Extends.d.ts.map +0 -1
  751. package/cjs/predicates/Extends.js +0 -3
  752. package/cjs/predicates/Extends.js.map +0 -1
  753. package/cjs/predicates/If.d.ts +0 -2
  754. package/cjs/predicates/If.d.ts.map +0 -1
  755. package/cjs/predicates/If.js +0 -3
  756. package/cjs/predicates/If.js.map +0 -1
  757. package/cjs/predicates/IsEmptyObject.d.ts +0 -2
  758. package/cjs/predicates/IsEmptyObject.d.ts.map +0 -1
  759. package/cjs/predicates/IsEmptyObject.js +0 -3
  760. package/cjs/predicates/IsEmptyObject.js.map +0 -1
  761. package/cjs/predicates/index.d.ts +0 -7
  762. package/cjs/predicates/index.d.ts.map +0 -1
  763. package/cjs/predicates/index.js +0 -18
  764. package/cjs/predicates/index.js.map +0 -1
  765. package/cjs/predicates/literal.d.ts +0 -22
  766. package/cjs/predicates/literal.d.ts.map +0 -1
  767. package/cjs/predicates/literal.js +0 -3
  768. package/cjs/predicates/literal.js.map +0 -1
  769. package/cjs/predicates/logical.d.ts +0 -5
  770. package/cjs/predicates/logical.d.ts.map +0 -1
  771. package/cjs/predicates/logical.js +0 -3
  772. package/cjs/predicates/logical.js.map +0 -1
  773. package/cjs/primitive.d.ts +0 -5
  774. package/cjs/primitive.d.ts.map +0 -1
  775. package/cjs/primitive.js +0 -3
  776. package/cjs/primitive.js.map +0 -1
  777. package/cjs/promise/MaybePromise.d.ts +0 -22
  778. package/cjs/promise/MaybePromise.d.ts.map +0 -1
  779. package/cjs/promise/MaybePromise.js +0 -12
  780. package/cjs/promise/MaybePromise.js.map +0 -1
  781. package/cjs/promise/PromiseValue.d.ts +0 -13
  782. package/cjs/promise/PromiseValue.d.ts.map +0 -1
  783. package/cjs/promise/PromiseValue.js +0 -3
  784. package/cjs/promise/PromiseValue.js.map +0 -1
  785. package/cjs/promise/PromiseValueMerge.d.ts +0 -5
  786. package/cjs/promise/PromiseValueMerge.d.ts.map +0 -1
  787. package/cjs/promise/PromiseValueMerge.js +0 -3
  788. package/cjs/promise/PromiseValueMerge.js.map +0 -1
  789. package/cjs/promise/index.d.ts +0 -6
  790. package/cjs/promise/index.d.ts.map +0 -1
  791. package/cjs/promise/index.js +0 -20
  792. package/cjs/promise/index.js.map +0 -1
  793. package/cjs/promise/isPromise.d.ts +0 -2
  794. package/cjs/promise/isPromise.d.ts.map +0 -1
  795. package/cjs/promise/isPromise.js +0 -9
  796. package/cjs/promise/isPromise.js.map +0 -1
  797. package/cjs/promise/mapSeries.d.ts +0 -2
  798. package/cjs/promise/mapSeries.d.ts.map +0 -1
  799. package/cjs/promise/mapSeries.js +0 -8
  800. package/cjs/promise/mapSeries.js.map +0 -1
  801. package/cjs/string/strict_string_type.d.ts +0 -61
  802. package/cjs/string/strict_string_type.d.ts.map +0 -1
  803. package/cjs/string/strict_string_type.js +0 -3
  804. package/cjs/string/strict_string_type.js.map +0 -1
  805. package/cjs/string/string.d.ts +0 -24
  806. package/cjs/string/string.d.ts.map +0 -1
  807. package/cjs/string/string.js +0 -3
  808. package/cjs/string/string.js.map +0 -1
  809. package/cjs/string/string_plus.d.ts +0 -27
  810. package/cjs/string/string_plus.d.ts.map +0 -1
  811. package/cjs/string/string_plus.js +0 -3
  812. package/cjs/string/string_plus.js.map +0 -1
  813. package/cjs/string/string_type.d.ts +0 -58
  814. package/cjs/string/string_type.d.ts.map +0 -1
  815. package/cjs/string/string_type.js +0 -3
  816. package/cjs/string/string_type.js.map +0 -1
  817. package/cjs/symbol/symbol_type.d.ts +0 -50
  818. package/cjs/symbol/symbol_type.d.ts.map +0 -1
  819. package/cjs/symbol/symbol_type.js +0 -3
  820. package/cjs/symbol/symbol_type.js.map +0 -1
  821. package/cjs/testing/stub.d.ts +0 -31
  822. package/cjs/testing/stub.d.ts.map +0 -1
  823. package/cjs/testing/stub.js +0 -60
  824. package/cjs/testing/stub.js.map +0 -1
  825. package/cjs/testing/test_type.d.ts +0 -310
  826. package/cjs/testing/test_type.d.ts.map +0 -1
  827. package/cjs/testing/test_type.js +0 -16
  828. package/cjs/testing/test_type.js.map +0 -1
  829. package/cjs/tuple/common_prop_keys.d.ts +0 -34
  830. package/cjs/tuple/common_prop_keys.d.ts.map +0 -1
  831. package/cjs/tuple/common_prop_keys.js +0 -3
  832. package/cjs/tuple/common_prop_keys.js.map +0 -1
  833. package/cjs/tuple/create_tuple.d.ts +0 -28
  834. package/cjs/tuple/create_tuple.d.ts.map +0 -1
  835. package/cjs/tuple/create_tuple.js +0 -3
  836. package/cjs/tuple/create_tuple.js.map +0 -1
  837. package/cjs/tuple/drop.d.ts +0 -91
  838. package/cjs/tuple/drop.d.ts.map +0 -1
  839. package/cjs/tuple/drop.js +0 -13
  840. package/cjs/tuple/drop.js.map +0 -1
  841. package/cjs/tuple/tail.d.ts +0 -6
  842. package/cjs/tuple/tail.d.ts.map +0 -1
  843. package/cjs/tuple/tail.js +0 -3
  844. package/cjs/tuple/tail.js.map +0 -1
  845. package/cjs/tuple/tuple_plus.common_prop_keys.d.ts +0 -28
  846. package/cjs/tuple/tuple_plus.common_prop_keys.d.ts.map +0 -1
  847. package/cjs/tuple/tuple_plus.common_prop_keys.js +0 -3
  848. package/cjs/tuple/tuple_plus.common_prop_keys.js.map +0 -1
  849. package/cjs/tuple/tuple_plus.d.ts +0 -6
  850. package/cjs/tuple/tuple_plus.d.ts.map +0 -1
  851. package/cjs/tuple/tuple_plus.drop_match.d.ts +0 -6
  852. package/cjs/tuple/tuple_plus.drop_match.d.ts.map +0 -1
  853. package/cjs/tuple/tuple_plus.drop_match.js +0 -3
  854. package/cjs/tuple/tuple_plus.drop_match.js.map +0 -1
  855. package/cjs/tuple/tuple_plus.filter.d.ts +0 -13
  856. package/cjs/tuple/tuple_plus.filter.d.ts.map +0 -1
  857. package/cjs/tuple/tuple_plus.filter.js +0 -3
  858. package/cjs/tuple/tuple_plus.filter.js.map +0 -1
  859. package/cjs/tuple/tuple_plus.find.d.ts +0 -64
  860. package/cjs/tuple/tuple_plus.find.d.ts.map +0 -1
  861. package/cjs/tuple/tuple_plus.find.js +0 -3
  862. package/cjs/tuple/tuple_plus.find.js.map +0 -1
  863. package/cjs/tuple/tuple_plus.js +0 -3
  864. package/cjs/tuple/tuple_plus.js.map +0 -1
  865. package/cjs/tuple/tuple_plus.pad_start.d.ts +0 -28
  866. package/cjs/tuple/tuple_plus.pad_start.d.ts.map +0 -1
  867. package/cjs/tuple/tuple_plus.pad_start.js +0 -3
  868. package/cjs/tuple/tuple_plus.pad_start.js.map +0 -1
  869. package/cjs/tuple/tuple_type.d.ts +0 -77
  870. package/cjs/tuple/tuple_type.d.ts.map +0 -1
  871. package/cjs/tuple/tuple_type.js +0 -3
  872. package/cjs/tuple/tuple_type.js.map +0 -1
  873. package/cjs/type/failed.d.ts +0 -32
  874. package/cjs/type/failed.d.ts.map +0 -1
  875. package/cjs/type/failed.js +0 -3
  876. package/cjs/type/failed.js.map +0 -1
  877. package/cjs/type/no_infer.d.ts +0 -27
  878. package/cjs/type/no_infer.d.ts.map +0 -1
  879. package/cjs/type/no_infer.js +0 -3
  880. package/cjs/type/no_infer.js.map +0 -1
  881. package/cjs/type-guard/is_type.d.ts +0 -27
  882. package/cjs/type-guard/is_type.d.ts.map +0 -1
  883. package/cjs/type-guard/is_type.js +0 -32
  884. package/cjs/type-guard/is_type.js.map +0 -1
  885. package/cjs/undefined/undefined_type.d.ts +0 -53
  886. package/cjs/undefined/undefined_type.d.ts.map +0 -1
  887. package/cjs/undefined/undefined_type.js +0 -3
  888. package/cjs/undefined/undefined_type.js.map +0 -1
  889. package/cjs/union/union.d.ts +0 -33
  890. package/cjs/union/union.d.ts.map +0 -1
  891. package/cjs/union/union.js +0 -3
  892. package/cjs/union/union.js.map +0 -1
  893. package/cjs/union/union_to_intersection.d.ts +0 -3
  894. package/cjs/union/union_to_intersection.d.ts.map +0 -1
  895. package/cjs/union/union_to_intersection.js +0 -8
  896. package/cjs/union/union_to_intersection.js.map +0 -1
  897. package/cjs/union_keys.d.ts +0 -6
  898. package/cjs/union_keys.d.ts.map +0 -1
  899. package/cjs/union_keys.js +0 -3
  900. package/cjs/union_keys.js.map +0 -1
  901. package/cjs/unknown/unknown_type.d.ts +0 -63
  902. package/cjs/unknown/unknown_type.d.ts.map +0 -1
  903. package/cjs/unknown/unknown_type.js +0 -3
  904. package/cjs/unknown/unknown_type.js.map +0 -1
  905. package/cjs/unpartial.d.ts +0 -2
  906. package/cjs/unpartial.d.ts.map +0 -1
  907. package/cjs/unpartial.js +0 -8
  908. package/cjs/unpartial.js.map +0 -1
  909. package/cjs/utils/NonNull.d.ts +0 -2
  910. package/cjs/utils/NonNull.d.ts.map +0 -1
  911. package/cjs/utils/NonNull.js +0 -3
  912. package/cjs/utils/NonNull.js.map +0 -1
  913. package/cjs/utils/NonUndefined.d.ts +0 -2
  914. package/cjs/utils/NonUndefined.d.ts.map +0 -1
  915. package/cjs/utils/NonUndefined.js +0 -3
  916. package/cjs/utils/NonUndefined.js.map +0 -1
  917. package/cjs/utils/Widen.d.ts +0 -6
  918. package/cjs/utils/Widen.d.ts.map +0 -1
  919. package/cjs/utils/Widen.js +0 -3
  920. package/cjs/utils/Widen.js.map +0 -1
  921. package/cjs/utils/as.d.ts +0 -10
  922. package/cjs/utils/as.d.ts.map +0 -1
  923. package/cjs/utils/as.js +0 -26
  924. package/cjs/utils/as.js.map +0 -1
  925. package/cjs/utils/index.d.ts +0 -43
  926. package/cjs/utils/index.d.ts.map +0 -1
  927. package/cjs/utils/index.js +0 -19
  928. package/cjs/utils/index.js.map +0 -1
  929. package/cjs/utils/inspect.d.ts +0 -5
  930. package/cjs/utils/inspect.d.ts.map +0 -1
  931. package/cjs/utils/inspect.js +0 -13
  932. package/cjs/utils/inspect.js.map +0 -1
  933. package/cjs/utils/options.d.ts +0 -10
  934. package/cjs/utils/options.d.ts.map +0 -1
  935. package/cjs/utils/options.js +0 -3
  936. package/cjs/utils/options.js.map +0 -1
  937. package/cjs/void/void_type.d.ts +0 -43
  938. package/cjs/void/void_type.d.ts.map +0 -1
  939. package/cjs/void/void_type.js +0 -3
  940. package/cjs/void/void_type.js.map +0 -1
  941. package/esm/array/array_index.d.ts +0 -34
  942. package/esm/array/array_index.d.ts.map +0 -1
  943. package/esm/array/array_index.js +0 -2
  944. package/esm/array/array_index.js.map +0 -1
  945. package/esm/merge.d.ts +0 -55
  946. package/esm/merge.d.ts.map +0 -1
  947. package/esm/merge.js.map +0 -1
  948. package/esm/object/AnyRecord.d.ts +0 -3
  949. package/esm/object/AnyRecord.d.ts.map +0 -1
  950. package/esm/object/AnyRecord.js +0 -2
  951. package/esm/object/AnyRecord.js.map +0 -1
  952. package/ts/merge.ts +0 -72
  953. /package/ts/object/{AnyRecord.ts → any_record.ts} +0 -0
@@ -0,0 +1,75 @@
1
+ import type { IsNever } from '../never/never_type.js'
2
+ import type { StrictNumberType } from '../number/strict_number_type.js'
3
+
4
+ /**
5
+ * 🌪️ *filter*
6
+ *
7
+ * Filter `T` to ensure it is an array, excluding tuple.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * type R = StrictArrayType<number[]> // number[]
12
+ *
13
+ * type R = StrictArrayType<[1]> // never
14
+ * type R = StrictArrayType<number[] | 1> // never
15
+ * type R = StrictArrayType<number[] & { a: 1 }> // never
16
+ * ```
17
+ */
18
+ export type StrictArrayType<T, Then = T, Else = never> = IsNever<
19
+ T,
20
+ Else,
21
+ [any[]] extends [T]
22
+ ? ([T] extends [readonly any[]]
23
+ ? StrictNumberType<T['length'], Then, Else>
24
+ : Else)
25
+ : Else
26
+ >
27
+
28
+ /**
29
+ * 🎭 *validate*
30
+ *
31
+ * Validate that `T` is an array, excluding tuple.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * type R = IsStrictArray<number[]> // true
36
+ *
37
+ * type R = IsStrictArray<number> // false
38
+ * type R = IsStrictArray<[1]> // false
39
+ * ```
40
+ */
41
+ export type IsStrictArray<T, Then = true, Else = false> = StrictArrayType<T, Then, Else>
42
+
43
+ /**
44
+ * 🌪️ *filter*
45
+ *
46
+ * Filter `T` to ensure it is not an array, excluding tuple.
47
+ *
48
+ * i.e. *tuple* will pass through this filter.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * type R = NotStrictArrayType<number[]> // never
53
+ *
54
+ * type R = NotStrictArrayType<number> // number
55
+ * type R = NotStrictArrayType<[1]> // [1]
56
+ * ```
57
+ */
58
+ export type NotStrictArrayType<T, Then = T, Else = never> = StrictArrayType<T, Else, Then>
59
+
60
+ /**
61
+ * 🎭 *validate*
62
+ *
63
+ * Validate that `T` is not an array, excluding tuple.
64
+ *
65
+ * i.e. *tuple* will pass through this filter.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * type R = IsNotStrictArray<number[]> // false
70
+ *
71
+ * type R = IsNotStrictArray<number> // true
72
+ * type R = IsNotStrictArray<[1]> // true
73
+ * ```
74
+ */
75
+ export type IsNotStrictArray<T, Then = true, Else = false> = StrictArrayType<T, Else, Then>
@@ -4,7 +4,7 @@ import type { Tail } from '../tuple/tail.js'
4
4
  /**
5
5
  * Gets the union of properties of the elements in `A`
6
6
  */
7
- export type UnionOfProps<A extends Record<any, any>[], P extends KeyTypes> = A['length'] extends 0
7
+ export type UnionOfProps<A extends readonly Record<any, any>[], P extends KeyTypes> = A['length'] extends 0
8
8
  ? never
9
9
  : A['length'] extends 1
10
10
  ? A[0][P]
@@ -14,4 +14,4 @@ export type UnionOfProps<A extends Record<any, any>[], P extends KeyTypes> = A['
14
14
  * Gets the union of properties in the element of `A`
15
15
  * This will be deprecated in 4.0. Please use UnionOfProps instead.
16
16
  */
17
- export type PropUnion<A extends Record<any, any>[], P extends KeyTypes> = UnionOfProps<A, P>
17
+ export type PropUnion<A extends readonly Record<any, any>[], P extends KeyTypes> = UnionOfProps<A, P>
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Gets the union of value types in `A`
3
3
  */
4
- export type UnionOfValues<A extends Array<any>> = A extends Array<infer E> ? E : never
4
+ export type UnionOfValues<A extends readonly unknown[]> = A extends Readonly<Array<infer E>> ? E : never
5
5
 
6
6
  // alternative implementation
7
7
  // export type UnionOfValues<A extends readonly any[]> = (A)[number]
@@ -11,4 +11,4 @@ export type UnionOfValues<A extends Array<any>> = A extends Array<infer E> ? E :
11
11
  * Gets the union of value types in `A`
12
12
  * @deprecated Please use `UnionOfValues` instead.
13
13
  */
14
- export type ArrayValue<A extends any[]> = UnionOfValues<A>
14
+ export type ArrayValue<A extends readonly unknown[]> = UnionOfValues<A>
package/ts/equal/equal.ts CHANGED
@@ -4,6 +4,7 @@ import type { IsObject } from '../object/object_type.js'
4
4
  import type { Properties } from '../object/properties.js'
5
5
  import type { And, Or } from '../predicates/logical.js'
6
6
  import type { IsSymbol } from '../symbol/symbol_type.js'
7
+ import type { IdentityEqual } from './identity_equal.js'
7
8
 
8
9
  type BothNever<A, B, Both, One, None> = And<
9
10
  IsNever<A>,
@@ -14,14 +15,6 @@ type BothNever<A, B, Both, One, None> = And<
14
15
 
15
16
  type BothAny<A, B, Both, One, None> = And<IsAny<A>, IsAny<B>, Both, Or<IsAny<A>, IsAny<B>, One, None>>
16
17
 
17
- type IdentityEqual<A, B, Then, Else> = (<_>() => _ extends (A & _) | _ ? 1 : 2) extends <_>() => _ extends
18
- | (B & _)
19
- | _
20
- ? 1
21
- : 2
22
- ? Then
23
- : Else
24
-
25
18
  /**
26
19
  * Checks `A` and `B` are equal.
27
20
  *
@@ -44,37 +37,37 @@ type IdentityEqual<A, B, Then, Else> = (<_>() => _ extends (A & _) | _ ? 1 : 2)
44
37
  */
45
38
  export type IsEqual<A, B, Then = true, Else = false> = [A, B] extends [B, A]
46
39
  ? BothNever<
40
+ A,
41
+ B,
42
+ Then,
43
+ Else,
44
+ BothAny<
47
45
  A,
48
46
  B,
49
47
  Then,
50
48
  Else,
51
- BothAny<
49
+ IdentityEqual<
52
50
  A,
53
51
  B,
54
52
  Then,
55
- Else,
56
- IdentityEqual<
57
- A,
58
- B,
59
- Then,
60
- And<
61
- IsObject<A>,
62
- IsObject<B>,
63
- IdentityEqual<
64
- Properties<A>,
65
- Properties<B>,
66
- [A, B] extends [(...args: infer P1) => any, (...args: infer P2) => any]
67
- ? IsEqual<P1, P2, Then, Else>
68
- : Then,
69
- Else
70
- >,
71
- // `A` and `B` are narrowed, need to check again.
72
- // This is fixed in TS 5.0.2, but keeping it to support older versions.
73
- [A, B] extends [B, A] ? Then : Else
74
- >
53
+ And<
54
+ IsObject<A>,
55
+ IsObject<B>,
56
+ IdentityEqual<
57
+ Properties<A>,
58
+ Properties<B>,
59
+ [A, B] extends [(...args: infer P1) => any, (...args: infer P2) => any]
60
+ ? IsEqual<P1, P2, Then, Else>
61
+ : Then,
62
+ Else
63
+ >,
64
+ // `A` and `B` are narrowed, need to check again.
65
+ // This is fixed in TS 5.0.2, but keeping it to support older versions.
66
+ [A, B] extends [B, A] ? Then : Else
75
67
  >
76
68
  >
77
- >
69
+ >
70
+ >
78
71
  : And<IsSymbol<A>, IsSymbol<B>, Then, Else>
79
72
 
80
73
  /**
@@ -0,0 +1,9 @@
1
+
2
+ /**
3
+ * This is a common equal check.
4
+ * It is good for some basic cases, but not for all.
5
+ */
6
+ export type IdentityEqual<A, B, Then, Else> =
7
+ (<_>() => _ extends (A & _) | _ ? 1 : 2) extends (<_>() => _ extends | (B & _) | _ ? 1 : 2)
8
+ ? Then
9
+ : Else
package/ts/index.ts CHANGED
@@ -11,9 +11,11 @@ export type { Head } from './array/head.js'
11
11
  export type { IntersectOfProps, MapToProp } from './array/intersect_of_props.js'
12
12
  export type { Last } from './array/last.js'
13
13
  export { literalArray } from './array/literal_array.js'
14
+ export type { IsLooseArray, IsNotLooseArray, LooseArrayType, NotLooseArrayType } from './array/loose_array_type.js'
14
15
  export type { PadStart } from './array/pad_start.js'
15
16
  export { reduceWhile } from './array/reduce_while.js'
16
17
  export type { Reverse } from './array/reverse.js'
18
+ export type { IsNotStrictArray, IsStrictArray, NotStrictArrayType, StrictArrayType } from './array/strict_array_type.js'
17
19
  export type { PropUnion, UnionOfProps } from './array/union_of_props.js'
18
20
  export type { UnionOfValues } from './array/union_of_values.js'
19
21
  export { assertType } from './assertion/assert_type.js'
@@ -50,7 +52,9 @@ export * from './functional/index.js'
50
52
  export type { JSONArray, JSONObject, JSONPrimitive, JSONTypes } from './json.js'
51
53
  export type { Abs, Add, Decrement, GreaterThan, Increment, Max, Multiply, Subtract } from './math/index.js'
52
54
  export * as MathPlus from './math/math_plus.js'
55
+ export * from './mix_types/merge.js'
53
56
  export type { AnyOrNeverType, IsAnyOrNever } from './mix_types/any_or_never_type.js'
57
+ export type * from './mix_types/box.js'
54
58
  export type { IsNever, IsNotNever, Is_Never, NeverType, NotNeverType, Not_Never } from './never/never_type.js'
55
59
  export * from './nodejs/index.js'
56
60
  export * from './nominal/index.js'
@@ -79,6 +83,8 @@ export type {
79
83
  export type { IsNotPositive, IsPositive, NonPositive, Positive } from './numeric/positive.js'
80
84
  export type { Required, RequiredExcept, RequiredPick } from './object/Required.js'
81
85
  export * from './object/index.js'
86
+ export type * from './object/is_strict_object.js'
87
+ export * as ObjectPlus from './object/object_plus.js'
82
88
  export type { IsNotObject, IsObject, NotObjectType, ObjectType } from './object/object_type.js'
83
89
  export * from './predicates/index.js'
84
90
  export type { PrimitiveTypes } from './primitive.js'
@@ -116,6 +122,6 @@ export type { UnionKeys } from './union_keys.js'
116
122
  export type { IsNotUnknown, IsUnknown, NotUnknownType, UnknownType } from './unknown/unknown_type.js'
117
123
  export * from './unpartial.js'
118
124
  export * from './utils/index.js'
119
- export type { MergeOptions as MergeCases } from './utils/options.js'
125
+ export type { TypePlusOptions } from './utils/options.js'
120
126
  export type { IsNotVoid, IsVoid, NotVoidType, VoidType } from './void/void_type.js'
121
127
 
@@ -83,12 +83,12 @@ export namespace NumericStruct {
83
83
  */
84
84
  export type FromNumeric<N extends number | bigint, Fail = never> = N extends number
85
85
  ? number extends N
86
- ? Fail
87
- : ['number', DigitsStruct.FromNumber<N>]
86
+ ? Fail
87
+ : ['number', DigitsStruct.FromNumber<N>]
88
88
  : N extends bigint
89
89
  ? bigint extends N
90
- ? Fail
91
- : ['bigint', DigitsStruct.FromBigint<N>]
90
+ ? Fail
91
+ : ['bigint', DigitsStruct.FromBigint<N>]
92
92
  : never
93
93
 
94
94
  /**
@@ -100,8 +100,8 @@ export namespace NumericStruct {
100
100
  M[DIGITS_STRUCT]
101
101
  > extends infer S extends string
102
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`>>
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
105
  : never
106
106
 
107
107
  export type Add<A extends NumericStruct, B extends NumericStruct> = [
@@ -126,8 +126,8 @@ type StringToBigint<S extends string, Fail> = S extends `${infer N extends bigin
126
126
  // TODO: move into `NumericHelpers`
127
127
  export type StringToNumber<S extends string, Fail> = S extends `${infer N extends number}`
128
128
  ? number extends N
129
- ? Fail
130
- : N
129
+ ? Fail
130
+ : N
131
131
  : Fail
132
132
 
133
133
  export type DigitsStruct = [Sign: '+' | '-', Digits: number[], Exponent: number]
@@ -144,20 +144,20 @@ export namespace DigitsStruct {
144
144
  */
145
145
  export type FromNumber<N extends number> = `${N}` extends `-${infer R}`
146
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]
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
154
  : `${N}` extends `${infer W}.${infer F}`
155
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
156
+ infer WA extends number[],
157
+ infer FA extends number[]
158
+ ]
159
+ ? ['+', DigitArray.TrimLeadingZeros<[...WA, ...FA]>, FA['length']]
160
+ : never
161
161
  : ['+', DigitArray.FromString<`${N}`>, 0]
162
162
 
163
163
  /**
@@ -176,22 +176,22 @@ export namespace DigitsStruct {
176
176
  */
177
177
  export type ToString<D extends DigitsStruct> = (
178
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
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
187
  ) extends infer R
188
188
  ? R extends '0'
189
- ? R
190
- : R extends string
191
- ? D[SIGN] extends '-'
192
- ? `-${R}`
193
- : R
194
- : never
189
+ ? R
190
+ : R extends string
191
+ ? D[SIGN] extends '-'
192
+ ? `-${R}`
193
+ : R
194
+ : never
195
195
  : never
196
196
 
197
197
  /**
@@ -228,8 +228,8 @@ export namespace DigitsStruct {
228
228
  R extends number[] = []
229
229
  > = I extends []
230
230
  ? D[SIGN] extends '-'
231
- ? ['+', R, D[EXPONENT]]
232
- : ['-', R, D[EXPONENT]]
231
+ ? ['+', R, D[EXPONENT]]
232
+ : ['-', R, D[EXPONENT]]
233
233
  : I extends [infer H extends number, ...infer T extends number[]]
234
234
  ? FlipSign<D, T, [...R, Digit.FlipSign<H>]>
235
235
  : never
@@ -245,14 +245,14 @@ export namespace DigitsStruct {
245
245
  infer BB extends DigitsStruct
246
246
  ]
247
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
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
256
  : never
257
257
 
258
258
  export type Subtract<A extends DigitsStruct, B extends DigitsStruct> = Balance<A, B> extends [
@@ -260,14 +260,14 @@ export namespace DigitsStruct {
260
260
  infer BB extends DigitsStruct
261
261
  ]
262
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
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
271
  : never
272
272
 
273
273
  export type Multiply<A extends DigitsStruct, B extends DigitsStruct> = NumericAdd<
@@ -275,14 +275,14 @@ export namespace DigitsStruct {
275
275
  B[EXPONENT]
276
276
  > extends infer Exp extends number
277
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
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
286
  : never
287
287
 
288
288
  /**
@@ -293,8 +293,8 @@ export namespace DigitsStruct {
293
293
  B[EXPONENT]
294
294
  > extends [infer Pads extends number[], infer Longer]
295
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]
296
+ ? [A, [B[SIGN], DigitArray.TrimLeadingZeros<[...B[DIGITS], ...Pads]>, A[EXPONENT]]]
297
+ : [[A[SIGN], DigitArray.TrimLeadingZeros<[...A[DIGITS], ...Pads]>, B[EXPONENT]], B]
298
298
  : never
299
299
 
300
300
  type GetBalancePadding<
@@ -306,11 +306,11 @@ export namespace DigitsStruct {
306
306
  ? [[], 'A']
307
307
  : R extends []
308
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], []>
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
314
  : C['length'] extends A
315
315
  ? [R, 'A']
316
316
  : C['length'] extends B
@@ -395,35 +395,35 @@ export namespace DigitArray {
395
395
 
396
396
  export type Add<A extends number[], B extends number[], R extends number[] = []> = A extends []
397
397
  ? B extends []
398
- ? R
399
- : B extends [...infer BH extends number[], infer BL extends number]
400
- ? Add<[], BH, [BL, ...R]>
401
- : never
398
+ ? R
399
+ : B extends [...infer BH extends number[], infer BL extends number]
400
+ ? Add<[], BH, [BL, ...R]>
401
+ : never
402
402
  : B extends []
403
403
  ? A extends [...infer AH extends number[], infer AL extends number]
404
- ? Add<AH, [], [AL, ...R]>
405
- : never
404
+ ? Add<AH, [], [AL, ...R]>
405
+ : never
406
406
  : [A, B] extends [
407
- [...infer AH extends number[], infer AL extends number],
408
- [...infer BH extends number[], infer BL extends number]
409
- ]
407
+ [...infer AH extends number[], infer AL extends number],
408
+ [...infer BH extends number[], infer BL extends number]
409
+ ]
410
410
  ? Add<AH, BH, [Digit.Add<AL, BL>, ...R]>
411
411
  : never
412
412
 
413
413
  export type Subtract<A extends number[], B extends number[], R extends number[] = []> = A extends []
414
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
415
+ ? TrimLeadingZeros<R>
416
+ : B extends [...infer BH extends number[], infer BL extends number]
417
+ ? Subtract<[], BH, [ToNegative<BL>, ...R]>
418
+ : never
419
419
  : B extends []
420
420
  ? A extends [...infer AH extends number[], infer AL extends number]
421
- ? Subtract<AH, [], [AL, ...R]>
422
- : never
421
+ ? Subtract<AH, [], [AL, ...R]>
422
+ : never
423
423
  : [A, B] extends [
424
- [...infer AH extends number[], infer AL extends number],
425
- [...infer BH extends number[], infer BL extends number]
426
- ]
424
+ [...infer AH extends number[], infer AL extends number],
425
+ [...infer BH extends number[], infer BL extends number]
426
+ ]
427
427
  ? Subtract<AH, BH, [Digit.Subtract<AL, BL>, ...R]>
428
428
  : never
429
429
 
@@ -465,32 +465,32 @@ export namespace DigitArray {
465
465
  ? TrimLeadingZeros<R>
466
466
  : N extends [infer Tail extends number]
467
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]>
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
474
  : N extends [infer Head extends number, infer Tail extends number]
475
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]>
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
484
  : N extends [...infer Heads extends number[], infer Head extends number, infer Tail extends number]
485
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]>
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
494
  : never
495
495
  }
496
496
 
@@ -503,8 +503,8 @@ export namespace Digit {
503
503
  */
504
504
  export type Add<A extends number, B extends number> = `${A}` extends `-${infer AD extends number}`
505
505
  ? `${B}` extends `-${infer BD extends number}`
506
- ? ToNegative<PositiveEntryAdd<AD, BD>>
507
- : Subtract<B, AD>
506
+ ? ToNegative<PositiveEntryAdd<AD, BD>>
507
+ : Subtract<B, AD>
508
508
  : `${B}` extends `-${infer BD extends number}`
509
509
  ? Subtract<A, BD>
510
510
  : PositiveEntryAdd<A, B>
@@ -0,0 +1,62 @@
1
+ import type { IsBigint } from '../bigint/bigint_type.js'
2
+ import type { IsBoolean } from '../boolean/boolean_type.js'
3
+ import type { IsFunction } from '../function/function_type.js'
4
+ import type { IsNumber } from '../number/number_type.js'
5
+ import type { IsStrictObject } from '../object/is_strict_object.js'
6
+ import type { IsString } from '../string/string_type.js'
7
+ import type { IsSymbol } from '../symbol/symbol_type.js'
8
+
9
+ /**
10
+ * ⚗️ *transform*
11
+ * 🔢 *customizable*
12
+ *
13
+ * Converts primitive types to their boxed types.
14
+ *
15
+ * @typeParam Options['$notBoxable'] return type when `T` is not boxable. Defaults to `never`.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * Box<number> // Number
20
+ * Box<object> // Object
21
+ * Box<string> // String
22
+ * Box<'abc'> // String
23
+ *
24
+ * Box<undefined> // never
25
+ * ```
26
+ */
27
+ export type Box<T, Options extends Box.Options = Box.DefaultOptions> =
28
+ IsFunction<
29
+ T,
30
+ Function,
31
+ IsStrictObject<
32
+ T,
33
+ Object,
34
+ T extends Record<any, any> ? T :
35
+ IsBoolean<
36
+ T,
37
+ Boolean,
38
+ IsNumber<
39
+ T,
40
+ Number,
41
+ IsString<
42
+ T,
43
+ String,
44
+ IsSymbol<
45
+ T,
46
+ Symbol,
47
+ IsBigint<T, BigInt, Options['$notBoxable']>
48
+ >
49
+ >
50
+ >
51
+ >
52
+ >
53
+ >
54
+
55
+ export namespace Box {
56
+ export type Options = {
57
+ $notBoxable?: unknown
58
+ }
59
+ export interface DefaultOptions {
60
+ $notBoxable: never
61
+ }
62
+ }