pema 0.1.0 → 0.2.1

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 (358) hide show
  1. package/LICENSE +19 -0
  2. package/lib/private/ArrayType.d.ts +31 -5
  3. package/lib/private/ArrayType.js +86 -22
  4. package/lib/private/BigIntDataType.d.ts +3 -0
  5. package/lib/private/BigIntDataType.js +2 -0
  6. package/lib/private/BigIntType.d.ts +8 -3
  7. package/lib/private/BigIntType.js +7 -4
  8. package/lib/private/BigUintDataType.d.ts +3 -0
  9. package/lib/private/BigUintDataType.js +2 -0
  10. package/lib/private/BigUintType.d.ts +10 -0
  11. package/lib/private/BigUintType.js +10 -0
  12. package/lib/private/BlobType.d.ts +12 -2
  13. package/lib/private/BlobType.js +12 -2
  14. package/lib/private/BooleanType.d.ts +10 -2
  15. package/lib/private/BooleanType.js +14 -2
  16. package/lib/private/BuiltinType.d.ts +7 -5
  17. package/lib/private/BuiltinType.js +18 -17
  18. package/lib/private/CoerceKey.d.ts +4 -0
  19. package/lib/private/CoerceKey.js +3 -0
  20. package/lib/private/ConstructorType.d.ts +10 -4
  21. package/lib/private/ConstructorType.js +13 -11
  22. package/lib/private/DataKey.d.ts +4 -0
  23. package/lib/private/DataKey.js +2 -0
  24. package/lib/private/DataType.d.ts +23 -0
  25. package/lib/private/DataType.js +2 -0
  26. package/lib/private/DateType.d.ts +12 -2
  27. package/lib/private/DateType.js +15 -2
  28. package/lib/private/DecrementDepth.d.ts +3 -0
  29. package/lib/private/DecrementDepth.js +2 -0
  30. package/lib/private/DefaultType.d.ts +13 -6
  31. package/lib/private/DefaultType.js +19 -11
  32. package/lib/private/FileType.d.ts +12 -2
  33. package/lib/private/FileType.js +12 -2
  34. package/lib/private/FloatDataType.d.ts +3 -0
  35. package/lib/private/FloatDataType.js +2 -0
  36. package/lib/private/GenericType.d.ts +2 -2
  37. package/lib/private/GenericType.js +2 -2
  38. package/lib/private/Id.d.ts +3 -0
  39. package/lib/private/Id.js +2 -0
  40. package/lib/private/Infer.d.ts +2 -2
  41. package/lib/private/InferInputSchema.d.ts +26 -0
  42. package/lib/private/InferInputSchema.js +2 -0
  43. package/lib/private/InferSchema.d.ts +5 -5
  44. package/lib/private/InferStore.d.ts +9 -0
  45. package/lib/private/InferStore.js +2 -0
  46. package/lib/private/InferStoreOut.d.ts +8 -0
  47. package/lib/private/InferStoreOut.js +2 -0
  48. package/lib/private/IntDataType.d.ts +3 -0
  49. package/lib/private/IntDataType.js +2 -0
  50. package/lib/private/IntType.d.ts +10 -5
  51. package/lib/private/IntType.js +13 -12
  52. package/lib/private/Issue.d.ts +6 -0
  53. package/lib/private/Issue.js +2 -0
  54. package/lib/private/LiteralType.d.ts +9 -2
  55. package/lib/private/LiteralType.js +17 -9
  56. package/lib/private/NormalizeSchema.d.ts +12 -7
  57. package/lib/private/NullType.d.ts +6 -2
  58. package/lib/private/NullType.js +11 -11
  59. package/lib/private/NumberType.d.ts +7 -3
  60. package/lib/private/NumberType.js +7 -4
  61. package/lib/private/NumericType.d.ts +25 -0
  62. package/lib/private/NumericType.js +38 -0
  63. package/lib/private/ObjectType.d.ts +23 -0
  64. package/lib/private/ObjectType.js +53 -0
  65. package/lib/private/OptionalType.d.ts +12 -5
  66. package/lib/private/OptionalType.js +16 -4
  67. package/lib/private/ParseError.d.ts +10 -0
  68. package/lib/private/ParseError.js +51 -0
  69. package/lib/private/ParseIssue.d.ts +5 -0
  70. package/lib/private/ParseIssue.js +2 -0
  71. package/lib/private/ParseOptions.d.ts +10 -0
  72. package/lib/private/ParseOptions.js +3 -0
  73. package/lib/private/Parsed.d.ts +24 -0
  74. package/lib/private/Parsed.js +17 -0
  75. package/lib/private/ParsedKey.d.ts +4 -0
  76. package/lib/private/ParsedKey.js +3 -0
  77. package/lib/private/PartialType.d.ts +25 -0
  78. package/lib/private/PartialType.js +69 -0
  79. package/lib/private/Partialable.d.ts +5 -0
  80. package/lib/private/Partialable.js +2 -0
  81. package/lib/private/PrimaryType.d.ts +14 -0
  82. package/lib/private/PrimaryType.js +26 -0
  83. package/lib/private/PrimitiveType.d.ts +12 -4
  84. package/lib/private/PrimitiveType.js +50 -17
  85. package/lib/private/PureType.d.ts +15 -0
  86. package/lib/private/PureType.js +21 -0
  87. package/lib/private/RecordType.d.ts +19 -4
  88. package/lib/private/RecordType.js +43 -14
  89. package/lib/private/RecordTypeKey.d.ts +1 -1
  90. package/lib/private/Schema.d.ts +3 -3
  91. package/lib/private/SchemaError.d.ts +4 -0
  92. package/lib/private/SchemaError.js +8 -0
  93. package/lib/private/Serialized.d.ts +72 -0
  94. package/lib/private/Serialized.js +2 -0
  95. package/lib/private/StoreId.d.ts +6 -0
  96. package/lib/private/StoreId.js +2 -0
  97. package/lib/private/StoreSchema.d.ts +8 -0
  98. package/lib/private/StoreSchema.js +2 -0
  99. package/lib/private/StoreType.d.ts +21 -0
  100. package/lib/private/StoreType.js +45 -0
  101. package/lib/private/Storeable.d.ts +15 -0
  102. package/lib/private/Storeable.js +7 -0
  103. package/lib/private/StringType.d.ts +17 -5
  104. package/lib/private/StringType.js +47 -13
  105. package/lib/private/SymbolType.d.ts +4 -1
  106. package/lib/private/SymbolType.js +5 -2
  107. package/lib/private/TupleType.d.ts +11 -4
  108. package/lib/private/TupleType.js +16 -22
  109. package/lib/private/Type.d.ts +5 -3
  110. package/lib/private/Type.js +2 -2
  111. package/lib/private/URLType.d.ts +16 -2
  112. package/lib/private/URLType.js +12 -2
  113. package/lib/private/UintDataType.d.ts +3 -0
  114. package/lib/private/UintDataType.js +2 -0
  115. package/lib/private/UintType.d.ts +14 -7
  116. package/lib/private/UintType.js +20 -12
  117. package/lib/private/UndefinedType.d.ts +4 -1
  118. package/lib/private/UndefinedType.js +7 -2
  119. package/lib/private/UnionType.d.ts +15 -4
  120. package/lib/private/UnionType.js +32 -26
  121. package/lib/private/UnknownType.d.ts +5 -0
  122. package/lib/private/UnknownType.js +7 -0
  123. package/lib/private/Validator.d.ts +1 -1
  124. package/lib/private/VirtualType.d.ts +6 -0
  125. package/lib/private/VirtualType.js +11 -0
  126. package/lib/private/array.d.ts +6 -3
  127. package/lib/private/array.js +7 -1
  128. package/lib/private/bigint.d.ts +1 -3
  129. package/lib/private/bigint.js +1 -2
  130. package/lib/private/biguint.d.ts +2 -0
  131. package/lib/private/biguint.js +2 -0
  132. package/lib/private/boolean.d.ts +3 -0
  133. package/lib/private/boolean.js +3 -0
  134. package/lib/private/coerce/bigint.d.ts +2 -0
  135. package/lib/private/coerce/bigint.js +13 -0
  136. package/lib/private/coerce/date.d.ts +2 -0
  137. package/lib/private/coerce/date.js +56 -0
  138. package/lib/private/coerce/int.d.ts +2 -0
  139. package/lib/private/coerce/int.js +8 -0
  140. package/lib/private/constructor.d.ts +5 -2
  141. package/lib/private/constructor.js +3 -0
  142. package/lib/private/error/fail.d.ts +3 -0
  143. package/lib/private/error/fail.js +5 -0
  144. package/lib/private/error/schemafail.d.ts +3 -0
  145. package/lib/private/error/schemafail.js +5 -0
  146. package/lib/private/error.d.ts +3 -2
  147. package/lib/private/error.js +10 -3
  148. package/lib/private/expect.d.ts +12 -11
  149. package/lib/private/expect.js +22 -11
  150. package/lib/private/expected.js +10 -1
  151. package/lib/private/f32.d.ts +4 -0
  152. package/lib/private/f32.js +4 -0
  153. package/lib/private/f64.d.ts +4 -0
  154. package/lib/private/f64.js +3 -0
  155. package/lib/private/i128.d.ts +4 -0
  156. package/lib/private/i128.js +6 -0
  157. package/lib/private/i16.d.ts +4 -0
  158. package/lib/private/i16.js +6 -0
  159. package/lib/private/i32.d.ts +4 -0
  160. package/lib/private/i32.js +6 -0
  161. package/lib/private/i64.d.ts +4 -0
  162. package/lib/private/i64.js +6 -0
  163. package/lib/private/i8.d.ts +4 -0
  164. package/lib/private/i8.js +6 -0
  165. package/lib/private/index.d.ts +4 -2
  166. package/lib/private/index.js +5 -40
  167. package/lib/private/int.d.ts +1 -3
  168. package/lib/private/int.js +1 -2
  169. package/lib/private/is-parsed-type.d.ts +3 -0
  170. package/lib/private/is-parsed-type.js +6 -0
  171. package/lib/private/json/JSONIssue.d.ts +6 -0
  172. package/lib/private/json/JSONIssue.js +2 -0
  173. package/lib/private/json/JSONPayload.d.ts +5 -0
  174. package/lib/private/json/JSONPayload.js +2 -0
  175. package/lib/private/literal.d.ts +1 -2
  176. package/lib/private/literal.js +1 -1
  177. package/lib/private/normalize.d.ts +4 -0
  178. package/lib/private/normalize.js +42 -0
  179. package/lib/private/number.d.ts +1 -3
  180. package/lib/private/number.js +1 -2
  181. package/lib/private/object.d.ts +11 -0
  182. package/lib/private/object.js +10 -0
  183. package/lib/private/optional.d.ts +2 -2
  184. package/lib/private/partial.d.ts +9 -0
  185. package/lib/private/partial.js +8 -0
  186. package/lib/private/path/join.d.ts +3 -0
  187. package/lib/private/path/join.js +13 -0
  188. package/lib/private/path/next.d.ts +9 -0
  189. package/lib/private/path/next.js +9 -0
  190. package/lib/private/path/rebase.d.ts +3 -0
  191. package/lib/private/path/rebase.js +9 -0
  192. package/lib/private/primary.d.ts +4 -0
  193. package/lib/private/primary.js +3 -0
  194. package/lib/private/pure.d.ts +3 -0
  195. package/lib/private/pure.js +5 -0
  196. package/lib/private/record.d.ts +5 -2
  197. package/lib/private/record.js +3 -0
  198. package/lib/private/spec/bigint.d.ts +5 -0
  199. package/lib/private/spec/bigint.js +73 -0
  200. package/lib/private/spec/biguint.d.ts +5 -0
  201. package/lib/private/spec/biguint.js +73 -0
  202. package/lib/private/spec/int.d.ts +5 -0
  203. package/lib/private/spec/int.js +70 -0
  204. package/lib/private/spec/uint.d.ts +5 -0
  205. package/lib/private/spec/uint.js +73 -0
  206. package/lib/private/string.d.ts +3 -0
  207. package/lib/private/string.js +3 -0
  208. package/lib/private/test/messages-of.d.ts +3 -0
  209. package/lib/private/test/messages-of.js +4 -0
  210. package/lib/private/test/paths-of.d.ts +3 -0
  211. package/lib/private/test/paths-of.js +4 -0
  212. package/lib/private/test/throws-issues.d.ts +4 -0
  213. package/lib/private/test/throws-issues.js +13 -0
  214. package/lib/private/trait/Default.d.ts +9 -0
  215. package/lib/private/trait/Default.js +4 -0
  216. package/lib/private/trait/Optional.d.ts +11 -0
  217. package/lib/private/trait/Optional.js +4 -0
  218. package/lib/private/tuple.d.ts +6 -2
  219. package/lib/private/tuple.js +6 -1
  220. package/lib/private/u128.d.ts +4 -0
  221. package/lib/private/u128.js +6 -0
  222. package/lib/private/u16.d.ts +4 -0
  223. package/lib/private/u16.js +6 -0
  224. package/lib/private/u32.d.ts +7 -0
  225. package/lib/private/u32.js +9 -0
  226. package/lib/private/u64.d.ts +4 -0
  227. package/lib/private/u64.js +6 -0
  228. package/lib/private/u8.d.ts +4 -0
  229. package/lib/private/u8.js +6 -0
  230. package/lib/private/uint.d.ts +1 -3
  231. package/lib/private/uint.js +1 -2
  232. package/lib/private/union.d.ts +6 -5
  233. package/lib/private/union.js +4 -1
  234. package/lib/private/unknown.d.ts +7 -0
  235. package/lib/private/unknown.js +6 -0
  236. package/lib/private/validator/email.d.ts +3 -0
  237. package/lib/private/validator/email.js +4 -0
  238. package/lib/private/validator/ends-with.d.ts +4 -0
  239. package/lib/private/validator/ends-with.js +11 -0
  240. package/lib/private/validator/f32.d.ts +2 -0
  241. package/lib/private/validator/f32.js +11 -0
  242. package/lib/private/validator/integer.d.ts +3 -0
  243. package/lib/private/validator/integer.js +12 -0
  244. package/lib/private/validator/isotime.d.ts +2 -0
  245. package/lib/private/validator/isotime.js +30 -0
  246. package/lib/private/validator/length.d.ts +5 -0
  247. package/lib/private/validator/length.js +29 -0
  248. package/lib/private/validator/max.d.ts +6 -0
  249. package/lib/private/validator/max.js +37 -0
  250. package/lib/private/validator/min.d.ts +6 -0
  251. package/lib/private/validator/min.js +37 -0
  252. package/lib/private/validator/port.d.ts +3 -0
  253. package/lib/private/validator/port.js +15 -0
  254. package/lib/private/validator/range.d.ts +3 -0
  255. package/lib/private/validator/range.js +22 -0
  256. package/lib/private/validator/regex.d.ts +5 -0
  257. package/lib/private/validator/regex.js +15 -0
  258. package/lib/private/validator/starts-with.d.ts +4 -0
  259. package/lib/private/validator/starts-with.js +11 -0
  260. package/lib/private/validator/unique-by.d.ts +2 -0
  261. package/lib/private/validator/unique-by.js +23 -0
  262. package/lib/private/validator/unique-with.d.ts +2 -0
  263. package/lib/private/validator/unique-with.js +18 -0
  264. package/lib/private/validator/unique.d.ts +2 -0
  265. package/lib/private/validator/unique.js +19 -0
  266. package/lib/private/validator/uuid.d.ts +3 -0
  267. package/lib/private/validator/uuid.js +4 -0
  268. package/lib/private/validator/values.d.ts +4 -0
  269. package/lib/private/validator/values.js +14 -0
  270. package/lib/public/DataType.d.ts +2 -0
  271. package/lib/public/DataType.js +2 -0
  272. package/lib/public/Id.d.ts +2 -0
  273. package/lib/public/Id.js +2 -0
  274. package/lib/public/InferStore.d.ts +2 -0
  275. package/lib/public/InferStore.js +2 -0
  276. package/lib/public/InferStoreOut.d.ts +2 -0
  277. package/lib/public/InferStoreOut.js +2 -0
  278. package/lib/public/Issue.d.ts +2 -0
  279. package/lib/public/Issue.js +2 -0
  280. package/lib/public/JSONPayload.d.ts +2 -0
  281. package/lib/public/JSONPayload.js +2 -0
  282. package/lib/public/ParseError.d.ts +2 -0
  283. package/lib/public/ParseError.js +2 -0
  284. package/lib/public/Serialized.d.ts +2 -0
  285. package/lib/public/Serialized.js +2 -0
  286. package/lib/public/StoreId.d.ts +2 -0
  287. package/lib/public/StoreId.js +2 -0
  288. package/lib/public/StoreSchema.d.ts +2 -0
  289. package/lib/public/StoreSchema.js +2 -0
  290. package/lib/public/StoreType.d.ts +3 -0
  291. package/lib/public/StoreType.js +2 -0
  292. package/lib/public/array.d.ts +3 -0
  293. package/lib/public/array.js +3 -0
  294. package/lib/public/bigint.d.ts +2 -0
  295. package/lib/public/bigint.js +2 -0
  296. package/lib/public/biguint.d.ts +2 -0
  297. package/lib/public/biguint.js +2 -0
  298. package/lib/public/boolean.d.ts +1 -0
  299. package/lib/public/boolean.js +1 -0
  300. package/lib/public/constructor.d.ts +1 -0
  301. package/lib/public/constructor.js +1 -0
  302. package/lib/public/f32.d.ts +2 -0
  303. package/lib/public/f32.js +2 -0
  304. package/lib/public/f64.d.ts +2 -0
  305. package/lib/public/f64.js +2 -0
  306. package/lib/public/i128.d.ts +2 -0
  307. package/lib/public/i128.js +2 -0
  308. package/lib/public/i16.d.ts +2 -0
  309. package/lib/public/i16.js +2 -0
  310. package/lib/public/i32.d.ts +2 -0
  311. package/lib/public/i32.js +2 -0
  312. package/lib/public/i64.d.ts +2 -0
  313. package/lib/public/i64.js +2 -0
  314. package/lib/public/i8.d.ts +2 -0
  315. package/lib/public/i8.js +2 -0
  316. package/lib/public/index.d.ts +6 -0
  317. package/lib/public/index.js +6 -0
  318. package/lib/public/number.d.ts +1 -0
  319. package/lib/public/number.js +1 -0
  320. package/lib/public/primary.d.ts +2 -0
  321. package/lib/public/primary.js +2 -0
  322. package/lib/public/pure.d.ts +2 -0
  323. package/lib/public/pure.js +2 -0
  324. package/lib/public/record.d.ts +1 -0
  325. package/lib/public/record.js +1 -0
  326. package/lib/public/string.d.ts +1 -0
  327. package/lib/public/string.js +1 -0
  328. package/lib/public/u128.d.ts +2 -0
  329. package/lib/public/u128.js +2 -0
  330. package/lib/public/u16.d.ts +2 -0
  331. package/lib/public/u16.js +2 -0
  332. package/lib/public/u32.d.ts +2 -0
  333. package/lib/public/u32.js +2 -0
  334. package/lib/public/u64.d.ts +2 -0
  335. package/lib/public/u64.js +2 -0
  336. package/lib/public/u8.d.ts +2 -0
  337. package/lib/public/u8.js +2 -0
  338. package/lib/public/uint.d.ts +3 -0
  339. package/lib/public/uint.js +3 -0
  340. package/lib/public/union.d.ts +1 -0
  341. package/lib/public/union.js +1 -0
  342. package/lib/public/unknown.d.ts +3 -0
  343. package/lib/public/unknown.js +2 -0
  344. package/package.json +14 -11
  345. package/lib/private/AbstractConstructor.d.ts +0 -3
  346. package/lib/private/AbstractConstructor.js +0 -2
  347. package/lib/private/MaybeInt.d.ts +0 -3
  348. package/lib/private/MaybeInt.js +0 -2
  349. package/lib/private/SchemaType.d.ts +0 -13
  350. package/lib/private/SchemaType.js +0 -63
  351. package/lib/private/Validated.d.ts +0 -8
  352. package/lib/private/Validated.js +0 -10
  353. package/lib/private/ValidatedKey.d.ts +0 -4
  354. package/lib/private/ValidatedKey.js +0 -3
  355. package/lib/private/is-int.d.ts +0 -3
  356. package/lib/private/is-int.js +0 -5
  357. package/lib/private/is_validated_type.d.ts +0 -4
  358. package/lib/private/is_validated_type.js +0 -5
