type-plus 7.5.0 → 8.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/array/array.at.d.ts +2 -2
- package/esm/array/array.at.d.ts.map +1 -1
- package/esm/array/array.entries.d.ts +2 -2
- package/esm/array/array.entries.d.ts.map +1 -1
- package/esm/array/array.find_last.d.ts +1 -1
- package/esm/array/array.find_last.d.ts.map +1 -1
- package/esm/array/array.reverse.d.ts +5 -1
- package/esm/array/array.reverse.d.ts.map +1 -1
- package/esm/array/array.some.d.ts +7 -7
- package/esm/array/array.some.d.ts.map +1 -1
- package/esm/array/array_plus.common_prop_keys.d.ts +2 -2
- package/esm/array/array_plus.common_prop_keys.d.ts.map +1 -1
- package/esm/array/array_plus.concat.d.ts +1 -1
- package/esm/array/array_plus.concat.d.ts.map +1 -1
- package/esm/array/array_plus.d.ts +3 -1
- package/esm/array/array_plus.d.ts.map +1 -1
- package/esm/array/array_plus.drop_match.d.ts +3 -0
- package/esm/array/array_plus.drop_match.d.ts.map +1 -1
- package/esm/array/array_plus.element_match.d.ts +11 -11
- package/esm/array/array_plus.element_match.d.ts.map +1 -1
- package/esm/array/array_plus.filter.d.ts +24 -1
- package/esm/array/array_plus.filter.d.ts.map +1 -1
- package/esm/array/array_plus.filter.js +1 -0
- package/esm/array/array_plus.filter.js.map +1 -1
- package/esm/array/array_plus.find.d.ts +10 -10
- package/esm/array/array_plus.find.d.ts.map +1 -1
- package/esm/array/array_plus.index_at.d.ts +28 -0
- package/esm/array/array_plus.index_at.d.ts.map +1 -0
- package/esm/array/array_plus.index_at.js +2 -0
- package/esm/array/array_plus.index_at.js.map +1 -0
- package/esm/array/array_plus.is_index_out_of_bound.d.ts +18 -0
- package/esm/array/array_plus.is_index_out_of_bound.d.ts.map +1 -0
- package/esm/array/array_plus.is_index_out_of_bound.js +2 -0
- package/esm/array/array_plus.is_index_out_of_bound.js.map +1 -0
- package/esm/array/array_plus.is_readonly.d.ts +30 -0
- package/esm/array/array_plus.is_readonly.d.ts.map +1 -0
- package/esm/array/array_plus.is_readonly.js +2 -0
- package/esm/array/array_plus.is_readonly.js.map +1 -0
- package/esm/array/array_plus.pad_start.d.ts +1 -1
- package/esm/array/array_plus.pad_start.d.ts.map +1 -1
- package/esm/array/array_plus.split_at.d.ts +21 -16
- package/esm/array/array_plus.split_at.d.ts.map +1 -1
- package/esm/array/array_type.d.ts +2 -2
- package/esm/array/array_type.d.ts.map +1 -1
- package/esm/array/filter.d.ts +2 -2
- package/esm/array/filter.d.ts.map +1 -1
- package/esm/array/find_first.d.ts +6 -6
- package/esm/array/find_first.d.ts.map +1 -1
- package/esm/array/head.d.ts +2 -2
- package/esm/array/head.d.ts.map +1 -1
- package/esm/array/intersect_of_props.d.ts +1 -1
- package/esm/array/intersect_of_props.d.ts.map +1 -1
- package/esm/array/last.d.ts +2 -2
- package/esm/array/last.d.ts.map +1 -1
- package/esm/array/loose_array_type.d.ts +62 -0
- package/esm/array/loose_array_type.d.ts.map +1 -0
- package/esm/array/loose_array_type.js +2 -0
- package/esm/array/loose_array_type.js.map +1 -0
- package/esm/array/pad_start.d.ts +1 -1
- package/esm/array/pad_start.d.ts.map +1 -1
- package/esm/array/strict_array_type.d.ts +66 -0
- package/esm/array/strict_array_type.d.ts.map +1 -0
- package/esm/array/strict_array_type.js +2 -0
- package/esm/array/strict_array_type.js.map +1 -0
- package/esm/array/union_of_props.d.ts +2 -2
- package/esm/array/union_of_props.d.ts.map +1 -1
- package/esm/array/union_of_values.d.ts +2 -2
- package/esm/array/union_of_values.d.ts.map +1 -1
- package/esm/equal/equal.d.ts +1 -1
- package/esm/equal/equal.d.ts.map +1 -1
- package/esm/equal/identity_equal.d.ts +6 -0
- package/esm/equal/identity_equal.d.ts.map +1 -0
- package/esm/equal/identity_equal.js +2 -0
- package/esm/equal/identity_equal.js.map +1 -0
- package/esm/index.d.ts +7 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/math/numeric_struct.d.ts.map +1 -1
- package/esm/mix_types/box.d.ts +35 -0
- package/esm/mix_types/box.d.ts.map +1 -0
- package/esm/mix_types/box.js +2 -0
- package/esm/mix_types/box.js.map +1 -0
- package/esm/mix_types/merge.d.ts +38 -0
- package/esm/mix_types/merge.d.ts.map +1 -0
- package/esm/{merge.js → mix_types/merge.js} +1 -1
- package/esm/mix_types/merge.js.map +1 -0
- package/esm/never/never_type.d.ts +2 -2
- package/esm/never/never_type.d.ts.map +1 -1
- package/esm/object/ANotB.d.ts +1 -1
- package/esm/object/ANotB.d.ts.map +1 -1
- package/esm/object/IsDisjoint.d.ts +1 -1
- package/esm/object/IsDisjoint.d.ts.map +1 -1
- package/esm/object/KeysWithDiffType.d.ts +1 -1
- package/esm/object/KeysWithDiffType.d.ts.map +1 -1
- package/esm/object/KnownKeys.d.ts.map +1 -1
- package/esm/object/RecursiveIntersect.d.ts +2 -2
- package/esm/object/RecursiveIntersect.d.ts.map +1 -1
- package/esm/object/RecursiveRequired.d.ts +1 -1
- package/esm/object/RecursiveRequired.d.ts.map +1 -1
- package/{cjs/object/AnyRecord.d.ts → esm/object/any_record.d.ts} +1 -1
- package/esm/object/any_record.d.ts.map +1 -0
- package/esm/object/any_record.js +2 -0
- package/esm/object/any_record.js.map +1 -0
- package/esm/object/facade.d.ts +1 -1
- package/esm/object/facade.d.ts.map +1 -1
- package/esm/object/hasKey.d.ts +1 -1
- package/esm/object/hasKey.d.ts.map +1 -1
- package/esm/object/index.d.ts +1 -1
- package/esm/object/index.d.ts.map +1 -1
- package/esm/object/is_strict_object.d.ts +10 -0
- package/esm/object/is_strict_object.d.ts.map +1 -0
- package/esm/object/is_strict_object.js +2 -0
- package/esm/object/is_strict_object.js.map +1 -0
- package/esm/object/left_join.d.ts +1 -1
- package/esm/object/left_join.d.ts.map +1 -1
- package/esm/object/mapProperties.d.ts +1 -1
- package/esm/object/mapProperties.d.ts.map +1 -1
- package/esm/object/merge.d.ts +59 -0
- package/esm/object/merge.d.ts.map +1 -0
- package/esm/object/merge.js +2 -0
- package/esm/object/merge.js.map +1 -0
- package/esm/object/object_plus.d.ts +2 -0
- package/esm/object/object_plus.d.ts.map +1 -0
- package/esm/object/object_plus.js +2 -0
- package/esm/object/object_plus.js.map +1 -0
- package/esm/object/omit.d.ts +2 -2
- package/esm/object/omit.d.ts.map +1 -1
- package/esm/object/omit.js.map +1 -1
- package/esm/object/optional_key.d.ts +1 -1
- package/esm/object/optional_key.d.ts.map +1 -1
- package/esm/object/pick.d.ts +1 -1
- package/esm/object/pick.d.ts.map +1 -1
- package/esm/object/recursive_partial.d.ts +1 -1
- package/esm/object/recursive_partial.d.ts.map +1 -1
- package/esm/object/replaceProperty.d.ts +1 -1
- package/esm/object/replaceProperty.d.ts.map +1 -1
- package/esm/object/split.d.ts +1 -1
- package/esm/object/split.d.ts.map +1 -1
- package/esm/tuple/common_prop_keys.d.ts +1 -1
- package/esm/tuple/drop.d.ts +8 -8
- package/esm/tuple/drop.d.ts.map +1 -1
- package/esm/tuple/tail.d.ts +1 -1
- package/esm/tuple/tail.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts +2 -2
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.filter.d.ts +1 -1
- package/esm/tuple/tuple_plus.filter.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.find.d.ts +14 -14
- package/esm/tuple/tuple_plus.find.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.pad_start.d.ts +3 -3
- package/esm/tuple/tuple_plus.pad_start.d.ts.map +1 -1
- package/esm/tuple/tuple_type.d.ts +4 -4
- package/esm/tuple/tuple_type.d.ts.map +1 -1
- package/esm/type_plus/cases.d.ts +13 -0
- package/esm/type_plus/cases.d.ts.map +1 -0
- package/esm/type_plus/cases.js +6 -0
- package/esm/type_plus/cases.js.map +1 -0
- package/esm/utils/options.d.ts +27 -9
- package/esm/utils/options.d.ts.map +1 -1
- package/package.json +16 -15
- package/{README.md → readme.md} +36 -17
- package/ts/array/array.at.ts +2 -2
- package/ts/array/array.entries.ts +6 -6
- package/ts/array/array.find_last.ts +7 -7
- package/ts/array/array.reverse.ts +12 -3
- package/ts/array/array.some.ts +13 -13
- package/ts/array/array_plus.common_prop_keys.ts +4 -4
- package/ts/array/array_plus.concat.ts +1 -1
- package/ts/array/array_plus.drop_match.ts +3 -0
- package/ts/array/array_plus.element_match.ts +16 -16
- package/ts/array/array_plus.filter.ts +49 -5
- package/ts/array/array_plus.find.ts +13 -13
- package/ts/array/{array_index.ts → array_plus.index_at.ts} +37 -41
- package/ts/array/array_plus.is_index_out_of_bound.ts +22 -0
- package/ts/array/array_plus.is_readonly.ts +46 -0
- package/ts/array/array_plus.pad_start.ts +1 -1
- package/ts/array/array_plus.split_at.ts +53 -24
- package/ts/array/array_plus.ts +3 -1
- package/ts/array/array_type.ts +5 -1
- package/ts/array/filter.ts +2 -2
- package/ts/array/find_first.ts +6 -6
- package/ts/array/head.ts +3 -3
- package/ts/array/intersect_of_props.ts +1 -1
- package/ts/array/last.ts +6 -4
- package/ts/array/loose_array_type.ts +69 -0
- package/ts/array/pad_start.ts +1 -1
- package/ts/array/readme.md +125 -35
- package/ts/array/strict_array_type.ts +75 -0
- package/ts/array/union_of_props.ts +2 -2
- package/ts/array/union_of_values.ts +2 -2
- package/ts/equal/equal.ts +23 -30
- package/ts/equal/identity_equal.ts +9 -0
- package/ts/index.ts +7 -1
- package/ts/math/numeric_struct.ts +109 -109
- package/ts/mix_types/box.ts +62 -0
- package/ts/mix_types/merge.ts +61 -0
- package/ts/mix_types/readme.md +34 -0
- package/ts/never/never_type.ts +2 -2
- package/ts/object/ANotB.ts +1 -1
- package/ts/object/IsDisjoint.ts +1 -1
- package/ts/object/KeysWithDiffType.ts +3 -3
- package/ts/object/KnownKeys.ts +5 -5
- package/ts/object/RecursiveIntersect.ts +7 -7
- package/ts/object/RecursiveRequired.ts +1 -1
- package/ts/object/facade.ts +1 -1
- package/ts/object/hasKey.ts +1 -1
- package/ts/object/index.ts +1 -1
- package/ts/object/is_strict_object.ts +14 -0
- package/ts/object/left_join.ts +1 -1
- package/ts/object/mapProperties.ts +1 -1
- package/ts/object/merge.ts +122 -0
- package/ts/object/object_plus.ts +1 -0
- package/ts/object/omit.ts +4 -5
- package/ts/object/optional_key.ts +1 -1
- package/ts/object/pick.ts +1 -1
- package/ts/object/readme.md +14 -0
- package/ts/object/record.ts +1 -1
- package/ts/object/recursive_partial.ts +1 -1
- package/ts/object/replaceProperty.ts +1 -1
- package/ts/object/split.ts +1 -1
- package/ts/tuple/common_prop_keys.ts +1 -1
- package/ts/tuple/drop.ts +8 -8
- package/ts/tuple/readme.md +17 -17
- package/ts/tuple/tail.ts +4 -6
- package/ts/tuple/tuple_plus.common_prop_keys.ts +2 -2
- package/ts/tuple/tuple_plus.filter.ts +2 -2
- package/ts/tuple/tuple_plus.find.ts +19 -19
- package/ts/tuple/tuple_plus.pad_start.ts +12 -9
- package/ts/tuple/tuple_type.ts +4 -4
- package/ts/type_plus/cases.ts +14 -0
- package/ts/utils/options.ts +27 -8
- package/cjs/any/any_type.d.ts +0 -63
- package/cjs/any/any_type.d.ts.map +0 -1
- package/cjs/any/any_type.js +0 -3
- package/cjs/any/any_type.js.map +0 -1
- package/cjs/array/array.at.d.ts +0 -20
- package/cjs/array/array.at.d.ts.map +0 -1
- package/cjs/array/array.at.js +0 -3
- package/cjs/array/array.at.js.map +0 -1
- package/cjs/array/array.entries.d.ts +0 -18
- package/cjs/array/array.entries.d.ts.map +0 -1
- package/cjs/array/array.entries.js +0 -3
- package/cjs/array/array.entries.js.map +0 -1
- package/cjs/array/array.find_last.d.ts +0 -19
- package/cjs/array/array.find_last.d.ts.map +0 -1
- package/cjs/array/array.find_last.js +0 -3
- package/cjs/array/array.find_last.js.map +0 -1
- package/cjs/array/array.reverse.d.ts +0 -2
- package/cjs/array/array.reverse.d.ts.map +0 -1
- package/cjs/array/array.reverse.js +0 -3
- package/cjs/array/array.reverse.js.map +0 -1
- package/cjs/array/array.some.d.ts +0 -33
- package/cjs/array/array.some.d.ts.map +0 -1
- package/cjs/array/array.some.js +0 -3
- package/cjs/array/array.some.js.map +0 -1
- package/cjs/array/array_index.d.ts +0 -34
- package/cjs/array/array_index.d.ts.map +0 -1
- package/cjs/array/array_index.js +0 -3
- package/cjs/array/array_index.js.map +0 -1
- package/cjs/array/array_plus.common_prop_keys.d.ts +0 -27
- package/cjs/array/array_plus.common_prop_keys.d.ts.map +0 -1
- package/cjs/array/array_plus.common_prop_keys.js +0 -3
- package/cjs/array/array_plus.common_prop_keys.js.map +0 -1
- package/cjs/array/array_plus.concat.d.ts +0 -16
- package/cjs/array/array_plus.concat.d.ts.map +0 -1
- package/cjs/array/array_plus.concat.js +0 -3
- package/cjs/array/array_plus.concat.js.map +0 -1
- package/cjs/array/array_plus.d.ts +0 -15
- package/cjs/array/array_plus.d.ts.map +0 -1
- package/cjs/array/array_plus.drop_match.d.ts +0 -4
- package/cjs/array/array_plus.drop_match.d.ts.map +0 -1
- package/cjs/array/array_plus.drop_match.js +0 -3
- package/cjs/array/array_plus.drop_match.js.map +0 -1
- package/cjs/array/array_plus.element_match.d.ts +0 -44
- package/cjs/array/array_plus.element_match.d.ts.map +0 -1
- package/cjs/array/array_plus.element_match.js +0 -3
- package/cjs/array/array_plus.element_match.js.map +0 -1
- package/cjs/array/array_plus.filter.d.ts +0 -2
- package/cjs/array/array_plus.filter.d.ts.map +0 -1
- package/cjs/array/array_plus.filter.js +0 -3
- package/cjs/array/array_plus.filter.js.map +0 -1
- package/cjs/array/array_plus.find.d.ts +0 -57
- package/cjs/array/array_plus.find.d.ts.map +0 -1
- package/cjs/array/array_plus.find.js +0 -3
- package/cjs/array/array_plus.find.js.map +0 -1
- package/cjs/array/array_plus.js +0 -3
- package/cjs/array/array_plus.js.map +0 -1
- package/cjs/array/array_plus.pad_start.d.ts +0 -5
- package/cjs/array/array_plus.pad_start.d.ts.map +0 -1
- package/cjs/array/array_plus.pad_start.js +0 -3
- package/cjs/array/array_plus.pad_start.js.map +0 -1
- package/cjs/array/array_plus.split_at.d.ts +0 -35
- package/cjs/array/array_plus.split_at.d.ts.map +0 -1
- package/cjs/array/array_plus.split_at.js +0 -3
- package/cjs/array/array_plus.split_at.js.map +0 -1
- package/cjs/array/array_type.d.ts +0 -66
- package/cjs/array/array_type.d.ts.map +0 -1
- package/cjs/array/array_type.js +0 -3
- package/cjs/array/array_type.js.map +0 -1
- package/cjs/array/filter.d.ts +0 -29
- package/cjs/array/filter.d.ts.map +0 -1
- package/cjs/array/filter.js +0 -3
- package/cjs/array/filter.js.map +0 -1
- package/cjs/array/find_first.d.ts +0 -62
- package/cjs/array/find_first.d.ts.map +0 -1
- package/cjs/array/find_first.js +0 -3
- package/cjs/array/find_first.js.map +0 -1
- package/cjs/array/head.d.ts +0 -31
- package/cjs/array/head.d.ts.map +0 -1
- package/cjs/array/head.js +0 -3
- package/cjs/array/head.js.map +0 -1
- package/cjs/array/intersect_of_props.d.ts +0 -14
- package/cjs/array/intersect_of_props.d.ts.map +0 -1
- package/cjs/array/intersect_of_props.js +0 -3
- package/cjs/array/intersect_of_props.js.map +0 -1
- package/cjs/array/last.d.ts +0 -30
- package/cjs/array/last.d.ts.map +0 -1
- package/cjs/array/last.js +0 -3
- package/cjs/array/last.js.map +0 -1
- package/cjs/array/literal_array.d.ts +0 -8
- package/cjs/array/literal_array.d.ts.map +0 -1
- package/cjs/array/literal_array.js +0 -13
- package/cjs/array/literal_array.js.map +0 -1
- package/cjs/array/pad_start.d.ts +0 -32
- package/cjs/array/pad_start.d.ts.map +0 -1
- package/cjs/array/pad_start.js +0 -3
- package/cjs/array/pad_start.js.map +0 -1
- package/cjs/array/reduce_while.d.ts +0 -8
- package/cjs/array/reduce_while.d.ts.map +0 -1
- package/cjs/array/reduce_while.js +0 -21
- package/cjs/array/reduce_while.js.map +0 -1
- package/cjs/array/reverse.d.ts +0 -7
- package/cjs/array/reverse.d.ts.map +0 -1
- package/cjs/array/reverse.js +0 -3
- package/cjs/array/reverse.js.map +0 -1
- package/cjs/array/union_of_props.d.ts +0 -12
- package/cjs/array/union_of_props.d.ts.map +0 -1
- package/cjs/array/union_of_props.js +0 -3
- package/cjs/array/union_of_props.js.map +0 -1
- package/cjs/array/union_of_values.d.ts +0 -10
- package/cjs/array/union_of_values.d.ts.map +0 -1
- package/cjs/array/union_of_values.js +0 -3
- package/cjs/array/union_of_values.js.map +0 -1
- package/cjs/assertion/assert_type.d.ts +0 -40
- package/cjs/assertion/assert_type.d.ts.map +0 -1
- package/cjs/assertion/assert_type.js +0 -113
- package/cjs/assertion/assert_type.js.map +0 -1
- package/cjs/bigint/bigint_type.d.ts +0 -54
- package/cjs/bigint/bigint_type.d.ts.map +0 -1
- package/cjs/bigint/bigint_type.js +0 -3
- package/cjs/bigint/bigint_type.js.map +0 -1
- package/cjs/bigint/cast.d.ts +0 -10
- package/cjs/bigint/cast.d.ts.map +0 -1
- package/cjs/bigint/cast.js +0 -3
- package/cjs/bigint/cast.js.map +0 -1
- package/cjs/bigint/strict_bigint_type.d.ts +0 -56
- package/cjs/bigint/strict_bigint_type.d.ts.map +0 -1
- package/cjs/bigint/strict_bigint_type.js +0 -3
- package/cjs/bigint/strict_bigint_type.js.map +0 -1
- package/cjs/binary/Bit.d.ts +0 -6
- package/cjs/binary/Bit.d.ts.map +0 -1
- package/cjs/binary/Bit.js +0 -3
- package/cjs/binary/Bit.js.map +0 -1
- package/cjs/binary/_binary.d.ts +0 -2
- package/cjs/binary/_binary.d.ts.map +0 -1
- package/cjs/binary/_binary.js +0 -3
- package/cjs/binary/_binary.js.map +0 -1
- package/cjs/binary/index.d.ts +0 -3
- package/cjs/binary/index.d.ts.map +0 -1
- package/cjs/binary/index.js +0 -6
- package/cjs/binary/index.js.map +0 -1
- package/cjs/boolean/boolean_type.d.ts +0 -56
- package/cjs/boolean/boolean_type.d.ts.map +0 -1
- package/cjs/boolean/boolean_type.js +0 -3
- package/cjs/boolean/boolean_type.js.map +0 -1
- package/cjs/boolean/false_type.d.ts +0 -49
- package/cjs/boolean/false_type.d.ts.map +0 -1
- package/cjs/boolean/false_type.js +0 -3
- package/cjs/boolean/false_type.js.map +0 -1
- package/cjs/boolean/strict_boolean_type.d.ts +0 -53
- package/cjs/boolean/strict_boolean_type.d.ts.map +0 -1
- package/cjs/boolean/strict_boolean_type.js +0 -3
- package/cjs/boolean/strict_boolean_type.js.map +0 -1
- package/cjs/boolean/true_type.d.ts +0 -49
- package/cjs/boolean/true_type.d.ts.map +0 -1
- package/cjs/boolean/true_type.js +0 -3
- package/cjs/boolean/true_type.js.map +0 -1
- package/cjs/class/AnyConstructor.d.ts +0 -2
- package/cjs/class/AnyConstructor.d.ts.map +0 -1
- package/cjs/class/AnyConstructor.js +0 -3
- package/cjs/class/AnyConstructor.js.map +0 -1
- package/cjs/class/index.d.ts +0 -3
- package/cjs/class/index.d.ts.map +0 -1
- package/cjs/class/index.js +0 -18
- package/cjs/class/index.js.map +0 -1
- package/cjs/class/isConstructor.d.ts +0 -18
- package/cjs/class/isConstructor.d.ts.map +0 -1
- package/cjs/class/isConstructor.js +0 -35
- package/cjs/class/isConstructor.js.map +0 -1
- package/cjs/composable_types.d.ts +0 -9
- package/cjs/composable_types.d.ts.map +0 -1
- package/cjs/composable_types.js +0 -3
- package/cjs/composable_types.js.map +0 -1
- package/cjs/equal/equal.d.ts +0 -99
- package/cjs/equal/equal.d.ts.map +0 -1
- package/cjs/equal/equal.js +0 -3
- package/cjs/equal/equal.js.map +0 -1
- package/cjs/function/any_function.d.ts +0 -2
- package/cjs/function/any_function.d.ts.map +0 -1
- package/cjs/function/any_function.js +0 -3
- package/cjs/function/any_function.js.map +0 -1
- package/cjs/function/extract_function.d.ts +0 -24
- package/cjs/function/extract_function.d.ts.map +0 -1
- package/cjs/function/extract_function.js +0 -13
- package/cjs/function/extract_function.js.map +0 -1
- package/cjs/function/function_type.d.ts +0 -59
- package/cjs/function/function_type.d.ts.map +0 -1
- package/cjs/function/function_type.js +0 -3
- package/cjs/function/function_type.js.map +0 -1
- package/cjs/function/strict_function_type.d.ts +0 -49
- package/cjs/function/strict_function_type.d.ts.map +0 -1
- package/cjs/function/strict_function_type.js +0 -3
- package/cjs/function/strict_function_type.js.map +0 -1
- package/cjs/functional/ChainFn.d.ts +0 -6
- package/cjs/functional/ChainFn.d.ts.map +0 -1
- package/cjs/functional/ChainFn.js +0 -3
- package/cjs/functional/ChainFn.js.map +0 -1
- package/cjs/functional/Maybe.d.ts +0 -13
- package/cjs/functional/Maybe.d.ts.map +0 -1
- package/cjs/functional/Maybe.js +0 -17
- package/cjs/functional/Maybe.js.map +0 -1
- package/cjs/functional/compose.d.ts +0 -12
- package/cjs/functional/compose.d.ts.map +0 -1
- package/cjs/functional/compose.js +0 -16
- package/cjs/functional/compose.js.map +0 -1
- package/cjs/functional/context.d.ts +0 -40
- package/cjs/functional/context.d.ts.map +0 -1
- package/cjs/functional/context.js +0 -32
- package/cjs/functional/context.js.map +0 -1
- package/cjs/functional/index.d.ts +0 -4
- package/cjs/functional/index.d.ts.map +0 -1
- package/cjs/functional/index.js +0 -19
- package/cjs/functional/index.js.map +0 -1
- package/cjs/index.d.ts +0 -84
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -45
- package/cjs/index.js.map +0 -1
- package/cjs/json.d.ts +0 -12
- package/cjs/json.d.ts.map +0 -1
- package/cjs/json.js +0 -14
- package/cjs/json.js.map +0 -1
- package/cjs/math/abs.d.ts +0 -6
- package/cjs/math/abs.d.ts.map +0 -1
- package/cjs/math/abs.js +0 -3
- package/cjs/math/abs.js.map +0 -1
- package/cjs/math/add.d.ts +0 -7
- package/cjs/math/add.d.ts.map +0 -1
- package/cjs/math/add.js +0 -3
- package/cjs/math/add.js.map +0 -1
- package/cjs/math/greater_than.d.ts +0 -4
- package/cjs/math/greater_than.d.ts.map +0 -1
- package/cjs/math/greater_than.js +0 -3
- package/cjs/math/greater_than.js.map +0 -1
- package/cjs/math/index.d.ts +0 -7
- package/cjs/math/index.d.ts.map +0 -1
- package/cjs/math/index.js +0 -3
- package/cjs/math/index.js.map +0 -1
- package/cjs/math/math_plus.d.ts +0 -5
- package/cjs/math/math_plus.d.ts.map +0 -1
- package/cjs/math/math_plus.js +0 -3
- package/cjs/math/math_plus.js.map +0 -1
- package/cjs/math/math_plus.to_negative.d.ts +0 -13
- package/cjs/math/math_plus.to_negative.d.ts.map +0 -1
- package/cjs/math/math_plus.to_negative.js +0 -3
- package/cjs/math/math_plus.to_negative.js.map +0 -1
- package/cjs/math/max.d.ts +0 -4
- package/cjs/math/max.d.ts.map +0 -1
- package/cjs/math/max.js +0 -3
- package/cjs/math/max.js.map +0 -1
- package/cjs/math/multiply.d.ts +0 -6
- package/cjs/math/multiply.d.ts.map +0 -1
- package/cjs/math/multiply.js +0 -3
- package/cjs/math/multiply.js.map +0 -1
- package/cjs/math/numeric_struct.d.ts +0 -1480
- package/cjs/math/numeric_struct.d.ts.map +0 -1
- package/cjs/math/numeric_struct.js +0 -3
- package/cjs/math/numeric_struct.js.map +0 -1
- package/cjs/math/subtract.d.ts +0 -7
- package/cjs/math/subtract.d.ts.map +0 -1
- package/cjs/math/subtract.js +0 -3
- package/cjs/math/subtract.js.map +0 -1
- package/cjs/merge.d.ts +0 -55
- package/cjs/merge.d.ts.map +0 -1
- package/cjs/merge.js +0 -18
- package/cjs/merge.js.map +0 -1
- package/cjs/mix_types/any_or_never_type.d.ts +0 -37
- package/cjs/mix_types/any_or_never_type.d.ts.map +0 -1
- package/cjs/mix_types/any_or_never_type.js +0 -3
- package/cjs/mix_types/any_or_never_type.js.map +0 -1
- package/cjs/never/never_type.d.ts +0 -62
- package/cjs/never/never_type.d.ts.map +0 -1
- package/cjs/never/never_type.js +0 -3
- package/cjs/never/never_type.js.map +0 -1
- package/cjs/nodejs/index.d.ts +0 -2
- package/cjs/nodejs/index.d.ts.map +0 -1
- package/cjs/nodejs/index.js +0 -18
- package/cjs/nodejs/index.js.map +0 -1
- package/cjs/nodejs/isNodeError.d.ts +0 -31
- package/cjs/nodejs/isNodeError.d.ts.map +0 -1
- package/cjs/nodejs/isNodeError.js +0 -13
- package/cjs/nodejs/isNodeError.js.map +0 -1
- package/cjs/nominal/brand.d.ts +0 -23
- package/cjs/nominal/brand.d.ts.map +0 -1
- package/cjs/nominal/brand.js +0 -20
- package/cjs/nominal/brand.js.map +0 -1
- package/cjs/nominal/constants.d.ts +0 -3
- package/cjs/nominal/constants.d.ts.map +0 -1
- package/cjs/nominal/constants.js +0 -6
- package/cjs/nominal/constants.js.map +0 -1
- package/cjs/nominal/flavor.d.ts +0 -31
- package/cjs/nominal/flavor.d.ts.map +0 -1
- package/cjs/nominal/flavor.js +0 -20
- package/cjs/nominal/flavor.js.map +0 -1
- package/cjs/nominal/index.d.ts +0 -4
- package/cjs/nominal/index.d.ts.map +0 -1
- package/cjs/nominal/index.js +0 -20
- package/cjs/nominal/index.js.map +0 -1
- package/cjs/nominal/nominal_match.d.ts +0 -5
- package/cjs/nominal/nominal_match.d.ts.map +0 -1
- package/cjs/nominal/nominal_match.js +0 -13
- package/cjs/nominal/nominal_match.js.map +0 -1
- package/cjs/null/null_type.d.ts +0 -50
- package/cjs/null/null_type.d.ts.map +0 -1
- package/cjs/null/null_type.js +0 -3
- package/cjs/null/null_type.js.map +0 -1
- package/cjs/number/cast.d.ts +0 -10
- package/cjs/number/cast.d.ts.map +0 -1
- package/cjs/number/cast.js +0 -3
- package/cjs/number/cast.js.map +0 -1
- package/cjs/number/number_array.d.ts +0 -1
- package/cjs/number/number_array.d.ts.map +0 -1
- package/cjs/number/number_array.js +0 -16
- package/cjs/number/number_array.js.map +0 -1
- package/cjs/number/number_plus.d.ts +0 -7
- package/cjs/number/number_plus.d.ts.map +0 -1
- package/cjs/number/number_plus.js +0 -3
- package/cjs/number/number_plus.js.map +0 -1
- package/cjs/number/number_type.d.ts +0 -50
- package/cjs/number/number_type.d.ts.map +0 -1
- package/cjs/number/number_type.js +0 -3
- package/cjs/number/number_type.js.map +0 -1
- package/cjs/number/strict_number_type.d.ts +0 -65
- package/cjs/number/strict_number_type.d.ts.map +0 -1
- package/cjs/number/strict_number_type.js +0 -3
- package/cjs/number/strict_number_type.js.map +0 -1
- package/cjs/numeric/cast.d.ts +0 -27
- package/cjs/numeric/cast.d.ts.map +0 -1
- package/cjs/numeric/cast.js +0 -3
- package/cjs/numeric/cast.js.map +0 -1
- package/cjs/numeric/integer.d.ts +0 -69
- package/cjs/numeric/integer.d.ts.map +0 -1
- package/cjs/numeric/integer.js +0 -3
- package/cjs/numeric/integer.js.map +0 -1
- package/cjs/numeric/negative.d.ts +0 -70
- package/cjs/numeric/negative.d.ts.map +0 -1
- package/cjs/numeric/negative.js +0 -3
- package/cjs/numeric/negative.js.map +0 -1
- package/cjs/numeric/numeric_plus.d.ts +0 -5
- package/cjs/numeric/numeric_plus.d.ts.map +0 -1
- package/cjs/numeric/numeric_plus.js +0 -3
- package/cjs/numeric/numeric_plus.js.map +0 -1
- package/cjs/numeric/numeric_type.d.ts +0 -59
- package/cjs/numeric/numeric_type.d.ts.map +0 -1
- package/cjs/numeric/numeric_type.js +0 -3
- package/cjs/numeric/numeric_type.js.map +0 -1
- package/cjs/numeric/positive.d.ts +0 -53
- package/cjs/numeric/positive.d.ts.map +0 -1
- package/cjs/numeric/positive.js +0 -3
- package/cjs/numeric/positive.js.map +0 -1
- package/cjs/object/ANotB.d.ts +0 -9
- package/cjs/object/ANotB.d.ts.map +0 -1
- package/cjs/object/ANotB.js +0 -3
- package/cjs/object/ANotB.js.map +0 -1
- package/cjs/object/AnyRecord.d.ts.map +0 -1
- package/cjs/object/AnyRecord.js +0 -3
- package/cjs/object/AnyRecord.js.map +0 -1
- package/cjs/object/ExcludePropType.d.ts +0 -7
- package/cjs/object/ExcludePropType.d.ts.map +0 -1
- package/cjs/object/ExcludePropType.js +0 -3
- package/cjs/object/ExcludePropType.js.map +0 -1
- package/cjs/object/IsDisjoint.d.ts +0 -9
- package/cjs/object/IsDisjoint.d.ts.map +0 -1
- package/cjs/object/IsDisjoint.js +0 -3
- package/cjs/object/IsDisjoint.js.map +0 -1
- package/cjs/object/IsRecord.d.ts +0 -2
- package/cjs/object/IsRecord.d.ts.map +0 -1
- package/cjs/object/IsRecord.js +0 -3
- package/cjs/object/IsRecord.js.map +0 -1
- package/cjs/object/KeyTypes.d.ts +0 -7
- package/cjs/object/KeyTypes.d.ts.map +0 -1
- package/cjs/object/KeyTypes.js +0 -3
- package/cjs/object/KeyTypes.js.map +0 -1
- package/cjs/object/KeyofOptional.d.ts +0 -6
- package/cjs/object/KeyofOptional.d.ts.map +0 -1
- package/cjs/object/KeyofOptional.js +0 -3
- package/cjs/object/KeyofOptional.js.map +0 -1
- package/cjs/object/KeysWithDiffType.d.ts +0 -7
- package/cjs/object/KeysWithDiffType.d.ts.map +0 -1
- package/cjs/object/KeysWithDiffType.js +0 -3
- package/cjs/object/KeysWithDiffType.js.map +0 -1
- package/cjs/object/KnownKeys.d.ts +0 -7
- package/cjs/object/KnownKeys.d.ts.map +0 -1
- package/cjs/object/KnownKeys.js +0 -6
- package/cjs/object/KnownKeys.js.map +0 -1
- package/cjs/object/OptionalKeys.d.ts +0 -8
- package/cjs/object/OptionalKeys.d.ts.map +0 -1
- package/cjs/object/OptionalKeys.js +0 -3
- package/cjs/object/OptionalKeys.js.map +0 -1
- package/cjs/object/Partial.d.ts +0 -22
- package/cjs/object/Partial.d.ts.map +0 -1
- package/cjs/object/Partial.js +0 -3
- package/cjs/object/Partial.js.map +0 -1
- package/cjs/object/RecursiveIntersect.d.ts +0 -16
- package/cjs/object/RecursiveIntersect.d.ts.map +0 -1
- package/cjs/object/RecursiveIntersect.js +0 -3
- package/cjs/object/RecursiveIntersect.js.map +0 -1
- package/cjs/object/RecursiveRequired.d.ts +0 -5
- package/cjs/object/RecursiveRequired.d.ts.map +0 -1
- package/cjs/object/RecursiveRequired.js +0 -3
- package/cjs/object/RecursiveRequired.js.map +0 -1
- package/cjs/object/Required.d.ts +0 -7
- package/cjs/object/Required.d.ts.map +0 -1
- package/cjs/object/Required.js +0 -4
- package/cjs/object/Required.js.map +0 -1
- package/cjs/object/RequiredKeys.d.ts +0 -7
- package/cjs/object/RequiredKeys.d.ts.map +0 -1
- package/cjs/object/RequiredKeys.js +0 -3
- package/cjs/object/RequiredKeys.js.map +0 -1
- package/cjs/object/SpreadRecord.d.ts +0 -3
- package/cjs/object/SpreadRecord.d.ts.map +0 -1
- package/cjs/object/SpreadRecord.js +0 -3
- package/cjs/object/SpreadRecord.js.map +0 -1
- package/cjs/object/ValueOf.d.ts +0 -2
- package/cjs/object/ValueOf.d.ts.map +0 -1
- package/cjs/object/ValueOf.js +0 -3
- package/cjs/object/ValueOf.js.map +0 -1
- package/cjs/object/everyKey.d.ts +0 -3
- package/cjs/object/everyKey.d.ts.map +0 -1
- package/cjs/object/everyKey.js +0 -8
- package/cjs/object/everyKey.js.map +0 -1
- package/cjs/object/facade.d.ts +0 -17
- package/cjs/object/facade.d.ts.map +0 -1
- package/cjs/object/facade.js +0 -27
- package/cjs/object/facade.js.map +0 -1
- package/cjs/object/filterKey.d.ts +0 -3
- package/cjs/object/filterKey.d.ts.map +0 -1
- package/cjs/object/filterKey.js +0 -10
- package/cjs/object/filterKey.js.map +0 -1
- package/cjs/object/findKey.d.ts +0 -3
- package/cjs/object/findKey.d.ts.map +0 -1
- package/cjs/object/findKey.js +0 -10
- package/cjs/object/findKey.js.map +0 -1
- package/cjs/object/forEachKey.d.ts +0 -3
- package/cjs/object/forEachKey.d.ts.map +0 -1
- package/cjs/object/forEachKey.js +0 -8
- package/cjs/object/forEachKey.js.map +0 -1
- package/cjs/object/getField.d.ts +0 -4
- package/cjs/object/getField.d.ts.map +0 -1
- package/cjs/object/getField.js +0 -8
- package/cjs/object/getField.js.map +0 -1
- package/cjs/object/hasKey.d.ts +0 -4
- package/cjs/object/hasKey.d.ts.map +0 -1
- package/cjs/object/hasKey.js +0 -8
- package/cjs/object/hasKey.js.map +0 -1
- package/cjs/object/hasProperty.d.ts +0 -3
- package/cjs/object/hasProperty.d.ts.map +0 -1
- package/cjs/object/hasProperty.js +0 -8
- package/cjs/object/hasProperty.js.map +0 -1
- package/cjs/object/index.d.ts +0 -39
- package/cjs/object/index.d.ts.map +0 -1
- package/cjs/object/index.js +0 -36
- package/cjs/object/index.js.map +0 -1
- package/cjs/object/left_join.d.ts +0 -15
- package/cjs/object/left_join.d.ts.map +0 -1
- package/cjs/object/left_join.js +0 -3
- package/cjs/object/left_join.js.map +0 -1
- package/cjs/object/mapKey.d.ts +0 -3
- package/cjs/object/mapKey.d.ts.map +0 -1
- package/cjs/object/mapKey.js +0 -10
- package/cjs/object/mapKey.js.map +0 -1
- package/cjs/object/mapProperties.d.ts +0 -14
- package/cjs/object/mapProperties.d.ts.map +0 -1
- package/cjs/object/mapProperties.js +0 -17
- package/cjs/object/mapProperties.js.map +0 -1
- package/cjs/object/object_type.d.ts +0 -54
- package/cjs/object/object_type.d.ts.map +0 -1
- package/cjs/object/object_type.js +0 -3
- package/cjs/object/object_type.js.map +0 -1
- package/cjs/object/omit.d.ts +0 -22
- package/cjs/object/omit.d.ts.map +0 -1
- package/cjs/object/omit.js +0 -14
- package/cjs/object/omit.js.map +0 -1
- package/cjs/object/optional_key.d.ts +0 -35
- package/cjs/object/optional_key.d.ts.map +0 -1
- package/cjs/object/optional_key.js +0 -3
- package/cjs/object/optional_key.js.map +0 -1
- package/cjs/object/pick.d.ts +0 -29
- package/cjs/object/pick.d.ts.map +0 -1
- package/cjs/object/pick.js +0 -14
- package/cjs/object/pick.js.map +0 -1
- package/cjs/object/properties.d.ts +0 -7
- package/cjs/object/properties.d.ts.map +0 -1
- package/cjs/object/properties.js +0 -3
- package/cjs/object/properties.js.map +0 -1
- package/cjs/object/record.d.ts +0 -17
- package/cjs/object/record.d.ts.map +0 -1
- package/cjs/object/record.js +0 -9
- package/cjs/object/record.js.map +0 -1
- package/cjs/object/recursive_partial.d.ts +0 -29
- package/cjs/object/recursive_partial.d.ts.map +0 -1
- package/cjs/object/recursive_partial.js +0 -4
- package/cjs/object/recursive_partial.js.map +0 -1
- package/cjs/object/reduceKey.d.ts +0 -7
- package/cjs/object/reduceKey.d.ts.map +0 -1
- package/cjs/object/reduceKey.js +0 -12
- package/cjs/object/reduceKey.js.map +0 -1
- package/cjs/object/replaceProperty.d.ts +0 -6
- package/cjs/object/replaceProperty.d.ts.map +0 -1
- package/cjs/object/replaceProperty.js +0 -8
- package/cjs/object/replaceProperty.js.map +0 -1
- package/cjs/object/someKey.d.ts +0 -3
- package/cjs/object/someKey.d.ts.map +0 -1
- package/cjs/object/someKey.js +0 -10
- package/cjs/object/someKey.js.map +0 -1
- package/cjs/object/split.d.ts +0 -76
- package/cjs/object/split.d.ts.map +0 -1
- package/cjs/object/split.js +0 -12
- package/cjs/object/split.js.map +0 -1
- package/cjs/object/typeOverrideIncompatible.d.ts +0 -3
- package/cjs/object/typeOverrideIncompatible.d.ts.map +0 -1
- package/cjs/object/typeOverrideIncompatible.js +0 -13
- package/cjs/object/typeOverrideIncompatible.js.map +0 -1
- package/cjs/package.json +0 -3
- package/cjs/predicates/CanAssign.d.ts +0 -45
- package/cjs/predicates/CanAssign.d.ts.map +0 -1
- package/cjs/predicates/CanAssign.js +0 -8
- package/cjs/predicates/CanAssign.js.map +0 -1
- package/cjs/predicates/Extends.d.ts +0 -5
- package/cjs/predicates/Extends.d.ts.map +0 -1
- package/cjs/predicates/Extends.js +0 -3
- package/cjs/predicates/Extends.js.map +0 -1
- package/cjs/predicates/If.d.ts +0 -2
- package/cjs/predicates/If.d.ts.map +0 -1
- package/cjs/predicates/If.js +0 -3
- package/cjs/predicates/If.js.map +0 -1
- package/cjs/predicates/IsEmptyObject.d.ts +0 -2
- package/cjs/predicates/IsEmptyObject.d.ts.map +0 -1
- package/cjs/predicates/IsEmptyObject.js +0 -3
- package/cjs/predicates/IsEmptyObject.js.map +0 -1
- package/cjs/predicates/index.d.ts +0 -7
- package/cjs/predicates/index.d.ts.map +0 -1
- package/cjs/predicates/index.js +0 -18
- package/cjs/predicates/index.js.map +0 -1
- package/cjs/predicates/literal.d.ts +0 -22
- package/cjs/predicates/literal.d.ts.map +0 -1
- package/cjs/predicates/literal.js +0 -3
- package/cjs/predicates/literal.js.map +0 -1
- package/cjs/predicates/logical.d.ts +0 -5
- package/cjs/predicates/logical.d.ts.map +0 -1
- package/cjs/predicates/logical.js +0 -3
- package/cjs/predicates/logical.js.map +0 -1
- package/cjs/primitive.d.ts +0 -5
- package/cjs/primitive.d.ts.map +0 -1
- package/cjs/primitive.js +0 -3
- package/cjs/primitive.js.map +0 -1
- package/cjs/promise/MaybePromise.d.ts +0 -22
- package/cjs/promise/MaybePromise.d.ts.map +0 -1
- package/cjs/promise/MaybePromise.js +0 -12
- package/cjs/promise/MaybePromise.js.map +0 -1
- package/cjs/promise/PromiseValue.d.ts +0 -13
- package/cjs/promise/PromiseValue.d.ts.map +0 -1
- package/cjs/promise/PromiseValue.js +0 -3
- package/cjs/promise/PromiseValue.js.map +0 -1
- package/cjs/promise/PromiseValueMerge.d.ts +0 -5
- package/cjs/promise/PromiseValueMerge.d.ts.map +0 -1
- package/cjs/promise/PromiseValueMerge.js +0 -3
- package/cjs/promise/PromiseValueMerge.js.map +0 -1
- package/cjs/promise/index.d.ts +0 -6
- package/cjs/promise/index.d.ts.map +0 -1
- package/cjs/promise/index.js +0 -20
- package/cjs/promise/index.js.map +0 -1
- package/cjs/promise/isPromise.d.ts +0 -2
- package/cjs/promise/isPromise.d.ts.map +0 -1
- package/cjs/promise/isPromise.js +0 -9
- package/cjs/promise/isPromise.js.map +0 -1
- package/cjs/promise/mapSeries.d.ts +0 -2
- package/cjs/promise/mapSeries.d.ts.map +0 -1
- package/cjs/promise/mapSeries.js +0 -8
- package/cjs/promise/mapSeries.js.map +0 -1
- package/cjs/string/strict_string_type.d.ts +0 -61
- package/cjs/string/strict_string_type.d.ts.map +0 -1
- package/cjs/string/strict_string_type.js +0 -3
- package/cjs/string/strict_string_type.js.map +0 -1
- package/cjs/string/string.d.ts +0 -24
- package/cjs/string/string.d.ts.map +0 -1
- package/cjs/string/string.js +0 -3
- package/cjs/string/string.js.map +0 -1
- package/cjs/string/string_plus.d.ts +0 -27
- package/cjs/string/string_plus.d.ts.map +0 -1
- package/cjs/string/string_plus.js +0 -3
- package/cjs/string/string_plus.js.map +0 -1
- package/cjs/string/string_type.d.ts +0 -58
- package/cjs/string/string_type.d.ts.map +0 -1
- package/cjs/string/string_type.js +0 -3
- package/cjs/string/string_type.js.map +0 -1
- package/cjs/symbol/symbol_type.d.ts +0 -50
- package/cjs/symbol/symbol_type.d.ts.map +0 -1
- package/cjs/symbol/symbol_type.js +0 -3
- package/cjs/symbol/symbol_type.js.map +0 -1
- package/cjs/testing/stub.d.ts +0 -31
- package/cjs/testing/stub.d.ts.map +0 -1
- package/cjs/testing/stub.js +0 -60
- package/cjs/testing/stub.js.map +0 -1
- package/cjs/testing/test_type.d.ts +0 -310
- package/cjs/testing/test_type.d.ts.map +0 -1
- package/cjs/testing/test_type.js +0 -16
- package/cjs/testing/test_type.js.map +0 -1
- package/cjs/tuple/common_prop_keys.d.ts +0 -34
- package/cjs/tuple/common_prop_keys.d.ts.map +0 -1
- package/cjs/tuple/common_prop_keys.js +0 -3
- package/cjs/tuple/common_prop_keys.js.map +0 -1
- package/cjs/tuple/create_tuple.d.ts +0 -28
- package/cjs/tuple/create_tuple.d.ts.map +0 -1
- package/cjs/tuple/create_tuple.js +0 -3
- package/cjs/tuple/create_tuple.js.map +0 -1
- package/cjs/tuple/drop.d.ts +0 -91
- package/cjs/tuple/drop.d.ts.map +0 -1
- package/cjs/tuple/drop.js +0 -13
- package/cjs/tuple/drop.js.map +0 -1
- package/cjs/tuple/tail.d.ts +0 -6
- package/cjs/tuple/tail.d.ts.map +0 -1
- package/cjs/tuple/tail.js +0 -3
- package/cjs/tuple/tail.js.map +0 -1
- package/cjs/tuple/tuple_plus.common_prop_keys.d.ts +0 -28
- package/cjs/tuple/tuple_plus.common_prop_keys.d.ts.map +0 -1
- package/cjs/tuple/tuple_plus.common_prop_keys.js +0 -3
- package/cjs/tuple/tuple_plus.common_prop_keys.js.map +0 -1
- package/cjs/tuple/tuple_plus.d.ts +0 -6
- package/cjs/tuple/tuple_plus.d.ts.map +0 -1
- package/cjs/tuple/tuple_plus.drop_match.d.ts +0 -6
- package/cjs/tuple/tuple_plus.drop_match.d.ts.map +0 -1
- package/cjs/tuple/tuple_plus.drop_match.js +0 -3
- package/cjs/tuple/tuple_plus.drop_match.js.map +0 -1
- package/cjs/tuple/tuple_plus.filter.d.ts +0 -13
- package/cjs/tuple/tuple_plus.filter.d.ts.map +0 -1
- package/cjs/tuple/tuple_plus.filter.js +0 -3
- package/cjs/tuple/tuple_plus.filter.js.map +0 -1
- package/cjs/tuple/tuple_plus.find.d.ts +0 -64
- package/cjs/tuple/tuple_plus.find.d.ts.map +0 -1
- package/cjs/tuple/tuple_plus.find.js +0 -3
- package/cjs/tuple/tuple_plus.find.js.map +0 -1
- package/cjs/tuple/tuple_plus.js +0 -3
- package/cjs/tuple/tuple_plus.js.map +0 -1
- package/cjs/tuple/tuple_plus.pad_start.d.ts +0 -28
- package/cjs/tuple/tuple_plus.pad_start.d.ts.map +0 -1
- package/cjs/tuple/tuple_plus.pad_start.js +0 -3
- package/cjs/tuple/tuple_plus.pad_start.js.map +0 -1
- package/cjs/tuple/tuple_type.d.ts +0 -77
- package/cjs/tuple/tuple_type.d.ts.map +0 -1
- package/cjs/tuple/tuple_type.js +0 -3
- package/cjs/tuple/tuple_type.js.map +0 -1
- package/cjs/type/failed.d.ts +0 -32
- package/cjs/type/failed.d.ts.map +0 -1
- package/cjs/type/failed.js +0 -3
- package/cjs/type/failed.js.map +0 -1
- package/cjs/type/no_infer.d.ts +0 -27
- package/cjs/type/no_infer.d.ts.map +0 -1
- package/cjs/type/no_infer.js +0 -3
- package/cjs/type/no_infer.js.map +0 -1
- package/cjs/type-guard/is_type.d.ts +0 -27
- package/cjs/type-guard/is_type.d.ts.map +0 -1
- package/cjs/type-guard/is_type.js +0 -32
- package/cjs/type-guard/is_type.js.map +0 -1
- package/cjs/undefined/undefined_type.d.ts +0 -53
- package/cjs/undefined/undefined_type.d.ts.map +0 -1
- package/cjs/undefined/undefined_type.js +0 -3
- package/cjs/undefined/undefined_type.js.map +0 -1
- package/cjs/union/union.d.ts +0 -33
- package/cjs/union/union.d.ts.map +0 -1
- package/cjs/union/union.js +0 -3
- package/cjs/union/union.js.map +0 -1
- package/cjs/union/union_to_intersection.d.ts +0 -3
- package/cjs/union/union_to_intersection.d.ts.map +0 -1
- package/cjs/union/union_to_intersection.js +0 -8
- package/cjs/union/union_to_intersection.js.map +0 -1
- package/cjs/union_keys.d.ts +0 -6
- package/cjs/union_keys.d.ts.map +0 -1
- package/cjs/union_keys.js +0 -3
- package/cjs/union_keys.js.map +0 -1
- package/cjs/unknown/unknown_type.d.ts +0 -63
- package/cjs/unknown/unknown_type.d.ts.map +0 -1
- package/cjs/unknown/unknown_type.js +0 -3
- package/cjs/unknown/unknown_type.js.map +0 -1
- package/cjs/unpartial.d.ts +0 -2
- package/cjs/unpartial.d.ts.map +0 -1
- package/cjs/unpartial.js +0 -8
- package/cjs/unpartial.js.map +0 -1
- package/cjs/utils/NonNull.d.ts +0 -2
- package/cjs/utils/NonNull.d.ts.map +0 -1
- package/cjs/utils/NonNull.js +0 -3
- package/cjs/utils/NonNull.js.map +0 -1
- package/cjs/utils/NonUndefined.d.ts +0 -2
- package/cjs/utils/NonUndefined.d.ts.map +0 -1
- package/cjs/utils/NonUndefined.js +0 -3
- package/cjs/utils/NonUndefined.js.map +0 -1
- package/cjs/utils/Widen.d.ts +0 -6
- package/cjs/utils/Widen.d.ts.map +0 -1
- package/cjs/utils/Widen.js +0 -3
- package/cjs/utils/Widen.js.map +0 -1
- package/cjs/utils/as.d.ts +0 -10
- package/cjs/utils/as.d.ts.map +0 -1
- package/cjs/utils/as.js +0 -26
- package/cjs/utils/as.js.map +0 -1
- package/cjs/utils/index.d.ts +0 -43
- package/cjs/utils/index.d.ts.map +0 -1
- package/cjs/utils/index.js +0 -19
- package/cjs/utils/index.js.map +0 -1
- package/cjs/utils/inspect.d.ts +0 -5
- package/cjs/utils/inspect.d.ts.map +0 -1
- package/cjs/utils/inspect.js +0 -13
- package/cjs/utils/inspect.js.map +0 -1
- package/cjs/utils/options.d.ts +0 -10
- package/cjs/utils/options.d.ts.map +0 -1
- package/cjs/utils/options.js +0 -3
- package/cjs/utils/options.js.map +0 -1
- package/cjs/void/void_type.d.ts +0 -43
- package/cjs/void/void_type.d.ts.map +0 -1
- package/cjs/void/void_type.js +0 -3
- package/cjs/void/void_type.js.map +0 -1
- package/esm/array/array_index.d.ts +0 -34
- package/esm/array/array_index.d.ts.map +0 -1
- package/esm/array/array_index.js +0 -2
- package/esm/array/array_index.js.map +0 -1
- package/esm/merge.d.ts +0 -55
- package/esm/merge.d.ts.map +0 -1
- package/esm/merge.js.map +0 -1
- package/esm/object/AnyRecord.d.ts +0 -3
- package/esm/object/AnyRecord.d.ts.map +0 -1
- package/esm/object/AnyRecord.js +0 -2
- package/esm/object/AnyRecord.js.map +0 -1
- package/ts/merge.ts +0 -72
- /package/ts/object/{AnyRecord.ts → any_record.ts} +0 -0
package/{README.md → readme.md}
RENAMED
|
@@ -12,14 +12,16 @@ More than 200 type utilities for [TypeScript] for applications, library, and typ
|
|
|
12
12
|
|
|
13
13
|
## Table of Contents
|
|
14
14
|
|
|
15
|
-
1. [
|
|
15
|
+
1. [Table of Contents](#table-of-contents)
|
|
16
|
+
2. [Installation](#installation)
|
|
17
|
+
3. [What's in the package?](#whats-in-the-package)
|
|
16
18
|
1. [Update organization](#update-organization)
|
|
17
19
|
2. [Update documentation](#update-documentation)
|
|
18
|
-
|
|
20
|
+
4. [Assertion Function](#assertion-function)
|
|
19
21
|
1. [assertType](#asserttype)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
5. [Type Guard](#type-guard)
|
|
23
|
+
6. [Type Utilities](#type-utilities)
|
|
24
|
+
7. [Type Specific Utilities](#type-specific-utilities)
|
|
23
25
|
1. [any](#any)
|
|
24
26
|
2. [Array](#array)
|
|
25
27
|
3. [union](#union)
|
|
@@ -38,18 +40,19 @@ More than 200 type utilities for [TypeScript] for applications, library, and typ
|
|
|
38
40
|
16. [undefined](#undefined)
|
|
39
41
|
17. [unknown](#unknown)
|
|
40
42
|
18. [void](#void)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
8. [Testing Utilities](#testing-utilities)
|
|
44
|
+
9. [Constant Types](#constant-types)
|
|
45
|
+
10. [JSON Support](#json-support)
|
|
46
|
+
11. [Type manipulation](#type-manipulation)
|
|
47
|
+
12. [Type Predicates](#type-predicates)
|
|
48
|
+
1. [Logical](#logical)
|
|
49
|
+
13. [Math](#math)
|
|
50
|
+
14. [Utility Functions](#utility-functions)
|
|
51
|
+
15. [Nominal Types](#nominal-types)
|
|
52
|
+
16. [Functional Types](#functional-types)
|
|
53
|
+
17. [Attribution](#attribution)
|
|
54
|
+
18. [Useful Tips](#useful-tips)
|
|
55
|
+
19. [Similar projects](#similar-projects)
|
|
53
56
|
|
|
54
57
|
## Installation
|
|
55
58
|
|
|
@@ -844,6 +847,22 @@ You can learn more in their respective sections:
|
|
|
844
847
|
|
|
845
848
|
⭕ `predicate`: `T !== void`
|
|
846
849
|
|
|
850
|
+
## Testing Utilities
|
|
851
|
+
|
|
852
|
+
[type-plus](./README.md) privides some testing utilities to help you test your types.
|
|
853
|
+
|
|
854
|
+
One of the key utilities is [`testType`](./ts/testing/readme.md#testtype).
|
|
855
|
+
|
|
856
|
+
```ts
|
|
857
|
+
import { testType } from 'type-plus'
|
|
858
|
+
|
|
859
|
+
testType.any<T>(true) // T is `any`
|
|
860
|
+
testType.equal<A, B>(true) // A is equal to B
|
|
861
|
+
testType.never<T>(false) // T is not `never`
|
|
862
|
+
```
|
|
863
|
+
|
|
864
|
+
You can learn more about them in the [docs](./ts/testing/readme.md).
|
|
865
|
+
|
|
847
866
|
## Constant Types
|
|
848
867
|
|
|
849
868
|
> `KeyTypes`
|
package/ts/array/array.at.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IsStrictNumber } from '../number/strict_number_type.js'
|
|
2
2
|
import type { TupleType } from '../tuple/tuple_type.js'
|
|
3
|
-
import type { IndexAt } from './
|
|
3
|
+
import type { IndexAt } from './array_plus.index_at.js'
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 🦴 *utilities*
|
|
@@ -17,7 +17,7 @@ import type { IndexAt } from './array_index.js'
|
|
|
17
17
|
* type R = At<[1, 2, 3], -1> // 3
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
export type At<A extends unknown[], N extends number, Fail = never> = IndexAt<
|
|
20
|
+
export type At<A extends readonly unknown[], N extends number, Fail = never> = IndexAt<
|
|
21
21
|
A,
|
|
22
22
|
N,
|
|
23
23
|
Fail,
|
|
@@ -11,16 +11,16 @@ import type { IsTuple } from '../tuple/tuple_type.js'
|
|
|
11
11
|
* ArrayPlus.Entries<[1, 2, 3]> // [[0, 1], [1, 2], [2, 3]]
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
export type Entries<A extends unknown[]> = IsTuple<
|
|
14
|
+
export type Entries<A extends readonly unknown[]> = IsTuple<
|
|
15
15
|
A,
|
|
16
16
|
Entries.Device<A, []>,
|
|
17
17
|
A extends Array<infer T> ? Array<[number, T]> : never
|
|
18
18
|
>
|
|
19
19
|
|
|
20
20
|
export namespace Entries {
|
|
21
|
-
export type Device<A extends unknown[], R extends unknown[]> = A['length'] extends 0
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
export type Device<A extends readonly unknown[], R extends unknown[]> = A['length'] extends 0
|
|
22
|
+
? R
|
|
23
|
+
: (A extends readonly [...infer F, infer N]
|
|
24
|
+
? Device<F, [[F['length'], N], ...R]>
|
|
25
|
+
: never)
|
|
26
26
|
}
|
|
@@ -16,14 +16,14 @@ import type { TupleType } from '../tuple/tuple_type.js'
|
|
|
16
16
|
* ArrayPlus.Find<[true, 123, 'x', 321], number> // 321
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
export type FindLast<A extends
|
|
19
|
+
export type FindLast<A extends readonly unknown[], Criteria> = TupleType<
|
|
20
20
|
A,
|
|
21
21
|
A['length'] extends 0
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
? Last extends Criteria
|
|
22
|
+
? never
|
|
23
|
+
: (A extends readonly [...infer Heads, infer Last]
|
|
24
|
+
? (Last extends Criteria
|
|
25
25
|
? Last
|
|
26
|
-
: FindLast<Heads, Criteria>
|
|
27
|
-
: never,
|
|
28
|
-
A extends Array<infer T
|
|
26
|
+
: FindLast<Heads, Criteria>)
|
|
27
|
+
: never),
|
|
28
|
+
A extends Readonly<Array<infer T>> ? (T extends Criteria ? T | undefined : never) : never
|
|
29
29
|
>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { IsReadonly } from './array_plus.is_readonly.js'
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* Reverses the order of elements in the array or tuple.
|
|
3
5
|
*
|
|
@@ -11,6 +13,13 @@
|
|
|
11
13
|
* @param T The array type to reverse.
|
|
12
14
|
* @returns The reversed array type.
|
|
13
15
|
*/
|
|
14
|
-
export type Reverse<A extends unknown[]> = A extends
|
|
15
|
-
?
|
|
16
|
-
:
|
|
16
|
+
export type Reverse<A extends readonly unknown[]> = Reverse._<A> extends infer R
|
|
17
|
+
? IsReadonly<A> extends true ? Readonly<R> : R
|
|
18
|
+
: never
|
|
19
|
+
|
|
20
|
+
export namespace Reverse {
|
|
21
|
+
export type _<A extends readonly unknown[]> = A extends readonly [infer First, ...infer Rest]
|
|
22
|
+
? [..._<Rest>, First]
|
|
23
|
+
: A
|
|
24
|
+
|
|
25
|
+
}
|
package/ts/array/array.some.ts
CHANGED
|
@@ -23,7 +23,7 @@ import type { UnionOfValues } from './union_of_values.js'
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
export type Some<
|
|
26
|
-
A extends
|
|
26
|
+
A extends readonly unknown[],
|
|
27
27
|
Criteria,
|
|
28
28
|
Mode extends 'strict' | 'loose' = 'loose',
|
|
29
29
|
Then = true,
|
|
@@ -31,37 +31,37 @@ export type Some<
|
|
|
31
31
|
> = Mode extends 'strict' ? Some.Strict<A, Criteria, Then, Else> : Some.Loose<A, Criteria, Then, Else>
|
|
32
32
|
|
|
33
33
|
export namespace Some {
|
|
34
|
-
export type Strict<A extends unknown[], Criteria, Then, Else> = number extends A['length']
|
|
34
|
+
export type Strict<A extends readonly unknown[], Criteria, Then, Else> = number extends A['length']
|
|
35
35
|
? StrictArray<A, Criteria, Then, Else>
|
|
36
36
|
: StrictTuple<A, Criteria, Then, Else>
|
|
37
37
|
|
|
38
|
-
export type StrictArray<A extends unknown[], Criteria, Then, Else> = IsEqual<
|
|
38
|
+
export type StrictArray<A extends readonly unknown[], Criteria, Then, Else> = IsEqual<
|
|
39
39
|
UnionOfValues<A>,
|
|
40
40
|
Criteria,
|
|
41
41
|
Then,
|
|
42
42
|
Else
|
|
43
43
|
>
|
|
44
44
|
|
|
45
|
-
export type StrictTuple<A extends unknown[], Criteria, Then, Else> = A['length'] extends 0
|
|
45
|
+
export type StrictTuple<A extends readonly unknown[], Criteria, Then, Else> = A['length'] extends 0
|
|
46
46
|
? Else
|
|
47
|
-
: IsEqual<A[0], Criteria> extends true
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
: (IsEqual<A[0], Criteria> extends true
|
|
48
|
+
? Then
|
|
49
|
+
: StrictTuple<Tail<A>, Criteria, Then, Else>)
|
|
50
50
|
|
|
51
|
-
export type Loose<A extends unknown[], Criteria, Then, Else> = number extends A['length']
|
|
51
|
+
export type Loose<A extends readonly unknown[], Criteria, Then, Else> = number extends A['length']
|
|
52
52
|
? LooseArray<A, Criteria, Then, Else>
|
|
53
53
|
: LooseTuple<A, Criteria, Then, Else>
|
|
54
54
|
|
|
55
|
-
export type LooseArray<A extends unknown[], Criteria, Then, Else> = CanAssign<
|
|
55
|
+
export type LooseArray<A extends readonly unknown[], Criteria, Then, Else> = CanAssign<
|
|
56
56
|
UnionOfValues<A>,
|
|
57
57
|
Criteria,
|
|
58
58
|
Then,
|
|
59
59
|
Else
|
|
60
60
|
>
|
|
61
61
|
|
|
62
|
-
export type LooseTuple<A extends unknown[], Criteria, Then, Else> = A['length'] extends 0
|
|
62
|
+
export type LooseTuple<A extends readonly unknown[], Criteria, Then, Else> = A['length'] extends 0
|
|
63
63
|
? Else
|
|
64
|
-
: A[0] extends Criteria
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
: (A[0] extends Criteria
|
|
65
|
+
? Then
|
|
66
|
+
: LooseTuple<Tail<A>, Criteria, Then, Else>)
|
|
67
67
|
}
|
|
@@ -15,15 +15,15 @@ import type { KeyTypes } from '../object/KeyTypes.js'
|
|
|
15
15
|
* type R = ArrayPlus.CommonPropKeys<Array<{ a: 1, b: 1 } | { a: 1, c: 1 }>> // 'a'
|
|
16
16
|
* ```
|
|
17
17
|
*
|
|
18
|
-
* @typeParam Options['
|
|
18
|
+
* @typeParam Options['$never'] Return type when `T` is `never`.
|
|
19
19
|
* Default to `never`.
|
|
20
20
|
*/
|
|
21
21
|
export type CommonPropKeys<
|
|
22
|
-
A extends Record<KeyTypes, unknown>[],
|
|
22
|
+
A extends readonly Record<KeyTypes, unknown>[],
|
|
23
23
|
Options extends CommonPropKeys.Options = CommonPropKeys.DefaultOptions
|
|
24
24
|
> = NeverType<A,
|
|
25
|
-
Options['
|
|
26
|
-
A extends Array<infer R extends Record<KeyTypes, unknown
|
|
25
|
+
Options['$never'],
|
|
26
|
+
A extends Readonly<Array<infer R extends Record<KeyTypes, unknown>>> ? keyof R : never
|
|
27
27
|
>
|
|
28
28
|
|
|
29
29
|
export namespace CommonPropKeys {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { NonNull } from '../utils/NonNull.js'
|
|
2
2
|
import type { NonUndefined } from '../utils/NonUndefined.js'
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* ⚗️ *transform*
|
|
6
|
+
*/
|
|
4
7
|
export type DropMatch<A extends Readonly<Array<unknown>>, Criteria> = A[0] extends Criteria
|
|
5
8
|
? never[]
|
|
6
9
|
: (undefined extends Criteria
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IsNever } from '../never/never_type.js'
|
|
2
2
|
import type { IsUnion } from '../union/union.js'
|
|
3
|
-
import type {
|
|
3
|
+
import type { TypePlusOptions } from '../utils/options.js'
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 🦴 *utilities*
|
|
@@ -12,13 +12,13 @@ import type { MergeOptions } from '../utils/options.js'
|
|
|
12
12
|
* e.g. `number, 1` -> `1 | undefined`.
|
|
13
13
|
* Default to `true`.
|
|
14
14
|
*
|
|
15
|
-
* @typeParam Options['
|
|
15
|
+
* @typeParam Options['$notMatch'] Return value when `T` does not match `Criteria`.
|
|
16
16
|
* Default to `never`.
|
|
17
17
|
*
|
|
18
|
-
* @typeParam Options['
|
|
18
|
+
* @typeParam Options['$widen'] Return value when `widen` is true.
|
|
19
19
|
* Default to `Criteria | undefined`.
|
|
20
20
|
*
|
|
21
|
-
* @typeParam Options['
|
|
21
|
+
* @typeParam Options['$unionNotMatch'] Return value when a branch of the union `T` does not match `Criteria`.
|
|
22
22
|
* Default to `never`.
|
|
23
23
|
*
|
|
24
24
|
* If you want the type to behave more like JavaScript,
|
|
@@ -33,29 +33,29 @@ export type ElementMatch<
|
|
|
33
33
|
Options extends ElementMatch.Options = ElementMatch.DefaultOptions<Criteria>
|
|
34
34
|
> = [T] extends [Criteria]
|
|
35
35
|
? T
|
|
36
|
-
: (
|
|
36
|
+
: (TypePlusOptions.Merge<Options, ElementMatch.DefaultOptions<Criteria>> extends infer C extends Record<keyof ElementMatch.Options, unknown>
|
|
37
37
|
? ((T extends Criteria
|
|
38
38
|
? T
|
|
39
39
|
: (C['widen'] extends true
|
|
40
40
|
? (Criteria extends T
|
|
41
|
-
? C['
|
|
42
|
-
: C['
|
|
43
|
-
: C['
|
|
44
|
-
? IsUnion<T, IsNever<R, R, R | C['
|
|
45
|
-
: C['
|
|
41
|
+
? C['$widen']
|
|
42
|
+
: C['$notMatch'])
|
|
43
|
+
: C['$notMatch'])) extends infer R
|
|
44
|
+
? IsUnion<T, IsNever<R, R, R | C['$unionNotMatch']>, R>
|
|
45
|
+
: C['$notMatch'])
|
|
46
46
|
: never)
|
|
47
47
|
|
|
48
48
|
export namespace ElementMatch {
|
|
49
49
|
export interface Options {
|
|
50
50
|
widen?: boolean | undefined,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
$notMatch?: unknown,
|
|
52
|
+
$widen?: unknown,
|
|
53
|
+
$unionNotMatch?: unknown
|
|
54
54
|
}
|
|
55
55
|
export interface DefaultOptions<Criteria> {
|
|
56
56
|
widen: true,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
$notMatch: never,
|
|
58
|
+
$widen: Criteria | undefined,
|
|
59
|
+
$unionNotMatch: never
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -1,5 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
// import type { IsEqual } from '../equal/equal.js'
|
|
2
|
+
|
|
3
|
+
// /**
|
|
4
|
+
// * Filters an array or tuple based on criteria
|
|
5
|
+
// */
|
|
6
|
+
// export type Filter<A extends readonly unknown[], Criteria = true> = Filter._<A, Criteria, []>
|
|
7
|
+
|
|
8
|
+
import type { IsEqual } from '../equal/equal.js'
|
|
9
|
+
import type { NeverType } from '../never/never_type.js'
|
|
10
|
+
import type { TypePlusOptions } from '../utils/options.js'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* ⚗️ *transform*
|
|
14
|
+
* 🔢 *customizable*
|
|
15
|
+
*
|
|
16
|
+
* Filter the array `A`, keeping entries satisfying `Criteria`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* type R = Filter<Array<string | undefined>, string> // string[]
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export type Filter<
|
|
24
|
+
A extends readonly unknown[],
|
|
25
|
+
Criteria = true,
|
|
26
|
+
Options extends Filter.Options = Filter.DefaultOptions
|
|
27
|
+
> = TypePlusOptions.Merge<Options, Filter.DefaultOptions> extends infer O extends Filter.Options
|
|
28
|
+
? (NeverType<
|
|
29
|
+
A,
|
|
30
|
+
O['$never'],
|
|
31
|
+
(A[0] extends Criteria
|
|
32
|
+
? A
|
|
33
|
+
: Criteria extends A[0] ? Array<Criteria> : O['$notArray'])>)
|
|
34
|
+
: never
|
|
35
|
+
|
|
36
|
+
export namespace Filter {
|
|
37
|
+
export interface Options extends TypePlusOptions.NotArray, NeverType.Options { }
|
|
38
|
+
|
|
39
|
+
export interface DefaultOptions {
|
|
40
|
+
$never: never,
|
|
41
|
+
$notArray: never[]
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type _<A extends readonly unknown[], Criteria, Result extends unknown[]> = A['length'] extends 0
|
|
45
|
+
? Result
|
|
46
|
+
: (A extends [infer H, ...infer Rest]
|
|
47
|
+
? IsEqual<H, Criteria, _<Rest, Criteria, [...Result, H]>, _<Rest, Criteria, Result>>
|
|
48
|
+
: never)
|
|
49
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NeverType } from '../never/never_type.js'
|
|
2
2
|
import type { TupleType } from '../tuple/tuple_type.js'
|
|
3
|
-
import type {
|
|
3
|
+
import type { TypePlusOptions } from '../utils/options.js'
|
|
4
4
|
import type { ElementMatch } from './array_plus.element_match.js'
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -25,20 +25,20 @@ import type { ElementMatch } from './array_plus.element_match.js'
|
|
|
25
25
|
* With widen match, a narrowed type will match its widen type.
|
|
26
26
|
* e.g. matching `1` against `number` yields `1 | undefined`
|
|
27
27
|
*
|
|
28
|
-
* The widen behavior can be customized by `Options['
|
|
28
|
+
* The widen behavior can be customized by `Options['$widen']`
|
|
29
29
|
*
|
|
30
|
-
* @typeParam Options['
|
|
30
|
+
* @typeParam Options['$never'] return type when `A` is `never`. Default to `never`.
|
|
31
31
|
*
|
|
32
|
-
* @typeParam Options['
|
|
32
|
+
* @typeParam Options['$notMatch'] Return value when `T` does not match `Criteria`.
|
|
33
33
|
* Default to `never`.
|
|
34
34
|
*
|
|
35
|
-
* @typeParam Options['
|
|
35
|
+
* @typeParam Options['$tuple'] return type when `A` is a tuple. Default to `not supported` message.
|
|
36
36
|
*
|
|
37
|
-
* @typeParam Options['
|
|
37
|
+
* @typeParam Options['$widen'] return type when `T` in `A` is a widen type of `Criteria`.
|
|
38
38
|
* Default to `Criteria | undefined`.
|
|
39
39
|
* Set it to `never` for a more type-centric behavior
|
|
40
40
|
*
|
|
41
|
-
* @typeParam Options['
|
|
41
|
+
* @typeParam Options['$unionNotMatch'] Return value when a branch of the union `T` does not match `Criteria`.
|
|
42
42
|
* Default to `never`.
|
|
43
43
|
*
|
|
44
44
|
* If you want the type to behave more like JavaScript,
|
|
@@ -47,25 +47,25 @@ import type { ElementMatch } from './array_plus.element_match.js'
|
|
|
47
47
|
* Since it is a union, the result will be joined to the matched branch as union.
|
|
48
48
|
*/
|
|
49
49
|
export type Find<
|
|
50
|
-
A extends unknown[],
|
|
50
|
+
A extends readonly unknown[],
|
|
51
51
|
Criteria,
|
|
52
52
|
Options extends Find.Options = Find.DefaultOptions<Criteria>
|
|
53
53
|
> =
|
|
54
|
-
|
|
54
|
+
TypePlusOptions.Merge<Options, Find.DefaultOptions<Criteria>> extends infer O extends Find.Options
|
|
55
55
|
? TupleType<
|
|
56
56
|
A,
|
|
57
|
-
O['
|
|
58
|
-
A extends Array<infer T
|
|
57
|
+
O['$tuple'],
|
|
58
|
+
A extends Readonly<Array<infer T>> ? ElementMatch<T, Criteria, O> : never,
|
|
59
59
|
O
|
|
60
60
|
>
|
|
61
61
|
: never
|
|
62
62
|
|
|
63
63
|
export namespace Find {
|
|
64
64
|
export interface Options extends ElementMatch.Options, NeverType.Options {
|
|
65
|
-
|
|
65
|
+
$tuple?: unknown,
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export interface DefaultOptions<Criteria> extends ElementMatch.DefaultOptions<Criteria>, NeverType.DefaultOptions {
|
|
69
|
-
|
|
69
|
+
$tuple: 'does not support tuple. Please use `FindFirst` or `TuplePlus.Find` instead.',
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -9,8 +9,11 @@ import type { Integer } from '../numeric/integer.js'
|
|
|
9
9
|
import type { Negative } from '../numeric/negative.js'
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
+
* 🦴 *utilities*
|
|
13
|
+
*
|
|
12
14
|
* Gets the normalized index to access the element of an array or tuple.
|
|
13
15
|
*
|
|
16
|
+
* @example
|
|
14
17
|
* ```ts
|
|
15
18
|
* type R = IndexAt<['a', 'b', 'c'], 2> // 2
|
|
16
19
|
* type R = IndexAt<['a', 'b', 'c'], -2> // 1
|
|
@@ -20,54 +23,47 @@ import type { Negative } from '../numeric/negative.js'
|
|
|
20
23
|
* ```
|
|
21
24
|
*/
|
|
22
25
|
export type IndexAt<
|
|
23
|
-
A extends
|
|
26
|
+
A extends readonly unknown[],
|
|
24
27
|
N extends number,
|
|
25
28
|
Fail = never,
|
|
26
29
|
Upper = A['length'],
|
|
27
30
|
Lower = 0
|
|
28
|
-
> =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
N,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
GreaterThan<A['length'], N> extends true ? N : Upper
|
|
43
|
-
>
|
|
44
|
-
>,
|
|
45
|
-
// N: number or float
|
|
46
|
-
IsAny<
|
|
31
|
+
> = IsNever<A, Fail, IndexAt._<A, N, Fail, Upper, Lower>>
|
|
32
|
+
|
|
33
|
+
export namespace IndexAt {
|
|
34
|
+
export type _<
|
|
35
|
+
A extends readonly unknown[],
|
|
36
|
+
N extends number,
|
|
37
|
+
Fail = never,
|
|
38
|
+
Upper = A['length'],
|
|
39
|
+
Lower = 0
|
|
40
|
+
> = IsEqual<
|
|
41
|
+
A['length'],
|
|
42
|
+
0,
|
|
43
|
+
Fail,
|
|
44
|
+
Integer<
|
|
47
45
|
N,
|
|
48
|
-
number,
|
|
49
46
|
StrictNumberType<
|
|
47
|
+
A['length'],
|
|
48
|
+
// A: array
|
|
49
|
+
N,
|
|
50
|
+
// A: tuple
|
|
51
|
+
Negative<
|
|
52
|
+
N,
|
|
53
|
+
GreaterThan<Abs<N>, A['length']> extends true ? Lower : Subtract<A['length'], Abs<N>>,
|
|
54
|
+
GreaterThan<A['length'], N> extends true ? N : Upper
|
|
55
|
+
>
|
|
56
|
+
>,
|
|
57
|
+
// N: number or float
|
|
58
|
+
IsAny<
|
|
50
59
|
N,
|
|
51
|
-
|
|
52
|
-
|
|
60
|
+
number,
|
|
61
|
+
StrictNumberType<
|
|
62
|
+
N,
|
|
63
|
+
// TODO: handle tuple to union of indexes
|
|
64
|
+
N
|
|
65
|
+
>
|
|
53
66
|
>
|
|
54
67
|
>
|
|
55
68
|
>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Is N an out of bound index of A.
|
|
60
|
-
*
|
|
61
|
-
* ```ts
|
|
62
|
-
* type R = IsIndexOutOfBound<[1], 0> // false
|
|
63
|
-
* type R = IsIndexOutOfBound<[1], -1> // false
|
|
64
|
-
|
|
65
|
-
* type R = IsIndexOutOfBound<[1], 1> // true
|
|
66
|
-
* type R = IsIndexOutOfBound<[1], -2> // true
|
|
67
|
-
* ```
|
|
68
|
-
*/
|
|
69
|
-
export type IsIndexOutOfBound<A extends unknown[], N extends number, Then = true, Else = false> = IsNever<
|
|
70
|
-
IndexAt<A, N, never, never, never>,
|
|
71
|
-
Then,
|
|
72
|
-
Else
|
|
73
|
-
>
|
|
69
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IsNever } from '../never/never_type.js'
|
|
2
|
+
import type { IndexAt } from './array_plus.index_at.js'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 🎭 *validate*
|
|
6
|
+
*
|
|
7
|
+
* Is `N` an out of bound index of `A`.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* type R = IsIndexOutOfBound<[1], 0> // false
|
|
12
|
+
* type R = IsIndexOutOfBound<[1], -1> // false
|
|
13
|
+
*
|
|
14
|
+
* type R = IsIndexOutOfBound<[1], 1> // true
|
|
15
|
+
* type R = IsIndexOutOfBound<[1], -2> // true
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export type IsIndexOutOfBound<A extends readonly unknown[], N extends number, Then = true, Else = false> = IsNever<
|
|
19
|
+
IndexAt<A, N, never, never, never>,
|
|
20
|
+
Then,
|
|
21
|
+
Else
|
|
22
|
+
>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { NeverType } from '../never/never_type.js'
|
|
2
|
+
import type { TypePlusOptions } from '../utils/options.js'
|
|
3
|
+
import type { LooseArrayType } from './loose_array_type.js'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 🎭 *validate*
|
|
7
|
+
* 🔢 *customizable*
|
|
8
|
+
*
|
|
9
|
+
* Checks if `A` is a readonly array or tuple
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* type R = IsReadonly<readonly string[]> // true
|
|
14
|
+
* type R = IsReadonly<readonly [1, 2, 3, 4, 5]> // true
|
|
15
|
+
*
|
|
16
|
+
* type R = IsReadonly<[1, 2, 3, 4, 5]> // false
|
|
17
|
+
* type R = IsReadonly<readonly string[] | number> // boolean
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export type IsReadonly<
|
|
21
|
+
A,
|
|
22
|
+
Options extends IsReadonly.Options = IsReadonly.DefaultOptions
|
|
23
|
+
> =
|
|
24
|
+
TypePlusOptions.Merge<Options, IsReadonly.DefaultOptions> extends infer O extends IsReadonly.Options ?
|
|
25
|
+
NeverType<
|
|
26
|
+
A,
|
|
27
|
+
O['$never'],
|
|
28
|
+
A extends any ?
|
|
29
|
+
LooseArrayType<A,
|
|
30
|
+
Readonly<A> extends A ? O['$then'] : O['$else'],
|
|
31
|
+
O['$notArray']
|
|
32
|
+
> : never
|
|
33
|
+
>
|
|
34
|
+
: never
|
|
35
|
+
|
|
36
|
+
export namespace IsReadonly {
|
|
37
|
+
export interface Options
|
|
38
|
+
extends NeverType.Options, TypePlusOptions.Selection, TypePlusOptions.NotArray { }
|
|
39
|
+
|
|
40
|
+
export interface DefaultOptions {
|
|
41
|
+
$then: true,
|
|
42
|
+
$else: false,
|
|
43
|
+
$never: false,
|
|
44
|
+
$notArray: false
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -3,7 +3,7 @@ import type { CreateTuple } from '../tuple/create_tuple.js'
|
|
|
3
3
|
import type { UnionOfValues } from './union_of_values.js'
|
|
4
4
|
|
|
5
5
|
export type PadStart<
|
|
6
|
-
A extends unknown[],
|
|
6
|
+
A extends readonly unknown[],
|
|
7
7
|
MaxLength extends number,
|
|
8
8
|
PadWith = unknown
|
|
9
9
|
> = MaxLength extends 0
|