type-plus 3.12.2 → 3.15.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 (1277) hide show
  1. package/README.md +36 -37
  2. package/cjs/ComposableTypes.d.ts +8 -0
  3. package/cjs/ComposableTypes.js +3 -0
  4. package/cjs/ComposableTypes.js.map +1 -0
  5. package/{lib → cjs}/JSONTypes.d.ts +0 -0
  6. package/cjs/JSONTypes.js +27 -0
  7. package/cjs/JSONTypes.js.map +1 -0
  8. package/{lib → cjs}/PrimitiveTypes.d.ts +0 -0
  9. package/{lib → cjs}/PrimitiveTypes.js +0 -0
  10. package/cjs/PrimitiveTypes.js.map +1 -0
  11. package/{lib → cjs}/UnionKeys.d.ts +0 -0
  12. package/{lib → cjs}/UnionKeys.js +0 -0
  13. package/cjs/UnionKeys.js.map +1 -0
  14. package/{lib → cjs}/array/CommonPropKeys.d.ts +0 -0
  15. package/{lib → cjs}/array/CommonPropKeys.js +0 -0
  16. package/cjs/array/CommonPropKeys.js.map +1 -0
  17. package/{lib → cjs}/array/Concat.d.ts +0 -0
  18. package/{lib → cjs}/array/Concat.js +0 -0
  19. package/cjs/array/Concat.js.map +1 -0
  20. package/{lib → cjs}/array/CreateTuple.d.ts +0 -0
  21. package/{lib → cjs}/array/CreateTuple.js +0 -0
  22. package/cjs/array/CreateTuple.js.map +1 -0
  23. package/{lib → cjs}/array/DropFirst.d.ts +0 -0
  24. package/{lib → cjs}/array/DropFirst.js +0 -0
  25. package/cjs/array/DropFirst.js.map +1 -0
  26. package/{lib → cjs}/array/DropLast.d.ts +0 -0
  27. package/{lib → cjs}/array/DropLast.js +0 -0
  28. package/cjs/array/DropLast.js.map +1 -0
  29. package/{lib → cjs}/array/Filter.d.ts +0 -0
  30. package/{lib → cjs}/array/Filter.js +0 -0
  31. package/cjs/array/Filter.js.map +1 -0
  32. package/{lib → cjs}/array/FindFirst.d.ts +0 -0
  33. package/{lib → cjs}/array/FindFirst.js +0 -0
  34. package/cjs/array/FindFirst.js.map +1 -0
  35. package/{lib → cjs}/array/FindLast.d.ts +0 -0
  36. package/{lib → cjs}/array/FindLast.js +0 -0
  37. package/cjs/array/FindLast.js.map +1 -0
  38. package/{lib → cjs}/array/Head.d.ts +0 -0
  39. package/{lib → cjs}/array/Head.js +0 -0
  40. package/cjs/array/Head.js.map +1 -0
  41. package/{lib → cjs}/array/IntersectOfProps.d.ts +0 -0
  42. package/{lib → cjs}/array/IntersectOfProps.js +0 -0
  43. package/cjs/array/IntersectOfProps.js.map +1 -0
  44. package/{lib → cjs}/array/IsArray.d.ts +0 -0
  45. package/{lib → cjs}/array/IsArray.js +0 -0
  46. package/cjs/array/IsArray.js.map +1 -0
  47. package/{lib → cjs}/array/PadLeft.d.ts +0 -0
  48. package/{lib → cjs}/array/PadLeft.js +0 -0
  49. package/cjs/array/PadLeft.js.map +1 -0
  50. package/{lib → cjs}/array/Reverse.d.ts +0 -0
  51. package/{lib → cjs}/array/Reverse.js +0 -0
  52. package/cjs/array/Reverse.js.map +1 -0
  53. package/{lib → cjs}/array/Some.d.ts +0 -0
  54. package/{lib → cjs}/array/Some.js +0 -0
  55. package/cjs/array/Some.js.map +1 -0
  56. package/{lib → cjs}/array/Tail.d.ts +0 -0
  57. package/{lib → cjs}/array/Tail.js +0 -0
  58. package/cjs/array/Tail.js.map +1 -0
  59. package/{lib → cjs}/array/UnionOfProps.d.ts +0 -0
  60. package/{lib → cjs}/array/UnionOfProps.js +0 -0
  61. package/cjs/array/UnionOfProps.js.map +1 -0
  62. package/{lib → cjs}/array/UnionOfValues.d.ts +0 -0
  63. package/{lib → cjs}/array/UnionOfValues.js +0 -0
  64. package/cjs/array/UnionOfValues.js.map +1 -0
  65. package/{lib → cjs}/array/index.d.ts +0 -0
  66. package/{lib → cjs}/array/index.js +0 -0
  67. package/cjs/array/index.js.map +1 -0
  68. package/{lib → cjs}/array/literalArray.d.ts +0 -0
  69. package/{lib → cjs}/array/literalArray.js +0 -0
  70. package/cjs/array/literalArray.js.map +1 -0
  71. package/{lib → cjs}/array/reduceWhile.d.ts +0 -0
  72. package/{lib → cjs}/array/reduceWhile.js +0 -0
  73. package/cjs/array/reduceWhile.js.map +1 -0
  74. package/cjs/assertion/assertType.d.ts +32 -0
  75. package/cjs/assertion/assertType.js +107 -0
  76. package/cjs/assertion/assertType.js.map +1 -0
  77. package/{lib → cjs}/assertion/index.d.ts +0 -0
  78. package/{lib → cjs}/assertion/index.js +0 -0
  79. package/cjs/assertion/index.js.map +1 -0
  80. package/{lib → cjs}/class/AnyConstructor.d.ts +0 -0
  81. package/{lib → cjs}/class/AnyConstructor.js +0 -0
  82. package/cjs/class/AnyConstructor.js.map +1 -0
  83. package/{lib → cjs}/class/index.d.ts +0 -0
  84. package/{lib → cjs}/class/index.js +0 -0
  85. package/cjs/class/index.js.map +1 -0
  86. package/{lib → cjs}/class/isConstructor.d.ts +0 -0
  87. package/cjs/class/isConstructor.js +17 -0
  88. package/cjs/class/isConstructor.js.map +1 -0
  89. package/{lib → cjs}/function/AnyFunction.d.ts +0 -0
  90. package/{lib → cjs}/function/AnyFunction.js +0 -0
  91. package/cjs/function/AnyFunction.js.map +1 -0
  92. package/{lib → cjs}/function/index.d.ts +0 -0
  93. package/{lib → cjs}/function/index.js +0 -0
  94. package/cjs/function/index.js.map +1 -0
  95. package/{lib → cjs}/functional/ChainFn.d.ts +0 -0
  96. package/{lib → cjs}/functional/ChainFn.js +0 -0
  97. package/cjs/functional/ChainFn.js.map +1 -0
  98. package/{lib → cjs}/functional/index.d.ts +0 -0
  99. package/{lib → cjs}/functional/index.js +0 -0
  100. package/cjs/functional/index.js.map +1 -0
  101. package/cjs/index.d.ts +21 -0
  102. package/cjs/index.js +50 -0
  103. package/cjs/index.js.map +1 -0
  104. package/{lib → cjs}/math/Abs.d.ts +0 -0
  105. package/{lib → cjs}/math/Abs.js +0 -0
  106. package/cjs/math/Abs.js.map +1 -0
  107. package/{lib → cjs}/math/Add.d.ts +0 -0
  108. package/{lib → cjs}/math/Add.js +0 -0
  109. package/cjs/math/Add.js.map +1 -0
  110. package/{lib → cjs}/math/Digit.d.ts +0 -0
  111. package/{lib → cjs}/math/Digit.js +0 -0
  112. package/cjs/math/Digit.js.map +1 -0
  113. package/{lib → cjs}/math/GreaterThan.d.ts +0 -0
  114. package/{lib → cjs}/math/GreaterThan.js +0 -0
  115. package/cjs/math/GreaterThan.js.map +1 -0
  116. package/{lib → cjs}/math/IsPositive.d.ts +0 -0
  117. package/{lib → cjs}/math/IsPositive.js +0 -0
  118. package/cjs/math/IsPositive.js.map +1 -0
  119. package/{lib → cjs}/math/IsWhole.d.ts +0 -0
  120. package/{lib → cjs}/math/IsWhole.js +0 -0
  121. package/cjs/math/IsWhole.js.map +1 -0
  122. package/{lib → cjs}/math/Max.d.ts +0 -0
  123. package/{lib → cjs}/math/Max.js +0 -0
  124. package/cjs/math/Max.js.map +1 -0
  125. package/cjs/math/Subtract.d.ts +14 -0
  126. package/{lib → cjs}/math/Subtract.js +0 -0
  127. package/cjs/math/Subtract.js.map +1 -0
  128. package/{lib → cjs}/math/index.d.ts +0 -0
  129. package/{lib → cjs}/math/index.js +0 -0
  130. package/cjs/math/index.js.map +1 -0
  131. package/cjs/nodejs/index.d.ts +1 -0
  132. package/cjs/nodejs/index.js +14 -0
  133. package/cjs/nodejs/index.js.map +1 -0
  134. package/cjs/nodejs/isNodeError.d.ts +31 -0
  135. package/cjs/nodejs/isNodeError.js +13 -0
  136. package/cjs/nodejs/isNodeError.js.map +1 -0
  137. package/{lib → cjs}/nominal-types/Brand.d.ts +0 -0
  138. package/{lib → cjs}/nominal-types/Brand.js +0 -0
  139. package/cjs/nominal-types/Brand.js.map +1 -0
  140. package/{lib → cjs}/nominal-types/Flavor.d.ts +0 -0
  141. package/cjs/nominal-types/Flavor.js +17 -0
  142. package/cjs/nominal-types/Flavor.js.map +1 -0
  143. package/{lib → cjs}/nominal-types/index.d.ts +0 -0
  144. package/{lib → cjs}/nominal-types/index.js +0 -0
  145. package/cjs/nominal-types/index.js.map +1 -0
  146. package/{lib → cjs}/nominal-types/nominalMatch.d.ts +0 -0
  147. package/{lib → cjs}/nominal-types/nominalMatch.js +0 -0
  148. package/cjs/nominal-types/nominalMatch.js.map +1 -0
  149. package/{lib → cjs}/nominal-types/types.d.ts +0 -0
  150. package/{lib → cjs}/nominal-types/types.js +0 -0
  151. package/cjs/nominal-types/types.js.map +1 -0
  152. package/{lib → cjs}/object/ANotB.d.ts +0 -0
  153. package/{lib → cjs}/object/ANotB.js +0 -0
  154. package/cjs/object/ANotB.js.map +1 -0
  155. package/{lib → cjs}/object/AnyRecord.d.ts +0 -0
  156. package/{lib → cjs}/object/AnyRecord.js +0 -0
  157. package/cjs/object/AnyRecord.js.map +1 -0
  158. package/{lib → cjs}/object/ExcludePropType.d.ts +0 -0
  159. package/{lib → cjs}/object/ExcludePropType.js +0 -0
  160. package/cjs/object/ExcludePropType.js.map +1 -0
  161. package/{lib → cjs}/object/IsDisjoint.d.ts +0 -0
  162. package/{lib → cjs}/object/IsDisjoint.js +0 -0
  163. package/cjs/object/IsDisjoint.js.map +1 -0
  164. package/{lib → cjs}/object/IsRecord.d.ts +0 -0
  165. package/{lib → cjs}/object/IsRecord.js +0 -0
  166. package/cjs/object/IsRecord.js.map +1 -0
  167. package/{lib → cjs}/object/KeyTypes.d.ts +0 -0
  168. package/{lib → cjs}/object/KeyTypes.js +0 -0
  169. package/cjs/object/KeyTypes.js.map +1 -0
  170. package/{lib → cjs}/object/KeyofOptional.d.ts +0 -0
  171. package/{lib → cjs}/object/KeyofOptional.js +0 -0
  172. package/cjs/object/KeyofOptional.js.map +1 -0
  173. package/{lib → cjs}/object/KeysWithDiffType.d.ts +0 -0
  174. package/{lib → cjs}/object/KeysWithDiffType.js +0 -0
  175. package/cjs/object/KeysWithDiffType.js.map +1 -0
  176. package/{lib → cjs}/object/KnownKeys.d.ts +0 -0
  177. package/{lib → cjs}/object/KnownKeys.js +0 -0
  178. package/cjs/object/KnownKeys.js.map +1 -0
  179. package/{lib → cjs}/object/OptionalKeys.d.ts +0 -0
  180. package/{lib → cjs}/object/OptionalKeys.js +0 -0
  181. package/cjs/object/OptionalKeys.js.map +1 -0
  182. package/{lib → cjs}/object/Partial.d.ts +0 -0
  183. package/{lib → cjs}/object/Partial.js +0 -0
  184. package/cjs/object/Partial.js.map +1 -0
  185. package/{lib → cjs}/object/RecursiveIntersect.d.ts +0 -0
  186. package/{lib → cjs}/object/RecursiveIntersect.js +0 -0
  187. package/cjs/object/RecursiveIntersect.js.map +1 -0
  188. package/{lib → cjs}/object/RecursivePartial.d.ts +0 -0
  189. package/{lib → cjs}/object/RecursivePartial.js +0 -0
  190. package/cjs/object/RecursivePartial.js.map +1 -0
  191. package/{lib → cjs}/object/RecursiveRequired.d.ts +0 -0
  192. package/{lib → cjs}/object/RecursiveRequired.js +0 -0
  193. package/cjs/object/RecursiveRequired.js.map +1 -0
  194. package/{lib → cjs}/object/Required.d.ts +0 -0
  195. package/{lib → cjs}/object/Required.js +0 -0
  196. package/cjs/object/Required.js.map +1 -0
  197. package/{lib → cjs}/object/RequiredKeys.d.ts +0 -0
  198. package/{lib → cjs}/object/RequiredKeys.js +0 -0
  199. package/cjs/object/RequiredKeys.js.map +1 -0
  200. package/{lib → cjs}/object/SpreadRecord.d.ts +0 -0
  201. package/{lib → cjs}/object/SpreadRecord.js +0 -0
  202. package/cjs/object/SpreadRecord.js.map +1 -0
  203. package/{lib → cjs}/object/ValueOf.d.ts +0 -0
  204. package/{lib → cjs}/object/ValueOf.js +0 -0
  205. package/cjs/object/ValueOf.js.map +1 -0
  206. package/{lib → cjs}/object/everyKey.d.ts +0 -0
  207. package/{lib → cjs}/object/everyKey.js +0 -0
  208. package/cjs/object/everyKey.js.map +1 -0
  209. package/{lib → cjs}/object/facade.d.ts +0 -0
  210. package/cjs/object/facade.js +31 -0
  211. package/cjs/object/facade.js.map +1 -0
  212. package/{lib → cjs}/object/filterKey.d.ts +0 -0
  213. package/{lib → cjs}/object/filterKey.js +0 -0
  214. package/cjs/object/filterKey.js.map +1 -0
  215. package/{lib → cjs}/object/findKey.d.ts +0 -0
  216. package/{lib → cjs}/object/findKey.js +0 -0
  217. package/cjs/object/findKey.js.map +1 -0
  218. package/{lib → cjs}/object/forEachKey.d.ts +0 -0
  219. package/{lib → cjs}/object/forEachKey.js +0 -0
  220. package/cjs/object/forEachKey.js.map +1 -0
  221. package/{lib → cjs}/object/getField.d.ts +0 -0
  222. package/{lib → cjs}/object/getField.js +0 -0
  223. package/cjs/object/getField.js.map +1 -0
  224. package/{lib → cjs}/object/hasKey.d.ts +0 -0
  225. package/{lib → cjs}/object/hasKey.js +0 -0
  226. package/cjs/object/hasKey.js.map +1 -0
  227. package/{lib → cjs}/object/hasProperty.d.ts +0 -0
  228. package/{lib → cjs}/object/hasProperty.js +0 -0
  229. package/cjs/object/hasProperty.js.map +1 -0
  230. package/{lib → cjs}/object/index.d.ts +0 -0
  231. package/{lib → cjs}/object/index.js +0 -0
  232. package/cjs/object/index.js.map +1 -0
  233. package/{lib → cjs}/object/mapKey.d.ts +0 -0
  234. package/{lib → cjs}/object/mapKey.js +0 -0
  235. package/cjs/object/mapKey.js.map +1 -0
  236. package/{lib → cjs}/object/mapProperties.d.ts +0 -0
  237. package/cjs/object/mapProperties.js +18 -0
  238. package/cjs/object/mapProperties.js.map +1 -0
  239. package/{lib → cjs}/object/omit.d.ts +0 -0
  240. package/cjs/object/omit.js +17 -0
  241. package/cjs/object/omit.js.map +1 -0
  242. package/{lib → cjs}/object/pick.d.ts +0 -0
  243. package/cjs/object/pick.js +17 -0
  244. package/cjs/object/pick.js.map +1 -0
  245. package/{lib → cjs}/object/reduceKey.d.ts +0 -0
  246. package/{lib → cjs}/object/reduceKey.js +0 -0
  247. package/cjs/object/reduceKey.js.map +1 -0
  248. package/{lib → cjs}/object/replaceProperty.d.ts +0 -0
  249. package/{lib → cjs}/object/replaceProperty.js +0 -0
  250. package/cjs/object/replaceProperty.js.map +1 -0
  251. package/{lib → cjs}/object/someKey.d.ts +0 -0
  252. package/{lib → cjs}/object/someKey.js +0 -0
  253. package/cjs/object/someKey.js.map +1 -0
  254. package/{lib → cjs}/object/typeOverrideIncompatible.d.ts +0 -0
  255. package/{lib → cjs}/object/typeOverrideIncompatible.js +0 -0
  256. package/cjs/object/typeOverrideIncompatible.js.map +1 -0
  257. package/cjs/predicates/CanAssign.d.ts +9 -0
  258. package/{lib → cjs}/predicates/CanAssign.js +0 -0
  259. package/cjs/predicates/CanAssign.js.map +1 -0
  260. package/{lib → cjs}/predicates/Equal.d.ts +0 -0
  261. package/{lib → cjs}/predicates/Equal.js +0 -0
  262. package/cjs/predicates/Equal.js.map +1 -0
  263. package/{lib → cjs}/predicates/Extends.d.ts +0 -0
  264. package/{lib → cjs}/predicates/Extends.js +0 -0
  265. package/cjs/predicates/Extends.js.map +1 -0
  266. package/{lib → cjs}/predicates/If.d.ts +0 -0
  267. package/{lib → cjs}/predicates/If.js +0 -0
  268. package/cjs/predicates/If.js.map +1 -0
  269. package/cjs/predicates/index.d.ts +11 -0
  270. package/cjs/predicates/index.js +20 -0
  271. package/cjs/predicates/index.js.map +1 -0
  272. package/cjs/predicates/isEmptyObject.d.ts +1 -0
  273. package/cjs/predicates/isEmptyObject.js +3 -0
  274. package/cjs/predicates/isEmptyObject.js.map +1 -0
  275. package/cjs/predicates/isType.d.ts +10 -0
  276. package/cjs/predicates/isType.js +28 -0
  277. package/cjs/predicates/isType.js.map +1 -0
  278. package/{lib → cjs}/predicates/logical.d.ts +0 -0
  279. package/{lib → cjs}/predicates/logical.js +0 -0
  280. package/cjs/predicates/logical.js.map +1 -0
  281. package/{lib → cjs}/promise/PromiseValue.d.ts +0 -0
  282. package/{lib → cjs}/promise/PromiseValue.js +0 -0
  283. package/cjs/promise/PromiseValue.js.map +1 -0
  284. package/{lib → cjs}/promise/PromiseValueMerge.d.ts +0 -0
  285. package/{lib → cjs}/promise/PromiseValueMerge.js +0 -0
  286. package/cjs/promise/PromiseValueMerge.js.map +1 -0
  287. package/{lib → cjs}/promise/index.d.ts +0 -0
  288. package/{lib → cjs}/promise/index.js +0 -0
  289. package/cjs/promise/index.js.map +1 -0
  290. package/cjs/promise/isPromise.d.ts +1 -0
  291. package/cjs/promise/isPromise.js +9 -0
  292. package/cjs/promise/isPromise.js.map +1 -0
  293. package/{lib → cjs}/promise/mapSeries.d.ts +0 -0
  294. package/cjs/promise/mapSeries.js +8 -0
  295. package/cjs/promise/mapSeries.js.map +1 -0
  296. package/{lib → cjs}/types/AllType.d.ts +0 -0
  297. package/{lib → cjs}/types/AllType.js +0 -0
  298. package/cjs/types/AllType.js.map +1 -0
  299. package/{lib → cjs}/types/Any.d.ts +0 -0
  300. package/{lib → cjs}/types/Any.js +0 -0
  301. package/cjs/types/Any.js.map +1 -0
  302. package/{lib → cjs}/types/Array.d.ts +0 -0
  303. package/{lib → cjs}/types/Array.js +0 -0
  304. package/cjs/types/Array.js.map +1 -0
  305. package/{lib → cjs}/types/Boolean.d.ts +0 -0
  306. package/{lib → cjs}/types/Boolean.js +0 -0
  307. package/cjs/types/Boolean.js.map +1 -0
  308. package/{lib → cjs}/types/Generate.d.ts +0 -0
  309. package/{lib → cjs}/types/Generate.js +0 -0
  310. package/cjs/types/Generate.js.map +1 -0
  311. package/{lib → cjs}/types/Null.d.ts +0 -0
  312. package/{lib → cjs}/types/Null.js +0 -0
  313. package/cjs/types/Null.js.map +1 -0
  314. package/{lib → cjs}/types/Number.d.ts +0 -0
  315. package/cjs/types/Number.js +50 -0
  316. package/cjs/types/Number.js.map +1 -0
  317. package/cjs/types/Object.d.ts +313 -0
  318. package/cjs/types/Object.js +35 -0
  319. package/cjs/types/Object.js.map +1 -0
  320. package/{lib → cjs}/types/Record.d.ts +0 -0
  321. package/{lib → cjs}/types/Record.js +0 -0
  322. package/cjs/types/Record.js.map +1 -0
  323. package/{lib → cjs}/types/String.d.ts +0 -0
  324. package/cjs/types/String.js +51 -0
  325. package/cjs/types/String.js.map +1 -0
  326. package/{lib → cjs}/types/Symbol.d.ts +0 -0
  327. package/{lib → cjs}/types/Symbol.js +0 -0
  328. package/cjs/types/Symbol.js.map +1 -0
  329. package/{lib → cjs}/types/Tuple.d.ts +0 -0
  330. package/cjs/types/Tuple.js +43 -0
  331. package/cjs/types/Tuple.js.map +1 -0
  332. package/{lib → cjs}/types/Undefined.d.ts +0 -0
  333. package/{lib → cjs}/types/Undefined.js +0 -0
  334. package/cjs/types/Undefined.js.map +1 -0
  335. package/{lib → cjs}/types/Union.d.ts +0 -0
  336. package/cjs/types/Union.js +52 -0
  337. package/cjs/types/Union.js.map +1 -0
  338. package/{lib → cjs}/types/Unknown.d.ts +0 -0
  339. package/{lib → cjs}/types/Unknown.js +0 -0
  340. package/cjs/types/Unknown.js.map +1 -0
  341. package/{lib → cjs}/types/analyze.d.ts +0 -0
  342. package/cjs/types/analyze.js +159 -0
  343. package/cjs/types/analyze.js.map +1 -0
  344. package/{lib → cjs}/types/check.d.ts +0 -0
  345. package/cjs/types/check.js +25 -0
  346. package/cjs/types/check.js.map +1 -0
  347. package/{lib → cjs}/types/conform.d.ts +0 -0
  348. package/cjs/types/conform.js +26 -0
  349. package/cjs/types/conform.js.map +1 -0
  350. package/{lib → cjs}/types/getPlainAnalysisReport.d.ts +0 -0
  351. package/cjs/types/getPlainAnalysisReport.js +120 -0
  352. package/cjs/types/getPlainAnalysisReport.js.map +1 -0
  353. package/{lib → cjs}/types/index.d.ts +0 -0
  354. package/{lib → cjs}/types/index.js +0 -0
  355. package/cjs/types/index.js.map +1 -0
  356. package/cjs/types/optional.d.ts +328 -0
  357. package/{lib → cjs}/types/optional.js +0 -0
  358. package/cjs/types/optional.js.map +1 -0
  359. package/cjs/types/required.d.ts +664 -0
  360. package/{lib → cjs}/types/required.js +0 -0
  361. package/cjs/types/required.js.map +1 -0
  362. package/{lib → cjs}/types/satisfy.d.ts +0 -0
  363. package/cjs/types/satisfy.js +26 -0
  364. package/cjs/types/satisfy.js.map +1 -0
  365. package/{lib → cjs}/types/types.d.ts +0 -0
  366. package/{lib → cjs}/types/types.js +0 -0
  367. package/cjs/types/types.js.map +1 -0
  368. package/{lib → cjs}/utils/Widen.d.ts +0 -0
  369. package/{lib → cjs}/utils/Widen.js +0 -0
  370. package/cjs/utils/Widen.js.map +1 -0
  371. package/{lib → cjs}/utils/as.d.ts +0 -0
  372. package/{lib → cjs}/utils/as.js +0 -0
  373. package/cjs/utils/as.js.map +1 -0
  374. package/{lib → cjs}/utils/index.d.ts +0 -0
  375. package/{lib → cjs}/utils/index.js +0 -0
  376. package/cjs/utils/index.js.map +1 -0
  377. package/esm/ComposableTypes.js +2 -0
  378. package/esm/ComposableTypes.js.map +1 -0
  379. package/esm/JSONTypes.js +11 -0
  380. package/esm/JSONTypes.js.map +1 -0
  381. package/{libm → esm}/PrimitiveTypes.js +0 -0
  382. package/esm/PrimitiveTypes.js.map +1 -0
  383. package/{libm → esm}/UnionKeys.js +0 -0
  384. package/esm/UnionKeys.js.map +1 -0
  385. package/{libm → esm}/array/CommonPropKeys.js +0 -0
  386. package/esm/array/CommonPropKeys.js.map +1 -0
  387. package/{libm → esm}/array/Concat.js +0 -0
  388. package/esm/array/Concat.js.map +1 -0
  389. package/{libm → esm}/array/CreateTuple.js +0 -0
  390. package/esm/array/CreateTuple.js.map +1 -0
  391. package/{libm → esm}/array/DropFirst.js +0 -0
  392. package/esm/array/DropFirst.js.map +1 -0
  393. package/{libm → esm}/array/DropLast.js +0 -0
  394. package/esm/array/DropLast.js.map +1 -0
  395. package/{libm → esm}/array/Filter.js +0 -0
  396. package/esm/array/Filter.js.map +1 -0
  397. package/{libm → esm}/array/FindFirst.js +0 -0
  398. package/esm/array/FindFirst.js.map +1 -0
  399. package/{libm → esm}/array/FindLast.js +0 -0
  400. package/esm/array/FindLast.js.map +1 -0
  401. package/{libm → esm}/array/Head.js +0 -0
  402. package/esm/array/Head.js.map +1 -0
  403. package/{libm → esm}/array/IntersectOfProps.js +0 -0
  404. package/esm/array/IntersectOfProps.js.map +1 -0
  405. package/{libm → esm}/array/IsArray.js +0 -0
  406. package/esm/array/IsArray.js.map +1 -0
  407. package/{libm → esm}/array/PadLeft.js +0 -0
  408. package/esm/array/PadLeft.js.map +1 -0
  409. package/{libm → esm}/array/Reverse.js +0 -0
  410. package/esm/array/Reverse.js.map +1 -0
  411. package/{libm → esm}/array/Some.js +0 -0
  412. package/esm/array/Some.js.map +1 -0
  413. package/{libm → esm}/array/Tail.js +0 -0
  414. package/esm/array/Tail.js.map +1 -0
  415. package/{libm → esm}/array/UnionOfProps.js +0 -0
  416. package/esm/array/UnionOfProps.js.map +1 -0
  417. package/{libm → esm}/array/UnionOfValues.js +0 -0
  418. package/esm/array/UnionOfValues.js.map +1 -0
  419. package/{libm → esm}/array/index.js +0 -0
  420. package/esm/array/index.js.map +1 -0
  421. package/{libm → esm}/array/literalArray.js +0 -0
  422. package/esm/array/literalArray.js.map +1 -0
  423. package/{libm → esm}/array/reduceWhile.js +0 -0
  424. package/esm/array/reduceWhile.js.map +1 -0
  425. package/{libm → esm}/assertion/assertType.js +0 -0
  426. package/esm/assertion/assertType.js.map +1 -0
  427. package/{libm → esm}/assertion/index.js +0 -0
  428. package/esm/assertion/index.js.map +1 -0
  429. package/{libm → esm}/class/AnyConstructor.js +0 -0
  430. package/esm/class/AnyConstructor.js.map +1 -0
  431. package/{libm → esm}/class/index.js +0 -0
  432. package/esm/class/index.js.map +1 -0
  433. package/esm/class/isConstructor.js +13 -0
  434. package/esm/class/isConstructor.js.map +1 -0
  435. package/{libm → esm}/function/AnyFunction.js +0 -0
  436. package/esm/function/AnyFunction.js.map +1 -0
  437. package/{libm → esm}/function/index.js +0 -0
  438. package/esm/function/index.js.map +1 -0
  439. package/{libm → esm}/functional/ChainFn.js +0 -0
  440. package/esm/functional/ChainFn.js.map +1 -0
  441. package/{libm → esm}/functional/index.js +0 -0
  442. package/esm/functional/index.js.map +1 -0
  443. package/esm/index.js +22 -0
  444. package/esm/index.js.map +1 -0
  445. package/{libm → esm}/math/Abs.js +0 -0
  446. package/esm/math/Abs.js.map +1 -0
  447. package/{libm → esm}/math/Add.js +0 -0
  448. package/esm/math/Add.js.map +1 -0
  449. package/{libm → esm}/math/Digit.js +0 -0
  450. package/esm/math/Digit.js.map +1 -0
  451. package/{libm → esm}/math/GreaterThan.js +0 -0
  452. package/esm/math/GreaterThan.js.map +1 -0
  453. package/{libm → esm}/math/IsPositive.js +0 -0
  454. package/esm/math/IsPositive.js.map +1 -0
  455. package/{libm → esm}/math/IsWhole.js +0 -0
  456. package/esm/math/IsWhole.js.map +1 -0
  457. package/{libm → esm}/math/Max.js +0 -0
  458. package/esm/math/Max.js.map +1 -0
  459. package/{libm → esm}/math/Subtract.js +0 -0
  460. package/esm/math/Subtract.js.map +1 -0
  461. package/{libm → esm}/math/index.js +0 -0
  462. package/esm/math/index.js.map +1 -0
  463. package/esm/nodejs/index.js +2 -0
  464. package/esm/nodejs/index.js.map +1 -0
  465. package/esm/nodejs/isNodeError.js +9 -0
  466. package/esm/nodejs/isNodeError.js.map +1 -0
  467. package/{libm → esm}/nominal-types/Brand.js +0 -0
  468. package/esm/nominal-types/Brand.js.map +1 -0
  469. package/esm/nominal-types/Flavor.js +13 -0
  470. package/esm/nominal-types/Flavor.js.map +1 -0
  471. package/{libm → esm}/nominal-types/index.js +0 -0
  472. package/esm/nominal-types/index.js.map +1 -0
  473. package/{libm → esm}/nominal-types/nominalMatch.js +0 -0
  474. package/esm/nominal-types/nominalMatch.js.map +1 -0
  475. package/{libm → esm}/nominal-types/types.js +0 -0
  476. package/esm/nominal-types/types.js.map +1 -0
  477. package/{libm → esm}/object/ANotB.js +0 -0
  478. package/esm/object/ANotB.js.map +1 -0
  479. package/{libm → esm}/object/AnyRecord.js +0 -0
  480. package/esm/object/AnyRecord.js.map +1 -0
  481. package/{libm → esm}/object/ExcludePropType.js +0 -0
  482. package/esm/object/ExcludePropType.js.map +1 -0
  483. package/{libm → esm}/object/IsDisjoint.js +0 -0
  484. package/esm/object/IsDisjoint.js.map +1 -0
  485. package/{libm → esm}/object/IsRecord.js +0 -0
  486. package/esm/object/IsRecord.js.map +1 -0
  487. package/{libm → esm}/object/KeyTypes.js +0 -0
  488. package/esm/object/KeyTypes.js.map +1 -0
  489. package/{libm → esm}/object/KeyofOptional.js +0 -0
  490. package/esm/object/KeyofOptional.js.map +1 -0
  491. package/{libm → esm}/object/KeysWithDiffType.js +0 -0
  492. package/esm/object/KeysWithDiffType.js.map +1 -0
  493. package/{libm → esm}/object/KnownKeys.js +0 -0
  494. package/esm/object/KnownKeys.js.map +1 -0
  495. package/{libm → esm}/object/OptionalKeys.js +0 -0
  496. package/esm/object/OptionalKeys.js.map +1 -0
  497. package/{libm → esm}/object/Partial.js +0 -0
  498. package/esm/object/Partial.js.map +1 -0
  499. package/{libm → esm}/object/RecursiveIntersect.js +0 -0
  500. package/esm/object/RecursiveIntersect.js.map +1 -0
  501. package/{libm → esm}/object/RecursivePartial.js +0 -0
  502. package/esm/object/RecursivePartial.js.map +1 -0
  503. package/{libm → esm}/object/RecursiveRequired.js +0 -0
  504. package/esm/object/RecursiveRequired.js.map +1 -0
  505. package/{libm → esm}/object/Required.js +0 -0
  506. package/esm/object/Required.js.map +1 -0
  507. package/{libm → esm}/object/RequiredKeys.js +0 -0
  508. package/esm/object/RequiredKeys.js.map +1 -0
  509. package/{libm → esm}/object/SpreadRecord.js +0 -0
  510. package/esm/object/SpreadRecord.js.map +1 -0
  511. package/{libm → esm}/object/ValueOf.js +0 -0
  512. package/esm/object/ValueOf.js.map +1 -0
  513. package/{libm → esm}/object/everyKey.js +0 -0
  514. package/esm/object/everyKey.js.map +1 -0
  515. package/esm/object/facade.js +23 -0
  516. package/esm/object/facade.js.map +1 -0
  517. package/{libm → esm}/object/filterKey.js +0 -0
  518. package/esm/object/filterKey.js.map +1 -0
  519. package/{libm → esm}/object/findKey.js +0 -0
  520. package/esm/object/findKey.js.map +1 -0
  521. package/{libm → esm}/object/forEachKey.js +0 -0
  522. package/esm/object/forEachKey.js.map +1 -0
  523. package/{libm → esm}/object/getField.js +0 -0
  524. package/esm/object/getField.js.map +1 -0
  525. package/{libm → esm}/object/hasKey.js +0 -0
  526. package/esm/object/hasKey.js.map +1 -0
  527. package/{libm → esm}/object/hasProperty.js +0 -0
  528. package/esm/object/hasProperty.js.map +1 -0
  529. package/{libm → esm}/object/index.js +0 -0
  530. package/esm/object/index.js.map +1 -0
  531. package/{libm → esm}/object/mapKey.js +0 -0
  532. package/esm/object/mapKey.js.map +1 -0
  533. package/{libm → esm}/object/mapProperties.js +0 -0
  534. package/esm/object/mapProperties.js.map +1 -0
  535. package/{libm → esm}/object/omit.js +0 -0
  536. package/esm/object/omit.js.map +1 -0
  537. package/{libm → esm}/object/pick.js +0 -0
  538. package/esm/object/pick.js.map +1 -0
  539. package/{libm → esm}/object/reduceKey.js +0 -0
  540. package/esm/object/reduceKey.js.map +1 -0
  541. package/{libm → esm}/object/replaceProperty.js +0 -0
  542. package/esm/object/replaceProperty.js.map +1 -0
  543. package/{libm → esm}/object/someKey.js +0 -0
  544. package/esm/object/someKey.js.map +1 -0
  545. package/{libm → esm}/object/typeOverrideIncompatible.js +0 -0
  546. package/esm/object/typeOverrideIncompatible.js.map +1 -0
  547. package/{libm → esm}/predicates/CanAssign.js +0 -0
  548. package/esm/predicates/CanAssign.js.map +1 -0
  549. package/{libm → esm}/predicates/Equal.js +0 -0
  550. package/esm/predicates/Equal.js.map +1 -0
  551. package/{libm → esm}/predicates/Extends.js +0 -0
  552. package/esm/predicates/Extends.js.map +1 -0
  553. package/{libm → esm}/predicates/If.js +0 -0
  554. package/esm/predicates/If.js.map +1 -0
  555. package/esm/predicates/index.js +8 -0
  556. package/esm/predicates/index.js.map +1 -0
  557. package/esm/predicates/isEmptyObject.js +2 -0
  558. package/esm/predicates/isEmptyObject.js.map +1 -0
  559. package/esm/predicates/isType.js +24 -0
  560. package/esm/predicates/isType.js.map +1 -0
  561. package/{libm → esm}/predicates/logical.js +0 -0
  562. package/esm/predicates/logical.js.map +1 -0
  563. package/{libm → esm}/promise/PromiseValue.js +0 -0
  564. package/esm/promise/PromiseValue.js.map +1 -0
  565. package/{libm → esm}/promise/PromiseValueMerge.js +0 -0
  566. package/esm/promise/PromiseValueMerge.js.map +1 -0
  567. package/{libm → esm}/promise/index.js +0 -0
  568. package/esm/promise/index.js.map +1 -0
  569. package/esm/promise/isPromise.js +5 -0
  570. package/esm/promise/isPromise.js.map +1 -0
  571. package/esm/promise/mapSeries.js +4 -0
  572. package/esm/promise/mapSeries.js.map +1 -0
  573. package/{libm → esm}/types/AllType.js +0 -0
  574. package/esm/types/AllType.js.map +1 -0
  575. package/{libm → esm}/types/Any.js +0 -0
  576. package/esm/types/Any.js.map +1 -0
  577. package/{libm → esm}/types/Array.js +0 -0
  578. package/esm/types/Array.js.map +1 -0
  579. package/{libm → esm}/types/Boolean.js +0 -0
  580. package/esm/types/Boolean.js.map +1 -0
  581. package/{libm → esm}/types/Generate.js +0 -0
  582. package/esm/types/Generate.js.map +1 -0
  583. package/{libm → esm}/types/Null.js +0 -0
  584. package/esm/types/Null.js.map +1 -0
  585. package/{libm → esm}/types/Number.js +0 -0
  586. package/esm/types/Number.js.map +1 -0
  587. package/{libm → esm}/types/Object.js +0 -0
  588. package/esm/types/Object.js.map +1 -0
  589. package/{libm → esm}/types/Record.js +0 -0
  590. package/esm/types/Record.js.map +1 -0
  591. package/{libm → esm}/types/String.js +0 -0
  592. package/esm/types/String.js.map +1 -0
  593. package/{libm → esm}/types/Symbol.js +0 -0
  594. package/esm/types/Symbol.js.map +1 -0
  595. package/{libm → esm}/types/Tuple.js +0 -0
  596. package/esm/types/Tuple.js.map +1 -0
  597. package/{libm → esm}/types/Undefined.js +0 -0
  598. package/esm/types/Undefined.js.map +1 -0
  599. package/{libm → esm}/types/Union.js +0 -0
  600. package/esm/types/Union.js.map +1 -0
  601. package/{libm → esm}/types/Unknown.js +0 -0
  602. package/esm/types/Unknown.js.map +1 -0
  603. package/{libm → esm}/types/analyze.js +0 -0
  604. package/esm/types/analyze.js.map +1 -0
  605. package/{libm → esm}/types/check.js +0 -0
  606. package/esm/types/check.js.map +1 -0
  607. package/{libm → esm}/types/conform.js +0 -0
  608. package/esm/types/conform.js.map +1 -0
  609. package/{libm → esm}/types/getPlainAnalysisReport.js +0 -0
  610. package/esm/types/getPlainAnalysisReport.js.map +1 -0
  611. package/{libm → esm}/types/index.js +0 -0
  612. package/esm/types/index.js.map +1 -0
  613. package/{libm → esm}/types/optional.js +0 -0
  614. package/esm/types/optional.js.map +1 -0
  615. package/{libm → esm}/types/required.js +0 -0
  616. package/esm/types/required.js.map +1 -0
  617. package/{libm → esm}/types/satisfy.js +0 -0
  618. package/esm/types/satisfy.js.map +1 -0
  619. package/{libm → esm}/types/types.js +0 -0
  620. package/esm/types/types.js.map +1 -0
  621. package/{libm → esm}/utils/Widen.js +0 -0
  622. package/esm/utils/Widen.js.map +1 -0
  623. package/{libm → esm}/utils/as.js +0 -0
  624. package/esm/utils/as.js.map +1 -0
  625. package/{libm → esm}/utils/index.js +0 -0
  626. package/esm/utils/index.js.map +1 -0
  627. package/package.json +45 -49
  628. package/ts/ComposableTypes.spec.ts +29 -0
  629. package/ts/ComposableTypes.ts +10 -0
  630. package/ts/JSONTypes.spec.ts +43 -0
  631. package/ts/JSONTypes.ts +18 -0
  632. package/ts/PrimitiveTypes.ts +2 -0
  633. package/{src → ts}/UnionKeys.ts +0 -0
  634. package/ts/UnionToIntersection.ts +7 -0
  635. package/ts/array/CommonPropKeys.spec.ts +20 -0
  636. package/ts/array/CommonPropKeys.ts +18 -0
  637. package/ts/array/Concat.spec.ts +21 -0
  638. package/ts/array/Concat.ts +1 -0
  639. package/ts/array/CreateTuple.spec.ts +21 -0
  640. package/ts/array/CreateTuple.ts +7 -0
  641. package/ts/array/DropFirst.spec.ts +21 -0
  642. package/ts/array/DropFirst.ts +9 -0
  643. package/ts/array/DropLast.spec.ts +21 -0
  644. package/ts/array/DropLast.ts +9 -0
  645. package/ts/array/Filter.spec.ts +21 -0
  646. package/ts/array/Filter.ts +12 -0
  647. package/ts/array/FindFirst.spec.ts +27 -0
  648. package/ts/array/FindFirst.ts +13 -0
  649. package/ts/array/FindLast.spec.ts +27 -0
  650. package/ts/array/FindLast.ts +8 -0
  651. package/ts/array/Head.spec.ts +21 -0
  652. package/ts/array/Head.ts +1 -0
  653. package/ts/array/IntersectOfProps.spec.ts +14 -0
  654. package/ts/array/IntersectOfProps.ts +20 -0
  655. package/ts/array/IsArray.ts +1 -0
  656. package/ts/array/PadLeft.spec.ts +26 -0
  657. package/ts/array/PadLeft.ts +16 -0
  658. package/ts/array/Reverse.spec.ts +17 -0
  659. package/ts/array/Reverse.ts +10 -0
  660. package/ts/array/Some.spec.ts +79 -0
  661. package/ts/array/Some.ts +24 -0
  662. package/ts/array/Tail.spec.ts +32 -0
  663. package/ts/array/Tail.ts +7 -0
  664. package/ts/array/UnionOfProps.spec.ts +14 -0
  665. package/ts/array/UnionOfProps.ts +18 -0
  666. package/ts/array/UnionOfValues.spec.ts +11 -0
  667. package/ts/array/UnionOfValues.ts +10 -0
  668. package/ts/array/index.ts +19 -0
  669. package/{src → ts}/array/literalArray.spec.ts +0 -0
  670. package/{src → ts}/array/literalArray.ts +0 -0
  671. package/{src → ts}/array/reduceWhile.spec.ts +0 -0
  672. package/{src → ts}/array/reduceWhile.ts +0 -0
  673. package/ts/assertion/assertType.spec.ts +507 -0
  674. package/ts/assertion/assertType.ts +105 -0
  675. package/ts/assertion/index.ts +1 -0
  676. package/{src → ts}/binary/Bit.ts +0 -0
  677. package/{src → ts}/binary/_binary.ts +0 -0
  678. package/{src → ts}/binary/index.spec.ts +0 -0
  679. package/{src → ts}/binary/index.ts +0 -0
  680. package/ts/class/AnyConstructor.spec.ts +13 -0
  681. package/{src → ts}/class/AnyConstructor.ts +0 -0
  682. package/{src → ts}/class/index.ts +0 -0
  683. package/ts/class/isConstructor.spec.ts +35 -0
  684. package/ts/class/isConstructor.ts +14 -0
  685. package/ts/function/AnyFunction.spec.ts +21 -0
  686. package/{src → ts}/function/AnyFunction.ts +0 -0
  687. package/{src → ts}/function/index.ts +0 -0
  688. package/ts/functional/ChainFn.spec.ts +7 -0
  689. package/ts/functional/ChainFn.ts +6 -0
  690. package/ts/functional/Maybe.spec.ts +42 -0
  691. package/ts/functional/Maybe.ts +19 -0
  692. package/ts/functional/index.ts +2 -0
  693. package/{src → ts}/index.spec.ts +0 -0
  694. package/ts/index.ts +21 -0
  695. package/ts/math/Abs.spec.ts +14 -0
  696. package/ts/math/Abs.ts +4 -0
  697. package/ts/math/Add.spec.ts +82 -0
  698. package/ts/math/Add.ts +49 -0
  699. package/ts/math/Digit.spec.ts +185 -0
  700. package/ts/math/Digit.ts +115 -0
  701. package/ts/math/GreaterThan.spec.ts +40 -0
  702. package/ts/math/GreaterThan.ts +36 -0
  703. package/{src → ts}/math/IsPositive.spec.ts +0 -0
  704. package/ts/math/IsPositive.ts +9 -0
  705. package/ts/math/IsWhole.spec.ts +19 -0
  706. package/ts/math/IsWhole.ts +9 -0
  707. package/ts/math/Max.spec.ts +35 -0
  708. package/ts/math/Max.ts +31 -0
  709. package/ts/math/README.md +7 -0
  710. package/ts/math/Subtract.spec.ts +40 -0
  711. package/ts/math/Subtract.ts +40 -0
  712. package/ts/math/index.ts +7 -0
  713. package/ts/nodejs/index.ts +1 -0
  714. package/ts/nodejs/isNodeError.spec.ts +11 -0
  715. package/ts/nodejs/isNodeError.ts +28 -0
  716. package/ts/nominal-types/Brand.spec.ts +43 -0
  717. package/ts/nominal-types/Brand.ts +32 -0
  718. package/ts/nominal-types/Flavor.spec.ts +51 -0
  719. package/ts/nominal-types/Flavor.ts +32 -0
  720. package/{src → ts}/nominal-types/index.ts +0 -0
  721. package/{src → ts}/nominal-types/nominalMatch.spec.ts +0 -0
  722. package/{src → ts}/nominal-types/nominalMatch.ts +0 -0
  723. package/{src → ts}/nominal-types/types.ts +0 -0
  724. package/{src → ts}/object/ANotB.spec.ts +0 -0
  725. package/ts/object/ANotB.ts +21 -0
  726. package/{src → ts}/object/AnyRecord.ts +0 -0
  727. package/ts/object/ExcludePropType.spec.ts +13 -0
  728. package/{src → ts}/object/ExcludePropType.ts +0 -0
  729. package/ts/object/IsDisjoint.spec.ts +25 -0
  730. package/ts/object/IsDisjoint.ts +12 -0
  731. package/ts/object/IsRecord.spec.ts +22 -0
  732. package/ts/object/IsRecord.ts +4 -0
  733. package/{src → ts}/object/KeyTypes.spec.ts +0 -0
  734. package/{src → ts}/object/KeyTypes.ts +0 -0
  735. package/ts/object/KeyofOptional.spec.ts +8 -0
  736. package/{src → ts}/object/KeyofOptional.ts +0 -0
  737. package/ts/object/KeysWithDiffType.spec.ts +21 -0
  738. package/{src → ts}/object/KeysWithDiffType.ts +0 -0
  739. package/ts/object/KnownKeys.spec.ts +39 -0
  740. package/ts/object/KnownKeys.ts +16 -0
  741. package/{src → ts}/object/OptionalKeys.spec.ts +0 -0
  742. package/{src → ts}/object/OptionalKeys.ts +0 -0
  743. package/ts/object/Partial.spec.ts +49 -0
  744. package/{src → ts}/object/Partial.ts +0 -0
  745. package/ts/object/RecursiveIntersect.spec.ts +39 -0
  746. package/{src → ts}/object/RecursiveIntersect.ts +0 -0
  747. package/{src → ts}/object/RecursivePartial.ts +0 -0
  748. package/{src → ts}/object/RecursiveRequired.spec.ts +0 -0
  749. package/{src → ts}/object/RecursiveRequired.ts +0 -0
  750. package/ts/object/Required.spec.ts +29 -0
  751. package/{src → ts}/object/Required.ts +0 -0
  752. package/{src → ts}/object/RequiredKeys.spec.ts +0 -0
  753. package/{src → ts}/object/RequiredKeys.ts +0 -0
  754. package/ts/object/SpreadRecord.spec.ts +14 -0
  755. package/ts/object/SpreadRecord.ts +6 -0
  756. package/ts/object/ValueOf.spec.ts +36 -0
  757. package/{src → ts}/object/ValueOf.ts +0 -0
  758. package/{src → ts}/object/everyKey.spec.ts +0 -0
  759. package/{src → ts}/object/everyKey.ts +0 -0
  760. package/{src → ts}/object/facade.spec.ts +0 -0
  761. package/ts/object/facade.ts +39 -0
  762. package/{src → ts}/object/filterKey.spec.ts +0 -0
  763. package/{src → ts}/object/filterKey.ts +0 -0
  764. package/{src → ts}/object/findKey.spec.ts +0 -0
  765. package/{src → ts}/object/findKey.ts +0 -0
  766. package/{src → ts}/object/forEachKey.spec.ts +0 -0
  767. package/{src → ts}/object/forEachKey.ts +0 -0
  768. package/ts/object/getField.spec.ts +21 -0
  769. package/ts/object/getField.ts +21 -0
  770. package/{src → ts}/object/hasKey.spec.ts +0 -0
  771. package/ts/object/hasKey.ts +7 -0
  772. package/ts/object/hasProperty.spec.ts +15 -0
  773. package/{src → ts}/object/hasProperty.ts +0 -0
  774. package/ts/object/index.ts +35 -0
  775. package/{src → ts}/object/mapKey.spec.ts +0 -0
  776. package/{src → ts}/object/mapKey.ts +0 -0
  777. package/ts/object/mapProperties.spec.ts +27 -0
  778. package/{src → ts}/object/mapProperties.ts +0 -0
  779. package/ts/object/omit.spec.ts +104 -0
  780. package/ts/object/omit.ts +36 -0
  781. package/ts/object/pick.spec.ts +66 -0
  782. package/ts/object/pick.ts +35 -0
  783. package/{src → ts}/object/reduceKey.spec.ts +0 -0
  784. package/{src → ts}/object/reduceKey.ts +0 -0
  785. package/{src → ts}/object/replaceProperty.spec.ts +0 -0
  786. package/{src → ts}/object/replaceProperty.ts +0 -0
  787. package/{src → ts}/object/someKey.spec.ts +0 -0
  788. package/{src → ts}/object/someKey.ts +0 -0
  789. package/ts/object/typeOverrideIncompatible.spec.ts +24 -0
  790. package/ts/object/typeOverrideIncompatible.ts +10 -0
  791. package/ts/predicates/CanAssign.spec.ts +57 -0
  792. package/ts/predicates/CanAssign.ts +21 -0
  793. package/ts/predicates/Equal.spec.ts +71 -0
  794. package/ts/predicates/Equal.ts +14 -0
  795. package/ts/predicates/Extends.ts +4 -0
  796. package/ts/predicates/If.spec.ts +14 -0
  797. package/ts/predicates/If.ts +5 -0
  798. package/ts/predicates/index.spec.ts +73 -0
  799. package/ts/predicates/index.ts +17 -0
  800. package/ts/predicates/isEmptyObject.spec.ts +15 -0
  801. package/ts/predicates/isEmptyObject.ts +2 -0
  802. package/ts/predicates/isType.spec.ts +106 -0
  803. package/ts/predicates/isType.ts +30 -0
  804. package/ts/predicates/logical.spec.ts +59 -0
  805. package/ts/predicates/logical.ts +4 -0
  806. package/ts/promise/PromiseValue.spec.ts +6 -0
  807. package/{src → ts}/promise/PromiseValue.ts +0 -0
  808. package/{src → ts}/promise/PromiseValueMerge.spec.ts +0 -0
  809. package/{src → ts}/promise/PromiseValueMerge.ts +0 -0
  810. package/{src → ts}/promise/index.ts +0 -0
  811. package/{src → ts}/promise/isPromise.spec.ts +0 -0
  812. package/ts/promise/isPromise.ts +4 -0
  813. package/{src → ts}/promise/mapSeries.spec.ts +0 -0
  814. package/ts/promise/mapSeries.ts +5 -0
  815. package/{src → ts}/type-checker/.eslintrc.json +0 -0
  816. package/ts/type-checker/AnyType.ts +13 -0
  817. package/{src → ts}/type-checker/Boolean.ts +0 -0
  818. package/{src → ts}/type-checker/Tuple.spec.ts +0 -0
  819. package/{src → ts}/type-checker/Tuple.ts +0 -0
  820. package/ts/type-checker/buildTypes.spec.ts +28 -0
  821. package/{src → ts}/type-checker/index.ts +0 -0
  822. package/{src → ts}/type-checker/typeChecker.spec.ts +0 -0
  823. package/{src → ts}/type-checker/typeChecker.ts +0 -0
  824. package/{src → ts}/type-checker/types.ts +0 -0
  825. package/{src → ts}/types/.eslintrc.json +0 -0
  826. package/{src → ts}/types/AllType.ts +0 -0
  827. package/{src → ts}/types/Any.ts +0 -0
  828. package/{src → ts}/types/Array.ts +0 -0
  829. package/{src → ts}/types/BigInt.ts +0 -0
  830. package/{src → ts}/types/Boolean.ts +0 -0
  831. package/ts/types/Generate.ts +48 -0
  832. package/{src → ts}/types/Null.ts +0 -0
  833. package/ts/types/Number.ts +56 -0
  834. package/ts/types/Object.ts +53 -0
  835. package/{src → ts}/types/Record.ts +0 -0
  836. package/ts/types/String.ts +56 -0
  837. package/ts/types/Symbol.ts +19 -0
  838. package/ts/types/Tuple.ts +50 -0
  839. package/{src → ts}/types/Undefined.ts +0 -0
  840. package/{src → ts}/types/Union.ts +0 -0
  841. package/{src → ts}/types/Unknown.ts +0 -0
  842. package/{src → ts}/types/analyze.spec.ts +0 -0
  843. package/{src → ts}/types/analyze.ts +0 -0
  844. package/{src → ts}/types/check.spec.ts +0 -0
  845. package/{src → ts}/types/check.ts +0 -0
  846. package/{src → ts}/types/conform.spec.ts +0 -0
  847. package/{src → ts}/types/conform.ts +0 -0
  848. package/{src → ts}/types/getPlainAnalysisReport.spec.ts +0 -0
  849. package/ts/types/getPlainAnalysisReport.ts +115 -0
  850. package/ts/types/index.ts +28 -0
  851. package/ts/types/optional.ts +30 -0
  852. package/ts/types/required.ts +30 -0
  853. package/ts/types/satisfy.accept.ts +38 -0
  854. package/{src → ts}/types/satisfy.spec.ts +0 -0
  855. package/{src → ts}/types/satisfy.ts +0 -0
  856. package/{src → ts}/types/types.ts +0 -0
  857. package/{src → ts}/utils/Widen.ts +0 -0
  858. package/ts/utils/as.spec.ts +24 -0
  859. package/ts/utils/as.ts +7 -0
  860. package/ts/utils/index.ts +2 -0
  861. package/lib/JSONTypes.js +0 -22
  862. package/lib/JSONTypes.js.map +0 -1
  863. package/lib/PrimitiveTypes.js.map +0 -1
  864. package/lib/UnionKeys.js.map +0 -1
  865. package/lib/array/CommonPropKeys.js.map +0 -1
  866. package/lib/array/Concat.js.map +0 -1
  867. package/lib/array/CreateTuple.js.map +0 -1
  868. package/lib/array/DropFirst.js.map +0 -1
  869. package/lib/array/DropLast.js.map +0 -1
  870. package/lib/array/Filter.js.map +0 -1
  871. package/lib/array/FindFirst.js.map +0 -1
  872. package/lib/array/FindLast.js.map +0 -1
  873. package/lib/array/Head.js.map +0 -1
  874. package/lib/array/IntersectOfProps.js.map +0 -1
  875. package/lib/array/IsArray.js.map +0 -1
  876. package/lib/array/PadLeft.js.map +0 -1
  877. package/lib/array/Reverse.js.map +0 -1
  878. package/lib/array/Some.js.map +0 -1
  879. package/lib/array/Tail.js.map +0 -1
  880. package/lib/array/UnionOfProps.js.map +0 -1
  881. package/lib/array/UnionOfValues.js.map +0 -1
  882. package/lib/array/index.js.map +0 -1
  883. package/lib/array/literalArray.js.map +0 -1
  884. package/lib/array/reduceWhile.js.map +0 -1
  885. package/lib/assertion/assertType.d.ts +0 -78
  886. package/lib/assertion/assertType.js +0 -107
  887. package/lib/assertion/assertType.js.map +0 -1
  888. package/lib/assertion/index.js.map +0 -1
  889. package/lib/class/AnyConstructor.js.map +0 -1
  890. package/lib/class/index.js.map +0 -1
  891. package/lib/class/isConstructor.js +0 -17
  892. package/lib/class/isConstructor.js.map +0 -1
  893. package/lib/function/AnyFunction.js.map +0 -1
  894. package/lib/function/index.js.map +0 -1
  895. package/lib/functional/ChainFn.js.map +0 -1
  896. package/lib/functional/index.js.map +0 -1
  897. package/lib/index.d.ts +0 -19
  898. package/lib/index.js +0 -48
  899. package/lib/index.js.map +0 -1
  900. package/lib/math/Abs.js.map +0 -1
  901. package/lib/math/Add.js.map +0 -1
  902. package/lib/math/Digit.js.map +0 -1
  903. package/lib/math/GreaterThan.js.map +0 -1
  904. package/lib/math/IsPositive.js.map +0 -1
  905. package/lib/math/IsWhole.js.map +0 -1
  906. package/lib/math/Max.js.map +0 -1
  907. package/lib/math/Subtract.d.ts +0 -14
  908. package/lib/math/Subtract.js.map +0 -1
  909. package/lib/math/index.js.map +0 -1
  910. package/lib/nominal-types/Brand.js.map +0 -1
  911. package/lib/nominal-types/Flavor.js +0 -18
  912. package/lib/nominal-types/Flavor.js.map +0 -1
  913. package/lib/nominal-types/index.js.map +0 -1
  914. package/lib/nominal-types/nominalMatch.js.map +0 -1
  915. package/lib/nominal-types/types.js.map +0 -1
  916. package/lib/object/ANotB.js.map +0 -1
  917. package/lib/object/AnyRecord.js.map +0 -1
  918. package/lib/object/ExcludePropType.js.map +0 -1
  919. package/lib/object/IsDisjoint.js.map +0 -1
  920. package/lib/object/IsRecord.js.map +0 -1
  921. package/lib/object/KeyTypes.js.map +0 -1
  922. package/lib/object/KeyofOptional.js.map +0 -1
  923. package/lib/object/KeysWithDiffType.js.map +0 -1
  924. package/lib/object/KnownKeys.js.map +0 -1
  925. package/lib/object/OptionalKeys.js.map +0 -1
  926. package/lib/object/Partial.js.map +0 -1
  927. package/lib/object/RecursiveIntersect.js.map +0 -1
  928. package/lib/object/RecursivePartial.js.map +0 -1
  929. package/lib/object/RecursiveRequired.js.map +0 -1
  930. package/lib/object/Required.js.map +0 -1
  931. package/lib/object/RequiredKeys.js.map +0 -1
  932. package/lib/object/SpreadRecord.js.map +0 -1
  933. package/lib/object/ValueOf.js.map +0 -1
  934. package/lib/object/everyKey.js.map +0 -1
  935. package/lib/object/facade.js +0 -28
  936. package/lib/object/facade.js.map +0 -1
  937. package/lib/object/filterKey.js.map +0 -1
  938. package/lib/object/findKey.js.map +0 -1
  939. package/lib/object/forEachKey.js.map +0 -1
  940. package/lib/object/getField.js.map +0 -1
  941. package/lib/object/hasKey.js.map +0 -1
  942. package/lib/object/hasProperty.js.map +0 -1
  943. package/lib/object/index.js.map +0 -1
  944. package/lib/object/mapKey.js.map +0 -1
  945. package/lib/object/mapProperties.js +0 -18
  946. package/lib/object/mapProperties.js.map +0 -1
  947. package/lib/object/omit.js +0 -17
  948. package/lib/object/omit.js.map +0 -1
  949. package/lib/object/pick.js +0 -17
  950. package/lib/object/pick.js.map +0 -1
  951. package/lib/object/reduceKey.js.map +0 -1
  952. package/lib/object/replaceProperty.js.map +0 -1
  953. package/lib/object/someKey.js.map +0 -1
  954. package/lib/object/typeOverrideIncompatible.js.map +0 -1
  955. package/lib/predicates/CanAssign.d.ts +0 -8
  956. package/lib/predicates/CanAssign.js.map +0 -1
  957. package/lib/predicates/Equal.js.map +0 -1
  958. package/lib/predicates/Extends.js.map +0 -1
  959. package/lib/predicates/If.js.map +0 -1
  960. package/lib/predicates/index.d.ts +0 -10
  961. package/lib/predicates/index.js +0 -19
  962. package/lib/predicates/index.js.map +0 -1
  963. package/lib/predicates/isType.d.ts +0 -19
  964. package/lib/predicates/isType.js +0 -31
  965. package/lib/predicates/isType.js.map +0 -1
  966. package/lib/predicates/logical.js.map +0 -1
  967. package/lib/promise/PromiseValue.js.map +0 -1
  968. package/lib/promise/PromiseValueMerge.js.map +0 -1
  969. package/lib/promise/index.js.map +0 -1
  970. package/lib/promise/isPromise.d.ts +0 -1
  971. package/lib/promise/isPromise.js +0 -8
  972. package/lib/promise/isPromise.js.map +0 -1
  973. package/lib/promise/mapSeries.js +0 -14
  974. package/lib/promise/mapSeries.js.map +0 -1
  975. package/lib/types/AllType.js.map +0 -1
  976. package/lib/types/Any.js.map +0 -1
  977. package/lib/types/Array.js.map +0 -1
  978. package/lib/types/Boolean.js.map +0 -1
  979. package/lib/types/Generate.js.map +0 -1
  980. package/lib/types/Null.js.map +0 -1
  981. package/lib/types/Number.js +0 -46
  982. package/lib/types/Number.js.map +0 -1
  983. package/lib/types/Object.d.ts +0 -329
  984. package/lib/types/Object.js +0 -35
  985. package/lib/types/Object.js.map +0 -1
  986. package/lib/types/Record.js.map +0 -1
  987. package/lib/types/String.js +0 -47
  988. package/lib/types/String.js.map +0 -1
  989. package/lib/types/Symbol.js.map +0 -1
  990. package/lib/types/Tuple.js +0 -39
  991. package/lib/types/Tuple.js.map +0 -1
  992. package/lib/types/Undefined.js.map +0 -1
  993. package/lib/types/Union.js +0 -48
  994. package/lib/types/Union.js.map +0 -1
  995. package/lib/types/Unknown.js.map +0 -1
  996. package/lib/types/analyze.js +0 -158
  997. package/lib/types/analyze.js.map +0 -1
  998. package/lib/types/check.js +0 -25
  999. package/lib/types/check.js.map +0 -1
  1000. package/lib/types/conform.js +0 -26
  1001. package/lib/types/conform.js.map +0 -1
  1002. package/lib/types/getPlainAnalysisReport.js +0 -116
  1003. package/lib/types/getPlainAnalysisReport.js.map +0 -1
  1004. package/lib/types/index.js.map +0 -1
  1005. package/lib/types/optional.d.ts +0 -344
  1006. package/lib/types/optional.js.map +0 -1
  1007. package/lib/types/required.d.ts +0 -696
  1008. package/lib/types/required.js.map +0 -1
  1009. package/lib/types/satisfy.js +0 -26
  1010. package/lib/types/satisfy.js.map +0 -1
  1011. package/lib/types/types.js.map +0 -1
  1012. package/lib/utils/Widen.js.map +0 -1
  1013. package/lib/utils/as.js.map +0 -1
  1014. package/lib/utils/index.js.map +0 -1
  1015. package/libm/JSONTypes.js +0 -10
  1016. package/libm/JSONTypes.js.map +0 -1
  1017. package/libm/PrimitiveTypes.js.map +0 -1
  1018. package/libm/UnionKeys.js.map +0 -1
  1019. package/libm/array/CommonPropKeys.js.map +0 -1
  1020. package/libm/array/Concat.js.map +0 -1
  1021. package/libm/array/CreateTuple.js.map +0 -1
  1022. package/libm/array/DropFirst.js.map +0 -1
  1023. package/libm/array/DropLast.js.map +0 -1
  1024. package/libm/array/Filter.js.map +0 -1
  1025. package/libm/array/FindFirst.js.map +0 -1
  1026. package/libm/array/FindLast.js.map +0 -1
  1027. package/libm/array/Head.js.map +0 -1
  1028. package/libm/array/IntersectOfProps.js.map +0 -1
  1029. package/libm/array/IsArray.js.map +0 -1
  1030. package/libm/array/PadLeft.js.map +0 -1
  1031. package/libm/array/Reverse.js.map +0 -1
  1032. package/libm/array/Some.js.map +0 -1
  1033. package/libm/array/Tail.js.map +0 -1
  1034. package/libm/array/UnionOfProps.js.map +0 -1
  1035. package/libm/array/UnionOfValues.js.map +0 -1
  1036. package/libm/array/index.js.map +0 -1
  1037. package/libm/array/literalArray.js.map +0 -1
  1038. package/libm/array/reduceWhile.js.map +0 -1
  1039. package/libm/assertion/assertType.js.map +0 -1
  1040. package/libm/assertion/index.js.map +0 -1
  1041. package/libm/class/AnyConstructor.js.map +0 -1
  1042. package/libm/class/index.js.map +0 -1
  1043. package/libm/class/isConstructor.js +0 -12
  1044. package/libm/class/isConstructor.js.map +0 -1
  1045. package/libm/function/AnyFunction.js.map +0 -1
  1046. package/libm/function/index.js.map +0 -1
  1047. package/libm/functional/ChainFn.js.map +0 -1
  1048. package/libm/functional/index.js.map +0 -1
  1049. package/libm/index.js +0 -20
  1050. package/libm/index.js.map +0 -1
  1051. package/libm/math/Abs.js.map +0 -1
  1052. package/libm/math/Add.js.map +0 -1
  1053. package/libm/math/Digit.js.map +0 -1
  1054. package/libm/math/GreaterThan.js.map +0 -1
  1055. package/libm/math/IsPositive.js.map +0 -1
  1056. package/libm/math/IsWhole.js.map +0 -1
  1057. package/libm/math/Max.js.map +0 -1
  1058. package/libm/math/Subtract.js.map +0 -1
  1059. package/libm/math/index.js.map +0 -1
  1060. package/libm/nominal-types/Brand.js.map +0 -1
  1061. package/libm/nominal-types/Flavor.js +0 -14
  1062. package/libm/nominal-types/Flavor.js.map +0 -1
  1063. package/libm/nominal-types/index.js.map +0 -1
  1064. package/libm/nominal-types/nominalMatch.js.map +0 -1
  1065. package/libm/nominal-types/types.js.map +0 -1
  1066. package/libm/object/ANotB.js.map +0 -1
  1067. package/libm/object/AnyRecord.js.map +0 -1
  1068. package/libm/object/ExcludePropType.js.map +0 -1
  1069. package/libm/object/IsDisjoint.js.map +0 -1
  1070. package/libm/object/IsRecord.js.map +0 -1
  1071. package/libm/object/KeyTypes.js.map +0 -1
  1072. package/libm/object/KeyofOptional.js.map +0 -1
  1073. package/libm/object/KeysWithDiffType.js.map +0 -1
  1074. package/libm/object/KnownKeys.js.map +0 -1
  1075. package/libm/object/OptionalKeys.js.map +0 -1
  1076. package/libm/object/Partial.js.map +0 -1
  1077. package/libm/object/RecursiveIntersect.js.map +0 -1
  1078. package/libm/object/RecursivePartial.js.map +0 -1
  1079. package/libm/object/RecursiveRequired.js.map +0 -1
  1080. package/libm/object/Required.js.map +0 -1
  1081. package/libm/object/RequiredKeys.js.map +0 -1
  1082. package/libm/object/SpreadRecord.js.map +0 -1
  1083. package/libm/object/ValueOf.js.map +0 -1
  1084. package/libm/object/everyKey.js.map +0 -1
  1085. package/libm/object/facade.js +0 -20
  1086. package/libm/object/facade.js.map +0 -1
  1087. package/libm/object/filterKey.js.map +0 -1
  1088. package/libm/object/findKey.js.map +0 -1
  1089. package/libm/object/forEachKey.js.map +0 -1
  1090. package/libm/object/getField.js.map +0 -1
  1091. package/libm/object/hasKey.js.map +0 -1
  1092. package/libm/object/hasProperty.js.map +0 -1
  1093. package/libm/object/index.js.map +0 -1
  1094. package/libm/object/mapKey.js.map +0 -1
  1095. package/libm/object/mapProperties.js.map +0 -1
  1096. package/libm/object/omit.js.map +0 -1
  1097. package/libm/object/pick.js.map +0 -1
  1098. package/libm/object/reduceKey.js.map +0 -1
  1099. package/libm/object/replaceProperty.js.map +0 -1
  1100. package/libm/object/someKey.js.map +0 -1
  1101. package/libm/object/typeOverrideIncompatible.js.map +0 -1
  1102. package/libm/predicates/CanAssign.js.map +0 -1
  1103. package/libm/predicates/Equal.js.map +0 -1
  1104. package/libm/predicates/Extends.js.map +0 -1
  1105. package/libm/predicates/If.js.map +0 -1
  1106. package/libm/predicates/index.js +0 -7
  1107. package/libm/predicates/index.js.map +0 -1
  1108. package/libm/predicates/isType.js +0 -25
  1109. package/libm/predicates/isType.js.map +0 -1
  1110. package/libm/predicates/logical.js.map +0 -1
  1111. package/libm/promise/PromiseValue.js.map +0 -1
  1112. package/libm/promise/PromiseValueMerge.js.map +0 -1
  1113. package/libm/promise/index.js.map +0 -1
  1114. package/libm/promise/isPromise.js +0 -4
  1115. package/libm/promise/isPromise.js.map +0 -1
  1116. package/libm/promise/mapSeries.js +0 -10
  1117. package/libm/promise/mapSeries.js.map +0 -1
  1118. package/libm/types/AllType.js.map +0 -1
  1119. package/libm/types/Any.js.map +0 -1
  1120. package/libm/types/Array.js.map +0 -1
  1121. package/libm/types/Boolean.js.map +0 -1
  1122. package/libm/types/Generate.js.map +0 -1
  1123. package/libm/types/Null.js.map +0 -1
  1124. package/libm/types/Number.js.map +0 -1
  1125. package/libm/types/Object.js.map +0 -1
  1126. package/libm/types/Record.js.map +0 -1
  1127. package/libm/types/String.js.map +0 -1
  1128. package/libm/types/Symbol.js.map +0 -1
  1129. package/libm/types/Tuple.js.map +0 -1
  1130. package/libm/types/Undefined.js.map +0 -1
  1131. package/libm/types/Union.js.map +0 -1
  1132. package/libm/types/Unknown.js.map +0 -1
  1133. package/libm/types/analyze.js.map +0 -1
  1134. package/libm/types/check.js.map +0 -1
  1135. package/libm/types/conform.js.map +0 -1
  1136. package/libm/types/getPlainAnalysisReport.js.map +0 -1
  1137. package/libm/types/index.js.map +0 -1
  1138. package/libm/types/optional.js.map +0 -1
  1139. package/libm/types/required.js.map +0 -1
  1140. package/libm/types/satisfy.js.map +0 -1
  1141. package/libm/types/types.js.map +0 -1
  1142. package/libm/utils/Widen.js.map +0 -1
  1143. package/libm/utils/as.js.map +0 -1
  1144. package/libm/utils/index.js.map +0 -1
  1145. package/src/JSONTypes.spec.ts +0 -43
  1146. package/src/JSONTypes.ts +0 -17
  1147. package/src/PrimitiveTypes.ts +0 -2
  1148. package/src/UnionToIntersection.ts +0 -7
  1149. package/src/array/CommonPropKeys.spec.ts +0 -20
  1150. package/src/array/CommonPropKeys.ts +0 -18
  1151. package/src/array/Concat.spec.ts +0 -21
  1152. package/src/array/Concat.ts +0 -1
  1153. package/src/array/CreateTuple.spec.ts +0 -21
  1154. package/src/array/CreateTuple.ts +0 -7
  1155. package/src/array/DropFirst.spec.ts +0 -21
  1156. package/src/array/DropFirst.ts +0 -9
  1157. package/src/array/DropLast.spec.ts +0 -21
  1158. package/src/array/DropLast.ts +0 -9
  1159. package/src/array/Filter.spec.ts +0 -21
  1160. package/src/array/Filter.ts +0 -12
  1161. package/src/array/FindFirst.spec.ts +0 -27
  1162. package/src/array/FindFirst.ts +0 -13
  1163. package/src/array/FindLast.spec.ts +0 -27
  1164. package/src/array/FindLast.ts +0 -8
  1165. package/src/array/Head.spec.ts +0 -21
  1166. package/src/array/Head.ts +0 -1
  1167. package/src/array/IntersectOfProps.spec.ts +0 -14
  1168. package/src/array/IntersectOfProps.ts +0 -20
  1169. package/src/array/IsArray.ts +0 -1
  1170. package/src/array/PadLeft.spec.ts +0 -26
  1171. package/src/array/PadLeft.ts +0 -16
  1172. package/src/array/Reverse.spec.ts +0 -17
  1173. package/src/array/Reverse.ts +0 -10
  1174. package/src/array/Some.spec.ts +0 -79
  1175. package/src/array/Some.ts +0 -24
  1176. package/src/array/Tail.spec.ts +0 -32
  1177. package/src/array/Tail.ts +0 -7
  1178. package/src/array/UnionOfProps.spec.ts +0 -14
  1179. package/src/array/UnionOfProps.ts +0 -18
  1180. package/src/array/UnionOfValues.spec.ts +0 -11
  1181. package/src/array/UnionOfValues.ts +0 -10
  1182. package/src/array/index.ts +0 -19
  1183. package/src/assertion/assertType.spec.ts +0 -504
  1184. package/src/assertion/assertType.ts +0 -105
  1185. package/src/assertion/index.ts +0 -1
  1186. package/src/class/AnyConstructor.spec.ts +0 -13
  1187. package/src/class/isConstructor.spec.ts +0 -30
  1188. package/src/class/isConstructor.ts +0 -13
  1189. package/src/function/AnyFunction.spec.ts +0 -21
  1190. package/src/functional/ChainFn.spec.ts +0 -7
  1191. package/src/functional/ChainFn.ts +0 -6
  1192. package/src/functional/Maybe.spec.ts +0 -43
  1193. package/src/functional/Maybe.ts +0 -18
  1194. package/src/functional/index.ts +0 -2
  1195. package/src/index.ts +0 -19
  1196. package/src/math/Abs.spec.ts +0 -14
  1197. package/src/math/Abs.ts +0 -4
  1198. package/src/math/Add.spec.ts +0 -82
  1199. package/src/math/Add.ts +0 -49
  1200. package/src/math/Digit.spec.ts +0 -185
  1201. package/src/math/Digit.ts +0 -115
  1202. package/src/math/GreaterThan.spec.ts +0 -40
  1203. package/src/math/GreaterThan.ts +0 -36
  1204. package/src/math/IsPositive.ts +0 -9
  1205. package/src/math/IsWhole.spec.ts +0 -19
  1206. package/src/math/IsWhole.ts +0 -9
  1207. package/src/math/Max.spec.ts +0 -35
  1208. package/src/math/Max.ts +0 -31
  1209. package/src/math/README.md +0 -7
  1210. package/src/math/Subtract.spec.ts +0 -40
  1211. package/src/math/Subtract.ts +0 -40
  1212. package/src/math/index.ts +0 -7
  1213. package/src/nominal-types/Brand.spec.ts +0 -43
  1214. package/src/nominal-types/Brand.ts +0 -32
  1215. package/src/nominal-types/Flavor.spec.ts +0 -51
  1216. package/src/nominal-types/Flavor.ts +0 -34
  1217. package/src/object/ANotB.ts +0 -21
  1218. package/src/object/ExcludePropType.spec.ts +0 -13
  1219. package/src/object/IsDisjoint.spec.ts +0 -25
  1220. package/src/object/IsDisjoint.ts +0 -12
  1221. package/src/object/IsRecord.spec.ts +0 -22
  1222. package/src/object/IsRecord.ts +0 -4
  1223. package/src/object/KeyofOptional.spec.ts +0 -8
  1224. package/src/object/KeysWithDiffType.spec.ts +0 -21
  1225. package/src/object/KnownKeys.spec.ts +0 -39
  1226. package/src/object/KnownKeys.ts +0 -16
  1227. package/src/object/Partial.spec.ts +0 -50
  1228. package/src/object/RecursiveIntersect.spec.ts +0 -39
  1229. package/src/object/Required.spec.ts +0 -29
  1230. package/src/object/SpreadRecord.spec.ts +0 -14
  1231. package/src/object/SpreadRecord.ts +0 -6
  1232. package/src/object/ValueOf.spec.ts +0 -36
  1233. package/src/object/facade.ts +0 -36
  1234. package/src/object/getField.spec.ts +0 -21
  1235. package/src/object/getField.ts +0 -21
  1236. package/src/object/hasKey.ts +0 -7
  1237. package/src/object/hasProperty.spec.ts +0 -15
  1238. package/src/object/index.ts +0 -35
  1239. package/src/object/mapProperties.spec.ts +0 -27
  1240. package/src/object/omit.spec.ts +0 -104
  1241. package/src/object/omit.ts +0 -36
  1242. package/src/object/pick.spec.ts +0 -66
  1243. package/src/object/pick.ts +0 -35
  1244. package/src/object/typeOverrideIncompatible.spec.ts +0 -24
  1245. package/src/object/typeOverrideIncompatible.ts +0 -10
  1246. package/src/predicates/CanAssign.spec.ts +0 -57
  1247. package/src/predicates/CanAssign.ts +0 -18
  1248. package/src/predicates/Equal.spec.ts +0 -71
  1249. package/src/predicates/Equal.ts +0 -14
  1250. package/src/predicates/Extends.ts +0 -4
  1251. package/src/predicates/If.spec.ts +0 -14
  1252. package/src/predicates/If.ts +0 -5
  1253. package/src/predicates/index.spec.ts +0 -73
  1254. package/src/predicates/index.ts +0 -16
  1255. package/src/predicates/isType.spec.ts +0 -106
  1256. package/src/predicates/isType.ts +0 -32
  1257. package/src/predicates/logical.spec.ts +0 -59
  1258. package/src/predicates/logical.ts +0 -4
  1259. package/src/promise/PromiseValue.spec.ts +0 -6
  1260. package/src/promise/isPromise.ts +0 -3
  1261. package/src/promise/mapSeries.ts +0 -9
  1262. package/src/type-checker/AnyType.ts +0 -13
  1263. package/src/type-checker/buildTypes.spec.ts +0 -28
  1264. package/src/types/Generate.ts +0 -48
  1265. package/src/types/Number.ts +0 -56
  1266. package/src/types/Object.ts +0 -53
  1267. package/src/types/String.ts +0 -56
  1268. package/src/types/Symbol.ts +0 -19
  1269. package/src/types/Tuple.ts +0 -50
  1270. package/src/types/getPlainAnalysisReport.ts +0 -115
  1271. package/src/types/index.ts +0 -28
  1272. package/src/types/optional.ts +0 -30
  1273. package/src/types/required.ts +0 -30
  1274. package/src/types/satisfy.accept.ts +0 -36
  1275. package/src/utils/as.spec.ts +0 -24
  1276. package/src/utils/as.ts +0 -7
  1277. package/src/utils/index.ts +0 -2