@@ -1,2 +1,3 @@
1
1
  export { default } from "#constructor";
2
+ export { default as ConstructorType } from "#ConstructorType";
2
3
  //# sourceMappingURL=constructor.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#constructor";
2
+ export { default as ConstructorType } from "#ConstructorType";
2
3
  //# sourceMappingURL=constructor.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#f32";
2
+ //# sourceMappingURL=f32.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#f32";
2
+ //# sourceMappingURL=f32.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#f64";
2
+ //# sourceMappingURL=f64.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#f64";
2
+ //# sourceMappingURL=f64.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i128";
2
+ //# sourceMappingURL=i128.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i128";
2
+ //# sourceMappingURL=i128.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i16";
2
+ //# sourceMappingURL=i16.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i16";
2
+ //# sourceMappingURL=i16.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i32";
2
+ //# sourceMappingURL=i32.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i32";
2
+ //# sourceMappingURL=i32.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i64";
2
+ //# sourceMappingURL=i64.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i64";
2
+ //# sourceMappingURL=i64.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i8";
2
+ //# sourceMappingURL=i8.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#i8";
2
+ //# sourceMappingURL=i8.js.map
@@ -1,2 +1,8 @@
1
+ export { default as DefaultType } from "#DefaultType";
1
2
  export { default } from "#index";
