type-plus 7.6.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 +5 -5
  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 +5 -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} +5 -19
  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 +19 -19
  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 +101 -31
  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 -37
  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 -40
  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 -37
  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,69 @@
1
+ import type { IsAnyOrNever } from '../mix_types/any_or_never_type.js'
2
+
3
+ /**
4
+ * 🌪️ *filter*
5
+ * 🚧 *temporary*
6
+ *
7
+ * Filter `T` to ensure it is an array or tuple.
8
+ *
9
+ * This is a temporary type before `ArrayType` is adjusted to loose check in the next version.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * type R = LooseArrayType<number[]> // number[]
14
+ * type R = LooseArrayType<[1]> // [1]
15
+ * type R = LooseArrayType<number[] | 1> // number[]
16
+ * type R = LooseArrayType<number[] & 1> // number[]s
17
+ *
18
+ * type R = LooseArrayType<string> // never
19
+ * ```
20
+ */export type LooseArrayType<T, Then = T, Else = never> = IsAnyOrNever<
21
+ T,
22
+ Else,
23
+ T extends readonly any[] ? Then : Else
24
+ >
25
+
26
+ /**
27
+ * 🎭 *validate*
28
+ *
29
+ * Validate that `T` is an array or tuple.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * type R = IsLooseArray<number[]> // true
34
+ * type R = IsLooseArray<[1]> // true
35
+ *
36
+ * type R = IsLooseArray<number> // false
37
+ * ```
38
+ */
39
+ export type IsLooseArray<T, Then = true, Else = false> = LooseArrayType<T, Then, Else>
40
+
41
+ /**
42
+ * 🌪️ *filter*
43
+ *
44
+ * Filter `T` to ensure it is not an array nor tuple.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * type R = NotLooseArrayType<number[]> // never
49
+ * type R = NotLooseArrayType<[1]> // never
50
+ *
51
+ * type R = NotLooseArrayType<number> // number
52
+ * ```
53
+ */
54
+ export type NotLooseArrayType<T, Then = T, Else = never> = LooseArrayType<T, Else, Then>
55
+
56
+ /**
57
+ * 🎭 *validate*
58
+ *
59
+ * Validate that `T` is not an array nor tuple.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * type R = IsNotLooseArray<number[]> // false
64
+ * type R = IsNotLooseArray<[1]> // false
65
+ *
66
+ * type R = IsNotLooseArray<number> // true
67
+ * ```
68
+ */
69
+ export type IsNotLooseArray<T, Then = true, Else = false> = LooseArrayType<T, Else, Then>
@@ -26,7 +26,7 @@ import type { PadStart as PadStartArray } from './array_plus.pad_start.js'
26
26
  * ```
27
27
  */
28
28
  export type PadStart<
29
- A extends unknown[],
29
+ A extends readonly unknown[],
30
30
  MaxLength extends number,
31
31
  PadWith = unknown
32
32
  > = number extends A['length']
@@ -14,7 +14,7 @@ The `ArrayType<T>` and friends are used to check if a type is exactly `Array<T>`
14
14
  They are strict type checks, meaning they match only the type `Array<T>`,
15
15
  and not [tuple], [union], or intersection types.
16
16
 
17
- ### [ArrayType](./array_type.ts#18)
17
+ ### [ArrayType](./array_type.ts#l18)
18
18
 
19
19
  `ArrayType<T, Then = T, Else = never>`
20
20
 
@@ -32,7 +32,7 @@ type R = ArrayType<number[] | 1> // never
32
32
  type R = ArrayType<number[] & { a: 1 }> // never
33
33
  ```
34
34
 
35
- ### [IsArray](./array_type.ts#37)
35
+ ### [IsArray](./array_type.ts#l41)
36
36
 
37
37
  `IsArray<T, Then = true, Else = false>`
38
38
 
@@ -49,7 +49,7 @@ type R = IsArray<number> // false
49
49
  type R = IsArray<[1]> // false
50
50
  ```
51
51
 
52
- ### [NotArrayType](./array_type.ts#54)
52
+ ### [NotArrayType](./array_type.ts#l58)
53
53
 
54
54
  `NotArrayType<T, Then = T, Else = never>`
55
55
 
@@ -66,7 +66,7 @@ type R = NotArrayType<number> // number
66
66
  type R = NotArrayType<[1]> // [1]
67
67
  ```
68
68
 
69
- ### [IsNotArrayType](./array_type.ts#71)
69
+ ### [IsNotArrayType](./array_type.ts#l75)
70
70
 