package/README.md CHANGED
@@ -13,10 +13,6 @@
13
13
 
14
14
  Provides additional types and type adjusted utilities for [TypeScript](https://www.typescriptlang.org/).
15
15
 
16
- ## What's new
17
-
18
- Please check out the [release note](./docs/releases/whats-new-in-3.9.md) to see what's new in 3.9!
19
-
20
16
  ## Feature Highlights
21
17
 
22
18
  - [Runtime type checker](#runtime-type-checker)
@@ -35,8 +31,8 @@ yarn add type-plus
35
31
  ## Runtime type checker
36
32
 
37
33
  Bringing the power of TypeScript to JavaScript runtime.
38
- At the moment, this provide some basic functionalities.
39
- If you need more feature, I would recommend other excellent type checking library such as [zod](https://github.com/colinhacks/zod).
34
+ At the moment, this provides some basic functionalities.
35
+ If you need more features, I would recommend other excellent type checking libraries such as [zod](https://github.com/colinhacks/zod).
40
36
 
41
37
  ```ts
42
38
  const eslintConfig = T.object.create({
@@ -74,13 +70,13 @@ Types supported: `any`, `array`, `boolean`, `null`, `number`, `object`, `record`
74
70
  i.e., most of the basic types are supported except `bigint`.
75
71
  It is left out for backward compatibility reasons.
76
72
 
77
- You can use one of the three functions to perform type check:
73
+ You can use one of the three functions to perform type-check:
78
74
 
79
75
  `satisfy(type, subject)`:
80
76
  A loose type check that permits extra elements in `Tuple` and properties in `Object`.
81
77
 
82
78
  `conform(type, subject)`:
83
- A strick type check that does not allow extra elements in `Tuple` and properties in `Object`.
79
+ A strict type check that does not allow extra elements in `Tuple` and properties in `Object`.
84
80
 
85
81
  `check(options, type, subject)`:
86
82
  A general form of `satisfy()` and `conform()`.
@@ -107,7 +103,7 @@ Use the one that fits your specific needs.
107
103
  ✔️ `immediate`
108
104
 
109
105
  It ensures `subject` satisfies `T`.
110
- It is similar to `const x: T = subject` without introducing unused variable.
106
+ It is similar to `const x: T = subject` without introducing an unused variable.
111
107
  You need to specify `T` for it to work.
112
108
 
113
109
  `assertType<T>(subject, validator)`:
@@ -116,7 +112,7 @@ You need to specify `T` for it to work.
116
112
 
117
113
  ✔️ `assertion function`, `runtime`
118
114
 
119
- These overloads of `assertType` allows you to specify a `validator`.
115
+ These overloads of `assertType` allow you to specify a `validator`.
120
116
  With these overloads, `subject` can be `unknown` or `any`.
121
117
 
122
118
  If `subject` fails the assertion,
@@ -163,7 +159,7 @@ const s: number | undefined = undefined
163
159
  assertType.isUndefined(s) // TypeScript complains
164
160
  ```
165
161
 
166
- They accepts `any` and will be narrowed to the specific type.
162
+ They accept `any` and will be narrowed to the specific type.
167
163
 
168
164
  ```ts
169
165
  const s: any = undefined
@@ -177,9 +173,9 @@ s // type is undefined
177
173
 
178
174
  Check if the subject type is `never`.
179
175
  This function is not very useful in actual code as TypeScript will indicate the error.
180
- But it can be useful when writing tests for type.
176
+ But it can be useful when writing tests for types.
181
177
 
182
- This is useful for variable. For type level only check, do the following:
178
+ This is useful for variables. For type level only check, do the following:
183
179
 
184
180
  ```ts
185
181
  assertType.isTrue(true as Equal<YourType, never>)
@@ -214,8 +210,8 @@ const s: number | undefined = 1
214
210
  assertType.noUndefined(s) // TypeScript complains
215
211
  ```
216
212
 
217
- They accepts `subject` with type `any` or `unknown`,
218
- assertion will happens in runtime to ensure `subject` is the specific type.
213
+ They accept `subject` with type `any` or `unknown`,
214
+ the assertion will happen in runtime to ensure `subject` is the specific type.
219
215
 
220
216
  `isType<T>(subject: T)`:
221
217
 
@@ -250,11 +246,11 @@ It returns `true` when passes (which is the only case when used in TypeScript).
250
246
  ✔️ `immediate`
251
247
 
252
248
  Slightly easier to use then `isType.t<>()` and `isType.f<>()`,
253
- when doing type level only equality comparison as you don't have to import `Equal<>`.
249
+ when doing type-level only equality comparison as you don't have to import `Equal<>`.
254
250
 
255
251
  ✔️ `type guard`, `runtime`
256
252
 
257
- These overloads of `isType` allows you to specify a `validator`.
253
+ These overloads of `isType` allow you to specify a `validator`.
258
254
  With these overloads, `subject` can be `unknown` or `any`.
259
255
 
260
256
  `Equal<A, B>`:
@@ -302,7 +298,7 @@ assertType.isTrue(true as CanAssign<{ a:string, b:number }, { a: string }>)
302
298
 
303
299
  ✔️ `immediate`, `logical`
304
300
 
305
- Returns a compile time validating function to ensure `subject` is assignable to `T`.
301
+ Returns a compile-time validating function to ensure `subject` is assignable to `T`.
306
302
 
307
303
  ```ts
308
304
  const isConfig = canAssign<{ a: string }>()
@@ -313,7 +309,7 @@ assertType.isTrue(isConfig({ a: 'a' }))
313
309
 
314
310
  ✔️ `immediate`, `logical`
315
311
 
316
- Returns a compile time validating function to ensure `subject` is not assignable to `T`.
312
+ Returns a compile-time validating function to ensure `subject` is not assignable to `T`.
317
313
 
318
314
  ```ts
319
315
  const notA = canAssign<{ a: string }>(false)
@@ -324,7 +320,7 @@ notA({ a: '' }) // TypeScript complains
324
320
 
325
321
  ## Nominal Type
326
322
 
327
- TypeScript type system is structural.
323
+ The TypeScript type system is structural.
328
324
 
329
325
  In some cases, we want to express a type with nominal behavior.
330
326
  `type-plus` provides two kinds of nominal types: `Brand` and `Flavor`.
@@ -383,12 +379,12 @@ nominalMatch(b1, b2) // false
383
379
 
384
380
  ## Functional Types
385
381
 
386
- - `ChainFn<T>: T`: chain function that return the input type.
382
+ - `ChainFn<T>: T`: chain function that returns the input type.
387
383
 
388
384
  ## Type Utilities
389
385
 
390
386
  `type-plus` also provides additional type utilities.
391
- These utilities includes utility types and type adjusted functions.
387
+ These utilities include utility types and type-adjusted functions.
392
388
 
393
389
  Note that most `predicate` types (such as `IsAny<>`) have a `Then` and `Else` that you can override.
394
390
 
@@ -406,13 +402,13 @@ type No = IsAny<1, 'yes', 'no'> // 'no'
406
402
  - `CreateTuple<L, T>`: creates `Tuple<T>` with `L` number of elements.
407
403
  - `DropFirst<A>`: drops the first value type of `A`.
408
404
  - `DropLast<A>`: drops the last value type of `A`.
409
- - `Filter<A, Criteria>`: gets array of types satisfying `Criteria` in `A`.
410
- - `FindFirst<A, Criteria>`: gets first type satisfying `Criteria`.
411
- - `FindLast<A, Criteria>`: gets last type satisfying `Criteria`.
405
+ - `Filter<A, Criteria>`: gets the array of types satisfying `Criteria` in `A`.
406
+ - `FindFirst<A, Criteria>`: gets the first type satisfying `Criteria`.
407
+ - `FindLast<A, Criteria>`: gets the last type satisfying `Criteria`.
412
408
  - `Head<A>`: gets the first entry in the array.
413
409
  - `IntersectOfProps<A, K>`: gets the intersect of `A[K]` types (deprecate `MapToProp`)
414
410
  - `IsArray<T>`: `logical` predicate for `Array`.
415
- - `literalArray(...entries)`: return an array those items are restricted to the provided literals.
411
+ - `literalArray(...entries)`: return an array whose items are restricted to the provided literals.
416
412
  - `PadLeft<A, Total, PadWith>`: pads `A` with `PadWith` if the length of `A` is less than `L`.
417
413
  - `reduceWhile()`: `reduce()` with predicate for early termination. \
418
414
  A simple version of the same function in the `ramda` package.
@@ -426,6 +422,8 @@ type No = IsAny<1, 'yes', 'no'> // 'no'
426
422
 
427
423
  - `KeyTypes`: type of all keys.
428
424
  - `PrimitiveTypes`: all primitive types, including `Function`, `symbol`, and `bigint`.
425
+ - `ComposableTypes`: Types that can contain custom properties. i.e. `object`, `array`, `function`.
426
+ - `NonComposableTypes`: Types that cannot contain custom properties. i.e. not composable.
429
427
 
430
428
  ### JSON Support
431
429
 
@@ -467,9 +465,9 @@ JSONTypes.get<string>(someJson, 'a', 'b', 1, 'c') // miku
467
465
 
468
466
  ### Type manipulation
469
467
 
470
- - `ANotB<A, B>`: get object with properties in `A` and not in `B`, including properties with different value type.
468
+ - `ANotB<A, B>`: get object with properties in `A` and not in `B`, including properties with a different value type.
471
469
  - `BNotA<A, B>`: flip of `ANotB`
472
- - `as<T>(subject)`: assert `subject` as `T`. Avoid ASI issue such as `;(x as any).abc`
470
+ - `as<T>(subject)`: assert `subject` as `T`. Avoid ASI issues such as `;(x as any).abc`
473
471
  - `asAny(subject)`: assert `subject` as `any`. Avoid ASI issue such as `;(x as any).abc`
474
472
  - `Except<T, K>`: Deprecated. Same as `Omit<T, K>`.
475
473
  - `ExcludePropType<T, U>`: excludes type `U` from properties in `T`.
@@ -481,13 +479,13 @@ JSONTypes.get<string>(someJson, 'a', 'b', 1, 'c') // miku
481
479
  - `PartialExcept<T, U>`: Deprecated. Same as `PartialOmit<T, U>`.
482
480
  - `PartialOmit<T, U>`: makes the properties not specified in `U` becomes optional.
483
481
  - `PartialPick<T, U>`: makes the properties specified in `U` becomes optional.
484
- - `Pick<T, K>`: pick properties `K` from `T`. Works with union.
482
+ - `Pick<T, K>`: pick properties `K` from `T`. Works with unions.
485
483
  - `RecursivePartial<T>`: make type `T` optional recursively.
486
484
  - `RecursiveRequired<T>`: make type `T` required recursively.
487
485
  - `ReplaceProperty<T, K, V>`: replace property `K` in `T` with `V`.
488
486
  - `RequiredKeys<T>`: gets keys of required properties in `T`.
489
- - `RequiredPick<T, U>`: makes the properties specified in `U` becomes required.
490
- - `RequiredExcept<T, U>`: makes the properties not specified in `U` becomes required.
487
+ - `RequiredPick<T, U>`: makes the properties specified in `U` become required.
488
+ - `RequiredExcept<T, U>`: makes the properties not specified in `U` become required.
491
489
  - `RecursiveIntersect<T, U>`: intersect type `U` onto `T` recursively.
492
490
  - `ValueOf<T>`: type of the value of the properties of `T`.
493
491
  - `Widen<T>`: widen literal types.
@@ -502,6 +500,7 @@ They can be used to compose complex types.
502
500
  - `IsAny<T>`: `T === any`.
503
501
  - `IsBoolean<T>`: check for `boolean`, but not for `true` nor `false`.
504
502
  - `IsDisjoint<A, B>`: is `A` and `B` is a disjoint set.
503
+ - `IsEmptyObject<T>`: is `T === {}`.
505
504
  - `IsLiteral<T>`: is `T` a literal type (literal string or number).
506
505
 
507
506
  #### Logical
@@ -512,7 +511,7 @@ They can be used to compose complex types.
512
511
  - `Xor<A, B>`: logical `XOR`.
513
512
  - `Not<X>`: logical `NOT`.
514
513
 
515
- Note that these types work correctly with `boolean` type.
514
+ Note that these types work correctly with the `boolean` type.
516
515
  e.g.:
517
516
 
518
517
  - `And<boolean, true> -> boolean`
@@ -532,8 +531,7 @@ So you may encounter some weird behavior if your logic is complex.
532
531
  #### Arithmetics
533
532
 
534
533
  - `Add<A, B, Fail=never>`: `A + B` for positive and whole numbers, `Fail` otherwise.
535
- - `Subtract<A, B, Fail=never>`: `A - B` for positive and whole numbers, `Fail` otherwise.\
536
- Negative result also returns `Fail`.
534
+ - `Subtract<A, B, Fail=never>`: `A - B` for positive and whole numbers, `Fail` otherwise.
537
535
  - `Increment<A, Fail=never>`: alias of `Add<A, 1, Fail>`.
538
536
  - `Decrement<A, Fail=never>`: alias of `Subtract<A, 1, Fail>`.
539
537
 
@@ -544,6 +542,7 @@ So you may encounter some weird behavior if your logic is complex.
544
542
  - `hasKey()`: function of `HasKey`.
545
543
  - `hasProperty(value, prop)`: assert `value` has property `prop`. This will pick the correct union type.
546
544
  - `isConstructor(subject)`: type guard `subject` is a constructor.
545
+ - `isSystemError(code, err)`: type guard `err` with Nodejs error code.
547
546
  - `pick(obj, ...props)`: pick properties from `obj`.
548
547
  - `omit(obj, ...props)`: omit properties from `obj`.
549
548
  - `required(...)`: merge options and removing `Partial<T>`. From [`unpartial`](https://github.com/unional/unpartial)
@@ -570,9 +569,9 @@ overrider(source, { foo: !!source.foo })
570
569
 
571
570
  ## Attribution
572
571
 
573
- Some of the code in this library are created by other people in the TypeScript community.
574
- I merely adding them in and may be making some adjustments.
575
- When ever possible, I add attribution to the person who created those code in the file.
572
+ Some of the code in this library is created by other people in the TypeScript community.
573
+ I merely adding them in and maybe making some adjustments.
574
+ Whenever possible, I add attribution to the person who created those **codes** in the file.
576
575
 
577
576
  ## Similar projects
578
577
 
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Types that can contain custom properties.
3
+ */
4
+ export declare type ComposableTypes = object | Function;
5
+ /**
6
+ * Types that cannot contain custom properties.
7
+ */
8
+ export declare type NonComposableTypes = boolean | number | string | symbol | bigint | undefined | null;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ComposableTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposableTypes.js","sourceRoot":"","sources":["../ts/ComposableTypes.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.JSONTypes = void 0;
13
+ exports.JSONTypes = { get: get };
14
+ function get(obj) {
15
+ var props = [];
16
+ for (var _i = 1; _i < arguments.length; _i++) {
17
+ props[_i - 1] = arguments[_i];
18
+ }
19
+ if (props.length === 0)
20
+ return obj;
21
+ if (typeof obj !== 'object' || obj === null)
22
+ return undefined;
23
+ var p = props.shift();
24
+ // @ts-ignore
25
+ return get.apply(void 0, __spreadArray([obj[p]], props, false));
26
+ }
27
+ //# sourceMappingURL=JSONTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSONTypes.js","sourceRoot":"","sources":["../ts/JSONTypes.ts"],"names":[],"mappings":";;;;;;;;;;;;AASa,QAAA,SAAS,GAAG,EAAE,GAAG,KAAA,EAAE,CAAA;AAEhC,SAAS,GAAG,CAAsB,GAAc;IAAE,eAAgC;SAAhC,UAAgC,EAAhC,qBAAgC,EAAhC,IAAgC;QAAhC,8BAAgC;;IAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAQ,CAAA;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAC7D,IAAM,CAAC,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;IACxB,aAAa;IACb,OAAO,GAAG,8BAAC,GAAG,CAAC,CAAC,CAAC,GAAK,KAAK,SAAM,CAAA;AACnC,CAAC"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveTypes.js","sourceRoot":"","sources":["../ts/PrimitiveTypes.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnionKeys.js","sourceRoot":"","sources":["../ts/UnionKeys.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonPropKeys.js","sourceRoot":"","sources":["../../ts/array/CommonPropKeys.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Concat.js","sourceRoot":"","sources":["../../ts/array/Concat.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateTuple.js","sourceRoot":"","sources":["../../ts/array/CreateTuple.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropFirst.js","sourceRoot":"","sources":["../../ts/array/DropFirst.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropLast.js","sourceRoot":"","sources":["../../ts/array/DropLast.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filter.js","sourceRoot":"","sources":["../../ts/array/Filter.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindFirst.js","sourceRoot":"","sources":["../../ts/array/FindFirst.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindLast.js","sourceRoot":"","sources":["../../ts/array/FindLast.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Head.js","sourceRoot":"","sources":["../../ts/array/Head.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntersectOfProps.js","sourceRoot":"","sources":["../../ts/array/IntersectOfProps.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsArray.js","sourceRoot":"","sources":["../../ts/array/IsArray.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PadLeft.js","sourceRoot":"","sources":["../../ts/array/PadLeft.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reverse.js","sourceRoot":"","sources":["../../ts/array/Reverse.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Some.js","sourceRoot":"","sources":["../../ts/array/Some.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tail.js","sourceRoot":"","sources":["../../ts/array/Tail.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnionOfProps.js","sourceRoot":"","sources":["../../ts/array/UnionOfProps.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnionOfValues.js","sourceRoot":"","sources":["../../ts/array/UnionOfValues.ts"],"names":[],"mappings":""}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAgC;AAChC,2CAAwB;AACxB,gDAA6B;AAC7B,8CAA2B;AAC3B,6CAA0B;AAC1B,2CAAwB;AACxB,8CAA2B;AAC3B,6CAA0B;AAC1B,yCAAsB;AACtB,qDAAkC;AAClC,4CAAyB;AACzB,iDAA8B;AAC9B,4CAAyB;AACzB,gDAA6B;AAC7B,4CAAyB;AACzB,yCAAsB;AACtB,yCAAsB;AACtB,iDAA8B;AAC9B,kDAA+B"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"literalArray.js","sourceRoot":"","sources":["../../ts/array/literalArray.ts"],"names":[],"mappings":";;;AAEA,SAAgB,YAAY;IAAqB,iBAAe;SAAf,UAAe,EAAf,qBAAe,EAAf,IAAe;QAAf,4BAAe;;IAC9D,OAAO,OAAO,CAAA;AAChB,CAAC;AAFD,oCAEC"}
File without changes
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reduceWhile.js","sourceRoot":"","sources":["../../ts/array/reduceWhile.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CACzB,SAA+C,EAC/C,UAAsF,EACtF,YAAe,EACf,KAAU;IAEV,IAAI,GAAG,GAAG,YAAY,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;YAAE,OAAO,GAAG,CAAA;QACtC,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;KACvC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAbD,kCAaC"}
@@ -0,0 +1,32 @@
1
+ import { AnyConstructor } from '../class';
2
+ import { AnyFunction } from '../function';
3
+ /**
4
+ * assert the subject satisfies the specified type T
5
+ * @type T the type to check against.
6
+ */
7
+ export declare function assertType<T>(subject: T): asserts subject is T;
8
+ export declare function assertType<T>(subject: unknown, validator: (s: T) => boolean): asserts subject is T;
9
+ export declare function assertType<T extends new (...args: any) => any>(subject: unknown, constructor: T): asserts subject is InstanceType<T>;
10
+ export declare namespace assertType {
11
+ var isUndefined: (subject: undefined) => asserts subject is undefined;
12
+ var noUndefined: <S>(subject: Exclude<S, undefined>) => void;
13
+ var isNull: (subject: null) => asserts subject is null;
14
+ var noNull: <S>(subject: Exclude<S, null>) => void;
15
+ var isNumber: (subject: number) => asserts subject is number;
16
+ var noNumber: <S>(subject: Exclude<S, number>) => void;
17
+ var isBoolean: (subject: boolean) => asserts subject is boolean;
18
+ var noBoolean: <S>(subject: Exclude<S, boolean>) => void;
19
+ var isTrue: (subject: true) => asserts subject is true;
20
+ var noTrue: <S>(subject: Exclude<S, true>) => void;
21
+ var isFalse: (subject: false) => asserts subject is false;
22
+ var noFalse: <S>(subject: Exclude<S, false>) => void;
23
+ var isString: (subject: string) => asserts subject is string;
24
+ var noString: <S>(subject: Exclude<S, string>) => void;
25
+ var isFunction: (subject: AnyFunction<any[], any>) => asserts subject is AnyFunction<any[], any>;
26
+ var noFunction: <S>(subject: Exclude<S, AnyFunction<any[], any>>) => void;
27
+ var isConstructor: (subject: AnyConstructor<any[]>) => asserts subject is AnyConstructor<any[]>;
28
+ var isError: (subject: Error) => asserts subject is Error;
29
+ var noError: <S>(subject: Exclude<S, Error>) => void;
30
+ var isNever: (subject: never) => asserts subject is never;
31
+ var custom: <T>(validator: (s: T) => boolean) => (subject: unknown) => asserts subject is T;
32
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertType = void 0;
4
+ var tersify_1 = require("tersify");
5
+ var class_1 = require("../class");
6
+ function assertType(subject, validator) {
7
+ if (validator) {
8
+ if (((0, class_1.isConstructor)(validator) && !(subject instanceof validator)) || !validator(subject))
9
+ throw new TypeError("subject fails to satisfy ".concat((0, tersify_1.tersify)(validator)));
10
+ }
11
+ return;
12
+ }
13
+ exports.assertType = assertType;
14
+ assertType.isUndefined = function (subject) {
15
+ if (typeof subject !== 'undefined')
16
+ throw TypeError("subject is not undefined");
17
+ };
18
+ assertType.noUndefined = function (subject) {
19
+ if (typeof subject === 'undefined')
20
+ throw TypeError("subject is undefined");
21
+ };
22
+ assertType.isNull = function (subject) {
23
+ if (subject !== null)
24
+ throw TypeError("subject is not null");
25
+ };
26
+ assertType.noNull = function (subject) {
27
+ if (subject === null)
28
+ throw TypeError("subject is null");
29
+ };
30
+ assertType.isNumber = function (subject) {
31
+ if (typeof subject !== 'number')
32
+ throw TypeError("subject is not number");
33
+ };
34
+ assertType.noNumber = function (subject) {
35
+ if (typeof subject === 'number')
36
+ throw TypeError("subject is number");
37
+ };
38
+ assertType.isBoolean = function (subject) {
39
+ if (typeof subject !== 'boolean')
40
+ throw TypeError("subject is not boolean");
41
+ };
42
+ assertType.noBoolean = function (subject) {
43
+ if (typeof subject === 'boolean')
44
+ throw TypeError("subject is boolean");
45
+ };
46
+ assertType.isTrue = function (subject) {
47
+ if (subject !== true)
48
+ throw TypeError("subject is not true");
49
+ };
50
+ assertType.noTrue = function (subject) {
51
+ // @ts-ignore
52
+ if (subject === true)
53
+ throw TypeError("subject is true");
54
+ };
55
+ assertType.isFalse = function (subject) {
56
+ if (subject !== false)
57
+ throw TypeError("subject is not false");
58
+ };
59
+ assertType.noFalse = function (subject) {
60
+ // @ts-ignore
61
+ if (subject === false)
62
+ throw TypeError("subject is false");
63
+ };
64
+ assertType.isString = function (subject) {
65
+ if (typeof subject !== 'string')
66
+ throw TypeError("subject is not string");
67
+ };
68
+ assertType.noString = function (subject) {
69
+ if (typeof subject === 'string')
70
+ throw TypeError("subject is string");
71
+ };
72
+ assertType.isFunction = function (subject) {
73
+ if (typeof subject !== 'function')
74
+ throw TypeError("subject is not function");
75
+ };
76
+ assertType.noFunction = function (subject) {
77
+ if (typeof subject === 'function')
78
+ throw TypeError("subject is function");
79
+ };
80
+ assertType.isConstructor = function (subject) {
81
+ if (!(0, class_1.isConstructor)(subject))
82
+ throw TypeError("subject is not a constructor");
83
+ };
84
+ assertType.isError = function (subject) {
85
+ if (!(subject instanceof Error))
86
+ throw TypeError("subject is not an Error");
87
+ };
88
+ assertType.noError = function (subject) {
89
+ if (subject instanceof Error)
90
+ throw TypeError("subject is an Error");
91
+ };
92
+ assertType.isNever = function (subject) {
93
+ };
94
+ /**
95
+ * creates a custom assertion function with standard TypeError.
96
+ * Currently this requires explicity type annotation,
97
+ * thus making it hard to use:
98
+ * https://github.com/microsoft/TypeScript/issues/41047
99
+ */
100
+ assertType.custom = function (validator) {
101
+ return function (subject) {
102
+ if (!validator(subject))
103
+ throw new TypeError("subject fails to satisfy ".concat((0, tersify_1.tersify)(validator)));
104
+ return;
105
+ };
106
+ };
107
+ //# sourceMappingURL=assertType.js.map