3
+ export { default as LiteralType } from "#LiteralType";
4
+ export { default as ObjectType } from "#ObjectType";
5
+ export { default as OptionalType } from "#OptionalType";
6
+ export { default as PureType } from "#PureType";
7
+ export { default as TupleType } from "#TupleType";
2
8
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,8 @@
1
+ export { default as DefaultType } from "#DefaultType";
1
2
  export { default } from "#index";
3
+ export { default as LiteralType } from "#LiteralType";
4
+ export { default as ObjectType } from "#ObjectType";
5
+ export { default as OptionalType } from "#OptionalType";
6
+ export { default as PureType } from "#PureType";
7
+ export { default as TupleType } from "#TupleType";
2
8
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#number";
2
+ export { default as NumberType } from "#NumberType";
2
3
  //# sourceMappingURL=number.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#number";
2
+ export { default as NumberType } from "#NumberType";
2
3
  //# sourceMappingURL=number.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#primary";
2
+ //# sourceMappingURL=primary.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#primary";
2
+ //# sourceMappingURL=primary.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#pure";
2
+ //# sourceMappingURL=pure.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#pure";
2
+ //# sourceMappingURL=pure.js.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#record";
2
+ export { default as RecordType } from "#RecordType";
2
3
  //# sourceMappingURL=record.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#record";