71
71
  `IsNotArrayType<T, Then = true, Else = false>`
72
72
 
@@ -113,7 +113,7 @@ If the `N` is out of bound,
113
113
  or `N` is not a valid index,
114
114
  `ArrayPlus.At` will return the `Fail` case, which defaults to `never`.
115
115
 
116
- ## [`Concat`](./array.concat.ts#L12)
116
+ ## [`Concat`](./array_plus.concat.ts#l15)
117
117
 
118
118
  `Concat<A, B>`
119
119
 
@@ -129,7 +129,7 @@ You are encouraged to use `[...A, ...B]` directly.
129
129
 
130
130
  ## [`FindFirst`](./find_first.ts#l52)
131
131
 
132
- `FindFirst<A, Criteria, Options = { widen, caseEmptyTuple, caseNever, caseNoMatch, caseWiden, caseUnionMiss }>`
132
+ `FindFirst<A, Criteria, Options = { widen, caseEmptyTuple, $never, $noMatch, $widen, $unionMiss }>`
133
133
 
134
134
  🦴 *utilities*
135
135
  🔢 *customizable*
@@ -154,14 +154,14 @@ type R = FindFirst<string[], number> // never
154
154
 
155
155
  // customization
156
156
  type R = FindFirst<[number], 1, { widen: false }> // never
157
- type R = FindFirst<[number], 1, { caseWiden: never }> // never
157
+ type R = FindFirst<[number], 1, { $widen: never }> // never
158
158
  type R = FindFirst<[], 1, { caseEmptyTuple: 2 }> // 2
159
- type R = FindFirst<never, 1, { caseNever: 2 }> // 2
160
- type R = FindFirst<[string], number, { caseNotMatch: 2 }> // 2
161
- type R = FindFirst<[string | number], number, { caseUnionNotMatch: undefined }> // number | undefined
159
+ type R = FindFirst<never, 1, { $never: 2 }> // 2
160
+ type R = FindFirst<[string], number, { $notMatch: 2 }> // 2
161
+ type R = FindFirst<[string | number], number, { $unionNotMatch: undefined }> // number | undefined
162
162
  ```
163
163
 
164
- ## [`FindLast`](./array.find_last.ts)
164
+ ## [`FindLast`](./array.find_last.tsl19)
165
165
 
166
166
  ## [`Some`](./array.some.ts)
167
167
 
@@ -198,7 +198,7 @@ type R = KeepMatch<Array<string | undefined>, string> // string[]
198
198
 
199
199
  ## [`Head`](./head.ts#l23)
200
200
 
201
- `Head<T, Options = { caseNever, caseEmptyTuple }>`
201
+ `Head<T, Options = { $never, caseEmptyTuple }>`
202
202
 
203
203
  🦴 *utilities*
204
204
  🔢 *customizable*
@@ -210,11 +210,11 @@ import type { Head } from 'type-plus'
210
210
 
211
211
  type R = Head<[1, 2, 3]> // 1
212
212
  type R = Head<string[]> // string
213
- type R = Head<never> // caseNever: never
213
+ type R = Head<never> // $never: never
214
214
  type R = Head<[]> // caseEmptyTuple: never
215
215
 
216
216
  // customization
217
- type R = Head<never, { caseNever: 1 }> // 1
217
+ type R = Head<never, { $never: 1 }> // 1
218
218
  type R = Head<[], { caseEmptyTuple: undefined }> // undefined
219
219
  ```
220
220
 
@@ -224,7 +224,7 @@ type R = Head<[], { caseEmptyTuple: undefined }> // undefined
224
224
 
225
225
  ## [`Last`](./last.ts#l23)
226
226
 
227
- `Last<T, Options = { caseNever, caseEmptyTuple }>`
227
+ `Last<T, Options = { $never, caseEmptyTuple }>`
228
228
 
229
229
  🦴 *utilities*
230
230
  🔢 *customizable*
@@ -236,11 +236,11 @@ import type { Last } from 'type-plus'
236
236
 
237
237
  type R = Last<[1, 2, 3]> // 3
238
238
  type R = Last<string[]> // string
239
- type R = Last<never> // caseNever: never
239
+ type R = Last<never> // $never: never
240
240
  type R = Last<[]> // caseEmptyTuple: never
241
241
 
242
242
  // customization
243
- type R = Last<never, { caseNever: 1 }> // 1
243
+ type R = Last<never, { $never: 1 }> // 1
244
244
  type R = Last<[], { caseEmptyTuple: undefined }> // undefined
