structured-outputs 0.1.0-beta.20 → 0.1.0-beta.22
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +46 -40
- package/esm/ResponseFormat.d.ts +21 -0
- package/esm/ResponseFormat.d.ts.map +1 -0
- package/esm/ResponseFormat.js +43 -19
- package/esm/ResponseFormat.js.map +1 -1
- package/{types → esm}/Tool.d.ts +1 -0
- package/esm/Tool.d.ts.map +1 -0
- package/esm/Tool.js +1 -0
- package/esm/Tool.js.map +1 -1
- package/esm/oai.d.ts +5 -0
- package/esm/oai.d.ts.map +1 -0
- package/esm/oai.js +2 -0
- package/esm/oai.js.map +1 -0
- package/esm/types/Ref.d.ts.map +1 -0
- package/esm/types/Ref.js +6 -3
- package/esm/types/Ref.js.map +1 -1
- package/esm/types/RootTy.d.ts +8 -0
- package/esm/types/RootTy.d.ts.map +1 -0
- package/esm/types/RootTy.js +5 -7
- package/esm/types/RootTy.js.map +1 -1
- package/esm/types/Ty.d.ts +23 -0
- package/esm/types/Ty.d.ts.map +1 -0
- package/esm/types/Ty.js +5 -9
- package/esm/types/Ty.js.map +1 -1
- package/{types → esm}/types/array.d.ts +1 -1
- package/{types → esm}/types/array.d.ts.map +1 -1
- package/esm/types/array.js +1 -2
- package/esm/types/array.js.map +1 -1
- package/{types → esm}/types/constant.d.ts.map +1 -1
- package/esm/types/constant.js +1 -2
- package/esm/types/constant.js.map +1 -1
- package/{types → esm}/types/constantUnion.d.ts.map +1 -1
- package/esm/types/constantUnion.js +16 -19
- package/esm/types/constantUnion.js.map +1 -1
- package/{types → esm}/types/mod.d.ts +3 -3
- package/esm/types/mod.d.ts.map +1 -0
- package/esm/types/mod.js +3 -3
- package/esm/types/mod.js.map +1 -1
- package/{types → esm}/types/object.d.ts +2 -2
- package/{types → esm}/types/object.d.ts.map +1 -1
- package/esm/types/object.js +1 -2
- package/esm/types/object.js.map +1 -1
- package/{types/types/leaves.d.ts → esm/types/primitives.d.ts} +1 -1
- package/esm/types/primitives.d.ts.map +1 -0
- package/esm/types/primitives.js +14 -0
- package/esm/types/primitives.js.map +1 -0
- package/esm/types/std/Option.js +1 -1
- package/esm/types/std/Option.js.map +1 -1
- package/{types → esm}/types/std/Wrapper.d.ts +0 -1
- package/esm/types/std/Wrapper.d.ts.map +1 -0
- package/esm/types/std/Wrapper.js.map +1 -1
- package/{types → esm}/types/taggedUnion.d.ts +2 -2
- package/{types → esm}/types/taggedUnion.d.ts.map +1 -1
- package/esm/types/taggedUnion.js +1 -2
- package/esm/types/taggedUnion.js.map +1 -1
- package/package.json +6 -11
- package/src/ResponseFormat.ts +48 -41
- package/src/Tool.ts +1 -0
- package/src/oai.ts +5 -0
- package/src/types/Ref.ts +7 -4
- package/src/types/RootTy.ts +11 -13
- package/src/types/Ty.ts +23 -30
- package/src/types/array.ts +2 -3
- package/src/types/constant.ts +1 -2
- package/src/types/constantUnion.ts +16 -19
- package/src/types/mod.ts +3 -3
- package/src/types/object.ts +4 -6
- package/src/types/primitives.ts +17 -0
- package/src/types/std/Option.ts +1 -1
- package/src/types/std/Wrapper.ts +0 -2
- package/src/types/taggedUnion.ts +3 -4
- package/esm/_dnt.shims.js +0 -58
- package/esm/_dnt.shims.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js +0 -47
- package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js +0 -47
- package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js +0 -23
- package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js +0 -31
- package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js +0 -184
- package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js +0 -46
- package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js +0 -28
- package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js +0 -21
- package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/false.js +0 -23
- package/esm/deps/jsr.io/@std/assert/1.0.8/false.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js +0 -30
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js +0 -30
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js +0 -53
- package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js +0 -54
- package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/less.js +0 -29
- package/esm/deps/jsr.io/@std/assert/1.0.8/less.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js +0 -30
- package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/match.js +0 -27
- package/esm/deps/jsr.io/@std/assert/1.0.8/match.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js +0 -46
- package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js +0 -33
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js +0 -30
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js +0 -27
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js +0 -33
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js +0 -160
- package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js +0 -54
- package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js +0 -58
- package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js +0 -27
- package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js +0 -45
- package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js +0 -21
- package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js +0 -21
- package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js +0 -111
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js +0 -277
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js +0 -180
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.js +0 -38
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.js.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js +0 -208
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.js +0 -3
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.js.map +0 -1
- package/esm/types/leaves.js +0 -18
- package/esm/types/leaves.js.map +0 -1
- package/src/_dnt.shims.ts +0 -60
- package/src/deps/jsr.io/@std/assert/1.0.8/almost_equals.ts +0 -55
- package/src/deps/jsr.io/@std/assert/1.0.8/array_includes.ts +0 -57
- package/src/deps/jsr.io/@std/assert/1.0.8/assert.ts +0 -23
- package/src/deps/jsr.io/@std/assert/1.0.8/assertion_error.ts +0 -31
- package/src/deps/jsr.io/@std/assert/1.0.8/equal.ts +0 -210
- package/src/deps/jsr.io/@std/assert/1.0.8/equals.ts +0 -52
- package/src/deps/jsr.io/@std/assert/1.0.8/exists.ts +0 -31
- package/src/deps/jsr.io/@std/assert/1.0.8/fail.ts +0 -21
- package/src/deps/jsr.io/@std/assert/1.0.8/false.ts +0 -26
- package/src/deps/jsr.io/@std/assert/1.0.8/greater.ts +0 -30
- package/src/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.ts +0 -36
- package/src/deps/jsr.io/@std/assert/1.0.8/instance_of.ts +0 -64
- package/src/deps/jsr.io/@std/assert/1.0.8/is_error.ts +0 -65
- package/src/deps/jsr.io/@std/assert/1.0.8/less.ts +0 -29
- package/src/deps/jsr.io/@std/assert/1.0.8/less_or_equal.ts +0 -36
- package/src/deps/jsr.io/@std/assert/1.0.8/match.ts +0 -30
- package/src/deps/jsr.io/@std/assert/1.0.8/mod.ts +0 -47
- package/src/deps/jsr.io/@std/assert/1.0.8/not_equals.ts +0 -36
- package/src/deps/jsr.io/@std/assert/1.0.8/not_instance_of.ts +0 -33
- package/src/deps/jsr.io/@std/assert/1.0.8/not_match.ts +0 -30
- package/src/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.ts +0 -42
- package/src/deps/jsr.io/@std/assert/1.0.8/object_match.ts +0 -202
- package/src/deps/jsr.io/@std/assert/1.0.8/rejects.ts +0 -123
- package/src/deps/jsr.io/@std/assert/1.0.8/strict_equals.ts +0 -67
- package/src/deps/jsr.io/@std/assert/1.0.8/string_includes.ts +0 -30
- package/src/deps/jsr.io/@std/assert/1.0.8/throws.ts +0 -111
- package/src/deps/jsr.io/@std/assert/1.0.8/unimplemented.ts +0 -21
- package/src/deps/jsr.io/@std/assert/1.0.8/unreachable.ts +0 -21
- package/src/deps/jsr.io/@std/internal/1.0.5/build_message.ts +0 -134
- package/src/deps/jsr.io/@std/internal/1.0.5/diff.ts +0 -317
- package/src/deps/jsr.io/@std/internal/1.0.5/diff_str.ts +0 -204
- package/src/deps/jsr.io/@std/internal/1.0.5/format.ts +0 -39
- package/src/deps/jsr.io/@std/internal/1.0.5/styles.ts +0 -233
- package/src/deps/jsr.io/@std/internal/1.0.5/types.ts +0 -18
- package/src/types/leaves.ts +0 -21
- package/types/ResponseFormat.d.ts +0 -26
- package/types/ResponseFormat.d.ts.map +0 -1
- package/types/Tool.d.ts.map +0 -1
- package/types/_dnt.shims.d.ts +0 -2
- package/types/_dnt.shims.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts +0 -29
- package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts +0 -24
- package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts +0 -16
- package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts +0 -26
- package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts +0 -17
- package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts +0 -22
- package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts +0 -18
- package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts +0 -15
- package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts +0 -18
- package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts +0 -20
- package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts +0 -20
- package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts +0 -23
- package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts +0 -25
- package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts +0 -19
- package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts +0 -20
- package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts +0 -18
- package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts +0 -44
- package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts +0 -21
- package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts +0 -20
- package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts +0 -18
- package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts +0 -23
- package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts +0 -28
- package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts +0 -42
- package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts +0 -24
- package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts +0 -18
- package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts +0 -45
- package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts +0 -15
- package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts +0 -15
- package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +0 -82
- package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +0 -140
- package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +0 -99
- package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts +0 -2
- package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +0 -159
- package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts +0 -16
- package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
- package/types/types/Ref.d.ts.map +0 -1
- package/types/types/RootTy.d.ts +0 -8
- package/types/types/RootTy.d.ts.map +0 -1
- package/types/types/Ty.d.ts +0 -27
- package/types/types/Ty.d.ts.map +0 -1
- package/types/types/leaves.d.ts.map +0 -1
- package/types/types/mod.d.ts.map +0 -1
- package/types/types/std/Wrapper.d.ts.map +0 -1
- /package/{types → esm}/_dnt.polyfills.d.ts +0 -0
- /package/{types → esm}/_dnt.polyfills.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/mod.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/mod.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/omit.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/omit.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/pick.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/pick.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sample.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sample.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/union.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/union.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts.map +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/zip.d.ts +0 -0
- /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/zip.d.ts.map +0 -0
- /package/{types → esm}/mod.d.ts +0 -0
- /package/{types → esm}/mod.d.ts.map +0 -0
- /package/{types → esm}/types/Ref.d.ts +0 -0
- /package/{types → esm}/types/constant.d.ts +0 -0
- /package/{types → esm}/types/constantUnion.d.ts +0 -0
- /package/{types → esm}/types/std/Option.d.ts +0 -0
- /package/{types → esm}/types/std/Option.d.ts.map +0 -0
- /package/{types → esm}/types/std/mod.d.ts +0 -0
- /package/{types → esm}/types/std/mod.d.ts.map +0 -0
- /package/{types → esm}/util/phantoms.d.ts +0 -0
- /package/{types → esm}/util/phantoms.d.ts.map +0 -0
- /package/{types → esm}/util/recombineTaggedTemplateArgs.d.ts +0 -0
- /package/{types → esm}/util/recombineTaggedTemplateArgs.d.ts.map +0 -0
@@ -1,31 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
|
4
|
-
/**
|
5
|
-
* Error thrown when an assertion fails.
|
6
|
-
*
|
7
|
-
* @example Usage
|
8
|
-
* ```ts ignore
|
9
|
-
* import { AssertionError } from "@std/assert";
|
10
|
-
*
|
11
|
-
* try {
|
12
|
-
* throw new AssertionError("foo", { cause: "bar" });
|
13
|
-
* } catch (error) {
|
14
|
-
* if (error instanceof AssertionError) {
|
15
|
-
* error.message === "foo"; // true
|
16
|
-
* error.cause === "bar"; // true
|
17
|
-
* }
|
18
|
-
* }
|
19
|
-
* ```
|
20
|
-
*/
|
21
|
-
export class AssertionError extends Error {
|
22
|
-
/** Constructs a new instance.
|
23
|
-
*
|
24
|
-
* @param message The error message.
|
25
|
-
* @param options Additional options. This argument is still unstable. It may change in the future release.
|
26
|
-
*/
|
27
|
-
constructor(message: string, options?: ErrorOptions) {
|
28
|
-
super(message, options);
|
29
|
-
this.name = "AssertionError";
|
30
|
-
}
|
31
|
-
}
|
@@ -1,210 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import * as dntShim from "../../../../../_dnt.shims.js";
|
4
|
-
|
5
|
-
|
6
|
-
type KeyedCollection = Set<unknown> | Map<unknown, unknown>;
|
7
|
-
function isKeyedCollection(x: unknown): x is KeyedCollection {
|
8
|
-
return x instanceof Set || x instanceof Map;
|
9
|
-
}
|
10
|
-
|
11
|
-
function prototypesEqual(a: object, b: object) {
|
12
|
-
const pa = Object.getPrototypeOf(a);
|
13
|
-
const pb = Object.getPrototypeOf(b);
|
14
|
-
return pa === pb ||
|
15
|
-
pa === Object.prototype && pb === null ||
|
16
|
-
pa === null && pb === Object.prototype;
|
17
|
-
}
|
18
|
-
|
19
|
-
function isBasicObjectOrArray(obj: object) {
|
20
|
-
const proto = Object.getPrototypeOf(obj);
|
21
|
-
return proto === null || proto === Object.prototype ||
|
22
|
-
proto === Array.prototype;
|
23
|
-
}
|
24
|
-
|
25
|
-
// Slightly faster than Reflect.ownKeys in V8 as of 12.9.202.13-rusty (2024-10-28)
|
26
|
-
function ownKeys(obj: object) {
|
27
|
-
return [
|
28
|
-
...Object.getOwnPropertyNames(obj),
|
29
|
-
...Object.getOwnPropertySymbols(obj),
|
30
|
-
];
|
31
|
-
}
|
32
|
-
|
33
|
-
function getKeysDeep(obj: object) {
|
34
|
-
const keys = new Set<string | symbol>();
|
35
|
-
|
36
|
-
while (obj !== Object.prototype && obj !== Array.prototype && obj != null) {
|
37
|
-
for (const key of ownKeys(obj)) {
|
38
|
-
keys.add(key);
|
39
|
-
}
|
40
|
-
obj = Object.getPrototypeOf(obj);
|
41
|
-
}
|
42
|
-
|
43
|
-
return keys;
|
44
|
-
}
|
45
|
-
|
46
|
-
// deno-lint-ignore no-explicit-any
|
47
|
-
const Temporal: any = (dntShim.dntGlobalThis as any).Temporal ??
|
48
|
-
new Proxy({}, { get: () => {} });
|
49
|
-
|
50
|
-
/** A non-exhaustive list of prototypes that can be accurately fast-path compared with `String(instance)` */
|
51
|
-
const stringComparablePrototypes = new Set<unknown>(
|
52
|
-
[
|
53
|
-
Intl.Locale,
|
54
|
-
RegExp,
|
55
|
-
Temporal.Duration,
|
56
|
-
Temporal.Instant,
|
57
|
-
Temporal.PlainDate,
|
58
|
-
Temporal.PlainDateTime,
|
59
|
-
Temporal.PlainTime,
|
60
|
-
Temporal.PlainYearMonth,
|
61
|
-
Temporal.PlainMonthDay,
|
62
|
-
Temporal.ZonedDateTime,
|
63
|
-
URL,
|
64
|
-
URLSearchParams,
|
65
|
-
].filter((x) => x != null).map((x) => x.prototype),
|
66
|
-
);
|
67
|
-
|
68
|
-
function isPrimitive(x: unknown) {
|
69
|
-
return typeof x === "string" ||
|
70
|
-
typeof x === "number" ||
|
71
|
-
typeof x === "boolean" ||
|
72
|
-
typeof x === "bigint" ||
|
73
|
-
typeof x === "symbol" ||
|
74
|
-
x == null;
|
75
|
-
}
|
76
|
-
|
77
|
-
type TypedArray = Pick<Uint8Array | BigUint64Array, "length" | number>;
|
78
|
-
const TypedArray = Object.getPrototypeOf(Uint8Array);
|
79
|
-
function compareTypedArrays(a: TypedArray, b: TypedArray) {
|
80
|
-
if (a.length !== b.length) return false;
|
81
|
-
for (let i = 0; i < b.length; i++) {
|
82
|
-
if (!sameValueZero(a[i], b[i])) return false;
|
83
|
-
}
|
84
|
-
return true;
|
85
|
-
}
|
86
|
-
|
87
|
-
/** Check both strict equality (`0 == -0`) and `Object.is` (`NaN == NaN`) */
|
88
|
-
function sameValueZero(a: unknown, b: unknown) {
|
89
|
-
return a === b || Object.is(a, b);
|
90
|
-
}
|
91
|
-
|
92
|
-
/**
|
93
|
-
* Deep equality comparison used in assertions.
|
94
|
-
*
|
95
|
-
* @param a The actual value
|
96
|
-
* @param b The expected value
|
97
|
-
* @returns `true` if the values are deeply equal, `false` otherwise
|
98
|
-
*
|
99
|
-
* @example Usage
|
100
|
-
* ```ts
|
101
|
-
* import { equal } from "@std/assert/equal";
|
102
|
-
*
|
103
|
-
* equal({ foo: "bar" }, { foo: "bar" }); // Returns `true`
|
104
|
-
* equal({ foo: "bar" }, { foo: "baz" }); // Returns `false`
|
105
|
-
* ```
|
106
|
-
*/
|
107
|
-
export function equal(a: unknown, b: unknown): boolean {
|
108
|
-
const seen = new Map<unknown, unknown>();
|
109
|
-
return (function compare(a: unknown, b: unknown): boolean {
|
110
|
-
if (sameValueZero(a, b)) return true;
|
111
|
-
if (isPrimitive(a) || isPrimitive(b)) return false;
|
112
|
-
|
113
|
-
if (a instanceof Date && b instanceof Date) {
|
114
|
-
return Object.is(a.getTime(), b.getTime());
|
115
|
-
}
|
116
|
-
if (a && typeof a === "object" && b && typeof b === "object") {
|
117
|
-
if (!prototypesEqual(a, b)) {
|
118
|
-
return false;
|
119
|
-
}
|
120
|
-
if (a instanceof TypedArray) {
|
121
|
-
return compareTypedArrays(a as TypedArray, b as TypedArray);
|
122
|
-
}
|
123
|
-
if (a instanceof WeakMap) {
|
124
|
-
throw new TypeError("cannot compare WeakMap instances");
|
125
|
-
}
|
126
|
-
if (a instanceof WeakSet) {
|
127
|
-
throw new TypeError("cannot compare WeakSet instances");
|
128
|
-
}
|
129
|
-
if (a instanceof WeakRef) {
|
130
|
-
return compare(a.deref(), (b as WeakRef<WeakKey>).deref());
|
131
|
-
}
|
132
|
-
if (seen.get(a) === b) {
|
133
|
-
return true;
|
134
|
-
}
|
135
|
-
if (Object.keys(a).length !== Object.keys(b).length) {
|
136
|
-
return false;
|
137
|
-
}
|
138
|
-
seen.set(a, b);
|
139
|
-
if (isKeyedCollection(a) && isKeyedCollection(b)) {
|
140
|
-
if (a.size !== b.size) {
|
141
|
-
return false;
|
142
|
-
}
|
143
|
-
|
144
|
-
const aKeys = [...a.keys()];
|
145
|
-
const primitiveKeysFastPath = aKeys.every(isPrimitive);
|
146
|
-
if (primitiveKeysFastPath) {
|
147
|
-
if (a instanceof Set) {
|
148
|
-
return a.symmetricDifference(b).size === 0;
|
149
|
-
}
|
150
|
-
|
151
|
-
for (const key of aKeys) {
|
152
|
-
if (
|
153
|
-
!b.has(key) ||
|
154
|
-
!compare(a.get(key), (b as Map<unknown, unknown>).get(key))
|
155
|
-
) {
|
156
|
-
return false;
|
157
|
-
}
|
158
|
-
}
|
159
|
-
return true;
|
160
|
-
}
|
161
|
-
|
162
|
-
let unmatchedEntries = a.size;
|
163
|
-
|
164
|
-
for (const [aKey, aValue] of a.entries()) {
|
165
|
-
for (const [bKey, bValue] of b.entries()) {
|
166
|
-
/* Given that Map keys can be references, we need
|
167
|
-
* to ensure that they are also deeply equal */
|
168
|
-
|
169
|
-
if (!compare(aKey, bKey)) continue;
|
170
|
-
|
171
|
-
if (
|
172
|
-
(aKey === aValue && bKey === bValue) ||
|
173
|
-
(compare(aValue, bValue))
|
174
|
-
) {
|
175
|
-
unmatchedEntries--;
|
176
|
-
break;
|
177
|
-
}
|
178
|
-
}
|
179
|
-
}
|
180
|
-
|
181
|
-
return unmatchedEntries === 0;
|
182
|
-
}
|
183
|
-
|
184
|
-
let keys: Iterable<string | symbol>;
|
185
|
-
|
186
|
-
if (isBasicObjectOrArray(a)) {
|
187
|
-
// fast path
|
188
|
-
keys = ownKeys({ ...a, ...b });
|
189
|
-
} else if (stringComparablePrototypes.has(Object.getPrototypeOf(a))) {
|
190
|
-
// medium path
|
191
|
-
return String(a) === String(b);
|
192
|
-
} else {
|
193
|
-
// slow path
|
194
|
-
keys = getKeysDeep(a).union(getKeysDeep(b));
|
195
|
-
}
|
196
|
-
|
197
|
-
for (const key of keys) {
|
198
|
-
type Key = keyof typeof a;
|
199
|
-
if (!compare(a[key as Key], b[key as Key])) {
|
200
|
-
return false;
|
201
|
-
}
|
202
|
-
if (((key in a) && (!(key in b))) || ((key in b) && (!(key in a)))) {
|
203
|
-
return false;
|
204
|
-
}
|
205
|
-
}
|
206
|
-
return true;
|
207
|
-
}
|
208
|
-
return false;
|
209
|
-
})(a, b);
|
210
|
-
}
|
@@ -1,52 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { equal } from "./equal.js";
|
4
|
-
import { buildMessage } from "../../internal/1.0.5/build_message.js";
|
5
|
-
import { diff } from "../../internal/1.0.5/diff.js";
|
6
|
-
import { diffStr } from "../../internal/1.0.5/diff_str.js";
|
7
|
-
import { format } from "../../internal/1.0.5/format.js";
|
8
|
-
|
9
|
-
import { AssertionError } from "./assertion_error.js";
|
10
|
-
|
11
|
-
/**
|
12
|
-
* Make an assertion that `actual` and `expected` are equal, deeply. If not
|
13
|
-
* deeply equal, then throw.
|
14
|
-
*
|
15
|
-
* Type parameter can be specified to ensure values under comparison have the
|
16
|
-
* same type.
|
17
|
-
*
|
18
|
-
* @example Usage
|
19
|
-
* ```ts ignore
|
20
|
-
* import { assertEquals } from "@std/assert";
|
21
|
-
*
|
22
|
-
* assertEquals("world", "world"); // Doesn't throw
|
23
|
-
* assertEquals("hello", "world"); // Throws
|
24
|
-
* ```
|
25
|
-
*
|
26
|
-
* @typeParam T The type of the values to compare. This is usually inferred.
|
27
|
-
* @param actual The actual value to compare.
|
28
|
-
* @param expected The expected value to compare.
|
29
|
-
* @param msg The optional message to display if the assertion fails.
|
30
|
-
*/
|
31
|
-
export function assertEquals<T>(
|
32
|
-
actual: T,
|
33
|
-
expected: T,
|
34
|
-
msg?: string,
|
35
|
-
) {
|
36
|
-
if (equal(actual, expected)) {
|
37
|
-
return;
|
38
|
-
}
|
39
|
-
const msgSuffix = msg ? `: ${msg}` : ".";
|
40
|
-
let message = `Values are not equal${msgSuffix}`;
|
41
|
-
|
42
|
-
const actualString = format(actual);
|
43
|
-
const expectedString = format(expected);
|
44
|
-
const stringDiff = (typeof actual === "string") &&
|
45
|
-
(typeof expected === "string");
|
46
|
-
const diffResult = stringDiff
|
47
|
-
? diffStr(actual as string, expected as string)
|
48
|
-
: diff(actualString.split("\n"), expectedString.split("\n"));
|
49
|
-
const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n");
|
50
|
-
message = `${message}\n${diffMsg}`;
|
51
|
-
throw new AssertionError(message);
|
52
|
-
}
|
@@ -1,31 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { AssertionError } from "./assertion_error.js";
|
4
|
-
|
5
|
-
/**
|
6
|
-
* Make an assertion that actual is not null or undefined.
|
7
|
-
* If not then throw.
|
8
|
-
*
|
9
|
-
* @example Usage
|
10
|
-
* ```ts ignore
|
11
|
-
* import { assertExists } from "@std/assert";
|
12
|
-
*
|
13
|
-
* assertExists("something"); // Doesn't throw
|
14
|
-
* assertExists(undefined); // Throws
|
15
|
-
* ```
|
16
|
-
*
|
17
|
-
* @typeParam T The type of the actual value.
|
18
|
-
* @param actual The actual value to check.
|
19
|
-
* @param msg The optional message to include in the error if the assertion fails.
|
20
|
-
*/
|
21
|
-
export function assertExists<T>(
|
22
|
-
actual: T,
|
23
|
-
msg?: string,
|
24
|
-
): asserts actual is NonNullable<T> {
|
25
|
-
if (actual === undefined || actual === null) {
|
26
|
-
const msgSuffix = msg ? `: ${msg}` : ".";
|
27
|
-
msg =
|
28
|
-
`Expected actual: "${actual}" to not be null or undefined${msgSuffix}`;
|
29
|
-
throw new AssertionError(msg);
|
30
|
-
}
|
31
|
-
}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { AssertionError } from "./assertion_error.js";
|
4
|
-
|
5
|
-
/**
|
6
|
-
* Forcefully throws a failed assertion.
|
7
|
-
*
|
8
|
-
* @example Usage
|
9
|
-
* ```ts ignore
|
10
|
-
* import { fail } from "@std/assert";
|
11
|
-
*
|
12
|
-
* fail("Deliberately failed!"); // Throws
|
13
|
-
* ```
|
14
|
-
*
|
15
|
-
* @param msg Optional message to include in the error.
|
16
|
-
* @returns Never returns, always throws.
|
17
|
-
*/
|
18
|
-
export function fail(msg?: string): never {
|
19
|
-
const msgSuffix = msg ? `: ${msg}` : ".";
|
20
|
-
throw new AssertionError(`Failed assertion${msgSuffix}`);
|
21
|
-
}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { AssertionError } from "./assertion_error.js";
|
4
|
-
|
5
|
-
/** Assertion condition for {@linkcode assertFalse}. */
|
6
|
-
export type Falsy = false | 0 | 0n | "" | null | undefined;
|
7
|
-
|
8
|
-
/**
|
9
|
-
* Make an assertion, error will be thrown if `expr` have truthy value.
|
10
|
-
*
|
11
|
-
* @example Usage
|
12
|
-
* ```ts ignore
|
13
|
-
* import { assertFalse } from "@std/assert";
|
14
|
-
*
|
15
|
-
* assertFalse(false); // Doesn't throw
|
16
|
-
* assertFalse(true); // Throws
|
17
|
-
* ```
|
18
|
-
*
|
19
|
-
* @param expr The expression to test.
|
20
|
-
* @param msg The optional message to display if the assertion fails.
|
21
|
-
*/
|
22
|
-
export function assertFalse(expr: unknown, msg = ""): asserts expr is Falsy {
|
23
|
-
if (expr) {
|
24
|
-
throw new AssertionError(msg);
|
25
|
-
}
|
26
|
-
}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { format } from "../../internal/1.0.5/format.js";
|
4
|
-
import { AssertionError } from "./assertion_error.js";
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Make an assertion that `actual` is greater than `expected`.
|
8
|
-
* If not then throw.
|
9
|
-
*
|
10
|
-
* @example Usage
|
11
|
-
* ```ts ignore
|
12
|
-
* import { assertGreater } from "@std/assert";
|
13
|
-
*
|
14
|
-
* assertGreater(2, 1); // Doesn't throw
|
15
|
-
* assertGreater(1, 1); // Throws
|
16
|
-
* assertGreater(0, 1); // Throws
|
17
|
-
* ```
|
18
|
-
*
|
19
|
-
* @typeParam T The type of the values to compare.
|
20
|
-
* @param actual The actual value to compare.
|
21
|
-
* @param expected The expected value to compare.
|
22
|
-
* @param msg The optional message to display if the assertion fails.
|
23
|
-
*/
|
24
|
-
export function assertGreater<T>(actual: T, expected: T, msg?: string) {
|
25
|
-
if (actual > expected) return;
|
26
|
-
|
27
|
-
const actualString = format(actual);
|
28
|
-
const expectedString = format(expected);
|
29
|
-
throw new AssertionError(msg ?? `Expect ${actualString} > ${expectedString}`);
|
30
|
-
}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { format } from "../../internal/1.0.5/format.js";
|
4
|
-
import { AssertionError } from "./assertion_error.js";
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Make an assertion that `actual` is greater than or equal to `expected`.
|
8
|
-
* If not then throw.
|
9
|
-
*
|
10
|
-
* @example Usage
|
11
|
-
* ```ts ignore
|
12
|
-
* import { assertGreaterOrEqual } from "@std/assert";
|
13
|
-
*
|
14
|
-
* assertGreaterOrEqual(2, 1); // Doesn't throw
|
15
|
-
* assertGreaterOrEqual(1, 1); // Doesn't throw
|
16
|
-
* assertGreaterOrEqual(0, 1); // Throws
|
17
|
-
* ```
|
18
|
-
*
|
19
|
-
* @typeParam T The type of the values to compare.
|
20
|
-
* @param actual The actual value to compare.
|
21
|
-
* @param expected The expected value to compare.
|
22
|
-
* @param msg The optional message to display if the assertion fails.
|
23
|
-
*/
|
24
|
-
export function assertGreaterOrEqual<T>(
|
25
|
-
actual: T,
|
26
|
-
expected: T,
|
27
|
-
msg?: string,
|
28
|
-
) {
|
29
|
-
if (actual >= expected) return;
|
30
|
-
|
31
|
-
const actualString = format(actual);
|
32
|
-
const expectedString = format(expected);
|
33
|
-
throw new AssertionError(
|
34
|
-
msg ?? `Expect ${actualString} >= ${expectedString}`,
|
35
|
-
);
|
36
|
-
}
|
@@ -1,64 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { AssertionError } from "./assertion_error.js";
|
4
|
-
|
5
|
-
/** Any constructor */
|
6
|
-
// deno-lint-ignore no-explicit-any
|
7
|
-
export type AnyConstructor = new (...args: any[]) => any;
|
8
|
-
/** Gets constructor type */
|
9
|
-
export type GetConstructorType<T extends AnyConstructor> = InstanceType<T>;
|
10
|
-
|
11
|
-
/**
|
12
|
-
* Make an assertion that `obj` is an instance of `type`.
|
13
|
-
* If not then throw.
|
14
|
-
*
|
15
|
-
* @example Usage
|
16
|
-
* ```ts ignore
|
17
|
-
* import { assertInstanceOf } from "@std/assert";
|
18
|
-
*
|
19
|
-
* assertInstanceOf(new Date(), Date); // Doesn't throw
|
20
|
-
* assertInstanceOf(new Date(), Number); // Throws
|
21
|
-
* ```
|
22
|
-
*
|
23
|
-
* @typeParam T The expected type of the object.
|
24
|
-
* @param actual The object to check.
|
25
|
-
* @param expectedType The expected class constructor.
|
26
|
-
* @param msg The optional message to display if the assertion fails.
|
27
|
-
*/
|
28
|
-
export function assertInstanceOf<
|
29
|
-
// deno-lint-ignore no-explicit-any
|
30
|
-
T extends abstract new (...args: any[]) => any,
|
31
|
-
>(
|
32
|
-
actual: unknown,
|
33
|
-
expectedType: T,
|
34
|
-
msg = "",
|
35
|
-
): asserts actual is InstanceType<T> {
|
36
|
-
if (actual instanceof expectedType) return;
|
37
|
-
|
38
|
-
const msgSuffix = msg ? `: ${msg}` : ".";
|
39
|
-
const expectedTypeStr = expectedType.name;
|
40
|
-
|
41
|
-
let actualTypeStr = "";
|
42
|
-
if (actual === null) {
|
43
|
-
actualTypeStr = "null";
|
44
|
-
} else if (actual === undefined) {
|
45
|
-
actualTypeStr = "undefined";
|
46
|
-
} else if (typeof actual === "object") {
|
47
|
-
actualTypeStr = actual.constructor?.name ?? "Object";
|
48
|
-
} else {
|
49
|
-
actualTypeStr = typeof actual;
|
50
|
-
}
|
51
|
-
|
52
|
-
if (expectedTypeStr === actualTypeStr) {
|
53
|
-
msg =
|
54
|
-
`Expected object to be an instance of "${expectedTypeStr}"${msgSuffix}`;
|
55
|
-
} else if (actualTypeStr === "function") {
|
56
|
-
msg =
|
57
|
-
`Expected object to be an instance of "${expectedTypeStr}" but was not an instanced object${msgSuffix}`;
|
58
|
-
} else {
|
59
|
-
msg =
|
60
|
-
`Expected object to be an instance of "${expectedTypeStr}" but was "${actualTypeStr}"${msgSuffix}`;
|
61
|
-
}
|
62
|
-
|
63
|
-
throw new AssertionError(msg);
|
64
|
-
}
|
@@ -1,65 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { AssertionError } from "./assertion_error.js";
|
4
|
-
import { stripAnsiCode } from "../../internal/1.0.5/styles.js";
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Make an assertion that `error` is an `Error`.
|
8
|
-
* If not then an error will be thrown.
|
9
|
-
* An error class and a string that should be included in the
|
10
|
-
* error message can also be asserted.
|
11
|
-
*
|
12
|
-
* @example Usage
|
13
|
-
* ```ts ignore
|
14
|
-
* import { assertIsError } from "@std/assert";
|
15
|
-
*
|
16
|
-
* assertIsError(null); // Throws
|
17
|
-
* assertIsError(new RangeError("Out of range")); // Doesn't throw
|
18
|
-
* assertIsError(new RangeError("Out of range"), SyntaxError); // Throws
|
19
|
-
* assertIsError(new RangeError("Out of range"), SyntaxError, "Out of range"); // Doesn't throw
|
20
|
-
* assertIsError(new RangeError("Out of range"), SyntaxError, "Within range"); // Throws
|
21
|
-
* ```
|
22
|
-
*
|
23
|
-
* @typeParam E The type of the error to assert.
|
24
|
-
* @param error The error to assert.
|
25
|
-
* @param ErrorClass The optional error class to assert.
|
26
|
-
* @param msgMatches The optional string or RegExp to assert in the error message.
|
27
|
-
* @param msg The optional message to display if the assertion fails.
|
28
|
-
*/
|
29
|
-
export function assertIsError<E extends Error = Error>(
|
30
|
-
error: unknown,
|
31
|
-
// deno-lint-ignore no-explicit-any
|
32
|
-
ErrorClass?: abstract new (...args: any[]) => E,
|
33
|
-
msgMatches?: string | RegExp,
|
34
|
-
msg?: string,
|
35
|
-
): asserts error is E {
|
36
|
-
const msgSuffix = msg ? `: ${msg}` : ".";
|
37
|
-
if (!(error instanceof Error)) {
|
38
|
-
throw new AssertionError(
|
39
|
-
`Expected "error" to be an Error object${msgSuffix}`,
|
40
|
-
);
|
41
|
-
}
|
42
|
-
if (ErrorClass && !(error instanceof ErrorClass)) {
|
43
|
-
msg =
|
44
|
-
`Expected error to be instance of "${ErrorClass.name}", but was "${error?.constructor?.name}"${msgSuffix}`;
|
45
|
-
throw new AssertionError(msg);
|
46
|
-
}
|
47
|
-
let msgCheck;
|
48
|
-
if (typeof msgMatches === "string") {
|
49
|
-
msgCheck = stripAnsiCode(error.message).includes(
|
50
|
-
stripAnsiCode(msgMatches),
|
51
|
-
);
|
52
|
-
}
|
53
|
-
if (msgMatches instanceof RegExp) {
|
54
|
-
msgCheck = msgMatches.test(stripAnsiCode(error.message));
|
55
|
-
}
|
56
|
-
|
57
|
-
if (msgMatches && !msgCheck) {
|
58
|
-
msg = `Expected error message to include ${
|
59
|
-
msgMatches instanceof RegExp
|
60
|
-
? msgMatches.toString()
|
61
|
-
: JSON.stringify(msgMatches)
|
62
|
-
}, but got ${JSON.stringify(error?.message)}${msgSuffix}`;
|
63
|
-
throw new AssertionError(msg);
|
64
|
-
}
|
65
|
-
}
|
@@ -1,29 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { format } from "../../internal/1.0.5/format.js";
|
4
|
-
import { AssertionError } from "./assertion_error.js";
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Make an assertion that `actual` is less than `expected`.
|
8
|
-
* If not then throw.
|
9
|
-
*
|
10
|
-
* @example Usage
|
11
|
-
* ```ts ignore
|
12
|
-
* import { assertLess } from "@std/assert";
|
13
|
-
*
|
14
|
-
* assertLess(1, 2); // Doesn't throw
|
15
|
-
* assertLess(2, 1); // Throws
|
16
|
-
* ```
|
17
|
-
*
|
18
|
-
* @typeParam T The type of the values to compare.
|
19
|
-
* @param actual The actual value to compare.
|
20
|
-
* @param expected The expected value to compare.
|
21
|
-
* @param msg The optional message to display if the assertion fails.
|
22
|
-
*/
|
23
|
-
export function assertLess<T>(actual: T, expected: T, msg?: string) {
|
24
|
-
if (actual < expected) return;
|
25
|
-
|
26
|
-
const actualString = format(actual);
|
27
|
-
const expectedString = format(expected);
|
28
|
-
throw new AssertionError(msg ?? `Expect ${actualString} < ${expectedString}`);
|
29
|
-
}
|
@@ -1,36 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { format } from "../../internal/1.0.5/format.js";
|
4
|
-
import { AssertionError } from "./assertion_error.js";
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Make an assertion that `actual` is less than or equal to `expected`.
|
8
|
-
* If not then throw.
|
9
|
-
*
|
10
|
-
* @example Usage
|
11
|
-
* ```ts ignore
|
12
|
-
* import { assertLessOrEqual } from "@std/assert";
|
13
|
-
*
|
14
|
-
* assertLessOrEqual(1, 2); // Doesn't throw
|
15
|
-
* assertLessOrEqual(1, 1); // Doesn't throw
|
16
|
-
* assertLessOrEqual(1, 0); // Throws
|
17
|
-
* ```
|
18
|
-
*
|
19
|
-
* @typeParam T The type of the values to compare.
|
20
|
-
* @param actual The actual value to compare.
|
21
|
-
* @param expected The expected value to compare.
|
22
|
-
* @param msg The optional message to display if the assertion fails.
|
23
|
-
*/
|
24
|
-
export function assertLessOrEqual<T>(
|
25
|
-
actual: T,
|
26
|
-
expected: T,
|
27
|
-
msg?: string,
|
28
|
-
) {
|
29
|
-
if (actual <= expected) return;
|
30
|
-
|
31
|
-
const actualString = format(actual);
|
32
|
-
const expectedString = format(expected);
|
33
|
-
throw new AssertionError(
|
34
|
-
msg ?? `Expect ${actualString} <= ${expectedString}`,
|
35
|
-
);
|
36
|
-
}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
-
// This module is browser compatible.
|
3
|
-
import { AssertionError } from "./assertion_error.js";
|
4
|
-
|
5
|
-
/**
|
6
|
-
* Make an assertion that `actual` match RegExp `expected`. If not
|
7
|
-
* then throw.
|
8
|
-
*
|
9
|
-
* @example Usage
|
10
|
-
* ```ts ignore
|
11
|
-
* import { assertMatch } from "@std/assert";
|
12
|
-
*
|
13
|
-
* assertMatch("Raptor", /Raptor/); // Doesn't throw
|
14
|
-
* assertMatch("Denosaurus", /Raptor/); // Throws
|
15
|
-
* ```
|
16
|
-
*
|
17
|
-
* @param actual The actual value to be matched.
|
18
|
-
* @param expected The expected pattern to match.
|
19
|
-
* @param msg The optional message to display if the assertion fails.
|
20
|
-
*/
|
21
|
-
export function assertMatch(
|
22
|
-
actual: string,
|
23
|
-
expected: RegExp,
|
24
|
-
msg?: string,
|
25
|
-
) {
|
26
|
-
if (expected.test(actual)) return;
|
27
|
-
const msgSuffix = msg ? `: ${msg}` : ".";
|
28
|
-
msg = `Expected actual: "${actual}" to match: "${expected}"${msgSuffix}`;
|
29
|
-
throw new AssertionError(msg);
|
30
|
-
}
|