2
+ export { default as RecordType } from "#RecordType";
2
3
  //# sourceMappingURL=record.js.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#string";
2
+ export { default as StringType } from "#StringType";
2
3
  //# sourceMappingURL=string.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#string";
2
+ export { default as StringType } from "#StringType";
2
3
  //# sourceMappingURL=string.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u128";
2
+ //# sourceMappingURL=u128.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u128";
2
+ //# sourceMappingURL=u128.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u16";
2
+ //# sourceMappingURL=u16.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u16";
2
+ //# sourceMappingURL=u16.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u32";
2
+ //# sourceMappingURL=u32.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u32";
2
+ //# sourceMappingURL=u32.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u64";
2
+ //# sourceMappingURL=u64.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u64";
2
+ //# sourceMappingURL=u64.js.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u8";
2
+ //# sourceMappingURL=u8.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#u8";
2
+ //# sourceMappingURL=u8.js.map
@@ -0,0 +1,3 @@
1
+ export { default } from "#uint";
2
+ export { default as UintType } from "#UintType";
3
+ //# sourceMappingURL=uint.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { default } from "#uint";
2
+ export { default as UintType } from "#UintType";
3
+ //# sourceMappingURL=uint.js.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#union";
2
+ export { default as UnionType } from "#UnionType";
2
3
  //# sourceMappingURL=union.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export { default } from "#union";