245
245
  ```
246
246
 
@@ -273,9 +273,9 @@ please check [`TuplePlus`](../tuple/readme.md#TuplePlus).
273
273
 
274
274
  Alias of [At](#at).
275
275
 
276
- ## [ArrayPlus.CommonPropKeys](./array_plus.common_prop_keys.ts#l21)
276
+ ### [ArrayPlus.CommonPropKeys](./array_plus.common_prop_keys.ts#l21)
277
277
 
278
- `ArrayPlus.CommonPropKeys<T extends Record[], Options = { caseNever }>`
278
+ `ArrayPlus.CommonPropKeys<T extends Record[], Options = { $never }>`
279
279
 
280
280
  ⚗️ *transform*
281
281
  🔢 *customizable*
@@ -289,7 +289,7 @@ type R = ArrayPlus.CommonPropKeys<Array<{ a: 1 }>> // 'a'
289
289
  type R = ArrayPlus.CommonPropKeys<Array<{ a: 1, b: 1 } | { a: 1, c: 1 }>> // 'a'
290
290
 
291
291
  // customization
292
- type R = ArrayPlus.CommonPropKeys<never, { caseNever: 1 }> // 1
292
+ type R = ArrayPlus.CommonPropKeys<never, { $never: 1 }> // 1
293
293
  ```
294
294
 
295
295
  ### [`ArrayPlus.Concat`](./array.concat.ts#l12)
