type-plus 8.0.0-beta.6 → 8.0.0-beta.7
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/type_plus → cjs/$type}/$resolve_options.d.ts +2 -2
- package/cjs/$type/$resolve_options.d.ts.map +1 -0
- package/cjs/$type/$resolve_options.js.map +1 -0
- package/cjs/$type/$type.d.ts +34 -0
- package/cjs/$type/$type.d.ts.map +1 -0
- package/cjs/{type_plus → $type}/$type.js.map +1 -1
- package/{esm/type_plus → cjs/$type}/branch/$branch.d.ts +3 -3
- package/cjs/$type/branch/$branch.d.ts.map +1 -0
- package/cjs/$type/branch/$branch.js.map +1 -0
- package/{esm/type_plus → cjs/$type}/branch/$input_options.d.ts +2 -1
- package/cjs/$type/branch/$input_options.d.ts.map +1 -0
- package/cjs/$type/branch/$input_options.js.map +1 -0
- package/cjs/$type/branch/$resolve_branch.d.ts +22 -0
- package/cjs/$type/branch/$resolve_branch.d.ts.map +1 -0
- package/cjs/$type/branch/$resolve_branch.js.map +1 -0
- package/cjs/$type/branch/$selection.d.ts +161 -0
- package/cjs/$type/branch/$selection.d.ts.map +1 -0
- package/cjs/$type/branch/$selection.js.map +1 -0
- package/cjs/$type/distributive/$distributive.d.ts +27 -0
- package/cjs/$type/distributive/$distributive.d.ts.map +1 -0
- package/cjs/$type/distributive/$distributive.js.map +1 -0
- package/cjs/$type/errors/$error.d.ts +23 -0
- package/cjs/$type/errors/$error.d.ts.map +1 -0
- package/cjs/{type_plus → $type/errors}/$error.js.map +1 -1
- package/{esm/type_plus → cjs/$type/errors}/$infer_error.d.ts +7 -6
- package/cjs/$type/errors/$infer_error.d.ts.map +1 -0
- package/cjs/$type/errors/$infer_error.js.map +1 -0
- package/{esm/type → cjs/$type/errors}/failed.d.ts +4 -0
- package/cjs/$type/errors/failed.d.ts.map +1 -0
- package/cjs/{type → $type/errors}/failed.js.map +1 -1
- package/cjs/$type/exact/$exact.d.ts +27 -0
- package/cjs/$type/exact/$exact.d.ts.map +1 -0
- package/cjs/{type_plus/branch → $type/exact}/$exact.js.map +1 -1
- package/cjs/$type/special/$any.d.ts +36 -0
- package/cjs/$type/special/$any.d.ts.map +1 -0
- package/cjs/{any/any.js → $type/special/$any.js} +1 -1
- package/cjs/$type/special/$any.js.map +1 -0
- package/cjs/$type/special/$never.d.ts +52 -0
- package/cjs/$type/special/$never.d.ts.map +1 -0
- package/cjs/$type/special/$never.js +3 -0
- package/cjs/$type/special/$never.js.map +1 -0
- package/cjs/$type/special/$special.d.ts +31 -0
- package/cjs/$type/special/$special.d.ts.map +1 -0
- package/cjs/$type/special/$special.js +3 -0
- package/cjs/$type/special/$special.js.map +1 -0
- package/cjs/$type/special/$unknown.d.ts +37 -0
- package/cjs/$type/special/$unknown.d.ts.map +1 -0
- package/cjs/$type/special/$unknown.js +3 -0
- package/cjs/$type/special/$unknown.js.map +1 -0
- package/cjs/$type/special/$void.d.ts +46 -0
- package/cjs/$type/special/$void.d.ts.map +1 -0
- package/cjs/{never/never.js → $type/special/$void.js} +1 -1
- package/cjs/$type/special/$void.js.map +1 -0
- package/cjs/$type/utils/$merge_options.d.ts +14 -0
- package/cjs/$type/utils/$merge_options.d.ts.map +1 -0
- package/cjs/$type/utils/$merge_options.js.map +1 -0
- package/cjs/any/is_any.d.ts +23 -20
- package/cjs/any/is_any.d.ts.map +1 -1
- package/cjs/any/is_not_any.d.ts +15 -14
- package/cjs/any/is_not_any.d.ts.map +1 -1
- package/cjs/array/array.some.d.ts +1 -1
- package/cjs/array/array.some.d.ts.map +1 -1
- package/cjs/array/array_plus.common_prop_keys.d.ts +1 -1
- package/cjs/array/array_plus.common_prop_keys.d.ts.map +1 -1
- package/cjs/array/array_plus.filter.d.ts +2 -2
- package/cjs/array/array_plus.filter.d.ts.map +1 -1
- package/cjs/array/array_plus.find.d.ts +2 -2
- package/cjs/array/array_plus.find.d.ts.map +1 -1
- package/cjs/array/array_plus.index_at.d.ts +16 -10
- package/cjs/array/array_plus.index_at.d.ts.map +1 -1
- package/cjs/array/array_plus.index_at.js.map +1 -1
- package/cjs/array/array_plus.is_readonly.d.ts +3 -3
- package/cjs/array/array_plus.is_readonly.d.ts.map +1 -1
- package/cjs/array/head.d.ts +3 -3
- package/cjs/array/head.d.ts.map +1 -1
- package/cjs/array/is_array.d.ts +23 -19
- package/cjs/array/is_array.d.ts.map +1 -1
- package/cjs/array/is_not_array.d.ts +23 -19
- package/cjs/array/is_not_array.d.ts.map +1 -1
- package/cjs/array/last.d.ts +5 -3
- package/cjs/array/last.d.ts.map +1 -1
- package/cjs/assertion/assert_type.d.ts.map +1 -1
- package/cjs/bigint/is_bigint.d.ts +20 -16
- package/cjs/bigint/is_bigint.d.ts.map +1 -1
- package/cjs/bigint/is_bigint_literal.d.ts +18 -13
- package/cjs/bigint/is_bigint_literal.d.ts.map +1 -1
- package/cjs/bigint/is_not_bigint.d.ts +20 -16
- package/cjs/bigint/is_not_bigint.d.ts.map +1 -1
- package/cjs/bigint/is_not_bigint_literal.d.ts +19 -13
- package/cjs/bigint/is_not_bigint_literal.d.ts.map +1 -1
- package/cjs/binary/_binary.d.ts +2 -1
- package/cjs/binary/_binary.d.ts.map +1 -1
- package/cjs/binary/_binary.js +3 -0
- package/cjs/binary/_binary.js.map +1 -1
- package/cjs/binary/bit.d.ts +26 -0
- package/cjs/binary/bit.d.ts.map +1 -0
- package/cjs/binary/{Bit.js → bit.js} +1 -1
- package/cjs/binary/bit.js.map +1 -0
- package/cjs/boolean/is_boolean.d.ts +20 -16
- package/cjs/boolean/is_boolean.d.ts.map +1 -1
- package/cjs/boolean/is_false.d.ts +15 -9
- package/cjs/boolean/is_false.d.ts.map +1 -1
- package/cjs/boolean/is_not_boolean.d.ts +21 -16
- package/cjs/boolean/is_not_boolean.d.ts.map +1 -1
- package/cjs/boolean/is_not_false.d.ts +16 -9
- package/cjs/boolean/is_not_false.d.ts.map +1 -1
- package/cjs/boolean/is_not_true.d.ts +15 -9
- package/cjs/boolean/is_not_true.d.ts.map +1 -1
- package/cjs/boolean/is_true.d.ts +15 -9
- package/cjs/boolean/is_true.d.ts.map +1 -1
- package/cjs/equal/equal.d.ts +189 -74
- package/cjs/equal/equal.d.ts.map +1 -1
- package/cjs/equal/identity_equal.d.ts +5 -1
- package/cjs/equal/identity_equal.d.ts.map +1 -1
- package/cjs/equal/is_equal.d.ts +102 -0
- package/cjs/equal/is_equal.d.ts.map +1 -0
- package/cjs/equal/is_equal.js +3 -0
- package/cjs/equal/is_equal.js.map +1 -0
- package/cjs/function/is_function.d.ts +28 -5
- package/cjs/function/is_function.d.ts.map +1 -1
- package/cjs/function/is_not_function.d.ts +1 -1
- package/cjs/function/is_not_function.d.ts.map +1 -1
- package/cjs/function/is_not_strict_function.d.ts +15 -13
- package/cjs/function/is_not_strict_function.d.ts.map +1 -1
- package/cjs/function/is_strict_function.d.ts +22 -17
- package/cjs/function/is_strict_function.d.ts.map +1 -1
- package/cjs/functional/Maybe.d.ts +1 -1
- package/cjs/functional/Maybe.d.ts.map +1 -1
- package/cjs/functional/compose.d.ts.map +1 -1
- package/cjs/functional/compose.js +1 -3
- package/cjs/functional/compose.js.map +1 -1
- package/cjs/index.d.ts +20 -21
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/logical/logical.d.ts +35 -0
- package/cjs/logical/logical.d.ts.map +1 -0
- package/cjs/{predicates → logical}/logical.js.map +1 -1
- package/cjs/math/abs.d.ts +1 -1
- package/cjs/math/abs.d.ts.map +1 -1
- package/cjs/mix_types/box.d.ts +2 -2
- package/cjs/mix_types/box.d.ts.map +1 -1
- package/cjs/mix_types/is_any_or_never.d.ts +2 -3
- package/cjs/mix_types/is_any_or_never.d.ts.map +1 -1
- package/cjs/mix_types/merge.d.ts +18 -6
- package/cjs/mix_types/merge.d.ts.map +1 -1
- package/cjs/mix_types/merge.js.map +1 -1
- package/cjs/never/is_never.d.ts +16 -15
- package/cjs/never/is_never.d.ts.map +1 -1
- package/cjs/never/is_not_never.d.ts +16 -15
- package/cjs/never/is_not_never.d.ts.map +1 -1
- package/cjs/null/is_not_null.d.ts +15 -9
- package/cjs/null/is_not_null.d.ts.map +1 -1
- package/cjs/null/is_null.d.ts +15 -9
- package/cjs/null/is_null.d.ts.map +1 -1
- package/cjs/number/is_not_number.d.ts +20 -16
- package/cjs/number/is_not_number.d.ts.map +1 -1
- package/cjs/number/is_not_number_literal.d.ts +18 -13
- package/cjs/number/is_not_number_literal.d.ts.map +1 -1
- package/cjs/number/is_number.d.ts +20 -16
- package/cjs/number/is_number.d.ts.map +1 -1
- package/cjs/number/is_number_literal.d.ts +18 -13
- package/cjs/number/is_number_literal.d.ts.map +1 -1
- package/cjs/numeric/is_integer.d.ts +18 -12
- package/cjs/numeric/is_integer.d.ts.map +1 -1
- package/cjs/numeric/is_negative.d.ts +19 -13
- package/cjs/numeric/is_negative.d.ts.map +1 -1
- package/cjs/numeric/is_not_integer.d.ts +13 -7
- package/cjs/numeric/is_not_integer.d.ts.map +1 -1
- package/cjs/numeric/is_not_negative.d.ts +15 -9
- package/cjs/numeric/is_not_negative.d.ts.map +1 -1
- package/cjs/numeric/is_not_numeric.d.ts +1 -1
- package/cjs/numeric/is_not_numeric.d.ts.map +1 -1
- package/cjs/numeric/is_not_positive.d.ts +13 -7
- package/cjs/numeric/is_not_positive.d.ts.map +1 -1
- package/cjs/numeric/is_numeric.d.ts +28 -5
- package/cjs/numeric/is_numeric.d.ts.map +1 -1
- package/cjs/numeric/is_positive.d.ts +19 -13
- package/cjs/numeric/is_positive.d.ts.map +1 -1
- package/cjs/object/ANotB.d.ts +2 -2
- package/cjs/object/ANotB.d.ts.map +1 -1
- package/cjs/object/KeysWithDiffType.d.ts +1 -1
- package/cjs/object/KeysWithDiffType.d.ts.map +1 -1
- package/cjs/object/adjust_exact_optional_props.d.ts +1 -1
- package/cjs/object/adjust_exact_optional_props.d.ts.map +1 -1
- package/cjs/object/is_not_object.d.ts +23 -19
- package/cjs/object/is_not_object.d.ts.map +1 -1
- package/cjs/object/is_object.d.ts +23 -19
- package/cjs/object/is_object.d.ts.map +1 -1
- package/cjs/object/left_join.d.ts +2 -2
- package/cjs/object/left_join.d.ts.map +1 -1
- package/cjs/object/mapProperties.d.ts +1 -1
- package/cjs/object/mapProperties.d.ts.map +1 -1
- package/cjs/object/mapProperties.js.map +1 -1
- package/cjs/object/merge.d.ts +55 -49
- package/cjs/object/merge.d.ts.map +1 -1
- package/cjs/object/optional_key.d.ts +1 -1
- package/cjs/object/optional_key.d.ts.map +1 -1
- package/cjs/object/record.d.ts.map +1 -1
- package/cjs/object/split.d.ts +1 -1
- package/cjs/object/split.d.ts.map +1 -1
- package/cjs/predicates/CanAssign.d.ts +1 -1
- package/cjs/predicates/CanAssign.d.ts.map +1 -1
- package/cjs/predicates/assignable.d.ts +23 -25
- package/cjs/predicates/assignable.d.ts.map +1 -1
- package/cjs/predicates/index.d.ts +1 -1
- package/cjs/predicates/index.d.ts.map +1 -1
- package/cjs/predicates/not_assignable.d.ts +24 -26
- package/cjs/predicates/not_assignable.d.ts.map +1 -1
- package/cjs/string/is_not_string.d.ts +20 -17
- package/cjs/string/is_not_string.d.ts.map +1 -1
- package/cjs/string/is_not_string_literal.d.ts +25 -22
- package/cjs/string/is_not_string_literal.d.ts.map +1 -1
- package/cjs/string/is_not_template_literal.d.ts +18 -13
- package/cjs/string/is_not_template_literal.d.ts.map +1 -1
- package/cjs/string/is_string.d.ts +20 -16
- package/cjs/string/is_string.d.ts.map +1 -1
- package/cjs/string/is_string_literal.d.ts +25 -22
- package/cjs/string/is_string_literal.d.ts.map +1 -1
- package/cjs/string/is_template_literal.d.ts +18 -13
- package/cjs/string/is_template_literal.d.ts.map +1 -1
- package/cjs/symbol/is_not_symbol.d.ts +15 -9
- package/cjs/symbol/is_not_symbol.d.ts.map +1 -1
- package/cjs/symbol/is_symbol.d.ts +15 -9
- package/cjs/symbol/is_symbol.d.ts.map +1 -1
- package/cjs/testing/stub.d.ts +0 -1
- package/cjs/testing/stub.d.ts.map +1 -1
- package/cjs/testing/stub.js.map +1 -1
- package/cjs/testing/test_type.d.ts +1 -1
- package/cjs/testing/test_type.d.ts.map +1 -1
- package/cjs/tuple/is_not_tuple.d.ts +18 -13
- package/cjs/tuple/is_not_tuple.d.ts.map +1 -1
- package/cjs/tuple/is_tuple.d.ts +18 -13
- package/cjs/tuple/is_tuple.d.ts.map +1 -1
- package/cjs/tuple/tuple_plus.common_prop_keys.d.ts +1 -1
- package/cjs/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -1
- package/cjs/tuple/tuple_plus.drop_match.d.ts +1 -1
- package/cjs/tuple/tuple_plus.drop_match.d.ts.map +1 -1
- package/cjs/tuple/tuple_plus.find.d.ts +1 -1
- package/cjs/tuple/tuple_plus.find.d.ts.map +1 -1
- package/cjs/type-guard/is_type.d.ts +1 -1
- package/cjs/type-guard/is_type.d.ts.map +1 -1
- package/cjs/undefined/has_undefined.d.ts +4 -5
- package/cjs/undefined/has_undefined.d.ts.map +1 -1
- package/cjs/undefined/is_not_undefined.d.ts +15 -9
- package/cjs/undefined/is_not_undefined.d.ts.map +1 -1
- package/cjs/undefined/is_undefined.d.ts +15 -9
- package/cjs/undefined/is_undefined.d.ts.map +1 -1
- package/cjs/unknown/is_not_unknown.d.ts +15 -14
- package/cjs/unknown/is_not_unknown.d.ts.map +1 -1
- package/cjs/unknown/is_unknown.d.ts +15 -14
- package/cjs/unknown/is_unknown.d.ts.map +1 -1
- package/cjs/unknown/not_unknown_or.d.ts +1 -1
- package/cjs/unknown/not_unknown_or.d.ts.map +1 -1
- package/cjs/utils/Widen.d.ts +9 -2
- package/cjs/utils/Widen.d.ts.map +1 -1
- package/cjs/utils/excessive.d.ts +12 -0
- package/cjs/utils/excessive.d.ts.map +1 -0
- package/cjs/utils/excessive.js +3 -0
- package/cjs/utils/excessive.js.map +1 -0
- package/cjs/{type → utils}/no_infer.d.ts +9 -7
- package/cjs/utils/no_infer.d.ts.map +1 -0
- package/cjs/{type → utils}/no_infer.js.map +1 -1
- package/cjs/void/is_not_void.d.ts +17 -10
- package/cjs/void/is_not_void.d.ts.map +1 -1
- package/cjs/void/is_void.d.ts +17 -10
- package/cjs/void/is_void.d.ts.map +1 -1
- package/{cjs/type_plus → esm/$type}/$resolve_options.d.ts +2 -2
- package/esm/$type/$resolve_options.d.ts.map +1 -0
- package/esm/$type/$resolve_options.js.map +1 -0
- package/esm/$type/$type.d.ts +34 -0
- package/esm/$type/$type.d.ts.map +1 -0
- package/esm/{type_plus → $type}/$type.js.map +1 -1
- package/{cjs/type_plus → esm/$type}/branch/$branch.d.ts +3 -3
- package/esm/$type/branch/$branch.d.ts.map +1 -0
- package/esm/$type/branch/$branch.js.map +1 -0
- package/{cjs/type_plus → esm/$type}/branch/$input_options.d.ts +2 -1
- package/esm/$type/branch/$input_options.d.ts.map +1 -0
- package/esm/$type/branch/$input_options.js.map +1 -0
- package/esm/$type/branch/$resolve_branch.d.ts +22 -0
- package/esm/$type/branch/$resolve_branch.d.ts.map +1 -0
- package/esm/$type/branch/$resolve_branch.js.map +1 -0
- package/esm/$type/branch/$selection.d.ts +161 -0
- package/esm/$type/branch/$selection.d.ts.map +1 -0
- package/esm/$type/branch/$selection.js.map +1 -0
- package/esm/$type/distributive/$distributive.d.ts +27 -0
- package/esm/$type/distributive/$distributive.d.ts.map +1 -0
- package/esm/$type/distributive/$distributive.js.map +1 -0
- package/esm/$type/errors/$error.d.ts +23 -0
- package/esm/$type/errors/$error.d.ts.map +1 -0
- package/esm/{type_plus → $type/errors}/$error.js.map +1 -1
- package/{cjs/type_plus → esm/$type/errors}/$infer_error.d.ts +7 -6
- package/esm/$type/errors/$infer_error.d.ts.map +1 -0
- package/esm/$type/errors/$infer_error.js.map +1 -0
- package/{cjs/type → esm/$type/errors}/failed.d.ts +4 -0
- package/esm/$type/errors/failed.d.ts.map +1 -0
- package/esm/{type → $type/errors}/failed.js.map +1 -1
- package/esm/$type/exact/$exact.d.ts +27 -0
- package/esm/$type/exact/$exact.d.ts.map +1 -0
- package/esm/{type_plus/branch → $type/exact}/$exact.js.map +1 -1
- package/esm/$type/special/$any.d.ts +36 -0
- package/esm/$type/special/$any.d.ts.map +1 -0
- package/esm/$type/special/$any.js +2 -0
- package/esm/$type/special/$any.js.map +1 -0
- package/esm/$type/special/$never.d.ts +52 -0
- package/esm/$type/special/$never.d.ts.map +1 -0
- package/esm/$type/special/$never.js +2 -0
- package/esm/$type/special/$never.js.map +1 -0
- package/esm/$type/special/$special.d.ts +31 -0
- package/esm/$type/special/$special.d.ts.map +1 -0
- package/esm/$type/special/$special.js +2 -0
- package/esm/$type/special/$special.js.map +1 -0
- package/esm/$type/special/$unknown.d.ts +37 -0
- package/esm/$type/special/$unknown.d.ts.map +1 -0
- package/esm/$type/special/$unknown.js +2 -0
- package/esm/$type/special/$unknown.js.map +1 -0
- package/esm/$type/special/$void.d.ts +46 -0
- package/esm/$type/special/$void.d.ts.map +1 -0
- package/esm/$type/special/$void.js +2 -0
- package/esm/$type/special/$void.js.map +1 -0
- package/esm/$type/utils/$merge_options.d.ts +14 -0
- package/esm/$type/utils/$merge_options.d.ts.map +1 -0
- package/esm/$type/utils/$merge_options.js.map +1 -0
- package/esm/any/is_any.d.ts +23 -20
- package/esm/any/is_any.d.ts.map +1 -1
- package/esm/any/is_not_any.d.ts +15 -14
- package/esm/any/is_not_any.d.ts.map +1 -1
- package/esm/array/array.some.d.ts +1 -1
- package/esm/array/array.some.d.ts.map +1 -1
- package/esm/array/array_plus.common_prop_keys.d.ts +1 -1
- package/esm/array/array_plus.common_prop_keys.d.ts.map +1 -1
- package/esm/array/array_plus.filter.d.ts +2 -2
- package/esm/array/array_plus.filter.d.ts.map +1 -1
- package/esm/array/array_plus.find.d.ts +2 -2
- package/esm/array/array_plus.find.d.ts.map +1 -1
- package/esm/array/array_plus.index_at.d.ts +16 -10
- package/esm/array/array_plus.index_at.d.ts.map +1 -1
- package/esm/array/array_plus.index_at.js.map +1 -1
- package/esm/array/array_plus.is_readonly.d.ts +3 -3
- package/esm/array/array_plus.is_readonly.d.ts.map +1 -1
- package/esm/array/head.d.ts +3 -3
- package/esm/array/head.d.ts.map +1 -1
- package/esm/array/is_array.d.ts +23 -19
- package/esm/array/is_array.d.ts.map +1 -1
- package/esm/array/is_not_array.d.ts +23 -19
- package/esm/array/is_not_array.d.ts.map +1 -1
- package/esm/array/last.d.ts +5 -3
- package/esm/array/last.d.ts.map +1 -1
- package/esm/assertion/assert_type.d.ts.map +1 -1
- package/esm/assertion/assert_type.js.map +1 -1
- package/esm/bigint/is_bigint.d.ts +20 -16
- package/esm/bigint/is_bigint.d.ts.map +1 -1
- package/esm/bigint/is_bigint_literal.d.ts +18 -13
- package/esm/bigint/is_bigint_literal.d.ts.map +1 -1
- package/esm/bigint/is_not_bigint.d.ts +20 -16
- package/esm/bigint/is_not_bigint.d.ts.map +1 -1
- package/esm/bigint/is_not_bigint_literal.d.ts +19 -13
- package/esm/bigint/is_not_bigint_literal.d.ts.map +1 -1
- package/esm/binary/_binary.d.ts +2 -1
- package/esm/binary/_binary.d.ts.map +1 -1
- package/esm/binary/_binary.js +2 -1
- package/esm/binary/_binary.js.map +1 -1
- package/esm/binary/bit.d.ts +26 -0
- package/esm/binary/bit.d.ts.map +1 -0
- package/esm/binary/bit.js +2 -0
- package/esm/binary/bit.js.map +1 -0
- package/esm/boolean/is_boolean.d.ts +20 -16
- package/esm/boolean/is_boolean.d.ts.map +1 -1
- package/esm/boolean/is_false.d.ts +15 -9
- package/esm/boolean/is_false.d.ts.map +1 -1
- package/esm/boolean/is_not_boolean.d.ts +21 -16
- package/esm/boolean/is_not_boolean.d.ts.map +1 -1
- package/esm/boolean/is_not_false.d.ts +16 -9
- package/esm/boolean/is_not_false.d.ts.map +1 -1
- package/esm/boolean/is_not_true.d.ts +15 -9
- package/esm/boolean/is_not_true.d.ts.map +1 -1
- package/esm/boolean/is_true.d.ts +15 -9
- package/esm/boolean/is_true.d.ts.map +1 -1
- package/esm/equal/equal.d.ts +189 -74
- package/esm/equal/equal.d.ts.map +1 -1
- package/esm/equal/identity_equal.d.ts +5 -1
- package/esm/equal/identity_equal.d.ts.map +1 -1
- package/esm/equal/is_equal.d.ts +102 -0
- package/esm/equal/is_equal.d.ts.map +1 -0
- package/esm/equal/is_equal.js +2 -0
- package/esm/equal/is_equal.js.map +1 -0
- package/esm/function/is_function.d.ts +28 -5
- package/esm/function/is_function.d.ts.map +1 -1
- package/esm/function/is_not_function.d.ts +1 -1
- package/esm/function/is_not_function.d.ts.map +1 -1
- package/esm/function/is_not_strict_function.d.ts +15 -13
- package/esm/function/is_not_strict_function.d.ts.map +1 -1
- package/esm/function/is_strict_function.d.ts +22 -17
- package/esm/function/is_strict_function.d.ts.map +1 -1
- package/esm/functional/Maybe.d.ts +1 -1
- package/esm/functional/Maybe.d.ts.map +1 -1
- package/esm/functional/compose.d.ts.map +1 -1
- package/esm/functional/compose.js +1 -3
- package/esm/functional/compose.js.map +1 -1
- package/esm/index.d.ts +20 -21
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/logical/logical.d.ts +35 -0
- package/esm/logical/logical.d.ts.map +1 -0
- package/esm/{predicates → logical}/logical.js.map +1 -1
- package/esm/math/abs.d.ts +1 -1
- package/esm/math/abs.d.ts.map +1 -1
- package/esm/mix_types/box.d.ts +2 -2
- package/esm/mix_types/box.d.ts.map +1 -1
- package/esm/mix_types/is_any_or_never.d.ts +2 -3
- package/esm/mix_types/is_any_or_never.d.ts.map +1 -1
- package/esm/mix_types/merge.d.ts +18 -6
- package/esm/mix_types/merge.d.ts.map +1 -1
- package/esm/mix_types/merge.js.map +1 -1
- package/esm/never/is_never.d.ts +16 -15
- package/esm/never/is_never.d.ts.map +1 -1
- package/esm/never/is_not_never.d.ts +16 -15
- package/esm/never/is_not_never.d.ts.map +1 -1
- package/esm/null/is_not_null.d.ts +15 -9
- package/esm/null/is_not_null.d.ts.map +1 -1
- package/esm/null/is_null.d.ts +15 -9
- package/esm/null/is_null.d.ts.map +1 -1
- package/esm/number/is_not_number.d.ts +20 -16
- package/esm/number/is_not_number.d.ts.map +1 -1
- package/esm/number/is_not_number_literal.d.ts +18 -13
- package/esm/number/is_not_number_literal.d.ts.map +1 -1
- package/esm/number/is_number.d.ts +20 -16
- package/esm/number/is_number.d.ts.map +1 -1
- package/esm/number/is_number_literal.d.ts +18 -13
- package/esm/number/is_number_literal.d.ts.map +1 -1
- package/esm/numeric/is_integer.d.ts +18 -12
- package/esm/numeric/is_integer.d.ts.map +1 -1
- package/esm/numeric/is_negative.d.ts +19 -13
- package/esm/numeric/is_negative.d.ts.map +1 -1
- package/esm/numeric/is_not_integer.d.ts +13 -7
- package/esm/numeric/is_not_integer.d.ts.map +1 -1
- package/esm/numeric/is_not_negative.d.ts +15 -9
- package/esm/numeric/is_not_negative.d.ts.map +1 -1
- package/esm/numeric/is_not_numeric.d.ts +1 -1
- package/esm/numeric/is_not_numeric.d.ts.map +1 -1
- package/esm/numeric/is_not_positive.d.ts +13 -7
- package/esm/numeric/is_not_positive.d.ts.map +1 -1
- package/esm/numeric/is_numeric.d.ts +28 -5
- package/esm/numeric/is_numeric.d.ts.map +1 -1
- package/esm/numeric/is_positive.d.ts +19 -13
- package/esm/numeric/is_positive.d.ts.map +1 -1
- package/esm/object/ANotB.d.ts +2 -2
- package/esm/object/ANotB.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/adjust_exact_optional_props.d.ts +1 -1
- package/esm/object/adjust_exact_optional_props.d.ts.map +1 -1
- package/esm/object/is_not_object.d.ts +23 -19
- package/esm/object/is_not_object.d.ts.map +1 -1
- package/esm/object/is_object.d.ts +23 -19
- package/esm/object/is_object.d.ts.map +1 -1
- package/esm/object/left_join.d.ts +2 -2
- 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/mapProperties.js.map +1 -1
- package/esm/object/merge.d.ts +55 -49
- package/esm/object/merge.d.ts.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/record.d.ts.map +1 -1
- package/esm/object/split.d.ts +1 -1
- package/esm/object/split.d.ts.map +1 -1
- package/esm/predicates/CanAssign.d.ts +1 -1
- package/esm/predicates/CanAssign.d.ts.map +1 -1
- package/esm/predicates/assignable.d.ts +23 -25
- package/esm/predicates/assignable.d.ts.map +1 -1
- package/esm/predicates/index.d.ts +1 -1
- package/esm/predicates/index.d.ts.map +1 -1
- package/esm/predicates/not_assignable.d.ts +24 -26
- package/esm/predicates/not_assignable.d.ts.map +1 -1
- package/esm/string/is_not_string.d.ts +20 -17
- package/esm/string/is_not_string.d.ts.map +1 -1
- package/esm/string/is_not_string_literal.d.ts +25 -22
- package/esm/string/is_not_string_literal.d.ts.map +1 -1
- package/esm/string/is_not_template_literal.d.ts +18 -13
- package/esm/string/is_not_template_literal.d.ts.map +1 -1
- package/esm/string/is_string.d.ts +20 -16
- package/esm/string/is_string.d.ts.map +1 -1
- package/esm/string/is_string_literal.d.ts +25 -22
- package/esm/string/is_string_literal.d.ts.map +1 -1
- package/esm/string/is_template_literal.d.ts +18 -13
- package/esm/string/is_template_literal.d.ts.map +1 -1
- package/esm/symbol/is_not_symbol.d.ts +15 -9
- package/esm/symbol/is_not_symbol.d.ts.map +1 -1
- package/esm/symbol/is_symbol.d.ts +15 -9
- package/esm/symbol/is_symbol.d.ts.map +1 -1
- package/esm/testing/stub.d.ts +0 -1
- package/esm/testing/stub.d.ts.map +1 -1
- package/esm/testing/stub.js.map +1 -1
- package/esm/testing/test_type.d.ts +1 -1
- package/esm/testing/test_type.d.ts.map +1 -1
- package/esm/tuple/is_not_tuple.d.ts +18 -13
- package/esm/tuple/is_not_tuple.d.ts.map +1 -1
- package/esm/tuple/is_tuple.d.ts +18 -13
- package/esm/tuple/is_tuple.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts +1 -1
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.drop_match.d.ts +1 -1
- package/esm/tuple/tuple_plus.drop_match.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.find.d.ts +1 -1
- package/esm/tuple/tuple_plus.find.d.ts.map +1 -1
- package/esm/type-guard/is_type.d.ts +1 -1
- package/esm/type-guard/is_type.d.ts.map +1 -1
- package/esm/undefined/has_undefined.d.ts +4 -5
- package/esm/undefined/has_undefined.d.ts.map +1 -1
- package/esm/undefined/is_not_undefined.d.ts +15 -9
- package/esm/undefined/is_not_undefined.d.ts.map +1 -1
- package/esm/undefined/is_undefined.d.ts +15 -9
- package/esm/undefined/is_undefined.d.ts.map +1 -1
- package/esm/unknown/is_not_unknown.d.ts +15 -14
- package/esm/unknown/is_not_unknown.d.ts.map +1 -1
- package/esm/unknown/is_unknown.d.ts +15 -14
- package/esm/unknown/is_unknown.d.ts.map +1 -1
- package/esm/unknown/not_unknown_or.d.ts +1 -1
- package/esm/unknown/not_unknown_or.d.ts.map +1 -1
- package/esm/utils/Widen.d.ts +9 -2
- package/esm/utils/Widen.d.ts.map +1 -1
- package/esm/utils/excessive.d.ts +12 -0
- package/esm/utils/excessive.d.ts.map +1 -0
- package/esm/utils/excessive.js +2 -0
- package/esm/utils/excessive.js.map +1 -0
- package/esm/{type → utils}/no_infer.d.ts +9 -7
- package/esm/utils/no_infer.d.ts.map +1 -0
- package/esm/{type → utils}/no_infer.js.map +1 -1
- package/esm/void/is_not_void.d.ts +17 -10
- package/esm/void/is_not_void.d.ts.map +1 -1
- package/esm/void/is_void.d.ts +17 -10
- package/esm/void/is_void.d.ts.map +1 -1
- package/package.json +5 -5
- package/readme.md +74 -74
- package/src/{type_plus → $type}/$resolve_options.ts +4 -2
- package/src/$type/$type.ts +37 -0
- package/src/{type_plus → $type}/branch/$branch.ts +4 -2
- package/src/{type_plus → $type}/branch/$input_options.ts +2 -1
- package/src/$type/branch/$resolve_branch.ts +46 -0
- package/src/$type/branch/$selection.ts +170 -0
- package/src/$type/branch/readme.md +78 -0
- package/src/$type/distributive/$distributive.ts +34 -0
- package/src/$type/distributive/readme.md +26 -0
- package/src/$type/errors/$error.ts +20 -0
- package/src/{type_plus → $type/errors}/$infer_error.ts +7 -8
- package/src/{type → $type/errors}/failed.ts +4 -0
- package/src/$type/errors/readme.md +60 -0
- package/src/$type/exact/$exact.ts +34 -0
- package/src/$type/exact/readme.md +27 -0
- package/src/$type/readme.md +23 -0
- package/src/$type/special/$any.ts +34 -0
- package/src/$type/special/$never.ts +51 -0
- package/src/$type/special/$special.ts +40 -0
- package/src/$type/special/$unknown.ts +35 -0
- package/src/$type/special/$void.ts +44 -0
- package/src/$type/special/readme.md +51 -0
- package/src/$type/utils/$merge_options.ts +11 -0
- package/src/$type/utils/readme.md +10 -0
- package/src/any/is_any.ts +23 -20
- package/src/any/is_not_any.ts +15 -14
- package/src/any/readme.md +30 -19
- package/src/array/array.some.ts +1 -1
- package/src/array/array_plus.common_prop_keys.ts +1 -1
- package/src/array/array_plus.filter.ts +2 -2
- package/src/array/array_plus.find.ts +2 -2
- package/src/array/array_plus.index_at.ts +23 -29
- package/src/array/array_plus.is_readonly.ts +3 -3
- package/src/array/head.ts +3 -3
- package/src/array/is_array.ts +30 -23
- package/src/array/is_not_array.ts +30 -23
- package/src/array/last.ts +6 -14
- package/src/array/readme.md +3 -3
- package/src/assertion/assert_type.ts +1 -1
- package/src/bigint/is_bigint.ts +28 -21
- package/src/bigint/is_bigint_literal.ts +25 -17
- package/src/bigint/is_not_bigint.ts +27 -20
- package/src/bigint/is_not_bigint_literal.ts +26 -17
- package/src/bigint/readme.md +25 -8
- package/src/binary/_binary.ts +2 -1
- package/src/binary/bit.ts +29 -0
- package/src/binary/readme.md +11 -0
- package/src/boolean/is_boolean.ts +30 -23
- package/src/boolean/is_false.ts +18 -9
- package/src/boolean/is_not_boolean.ts +30 -22
- package/src/boolean/is_not_false.ts +19 -9
- package/src/boolean/is_not_true.ts +18 -9
- package/src/boolean/is_true.ts +18 -9
- package/src/equal/equal.ts +307 -89
- package/src/equal/identity_equal.ts +3 -7
- package/src/equal/is_equal.ts +150 -0
- package/src/equal/readme.md +20 -1
- package/src/function/is_function.ts +37 -5
- package/src/function/is_not_function.ts +1 -1
- package/src/function/is_not_strict_function.ts +16 -14
- package/src/function/is_strict_function.ts +29 -21
- package/src/functional/Maybe.ts +1 -1
- package/src/functional/compose.ts +1 -3
- package/src/index.ts +20 -21
- package/src/logical/logical.ts +52 -0
- package/src/logical/readme.md +53 -0
- package/src/math/abs.ts +1 -1
- package/src/mix_types/box.ts +2 -2
- package/src/mix_types/is_any_or_never.ts +2 -3
- package/src/mix_types/merge.ts +22 -17
- package/src/never/is_never.ts +16 -15
- package/src/never/is_not_never.ts +16 -15
- package/src/null/is_not_null.ts +18 -9
- package/src/null/is_null.ts +18 -9
- package/src/number/is_not_number.ts +27 -20
- package/src/number/is_not_number_literal.ts +25 -17
- package/src/number/is_number.ts +27 -20
- package/src/number/is_number_literal.ts +25 -17
- package/src/numeric/is_integer.ts +29 -30
- package/src/numeric/is_negative.ts +29 -20
- package/src/numeric/is_not_integer.ts +19 -10
- package/src/numeric/is_not_negative.ts +25 -13
- package/src/numeric/is_not_numeric.ts +1 -1
- package/src/numeric/is_not_positive.ts +19 -9
- package/src/numeric/is_numeric.ts +37 -5
- package/src/numeric/is_positive.ts +29 -21
- package/src/object/ANotB.ts +2 -2
- package/src/object/KeysWithDiffType.ts +1 -1
- package/src/object/adjust_exact_optional_props.ts +1 -1
- package/src/object/is_not_object.ts +29 -22
- package/src/object/is_object.ts +29 -22
- package/src/object/left_join.ts +2 -2
- package/src/object/mapProperties.ts +1 -1
- package/src/object/merge.ts +54 -50
- package/src/object/optional_key.ts +1 -1
- package/src/object/record.ts +1 -1
- package/src/object/split.ts +1 -1
- package/src/predicates/CanAssign.ts +1 -1
- package/src/predicates/assignable.ts +23 -25
- package/src/predicates/index.ts +1 -1
- package/src/predicates/not_assignable.ts +24 -26
- package/src/string/is_not_string.ts +29 -23
- package/src/string/is_not_string_literal.ts +36 -30
- package/src/string/is_not_template_literal.ts +24 -16
- package/src/string/is_string.ts +27 -20
- package/src/string/is_string_literal.ts +36 -30
- package/src/string/is_template_literal.ts +24 -16
- package/src/symbol/is_not_symbol.ts +18 -9
- package/src/symbol/is_symbol.ts +18 -9
- package/src/testing/stub.ts +0 -1
- package/src/testing/test_type.ts +1 -1
- package/src/tuple/is_not_tuple.ts +26 -17
- package/src/tuple/is_tuple.ts +25 -17
- package/src/tuple/tuple_plus.common_prop_keys.ts +1 -1
- package/src/tuple/tuple_plus.drop_match.ts +1 -1
- package/src/tuple/tuple_plus.find.ts +1 -1
- package/src/type-guard/is_type.ts +1 -1
- package/src/undefined/has_undefined.ts +5 -6
- package/src/undefined/is_not_undefined.ts +18 -9
- package/src/undefined/is_undefined.ts +18 -9
- package/src/unknown/is_not_unknown.ts +15 -14
- package/src/unknown/is_unknown.ts +15 -14
- package/src/unknown/not_unknown_or.ts +1 -1
- package/src/utils/Widen.ts +9 -2
- package/src/utils/excessive.ts +11 -0
- package/src/{type → utils}/no_infer.ts +13 -7
- package/src/utils/readme.md +17 -0
- package/src/void/is_not_void.ts +20 -10
- package/src/void/is_void.ts +20 -10
- package/cjs/any/any.d.ts +0 -49
- package/cjs/any/any.d.ts.map +0 -1
- package/cjs/any/any.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.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/never/never.d.ts +0 -75
- package/cjs/never/never.d.ts.map +0 -1
- package/cjs/never/never.js.map +0 -1
- package/cjs/predicates/logical.d.ts +0 -5
- package/cjs/predicates/logical.d.ts.map +0 -1
- package/cjs/type/failed.d.ts.map +0 -1
- package/cjs/type/no_infer.d.ts.map +0 -1
- package/cjs/type_plus/$equality.d.ts +0 -12
- package/cjs/type_plus/$equality.d.ts.map +0 -1
- package/cjs/type_plus/$equality.js +0 -3
- package/cjs/type_plus/$equality.js.map +0 -1
- package/cjs/type_plus/$error.d.ts +0 -8
- package/cjs/type_plus/$error.d.ts.map +0 -1
- package/cjs/type_plus/$infer_error.d.ts.map +0 -1
- package/cjs/type_plus/$infer_error.js.map +0 -1
- package/cjs/type_plus/$merge_options.d.ts +0 -11
- package/cjs/type_plus/$merge_options.d.ts.map +0 -1
- package/cjs/type_plus/$merge_options.js.map +0 -1
- package/cjs/type_plus/$resolve_options.d.ts.map +0 -1
- package/cjs/type_plus/$resolve_options.js.map +0 -1
- package/cjs/type_plus/$special_type.d.ts +0 -19
- package/cjs/type_plus/$special_type.d.ts.map +0 -1
- package/cjs/type_plus/$special_type.js +0 -3
- package/cjs/type_plus/$special_type.js.map +0 -1
- package/cjs/type_plus/$type.d.ts +0 -11
- package/cjs/type_plus/$type.d.ts.map +0 -1
- package/cjs/type_plus/branch/$branch.d.ts.map +0 -1
- package/cjs/type_plus/branch/$branch.js.map +0 -1
- package/cjs/type_plus/branch/$distributive.d.ts +0 -19
- package/cjs/type_plus/branch/$distributive.d.ts.map +0 -1
- package/cjs/type_plus/branch/$distributive.js.map +0 -1
- package/cjs/type_plus/branch/$exact.d.ts +0 -21
- package/cjs/type_plus/branch/$exact.d.ts.map +0 -1
- package/cjs/type_plus/branch/$input_options.d.ts.map +0 -1
- package/cjs/type_plus/branch/$input_options.js.map +0 -1
- package/cjs/type_plus/branch/$is_distributive.d.ts +0 -6
- package/cjs/type_plus/branch/$is_distributive.d.ts.map +0 -1
- package/cjs/type_plus/branch/$is_distributive.js +0 -3
- package/cjs/type_plus/branch/$is_distributive.js.map +0 -1
- package/cjs/type_plus/branch/$override.d.ts +0 -21
- package/cjs/type_plus/branch/$override.d.ts.map +0 -1
- package/cjs/type_plus/branch/$override.js +0 -3
- package/cjs/type_plus/branch/$override.js.map +0 -1
- package/cjs/type_plus/branch/$resolve_branch.d.ts +0 -29
- package/cjs/type_plus/branch/$resolve_branch.d.ts.map +0 -1
- package/cjs/type_plus/branch/$resolve_branch.js.map +0 -1
- package/cjs/type_plus/branch/$select.d.ts +0 -77
- package/cjs/type_plus/branch/$select.d.ts.map +0 -1
- package/cjs/type_plus/branch/$select.js +0 -3
- package/cjs/type_plus/branch/$select.js.map +0 -1
- package/cjs/type_plus/branch/$select_invert.d.ts +0 -75
- package/cjs/type_plus/branch/$select_invert.d.ts.map +0 -1
- package/cjs/type_plus/branch/$select_invert.js +0 -3
- package/cjs/type_plus/branch/$select_invert.js.map +0 -1
- package/cjs/type_plus/branch/$select_invert_strict.d.ts +0 -75
- package/cjs/type_plus/branch/$select_invert_strict.d.ts.map +0 -1
- package/cjs/type_plus/branch/$select_invert_strict.js +0 -3
- package/cjs/type_plus/branch/$select_invert_strict.js.map +0 -1
- package/cjs/type_plus/branch/$select_strict.d.ts +0 -76
- package/cjs/type_plus/branch/$select_strict.d.ts.map +0 -1
- package/cjs/type_plus/branch/$select_strict.js +0 -3
- package/cjs/type_plus/branch/$select_strict.js.map +0 -1
- package/cjs/type_plus/branch/$selection.d.ts +0 -127
- package/cjs/type_plus/branch/$selection.d.ts.map +0 -1
- package/cjs/type_plus/branch/$selection.js.map +0 -1
- package/cjs/type_plus/branch/$selection_options.d.ts +0 -37
- package/cjs/type_plus/branch/$selection_options.d.ts.map +0 -1
- package/cjs/type_plus/branch/$selection_options.js +0 -3
- package/cjs/type_plus/branch/$selection_options.js.map +0 -1
- package/cjs/unknown/unknown.d.ts +0 -55
- package/cjs/unknown/unknown.d.ts.map +0 -1
- package/cjs/unknown/unknown.js +0 -3
- package/cjs/unknown/unknown.js.map +0 -1
- package/esm/any/any.d.ts +0 -49
- package/esm/any/any.d.ts.map +0 -1
- package/esm/any/any.js +0 -2
- package/esm/any/any.js.map +0 -1
- package/esm/binary/Bit.d.ts +0 -6
- package/esm/binary/Bit.d.ts.map +0 -1
- package/esm/binary/Bit.js +0 -2
- package/esm/binary/Bit.js.map +0 -1
- package/esm/binary/index.d.ts +0 -3
- package/esm/binary/index.d.ts.map +0 -1
- package/esm/binary/index.js +0 -3
- package/esm/binary/index.js.map +0 -1
- package/esm/never/never.d.ts +0 -75
- package/esm/never/never.d.ts.map +0 -1
- package/esm/never/never.js +0 -2
- package/esm/never/never.js.map +0 -1
- package/esm/predicates/logical.d.ts +0 -5
- package/esm/predicates/logical.d.ts.map +0 -1
- package/esm/type/failed.d.ts.map +0 -1
- package/esm/type/no_infer.d.ts.map +0 -1
- package/esm/type_plus/$equality.d.ts +0 -12
- package/esm/type_plus/$equality.d.ts.map +0 -1
- package/esm/type_plus/$equality.js +0 -2
- package/esm/type_plus/$equality.js.map +0 -1
- package/esm/type_plus/$error.d.ts +0 -8
- package/esm/type_plus/$error.d.ts.map +0 -1
- package/esm/type_plus/$infer_error.d.ts.map +0 -1
- package/esm/type_plus/$infer_error.js.map +0 -1
- package/esm/type_plus/$merge_options.d.ts +0 -11
- package/esm/type_plus/$merge_options.d.ts.map +0 -1
- package/esm/type_plus/$merge_options.js.map +0 -1
- package/esm/type_plus/$resolve_options.d.ts.map +0 -1
- package/esm/type_plus/$resolve_options.js.map +0 -1
- package/esm/type_plus/$special_type.d.ts +0 -19
- package/esm/type_plus/$special_type.d.ts.map +0 -1
- package/esm/type_plus/$special_type.js +0 -2
- package/esm/type_plus/$special_type.js.map +0 -1
- package/esm/type_plus/$type.d.ts +0 -11
- package/esm/type_plus/$type.d.ts.map +0 -1
- package/esm/type_plus/branch/$branch.d.ts.map +0 -1
- package/esm/type_plus/branch/$branch.js.map +0 -1
- package/esm/type_plus/branch/$distributive.d.ts +0 -19
- package/esm/type_plus/branch/$distributive.d.ts.map +0 -1
- package/esm/type_plus/branch/$distributive.js.map +0 -1
- package/esm/type_plus/branch/$exact.d.ts +0 -21
- package/esm/type_plus/branch/$exact.d.ts.map +0 -1
- package/esm/type_plus/branch/$input_options.d.ts.map +0 -1
- package/esm/type_plus/branch/$input_options.js.map +0 -1
- package/esm/type_plus/branch/$is_distributive.d.ts +0 -6
- package/esm/type_plus/branch/$is_distributive.d.ts.map +0 -1
- package/esm/type_plus/branch/$is_distributive.js +0 -2
- package/esm/type_plus/branch/$is_distributive.js.map +0 -1
- package/esm/type_plus/branch/$override.d.ts +0 -21
- package/esm/type_plus/branch/$override.d.ts.map +0 -1
- package/esm/type_plus/branch/$override.js +0 -2
- package/esm/type_plus/branch/$override.js.map +0 -1
- package/esm/type_plus/branch/$resolve_branch.d.ts +0 -29
- package/esm/type_plus/branch/$resolve_branch.d.ts.map +0 -1
- package/esm/type_plus/branch/$resolve_branch.js.map +0 -1
- package/esm/type_plus/branch/$select.d.ts +0 -77
- package/esm/type_plus/branch/$select.d.ts.map +0 -1
- package/esm/type_plus/branch/$select.js +0 -2
- package/esm/type_plus/branch/$select.js.map +0 -1
- package/esm/type_plus/branch/$select_invert.d.ts +0 -75
- package/esm/type_plus/branch/$select_invert.d.ts.map +0 -1
- package/esm/type_plus/branch/$select_invert.js +0 -2
- package/esm/type_plus/branch/$select_invert.js.map +0 -1
- package/esm/type_plus/branch/$select_invert_strict.d.ts +0 -75
- package/esm/type_plus/branch/$select_invert_strict.d.ts.map +0 -1
- package/esm/type_plus/branch/$select_invert_strict.js +0 -2
- package/esm/type_plus/branch/$select_invert_strict.js.map +0 -1
- package/esm/type_plus/branch/$select_strict.d.ts +0 -76
- package/esm/type_plus/branch/$select_strict.d.ts.map +0 -1
- package/esm/type_plus/branch/$select_strict.js +0 -2
- package/esm/type_plus/branch/$select_strict.js.map +0 -1
- package/esm/type_plus/branch/$selection.d.ts +0 -127
- package/esm/type_plus/branch/$selection.d.ts.map +0 -1
- package/esm/type_plus/branch/$selection.js.map +0 -1
- package/esm/type_plus/branch/$selection_options.d.ts +0 -37
- package/esm/type_plus/branch/$selection_options.d.ts.map +0 -1
- package/esm/type_plus/branch/$selection_options.js +0 -2
- package/esm/type_plus/branch/$selection_options.js.map +0 -1
- package/esm/unknown/unknown.d.ts +0 -55
- package/esm/unknown/unknown.d.ts.map +0 -1
- package/esm/unknown/unknown.js +0 -2
- package/esm/unknown/unknown.js.map +0 -1
- package/src/any/any.ts +0 -46
- package/src/binary/Bit.ts +0 -6
- package/src/binary/index.ts +0 -2
- package/src/never/never.ts +0 -78
- package/src/predicates/logical.ts +0 -19
- package/src/type/readme.md +0 -36
- package/src/type_plus/$equality.ts +0 -12
- package/src/type_plus/$error.ts +0 -8
- package/src/type_plus/$merge_options.ts +0 -8
- package/src/type_plus/$special_type.ts +0 -26
- package/src/type_plus/$type.ts +0 -10
- package/src/type_plus/branch/$distributive.ts +0 -19
- package/src/type_plus/branch/$exact.ts +0 -28
- package/src/type_plus/branch/$is_distributive.ts +0 -15
- package/src/type_plus/branch/$override.ts +0 -22
- package/src/type_plus/branch/$resolve_branch.ts +0 -71
- package/src/type_plus/branch/$select.ts +0 -89
- package/src/type_plus/branch/$select_invert.ts +0 -83
- package/src/type_plus/branch/$select_invert_strict.ts +0 -83
- package/src/type_plus/branch/$select_strict.ts +0 -88
- package/src/type_plus/branch/$selection.ts +0 -134
- package/src/type_plus/branch/$selection_options.ts +0 -36
- package/src/type_plus/readme.md +0 -25
- package/src/unknown/unknown.ts +0 -57
- /package/cjs/{type_plus → $type}/$resolve_options.js +0 -0
- /package/cjs/{type_plus → $type}/$type.js +0 -0
- /package/cjs/{type_plus → $type}/branch/$branch.js +0 -0
- /package/cjs/{type_plus → $type}/branch/$input_options.js +0 -0
- /package/cjs/{type_plus → $type}/branch/$resolve_branch.js +0 -0
- /package/cjs/{type_plus → $type}/branch/$selection.js +0 -0
- /package/cjs/{type_plus/branch → $type/distributive}/$distributive.js +0 -0
- /package/cjs/{type_plus → $type/errors}/$error.js +0 -0
- /package/cjs/{type_plus → $type/errors}/$infer_error.js +0 -0
- /package/cjs/{type → $type/errors}/failed.js +0 -0
- /package/cjs/{type_plus/branch → $type/exact}/$exact.js +0 -0
- /package/cjs/{type_plus → $type/utils}/$merge_options.js +0 -0
- /package/cjs/{predicates → logical}/logical.js +0 -0
- /package/cjs/{type → utils}/no_infer.js +0 -0
- /package/esm/{type_plus → $type}/$resolve_options.js +0 -0
- /package/esm/{type_plus → $type}/$type.js +0 -0
- /package/esm/{type_plus → $type}/branch/$branch.js +0 -0
- /package/esm/{type_plus → $type}/branch/$input_options.js +0 -0
- /package/esm/{type_plus → $type}/branch/$resolve_branch.js +0 -0
- /package/esm/{type_plus → $type}/branch/$selection.js +0 -0
- /package/esm/{type_plus/branch → $type/distributive}/$distributive.js +0 -0
- /package/esm/{type_plus → $type/errors}/$error.js +0 -0
- /package/esm/{type_plus → $type/errors}/$infer_error.js +0 -0
- /package/esm/{type → $type/errors}/failed.js +0 -0
- /package/esm/{type_plus/branch → $type/exact}/$exact.js +0 -0
- /package/esm/{type_plus → $type/utils}/$merge_options.js +0 -0
- /package/esm/{predicates → logical}/logical.js +0 -0
- /package/esm/{type → utils}/no_infer.js +0 -0
package/src/object/merge.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import type { $Never } from '../$type/special/$never.js'
|
|
1
2
|
import type { IsAny } from '../any/is_any.js'
|
|
2
3
|
import type { NonComposableTypes } from '../composable_types.js'
|
|
4
|
+
import type { Or } from '../logical/logical.js'
|
|
3
5
|
import type { IsNever } from '../never/is_never.js'
|
|
4
6
|
import type { IsNotNever } from '../never/is_not_never.js'
|
|
5
|
-
import type { $Never } from '../never/never.js'
|
|
6
7
|
import type { IsLiteral } from '../predicates/literal.js'
|
|
7
|
-
import type { Or } from '../predicates/logical.js'
|
|
8
|
-
import type { AnyRecord } from './any_record.js'
|
|
9
8
|
import type { IsDisjoint } from './IsDisjoint.js'
|
|
10
9
|
import type { KeyTypes } from './KeyTypes.js'
|
|
10
|
+
import type { AnyRecord } from './any_record.js'
|
|
11
11
|
import type { OptionalKeys } from './optional_key.js'
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -29,56 +29,60 @@ export type Merge<
|
|
|
29
29
|
> = Or<
|
|
30
30
|
IsAny<A>,
|
|
31
31
|
IsAny<B>,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
?
|
|
43
|
-
?
|
|
44
|
-
|
|
45
|
-
?
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
32
|
+
{
|
|
33
|
+
$then: any
|
|
34
|
+
$else: Or<
|
|
35
|
+
IsNever<A>,
|
|
36
|
+
IsNever<B>,
|
|
37
|
+
{
|
|
38
|
+
$then: never
|
|
39
|
+
$else: IsDisjoint<A, B> extends true
|
|
40
|
+
? A & B
|
|
41
|
+
: [keyof A, keyof B] extends [infer KA extends KeyTypes, infer KB extends KeyTypes]
|
|
42
|
+
? IsLiteral<KA> extends true
|
|
43
|
+
? IsLiteral<KB> extends true
|
|
44
|
+
? [OptionalKeys<A>, OptionalKeys<B>] extends [infer PKA extends KeyTypes, infer PKB extends KeyTypes]
|
|
45
|
+
? // property is optional when both A[k] and B[k] are optional
|
|
46
|
+
(IsNotNever<PKA & PKB, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
47
|
+
? { [k in R]?: A[k] | B[k] }
|
|
48
|
+
: unknown) &
|
|
49
|
+
// properties only in A excluding partials is A[k]
|
|
50
|
+
(IsNotNever<Exclude<KA, PKA | KB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
51
|
+
? { [k in R]: A[k] }
|
|
52
|
+
: unknown) &
|
|
53
|
+
// properties only in B excluding partials is B[k]
|
|
54
|
+
(IsNotNever<Exclude<KB, PKB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
55
|
+
? { [k in R]: B[k] }
|
|
56
|
+
: unknown) &
|
|
57
|
+
// properties is required in A but optional in B is unionized without undefined
|
|
58
|
+
(IsNotNever<Exclude<KA & PKB, PKA>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
59
|
+
? { [k in R]: A[k] | Exclude<B[k], undefined> }
|
|
60
|
+
: unknown)
|
|
61
|
+
: never
|
|
62
|
+
: (IsNotNever<Exclude<KA, KA & KB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
49
63
|
? { [k in R]: A[k] }
|
|
50
64
|
: unknown) &
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
65
|
+
(IsNotNever<Exclude<KB, KA & KB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
66
|
+
? { [k in R]: B[k] }
|
|
67
|
+
: unknown) &
|
|
68
|
+
(IsNotNever<KA & KB, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
69
|
+
? { [k in R]: A[k] | B[k] }
|
|
70
|
+
: unknown)
|
|
71
|
+
: IsLiteral<KB> extends true
|
|
72
|
+
? { [k in Exclude<KA, KB>]: A[k] } & { [k in keyof B]: B[k] }
|
|
73
|
+
: (IsNotNever<Exclude<KA, KA & KB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
74
|
+
? { [k in R]: A[k] }
|
|
54
75
|
: unknown) &
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
: unknown) &
|
|
66
|
-
(IsNotNever<KA & KB, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
67
|
-
? { [k in R]: A[k] | B[k] }
|
|
68
|
-
: unknown)
|
|
69
|
-
: IsLiteral<KB> extends true
|
|
70
|
-
? { [k in Exclude<KA, KB>]: A[k] } & { [k in keyof B]: B[k] }
|
|
71
|
-
: (IsNotNever<Exclude<KA, KA & KB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
72
|
-
? { [k in R]: A[k] }
|
|
73
|
-
: unknown) &
|
|
74
|
-
(IsNotNever<Exclude<KB, KA & KB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
75
|
-
? { [k in R]: B[k] }
|
|
76
|
-
: unknown) &
|
|
77
|
-
(IsNotNever<KA & KB, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
78
|
-
? { [k in R]: A[k] | B[k] }
|
|
79
|
-
: unknown)
|
|
80
|
-
: never
|
|
81
|
-
>
|
|
76
|
+
(IsNotNever<Exclude<KB, KA & KB>, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
77
|
+
? { [k in R]: B[k] }
|
|
78
|
+
: unknown) &
|
|
79
|
+
(IsNotNever<KA & KB, { selection: 'filter' }> extends infer R extends KeyTypes
|
|
80
|
+
? { [k in R]: A[k] | B[k] }
|
|
81
|
+
: unknown)
|
|
82
|
+
: never
|
|
83
|
+
}
|
|
84
|
+
>
|
|
85
|
+
}
|
|
82
86
|
>
|
|
83
87
|
|
|
84
88
|
export namespace Merge {
|
package/src/object/record.ts
CHANGED
package/src/object/split.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { Partial } from './Partial.js'
|
|
1
2
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
3
|
import type { AnyRecord } from './any_record.js'
|
|
3
4
|
import type { Omit } from './omit.js'
|
|
4
|
-
import type { Partial } from './Partial.js'
|
|
5
5
|
import { reduceByKey } from './reduceKey.js'
|
|
6
6
|
|
|
7
7
|
type Splitter<T extends AnyRecord> = Partial<{ [k in keyof T]: T[k] | undefined }>
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import type { $
|
|
2
|
-
import type { $
|
|
3
|
-
import type { $
|
|
4
|
-
import type { $
|
|
5
|
-
import type { $
|
|
6
|
-
import type { $
|
|
7
|
-
import type { $
|
|
8
|
-
import type { $
|
|
9
|
-
import type { $SelectionOptions } from '../type_plus/branch/$selection_options.js'
|
|
10
|
-
import type { $Unknown } from '../unknown/unknown.js'
|
|
1
|
+
import type { $InputOptions } from '../$type/branch/$input_options.js'
|
|
2
|
+
import type { $ResolveBranch } from '../$type/branch/$resolve_branch.js'
|
|
3
|
+
import type { $Else, $Selection, $Then } from '../$type/branch/$selection.js'
|
|
4
|
+
import type { $Distributive } from '../$type/distributive/$distributive.js'
|
|
5
|
+
import type { $Any } from '../$type/special/$any.js'
|
|
6
|
+
import type { $Never } from '../$type/special/$never.js'
|
|
7
|
+
import type { $Special } from '../$type/special/$special.js'
|
|
8
|
+
import type { $Unknown } from '../$type/special/$unknown.js'
|
|
11
9
|
|
|
12
10
|
/**
|
|
13
11
|
* 🎭 *predicate*
|
|
@@ -56,18 +54,18 @@ import type { $Unknown } from '../unknown/unknown.js'
|
|
|
56
54
|
* type R = Assignable<never, any, { $never: 1 }> // 1
|
|
57
55
|
* ```
|
|
58
56
|
*/
|
|
59
|
-
export type Assignable<A, B, $O extends Assignable.$Options = {}> = $
|
|
57
|
+
export type Assignable<A, B, $O extends Assignable.$Options = {}> = $Special<
|
|
60
58
|
B,
|
|
61
59
|
{
|
|
62
|
-
$any: $ResolveBranch
|
|
63
|
-
$unknown: $ResolveBranch
|
|
64
|
-
$never: $ResolveBranch
|
|
65
|
-
$else: $
|
|
60
|
+
$any: $ResolveBranch<$O, [0 extends 1 & A ? $Any : unknown, $Then], A>
|
|
61
|
+
$unknown: $ResolveBranch<$O, [[A, unknown] extends [unknown, A] ? $Unknown : unknown, $Then], A>
|
|
62
|
+
$never: $ResolveBranch<$O, [A, never] extends [never, A] ? [$Never, $Then] : [$Else], A>
|
|
63
|
+
$else: $Special<
|
|
66
64
|
A,
|
|
67
65
|
{
|
|
68
|
-
$any: $ResolveBranch
|
|
69
|
-
$unknown: $ResolveBranch
|
|
70
|
-
$never: $ResolveBranch
|
|
66
|
+
$any: $ResolveBranch<$O, [$Any, $Then], A>
|
|
67
|
+
$unknown: $ResolveBranch<$O, [$Unknown, $Then], A>
|
|
68
|
+
$never: $ResolveBranch<$O, [$Never, $Then], A>
|
|
71
69
|
$else: Assignable.$<A, B, $O>
|
|
72
70
|
}
|
|
73
71
|
>
|
|
@@ -75,9 +73,9 @@ export type Assignable<A, B, $O extends Assignable.$Options = {}> = $SpecialType
|
|
|
75
73
|
>
|
|
76
74
|
|
|
77
75
|
export namespace Assignable {
|
|
78
|
-
export type $Options = $
|
|
79
|
-
export type $Default = $
|
|
80
|
-
export type $Branch<$O extends $
|
|
76
|
+
export type $Options = $Selection.Options & $Distributive.Options & $InputOptions<$Any | $Unknown | $Never>
|
|
77
|
+
export type $Default = $Selection.Predicate & $Distributive.Default
|
|
78
|
+
export type $Branch<$O extends $Distributive.Options = {}> = $Selection.Branch & $O
|
|
81
79
|
|
|
82
80
|
/**
|
|
83
81
|
* 🧰 *type util*
|
|
@@ -89,13 +87,13 @@ export namespace Assignable {
|
|
|
89
87
|
*
|
|
90
88
|
* It is suitable for building custom types.
|
|
91
89
|
*/
|
|
92
|
-
export type $<A, B, $O extends $UtilOptions> = $
|
|
90
|
+
export type $<A, B, $O extends $UtilOptions> = $Distributive.Parse<
|
|
93
91
|
$O,
|
|
94
92
|
{
|
|
95
|
-
$then: A extends B ? $ResolveBranch
|
|
96
|
-
$else: [A] extends [B] ? $ResolveBranch
|
|
93
|
+
$then: A extends B ? $ResolveBranch<$O, [$Then], A> : $ResolveBranch<$O, [$Else], A>
|
|
94
|
+
$else: [A] extends [B] ? $ResolveBranch<$O, [$Then], A> : $ResolveBranch<$O, [$Else], A>
|
|
97
95
|
}
|
|
98
96
|
>
|
|
99
97
|
|
|
100
|
-
export type $UtilOptions = $
|
|
98
|
+
export type $UtilOptions = $Selection.Options & $Distributive.Options
|
|
101
99
|
}
|
package/src/predicates/index.ts
CHANGED
|
@@ -3,4 +3,4 @@ export type { Extendable, IsExtend, IsNotExtend, NotExtendable } from './Extends
|
|
|
3
3
|
export type { If } from './If.js'
|
|
4
4
|
export type { IsEmptyObject } from './IsEmptyObject.js'
|
|
5
5
|
export type { IsLiteral } from './literal.js'
|
|
6
|
-
export type { And, Not, Or, Xor } from '
|
|
6
|
+
export type { And, Not, Or, Xor } from '../logical/logical.js'
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import type { $
|
|
2
|
-
import type { $
|
|
3
|
-
import type { $
|
|
4
|
-
import type { $
|
|
5
|
-
import type { $
|
|
6
|
-
import type { $
|
|
7
|
-
import type { $
|
|
8
|
-
import type { $
|
|
9
|
-
import type { $SelectionOptions } from '../type_plus/branch/$selection_options.js'
|
|
10
|
-
import type { $Unknown } from '../unknown/unknown.js'
|
|
1
|
+
import type { $InputOptions } from '../$type/branch/$input_options.js'
|
|
2
|
+
import type { $ResolveBranch } from '../$type/branch/$resolve_branch.js'
|
|
3
|
+
import type { $Else, $Selection, $Then } from '../$type/branch/$selection.js'
|
|
4
|
+
import type { $Distributive } from '../$type/distributive/$distributive.js'
|
|
5
|
+
import type { $Any } from '../$type/special/$any.js'
|
|
6
|
+
import type { $Never } from '../$type/special/$never.js'
|
|
7
|
+
import type { $Special } from '../$type/special/$special.js'
|
|
8
|
+
import type { $Unknown } from '../$type/special/$unknown.js'
|
|
11
9
|
|
|
12
10
|
/**
|
|
13
11
|
* 🎭 *predicate*
|
|
14
12
|
*
|
|
15
|
-
* Validate if `A` is not assignable to `B`.
|
|
13
|
+
* Validate if `A` is not assignable to `B`.]
|
|
16
14
|
*
|
|
17
15
|
* @example
|
|
18
16
|
* ```ts
|
|
@@ -56,18 +54,18 @@ import type { $Unknown } from '../unknown/unknown.js'
|
|
|
56
54
|
* type R = NotAssignable<never, any, { $never: 1 }> // 1
|
|
57
55
|
* ```
|
|
58
56
|
*/
|
|
59
|
-
export type NotAssignable<A, B, $O extends NotAssignable.$Options = {}> = $
|
|
57
|
+
export type NotAssignable<A, B, $O extends NotAssignable.$Options = {}> = $Special<
|
|
60
58
|
B,
|
|
61
59
|
{
|
|
62
|
-
$any: $ResolveBranch
|
|
63
|
-
$unknown: $ResolveBranch
|
|
64
|
-
$never: $ResolveBranch
|
|
65
|
-
$else: $
|
|
60
|
+
$any: $ResolveBranch<$O, [0 extends 1 & A ? $Any : unknown, $Else], A>
|
|
61
|
+
$unknown: $ResolveBranch<$O, [[A, unknown] extends [unknown, A] ? $Unknown : unknown, $Else], A>
|
|
62
|
+
$never: $ResolveBranch<$O, [A, never] extends [never, A] ? [$Never, $Else] : [$Then], A>
|
|
63
|
+
$else: $Special<
|
|
66
64
|
A,
|
|
67
65
|
{
|
|
68
|
-
$any: $ResolveBranch
|
|
69
|
-
$unknown: $ResolveBranch
|
|
70
|
-
$never: $ResolveBranch
|
|
66
|
+
$any: $ResolveBranch<$O, [$Any, $Else], A>
|
|
67
|
+
$unknown: $ResolveBranch<$O, [$Unknown, $Else], A>
|
|
68
|
+
$never: $ResolveBranch<$O, [$Never, $Else], A>
|
|
71
69
|
$else: NotAssignable.$<A, B, $O>
|
|
72
70
|
}
|
|
73
71
|
>
|
|
@@ -75,9 +73,9 @@ export type NotAssignable<A, B, $O extends NotAssignable.$Options = {}> = $Speci
|
|
|
75
73
|
>
|
|
76
74
|
|
|
77
75
|
export namespace NotAssignable {
|
|
78
|
-
export type $Options = $
|
|
79
|
-
export type $Default = $
|
|
80
|
-
export type $Branch<$O extends $
|
|
76
|
+
export type $Options = $Selection.Options & $Distributive.Options & $InputOptions<$Any | $Unknown | $Never>
|
|
77
|
+
export type $Default = $Selection.Predicate & $Distributive.Default
|
|
78
|
+
export type $Branch<$O extends $Distributive.Options = {}> = $Selection.Branch & $O
|
|
81
79
|
|
|
82
80
|
/**
|
|
83
81
|
* 🧰 *type util*
|
|
@@ -89,13 +87,13 @@ export namespace NotAssignable {
|
|
|
89
87
|
*
|
|
90
88
|
* It is suitable for building custom types.
|
|
91
89
|
*/
|
|
92
|
-
export type $<A, B, $O extends $UtilOptions> = $
|
|
90
|
+
export type $<A, B, $O extends $UtilOptions> = $Distributive.Parse<
|
|
93
91
|
$O,
|
|
94
92
|
{
|
|
95
|
-
$then: A extends B ? $ResolveBranch
|
|
96
|
-
$else: [A] extends [B] ? $ResolveBranch
|
|
93
|
+
$then: A extends B ? $ResolveBranch<$O, [$Else], A> : $ResolveBranch<$O, [$Then], A>
|
|
94
|
+
$else: [A] extends [B] ? $ResolveBranch<$O, [$Else], A> : $ResolveBranch<$O, [$Then], A>
|
|
97
95
|
}
|
|
98
96
|
>
|
|
99
97
|
|
|
100
|
-
export type $UtilOptions = $
|
|
98
|
+
export type $UtilOptions = $Selection.Options & $Distributive.Options
|
|
101
99
|
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import type { $ResolveOptions } from '../$type/$resolve_options.js'
|
|
2
|
+
import type { $InputOptions } from '../$type/branch/$input_options.js'
|
|
3
|
+
import type { $ResolveBranch } from '../$type/branch/$resolve_branch.js'
|
|
4
|
+
import type { $Else, $Selection, $Then } from '../$type/branch/$selection.js'
|
|
5
|
+
import type { $Distributive } from '../$type/distributive/$distributive.js'
|
|
6
|
+
import type { $Exact } from '../$type/exact/$exact.js'
|
|
7
|
+
import type { $Any } from '../$type/special/$any.js'
|
|
8
|
+
import type { $Never } from '../$type/special/$never.js'
|
|
9
|
+
import type { $Special } from '../$type/special/$special.js'
|
|
10
|
+
import type { $Unknown } from '../$type/special/$unknown.js'
|
|
11
|
+
import type { $Void } from '../$type/special/$void.js'
|
|
12
|
+
import type { $MergeOptions } from '../$type/utils/$merge_options.js'
|
|
1
13
|
import type { NotAssignable } from '../predicates/not_assignable.js'
|
|
2
|
-
import type { $Equality } from '../type_plus/$equality.js'
|
|
3
|
-
import type { $MergeOptions } from '../type_plus/$merge_options.js'
|
|
4
|
-
import type { $ResolveOptions } from '../type_plus/$resolve_options.js'
|
|
5
|
-
import type { $SpecialType } from '../type_plus/$special_type.js'
|
|
6
|
-
import type { $ExactOptions } from '../type_plus/branch/$exact.js'
|
|
7
|
-
import type { $IsDistributive } from '../type_plus/branch/$is_distributive.js'
|
|
8
|
-
import type { $ResolveBranch } from '../type_plus/branch/$resolve_branch.js'
|
|
9
|
-
import type { $Else, $Then } from '../type_plus/branch/$selection.js'
|
|
10
|
-
import type { $SelectionOptions } from '../type_plus/branch/$selection_options.js'
|
|
11
14
|
|
|
12
15
|
/**
|
|
13
16
|
* 🎭 *predicate*
|
|
@@ -57,20 +60,23 @@ import type { $SelectionOptions } from '../type_plus/branch/$selection_options.j
|
|
|
57
60
|
* type R = IsNotString<bigint, $IsNotString.$Branch> // $Then
|
|
58
61
|
* ```
|
|
59
62
|
*/
|
|
60
|
-
export type IsNotString<T, $O extends IsNotString.$Options = {}> = $
|
|
63
|
+
export type IsNotString<T, $O extends IsNotString.$Options = {}> = $Special<
|
|
61
64
|
T,
|
|
62
65
|
$MergeOptions<
|
|
63
66
|
$O,
|
|
64
67
|
{
|
|
65
|
-
$then: $ResolveBranch
|
|
68
|
+
$then: $ResolveBranch<$O, [$Then], T>
|
|
66
69
|
$else: IsNotString.$<T, $O>
|
|
67
70
|
}
|
|
68
71
|
>
|
|
69
72
|
>
|
|
70
73
|
|
|
71
74
|
export namespace IsNotString {
|
|
72
|
-
export type $Options = $
|
|
73
|
-
|
|
75
|
+
export type $Options = $Selection.Options &
|
|
76
|
+
$Distributive.Options &
|
|
77
|
+
$Exact.Options &
|
|
78
|
+
$InputOptions<$Any | $Unknown | $Never | $Void>
|
|
79
|
+
export type $Branch<$O extends $Options = {}> = $Selection.Branch<$O>
|
|
74
80
|
|
|
75
81
|
/**
|
|
76
82
|
* 🧰 *type util*
|
|
@@ -81,18 +87,18 @@ export namespace IsNotString {
|
|
|
81
87
|
* It does not check against special types.
|
|
82
88
|
*/
|
|
83
89
|
export type $<T, $O extends $UtilOptions> = $ResolveOptions<[$O['exact'], false]> extends true
|
|
84
|
-
? $
|
|
90
|
+
? $Distributive.Parse<$O, { $then: _D<T, $O>; $else: _N<T, $O> }>
|
|
85
91
|
: NotAssignable.$<T, string, $O>
|
|
86
|
-
export type $UtilOptions = NotAssignable.$UtilOptions & $
|
|
92
|
+
export type $UtilOptions = NotAssignable.$UtilOptions & $Exact.Options
|
|
87
93
|
|
|
88
|
-
export type _D<T, $O extends $
|
|
94
|
+
export type _D<T, $O extends $Selection.Options> = T extends string & infer U
|
|
89
95
|
? U extends string
|
|
90
|
-
? $ResolveBranch
|
|
91
|
-
: $ResolveBranch
|
|
92
|
-
: $ResolveBranch
|
|
93
|
-
export type _N<T, $O extends $
|
|
96
|
+
? $ResolveBranch<$O, [$Then], T>
|
|
97
|
+
: $ResolveBranch<$O, [$Else]>
|
|
98
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
99
|
+
export type _N<T, $O extends $Selection.Options> = [T] extends [string & infer U]
|
|
94
100
|
? U extends string
|
|
95
|
-
? $ResolveBranch
|
|
96
|
-
: $ResolveBranch
|
|
97
|
-
: $ResolveBranch
|
|
101
|
+
? $ResolveBranch<$O, [$Then], T>
|
|
102
|
+
: $ResolveBranch<$O, [$Else]>
|
|
103
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
98
104
|
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import type { $ResolveOptions } from '../$type/$resolve_options.js'
|
|
2
|
+
import type { $InputOptions } from '../$type/branch/$input_options.js'
|
|
3
|
+
import type { $ResolveBranch } from '../$type/branch/$resolve_branch.js'
|
|
4
|
+
import type { $Else, $Selection, $Then } from '../$type/branch/$selection.js'
|
|
5
|
+
import type { $Distributive } from '../$type/distributive/$distributive.js'
|
|
6
|
+
import type { $Exact } from '../$type/exact/$exact.js'
|
|
7
|
+
import type { $Any } from '../$type/special/$any.js'
|
|
8
|
+
import type { $Never } from '../$type/special/$never.js'
|
|
9
|
+
import type { $Special } from '../$type/special/$special.js'
|
|
10
|
+
import type { $Unknown } from '../$type/special/$unknown.js'
|
|
11
|
+
import type { $Void } from '../$type/special/$void.js'
|
|
12
|
+
import type { $MergeOptions } from '../$type/utils/$merge_options.js'
|
|
1
13
|
import type { Assignable } from '../predicates/assignable.js'
|
|
2
|
-
import type { $Equality } from '../type_plus/$equality.js'
|
|
3
|
-
import type { $MergeOptions } from '../type_plus/$merge_options.js'
|
|
4
|
-
import type { $ResolveOptions } from '../type_plus/$resolve_options.js'
|
|
5
|
-
import type { $SpecialType } from '../type_plus/$special_type.js'
|
|
6
|
-
import type { $ExactDefault, $ExactOptions } from '../type_plus/branch/$exact.js'
|
|
7
|
-
import type { $IsDistributive } from '../type_plus/branch/$is_distributive.js'
|
|
8
|
-
import type { $ResolveBranch } from '../type_plus/branch/$resolve_branch.js'
|
|
9
|
-
import type { $Else, $Then } from '../type_plus/branch/$selection.js'
|
|
10
|
-
import type { $SelectionOptions } from '../type_plus/branch/$selection_options.js'
|
|
11
14
|
import type { _StringType } from './_string_type.js'
|
|
12
15
|
|
|
13
16
|
/**
|
|
@@ -68,20 +71,23 @@ import type { _StringType } from './_string_type.js'
|
|
|
68
71
|
* type R = IsNotStringLiteral<string, $IsNotStringLiteral.$Branch> // $Then
|
|
69
72
|
* ```
|
|
70
73
|
*/
|
|
71
|
-
export type IsNotStringLiteral<T, $O extends IsNotStringLiteral.$Options = {}> = $
|
|
74
|
+
export type IsNotStringLiteral<T, $O extends IsNotStringLiteral.$Options = {}> = $Special<
|
|
72
75
|
T,
|
|
73
76
|
$MergeOptions<
|
|
74
77
|
$O,
|
|
75
78
|
{
|
|
76
|
-
$then: $ResolveBranch
|
|
79
|
+
$then: $ResolveBranch<$O, [$Then], T>
|
|
77
80
|
$else: IsNotStringLiteral.$<T, $O>
|
|
78
81
|
}
|
|
79
82
|
>
|
|
80
83
|
>
|
|
81
84
|
|
|
82
85
|
export namespace IsNotStringLiteral {
|
|
83
|
-
export type $Options = $
|
|
84
|
-
|
|
86
|
+
export type $Options = $Selection.Options &
|
|
87
|
+
$Distributive.Options &
|
|
88
|
+
$Exact.Options &
|
|
89
|
+
$InputOptions<$Any | $Unknown | $Never | $Void>
|
|
90
|
+
export type $Branch<$O extends $Options = {}> = $Selection.Branch<$O>
|
|
85
91
|
|
|
86
92
|
/**
|
|
87
93
|
* 🧰 *type util*
|
|
@@ -91,37 +97,37 @@ export namespace IsNotStringLiteral {
|
|
|
91
97
|
* This is a type util for building custom types.
|
|
92
98
|
* It does not check against special types.
|
|
93
99
|
*/
|
|
94
|
-
export type $<T, $O extends $UtilOptions> = $ResolveOptions<[$O['exact'], $
|
|
95
|
-
? $
|
|
96
|
-
: $
|
|
100
|
+
export type $<T, $O extends $UtilOptions> = $ResolveOptions<[$O['exact'], $Exact.Default]> extends true
|
|
101
|
+
? $Distributive.Parse<$O, { $then: _ED<T, $O>; $else: _EN<T, $O> }>
|
|
102
|
+
: $Distributive.Parse<$O, { $then: _D<T, $O>; $else: _N<T, $O> }>
|
|
97
103
|
|
|
98
|
-
export type $UtilOptions = Assignable.$UtilOptions & $
|
|
104
|
+
export type $UtilOptions = Assignable.$UtilOptions & $Exact.Options
|
|
99
105
|
|
|
100
|
-
export type _ED<T, $O extends $
|
|
106
|
+
export type _ED<T, $O extends $Selection.Options> = T extends string ? _E<T, $O> : $ResolveBranch<$O, [$Then], T>
|
|
101
107
|
|
|
102
|
-
export type _EN<T, $O extends $
|
|
108
|
+
export type _EN<T, $O extends $Selection.Options> = [T] extends [string] ? _E<T, $O> : $ResolveBranch<$O, [$Then], T>
|
|
103
109
|
|
|
104
|
-
export type _E<T extends string, $O extends $
|
|
110
|
+
export type _E<T extends string, $O extends $Selection.Options> = T extends string
|
|
105
111
|
? _StringType<T> extends infer R
|
|
106
112
|
? R extends 'stringLiteral'
|
|
107
|
-
? $ResolveBranch
|
|
108
|
-
: $ResolveBranch
|
|
113
|
+
? $ResolveBranch<$O, [$Else]>
|
|
114
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
109
115
|
: never
|
|
110
|
-
: $ResolveBranch
|
|
116
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
111
117
|
|
|
112
|
-
export type _D<T, $O extends $
|
|
118
|
+
export type _D<T, $O extends $Selection.Options> = T extends string & infer U
|
|
113
119
|
? _U<T, U, $O>
|
|
114
|
-
: $ResolveBranch
|
|
120
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
115
121
|
|
|
116
|
-
export type _N<T, $O extends $
|
|
122
|
+
export type _N<T, $O extends $Selection.Options> = [T] extends [string & infer U]
|
|
117
123
|
? _U<T, U, $O>
|
|
118
|
-
: $ResolveBranch
|
|
124
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
119
125
|
|
|
120
|
-
export type _U<T, U, $O extends $
|
|
121
|
-
? $ResolveBranch
|
|
126
|
+
export type _U<T, U, $O extends $Selection.Options> = U extends `${any}`
|
|
127
|
+
? $ResolveBranch<$O, [$Else]>
|
|
122
128
|
: U extends Uppercase<infer N>
|
|
123
129
|
? _D<N, $O>
|
|
124
130
|
: U extends Lowercase<infer N>
|
|
125
131
|
? _D<N, $O>
|
|
126
|
-
: $ResolveBranch
|
|
132
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
127
133
|
}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import type { $InputOptions } from '../$type/branch/$input_options.js'
|
|
2
|
+
import type { $ResolveBranch } from '../$type/branch/$resolve_branch.js'
|
|
3
|
+
import type { $Else, $Selection, $Then } from '../$type/branch/$selection.js'
|
|
4
|
+
import type { $Distributive } from '../$type/distributive/$distributive.js'
|
|
5
|
+
import type { $Exact } from '../$type/exact/$exact.js'
|
|
6
|
+
import type { $Any } from '../$type/special/$any.js'
|
|
7
|
+
import type { $Never } from '../$type/special/$never.js'
|
|
8
|
+
import type { $Special } from '../$type/special/$special.js'
|
|
9
|
+
import type { $Unknown } from '../$type/special/$unknown.js'
|
|
10
|
+
import type { $Void } from '../$type/special/$void.js'
|
|
11
|
+
import type { $MergeOptions } from '../$type/utils/$merge_options.js'
|
|
1
12
|
import type { Assignable } from '../predicates/assignable.js'
|
|
2
|
-
import type { $Equality } from '../type_plus/$equality.js'
|
|
3
|
-
import type { $MergeOptions } from '../type_plus/$merge_options.js'
|
|
4
|
-
import type { $SpecialType } from '../type_plus/$special_type.js'
|
|
5
|
-
import type { $IsDistributive } from '../type_plus/branch/$is_distributive.js'
|
|
6
|
-
import type { $ResolveBranch } from '../type_plus/branch/$resolve_branch.js'
|
|
7
|
-
import type { $Else, $Then } from '../type_plus/branch/$selection.js'
|
|
8
13
|
import type { _StringType } from './_string_type.js'
|
|
9
14
|
|
|
10
15
|
/**
|
|
@@ -52,36 +57,39 @@ import type { _StringType } from './_string_type.js'
|
|
|
52
57
|
* type R = IsNotTemplateLiteral<bigint, $IsString.$Branch> // $Then
|
|
53
58
|
* ```
|
|
54
59
|
*/
|
|
55
|
-
export type IsNotTemplateLiteral<T, $O extends IsNotTemplateLiteral.$Options = {}> = $
|
|
60
|
+
export type IsNotTemplateLiteral<T, $O extends IsNotTemplateLiteral.$Options = {}> = $Special<
|
|
56
61
|
T,
|
|
57
62
|
$MergeOptions<
|
|
58
63
|
$O,
|
|
59
64
|
{
|
|
60
|
-
$then: $ResolveBranch
|
|
65
|
+
$then: $ResolveBranch<$O, [$Then], T>
|
|
61
66
|
$else: IsNotTemplateLiteral.$<T, $O>
|
|
62
67
|
}
|
|
63
68
|
>
|
|
64
69
|
>
|
|
65
70
|
|
|
66
71
|
export namespace IsNotTemplateLiteral {
|
|
67
|
-
export type $Options = $
|
|
68
|
-
|
|
72
|
+
export type $Options = $Selection.Options &
|
|
73
|
+
$Distributive.Options &
|
|
74
|
+
$Exact.Options &
|
|
75
|
+
$InputOptions<$Any | $Unknown | $Never | $Void>
|
|
76
|
+
export type $Branch<$O extends $Options = {}> = $Selection.Branch<$O>
|
|
69
77
|
|
|
70
78
|
export type $UtilOptions = Assignable.$UtilOptions
|
|
71
79
|
|
|
72
|
-
export type $<T, $O extends $UtilOptions> = $
|
|
80
|
+
export type $<T, $O extends $UtilOptions> = $Distributive.Parse<$O, { $then: _D<T, $O>; $else: _N<T, $O> }>
|
|
73
81
|
|
|
74
82
|
type _D<T, $O extends $UtilOptions> = T extends string
|
|
75
83
|
? _StringType<T> extends infer R
|
|
76
84
|
? R extends 'templateLiteral'
|
|
77
|
-
? $ResolveBranch
|
|
78
|
-
: $ResolveBranch
|
|
85
|
+
? $ResolveBranch<$O, [$Else]>
|
|
86
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
79
87
|
: never
|
|
80
|
-
: $ResolveBranch
|
|
88
|
+
: $ResolveBranch<$O, [$Then], T>
|
|
81
89
|
|
|
82
90
|
type _N<T, $O extends $UtilOptions> = _D<T, { $then: $Then; $else: $Else }> extends infer R
|
|
83
91
|
? $Then | $Else extends R
|
|
84
|
-
? $ResolveBranch
|
|
85
|
-
: $ResolveBranch
|
|
92
|
+
? $ResolveBranch<$O, [$Then], T>
|
|
93
|
+
: $ResolveBranch<$O, [R], T>
|
|
86
94
|
: never
|
|
87
95
|
}
|