Releases: arktypeio/arktype
Releases · arktypeio/arktype
@arktype/[email protected]
Patch Changes
- #986
fbcdddc
Thanks @ssalbdivad! -
@arktype/[email protected]
Patch Changes
- Updated dependencies [
ebe3408
]:- @arktype/[email protected]
- [email protected]
@arktype/[email protected]
Patch Changes
- #974
52be860
Thanks @ssalbdivad! - Pipe and narrow bug fixes (see arktype CHANGELOG)
[email protected]
- Fix an incorrect return value on pipe sequences like the following:
const Amount = type(
"string",
":",
(s, ctx) => Number.isInteger(Number(s)) || ctx.invalid("number")
)
.pipe((s, ctx) => {
try {
return BigInt(s)
} catch {
return ctx.error("a non-decimal number")
}
})
.narrow((amount, ctx) => true)
const Token = type("7<string<=120")
.pipe(s => s.toLowerCase())
.narrow((s, ctx) => true)
const $ = scope({
Asset: {
token: Token,
amount: Amount
},
Assets: () => $.type("Asset[]>=1").pipe(assets => assets)
})
const types = $.export()
// now correctly returns { token: "lovelace", amount: 5000000n }
const out = types.Assets([{ token: "lovelace", amount: "5000000" }])
// (was previously { token: undefined, amount: undefined })
@arktype/[email protected]
Patch Changes
-
#971
79c2b27
Thanks @ssalbdivad! - Provide recommended tsconfig viatsconfig.base.json
, e.g.:tsconfig.json
{ "extends": "@arktype/util/tsconfig.base.json", // your settings here }
@arktype/[email protected]
Patch Changes
-
#971
79c2b27
Thanks @ssalbdivad! - Pipe and narrow bug fixes (see arktype CHANGELOG) -
Updated dependencies [
79c2b27
]:- @arktype/[email protected]
@arktype/[email protected]
Patch Changes
- Updated dependencies [
79c2b27
]:- @arktype/[email protected]
- [email protected]
[email protected]
- Fix a crash when piping to nested paths (see #968)
- Fix inferred input type of
.narrow
(see #969) - Throw on a pipe between disjoint types, e.g.:
// Now correctly throws ParseError: Intersection of <3 and >5 results in an unsatisfiable type
const t = type("number>5").pipe(type("number<3"))
// Previously returned a Disjoint object
- Mention the actual value when describing an intersection error:
const evenGreaterThan5 = type({ value: "number%2>5" })
const out = evenGreaterThan5(3)
if (out instanceof type.errors) {
/*
value 3 must be...
• a multiple of 2
• at most 5
*/
console.log(out.summary)
}
// was previously "value must be..."
Thanks @TizzySaurus for reporting the last two on our Discord!
@arktype/[email protected]
Patch Changes
8cd0807
- Initial changeset
@arktype/[email protected]
Patch Changes
-
8cd0807
- Initial changeset -
Updated dependencies [
8cd0807
]:- @arktype/[email protected]