@@ -300,7 +300,7 @@ Alias of [Concat](#concat).
300
300
 
301
301
  ### [`ArrayPlus.ElementMatch`](./array_plus.element_match.ts#l30)
302
302
 
303
- `ArrayPlus.ElementMatch<T, Criteria, Options = { widen, caseNotMatch, caseWiden, caseUnionNotMatch }>`
303
+ `ArrayPlus.ElementMatch<T, Criteria, Options = { widen, $notMatch, $widen, $unionNotMatch }>`
304
304
 
305
305
  🌪️ *filter*
306
306
  🔢 *customizable*
@@ -317,10 +317,10 @@ type R = ArrayPlus.ElementMatch<number, 1> // widen: 1
317
317
  type R = ArrayPlus.ElementMatch<number | string, number> // unionNotMatch: number
318
318
 
319
319
  // customization
320
- type R = ArrayPlus.ElementMatch<number, string, { caseNotMatch: 1 }> // 1
320
+ type R = ArrayPlus.ElementMatch<number, string, { $notMatch: 1 }> // 1
321
321
  type R = ArrayPlus.ElementMatch<number, 1, { widen: false }> // never
322
- type R = ArrayPlus.ElementMatch<number, 1, { caseWiden: never }> // never
323
- type R = ArrayPlus.ElementMatch<number | string, number, { caseUnionNotMatch: undefined }> // number | undefined
322
+ type R = ArrayPlus.ElementMatch<number, 1, { $widen: never }> // never
323
+ type R = ArrayPlus.ElementMatch<number | string, number, { $unionNotMatch: undefined }> // number | undefined
324
324
  ```
325
325
 
326
326
  ### [`ArrayPlus.Entries`](./array.entries.ts#L14)
@@ -337,9 +337,26 @@ type R = ArrayPlus.Entries<Array<string | number>> // Array<[number, string | nu
337
337
  type R = ArrayPlus.Entries<[1, 2, 3]> // [[0, 1], [1, 2], [2, 3]]
338
338
  ```
339
339
 
340
+ ### [`ArrayPlus.Filter`](./array_plus.filter.ts#l11)
341
+
342
+ `ArrayPlus.Filter<A, Criteria, Options = { $notArray }>`
343
+
344
+ ⚗️ *transform*
345
+ 🔢 *customizable*
346
+
347
+ Filter the array `A`, keeping entries satisfying `Criteria`.
348
+
349
+ ```ts
350
+ type R = Filter<Array<string | undefined>, string> // string[]
351
+
352
+ // customization
353
+ type R = Filter<never, string, { caseNever: 1 }> // 1
354
+ type R = Filter<['x'], string, { $notArray: 1 }> // 1
355
+ ```
356
+
340
357
  ### [`ArrayPlus.Find`](./array_plus.find.ts#l49)
341
358
 
342
- `ArrayPlus.Find<A, Criteria, Options { widen, caseNever, caseNotMatch, caseTuple, caseWiden, caseUnionNotMatch }>`
359
+ `ArrayPlus.Find<A, Criteria, Options { widen, $never, $notMatch, $tuple, $widen, $unionNotMatch }>`
343
360
 
344
361
  🦴 *utilities*
345
362
  🔢 *customizable*
@@ -359,11 +376,11 @@ type R = ArrayPlus.Find<string[], number> // never
359
376
 
360
377
  // customization
361
378
  type R = ArrayPlus.Find<number[], 1, { widen: false }> // never
362
- type R = ArrayPlus.Find<number[], 1, { caseWiden: never }> // never
363
- type R = ArrayPlus.Find<never, 1, { caseNever: 2 }> // 2
364
- type R = ArrayPlus.Find<string[], number, { caseNotMatch: 2 }> // 2
365
- type R = ArrayPlus.Find<[], 1, { caseTuple: 2 }> // 2
366
- type R = ArrayPlus.Find<Array<string | number>, number, { caseUnionNotMatch: undefined }> // number | undefined
379
+ type R = ArrayPlus.Find<number[], 1, { $widen: never }> // never
380
+ type R = ArrayPlus.Find<never, 1, { $never: 2 }> // 2
381
+ type R = ArrayPlus.Find<string[], number, { $notMatch: 2 }> // 2
382
+ type R = ArrayPlus.Find<[], 1, { $tuple: 2 }> // 2
383
+ type R = ArrayPlus.Find<Array<string | number>, number, { $unionNotMatch: undefined }> // number | undefined
367
384
  ```
368
385
 
369
386
  ### [`ArrayPlus.FindLast`](./array.find_last.ts#L17)
@@ -382,7 +399,60 @@ ArrayPlus.FindLast<Array<1 | 2 | 'x'>, number> // 1 | 2 | undefined
382
399
  ArrayPlus.FindLast<[true, 123, 'x', 321], number> // 321
383
400
  ```
384
401
 
385
- ### [`ArrayPlus.Reverse`](./array.reverse.ts#L14)
402
+ ### [`ArrayPlus.IndexAt](./array_plus.index_at.ts#l25)
403
+
404
+ `ArrayPlus.IndexAt<A, Index>`
405
+
406
+ 🦴 *utilities*
407
+
408
+ Gets the normalized index to access the element of an array or tuple.
409
+
410
+ ```ts
411
+ type R = IndexAt<['a', 'b', 'c'], 2> // 2
412
+ type R = IndexAt<['a', 'b', 'c'], -2> // 1
413
+
414
+ type R = IndexAt<['a', 'b', 'c'], 3> // never
415
+ type R = IndexAt<['a', 'b', 'c'], -4> // never
416
+ ```
417
+
418
+ ### [`ArrayPlus.IsIndexOutOfBound](./array_plus.is_index_out_of_bound.ts#l18)
419
+
420
+ 🎭 *validate*
421
+
422
+ Is `N` an out of bound index of `A`.
423
+
424
+ ```ts
425
+ type R = IsIndexOutOfBound<[1], 0> // false
426
+ type R = IsIndexOutOfBound<[1], -1> // false
427
+
428
+ type R = IsIndexOutOfBound<[1], 1> // true
429
+ type R = IsIndexOutOfBound<[1], -2> // true
430
+ ```
431
+
432
+ ### [`ArrayPlus.IsReadonly](./array_plus.is_readonly.ts#l19)
433
+
434
+ `ArrayPlus.IsReadonly<A, Options = { $then, $else, $never, $notArray }>`
435
+
436
+ 🎭 *validate*
437
+ 🔢 *customizable*
438
+
439
+ Checks if `A` is a readonly array or tuple.
440
+
441
+ ```ts
442
+ type R = IsReadonly<readonly string[]> // true
443
+ type R = IsReadonly<readonly [1, 2, 3, 4, 5]> // true
444
+
445
+ type R = IsReadonly<[1, 2, 3, 4, 5]> // false
446
+ type R = IsReadonly<readonly string[] | number> // boolean
447
+
448
+ // customization
449
+ type R = IsReadonly<readonly string[], { $then: 1 }> // 1
450
+ type R = IsReadonly<string[], { $else: 1 }> // 1
451
+ type R = IsReadonly<number, { $notArray: 1 }> // 1
452
+ type R = IsReadonly<never, { $never: 1 }> // 1
453
+ ```
454
+
455
+ ### [`ArrayPlus.Reverse`](./array.reverse.ts#l14)
386
456
 
387
457
  > `ArrayPlus.Reverse<A>`
388
458
 
@@ -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