2
+ export { default as UnionType } from "#UnionType";
2
3
  //# sourceMappingURL=union.js.map
@@ -0,0 +1,3 @@
1
+ export type { default as UnknownType } from "#UnknownType";
2
+ export { default } from "#unknown";
3
+ //# sourceMappingURL=unknown.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { default } from "#unknown";
2
+ //# sourceMappingURL=unknown.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pema",
3
- "version": "0.1.0",
4
- "description": "Runtime validation for Primate",
3
+ "version": "0.2.1",
4
+ "description": "Primate schema validation",
5
5
  "homepage": "https://primate.run/docs/validation",
6
6
  "bugs": "https://github.com/primate-run/primate/issues",
7
7
  "license": "MIT",
@@ -15,15 +15,11 @@
15
15
  "url": "https://github.com/primate-run/primate",
16
16
  "directory": "packages/pema"
17
17
  },
18
- "scripts": {
19
- "build": "npm run clean && tsc",
20
- "clean": "rm -rf ./lib",
21
- "prepublishOnly": "npm run build",
22
- "test": "npm run build && npx proby"
23
- },
24
18
  "dependencies": {
25
- "@rcompat/invariant": "^0.8.2",
26
- "@rcompat/record": "^0.7.1"
19
+ "@rcompat/assert": "^0.3.1",
20
+ "@rcompat/cli": "^0.11.3",
21
+ "@rcompat/is": "^0.1.4",
22
+ "@rcompat/record": "^0.9.1"
27
23
  },
