structured-outputs 0.1.0-beta.2 → 0.1.0-beta.20
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.
- package/README.md +77 -6
- package/esm/ResponseFormat.js +33 -5
- package/esm/ResponseFormat.js.map +1 -1
- package/esm/Tool.js +17 -0
- package/esm/Tool.js.map +1 -0
- package/esm/_dnt.polyfills.js +16 -0
- package/esm/_dnt.polyfills.js.map +1 -0
- package/esm/_dnt.shims.js +58 -0
- package/esm/_dnt.shims.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js +47 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js +47 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js +31 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js +184 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js +46 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js +28 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js +21 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/false.js +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/false.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js +53 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js +54 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/less.js +29 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/less.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/match.js +27 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/match.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js +46 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js +33 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js +27 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js +33 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js +160 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js +54 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js +58 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js +27 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js +45 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js +21 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js +21 -0
- package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/_utils.js +19 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/_utils.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.js +51 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/associate_by.js +45 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/associate_by.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/associate_with.js +41 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/associate_with.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/chunk.js +51 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/chunk.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/deep_merge.js +96 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/deep_merge.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/distinct.js +28 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/distinct.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/distinct_by.js +39 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/distinct_by.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/drop_last_while.js +33 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/drop_last_while.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/drop_while.js +34 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/drop_while.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/filter_entries.js +43 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/filter_entries.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/filter_keys.js +46 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/filter_keys.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/filter_values.js +46 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/filter_values.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/find_single.js +45 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/find_single.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.js +42 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/includes_value.js +39 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/includes_value.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/intersect.js +36 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/intersect.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/invert.js +29 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/invert.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/invert_by.js +46 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/invert_by.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/join_to_string.js +59 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/join_to_string.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_entries.js +47 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_entries.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_keys.js +42 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_keys.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.js +43 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_values.js +13 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/map_values.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/max_by.js +15 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/max_by.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/max_of.js +17 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/max_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/max_with.js +41 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/max_with.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/min_by.js +15 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/min_by.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/min_of.js +17 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/min_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/min_with.js +37 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/min_with.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/mod.js +75 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/mod.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/omit.js +29 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/omit.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/partition.js +16 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/partition.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/partition_entries.js +54 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/partition_entries.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/permutations.js +58 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/permutations.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/pick.js +33 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/pick.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/reduce_groups.js +40 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/reduce_groups.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/running_reduce.js +32 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/running_reduce.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sample.js +35 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sample.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sliding_windows.js +57 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sliding_windows.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sort_by.js +30 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sort_by.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sum_of.js +37 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/sum_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/take_last_while.js +34 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/take_last_while.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/take_while.js +39 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/take_while.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/union.js +34 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/union.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/unzip.js +46 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/unzip.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/without_all.js +28 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/without_all.js.map +1 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/zip.js +43 -0
- package/esm/deps/jsr.io/@std/collections/1.0.9/zip.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js +111 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js +277 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js +180 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.js +38 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js +208 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.js +3 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.js.map +1 -0
- package/esm/mod.js +3 -10
- package/esm/mod.js.map +1 -1
- package/esm/types/Ref.js +11 -0
- package/esm/types/Ref.js.map +1 -0
- package/esm/types/RootTy.js +19 -0
- package/esm/types/RootTy.js.map +1 -0
- package/esm/types/Ty.js +17 -0
- package/esm/types/Ty.js.map +1 -0
- package/esm/types/array.js +9 -0
- package/esm/types/array.js.map +1 -0
- package/esm/types/constant.js +8 -0
- package/esm/types/constant.js.map +1 -0
- package/esm/types/constantUnion.js +25 -0
- package/esm/types/constantUnion.js.map +1 -0
- package/esm/types/leaves.js +18 -0
- package/esm/types/leaves.js.map +1 -0
- package/esm/types/mod.js +11 -0
- package/esm/types/mod.js.map +1 -0
- package/esm/{object.js → types/object.js} +4 -4
- package/esm/types/object.js.map +1 -0
- package/esm/types/std/Option.js +9 -0
- package/esm/types/std/Option.js.map +1 -0
- package/esm/types/std/Wrapper.js +5 -0
- package/esm/types/std/Wrapper.js.map +1 -0
- package/esm/types/std/mod.js +3 -0
- package/esm/types/std/mod.js.map +1 -0
- package/esm/types/taggedUnion.js +20 -0
- package/esm/types/taggedUnion.js.map +1 -0
- package/esm/util/phantoms.js +4 -0
- package/esm/util/phantoms.js.map +1 -0
- package/esm/util/recombineTaggedTemplateArgs.js +4 -0
- package/esm/util/recombineTaggedTemplateArgs.js.map +1 -0
- package/package.json +10 -7
- package/src/ResponseFormat.ts +76 -25
- package/src/Tool.ts +38 -0
- package/src/_dnt.polyfills.ts +27 -0
- package/src/_dnt.shims.ts +60 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/almost_equals.ts +55 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/array_includes.ts +57 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/assert.ts +23 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/assertion_error.ts +31 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/equal.ts +210 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/equals.ts +52 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/exists.ts +31 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/fail.ts +21 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/false.ts +26 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/greater.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.ts +36 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/instance_of.ts +64 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/is_error.ts +65 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/less.ts +29 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/less_or_equal.ts +36 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/mod.ts +47 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/not_equals.ts +36 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/not_instance_of.ts +33 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/not_match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.ts +42 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/object_match.ts +202 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/rejects.ts +123 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/strict_equals.ts +67 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/string_includes.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/throws.ts +111 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/unimplemented.ts +21 -0
- package/src/deps/jsr.io/@std/assert/1.0.8/unreachable.ts +21 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/_utils.ts +26 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.ts +62 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/associate_by.ts +50 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/associate_with.ts +46 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/chunk.ts +56 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/deep_merge.ts +578 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/distinct.ts +29 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/distinct_by.ts +42 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/drop_last_while.ts +36 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/drop_while.ts +39 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/filter_entries.ts +48 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/filter_keys.ts +51 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/filter_values.ts +51 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/find_single.ts +48 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.ts +47 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/includes_value.ts +45 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/intersect.ts +35 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/invert.ts +38 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/invert_by.ts +56 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/join_to_string.ts +109 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/map_entries.ts +53 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/map_keys.ts +47 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.ts +49 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/map_values.ts +96 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/max_by.ts +153 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/max_of.ts +90 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/max_with.ts +46 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/min_by.ts +151 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/min_of.ts +90 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/min_with.ts +42 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/mod.ts +76 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/omit.ts +34 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/partition.ts +85 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/partition_entries.ts +58 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/permutations.ts +66 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/pick.ts +34 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/reduce_groups.ts +45 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/running_reduce.ts +38 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/sample.ts +36 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/sliding_windows.ts +86 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/sort_by.ts +219 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/sum_of.ts +42 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/take_last_while.ts +37 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/take_while.ts +44 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/union.ts +36 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/unzip.ts +50 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/without_all.ts +28 -0
- package/src/deps/jsr.io/@std/collections/1.0.9/zip.ts +49 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/build_message.ts +134 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/diff.ts +317 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/diff_str.ts +204 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/format.ts +39 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/styles.ts +233 -0
- package/src/deps/jsr.io/@std/internal/1.0.5/types.ts +18 -0
- package/src/mod.ts +3 -18
- package/src/types/Ref.ts +16 -0
- package/src/types/RootTy.ts +40 -0
- package/src/types/Ty.ts +57 -0
- package/src/types/array.ts +9 -0
- package/src/types/constant.ts +8 -0
- package/src/types/constantUnion.ts +27 -0
- package/src/types/leaves.ts +21 -0
- package/src/types/mod.ts +10 -0
- package/src/types/object.ts +15 -0
- package/src/types/std/Option.ts +15 -0
- package/src/types/std/Wrapper.ts +8 -0
- package/src/types/std/mod.ts +2 -0
- package/src/types/taggedUnion.ts +28 -0
- package/src/util/phantoms.ts +3 -0
- package/src/util/recombineTaggedTemplateArgs.ts +6 -0
- package/types/ResponseFormat.d.ts +26 -0
- package/types/ResponseFormat.d.ts.map +1 -0
- package/types/Tool.d.ts +13 -0
- package/types/Tool.d.ts.map +1 -0
- package/types/_dnt.polyfills.d.ts +12 -0
- package/types/_dnt.polyfills.d.ts.map +1 -0
- package/types/_dnt.shims.d.ts +2 -0
- package/types/_dnt.shims.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts +29 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts +24 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts +16 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts +26 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts +17 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts +22 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts +18 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts +15 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts +18 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts +20 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts +20 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts +23 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts +25 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts +19 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts +20 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts +18 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts +44 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts +21 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts +20 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts +18 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts +23 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts +28 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts +42 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts +24 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts +18 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts +45 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts +15 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts +15 -0
- package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts +6 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts +41 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts +37 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts +33 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts +38 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts +322 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts +23 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts +26 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts +26 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts +25 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts +32 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts +36 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts +35 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts +31 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts +32 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts +29 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts +25 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/invert.d.ts +29 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/invert.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts +34 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts +75 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts +37 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts +33 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts +32 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts +71 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts +117 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts +61 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts +29 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts +115 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts +61 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts +25 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/mod.d.ts +73 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/mod.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/omit.d.ts +24 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/omit.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/partition.d.ts +60 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/partition.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts +39 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts +27 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/pick.d.ts +25 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/pick.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts +35 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts +27 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sample.d.ts +24 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sample.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts +66 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts +161 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts +29 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts +27 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts +30 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/union.d.ts +24 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/union.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts +32 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts +23 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/zip.d.ts +34 -0
- package/types/deps/jsr.io/@std/collections/1.0.9/zip.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +82 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +140 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +99 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts +2 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +159 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts +16 -0
- package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
- package/types/mod.d.ts +5 -0
- package/types/mod.d.ts.map +1 -0
- package/types/types/Ref.d.ts +4 -0
- package/types/types/Ref.d.ts.map +1 -0
- package/types/types/RootTy.d.ts +8 -0
- package/types/types/RootTy.d.ts.map +1 -0
- package/types/types/Ty.d.ts +27 -0
- package/types/types/Ty.d.ts.map +1 -0
- package/types/types/array.d.ts +3 -0
- package/types/types/array.d.ts.map +1 -0
- package/types/types/constant.d.ts +3 -0
- package/types/types/constant.d.ts.map +1 -0
- package/types/types/constantUnion.d.ts +3 -0
- package/types/types/constantUnion.d.ts.map +1 -0
- package/types/types/leaves.d.ts +6 -0
- package/types/types/leaves.d.ts.map +1 -0
- package/types/types/mod.d.ts +11 -0
- package/types/types/mod.d.ts.map +1 -0
- package/types/types/object.d.ts +6 -0
- package/types/types/object.d.ts.map +1 -0
- package/types/types/std/Option.d.ts +7 -0
- package/types/types/std/Option.d.ts.map +1 -0
- package/types/types/std/Wrapper.d.ts +7 -0
- package/types/types/std/Wrapper.d.ts.map +1 -0
- package/types/types/std/mod.d.ts +3 -0
- package/types/types/std/mod.d.ts.map +1 -0
- package/types/types/taggedUnion.d.ts +8 -0
- package/types/types/taggedUnion.d.ts.map +1 -0
- package/types/util/phantoms.d.ts +2 -0
- package/types/util/phantoms.d.ts.map +1 -0
- package/types/util/recombineTaggedTemplateArgs.d.ts +2 -0
- package/types/util/recombineTaggedTemplateArgs.d.ts.map +1 -0
- package/esm/F.d.ts +0 -13
- package/esm/F.d.ts.map +0 -1
- package/esm/F.js +0 -10
- package/esm/F.js.map +0 -1
- package/esm/ResponseFormat.d.ts +0 -14
- package/esm/ResponseFormat.d.ts.map +0 -1
- package/esm/_base.d.ts +0 -13
- package/esm/_base.d.ts.map +0 -1
- package/esm/_base.js +0 -40
- package/esm/_base.js.map +0 -1
- package/esm/array.d.ts +0 -4
- package/esm/array.d.ts.map +0 -1
- package/esm/array.js +0 -9
- package/esm/array.js.map +0 -1
- package/esm/common.d.ts +0 -6
- package/esm/common.d.ts.map +0 -1
- package/esm/common.js +0 -2
- package/esm/common.js.map +0 -1
- package/esm/literal.d.ts +0 -4
- package/esm/literal.d.ts.map +0 -1
- package/esm/literal.js +0 -8
- package/esm/literal.js.map +0 -1
- package/esm/mod.d.ts +0 -16
- package/esm/mod.d.ts.map +0 -1
- package/esm/number.d.ts +0 -4
- package/esm/number.d.ts.map +0 -1
- package/esm/number.js +0 -8
- package/esm/number.js.map +0 -1
- package/esm/object.d.ts +0 -7
- package/esm/object.d.ts.map +0 -1
- package/esm/object.js.map +0 -1
- package/esm/schema.d.ts +0 -4
- package/esm/schema.d.ts.map +0 -1
- package/esm/schema.js +0 -9
- package/esm/schema.js.map +0 -1
- package/esm/string.d.ts +0 -4
- package/esm/string.d.ts.map +0 -1
- package/esm/string.js +0 -8
- package/esm/string.js.map +0 -1
- package/esm/union.d.ts +0 -6
- package/esm/union.d.ts.map +0 -1
- package/esm/union.js +0 -8
- package/esm/union.js.map +0 -1
- package/src/F.ts +0 -27
- package/src/_base.ts +0 -25
- package/src/array.ts +0 -11
- package/src/common.ts +0 -6
- package/src/literal.ts +0 -10
- package/src/number.ts +0 -10
- package/src/object.ts +0 -17
- package/src/schema.ts +0 -10
- package/src/string.ts +0 -10
- package/src/union.ts +0 -12
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { assertEquals } from "./equals.js";
|
|
4
|
+
/**
|
|
5
|
+
* Make an assertion that `expected` object is a subset of `actual` object,
|
|
6
|
+
* deeply. If not, then throw.
|
|
7
|
+
*
|
|
8
|
+
* @example Usage
|
|
9
|
+
* ```ts ignore
|
|
10
|
+
* import { assertObjectMatch } from "@std/assert";
|
|
11
|
+
*
|
|
12
|
+
* assertObjectMatch({ foo: "bar" }, { foo: "bar" }); // Doesn't throw
|
|
13
|
+
* assertObjectMatch({ foo: "bar" }, { foo: "baz" }); // Throws
|
|
14
|
+
* assertObjectMatch({ foo: 1, bar: 2 }, { foo: 1 }); // Doesn't throw
|
|
15
|
+
* assertObjectMatch({ foo: 1 }, { foo: 1, bar: 2 }); // Throws
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @example Usage with nested objects
|
|
19
|
+
* ```ts ignore
|
|
20
|
+
* import { assertObjectMatch } from "@std/assert";
|
|
21
|
+
*
|
|
22
|
+
* assertObjectMatch({ foo: { bar: 3, baz: 4 } }, { foo: { bar: 3 } }); // Doesn't throw
|
|
23
|
+
* assertObjectMatch({ foo: { bar: 3 } }, { foo: { bar: 3, baz: 4 } }); // Throws
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @param actual The actual value to be matched.
|
|
27
|
+
* @param expected The expected value to match.
|
|
28
|
+
* @param msg The optional message to display if the assertion fails.
|
|
29
|
+
*/
|
|
30
|
+
export function assertObjectMatch(
|
|
31
|
+
// deno-lint-ignore no-explicit-any
|
|
32
|
+
actual, expected, msg) {
|
|
33
|
+
return assertEquals(
|
|
34
|
+
// get the intersection of "actual" and "expected"
|
|
35
|
+
// side effect: all the instances' constructor field is "Object" now.
|
|
36
|
+
filter(actual, expected),
|
|
37
|
+
// set (nested) instances' constructor field to be "Object" without changing expected value.
|
|
38
|
+
// see https://github.com/denoland/deno_std/pull/1419
|
|
39
|
+
filter(expected, expected), msg);
|
|
40
|
+
}
|
|
41
|
+
function isObject(val) {
|
|
42
|
+
return typeof val === "object" && val !== null;
|
|
43
|
+
}
|
|
44
|
+
function filter(a, b) {
|
|
45
|
+
const seen = new WeakMap();
|
|
46
|
+
return filterObject(a, b);
|
|
47
|
+
function filterObject(a, b) {
|
|
48
|
+
// Prevent infinite loop with circular references with same filter
|
|
49
|
+
if ((seen.has(a)) && (seen.get(a) === b)) {
|
|
50
|
+
return a;
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
seen.set(a, b);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err instanceof TypeError) {
|
|
57
|
+
throw new TypeError(`Cannot assertObjectMatch ${a === null ? null : `type ${typeof a}`}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Filter keys and symbols which are present in both actual and expected
|
|
61
|
+
const filtered = {};
|
|
62
|
+
const keysA = Reflect.ownKeys(a);
|
|
63
|
+
const keysB = Reflect.ownKeys(b);
|
|
64
|
+
const entries = keysA.filter((key) => keysB.includes(key))
|
|
65
|
+
.map((key) => [key, a[key]]);
|
|
66
|
+
if (keysA.length && keysB.length && !entries.length) {
|
|
67
|
+
// If both objects are not empty but don't have the same keys or symbols,
|
|
68
|
+
// returns the entries in object a.
|
|
69
|
+
for (const key of keysA) {
|
|
70
|
+
filtered[key] = a[key];
|
|
71
|
+
}
|
|
72
|
+
return filtered;
|
|
73
|
+
}
|
|
74
|
+
for (const [key, value] of entries) {
|
|
75
|
+
// On regexp references, keep value as it to avoid loosing pattern and flags
|
|
76
|
+
if (value instanceof RegExp) {
|
|
77
|
+
filtered[key] = value;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const subset = b[key];
|
|
81
|
+
// On array references, build a filtered array and filter nested objects inside
|
|
82
|
+
if (Array.isArray(value) && Array.isArray(subset)) {
|
|
83
|
+
filtered[key] = filterArray(value, subset);
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
// On nested objects references, build a filtered object recursively
|
|
87
|
+
if (isObject(value) && isObject(subset)) {
|
|
88
|
+
// When both operands are maps, build a filtered map with common keys and filter nested objects inside
|
|
89
|
+
if ((value instanceof Map) && (subset instanceof Map)) {
|
|
90
|
+
filtered[key] = new Map([...value].filter(([k]) => subset.has(k)).map(([k, v]) => {
|
|
91
|
+
const v2 = subset.get(k);
|
|
92
|
+
if (isObject(v) && isObject(v2)) {
|
|
93
|
+
return [k, filterObject(v, v2)];
|
|
94
|
+
}
|
|
95
|
+
return [k, v];
|
|
96
|
+
}));
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// When both operands are set, build a filtered set with common values
|
|
100
|
+
if ((value instanceof Set) && (subset instanceof Set)) {
|
|
101
|
+
filtered[key] = value.intersection(subset);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
filtered[key] = filterObject(value, subset);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
filtered[key] = value;
|
|
108
|
+
}
|
|
109
|
+
return filtered;
|
|
110
|
+
}
|
|
111
|
+
function filterArray(a, b) {
|
|
112
|
+
// Prevent infinite loop with circular references with same filter
|
|
113
|
+
if (seen.has(a) && (seen.get(a) === b)) {
|
|
114
|
+
return a;
|
|
115
|
+
}
|
|
116
|
+
seen.set(a, b);
|
|
117
|
+
const filtered = [];
|
|
118
|
+
const count = Math.min(a.length, b.length);
|
|
119
|
+
for (let i = 0; i < count; ++i) {
|
|
120
|
+
const value = a[i];
|
|
121
|
+
const subset = b[i];
|
|
122
|
+
// On regexp references, keep value as it to avoid loosing pattern and flags
|
|
123
|
+
if (value instanceof RegExp) {
|
|
124
|
+
filtered.push(value);
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
// On array references, build a filtered array and filter nested objects inside
|
|
128
|
+
if (Array.isArray(value) && Array.isArray(subset)) {
|
|
129
|
+
filtered.push(filterArray(value, subset));
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
// On nested objects references, build a filtered object recursively
|
|
133
|
+
if (isObject(value) && isObject(subset)) {
|
|
134
|
+
// When both operands are maps, build a filtered map with common keys and filter nested objects inside
|
|
135
|
+
if ((value instanceof Map) && (subset instanceof Map)) {
|
|
136
|
+
const map = new Map([...value].filter(([k]) => subset.has(k))
|
|
137
|
+
.map(([k, v]) => {
|
|
138
|
+
const v2 = subset.get(k);
|
|
139
|
+
if (isObject(v) && isObject(v2)) {
|
|
140
|
+
return [k, filterObject(v, v2)];
|
|
141
|
+
}
|
|
142
|
+
return [k, v];
|
|
143
|
+
}));
|
|
144
|
+
filtered.push(map);
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
// When both operands are set, build a filtered set with common values
|
|
148
|
+
if ((value instanceof Set) && (subset instanceof Set)) {
|
|
149
|
+
filtered.push(value.intersection(subset));
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
filtered.push(filterObject(value, subset));
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
filtered.push(value);
|
|
156
|
+
}
|
|
157
|
+
return filtered;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=object_match.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object_match.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.8/object_match.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 { assertIsError } from "./is_error.js";
|
|
5
|
+
export async function assertRejects(fn, errorClassOrMsg, msgIncludesOrMsg, msg) {
|
|
6
|
+
// deno-lint-ignore no-explicit-any
|
|
7
|
+
let ErrorClass;
|
|
8
|
+
let msgIncludes;
|
|
9
|
+
let err;
|
|
10
|
+
if (typeof errorClassOrMsg !== "string") {
|
|
11
|
+
if (errorClassOrMsg === undefined ||
|
|
12
|
+
errorClassOrMsg.prototype instanceof Error ||
|
|
13
|
+
errorClassOrMsg.prototype === Error.prototype) {
|
|
14
|
+
ErrorClass = errorClassOrMsg;
|
|
15
|
+
msgIncludes = msgIncludesOrMsg;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
msg = errorClassOrMsg;
|
|
20
|
+
}
|
|
21
|
+
let doesThrow = false;
|
|
22
|
+
let isPromiseReturned = false;
|
|
23
|
+
const msgSuffix = msg ? `: ${msg}` : ".";
|
|
24
|
+
try {
|
|
25
|
+
const possiblePromise = fn();
|
|
26
|
+
if (possiblePromise &&
|
|
27
|
+
typeof possiblePromise === "object" &&
|
|
28
|
+
typeof possiblePromise.then === "function") {
|
|
29
|
+
isPromiseReturned = true;
|
|
30
|
+
await possiblePromise;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
throw new Error();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (!isPromiseReturned) {
|
|
38
|
+
throw new AssertionError(`Function throws when expected to reject${msgSuffix}`);
|
|
39
|
+
}
|
|
40
|
+
if (ErrorClass) {
|
|
41
|
+
if (!(error instanceof Error)) {
|
|
42
|
+
throw new AssertionError(`A non-Error object was rejected${msgSuffix}`);
|
|
43
|
+
}
|
|
44
|
+
assertIsError(error, ErrorClass, msgIncludes, msg);
|
|
45
|
+
}
|
|
46
|
+
err = error;
|
|
47
|
+
doesThrow = true;
|
|
48
|
+
}
|
|
49
|
+
if (!doesThrow) {
|
|
50
|
+
throw new AssertionError(`Expected function to reject${msgSuffix}`);
|
|
51
|
+
}
|
|
52
|
+
return err;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=rejects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rejects.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.8/rejects.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoD9C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAA8B,EAC9B,eAGU,EACV,gBAAyB,EACzB,GAAY;IAEZ,mCAAmC;IACnC,IAAI,UAA4D,CAAC;IACjE,IAAI,WAA+B,CAAC;IACpC,IAAI,GAAG,CAAC;IAER,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,IACE,eAAe,KAAK,SAAS;YAC7B,eAAe,CAAC,SAAS,YAAY,KAAK;YAC1C,eAAe,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAC7C,CAAC;YACD,UAAU,GAAG,eAAe,CAAC;YAC7B,WAAW,GAAG,gBAAgB,CAAC;QACjC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,eAAe,CAAC;IACxB,CAAC;IACD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,EAAE,EAAE,CAAC;QAC7B,IACE,eAAe;YACf,OAAO,eAAe,KAAK,QAAQ;YACnC,OAAO,eAAe,CAAC,IAAI,KAAK,UAAU,EAC1C,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,eAAe,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CACtB,0CAA0C,SAAS,EAAE,CACtD,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,cAAc,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,aAAa,CACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,GAAG,GAAG,KAAK,CAAC;QACZ,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CACtB,8BAA8B,SAAS,EAAE,CAC1C,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { buildMessage } from "../../internal/1.0.5/build_message.js";
|
|
4
|
+
import { diff } from "../../internal/1.0.5/diff.js";
|
|
5
|
+
import { diffStr } from "../../internal/1.0.5/diff_str.js";
|
|
6
|
+
import { format } from "../../internal/1.0.5/format.js";
|
|
7
|
+
import { red } from "../../internal/1.0.5/styles.js";
|
|
8
|
+
import { AssertionError } from "./assertion_error.js";
|
|
9
|
+
/**
|
|
10
|
+
* Make an assertion that `actual` and `expected` are strictly equal, using
|
|
11
|
+
* {@linkcode Object.is} for equality comparison. If not, then throw.
|
|
12
|
+
*
|
|
13
|
+
* @example Usage
|
|
14
|
+
* ```ts ignore
|
|
15
|
+
* import { assertStrictEquals } from "@std/assert";
|
|
16
|
+
*
|
|
17
|
+
* const a = {};
|
|
18
|
+
* const b = a;
|
|
19
|
+
* assertStrictEquals(a, b); // Doesn't throw
|
|
20
|
+
*
|
|
21
|
+
* const c = {};
|
|
22
|
+
* const d = {};
|
|
23
|
+
* assertStrictEquals(c, d); // Throws
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @typeParam T The type of the expected value.
|
|
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 assertStrictEquals(actual, expected, msg) {
|
|
32
|
+
if (Object.is(actual, expected)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const msgSuffix = msg ? `: ${msg}` : ".";
|
|
36
|
+
let message;
|
|
37
|
+
const actualString = format(actual);
|
|
38
|
+
const expectedString = format(expected);
|
|
39
|
+
if (actualString === expectedString) {
|
|
40
|
+
const withOffset = actualString
|
|
41
|
+
.split("\n")
|
|
42
|
+
.map((l) => ` ${l}`)
|
|
43
|
+
.join("\n");
|
|
44
|
+
message =
|
|
45
|
+
`Values have the same structure but are not reference-equal${msgSuffix}\n\n${red(withOffset)}\n`;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const stringDiff = (typeof actual === "string") &&
|
|
49
|
+
(typeof expected === "string");
|
|
50
|
+
const diffResult = stringDiff
|
|
51
|
+
? diffStr(actual, expected)
|
|
52
|
+
: diff(actualString.split("\n"), expectedString.split("\n"));
|
|
53
|
+
const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n");
|
|
54
|
+
message = `Values are not strictly equal${msgSuffix}\n${diffMsg}`;
|
|
55
|
+
}
|
|
56
|
+
throw new AssertionError(message);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=strict_equals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strict_equals.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.8/strict_equals.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAe,EACf,QAAW,EACX,GAAY;IAEZ,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,IAAI,OAAe,CAAC;IAEpB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY;aAC5B,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,6DAA6D,SAAS,OACpE,GAAG,CAAC,UAAU,CAChB,IAAI,CAAC;IACT,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC;YAC7C,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,UAAU;YAC3B,CAAC,CAAC,OAAO,CAAC,MAAgB,EAAE,QAAkB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,GAAG,gCAAgC,SAAS,KAAK,OAAO,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
* Make an assertion that actual includes expected. If not
|
|
6
|
+
* then throw.
|
|
7
|
+
*
|
|
8
|
+
* @example Usage
|
|
9
|
+
* ```ts ignore
|
|
10
|
+
* import { assertStringIncludes } from "@std/assert";
|
|
11
|
+
*
|
|
12
|
+
* assertStringIncludes("Hello", "ello"); // Doesn't throw
|
|
13
|
+
* assertStringIncludes("Hello", "world"); // Throws
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @param actual The actual string to check for inclusion.
|
|
17
|
+
* @param expected The expected string to check for inclusion.
|
|
18
|
+
* @param msg The optional message to display if the assertion fails.
|
|
19
|
+
*/
|
|
20
|
+
export function assertStringIncludes(actual, expected, msg) {
|
|
21
|
+
if (actual.includes(expected))
|
|
22
|
+
return;
|
|
23
|
+
const msgSuffix = msg ? `: ${msg}` : ".";
|
|
24
|
+
msg = `Expected actual: "${actual}" to contain: "${expected}"${msgSuffix}`;
|
|
25
|
+
throw new AssertionError(msg);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=string_includes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string_includes.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.8/string_includes.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,QAAgB,EAChB,GAAY;IAEZ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO;IACtC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,GAAG,GAAG,qBAAqB,MAAM,kBAAkB,QAAQ,IAAI,SAAS,EAAE,CAAC;IAC3E,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { assertIsError } from "./is_error.js";
|
|
4
|
+
import { AssertionError } from "./assertion_error.js";
|
|
5
|
+
export function assertThrows(fn, errorClassOrMsg, msgIncludesOrMsg, msg) {
|
|
6
|
+
// deno-lint-ignore no-explicit-any
|
|
7
|
+
let ErrorClass;
|
|
8
|
+
let msgIncludes;
|
|
9
|
+
let err;
|
|
10
|
+
if (typeof errorClassOrMsg !== "string") {
|
|
11
|
+
if (errorClassOrMsg === undefined ||
|
|
12
|
+
errorClassOrMsg?.prototype instanceof Error ||
|
|
13
|
+
errorClassOrMsg?.prototype === Error.prototype) {
|
|
14
|
+
ErrorClass = errorClassOrMsg;
|
|
15
|
+
msgIncludes = msgIncludesOrMsg;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
msg = msgIncludesOrMsg;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
msg = errorClassOrMsg;
|
|
23
|
+
}
|
|
24
|
+
let doesThrow = false;
|
|
25
|
+
const msgSuffix = msg ? `: ${msg}` : ".";
|
|
26
|
+
try {
|
|
27
|
+
fn();
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (ErrorClass) {
|
|
31
|
+
if (error instanceof Error === false) {
|
|
32
|
+
throw new AssertionError(`A non-Error object was thrown${msgSuffix}`);
|
|
33
|
+
}
|
|
34
|
+
assertIsError(error, ErrorClass, msgIncludes, msg);
|
|
35
|
+
}
|
|
36
|
+
err = error;
|
|
37
|
+
doesThrow = true;
|
|
38
|
+
}
|
|
39
|
+
if (!doesThrow) {
|
|
40
|
+
msg = `Expected function to throw${msgSuffix}`;
|
|
41
|
+
throw new AssertionError(msg);
|
|
42
|
+
}
|
|
43
|
+
return err;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=throws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throws.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.8/throws.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuDtD,MAAM,UAAU,YAAY,CAC1B,EAAiB,EACjB,eAGU,EACV,gBAAyB,EACzB,GAAY;IAEZ,mCAAmC;IACnC,IAAI,UAA4D,CAAC;IACjE,IAAI,WAA+B,CAAC;IACpC,IAAI,GAAG,CAAC;IAER,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,IACE,eAAe,KAAK,SAAS;YAC7B,eAAe,EAAE,SAAS,YAAY,KAAK;YAC3C,eAAe,EAAE,SAAS,KAAK,KAAK,CAAC,SAAS,EAC9C,CAAC;YACD,UAAU,GAAG,eAAe,CAAC;YAC7B,WAAW,GAAG,gBAAgB,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,gBAAgB,CAAC;QACzB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,eAAe,CAAC;IACxB,CAAC;IACD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,KAAK,KAAK,EAAE,CAAC;gBACrC,MAAM,IAAI,cAAc,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,aAAa,CACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,GAAG,GAAG,KAAK,CAAC;QACZ,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,GAAG,6BAA6B,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
* Use this to stub out methods that will throw when invoked.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts ignore
|
|
9
|
+
* import { unimplemented } from "@std/assert";
|
|
10
|
+
*
|
|
11
|
+
* unimplemented(); // Throws
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @param msg Optional message to include in the error.
|
|
15
|
+
* @returns Never returns, always throws.
|
|
16
|
+
*/
|
|
17
|
+
export function unimplemented(msg) {
|
|
18
|
+
const msgSuffix = msg ? `: ${msg}` : ".";
|
|
19
|
+
throw new AssertionError(`Unimplemented${msgSuffix}`);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=unimplemented.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unimplemented.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.8/unimplemented.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,MAAM,IAAI,cAAc,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
* Use this to assert unreachable code.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts ignore
|
|
9
|
+
* import { unreachable } from "@std/assert";
|
|
10
|
+
*
|
|
11
|
+
* unreachable(); // Throws
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @param msg Optional message to include in the error.
|
|
15
|
+
* @returns Never returns, always throws.
|
|
16
|
+
*/
|
|
17
|
+
export function unreachable(msg) {
|
|
18
|
+
const msgSuffix = msg ? `: ${msg}` : ".";
|
|
19
|
+
throw new AssertionError(`Unreachable${msgSuffix}`);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=unreachable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unreachable.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/assert/1.0.8/unreachable.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,MAAM,IAAI,cAAc,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
/**
|
|
4
|
+
* Filters the given array, removing all elements that do not match the given predicate
|
|
5
|
+
* **in place. This means `array` will be modified!**.
|
|
6
|
+
*/
|
|
7
|
+
export function filterInPlace(array, predicate) {
|
|
8
|
+
let outputIndex = 0;
|
|
9
|
+
for (const cur of array) {
|
|
10
|
+
if (!predicate(cur)) {
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
array[outputIndex] = cur;
|
|
14
|
+
outputIndex += 1;
|
|
15
|
+
}
|
|
16
|
+
array.splice(outputIndex);
|
|
17
|
+
return array;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_utils.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.0.9/_utils.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AAErC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAe,EACf,SAA6B;IAE7B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;QACzB,WAAW,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { mapEntries } from "./map_entries.js";
|
|
4
|
+
/**
|
|
5
|
+
* Applies the given aggregator to each group in the given grouping, returning the
|
|
6
|
+
* results together with the respective group keys
|
|
7
|
+
*
|
|
8
|
+
* @typeParam T Type of the values in the input record.
|
|
9
|
+
* @typeParam A Type of the accumulator value, which will match the returned
|
|
10
|
+
* record's values.
|
|
11
|
+
*
|
|
12
|
+
* @param record The grouping to aggregate.
|
|
13
|
+
* @param aggregator The function to apply to each group.
|
|
14
|
+
*
|
|
15
|
+
* @returns A record with the same keys as the input record, but with the values
|
|
16
|
+
* being the result of applying the aggregator to each group.
|
|
17
|
+
*
|
|
18
|
+
* @example Basic usage
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { aggregateGroups } from "@std/collections/aggregate-groups";
|
|
21
|
+
* import { assertEquals } from "@std/assert";
|
|
22
|
+
*
|
|
23
|
+
* const foodProperties = {
|
|
24
|
+
* Curry: ["spicy", "vegan"],
|
|
25
|
+
* Omelette: ["creamy", "vegetarian"],
|
|
26
|
+
* };
|
|
27
|
+
*
|
|
28
|
+
* const descriptions = aggregateGroups(
|
|
29
|
+
* foodProperties,
|
|
30
|
+
* (current, key, first, acc) => {
|
|
31
|
+
* return first
|
|
32
|
+
* ? `${key} is ${current}`
|
|
33
|
+
* : `${acc} and ${current}`;
|
|
34
|
+
* },
|
|
35
|
+
* );
|
|
36
|
+
*
|
|
37
|
+
* assertEquals(descriptions, {
|
|
38
|
+
* Curry: "Curry is spicy and vegan",
|
|
39
|
+
* Omelette: "Omelette is creamy and vegetarian",
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export function aggregateGroups(record, aggregator) {
|
|
44
|
+
return mapEntries(record, ([key, values]) => [
|
|
45
|
+
key,
|
|
46
|
+
// Need the type assertions here because the reduce type does not support
|
|
47
|
+
// the type transition we need
|
|
48
|
+
values.reduce((accumulator, current, currentIndex) => aggregator(current, key, currentIndex === 0, accumulator), undefined),
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=aggregate_groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregate_groups.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAkD,EAClD,UAA2E;IAE3E,OAAO,UAAU,CACf,MAAM,EACN,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QACjB,GAAG;QACH,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,CAAC,MAAM,CACX,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CACrC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,KAAK,CAAC,EAAE,WAAW,CAAC,EAC3D,SAA0B,CACtB;KACP,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
/**
|
|
4
|
+
* Creates a record by associating each element of the input array with a key
|
|
5
|
+
* generated by the selector function.
|
|
6
|
+
*
|
|
7
|
+
* If the selector produces the same key for multiple elements, the latest one
|
|
8
|
+
* will be used (overriding the ones before it).
|
|
9
|
+
*
|
|
10
|
+
* @typeParam T Type of the elements in the input array.
|
|
11
|
+
*
|
|
12
|
+
* @param array The array to transform.
|
|
13
|
+
* @param selector The function to extract the key from each element.
|
|
14
|
+
*
|
|
15
|
+
* @returns A record with the keys produced by the selector and the elements as
|
|
16
|
+
* values.
|
|
17
|
+
*
|
|
18
|
+
* @example Basic usage
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { associateBy } from "@std/collections/associate-by";
|
|
21
|
+
* import { assertEquals } from "@std/assert";
|
|
22
|
+
*
|
|
23
|
+
* const users = [
|
|
24
|
+
* { id: "a2e", userName: "Anna" },
|
|
25
|
+
* { id: "5f8", userName: "Arnold" },
|
|
26
|
+
* { id: "d2c", userName: "Kim" },
|
|
27
|
+
* ];
|
|
28
|
+
*
|
|
29
|
+
* const usersById = associateBy(users, (user) => user.id);
|
|
30
|
+
*
|
|
31
|
+
* assertEquals(usersById, {
|
|
32
|
+
* "a2e": { id: "a2e", userName: "Anna" },
|
|
33
|
+
* "5f8": { id: "5f8", userName: "Arnold" },
|
|
34
|
+
* "d2c": { id: "d2c", userName: "Kim" },
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function associateBy(array, selector) {
|
|
39
|
+
const result = {};
|
|
40
|
+
for (const element of array) {
|
|
41
|
+
result[selector(element)] = element;
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=associate_by.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"associate_by.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.0.9/associate_by.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,WAAW,CACzB,KAAkB,EAClB,QAA2B;IAE3B,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
/**
|
|
4
|
+
* Associates each string element of an array with a value returned by a selector
|
|
5
|
+
* function.
|
|
6
|
+
*
|
|
7
|
+
* If any of two pairs would have the same value, the latest one will be used
|
|
8
|
+
* (overriding the ones before it).
|
|
9
|
+
*
|
|
10
|
+
* @typeParam T The type of the values returned by the selector function.
|
|
11
|
+
*
|
|
12
|
+
* @param array The array of elements to associate with values.
|
|
13
|
+
* @param selector The selector function that returns a value for each element.
|
|
14
|
+
*
|
|
15
|
+
* @returns An object where each element of the array is associated with a value
|
|
16
|
+
* returned by the selector function.
|
|
17
|
+
*
|
|
18
|
+
* @example Basic usage
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { associateWith } from "@std/collections/associate-with";
|
|
21
|
+
* import { assertEquals } from "@std/assert";
|
|
22
|
+
*
|
|
23
|
+
* const names = ["Kim", "Lara", "Jonathan"];
|
|
24
|
+
*
|
|
25
|
+
* const namesToLength = associateWith(names, (person) => person.length);
|
|
26
|
+
*
|
|
27
|
+
* assertEquals(namesToLength, {
|
|
28
|
+
* "Kim": 3,
|
|
29
|
+
* "Lara": 4,
|
|
30
|
+
* "Jonathan": 8,
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function associateWith(array, selector) {
|
|
35
|
+
const result = {};
|
|
36
|
+
for (const element of array) {
|
|
37
|
+
result[element] = selector(element);
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=associate_with.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"associate_with.js","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/collections/1.0.9/associate_with.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qCAAqC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAuB,EACvB,QAA4B;IAE5B,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
/**
|
|
4
|
+
* Splits the given array into chunks of the given size and returns them.
|
|
5
|
+
*
|
|
6
|
+
* @typeParam T Type of the elements in the input array.
|
|
7
|
+
*
|
|
8
|
+
* @param array The array to split into chunks.
|
|
9
|
+
* @param size The size of the chunks. This must be a positive integer.
|
|
10
|
+
*
|
|
11
|
+
* @returns An array of chunks of the given size.
|
|
12
|
+
*
|
|
13
|
+
* @example Basic usage
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { chunk } from "@std/collections/chunk";
|
|
16
|
+
* import { assertEquals } from "@std/assert";
|
|
17
|
+
*
|
|
18
|
+
* const words = [
|
|
19
|
+
* "lorem",
|
|
20
|
+
* "ipsum",
|
|
21
|
+
* "dolor",
|
|
22
|
+
* "sit",
|
|
23
|
+
* "amet",
|
|
24
|
+
* "consetetur",
|
|
25
|
+
* "sadipscing",
|
|
26
|
+
* ];
|
|
27
|
+
* const chunks = chunk(words, 3);
|
|
28
|
+
*
|
|
29
|
+
* assertEquals(
|
|
30
|
+
* chunks,
|
|
31
|
+
* [
|
|
32
|
+
* ["lorem", "ipsum", "dolor"],
|
|
33
|
+
* ["sit", "amet", "consetetur"],
|
|
34
|
+
* ["sadipscing"],
|
|
35
|
+
* ],
|
|
36
|
+
* );
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function chunk(array, size) {
|
|
40
|
+
if (size <= 0 || !Number.isInteger(size)) {
|
|
41
|
+
throw new RangeError(`Expected size to be an integer greater than 0 but found ${size}`);
|
|
42
|
+
}
|
|
43
|
+
const result = [];
|
|
44
|
+
let index = 0;
|
|
45
|
+
while (index < array.length) {
|
|
46
|
+
result.push(array.slice(index, index + size));
|
|
47
|
+
index += size;
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=chunk.js.map
|