type-plus 7.6.2 → 8.0.0-beta.2
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/any/any.d.ts +49 -0
- package/esm/any/any.d.ts.map +1 -0
- package/esm/any/any.js +2 -0
- package/esm/any/any.js.map +1 -0
- package/esm/any/is_any.d.ts +55 -0
- package/esm/any/is_any.d.ts.map +1 -0
- package/esm/any/is_any.js +2 -0
- package/esm/any/is_any.js.map +1 -0
- package/esm/any/is_not_any.d.ts +55 -0
- package/esm/any/is_not_any.d.ts.map +1 -0
- package/esm/any/is_not_any.js +2 -0
- package/esm/any/is_not_any.js.map +1 -0
- package/esm/array/array.at.d.ts +11 -4
- package/esm/array/array.at.d.ts.map +1 -1
- package/esm/array/array.at.js.map +1 -1
- package/esm/array/array.entries.d.ts +6 -3
- package/esm/array/array.entries.d.ts.map +1 -1
- package/esm/array/array.entries.js.map +1 -1
- package/esm/array/array.find_last.d.ts +5 -2
- package/esm/array/array.find_last.d.ts.map +1 -1
- package/esm/array/array.find_last.js.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.reverse.js.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.some.js.map +1 -1
- package/esm/array/array_plus.common_prop_keys.d.ts +9 -5
- package/esm/array/array_plus.common_prop_keys.d.ts.map +1 -1
- package/esm/array/array_plus.common_prop_keys.js.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.concat.js.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 +4 -3
- package/esm/array/array_plus.drop_match.d.ts.map +1 -1
- package/esm/array/array_plus.drop_match.js.map +1 -1
- package/esm/array/array_plus.element_match.d.ts +15 -12
- package/esm/array/array_plus.element_match.d.ts.map +1 -1
- package/esm/array/array_plus.element_match.js.map +1 -1
- package/esm/array/array_plus.filter.d.ts +28 -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 +17 -14
- package/esm/array/array_plus.find.d.ts.map +1 -1
- package/esm/array/array_plus.find.js.map +1 -1
- package/esm/array/array_plus.index_at.d.ts +42 -0
- package/esm/array/array_plus.index_at.d.ts.map +1 -0
- package/esm/array/array_plus.index_at.js +84 -0
- package/esm/array/array_plus.index_at.js.map +1 -0
- package/esm/array/array_plus.is_index_out_of_bound.d.ts +21 -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 +35 -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.js.map +1 -1
- 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.pad_start.js.map +1 -1
- package/esm/array/array_plus.split_at.d.ts +23 -13
- package/esm/array/array_plus.split_at.d.ts.map +1 -1
- package/esm/array/array_plus.split_at.js.map +1 -1
- package/esm/array/filter.d.ts +2 -2
- package/esm/array/filter.d.ts.map +1 -1
- package/esm/array/filter.js.map +1 -1
- package/esm/array/find_first.d.ts +10 -7
- package/esm/array/find_first.d.ts.map +1 -1
- package/esm/array/find_first.js.map +1 -1
- package/esm/array/head.d.ts +7 -5
- package/esm/array/head.d.ts.map +1 -1
- package/esm/array/head.js.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/intersect_of_props.js.map +1 -1
- package/esm/array/is_array.d.ts +89 -0
- package/esm/array/is_array.d.ts.map +1 -0
- package/esm/array/is_array.js +2 -0
- package/esm/array/is_array.js.map +1 -0
- package/esm/array/is_not_array.d.ts +89 -0
- package/esm/array/is_not_array.d.ts.map +1 -0
- package/esm/array/is_not_array.js +2 -0
- package/esm/array/is_not_array.js.map +1 -0
- package/esm/array/last.d.ts +7 -5
- package/esm/array/last.d.ts.map +1 -1
- package/esm/array/last.js.map +1 -1
- package/esm/array/literal_array.d.ts.map +1 -1
- package/esm/array/literal_array.js.map +1 -1
- package/esm/array/loose_array_type.d.ts +65 -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/pad_start.js.map +1 -1
- package/esm/array/reduce_while.d.ts.map +1 -1
- package/esm/array/reduce_while.js.map +1 -1
- package/esm/array/reverse.d.ts.map +1 -1
- package/esm/array/reverse.js.map +1 -1
- 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_props.js.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/array/union_of_values.js.map +1 -1
- package/esm/assertion/assert_type.d.ts +2 -2
- package/esm/assertion/assert_type.d.ts.map +1 -1
- package/esm/assertion/assert_type.js +44 -47
- package/esm/assertion/assert_type.js.map +1 -1
- package/esm/bigint/cast.d.ts.map +1 -1
- package/esm/bigint/cast.js.map +1 -1
- package/esm/bigint/is_bigint.d.ts +97 -0
- package/esm/bigint/is_bigint.d.ts.map +1 -0
- package/esm/bigint/is_bigint.js +2 -0
- package/esm/bigint/is_bigint.js.map +1 -0
- package/esm/bigint/is_bigint_literal.d.ts +85 -0
- package/esm/bigint/is_bigint_literal.d.ts.map +1 -0
- package/esm/bigint/is_bigint_literal.js +2 -0
- package/esm/bigint/is_bigint_literal.js.map +1 -0
- package/esm/bigint/is_not_bigint.d.ts +94 -0
- package/esm/bigint/is_not_bigint.d.ts.map +1 -0
- package/esm/bigint/is_not_bigint.js +2 -0
- package/esm/bigint/is_not_bigint.js.map +1 -0
- package/esm/bigint/is_not_bigint_literal.d.ts +83 -0
- package/esm/bigint/is_not_bigint_literal.d.ts.map +1 -0
- package/esm/bigint/is_not_bigint_literal.js +2 -0
- package/esm/bigint/is_not_bigint_literal.js.map +1 -0
- package/esm/binary/Bit.d.ts.map +1 -1
- package/esm/binary/Bit.js.map +1 -1
- package/esm/binary/_binary.d.ts.map +1 -1
- package/esm/binary/_binary.js.map +1 -1
- package/esm/binary/index.d.ts.map +1 -1
- package/esm/binary/index.js.map +1 -1
- package/esm/boolean/is_boolean.d.ts +91 -0
- package/esm/boolean/is_boolean.d.ts.map +1 -0
- package/esm/boolean/is_boolean.js +2 -0
- package/esm/boolean/is_boolean.js.map +1 -0
- package/esm/boolean/is_false.d.ts +78 -0
- package/esm/boolean/is_false.d.ts.map +1 -0
- package/esm/boolean/is_false.js +2 -0
- package/esm/boolean/is_false.js.map +1 -0
- package/esm/boolean/is_not_boolean.d.ts +91 -0
- package/esm/boolean/is_not_boolean.d.ts.map +1 -0
- package/esm/boolean/is_not_boolean.js +2 -0
- package/esm/boolean/is_not_boolean.js.map +1 -0
- package/esm/boolean/is_not_false.d.ts +79 -0
- package/esm/boolean/is_not_false.d.ts.map +1 -0
- package/esm/boolean/is_not_false.js +2 -0
- package/esm/boolean/is_not_false.js.map +1 -0
- package/esm/boolean/is_not_true.d.ts +80 -0
- package/esm/boolean/is_not_true.d.ts.map +1 -0
- package/esm/boolean/is_not_true.js +2 -0
- package/esm/boolean/is_not_true.js.map +1 -0
- package/esm/boolean/is_true.d.ts +78 -0
- package/esm/boolean/is_true.d.ts.map +1 -0
- package/esm/boolean/is_true.js +2 -0
- package/esm/boolean/is_true.js.map +1 -0
- package/esm/class/AnyConstructor.d.ts +1 -1
- package/esm/class/AnyConstructor.d.ts.map +1 -1
- package/esm/class/AnyConstructor.js.map +1 -1
- package/esm/class/index.d.ts.map +1 -1
- package/esm/class/index.js.map +1 -1
- package/esm/class/isConstructor.d.ts +1 -1
- package/esm/class/isConstructor.d.ts.map +1 -1
- package/esm/class/isConstructor.js +2 -2
- package/esm/class/isConstructor.js.map +1 -1
- package/esm/composable_types.d.ts.map +1 -1
- package/esm/composable_types.js.map +1 -1
- package/esm/equal/equal.d.ts +10 -6
- package/esm/equal/equal.d.ts.map +1 -1
- package/esm/equal/equal.js.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/function/any_function.d.ts.map +1 -1
- package/esm/function/any_function.js.map +1 -1
- package/esm/function/extract_function.d.ts.map +1 -1
- package/esm/function/extract_function.js.map +1 -1
- package/esm/function/is_function.d.ts +61 -0
- package/esm/function/is_function.d.ts.map +1 -0
- package/esm/function/is_function.js +2 -0
- package/esm/function/is_function.js.map +1 -0
- package/esm/function/is_not_function.d.ts +73 -0
- package/esm/function/is_not_function.d.ts.map +1 -0
- package/esm/function/is_not_function.js +2 -0
- package/esm/function/is_not_function.js.map +1 -0
- package/esm/function/is_not_strict_function.d.ts +31 -0
- package/esm/function/is_not_strict_function.d.ts.map +1 -0
- package/esm/function/is_not_strict_function.js +2 -0
- package/esm/function/is_not_strict_function.js.map +1 -0
- package/esm/function/is_strict_function.d.ts +31 -0
- package/esm/function/is_strict_function.d.ts.map +1 -0
- package/esm/function/is_strict_function.js +2 -0
- package/esm/function/is_strict_function.js.map +1 -0
- package/esm/functional/ChainFn.d.ts.map +1 -1
- package/esm/functional/ChainFn.js.map +1 -1
- package/esm/functional/Maybe.d.ts +1 -1
- package/esm/functional/Maybe.d.ts.map +1 -1
- package/esm/functional/Maybe.js.map +1 -1
- package/esm/functional/compose.d.ts.map +1 -1
- package/esm/functional/compose.js +1 -0
- package/esm/functional/compose.js.map +1 -1
- package/esm/functional/context.d.ts.map +1 -1
- package/esm/functional/context.js +1 -1
- package/esm/functional/context.js.map +1 -1
- package/esm/functional/index.d.ts.map +1 -1
- package/esm/functional/index.js.map +1 -1
- package/esm/index.d.ts +83 -28
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/json.d.ts.map +1 -1
- package/esm/json.js.map +1 -1
- package/esm/math/abs.d.ts +4 -5
- package/esm/math/abs.d.ts.map +1 -1
- package/esm/math/abs.js.map +1 -1
- package/esm/math/add.d.ts.map +1 -1
- package/esm/math/add.js.map +1 -1
- package/esm/math/greater_than.d.ts +1 -1
- package/esm/math/greater_than.d.ts.map +1 -1
- package/esm/math/greater_than.js.map +1 -1
- package/esm/math/index.d.ts +1 -1
- package/esm/math/index.d.ts.map +1 -1
- package/esm/math/index.js.map +1 -1
- package/esm/math/math_plus.d.ts.map +1 -1
- package/esm/math/math_plus.js.map +1 -1
- package/esm/math/math_plus.to_negative.d.ts.map +1 -1
- package/esm/math/math_plus.to_negative.js.map +1 -1
- package/esm/math/max.d.ts +1 -1
- package/esm/math/max.d.ts.map +1 -1
- package/esm/math/max.js.map +1 -1
- package/esm/math/multiply.d.ts.map +1 -1
- package/esm/math/multiply.js.map +1 -1
- package/esm/math/numeric_struct.d.ts.map +1 -1
- package/esm/math/numeric_struct.js.map +1 -1
- package/esm/math/subtract.d.ts.map +1 -1
- package/esm/math/subtract.js.map +1 -1
- package/esm/mix_types/box.d.ts +47 -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/exclude.d.ts +19 -0
- package/esm/mix_types/exclude.d.ts.map +1 -0
- package/esm/mix_types/exclude.js +2 -0
- package/esm/mix_types/exclude.js.map +1 -0
- package/esm/mix_types/is_any_or_never.d.ts +28 -0
- package/esm/mix_types/is_any_or_never.d.ts.map +1 -0
- package/esm/mix_types/is_any_or_never.js +2 -0
- package/esm/mix_types/is_any_or_never.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/mix_types/merge.js +14 -0
- package/esm/mix_types/merge.js.map +1 -0
- package/esm/never/is_never.d.ts +59 -0
- package/esm/never/is_never.d.ts.map +1 -0
- package/esm/never/is_never.js +2 -0
- package/esm/never/is_never.js.map +1 -0
- package/esm/never/is_not_never.d.ts +59 -0
- package/esm/never/is_not_never.d.ts.map +1 -0
- package/esm/never/is_not_never.js +2 -0
- package/esm/never/is_not_never.js.map +1 -0
- package/esm/never/never.d.ts +75 -0
- package/esm/never/never.d.ts.map +1 -0
- package/esm/never/never.js +2 -0
- package/esm/never/never.js.map +1 -0
- package/esm/nodejs/index.d.ts.map +1 -1
- package/esm/nodejs/index.js.map +1 -1
- package/esm/nodejs/isNodeError.d.ts.map +1 -1
- package/esm/nodejs/isNodeError.js.map +1 -1
- package/esm/nominal/brand.d.ts.map +1 -1
- package/esm/nominal/brand.js +1 -3
- package/esm/nominal/brand.js.map +1 -1
- package/esm/nominal/constants.d.ts.map +1 -1
- package/esm/nominal/constants.js.map +1 -1
- package/esm/nominal/flavor.d.ts.map +1 -1
- package/esm/nominal/flavor.js +1 -3
- package/esm/nominal/flavor.js.map +1 -1
- package/esm/nominal/index.d.ts.map +1 -1
- package/esm/nominal/index.js.map +1 -1
- package/esm/nominal/nominal_match.d.ts.map +1 -1
- package/esm/nominal/nominal_match.js +1 -3
- package/esm/nominal/nominal_match.js.map +1 -1
- package/esm/null/is_not_null.d.ts +71 -0
- package/esm/null/is_not_null.d.ts.map +1 -0
- package/esm/null/is_not_null.js +2 -0
- package/esm/null/is_not_null.js.map +1 -0
- package/esm/null/is_null.d.ts +75 -0
- package/esm/null/is_null.d.ts.map +1 -0
- package/esm/null/is_null.js +2 -0
- package/esm/null/is_null.js.map +1 -0
- package/esm/number/cast.d.ts.map +1 -1
- package/esm/number/cast.js.map +1 -1
- package/esm/number/is_not_number.d.ts +84 -0
- package/esm/number/is_not_number.d.ts.map +1 -0
- package/esm/number/is_not_number.js +2 -0
- package/esm/number/is_not_number.js.map +1 -0
- package/esm/number/is_not_number_literal.d.ts +83 -0
- package/esm/number/is_not_number_literal.d.ts.map +1 -0
- package/esm/number/is_not_number_literal.js +2 -0
- package/esm/number/is_not_number_literal.js.map +1 -0
- package/esm/number/is_number.d.ts +87 -0
- package/esm/number/is_number.d.ts.map +1 -0
- package/esm/number/is_number.js +2 -0
- package/esm/number/is_number.js.map +1 -0
- package/esm/number/is_number_literal.d.ts +85 -0
- package/esm/number/is_number_literal.d.ts.map +1 -0
- package/esm/number/is_number_literal.js +2 -0
- package/esm/number/is_number_literal.js.map +1 -0
- package/esm/number/number_array.d.ts.map +1 -1
- package/esm/number/number_array.js.map +1 -1
- package/esm/number/number_plus.d.ts +11 -6
- package/esm/number/number_plus.d.ts.map +1 -1
- package/esm/number/number_plus.js +1 -0
- package/esm/number/number_plus.js.map +1 -1
- package/esm/numeric/cast.d.ts.map +1 -1
- package/esm/numeric/cast.js.map +1 -1
- package/esm/numeric/is_integer.d.ts +30 -0
- package/esm/numeric/is_integer.d.ts.map +1 -0
- package/esm/numeric/is_integer.js +2 -0
- package/esm/numeric/is_integer.js.map +1 -0
- package/esm/numeric/is_negative.d.ts +35 -0
- package/esm/numeric/is_negative.d.ts.map +1 -0
- package/esm/numeric/is_negative.js +2 -0
- package/esm/numeric/is_negative.js.map +1 -0
- package/esm/numeric/is_not_integer.d.ts +32 -0
- package/esm/numeric/is_not_integer.d.ts.map +1 -0
- package/esm/numeric/is_not_integer.js +2 -0
- package/esm/numeric/is_not_integer.js.map +1 -0
- package/esm/numeric/is_not_negative.d.ts +35 -0
- package/esm/numeric/is_not_negative.d.ts.map +1 -0
- package/esm/numeric/is_not_negative.js +2 -0
- package/esm/numeric/is_not_negative.js.map +1 -0
- package/esm/numeric/is_not_numeric.d.ts +19 -0
- package/esm/numeric/is_not_numeric.d.ts.map +1 -0
- package/esm/numeric/is_not_numeric.js +2 -0
- package/esm/numeric/is_not_numeric.js.map +1 -0
- package/esm/numeric/is_not_positive.d.ts +36 -0
- package/esm/numeric/is_not_positive.d.ts.map +1 -0
- package/esm/numeric/is_not_positive.js +2 -0
- package/esm/numeric/is_not_positive.js.map +1 -0
- package/esm/numeric/is_numeric.d.ts +19 -0
- package/esm/numeric/is_numeric.d.ts.map +1 -0
- package/esm/numeric/is_numeric.js +2 -0
- package/esm/numeric/is_numeric.js.map +1 -0
- package/esm/numeric/is_positive.d.ts +35 -0
- package/esm/numeric/is_positive.d.ts.map +1 -0
- package/esm/numeric/is_positive.js +2 -0
- package/esm/numeric/is_positive.js.map +1 -0
- package/esm/numeric/numeric_plus.d.ts +9 -4
- package/esm/numeric/numeric_plus.d.ts.map +1 -1
- package/esm/numeric/numeric_plus.js.map +1 -1
- package/esm/numeric/numeric_type.d.ts +0 -50
- package/esm/numeric/numeric_type.d.ts.map +1 -1
- package/esm/numeric/numeric_type.js.map +1 -1
- package/esm/object/ANotB.d.ts +1 -1
- package/esm/object/ANotB.d.ts.map +1 -1
- package/esm/object/ANotB.js.map +1 -1
- package/esm/object/ExcludePropType.d.ts.map +1 -1
- package/esm/object/ExcludePropType.js.map +1 -1
- package/esm/object/IsDisjoint.d.ts +1 -1
- package/esm/object/IsDisjoint.d.ts.map +1 -1
- package/esm/object/IsDisjoint.js.map +1 -1
- package/esm/object/IsRecord.d.ts.map +1 -1
- package/esm/object/IsRecord.js.map +1 -1
- package/esm/object/KeyTypes.d.ts.map +1 -1
- package/esm/object/KeyTypes.js.map +1 -1
- package/esm/object/KeyofOptional.d.ts.map +1 -1
- package/esm/object/KeyofOptional.js.map +1 -1
- package/esm/object/KeysWithDiffType.d.ts +2 -2
- package/esm/object/KeysWithDiffType.d.ts.map +1 -1
- package/esm/object/KeysWithDiffType.js.map +1 -1
- package/esm/object/KnownKeys.d.ts.map +1 -1
- package/esm/object/KnownKeys.js.map +1 -1
- package/esm/object/Partial.d.ts.map +1 -1
- package/esm/object/Partial.js.map +1 -1
- package/esm/object/RecursiveIntersect.d.ts +2 -2
- package/esm/object/RecursiveIntersect.d.ts.map +1 -1
- package/esm/object/RecursiveIntersect.js.map +1 -1
- package/esm/object/RecursiveRequired.d.ts +1 -1
- package/esm/object/RecursiveRequired.d.ts.map +1 -1
- package/esm/object/RecursiveRequired.js.map +1 -1
- package/esm/object/Required.d.ts +1 -2
- package/esm/object/Required.d.ts.map +1 -1
- package/esm/object/Required.js.map +1 -1
- package/esm/object/RequiredKeys.d.ts +2 -2
- package/esm/object/RequiredKeys.d.ts.map +1 -1
- package/esm/object/RequiredKeys.js.map +1 -1
- package/esm/object/SpreadRecord.d.ts.map +1 -1
- package/esm/object/SpreadRecord.js.map +1 -1
- package/esm/object/ValueOf.d.ts.map +1 -1
- package/esm/object/ValueOf.js.map +1 -1
- package/esm/object/any_record.d.ts +3 -0
- 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/everyKey.d.ts.map +1 -1
- package/esm/object/everyKey.js.map +1 -1
- package/esm/object/facade.d.ts +1 -1
- package/esm/object/facade.d.ts.map +1 -1
- package/esm/object/facade.js.map +1 -1
- package/esm/object/filterKey.d.ts.map +1 -1
- package/esm/object/filterKey.js.map +1 -1
- package/esm/object/findKey.d.ts.map +1 -1
- package/esm/object/findKey.js.map +1 -1
- package/esm/object/forEachKey.d.ts.map +1 -1
- package/esm/object/forEachKey.js +1 -1
- package/esm/object/forEachKey.js.map +1 -1
- package/esm/object/getField.d.ts.map +1 -1
- package/esm/object/getField.js.map +1 -1
- package/esm/object/hasKey.d.ts +1 -1
- package/esm/object/hasKey.d.ts.map +1 -1
- package/esm/object/hasKey.js.map +1 -1
- package/esm/object/hasProperty.d.ts.map +1 -1
- package/esm/object/hasProperty.js.map +1 -1
- package/esm/object/index.d.ts +15 -16
- package/esm/object/index.d.ts.map +1 -1
- package/esm/object/index.js.map +1 -1
- package/esm/object/is_not_object.d.ts +119 -0
- package/esm/object/is_not_object.d.ts.map +1 -0
- package/esm/object/is_not_object.js +2 -0
- package/esm/object/is_not_object.js.map +1 -0
- package/esm/object/is_object.d.ts +104 -0
- package/esm/object/is_object.d.ts.map +1 -0
- package/esm/object/is_object.js +2 -0
- package/esm/object/is_object.js.map +1 -0
- package/esm/object/left_join.d.ts +1 -6
- package/esm/object/left_join.d.ts.map +1 -1
- package/esm/object/left_join.js.map +1 -1
- package/esm/object/mapKey.d.ts.map +1 -1
- package/esm/object/mapKey.js.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 +80 -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 +1 -8
- package/esm/object/omit.d.ts.map +1 -1
- package/esm/object/omit.js.map +1 -1
- package/esm/object/optional_key.d.ts +2 -2
- package/esm/object/optional_key.d.ts.map +1 -1
- package/esm/object/optional_key.js.map +1 -1
- package/esm/object/pick.d.ts +1 -1
- package/esm/object/pick.d.ts.map +1 -1
- package/esm/object/pick.js.map +1 -1
- package/esm/object/properties.d.ts.map +1 -1
- package/esm/object/properties.js.map +1 -1
- package/esm/object/record.d.ts.map +1 -1
- package/esm/object/record.js.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/recursive_partial.js.map +1 -1
- package/esm/object/reduceKey.d.ts.map +1 -1
- package/esm/object/reduceKey.js.map +1 -1
- package/esm/object/replaceProperty.d.ts +1 -1
- package/esm/object/replaceProperty.d.ts.map +1 -1
- package/esm/object/replaceProperty.js.map +1 -1
- package/esm/object/someKey.d.ts.map +1 -1
- package/esm/object/someKey.js.map +1 -1
- package/esm/object/split.d.ts +2 -3
- package/esm/object/split.d.ts.map +1 -1
- package/esm/object/split.js.map +1 -1
- package/esm/object/typeOverrideIncompatible.d.ts.map +1 -1
- package/esm/object/typeOverrideIncompatible.js +4 -6
- package/esm/object/typeOverrideIncompatible.js.map +1 -1
- package/esm/predicates/CanAssign.d.ts +12 -4
- package/esm/predicates/CanAssign.d.ts.map +1 -1
- package/esm/predicates/CanAssign.js.map +1 -1
- package/esm/predicates/Extends.d.ts +3 -0
- package/esm/predicates/Extends.d.ts.map +1 -1
- package/esm/predicates/Extends.js.map +1 -1
- package/esm/predicates/If.d.ts.map +1 -1
- package/esm/predicates/If.js.map +1 -1
- package/esm/predicates/IsEmptyObject.d.ts.map +1 -1
- package/esm/predicates/IsEmptyObject.js.map +1 -1
- package/esm/predicates/assignable.d.ts +89 -0
- package/esm/predicates/assignable.d.ts.map +1 -0
- package/esm/predicates/assignable.js +2 -0
- package/esm/predicates/assignable.js.map +1 -0
- package/esm/predicates/index.d.ts.map +1 -1
- package/esm/predicates/index.js.map +1 -1
- package/esm/predicates/literal.d.ts +1 -1
- package/esm/predicates/literal.d.ts.map +1 -1
- package/esm/predicates/literal.js.map +1 -1
- package/esm/predicates/logical.d.ts.map +1 -1
- package/esm/predicates/logical.js.map +1 -1
- package/esm/predicates/not_assignable.d.ts +89 -0
- package/esm/predicates/not_assignable.d.ts.map +1 -0
- package/esm/predicates/not_assignable.js +2 -0
- package/esm/predicates/not_assignable.js.map +1 -0
- package/esm/primitive.d.ts.map +1 -1
- package/esm/primitive.js.map +1 -1
- package/esm/promise/MaybePromise.d.ts.map +1 -1
- package/esm/promise/MaybePromise.js.map +1 -1
- package/esm/promise/PromiseValue.d.ts.map +1 -1
- package/esm/promise/PromiseValue.js.map +1 -1
- package/esm/promise/PromiseValueMerge.d.ts.map +1 -1
- package/esm/promise/PromiseValueMerge.js.map +1 -1
- package/esm/promise/index.d.ts +1 -1
- package/esm/promise/index.d.ts.map +1 -1
- package/esm/promise/index.js.map +1 -1
- package/esm/promise/isPromise.d.ts.map +1 -1
- package/esm/promise/isPromise.js.map +1 -1
- package/esm/promise/mapSeries.d.ts.map +1 -1
- package/esm/promise/mapSeries.js.map +1 -1
- package/esm/string/$extract_manipulated_string.d.ts +18 -0
- package/esm/string/$extract_manipulated_string.d.ts.map +1 -0
- package/esm/string/$extract_manipulated_string.js +2 -0
- package/esm/string/$extract_manipulated_string.js.map +1 -0
- package/esm/string/_string_type.d.ts +5 -0
- package/esm/string/_string_type.d.ts.map +1 -0
- package/esm/string/_string_type.js +2 -0
- package/esm/string/_string_type.js.map +1 -0
- package/esm/string/is_not_string.d.ts +84 -0
- package/esm/string/is_not_string.d.ts.map +1 -0
- package/esm/string/is_not_string.js +2 -0
- package/esm/string/is_not_string.js.map +1 -0
- package/esm/string/is_not_string_literal.d.ts +104 -0
- package/esm/string/is_not_string_literal.d.ts.map +1 -0
- package/esm/string/is_not_string_literal.js +2 -0
- package/esm/string/is_not_string_literal.js.map +1 -0
- package/esm/string/is_not_template_literal.d.ts +73 -0
- package/esm/string/is_not_template_literal.d.ts.map +1 -0
- package/esm/string/is_not_template_literal.js +2 -0
- package/esm/string/is_not_template_literal.js.map +1 -0
- package/esm/string/is_string.d.ts +83 -0
- package/esm/string/is_string.d.ts.map +1 -0
- package/esm/string/is_string.js +2 -0
- package/esm/string/is_string.js.map +1 -0
- package/esm/string/is_string_literal.d.ts +104 -0
- package/esm/string/is_string_literal.d.ts.map +1 -0
- package/esm/string/is_string_literal.js +2 -0
- package/esm/string/is_string_literal.js.map +1 -0
- package/esm/string/is_template_literal.d.ts +75 -0
- package/esm/string/is_template_literal.d.ts.map +1 -0
- package/esm/string/is_template_literal.js +2 -0
- package/esm/string/is_template_literal.js.map +1 -0
- package/esm/string/string.d.ts +1 -1
- package/esm/string/string.d.ts.map +1 -1
- package/esm/string/string.js.map +1 -1
- package/esm/string/string_plus.d.ts.map +1 -1
- package/esm/string/string_plus.js.map +1 -1
- package/esm/symbol/is_not_symbol.d.ts +71 -0
- package/esm/symbol/is_not_symbol.d.ts.map +1 -0
- package/esm/symbol/is_not_symbol.js +2 -0
- package/esm/symbol/is_not_symbol.js.map +1 -0
- package/esm/symbol/is_symbol.d.ts +73 -0
- package/esm/symbol/is_symbol.d.ts.map +1 -0
- package/esm/symbol/is_symbol.js +2 -0
- package/esm/symbol/is_symbol.js.map +1 -0
- package/esm/testing/stub.d.ts.map +1 -1
- package/esm/testing/stub.js.map +1 -1
- package/esm/testing/test_type.d.ts +84 -44
- package/esm/testing/test_type.d.ts.map +1 -1
- package/esm/testing/test_type.js.map +1 -1
- package/esm/tuple/common_prop_keys.d.ts +1 -1
- package/esm/tuple/common_prop_keys.d.ts.map +1 -1
- package/esm/tuple/common_prop_keys.js.map +1 -1
- package/esm/tuple/create_tuple.d.ts +2 -2
- package/esm/tuple/create_tuple.d.ts.map +1 -1
- package/esm/tuple/create_tuple.js.map +1 -1
- package/esm/tuple/drop.d.ts +8 -8
- package/esm/tuple/drop.d.ts.map +1 -1
- package/esm/tuple/drop.js.map +1 -1
- package/esm/tuple/is_not_tuple.d.ts +78 -0
- package/esm/tuple/is_not_tuple.d.ts.map +1 -0
- package/esm/tuple/is_not_tuple.js +2 -0
- package/esm/tuple/is_not_tuple.js.map +1 -0
- package/esm/tuple/is_tuple.d.ts +76 -0
- package/esm/tuple/is_tuple.d.ts.map +1 -0
- package/esm/tuple/is_tuple.js +2 -0
- package/esm/tuple/is_tuple.js.map +1 -0
- package/esm/tuple/tail.d.ts +1 -1
- package/esm/tuple/tail.d.ts.map +1 -1
- package/esm/tuple/tail.js.map +1 -1
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts +9 -5
- package/esm/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.common_prop_keys.js.map +1 -1
- package/esm/tuple/tuple_plus.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.drop_match.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.drop_match.js.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.filter.js.map +1 -1
- package/esm/tuple/tuple_plus.find.d.ts +21 -18
- package/esm/tuple/tuple_plus.find.d.ts.map +1 -1
- package/esm/tuple/tuple_plus.find.js.map +1 -1
- package/esm/tuple/tuple_plus.js.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_plus.pad_start.js.map +1 -1
- package/esm/type/failed.d.ts.map +1 -1
- package/esm/type/failed.js.map +1 -1
- package/esm/type/no_infer.d.ts +4 -3
- package/esm/type/no_infer.d.ts.map +1 -1
- package/esm/type/no_infer.js.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/type-guard/is_type.js +3 -7
- package/esm/type-guard/is_type.js.map +1 -1
- package/esm/type_plus/$equality.d.ts +12 -0
- package/esm/type_plus/$equality.d.ts.map +1 -0
- package/esm/type_plus/$equality.js +2 -0
- package/esm/type_plus/$equality.js.map +1 -0
- package/esm/type_plus/$error.d.ts +8 -0
- package/esm/type_plus/$error.d.ts.map +1 -0
- package/esm/type_plus/$error.js +2 -0
- package/esm/type_plus/$error.js.map +1 -0
- package/esm/type_plus/$infer_error.d.ts +21 -0
- package/esm/type_plus/$infer_error.d.ts.map +1 -0
- package/esm/type_plus/$infer_error.js +2 -0
- package/esm/type_plus/$infer_error.js.map +1 -0
- package/esm/type_plus/$merge_options.d.ts +11 -0
- package/esm/type_plus/$merge_options.d.ts.map +1 -0
- package/esm/type_plus/$merge_options.js +2 -0
- package/esm/type_plus/$merge_options.js.map +1 -0
- package/esm/type_plus/$resolve_options.d.ts +11 -0
- package/esm/type_plus/$resolve_options.d.ts.map +1 -0
- package/esm/type_plus/$resolve_options.js +2 -0
- package/esm/type_plus/$resolve_options.js.map +1 -0
- package/esm/type_plus/$special_type.d.ts +25 -0
- package/esm/type_plus/$special_type.d.ts.map +1 -0
- package/esm/type_plus/$special_type.js +2 -0
- package/esm/type_plus/$special_type.js.map +1 -0
- package/esm/type_plus/$type.d.ts +11 -0
- package/esm/type_plus/$type.d.ts.map +1 -0
- package/esm/type_plus/$type.js +2 -0
- package/esm/type_plus/$type.js.map +1 -0
- package/esm/type_plus/branch/$branch.d.ts +29 -0
- package/esm/type_plus/branch/$branch.d.ts.map +1 -0
- package/esm/type_plus/branch/$branch.js +2 -0
- package/esm/type_plus/branch/$branch.js.map +1 -0
- package/esm/type_plus/branch/$distributive.d.ts +19 -0
- package/esm/type_plus/branch/$distributive.d.ts.map +1 -0
- package/esm/type_plus/branch/$distributive.js +2 -0
- package/esm/type_plus/branch/$distributive.js.map +1 -0
- package/esm/type_plus/branch/$exact.d.ts +27 -0
- package/esm/type_plus/branch/$exact.d.ts.map +1 -0
- package/esm/type_plus/branch/$exact.js +2 -0
- package/esm/type_plus/branch/$exact.js.map +1 -0
- package/esm/type_plus/branch/$input_options.d.ts +10 -0
- package/esm/type_plus/branch/$input_options.d.ts.map +1 -0
- package/esm/type_plus/branch/$input_options.js +2 -0
- package/esm/type_plus/branch/$input_options.js.map +1 -0
- package/esm/type_plus/branch/$is_distributive.d.ts +6 -0
- package/esm/type_plus/branch/$is_distributive.d.ts.map +1 -0
- package/esm/type_plus/branch/$is_distributive.js +2 -0
- package/esm/type_plus/branch/$is_distributive.js.map +1 -0
- package/esm/type_plus/branch/$override.d.ts +21 -0
- package/esm/type_plus/branch/$override.d.ts.map +1 -0
- package/esm/type_plus/branch/$override.js +2 -0
- package/esm/type_plus/branch/$override.js.map +1 -0
- package/esm/type_plus/branch/$resolve_branch.d.ts +30 -0
- package/esm/type_plus/branch/$resolve_branch.d.ts.map +1 -0
- package/esm/type_plus/branch/$resolve_branch.js +2 -0
- package/esm/type_plus/branch/$resolve_branch.js.map +1 -0
- package/esm/type_plus/branch/$select.d.ts +79 -0
- package/esm/type_plus/branch/$select.d.ts.map +1 -0
- package/esm/type_plus/branch/$select.js +2 -0
- package/esm/type_plus/branch/$select.js.map +1 -0
- package/esm/type_plus/branch/$select_invert.d.ts +77 -0
- package/esm/type_plus/branch/$select_invert.d.ts.map +1 -0
- package/esm/type_plus/branch/$select_invert.js +2 -0
- package/esm/type_plus/branch/$select_invert.js.map +1 -0
- package/esm/type_plus/branch/$select_invert_strict.d.ts +78 -0
- package/esm/type_plus/branch/$select_invert_strict.d.ts.map +1 -0
- package/esm/type_plus/branch/$select_invert_strict.js +2 -0
- package/esm/type_plus/branch/$select_invert_strict.js.map +1 -0
- package/esm/type_plus/branch/$select_strict.d.ts +79 -0
- package/esm/type_plus/branch/$select_strict.d.ts.map +1 -0
- package/esm/type_plus/branch/$select_strict.js +2 -0
- package/esm/type_plus/branch/$select_strict.js.map +1 -0
- package/esm/type_plus/branch/$selection.d.ts +127 -0
- package/esm/type_plus/branch/$selection.d.ts.map +1 -0
- package/esm/type_plus/branch/$selection.js +2 -0
- package/esm/type_plus/branch/$selection.js.map +1 -0
- package/esm/type_plus/branch/$selection_options.d.ts +37 -0
- package/esm/type_plus/branch/$selection_options.d.ts.map +1 -0
- package/esm/type_plus/branch/$selection_options.js +2 -0
- package/esm/type_plus/branch/$selection_options.js.map +1 -0
- package/esm/undefined/has_undefined.d.ts +41 -0
- package/esm/undefined/has_undefined.d.ts.map +1 -0
- package/esm/undefined/has_undefined.js +2 -0
- package/esm/undefined/has_undefined.js.map +1 -0
- package/esm/undefined/is_not_undefined.d.ts +72 -0
- package/esm/undefined/is_not_undefined.d.ts.map +1 -0
- package/esm/undefined/is_not_undefined.js +2 -0
- package/esm/undefined/is_not_undefined.js.map +1 -0
- package/esm/undefined/is_undefined.d.ts +75 -0
- package/esm/undefined/is_undefined.d.ts.map +1 -0
- package/esm/undefined/is_undefined.js +2 -0
- package/esm/undefined/is_undefined.js.map +1 -0
- package/esm/union/union.d.ts +1 -1
- package/esm/union/union.d.ts.map +1 -1
- package/esm/union/union.js.map +1 -1
- package/esm/union/union_to_intersection.d.ts.map +1 -1
- package/esm/union/union_to_intersection.js.map +1 -1
- package/esm/union_keys.d.ts.map +1 -1
- package/esm/union_keys.js.map +1 -1
- package/esm/unknown/is_not_unknown.d.ts +53 -0
- package/esm/unknown/is_not_unknown.d.ts.map +1 -0
- package/esm/unknown/is_not_unknown.js +2 -0
- package/esm/unknown/is_not_unknown.js.map +1 -0
- package/esm/unknown/is_unknown.d.ts +53 -0
- package/esm/unknown/is_unknown.d.ts.map +1 -0
- package/esm/unknown/is_unknown.js +2 -0
- package/esm/unknown/is_unknown.js.map +1 -0
- package/esm/unknown/not_unknown_or.d.ts +30 -0
- package/esm/unknown/not_unknown_or.d.ts.map +1 -0
- package/esm/unknown/not_unknown_or.js +2 -0
- package/esm/unknown/not_unknown_or.js.map +1 -0
- package/esm/unknown/unknown.d.ts +55 -0
- package/esm/unknown/unknown.d.ts.map +1 -0
- package/esm/unknown/unknown.js +2 -0
- package/esm/unknown/unknown.js.map +1 -0
- package/esm/unpartial.d.ts.map +1 -1
- package/esm/unpartial.js.map +1 -1
- package/esm/utils/Widen.d.ts.map +1 -1
- package/esm/utils/Widen.js.map +1 -1
- package/esm/utils/as.d.ts.map +1 -1
- package/esm/utils/as.js.map +1 -1
- package/esm/utils/index.d.ts +0 -2
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/inspect.d.ts.map +1 -1
- package/esm/utils/inspect.js.map +1 -1
- package/esm/utils/options.d.ts +14 -9
- package/esm/utils/options.d.ts.map +1 -1
- package/esm/utils/options.js.map +1 -1
- package/esm/void/is_not_void.d.ts +78 -0
- package/esm/void/is_not_void.d.ts.map +1 -0
- package/esm/void/is_not_void.js +2 -0
- package/esm/void/is_not_void.js.map +1 -0
- package/esm/void/is_void.d.ts +79 -0
- package/esm/void/is_void.d.ts.map +1 -0
- package/esm/void/is_void.js +2 -0
- package/esm/void/is_void.js.map +1 -0
- package/package.json +31 -33
- package/readme.md +1376 -0
- package/src/any/any.ts +46 -0
- package/src/any/is_any.ts +59 -0
- package/src/any/is_not_any.ts +59 -0
- package/src/any/readme.md +104 -0
- package/src/array/array.at.ts +40 -0
- package/src/array/array.entries.ts +28 -0
- package/src/array/array.find_last.ts +31 -0
- package/src/array/array.reverse.ts +25 -0
- package/src/array/array.some.ts +67 -0
- package/src/array/array_plus.common_prop_keys.ts +38 -0
- package/src/array/array_plus.concat.ts +15 -0
- package/src/array/array_plus.drop_match.ts +16 -0
- package/src/array/array_plus.element_match.ts +61 -0
- package/src/array/array_plus.filter.ts +52 -0
- package/src/array/array_plus.find.ts +71 -0
- package/src/array/array_plus.index_at.ts +169 -0
- package/src/array/array_plus.is_index_out_of_bound.ts +24 -0
- package/src/array/array_plus.is_readonly.ts +50 -0
- package/src/array/array_plus.pad_start.ts +13 -0
- package/src/array/array_plus.split_at.ts +79 -0
- package/src/array/array_plus.ts +16 -0
- package/src/array/filter.ts +32 -0
- package/src/array/find_first.ts +73 -0
- package/src/array/head.ts +45 -0
- package/src/array/intersect_of_props.ts +21 -0
- package/src/array/is_array.ts +116 -0
- package/src/array/is_not_array.ts +114 -0
- package/src/array/last.ts +42 -0
- package/src/array/loose_array_type.ts +71 -0
- package/src/array/pad_start.ts +39 -0
- package/src/array/readme.md +567 -0
- package/src/array/union_of_props.ts +17 -0
- package/src/array/union_of_values.ts +14 -0
- package/src/assertion/assert_type.ts +117 -0
- package/src/bigint/is_bigint.ts +114 -0
- package/src/bigint/is_bigint_literal.ts +100 -0
- package/src/bigint/is_not_bigint.ts +110 -0
- package/src/bigint/is_not_bigint_literal.ts +101 -0
- package/src/bigint/readme.md +109 -0
- package/src/boolean/is_boolean.ts +126 -0
- package/src/boolean/is_false.ts +85 -0
- package/src/boolean/is_not_boolean.ts +109 -0
- package/src/boolean/is_not_false.ts +86 -0
- package/src/boolean/is_not_true.ts +86 -0
- package/src/boolean/is_true.ts +85 -0
- package/src/boolean/readme.md +430 -0
- package/src/class/AnyConstructor.ts +1 -0
- package/src/class/isConstructor.ts +34 -0
- package/src/equal/equal.ts +135 -0
- package/src/equal/identity_equal.ts +9 -0
- package/src/function/is_function.ts +62 -0
- package/src/function/is_not_function.ts +75 -0
- package/src/function/is_not_strict_function.ts +40 -0
- package/src/function/is_strict_function.ts +43 -0
- package/src/functional/Maybe.ts +22 -0
- package/src/functional/compose.ts +18 -0
- package/src/functional/context.ts +66 -0
- package/src/index.ts +139 -0
- package/src/math/abs.ts +23 -0
- package/src/math/greater_than.ts +12 -0
- package/src/math/index.ts +7 -0
- package/src/math/max.ts +13 -0
- package/src/math/numeric_struct.ts +656 -0
- package/src/mix_types/box.ts +74 -0
- package/src/mix_types/exclude.ts +18 -0
- package/src/mix_types/is_any_or_never.ts +31 -0
- package/src/mix_types/merge.ts +61 -0
- package/src/mix_types/readme.md +87 -0
- package/src/never/is_never.ts +62 -0
- package/src/never/is_not_never.ts +62 -0
- package/src/never/never.ts +78 -0
- package/src/never/readme.md +148 -0
- package/src/nominal/brand.ts +41 -0
- package/src/nominal/flavor.ts +51 -0
- package/src/nominal/nominal_match.ts +21 -0
- package/src/null/is_not_null.ts +79 -0
- package/src/null/is_null.ts +83 -0
- package/src/null/readme.md +107 -0
- package/src/number/is_not_number.ts +99 -0
- package/src/number/is_not_number_literal.ts +101 -0
- package/src/number/is_number.ts +103 -0
- package/src/number/is_number_literal.ts +100 -0
- package/src/number/number_plus.ts +13 -0
- package/src/number/readme.md +225 -0
- package/src/numeric/is_integer.ts +48 -0
- package/src/numeric/is_negative.ts +51 -0
- package/src/numeric/is_not_integer.ts +49 -0
- package/src/numeric/is_not_negative.ts +49 -0
- package/src/numeric/is_not_numeric.ts +21 -0
- package/src/numeric/is_not_positive.ts +50 -0
- package/src/numeric/is_numeric.ts +20 -0
- package/src/numeric/is_positive.ts +51 -0
- package/src/numeric/numeric_plus.ts +10 -0
- package/src/numeric/numeric_type.ts +10 -0
- package/src/object/ANotB.ts +12 -0
- package/src/object/IsDisjoint.ts +12 -0
- package/src/object/KeysWithDiffType.ts +9 -0
- package/src/object/KnownKeys.ts +17 -0
- package/src/object/RecursiveIntersect.ts +25 -0
- package/src/object/RecursiveRequired.ts +9 -0
- package/src/object/Required.ts +7 -0
- package/src/object/RequiredKeys.ts +8 -0
- package/src/object/facade.ts +214 -0
- package/src/object/forEachKey.ts +9 -0
- package/src/object/hasKey.ts +7 -0
- package/src/object/index.ts +38 -0
- package/src/object/is_not_object.ts +132 -0
- package/src/object/is_object.ts +119 -0
- package/src/object/left_join.ts +10 -0
- package/src/object/mapProperties.ts +22 -0
- package/src/object/merge.ts +117 -0
- package/src/object/object_plus.ts +1 -0
- package/src/object/omit.ts +220 -0
- package/src/object/optional_key.ts +38 -0
- package/src/object/pick.ts +220 -0
- package/src/object/readme.md +79 -0
- package/src/object/record.ts +23 -0
- package/src/object/recursive_partial.ts +39 -0
- package/src/object/replaceProperty.ts +11 -0
- package/src/object/split.ts +202 -0
- package/src/object/typeOverrideIncompatible.ts +8 -0
- package/src/predicates/CanAssign.ts +61 -0
- package/src/predicates/Extends.ts +7 -0
- package/src/predicates/assignable.ts +102 -0
- package/src/predicates/index.ts +6 -0
- package/src/predicates/literal.ts +35 -0
- package/src/predicates/not_assignable.ts +100 -0
- package/src/promise/index.ts +5 -0
- package/src/string/$extract_manipulated_string.ts +45 -0
- package/src/string/_string_type.ts +11 -0
- package/src/string/is_not_string.ts +100 -0
- package/src/string/is_not_string_literal.ts +132 -0
- package/src/string/is_not_template_literal.ts +90 -0
- package/src/string/is_string.ts +101 -0
- package/src/string/is_string_literal.ts +132 -0
- package/src/string/is_template_literal.ts +91 -0
- package/src/string/string.ts +36 -0
- package/src/string/string_plus.ts +34 -0
- package/src/symbol/is_not_symbol.ts +78 -0
- package/src/symbol/is_symbol.ts +80 -0
- package/src/testing/stub.ts +81 -0
- package/src/testing/test_type.ts +313 -0
- package/src/tuple/common_prop_keys.ts +41 -0
- package/src/tuple/create_tuple.ts +42 -0
- package/src/tuple/drop.ts +125 -0
- package/src/tuple/is_not_tuple.ts +101 -0
- package/src/tuple/is_tuple.ts +99 -0
- package/src/tuple/readme.md +282 -0
- package/src/tuple/tail.ts +10 -0
- package/src/tuple/tuple_plus.common_prop_keys.ts +50 -0
- package/src/tuple/tuple_plus.filter.ts +29 -0
- package/src/tuple/tuple_plus.find.ts +89 -0
- package/src/tuple/tuple_plus.pad_start.ts +61 -0
- package/src/type/no_infer.ts +28 -0
- package/src/type-guard/is_type.ts +48 -0
- package/src/type_plus/$equality.ts +14 -0
- package/src/type_plus/$error.ts +8 -0
- package/src/type_plus/$infer_error.ts +21 -0
- package/src/type_plus/$merge_options.ts +9 -0
- package/src/type_plus/$resolve_options.ts +16 -0
- package/src/type_plus/$special_type.ts +24 -0
- package/src/type_plus/$type.ts +10 -0
- package/src/type_plus/branch/$branch.ts +27 -0
- package/src/type_plus/branch/$distributive.ts +19 -0
- package/src/type_plus/branch/$exact.ts +34 -0
- package/src/type_plus/branch/$input_options.ts +9 -0
- package/src/type_plus/branch/$is_distributive.ts +12 -0
- package/src/type_plus/branch/$override.ts +22 -0
- package/src/type_plus/branch/$resolve_branch.ts +81 -0
- package/src/type_plus/branch/$select.ts +90 -0
- package/src/type_plus/branch/$select_invert.ts +88 -0
- package/src/type_plus/branch/$select_invert_strict.ts +88 -0
- package/src/type_plus/branch/$select_strict.ts +90 -0
- package/src/type_plus/branch/$selection.ts +135 -0
- package/src/type_plus/branch/$selection_options.ts +36 -0
- package/src/type_plus/readme.md +25 -0
- package/src/undefined/has_undefined.ts +44 -0
- package/src/undefined/is_not_undefined.ts +80 -0
- package/src/undefined/is_undefined.ts +82 -0
- package/src/undefined/readme.md +140 -0
- package/src/union/readme.md +81 -0
- package/src/union/union.ts +37 -0
- package/src/unknown/is_not_unknown.ts +57 -0
- package/src/unknown/is_unknown.ts +57 -0
- package/src/unknown/not_unknown_or.ts +29 -0
- package/src/unknown/readme.md +108 -0
- package/src/unknown/unknown.ts +58 -0
- package/src/utils/index.ts +61 -0
- package/src/utils/options.ts +15 -0
- package/src/void/is_not_void.ts +90 -0
- package/src/void/is_void.ts +91 -0
- package/src/void/readme.md +108 -0
- package/README.md +0 -1356
- 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 -37
- 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 -40
- 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 +0 -3
- 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 -29
- 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/any/any_type.d.ts +0 -63
- package/esm/any/any_type.d.ts.map +0 -1
- package/esm/any/any_type.js +0 -2
- package/esm/any/any_type.js.map +0 -1
- package/esm/array/array_index.d.ts +0 -37
- 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/array/array_type.d.ts +0 -66
- package/esm/array/array_type.d.ts.map +0 -1
- package/esm/array/array_type.js +0 -2
- package/esm/array/array_type.js.map +0 -1
- package/esm/bigint/bigint_type.d.ts +0 -54
- package/esm/bigint/bigint_type.d.ts.map +0 -1
- package/esm/bigint/bigint_type.js +0 -2
- package/esm/bigint/bigint_type.js.map +0 -1
- package/esm/bigint/strict_bigint_type.d.ts +0 -56
- package/esm/bigint/strict_bigint_type.d.ts.map +0 -1
- package/esm/bigint/strict_bigint_type.js +0 -2
- package/esm/bigint/strict_bigint_type.js.map +0 -1
- package/esm/boolean/boolean_type.d.ts +0 -56
- package/esm/boolean/boolean_type.d.ts.map +0 -1
- package/esm/boolean/boolean_type.js +0 -2
- package/esm/boolean/boolean_type.js.map +0 -1
- package/esm/boolean/false_type.d.ts +0 -49
- package/esm/boolean/false_type.d.ts.map +0 -1
- package/esm/boolean/false_type.js +0 -2
- package/esm/boolean/false_type.js.map +0 -1
- package/esm/boolean/strict_boolean_type.d.ts +0 -53
- package/esm/boolean/strict_boolean_type.d.ts.map +0 -1
- package/esm/boolean/strict_boolean_type.js +0 -2
- package/esm/boolean/strict_boolean_type.js.map +0 -1
- package/esm/boolean/true_type.d.ts +0 -49
- package/esm/boolean/true_type.d.ts.map +0 -1
- package/esm/boolean/true_type.js +0 -2
- package/esm/boolean/true_type.js.map +0 -1
- package/esm/function/function_type.d.ts +0 -59
- package/esm/function/function_type.d.ts.map +0 -1
- package/esm/function/function_type.js +0 -2
- package/esm/function/function_type.js.map +0 -1
- package/esm/function/strict_function_type.d.ts +0 -49
- package/esm/function/strict_function_type.d.ts.map +0 -1
- package/esm/function/strict_function_type.js +0 -2
- package/esm/function/strict_function_type.js.map +0 -1
- package/esm/merge.d.ts +0 -55
- package/esm/merge.d.ts.map +0 -1
- package/esm/merge.js +0 -14
- package/esm/merge.js.map +0 -1
- package/esm/mix_types/any_or_never_type.d.ts +0 -37
- package/esm/mix_types/any_or_never_type.d.ts.map +0 -1
- package/esm/mix_types/any_or_never_type.js +0 -2
- package/esm/mix_types/any_or_never_type.js.map +0 -1
- package/esm/never/never_type.d.ts +0 -62
- package/esm/never/never_type.d.ts.map +0 -1
- package/esm/never/never_type.js +0 -2
- package/esm/never/never_type.js.map +0 -1
- package/esm/null/null_type.d.ts +0 -50
- package/esm/null/null_type.d.ts.map +0 -1
- package/esm/null/null_type.js +0 -2
- package/esm/null/null_type.js.map +0 -1
- package/esm/number/number_type.d.ts +0 -50
- package/esm/number/number_type.d.ts.map +0 -1
- package/esm/number/number_type.js +0 -2
- package/esm/number/number_type.js.map +0 -1
- package/esm/number/strict_number_type.d.ts +0 -65
- package/esm/number/strict_number_type.d.ts.map +0 -1
- package/esm/number/strict_number_type.js +0 -2
- package/esm/number/strict_number_type.js.map +0 -1
- package/esm/numeric/integer.d.ts +0 -69
- package/esm/numeric/integer.d.ts.map +0 -1
- package/esm/numeric/integer.js +0 -2
- package/esm/numeric/integer.js.map +0 -1
- package/esm/numeric/negative.d.ts +0 -70
- package/esm/numeric/negative.d.ts.map +0 -1
- package/esm/numeric/negative.js +0 -2
- package/esm/numeric/negative.js.map +0 -1
- package/esm/numeric/positive.d.ts +0 -53
- package/esm/numeric/positive.d.ts.map +0 -1
- package/esm/numeric/positive.js +0 -2
- package/esm/numeric/positive.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/esm/object/OptionalKeys.d.ts +0 -8
- package/esm/object/OptionalKeys.d.ts.map +0 -1
- package/esm/object/OptionalKeys.js +0 -2
- package/esm/object/OptionalKeys.js.map +0 -1
- package/esm/object/object_type.d.ts +0 -54
- package/esm/object/object_type.d.ts.map +0 -1
- package/esm/object/object_type.js +0 -2
- package/esm/object/object_type.js.map +0 -1
- package/esm/string/strict_string_type.d.ts +0 -61
- package/esm/string/strict_string_type.d.ts.map +0 -1
- package/esm/string/strict_string_type.js +0 -2
- package/esm/string/strict_string_type.js.map +0 -1
- package/esm/string/string_type.d.ts +0 -58
- package/esm/string/string_type.d.ts.map +0 -1
- package/esm/string/string_type.js +0 -2
- package/esm/string/string_type.js.map +0 -1
- package/esm/symbol/symbol_type.d.ts +0 -50
- package/esm/symbol/symbol_type.d.ts.map +0 -1
- package/esm/symbol/symbol_type.js +0 -2
- package/esm/symbol/symbol_type.js.map +0 -1
- package/esm/tuple/tuple_type.d.ts +0 -77
- package/esm/tuple/tuple_type.d.ts.map +0 -1
- package/esm/tuple/tuple_type.js +0 -2
- package/esm/tuple/tuple_type.js.map +0 -1
- package/esm/undefined/undefined_type.d.ts +0 -53
- package/esm/undefined/undefined_type.d.ts.map +0 -1
- package/esm/undefined/undefined_type.js +0 -2
- package/esm/undefined/undefined_type.js.map +0 -1
- package/esm/unknown/unknown_type.d.ts +0 -63
- package/esm/unknown/unknown_type.d.ts.map +0 -1
- package/esm/unknown/unknown_type.js +0 -2
- package/esm/unknown/unknown_type.js.map +0 -1
- package/esm/utils/NonNull.d.ts +0 -2
- package/esm/utils/NonNull.d.ts.map +0 -1
- package/esm/utils/NonNull.js +0 -2
- package/esm/utils/NonNull.js.map +0 -1
- package/esm/utils/NonUndefined.d.ts +0 -2
- package/esm/utils/NonUndefined.d.ts.map +0 -1
- package/esm/utils/NonUndefined.js +0 -2
- package/esm/utils/NonUndefined.js.map +0 -1
- package/esm/void/void_type.d.ts +0 -43
- package/esm/void/void_type.d.ts.map +0 -1
- package/esm/void/void_type.js +0 -2
- package/esm/void/void_type.js.map +0 -1
- package/ts/any/any_type.ts +0 -65
- package/ts/any/readme.md +0 -110
- package/ts/array/array.at.ts +0 -30
- package/ts/array/array.entries.ts +0 -26
- package/ts/array/array.find_last.ts +0 -29
- package/ts/array/array.reverse.ts +0 -16
- package/ts/array/array.some.ts +0 -67
- package/ts/array/array_index.ts +0 -83
- package/ts/array/array_plus.common_prop_keys.ts +0 -35
- package/ts/array/array_plus.concat.ts +0 -15
- package/ts/array/array_plus.drop_match.ts +0 -16
- package/ts/array/array_plus.element_match.ts +0 -61
- package/ts/array/array_plus.filter.ts +0 -5
- package/ts/array/array_plus.find.ts +0 -71
- package/ts/array/array_plus.pad_start.ts +0 -13
- package/ts/array/array_plus.split_at.ts +0 -74
- package/ts/array/array_plus.ts +0 -14
- package/ts/array/array_type.ts +0 -71
- package/ts/array/filter.ts +0 -32
- package/ts/array/find_first.ts +0 -71
- package/ts/array/head.ts +0 -40
- package/ts/array/intersect_of_props.ts +0 -21
- package/ts/array/last.ts +0 -38
- package/ts/array/pad_start.ts +0 -39
- package/ts/array/readme.md +0 -497
- package/ts/array/union_of_props.ts +0 -17
- package/ts/array/union_of_values.ts +0 -14
- package/ts/assertion/assert_type.ts +0 -119
- package/ts/bigint/bigint_type.ts +0 -57
- package/ts/bigint/readme.md +0 -51
- package/ts/bigint/strict_bigint_type.ts +0 -61
- package/ts/boolean/boolean_type.ts +0 -61
- package/ts/boolean/false_type.ts +0 -53
- package/ts/boolean/readme.md +0 -85
- package/ts/boolean/strict_boolean_type.ts +0 -57
- package/ts/boolean/true_type.ts +0 -53
- package/ts/class/AnyConstructor.ts +0 -1
- package/ts/class/isConstructor.ts +0 -34
- package/ts/equal/equal.ts +0 -142
- package/ts/function/function_type.ts +0 -64
- package/ts/function/strict_function_type.ts +0 -53
- package/ts/functional/Maybe.ts +0 -22
- package/ts/functional/compose.ts +0 -17
- package/ts/functional/context.ts +0 -66
- package/ts/index.ts +0 -121
- package/ts/math/abs.ts +0 -18
- package/ts/math/greater_than.ts +0 -12
- package/ts/math/index.ts +0 -7
- package/ts/math/max.ts +0 -13
- package/ts/math/numeric_struct.ts +0 -656
- package/ts/merge.ts +0 -72
- package/ts/mix_types/any_or_never_type.ts +0 -38
- package/ts/mix_types/readme.md +0 -40
- package/ts/never/never_type.ts +0 -70
- package/ts/never/readme.md +0 -37
- package/ts/nominal/brand.ts +0 -43
- package/ts/nominal/flavor.ts +0 -53
- package/ts/nominal/nominal_match.ts +0 -22
- package/ts/null/null_type.ts +0 -53
- package/ts/null/readme.md +0 -24
- package/ts/number/number_plus.ts +0 -20
- package/ts/number/number_type.ts +0 -53
- package/ts/number/readme.md +0 -47
- package/ts/number/strict_number_type.ts +0 -69
- package/ts/numeric/integer.ts +0 -75
- package/ts/numeric/negative.ts +0 -101
- package/ts/numeric/numeric_plus.ts +0 -12
- package/ts/numeric/numeric_type.ts +0 -64
- package/ts/numeric/positive.ts +0 -60
- package/ts/object/ANotB.ts +0 -12
- package/ts/object/IsDisjoint.ts +0 -12
- package/ts/object/KeysWithDiffType.ts +0 -9
- package/ts/object/KnownKeys.ts +0 -17
- package/ts/object/OptionalKeys.ts +0 -9
- package/ts/object/RecursiveIntersect.ts +0 -25
- package/ts/object/RecursiveRequired.ts +0 -9
- package/ts/object/Required.ts +0 -9
- package/ts/object/RequiredKeys.ts +0 -8
- package/ts/object/facade.ts +0 -214
- package/ts/object/forEachKey.ts +0 -9
- package/ts/object/hasKey.ts +0 -7
- package/ts/object/index.ts +0 -38
- package/ts/object/left_join.ts +0 -19
- package/ts/object/mapProperties.ts +0 -22
- package/ts/object/object_type.ts +0 -57
- package/ts/object/omit.ts +0 -224
- package/ts/object/optional_key.ts +0 -38
- package/ts/object/pick.ts +0 -220
- package/ts/object/readme.md +0 -65
- package/ts/object/record.ts +0 -23
- package/ts/object/recursive_partial.ts +0 -39
- package/ts/object/replaceProperty.ts +0 -11
- package/ts/object/split.ts +0 -203
- package/ts/object/typeOverrideIncompatible.ts +0 -10
- package/ts/predicates/CanAssign.ts +0 -71
- package/ts/predicates/Extends.ts +0 -4
- package/ts/predicates/index.ts +0 -7
- package/ts/predicates/literal.ts +0 -35
- package/ts/promise/index.ts +0 -5
- package/ts/string/strict_string_type.ts +0 -65
- package/ts/string/string.ts +0 -36
- package/ts/string/string_plus.ts +0 -33
- package/ts/string/string_type.ts +0 -61
- package/ts/symbol/symbol_type.ts +0 -53
- package/ts/testing/stub.ts +0 -80
- package/ts/testing/test_type.ts +0 -317
- package/ts/tuple/common_prop_keys.ts +0 -41
- package/ts/tuple/create_tuple.ts +0 -42
- package/ts/tuple/drop.ts +0 -125
- package/ts/tuple/readme.md +0 -282
- package/ts/tuple/tail.ts +0 -12
- package/ts/tuple/tuple_plus.common_prop_keys.ts +0 -47
- package/ts/tuple/tuple_plus.filter.ts +0 -29
- package/ts/tuple/tuple_plus.find.ts +0 -88
- package/ts/tuple/tuple_plus.pad_start.ts +0 -58
- package/ts/tuple/tuple_type.ts +0 -106
- package/ts/type/no_infer.ts +0 -27
- package/ts/type-guard/is_type.ts +0 -52
- package/ts/undefined/readme.md +0 -18
- package/ts/undefined/undefined_type.ts +0 -57
- package/ts/union/readme.md +0 -81
- package/ts/union/union.ts +0 -37
- package/ts/unknown/readme.md +0 -27
- package/ts/unknown/unknown_type.ts +0 -68
- package/ts/utils/NonNull.ts +0 -1
- package/ts/utils/NonUndefined.ts +0 -1
- package/ts/utils/index.ts +0 -63
- package/ts/utils/options.ts +0 -10
- package/ts/void/readme.md +0 -26
- package/ts/void/void_type.ts +0 -50
- /package/{ts → src}/array/literal_array.ts +0 -0
- /package/{ts → src}/array/reduce_while.ts +0 -0
- /package/{ts → src}/array/reverse.ts +0 -0
- /package/{ts → src}/assertion/readme.md +0 -0
- /package/{ts → src}/bigint/cast.ts +0 -0
- /package/{ts → src}/binary/Bit.ts +0 -0
- /package/{ts → src}/binary/_binary.ts +0 -0
- /package/{ts → src}/binary/index.ts +0 -0
- /package/{ts → src}/class/index.ts +0 -0
- /package/{ts → src}/composable_types.ts +0 -0
- /package/{ts → src}/equal/readme.md +0 -0
- /package/{ts → src}/function/any_function.ts +0 -0
- /package/{ts → src}/function/extract_function.ts +0 -0
- /package/{ts → src}/function/readme.md +0 -0
- /package/{ts → src}/functional/ChainFn.ts +0 -0
- /package/{ts → src}/functional/index.ts +0 -0
- /package/{ts → src}/json.ts +0 -0
- /package/{ts → src}/math/README.md +0 -0
- /package/{ts → src}/math/add.ts +0 -0
- /package/{ts → src}/math/math_plus.to_negative.ts +0 -0
- /package/{ts → src}/math/math_plus.ts +0 -0
- /package/{ts → src}/math/multiply.ts +0 -0
- /package/{ts → src}/math/subtract.ts +0 -0
- /package/{ts → src}/nodejs/index.ts +0 -0
- /package/{ts → src}/nodejs/isNodeError.ts +0 -0
- /package/{ts → src}/nominal/constants.ts +0 -0
- /package/{ts → src}/nominal/index.ts +0 -0
- /package/{ts → src}/number/cast.ts +0 -0
- /package/{ts → src}/number/number_array.ts +0 -0
- /package/{ts → src}/numeric/cast.ts +0 -0
- /package/{ts → src}/numeric/readme.md +0 -0
- /package/{ts → src}/object/ExcludePropType.ts +0 -0
- /package/{ts → src}/object/IsRecord.ts +0 -0
- /package/{ts → src}/object/KeyTypes.ts +0 -0
- /package/{ts → src}/object/KeyofOptional.ts +0 -0
- /package/{ts → src}/object/Partial.ts +0 -0
- /package/{ts → src}/object/SpreadRecord.ts +0 -0
- /package/{ts → src}/object/ValueOf.ts +0 -0
- /package/{ts/object/AnyRecord.ts → src/object/any_record.ts} +0 -0
- /package/{ts → src}/object/everyKey.ts +0 -0
- /package/{ts → src}/object/filterKey.ts +0 -0
- /package/{ts → src}/object/findKey.ts +0 -0
- /package/{ts → src}/object/getField.ts +0 -0
- /package/{ts → src}/object/hasProperty.ts +0 -0
- /package/{ts → src}/object/mapKey.ts +0 -0
- /package/{ts → src}/object/properties.ts +0 -0
- /package/{ts → src}/object/reduceKey.ts +0 -0
- /package/{ts → src}/object/someKey.ts +0 -0
- /package/{ts → src}/predicates/If.ts +0 -0
- /package/{ts → src}/predicates/IsEmptyObject.ts +0 -0
- /package/{ts → src}/predicates/logical.ts +0 -0
- /package/{ts → src}/primitive.ts +0 -0
- /package/{ts → src}/promise/MaybePromise.ts +0 -0
- /package/{ts → src}/promise/PromiseValue.ts +0 -0
- /package/{ts → src}/promise/PromiseValueMerge.ts +0 -0
- /package/{ts → src}/promise/isPromise.ts +0 -0
- /package/{ts → src}/promise/mapSeries.ts +0 -0
- /package/{ts → src}/string/readme.md +0 -0
- /package/{ts → src}/symbol/readme.md +0 -0
- /package/{ts → src}/testing/readme.md +0 -0
- /package/{ts → src}/tuple/tuple_plus.drop_match.ts +0 -0
- /package/{ts → src}/tuple/tuple_plus.ts +0 -0
- /package/{ts → src}/type/failed.ts +0 -0
- /package/{ts → src}/type/readme.md +0 -0
- /package/{ts → src}/type-guard/readme.md +0 -0
- /package/{ts → src}/union/union_to_intersection.ts +0 -0
- /package/{ts → src}/union_keys.ts +0 -0
- /package/{ts → src}/unpartial.ts +0 -0
- /package/{ts → src}/utils/Widen.ts +0 -0
- /package/{ts → src}/utils/as.ts +0 -0
- /package/{ts → src}/utils/inspect.ts +0 -0
|
@@ -0,0 +1,656 @@
|
|
|
1
|
+
import type { Tail } from '../tuple/tail.js'
|
|
2
|
+
import type { PadStart } from '../tuple/tuple_plus.pad_start.js'
|
|
3
|
+
import type { Add as NumericAdd } from './add.js'
|
|
4
|
+
import type { ToNegative } from './math_plus.to_negative.js'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal numeric representation to perform math operations.
|
|
8
|
+
*
|
|
9
|
+
* NumericStruct: `[Type, DigitsStruct]`
|
|
10
|
+
* DigitsStruct: `[Sign, Digits, Exponent]`
|
|
11
|
+
*
|
|
12
|
+
* It is similar to the floating point representation with some minor differences.
|
|
13
|
+
*
|
|
14
|
+
* @template Type Type of the value, either `number` or `bigint`.
|
|
15
|
+
* It captures the original type of the value,
|
|
16
|
+
* so that at the end of the operation,
|
|
17
|
+
* the value can be adjusted accordingly.
|
|
18
|
+
*
|
|
19
|
+
* @template Sign Sign of the value, either `+` or `-`.
|
|
20
|
+
*
|
|
21
|
+
* @template Digits Digits of the value.
|
|
22
|
+
* It is a tuple of digits,
|
|
23
|
+
* where each digits can range from 0 to 9 during input,
|
|
24
|
+
* and range from -10 to 89 during operation.
|
|
25
|
+
* The max 89 comes from multiplication:
|
|
26
|
+
*
|
|
27
|
+
* ```
|
|
28
|
+
* 99 * 9
|
|
29
|
+
* => [[ 9, 9], 0]
|
|
30
|
+
* * [ [9], 0]
|
|
31
|
+
* => [[ 81, 81], 0]
|
|
32
|
+
* => [[ 89, 1], 0]
|
|
33
|
+
* => [[ 8, 9, 1], 0]
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* While -10 comes from subtraction:
|
|
37
|
+
*
|
|
38
|
+
* ```
|
|
39
|
+
* 100 - 99 = 1
|
|
40
|
+
* => [[ 1, 0, 0], 0]
|
|
41
|
+
* - [[ 9, 9], 0]
|
|
42
|
+
* => [[ 1, -9, -9], 0]
|
|
43
|
+
* => [[ 1,-10, 1], 0] // here, as in intermediate step
|
|
44
|
+
* => [[ 0, 0, 1], 0]
|
|
45
|
+
* => [[1], 0]
|
|
46
|
+
* => 1
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
*
|
|
50
|
+
* Unlike floating point numbers, the digits length is not limited.
|
|
51
|
+
*
|
|
52
|
+
* @template Exponent Exponent is the negative exponent of the number.
|
|
53
|
+
*
|
|
54
|
+
* ```
|
|
55
|
+
* 1.23 = 123e^-2 = [[1, 2, 3], 2]
|
|
56
|
+
* 0.0123 = 123e^-4 = [[1, 2, 3], 4]
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* There are 2 kinds of `NumericStruct`:
|
|
60
|
+
* - Normalized: The `NumericStruct` is clean and can be converted to/from `number` or `bigint`
|
|
61
|
+
* - Not normalized: The `DigitsStruct` within the `NumericStruct` is normalized,
|
|
62
|
+
* but may need to convert between `number` and `bigint`.\
|
|
63
|
+
* e.g. bigint + float => float (if possible), number + number => bigint (too big)
|
|
64
|
+
*
|
|
65
|
+
* During operations, the `DigitsStruct` can be not normalized,
|
|
66
|
+
* but each operation should always normalize the `DigitsStruct` before returning.
|
|
67
|
+
* Each operations assume the input `DigitsStruct` is normalized.
|
|
68
|
+
*
|
|
69
|
+
* All operations are performed in similar way:
|
|
70
|
+
*
|
|
71
|
+
* value -> NormalizedNumericStruct -> operation(NormalizedDigitsStruct) -> NormalizedNumericStruct -> Value
|
|
72
|
+
*
|
|
73
|
+
* This allows the operations to be composable.
|
|
74
|
+
* */
|
|
75
|
+
export type NumericStruct = ['bigint' | 'number', DigitsStruct]
|
|
76
|
+
// These are used to reference the NumericStruct values
|
|
77
|
+
export type TYPE = 0
|
|
78
|
+
export type DIGITS_STRUCT = 1
|
|
79
|
+
|
|
80
|
+
export namespace NumericStruct {
|
|
81
|
+
/**
|
|
82
|
+
* Creates a `NumericStruct` from number or bigint `N`.
|
|
83
|
+
*/
|
|
84
|
+
export type FromNumeric<N extends number | bigint, Fail = never> = N extends number
|
|
85
|
+
? number extends N
|
|
86
|
+
? Fail
|
|
87
|
+
: ['number', DigitsStruct.FromNumber<N>]
|
|
88
|
+
: N extends bigint
|
|
89
|
+
? bigint extends N
|
|
90
|
+
? Fail
|
|
91
|
+
: ['bigint', DigitsStruct.FromBigint<N>]
|
|
92
|
+
: never
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Converts a `NumericStruct` to a number or bigint.
|
|
96
|
+
*
|
|
97
|
+
* It includes the normalization of the `NumericStruct`.
|
|
98
|
+
*/
|
|
99
|
+
export type ToNumeric<M extends NumericStruct> = DigitsStruct.ToString<
|
|
100
|
+
M[DIGITS_STRUCT]
|
|
101
|
+
> extends infer S extends string
|
|
102
|
+
? M[TYPE] extends 'bigint'
|
|
103
|
+
? StringToBigint<S, StringToNumber<S, `The value '${S}' cannot be represented as bigint or number`>>
|
|
104
|
+
: StringToNumber<S, StringToBigint<S, `The value '${S}' cannot be represented as bigint or number`>>
|
|
105
|
+
: never
|
|
106
|
+
|
|
107
|
+
export type Add<A extends NumericStruct, B extends NumericStruct> = [
|
|
108
|
+
A[TYPE],
|
|
109
|
+
DigitsStruct.Add<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
export type Subtract<A extends NumericStruct, B extends NumericStruct> = [
|
|
113
|
+
A[TYPE],
|
|
114
|
+
DigitsStruct.Subtract<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
|
|
115
|
+
]
|
|
116
|
+
|
|
117
|
+
export type Multiply<A extends NumericStruct, B extends NumericStruct> = [
|
|
118
|
+
A[TYPE],
|
|
119
|
+
DigitsStruct.Multiply<A[DIGITS_STRUCT], B[DIGITS_STRUCT]>
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// TODO: move into `NumericHelpers`
|
|
124
|
+
type StringToBigint<S extends string, Fail> = S extends `${infer N extends bigint}` ? N : Fail
|
|
125
|
+
|
|
126
|
+
// TODO: move into `NumericHelpers`
|
|
127
|
+
export type StringToNumber<S extends string, Fail> = S extends `${infer N extends number}`
|
|
128
|
+
? number extends N
|
|
129
|
+
? Fail
|
|
130
|
+
: N
|
|
131
|
+
: Fail
|
|
132
|
+
|
|
133
|
+
export type DigitsStruct = [Sign: '+' | '-', Digits: number[], Exponent: number]
|
|
134
|
+
// These are used to reference the DigitsStruct values
|
|
135
|
+
export type SIGN = 0
|
|
136
|
+
export type DIGITS = 1
|
|
137
|
+
export type EXPONENT = 2
|
|
138
|
+
|
|
139
|
+
export namespace DigitsStruct {
|
|
140
|
+
/**
|
|
141
|
+
* Creates a `DigitsStruct` from number `N`.
|
|
142
|
+
*
|
|
143
|
+
* @template N Number to create `DigitsStruct` from.
|
|
144
|
+
*/
|
|
145
|
+
export type FromNumber<N extends number> = `${N}` extends `-${infer R}`
|
|
146
|
+
? R extends `${infer W}.${infer F}`
|
|
147
|
+
? [DigitArray.FromString<W>, DigitArray.FromString<F>] extends [
|
|
148
|
+
infer WA extends number[],
|
|
149
|
+
infer FA extends number[]
|
|
150
|
+
]
|
|
151
|
+
? ['-', DigitArray.TrimLeadingZeros<[...WA, ...FA]>, FA['length']]
|
|
152
|
+
: never
|
|
153
|
+
: ['-', DigitArray.FromString<R>, 0]
|
|
154
|
+
: `${N}` extends `${infer W}.${infer F}`
|
|
155
|
+
? [DigitArray.FromString<W>, DigitArray.FromString<F>] extends [
|
|
156
|
+
infer WA extends number[],
|
|
157
|
+
infer FA extends number[]
|
|
158
|
+
]
|
|
159
|
+
? ['+', DigitArray.TrimLeadingZeros<[...WA, ...FA]>, FA['length']]
|
|
160
|
+
: never
|
|
161
|
+
: ['+', DigitArray.FromString<`${N}`>, 0]
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Creates a `DigitsStruct` from bigint `N`.
|
|
165
|
+
*
|
|
166
|
+
* @template N Number to create `DigitsStruct` from.
|
|
167
|
+
*/
|
|
168
|
+
export type FromBigint<N extends bigint> = `${N}` extends `-${infer R}`
|
|
169
|
+
? ['-', DigitArray.FromString<R>, 0]
|
|
170
|
+
: ['+', DigitArray.FromString<`${N}`>, 0]
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Converts a `DigitsStruct` to string.
|
|
174
|
+
*
|
|
175
|
+
* @template D A normalized `DigitsStruct`.
|
|
176
|
+
*/
|
|
177
|
+
export type ToString<D extends DigitsStruct> = (
|
|
178
|
+
PadStart<D[DIGITS], D[EXPONENT], 0> extends infer Padded extends number[]
|
|
179
|
+
? Padded['length'] extends D[EXPONENT]
|
|
180
|
+
? DigitArray.ToString<[0, '.', ...DigitArray.TrimTrailingZeros<Padded>]>
|
|
181
|
+
: SplitFloat<Padded, D[EXPONENT]> extends [infer W extends number[], infer F extends number[]]
|
|
182
|
+
? F extends []
|
|
183
|
+
? DigitArray.ToString<W>
|
|
184
|
+
: DigitArray.ToString<[...W, '.', ...DigitArray.TrimTrailingZeros<F>]>
|
|
185
|
+
: never
|
|
186
|
+
: never
|
|
187
|
+
) extends infer R
|
|
188
|
+
? R extends '0'
|
|
189
|
+
? R
|
|
190
|
+
: R extends string
|
|
191
|
+
? D[SIGN] extends '-'
|
|
192
|
+
? `-${R}`
|
|
193
|
+
: R
|
|
194
|
+
: never
|
|
195
|
+
: never
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Splits DigitArray into the whole number and the fractional part.
|
|
199
|
+
*
|
|
200
|
+
* @note cannot use `ArrayPlus.SplitAt` as it causes infinite loop.
|
|
201
|
+
*/
|
|
202
|
+
type SplitFloat<A extends number[], I extends number, F extends number[] = []> = I extends 0
|
|
203
|
+
? [A, []]
|
|
204
|
+
: F['length'] extends I
|
|
205
|
+
? [A, F]
|
|
206
|
+
: A extends [...infer H extends number[], infer T extends number]
|
|
207
|
+
? SplitFloat<H, I, [T, ...F]>
|
|
208
|
+
: never
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Normalizes a `DigitsStruct`.
|
|
212
|
+
*
|
|
213
|
+
* The normalization two two things:
|
|
214
|
+
*
|
|
215
|
+
* - if the first digit is negative, it will flip the sign.
|
|
216
|
+
* - carry digits if the digit is negative or greater than 9.
|
|
217
|
+
*/
|
|
218
|
+
export type Normalize<
|
|
219
|
+
N extends DigitsStruct,
|
|
220
|
+
R extends DigitsStruct = ['+', [], 0]
|
|
221
|
+
> = `${N[DIGITS][0]}` extends `-${number}`
|
|
222
|
+
? Normalize<FlipSign<N>, R>
|
|
223
|
+
: [N[SIGN], DigitArray.CarryDigits<N[DIGITS]>, N[EXPONENT]]
|
|
224
|
+
|
|
225
|
+
type FlipSign<
|
|
226
|
+
D extends DigitsStruct,
|
|
227
|
+
I extends number[] = D[DIGITS],
|
|
228
|
+
R extends number[] = []
|
|
229
|
+
> = I extends []
|
|
230
|
+
? D[SIGN] extends '-'
|
|
231
|
+
? ['+', R, D[EXPONENT]]
|
|
232
|
+
: ['-', R, D[EXPONENT]]
|
|
233
|
+
: I extends [infer H extends number, ...infer T extends number[]]
|
|
234
|
+
? FlipSign<D, T, [...R, Digit.FlipSign<H>]>
|
|
235
|
+
: never
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Add `A` and `B`.
|
|
239
|
+
*
|
|
240
|
+
* @template A A normalized `DigitsStruct`.
|
|
241
|
+
* @template B B normalized `DigitsStruct`.
|
|
242
|
+
*/
|
|
243
|
+
export type Add<A extends DigitsStruct, B extends DigitsStruct> = Balance<A, B> extends [
|
|
244
|
+
infer BA extends DigitsStruct,
|
|
245
|
+
infer BB extends DigitsStruct
|
|
246
|
+
]
|
|
247
|
+
? [BA[SIGN], BB[SIGN]] extends ['+', '+']
|
|
248
|
+
? Normalize<['+', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
|
|
249
|
+
: [BA[SIGN], BB[SIGN]] extends ['+', '-']
|
|
250
|
+
? Normalize<['+', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
|
|
251
|
+
: [BA[SIGN], BB[SIGN]] extends ['-', '+']
|
|
252
|
+
? Normalize<['+', DigitArray.Subtract<BB[DIGITS], BA[DIGITS]>, BB[EXPONENT]]>
|
|
253
|
+
: [BA[SIGN], BB[SIGN]] extends ['-', '-']
|
|
254
|
+
? Normalize<['-', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
|
|
255
|
+
: never
|
|
256
|
+
: never
|
|
257
|
+
|
|
258
|
+
export type Subtract<A extends DigitsStruct, B extends DigitsStruct> = Balance<A, B> extends [
|
|
259
|
+
infer BA extends DigitsStruct,
|
|
260
|
+
infer BB extends DigitsStruct
|
|
261
|
+
]
|
|
262
|
+
? [BA[SIGN], BB[SIGN]] extends ['+', '+']
|
|
263
|
+
? Normalize<['+', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
|
|
264
|
+
: [BA[SIGN], BB[SIGN]] extends ['+', '-']
|
|
265
|
+
? Normalize<['+', DigitArray.Add<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
|
|
266
|
+
: [BA[SIGN], BB[SIGN]] extends ['-', '+']
|
|
267
|
+
? Normalize<['-', DigitArray.Add<BB[DIGITS], BA[DIGITS]>, BA[EXPONENT]]>
|
|
268
|
+
: [BA[SIGN], BB[SIGN]] extends ['-', '-']
|
|
269
|
+
? Normalize<['-', DigitArray.Subtract<BA[DIGITS], BB[DIGITS]>, BA[EXPONENT]]>
|
|
270
|
+
: never
|
|
271
|
+
: never
|
|
272
|
+
|
|
273
|
+
export type Multiply<A extends DigitsStruct, B extends DigitsStruct> = NumericAdd<
|
|
274
|
+
A[EXPONENT],
|
|
275
|
+
B[EXPONENT]
|
|
276
|
+
> extends infer Exp extends number
|
|
277
|
+
? [A[SIGN], B[SIGN]] extends ['+', '+']
|
|
278
|
+
? Normalize<['+', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]>
|
|
279
|
+
: [A[SIGN], B[SIGN]] extends ['+', '-']
|
|
280
|
+
? Normalize<['-', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]>
|
|
281
|
+
: [A[SIGN], B[SIGN]] extends ['-', '+']
|
|
282
|
+
? Normalize<['-', DigitArray.Multiply<B[DIGITS], A[DIGITS]>, Exp]>
|
|
283
|
+
: [A[SIGN], B[SIGN]] extends ['-', '-']
|
|
284
|
+
? Normalize<['+', DigitArray.Multiply<A[DIGITS], B[DIGITS]>, Exp]>
|
|
285
|
+
: never
|
|
286
|
+
: never
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Balance the two structs for add/subtract.
|
|
290
|
+
*/
|
|
291
|
+
export type Balance<A extends DigitsStruct, B extends DigitsStruct> = GetBalancePadding<
|
|
292
|
+
A[EXPONENT],
|
|
293
|
+
B[EXPONENT]
|
|
294
|
+
> extends [infer Pads extends number[], infer Longer]
|
|
295
|
+
? Longer extends 'A'
|
|
296
|
+
? [A, [B[SIGN], DigitArray.TrimLeadingZeros<[...B[DIGITS], ...Pads]>, A[EXPONENT]]]
|
|
297
|
+
: [[A[SIGN], DigitArray.TrimLeadingZeros<[...A[DIGITS], ...Pads]>, B[EXPONENT]], B]
|
|
298
|
+
: never
|
|
299
|
+
|
|
300
|
+
type GetBalancePadding<
|
|
301
|
+
A extends number,
|
|
302
|
+
B extends number,
|
|
303
|
+
C extends number[] = [],
|
|
304
|
+
R extends number[] = []
|
|
305
|
+
> = A extends B
|
|
306
|
+
? [[], 'A']
|
|
307
|
+
: R extends []
|
|
308
|
+
? // have not reach min yet
|
|
309
|
+
C['length'] extends A
|
|
310
|
+
? GetBalancePadding<A, B, [0, ...C], [0]>
|
|
311
|
+
: C['length'] extends B
|
|
312
|
+
? GetBalancePadding<A, B, [0, ...C], [0, ...R]>
|
|
313
|
+
: GetBalancePadding<A, B, [0, ...C], []>
|
|
314
|
+
: C['length'] extends A
|
|
315
|
+
? [R, 'A']
|
|
316
|
+
: C['length'] extends B
|
|
317
|
+
? [R, 'B']
|
|
318
|
+
: GetBalancePadding<A, B, [0, ...C], [0, ...R]>
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* This is used to align the `NumberStruct` during `Add/Subtract`.
|
|
322
|
+
*/
|
|
323
|
+
export type GetMinPadEnd<
|
|
324
|
+
A extends number,
|
|
325
|
+
B extends number,
|
|
326
|
+
R extends number[] = []
|
|
327
|
+
> = R['length'] extends A ? [R, 'B'] : R['length'] extends B ? [R, 'A'] : GetMinPadEnd<A, B, [0, ...R]>
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
export namespace DigitArray {
|
|
331
|
+
export type FromString<S extends string> = S extends `1${infer L}`
|
|
332
|
+
? [1, ...FromString<L>]
|
|
333
|
+
: S extends `2${infer L}`
|
|
334
|
+
? [2, ...FromString<L>]
|
|
335
|
+
: S extends `3${infer L}`
|
|
336
|
+
? [3, ...FromString<L>]
|
|
337
|
+
: S extends `4${infer L}`
|
|
338
|
+
? [4, ...FromString<L>]
|
|
339
|
+
: S extends `5${infer L}`
|
|
340
|
+
? [5, ...FromString<L>]
|
|
341
|
+
: S extends `6${infer L}`
|
|
342
|
+
? [6, ...FromString<L>]
|
|
343
|
+
: S extends `7${infer L}`
|
|
344
|
+
? [7, ...FromString<L>]
|
|
345
|
+
: S extends `8${infer L}`
|
|
346
|
+
? [8, ...FromString<L>]
|
|
347
|
+
: S extends `9${infer L}`
|
|
348
|
+
? [9, ...FromString<L>]
|
|
349
|
+
: S extends `0${infer L}`
|
|
350
|
+
? [0, ...FromString<L>]
|
|
351
|
+
: S extends `-1${infer L}`
|
|
352
|
+
? [-1, ...FromString<L>]
|
|
353
|
+
: S extends `-2${infer L}`
|
|
354
|
+
? [-2, ...FromString<L>]
|
|
355
|
+
: S extends `-3${infer L}`
|
|
356
|
+
? [-3, ...FromString<L>]
|
|
357
|
+
: S extends `-4${infer L}`
|
|
358
|
+
? [-4, ...FromString<L>]
|
|
359
|
+
: S extends `-5${infer L}`
|
|
360
|
+
? [-5, ...FromString<L>]
|
|
361
|
+
: S extends `-6${infer L}`
|
|
362
|
+
? [-6, ...FromString<L>]
|
|
363
|
+
: S extends `-7${infer L}`
|
|
364
|
+
? [-7, ...FromString<L>]
|
|
365
|
+
: S extends `-8${infer L}`
|
|
366
|
+
? [-8, ...FromString<L>]
|
|
367
|
+
: S extends `-9${infer L}`
|
|
368
|
+
? [-9, ...FromString<L>]
|
|
369
|
+
: S extends `-0${infer L}`
|
|
370
|
+
? [-0, ...FromString<L>]
|
|
371
|
+
: []
|
|
372
|
+
|
|
373
|
+
export type ToString<A extends Array<number | string>> = number extends A['length']
|
|
374
|
+
? ''
|
|
375
|
+
: A['length'] extends 0
|
|
376
|
+
? ''
|
|
377
|
+
: `${A[0]}${ToString<Tail<A>>}`
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* [0, 0, -1] => [-1]
|
|
381
|
+
*
|
|
382
|
+
* This is used in various places so that there will be less computation,
|
|
383
|
+
* and the sign bit can be handled properly.
|
|
384
|
+
*/
|
|
385
|
+
export type TrimLeadingZeros<T extends number[]> = T extends [0]
|
|
386
|
+
? T
|
|
387
|
+
: T extends [0, ...infer Tail extends number[]]
|
|
388
|
+
? TrimLeadingZeros<Tail>
|
|
389
|
+
: T
|
|
390
|
+
export type TrimTrailingZeros<T extends number[]> = T extends [0]
|
|
391
|
+
? T
|
|
392
|
+
: T extends [...infer Tail extends number[], 0]
|
|
393
|
+
? TrimTrailingZeros<Tail>
|
|
394
|
+
: T
|
|
395
|
+
|
|
396
|
+
export type Add<A extends number[], B extends number[], R extends number[] = []> = A extends []
|
|
397
|
+
? B extends []
|
|
398
|
+
? R
|
|
399
|
+
: B extends [...infer BH extends number[], infer BL extends number]
|
|
400
|
+
? Add<[], BH, [BL, ...R]>
|
|
401
|
+
: never
|
|
402
|
+
: B extends []
|
|
403
|
+
? A extends [...infer AH extends number[], infer AL extends number]
|
|
404
|
+
? Add<AH, [], [AL, ...R]>
|
|
405
|
+
: never
|
|
406
|
+
: [A, B] extends [
|
|
407
|
+
[...infer AH extends number[], infer AL extends number],
|
|
408
|
+
[...infer BH extends number[], infer BL extends number]
|
|
409
|
+
]
|
|
410
|
+
? Add<AH, BH, [Digit.Add<AL, BL>, ...R]>
|
|
411
|
+
: never
|
|
412
|
+
|
|
413
|
+
export type Subtract<A extends number[], B extends number[], R extends number[] = []> = A extends []
|
|
414
|
+
? B extends []
|
|
415
|
+
? TrimLeadingZeros<R>
|
|
416
|
+
: B extends [...infer BH extends number[], infer BL extends number]
|
|
417
|
+
? Subtract<[], BH, [ToNegative<BL>, ...R]>
|
|
418
|
+
: never
|
|
419
|
+
: B extends []
|
|
420
|
+
? A extends [...infer AH extends number[], infer AL extends number]
|
|
421
|
+
? Subtract<AH, [], [AL, ...R]>
|
|
422
|
+
: never
|
|
423
|
+
: [A, B] extends [
|
|
424
|
+
[...infer AH extends number[], infer AL extends number],
|
|
425
|
+
[...infer BH extends number[], infer BL extends number]
|
|
426
|
+
]
|
|
427
|
+
? Subtract<AH, BH, [Digit.Subtract<AL, BL>, ...R]>
|
|
428
|
+
: never
|
|
429
|
+
|
|
430
|
+
export type Multiply<A extends number[], B extends number[], R extends number[][] = []> = B extends []
|
|
431
|
+
? RecursiveAdd<R>
|
|
432
|
+
: B extends [infer Head extends number, ...infer Tail extends number[]]
|
|
433
|
+
? Multiply<A, Tail, [...R, CarryDigits<MultiplyArray<A, Head, Zeros<Tail['length']>>>]>
|
|
434
|
+
: never
|
|
435
|
+
|
|
436
|
+
type Zeros<N extends number, R extends number[] = []> = N extends unknown ? R['length'] extends N ? R : Zeros<N, [0, ...R]> : never
|
|
437
|
+
|
|
438
|
+
type MultiplyArray<
|
|
439
|
+
A extends number[],
|
|
440
|
+
B extends number,
|
|
441
|
+
Pad extends number[],
|
|
442
|
+
R extends number[] = []
|
|
443
|
+
> = B extends 0
|
|
444
|
+
? [0]
|
|
445
|
+
: B extends 1
|
|
446
|
+
? [...A, ...Pad]
|
|
447
|
+
: A extends []
|
|
448
|
+
? [...R, ...Pad]
|
|
449
|
+
: A extends [infer H extends number, ...infer T extends number[]]
|
|
450
|
+
? MultiplyArray<T, B, Pad, [...R, Digit.Multiply<H, B>]>
|
|
451
|
+
: never
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Recursively add digit arrays.
|
|
455
|
+
*
|
|
456
|
+
* This is used in multiplication.
|
|
457
|
+
*/
|
|
458
|
+
type RecursiveAdd<E extends number[][], R extends number[] = []> = E extends []
|
|
459
|
+
? R
|
|
460
|
+
: E extends [infer H extends number[], ...infer T extends number[][]]
|
|
461
|
+
? RecursiveAdd<T, CarryDigits<Add<R, H>>>
|
|
462
|
+
: never
|
|
463
|
+
|
|
464
|
+
export type CarryDigits<N extends number[], R extends number[] = []> = N extends []
|
|
465
|
+
? TrimLeadingZeros<R>
|
|
466
|
+
: N extends [infer Tail extends number]
|
|
467
|
+
? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}`
|
|
468
|
+
? CarryDigits<[], [T1, T2, ...R]>
|
|
469
|
+
: `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}`
|
|
470
|
+
? `-${T1}` extends `${infer NT extends number}`
|
|
471
|
+
? CarryDigits<[], [NT, T2, ...R]>
|
|
472
|
+
: never
|
|
473
|
+
: CarryDigits<[], [Tail, ...R]>
|
|
474
|
+
: N extends [infer Head extends number, infer Tail extends number]
|
|
475
|
+
? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}`
|
|
476
|
+
? CarryDigits<[Digit.Add<Head, T1>], [T2, ...R]>
|
|
477
|
+
: `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}`
|
|
478
|
+
? `-${T1}` extends `${infer NT extends number}`
|
|
479
|
+
? CarryDigits<[Digit.Add<Head, NT>], [T2, ...R]>
|
|
480
|
+
: never
|
|
481
|
+
: `${Tail}` extends `-${number}`
|
|
482
|
+
? CarryDigits<[Digit.Add<Head, -1>], [Digit.Plus10[Tail], ...R]>
|
|
483
|
+
: CarryDigits<[Head], [Tail, ...R]>
|
|
484
|
+
: N extends [...infer Heads extends number[], infer Head extends number, infer Tail extends number]
|
|
485
|
+
? `${Tail}` extends `${infer T1 extends number}${infer T2 extends number}`
|
|
486
|
+
? CarryDigits<[...Heads, Digit.Add<Head, T1>], [T2, ...R]>
|
|
487
|
+
: `${Tail}` extends `-${infer T1 extends number}${infer T2 extends number}`
|
|
488
|
+
? `-${T1}` extends `${infer NT extends number}`
|
|
489
|
+
? CarryDigits<[...Heads, Digit.Add<Head, NT>], [T2, ...R]>
|
|
490
|
+
: never
|
|
491
|
+
: `${Tail}` extends `-${number}`
|
|
492
|
+
? CarryDigits<[...Heads, Digit.Add<Head, -1>], [Digit.Plus10[Tail], ...R]>
|
|
493
|
+
: CarryDigits<[...Heads, Head], [Tail, ...R]>
|
|
494
|
+
: never
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
export namespace Digit {
|
|
498
|
+
/**
|
|
499
|
+
* Adds two `Digit`.
|
|
500
|
+
*
|
|
501
|
+
* add: A: 0 - 9, B: 0 - 9
|
|
502
|
+
* normalize: [81, 81] -> [81 + 8, 1]
|
|
503
|
+
*/
|
|
504
|
+
export type Add<A extends number, B extends number> = `${A}` extends `-${infer AD extends number}`
|
|
505
|
+
? `${B}` extends `-${infer BD extends number}`
|
|
506
|
+
? ToNegative<PositiveEntryAdd<AD, BD>>
|
|
507
|
+
: Subtract<B, AD>
|
|
508
|
+
: `${B}` extends `-${infer BD extends number}`
|
|
509
|
+
? Subtract<A, BD>
|
|
510
|
+
: PositiveEntryAdd<A, B>
|
|
511
|
+
|
|
512
|
+
export type FlipSign<T extends number> = T extends 0
|
|
513
|
+
? 0
|
|
514
|
+
: `${T}` extends `-${infer R extends number}`
|
|
515
|
+
? R
|
|
516
|
+
: `-${T}` extends `${infer R extends number}`
|
|
517
|
+
? R
|
|
518
|
+
: never
|
|
519
|
+
|
|
520
|
+
type PositiveEntryAdd<A extends number, B extends number> = [
|
|
521
|
+
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
|
522
|
+
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
523
|
+
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
|
|
524
|
+
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
|
525
|
+
[4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
|
|
526
|
+
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
|
|
527
|
+
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
|
528
|
+
[7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
529
|
+
[8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
|
|
530
|
+
[9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
|
|
531
|
+
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
|
|
532
|
+
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
|
533
|
+
[12, 13, 14, 15, 16, 17, 18, 19, 20, 21],
|
|
534
|
+
[13, 14, 15, 16, 17, 18, 19, 20, 21, 22],
|
|
535
|
+
[14, 15, 16, 17, 18, 19, 20, 21, 22, 23],
|
|
536
|
+
[15, 16, 17, 18, 19, 20, 21, 22, 23, 24],
|
|
537
|
+
[16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
|
|
538
|
+
[17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
|
|
539
|
+
[18, 19, 20, 21, 22, 23, 24, 25, 26, 27],
|
|
540
|
+
[19, 20, 21, 22, 23, 24, 25, 26, 27, 28],
|
|
541
|
+
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
|
|
542
|
+
[21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
|
|
543
|
+
[22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
|
|
544
|
+
[23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
|
|
545
|
+
[24, 25, 26, 27, 28, 29, 30, 31, 32, 33],
|
|
546
|
+
[25, 26, 27, 28, 29, 30, 31, 32, 33, 34],
|
|
547
|
+
[26, 27, 28, 29, 30, 31, 32, 33, 34, 35],
|
|
548
|
+
[27, 28, 29, 30, 31, 32, 33, 34, 35, 36],
|
|
549
|
+
[28, 29, 30, 31, 32, 33, 34, 35, 36, 37],
|
|
550
|
+
[29, 30, 31, 32, 33, 34, 35, 36, 37, 38],
|
|
551
|
+
[30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
|
|
552
|
+
[31, 32, 33, 34, 35, 36, 37, 38, 39, 40],
|
|
553
|
+
[32, 33, 34, 35, 36, 37, 38, 39, 40, 41],
|
|
554
|
+
[33, 34, 35, 36, 37, 38, 39, 40, 41, 42],
|
|
555
|
+
[34, 35, 36, 37, 38, 39, 40, 41, 42, 43],
|
|
556
|
+
[35, 36, 37, 38, 39, 40, 41, 42, 43, 44],
|
|
557
|
+
[36, 37, 38, 39, 40, 41, 42, 43, 44, 45],
|
|
558
|
+
[37, 38, 39, 40, 41, 42, 43, 44, 45, 46],
|
|
559
|
+
[38, 39, 40, 41, 42, 43, 44, 45, 46, 47],
|
|
560
|
+
[39, 40, 41, 42, 43, 44, 45, 46, 47, 48],
|
|
561
|
+
[40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
|
|
562
|
+
[41, 42, 43, 44, 45, 46, 47, 48, 49, 50],
|
|
563
|
+
[42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
|
|
564
|
+
[43, 44, 45, 46, 47, 48, 49, 50, 51, 52],
|
|
565
|
+
[44, 45, 46, 47, 48, 49, 50, 51, 52, 53],
|
|
566
|
+
[45, 46, 47, 48, 49, 50, 51, 52, 53, 54],
|
|
567
|
+
[46, 47, 48, 49, 50, 51, 52, 53, 54, 55],
|
|
568
|
+
[47, 48, 49, 50, 51, 52, 53, 54, 55, 56],
|
|
569
|
+
[48, 49, 50, 51, 52, 53, 54, 55, 56, 57],
|
|
570
|
+
[49, 50, 51, 52, 53, 54, 55, 56, 57, 58],
|
|
571
|
+
[50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
|
|
572
|
+
[51, 52, 53, 54, 55, 56, 57, 58, 59, 60],
|
|
573
|
+
[52, 53, 54, 55, 56, 57, 58, 59, 60, 61],
|
|
574
|
+
[53, 54, 55, 56, 57, 58, 59, 60, 61, 62],
|
|
575
|
+
[54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
|
|
576
|
+
[55, 56, 57, 58, 59, 60, 61, 62, 63, 64],
|
|
577
|
+
[56, 57, 58, 59, 60, 61, 62, 63, 64, 65],
|
|
578
|
+
[57, 58, 59, 60, 61, 62, 63, 64, 65, 66],
|
|
579
|
+
[58, 59, 60, 61, 62, 63, 64, 65, 66, 67],
|
|
580
|
+
[59, 60, 61, 62, 63, 64, 65, 66, 67, 68],
|
|
581
|
+
[60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
|
|
582
|
+
[61, 62, 63, 64, 65, 66, 67, 68, 69, 70],
|
|
583
|
+
[62, 63, 64, 65, 66, 67, 68, 69, 70, 71],
|
|
584
|
+
[63, 64, 65, 66, 67, 68, 69, 70, 71, 72],
|
|
585
|
+
[64, 65, 66, 67, 68, 69, 70, 71, 72, 73],
|
|
586
|
+
[65, 66, 67, 68, 69, 70, 71, 72, 73, 74],
|
|
587
|
+
[66, 67, 68, 69, 70, 71, 72, 73, 74, 75],
|
|
588
|
+
[67, 68, 69, 70, 71, 72, 73, 74, 75, 76],
|
|
589
|
+
[68, 69, 70, 71, 72, 73, 74, 75, 76, 77],
|
|
590
|
+
[69, 70, 71, 72, 73, 74, 75, 76, 77, 78],
|
|
591
|
+
[70, 71, 72, 73, 74, 75, 76, 77, 78, 79],
|
|
592
|
+
[71, 72, 73, 74, 75, 76, 77, 78, 79, 80],
|
|
593
|
+
[72, 73, 74, 75, 76, 77, 78, 79, 80, 81],
|
|
594
|
+
[73, 74, 75, 76, 77, 78, 79, 80, 81, 82],
|
|
595
|
+
[74, 75, 76, 77, 78, 79, 80, 81, 82, 83],
|
|
596
|
+
[75, 76, 77, 78, 79, 80, 81, 82, 83, 84],
|
|
597
|
+
[76, 77, 78, 79, 80, 81, 82, 83, 84, 85],
|
|
598
|
+
[77, 78, 79, 80, 81, 82, 83, 84, 85, 86],
|
|
599
|
+
[78, 79, 80, 81, 82, 83, 84, 85, 86, 87],
|
|
600
|
+
[79, 80, 81, 82, 83, 84, 85, 86, 87, 88],
|
|
601
|
+
[80, 81, 82, 83, 84, 85, 86, 87, 88, 89],
|
|
602
|
+
[81, 82, 83, 84, 85, 86, 87, 88, 89, 90]
|
|
603
|
+
][A][B]
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* Subtract two positive numbers.
|
|
607
|
+
* The number range from 0 to 81.
|
|
608
|
+
*/
|
|
609
|
+
export type Subtract<A extends number, B extends number> = [`${A}`, `${B}`] extends [
|
|
610
|
+
`${number}${infer A2 extends number}`,
|
|
611
|
+
`${number}${infer B2 extends number}`
|
|
612
|
+
]
|
|
613
|
+
? Subtract<A2, B2>
|
|
614
|
+
: `${A}` extends `${number}${infer A2 extends number}`
|
|
615
|
+
? Subtract<A2, B>
|
|
616
|
+
: `${B}` extends `${number}${infer B2 extends number}`
|
|
617
|
+
? Subtract<A, B2>
|
|
618
|
+
: SingleDigitSubtract<A, B>
|
|
619
|
+
|
|
620
|
+
export type SingleDigitSubtract<A extends number, B extends number> = [
|
|
621
|
+
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9],
|
|
622
|
+
[1, 0, -1, -2, -3, -4, -5, -6, -7, -8],
|
|
623
|
+
[2, 1, 0, -1, -2, -3, -4, -5, -6, -7],
|
|
624
|
+
[3, 2, 1, 0, -1, -2, -3, -4, -5, -6],
|
|
625
|
+
[4, 3, 2, 1, 0, -1, -2, -3, -4, -5],
|
|
626
|
+
[5, 4, 3, 2, 1, 0, -1, -2, -3, -4],
|
|
627
|
+
[6, 5, 4, 3, 2, 1, 0, -1, -2, -3],
|
|
628
|
+
[7, 6, 5, 4, 3, 2, 1, 0, -1, -2],
|
|
629
|
+
[8, 7, 6, 5, 4, 3, 2, 1, 0, -1],
|
|
630
|
+
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
|
|
631
|
+
][A][B]
|
|
632
|
+
|
|
633
|
+
export type Plus10 = { [k in number]: number } & {
|
|
634
|
+
'-1': 9,
|
|
635
|
+
'-2': 8,
|
|
636
|
+
'-3': 7,
|
|
637
|
+
'-4': 6,
|
|
638
|
+
'-5': 5,
|
|
639
|
+
'-6': 4,
|
|
640
|
+
'-7': 3,
|
|
641
|
+
'-8': 2,
|
|
642
|
+
'-9': 1
|
|
643
|
+
}
|
|
644
|
+
export type Multiply<A extends number, B extends number> = [
|
|
645
|
+
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
646
|
+
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
|
647
|
+
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18],
|
|
648
|
+
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27],
|
|
649
|
+
[0, 4, 8, 12, 16, 20, 24, 28, 32, 36],
|
|
650
|
+
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45],
|
|
651
|
+
[0, 6, 12, 18, 24, 30, 36, 42, 48, 54],
|
|
652
|
+
[0, 7, 14, 21, 28, 35, 42, 49, 56, 63],
|
|
653
|
+
[0, 8, 16, 24, 32, 40, 48, 56, 64, 72],
|
|
654
|
+
[0, 9, 18, 27, 36, 45, 54, 63, 72, 81]
|
|
655
|
+
][A][B]
|
|
656
|
+
}
|