28
24
  "type": "module",
29
25
  "imports": {
@@ -41,5 +37,12 @@
41
37
  "apekit": "./src/public/*.ts",
42
38
  "default": "./lib/public/*.js"
43
39
  }
40
+ },
41
+ "scripts": {
42
+ "build": "npm run clean && tsc",
43
+ "clean": "rm -rf ./lib",
44
+ "lint": "eslint .",
45
+ "lint:fix": "eslint . --fix",
46
+ "test": "npm run build && npx proby"
44
47
  }
45
- }
48
+ }
@@ -1,3 +0,0 @@
1
- type AbstractConstructor<T = object> = abstract new (...args: never) => T;
2
- export type { AbstractConstructor as default };
3
- //# sourceMappingURL=AbstractConstructor.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=AbstractConstructor.js.map
@@ -1,3 +0,0 @@
1
- type MaybeInt = number | bigint;
2
- export type { MaybeInt as default };
3
- //# sourceMappingURL=MaybeInt.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MaybeInt.js.map
@@ -1,13 +0,0 @@
1
- import GenericType from "#GenericType";
2
- import type Infer from "#Infer";
3
- import type InferSchema from "#InferSchema";
4
- import OptionalType from "#OptionalType";
5
- import type Schema from "#Schema";
6
- export default class SchemaType<S extends Schema> extends GenericType<S, InferSchema<S>, "SchemaType"> {
7
- #private;
8
- constructor(s: S);
9
- optional(): OptionalType<this>;
10
- get name(): string;
11
- validate(x: unknown, key?: string): Infer<this>;
12
- }
13
- //# sourceMappingURL=SchemaType.d.ts.map
@@ -1,63 +0,0 @@
1
- import GenericType from "#GenericType";
2
- import OptionalType from "#OptionalType";
3
- import Validated from "#Validated";
4
- import schema from "#index";
5
- export default class SchemaType extends GenericType {
6
- #schema;
7
- constructor(s) {
8
- super();
9
- this.#schema = s;
10
- }
11
- optional() {
12
- return new OptionalType(this);
13
- }
14
- get name() {
15
- return "schema";
16
- }
17
- validate(x, key) {
18
- const s = this.#schema;
19
- if (s instanceof Validated) {
20
- return s.validate(x, key);
21
- }
22
- if (Array.isArray(s)) {
23
- if (s.length === 1) {
24
- if (!Array.isArray(x))
25
- throw new Error("Expected array");
26
- return x.map((item) => schema(s[0]).validate(item, key));
27
- }
28
- else {
29
- if (!Array.isArray(x))
30
- throw new Error("Expected tuple");
31
- if (x.length !== s.length)
32
- throw new Error("Tuple length mismatch");
33
- return s.map((sch, i) => schema(sch).validate(x[i], key));
34
- }
35
- }
36
- if (typeof s === "object" && s !== null) {
37
- if (typeof x !== "object" || x === null) {
38
- throw new Error("Expected object");
39
- }
40
- const result = {};
41
- for (const k in s) {
42
- const r = schema(s[k]).validate(x[k], `.${k}`);
43
- // exclude undefined (optionals)
44
- if (r !== undefined) {
45
- result[k] = r;
46
- }
47
- }
48
- return result;
49
- }
50
- if (s === null) {
51
- if (x !== null)
52
- throw new Error("Expected null");
53
- return null;
54
- }
55
- if (s === undefined) {
56
- if (x !== undefined)
57
- throw new Error("Expected undefined");
58
- return undefined;
59
- }
60
- throw new Error("Invalid schema structure");
61
- }
62
- }
63
- //# sourceMappingURL=SchemaType.js.map
@@ -1,8 +0,0 @@
1
- import ValidatedKey from "#ValidatedKey";
2
- export default abstract class Validated<StaticType> {
3
- get [ValidatedKey](): "ValidatedKey";
4
- get infer(): StaticType;
5
- abstract get name(): string;
6
- abstract validate(x: unknown, key?: string): StaticType;
7
- }
8
- //# sourceMappingURL=Validated.d.ts.map
@@ -1,10 +0,0 @@
1
- import ValidatedKey from "#ValidatedKey";
2
- export default class Validated {
3
- get [ValidatedKey]() {
4
- return "ValidatedKey";
5
- }
6
- get infer() {
7
- return undefined;
8
- }
9
- }
10
- //# sourceMappingURL=Validated.js.map
@@ -1,4 +0,0 @@
1
- declare const ValidatedKey: unique symbol;
2
- type ValidatedKey = typeof ValidatedKey;
3
- export { ValidatedKey as default };
4
- //# sourceMappingURL=ValidatedKey.d.ts.map
@@ -1,3 +0,0 @@
1
- const ValidatedKey = Symbol("ValidatedKey");
2
- export { ValidatedKey as default };
3
- //# sourceMappingURL=ValidatedKey.js.map
@@ -1,3 +0,0 @@
1
- declare const _default: (n: unknown) => n is number | bigint;
2
- export default _default;
3
- //# sourceMappingURL=is-int.d.ts.map
@@ -1,5 +0,0 @@
1
- export default (n) => {
2
- const type = typeof n;
3
- return type === "number" && Number.isInteger(n) || type === "bigint";
4
- };
5
- //# sourceMappingURL=is-int.js.map
@@ -1,4 +0,0 @@
1
- import type Validated from "#Validated";
2
- declare const _default: (x: unknown) => x is Validated<unknown>;
3
- export default _default;
4
- //# sourceMappingURL=is_validated_type.d.ts.map
@@ -1,5 +0,0 @@
1
- import ValidatedKey from "#ValidatedKey";
2
- export default (x) => {
3
- return !!x && typeof x === "object" && ValidatedKey in x;
4
- };
5
- //# sourceMappingURL=is_validated_type.js.map