inferred-types 0.55.19 → 0.55.21
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/modules/constants/dist/index.cjs +22 -22
- package/modules/constants/dist/index.cjs.map +1 -1
- package/modules/constants/dist/index.d.ts +22 -22
- package/modules/constants/dist/index.js +22 -22
- package/modules/constants/dist/index.js.map +1 -1
- package/modules/inferred-types/dist/index.cjs +44 -44
- package/modules/inferred-types/dist/index.cjs.map +1 -1
- package/modules/inferred-types/dist/index.d.ts +439 -424
- package/modules/inferred-types/dist/index.js +44 -44
- package/modules/inferred-types/dist/index.js.map +1 -1
- package/modules/runtime/dist/index.cjs +22 -22
- package/modules/runtime/dist/index.cjs.map +1 -1
- package/modules/runtime/dist/index.d.ts +166 -162
- package/modules/runtime/dist/index.js +22 -22
- package/modules/runtime/dist/index.js.map +1 -1
- package/modules/types/dist/index.cjs.map +1 -1
- package/modules/types/dist/index.d.ts +251 -240
- package/package.json +1 -1
|
@@ -3011,17 +3011,17 @@ declare const TW_HUE: {
|
|
|
3011
3011
|
readonly stone: 273;
|
|
3012
3012
|
};
|
|
3013
3013
|
declare const TW_LUMINOSITY: {
|
|
3014
|
-
readonly 50: 97.78;
|
|
3015
|
-
readonly 100: 93.56;
|
|
3016
|
-
readonly 200: 88.11;
|
|
3017
|
-
readonly 300: 82.67;
|
|
3018
|
-
readonly 400: 74.22;
|
|
3019
|
-
readonly 500: 64.78;
|
|
3020
|
-
readonly 600: 57.33;
|
|
3021
|
-
readonly 700: 46.89;
|
|
3022
|
-
readonly 800: 39.44;
|
|
3023
|
-
readonly 900: 32;
|
|
3024
|
-
readonly 950: 23.78;
|
|
3014
|
+
readonly "50": 97.78;
|
|
3015
|
+
readonly "100": 93.56;
|
|
3016
|
+
readonly "200": 88.11;
|
|
3017
|
+
readonly "300": 82.67;
|
|
3018
|
+
readonly "400": 74.22;
|
|
3019
|
+
readonly "500": 64.78;
|
|
3020
|
+
readonly "600": 57.33;
|
|
3021
|
+
readonly "700": 46.89;
|
|
3022
|
+
readonly "800": 39.44;
|
|
3023
|
+
readonly "900": 32;
|
|
3024
|
+
readonly "950": 23.78;
|
|
3025
3025
|
};
|
|
3026
3026
|
/**
|
|
3027
3027
|
* **TW_CHROMA**
|
|
@@ -3032,17 +3032,17 @@ declare const TW_LUMINOSITY: {
|
|
|
3032
3032
|
* **Related:** `TW_CHROMA_50`, `TW_CHROMA_100`, ...
|
|
3033
3033
|
*/
|
|
3034
3034
|
declare const TW_CHROMA: {
|
|
3035
|
-
readonly 50: 0.0108;
|
|
3036
|
-
readonly 100: 0.0321;
|
|
3037
|
-
readonly 200: 0.0609;
|
|
3038
|
-
readonly 300: 0.0908;
|
|
3039
|
-
readonly 400: 0.1398;
|
|
3040
|
-
readonly 500: 0.1472;
|
|
3041
|
-
readonly 600: 0.1299;
|
|
3042
|
-
readonly 700: 0.1067;
|
|
3043
|
-
readonly 800: 0.0898;
|
|
3044
|
-
readonly 900: 0.0726;
|
|
3045
|
-
readonly 950: 0.054;
|
|
3035
|
+
readonly "50": 0.0108;
|
|
3036
|
+
readonly "100": 0.0321;
|
|
3037
|
+
readonly "200": 0.0609;
|
|
3038
|
+
readonly "300": 0.0908;
|
|
3039
|
+
readonly "400": 0.1398;
|
|
3040
|
+
readonly "500": 0.1472;
|
|
3041
|
+
readonly "600": 0.1299;
|
|
3042
|
+
readonly "700": 0.1067;
|
|
3043
|
+
readonly "800": 0.0898;
|
|
3044
|
+
readonly "900": 0.0726;
|
|
3045
|
+
readonly "950": 0.054;
|
|
3046
3046
|
};
|
|
3047
3047
|
/**
|
|
3048
3048
|
* The list of "targets" where Tailwind color string references
|
|
@@ -3773,23 +3773,23 @@ type ValidChars<T extends readonly string[]> = [] extends T ? true : First<T> ex
|
|
|
3773
3773
|
*/
|
|
3774
3774
|
type IsVariable<T extends string> = T extends Variable ? ValidChars<Chars<T>> extends true ? true : false : false;
|
|
3775
3775
|
|
|
3776
|
-
type Process$
|
|
3776
|
+
type Process$1A<TVal, TDefault> = TVal extends Something ? TVal : TDefault;
|
|
3777
3777
|
/**
|
|
3778
3778
|
* **Default**`<TVal,TDefault,[TProtect]>`
|
|
3779
3779
|
*
|
|
3780
3780
|
* Branching operator which allows giving a value `TVal` a _default value_ when
|
|
3781
3781
|
* it's value is either `null` or `undefined`.
|
|
3782
3782
|
*/
|
|
3783
|
-
type Default<TVal, TDefault> = Process$
|
|
3783
|
+
type Default<TVal, TDefault> = Process$1A<TVal, TDefault>;
|
|
3784
3784
|
|
|
3785
|
-
type Process$
|
|
3785
|
+
type Process$1z<TConditions extends readonly boolean[], TBooleanSeen extends boolean> = [] extends TConditions ? IfEqual<TBooleanSeen, true, boolean, true> : [First<TConditions>] extends [false] ? false : Process$1z<AfterFirst<TConditions>, TBooleanSeen>;
|
|
3786
3786
|
/**
|
|
3787
3787
|
* **And**`<TConditions, [TEmpty]>`
|
|
3788
3788
|
*
|
|
3789
3789
|
* Allows an array of conditions which are either ARE a boolean value or a
|
|
3790
3790
|
* function which evaluates to a boolean value to be logically AND'd together.
|
|
3791
3791
|
*/
|
|
3792
|
-
type And<TConditions, TEmpty extends boolean = false> = TConditions extends readonly (boolean | LogicFunction)[] ? IsEqual<TConditions, []> extends true ? TEmpty : LogicalReturns<TConditions> extends readonly boolean[] ? Process$
|
|
3792
|
+
type And<TConditions, TEmpty extends boolean = false> = TConditions extends readonly (boolean | LogicFunction)[] ? IsEqual<TConditions, []> extends true ? TEmpty : LogicalReturns<TConditions> extends readonly boolean[] ? Process$1z<LogicalReturns<TConditions>, NarrowlyContains<LogicalReturns<TConditions>, boolean>> : never : never;
|
|
3793
3793
|
|
|
3794
3794
|
/**
|
|
3795
3795
|
* comparison operators which require the base type to be a string
|
|
@@ -3806,14 +3806,14 @@ type NumericComparatorOperation = "greaterThan" | "greaterThanOrEqual" | "lessTh
|
|
|
3806
3806
|
*/
|
|
3807
3807
|
type ComparatorOperation = "extends" | "equals" | StringComparatorOperation | "contains" | "containsAll" | NumericComparatorOperation | "returnEquals" | "returnExtends";
|
|
3808
3808
|
type Unionize<T> = T extends readonly unknown[] ? TupleToUnion<T> : T;
|
|
3809
|
-
type Process$
|
|
3809
|
+
type Process$1y<TVal, TOp extends ComparatorOperation, TComparator> = TOp extends "extends" ? DoesExtend<TVal, Unionize<TComparator>> : TOp extends "equals" ? IsEqual<TVal, Unionize<TComparator>> : TOp extends "contains" ? [TVal] extends [string | number | Tuple] ? Contains<TVal, TComparator> : never : TOp extends "containsAll" ? [TVal] extends [Tuple] ? [TComparator] extends [string | number | readonly string[]] ? Contains<TVal, TComparator> : never : never : TOp extends "startsWith" ? [TVal] extends [string | number] ? [TComparator] extends [string | number | readonly string[]] ? StartsWith<TVal, TComparator> : never : never : TOp extends "greaterThan" ? And<[Extends<TComparator, NumberLike>, Extends<TVal, NumberLike>]> extends true ? IsGreaterThan<As<TVal, NumberLike>, As<TComparator, NumberLike>> : never : TOp extends "greaterThanOrEqual" ? And<[Extends<TComparator, NumberLike>, Extends<TVal, NumberLike>]> extends true ? IsGreaterThanOrEqual<As<TVal, NumberLike>, As<TComparator, NumberLike>> : never : TOp extends "lessThan" ? And<[Extends<TComparator, NumberLike>, Extends<TVal, NumberLike>]> extends true ? IsLessThan<As<TVal, NumberLike>, As<TComparator, NumberLike>> : never : TOp extends "lessThanOrEqual" ? And<[Extends<TComparator, NumberLike>, Extends<TVal, NumberLike>]> extends true ? IsLessThanOrEqual<As<TVal, NumberLike>, As<TComparator, NumberLike>> : never : TOp extends "endsWith" ? [TVal] extends [string | number] ? [TComparator] extends [string | number | readonly string[]] ? EndsWith<TVal, TComparator> : never : never : TOp extends "returnEquals" ? TVal extends ((...args: any[]) => any) ? IsEqual<ReturnType<TVal>, TComparator> : false : TOp extends "returnExtends" ? TVal extends ((...args: any[]) => any) ? IsEqual<ReturnType<TVal>, TComparator> : false : never;
|
|
3810
3810
|
/**
|
|
3811
3811
|
* **Compare**`<TVal,TOp,TComparator>`
|
|
3812
3812
|
*
|
|
3813
3813
|
* Compares the value `TVal` with `TComparator` using
|
|
3814
3814
|
* the `TOp` _operator_.
|
|
3815
3815
|
*/
|
|
3816
|
-
type Compare$1<TVal, TOp extends ComparatorOperation, TComparator> = WhenNever<Process$
|
|
3816
|
+
type Compare$1<TVal, TOp extends ComparatorOperation, TComparator> = WhenNever<Process$1y<TVal, TOp, TComparator>>;
|
|
3817
3817
|
|
|
3818
3818
|
type Negate<TVal> = IsNever<TVal> extends true ? never : [TVal] extends [boolean] ? IsTrue<TVal> extends true ? false : IsFalse<TVal> extends true ? true : boolean : [TVal] extends [LogicFunction] ? Negate<ReturnType<LogicFunction>> : never;
|
|
3819
3819
|
type NegateTuple<TTuple extends readonly (boolean | LogicFunction)[], TResults extends readonly (boolean | LogicFunction)[] = []> = [] extends TTuple ? IsEqual<TResults, [], false, TResults> : NegateTuple<AfterFirst<TTuple>, [
|
|
@@ -3835,7 +3835,7 @@ type NegateTuple<TTuple extends readonly (boolean | LogicFunction)[], TResults e
|
|
|
3835
3835
|
*/
|
|
3836
3836
|
type Not<TVal, TNotBoolean extends boolean = false> = [TVal] extends [boolean] ? Exclude<As<Negate<TVal>, boolean>, any[]> : [TVal] extends [LogicFunction] ? As<Negate<ReturnType<TVal>>, boolean> : [TVal] extends [readonly (LogicFunction | boolean)[]] ? As<NegateTuple<TVal>, readonly boolean[]> : TNotBoolean;
|
|
3837
3837
|
|
|
3838
|
-
type Process$
|
|
3838
|
+
type Process$1x<TConditions extends readonly boolean[], TBooleanSean extends boolean> = NarrowlyContains<TConditions, true> extends true ? true : [IsEqual<TBooleanSean, true>] extends [true] ? boolean : false;
|
|
3839
3839
|
type ConditionError<TErr> = TErr extends ErrorCondition ? ProxyError<TErr, "Or", "TConditions"> : never;
|
|
3840
3840
|
/**
|
|
3841
3841
|
* **Or**`<TConditions, [TEmpty]>`
|
|
@@ -3848,16 +3848,16 @@ type ConditionError<TErr> = TErr extends ErrorCondition ? ProxyError<TErr, "Or",
|
|
|
3848
3848
|
*
|
|
3849
3849
|
* **Related:** `And`
|
|
3850
3850
|
*/
|
|
3851
|
-
type Or<TConditions, TEmpty extends boolean = false> = IsNever<TConditions> extends true ? Throw<"invalid-never", `Or<TConditions> received "never" for it's conditions!`, "Or"> : IsEqual<TConditions, []> extends true ? TEmpty : TConditions extends readonly (boolean | LogicFunction)[] ? LogicalReturns<TConditions> extends readonly boolean[] ? Process$
|
|
3851
|
+
type Or<TConditions, TEmpty extends boolean = false> = IsNever<TConditions> extends true ? Throw<"invalid-never", `Or<TConditions> received "never" for it's conditions!`, "Or"> : IsEqual<TConditions, []> extends true ? TEmpty : TConditions extends readonly (boolean | LogicFunction)[] ? LogicalReturns<TConditions> extends readonly boolean[] ? Process$1x<LogicalReturns<TConditions>, NarrowlyContains<LogicalReturns<TConditions>, boolean>> : never : IsErrorCondition<TConditions> extends true ? ConditionError<TConditions> : Throw<"invalid-conditions", `The conditions passed to Or<TConditions> were invalid!`, "Or", {
|
|
3852
3852
|
library: "inferred-types/constants";
|
|
3853
3853
|
value: TConditions;
|
|
3854
3854
|
}>;
|
|
3855
3855
|
|
|
3856
|
-
type Process$
|
|
3856
|
+
type Process$1w<TElements extends readonly unknown[], TOp extends ComparatorOperation, TComparator> = [] extends TElements ? false : [WhenNever<Compare$1<First<TElements>, TOp, TComparator>>] extends [true] ? true : Process$1w<AfterFirst<TElements>, TOp, TComparator>;
|
|
3857
3857
|
type Some<TContainer extends Container, TOp extends "extends" | "equals" | "startsWith" | "endsWith" | "lessThan" | "greaterThan", TComparator extends Or<[
|
|
3858
3858
|
IsEqual<TOp, "startsWith">,
|
|
3859
3859
|
IsEqual<TOp, "endsWith">
|
|
3860
|
-
]> extends true ? string : Or<[IsEqual<TOp, "lessThan">, IsEqual<TOp, "greaterThan">]> extends true ? NumberLike : unknown> = TContainer extends readonly unknown[] ? Process$
|
|
3860
|
+
]> extends true ? string : Or<[IsEqual<TOp, "lessThan">, IsEqual<TOp, "greaterThan">]> extends true ? NumberLike : unknown> = TContainer extends readonly unknown[] ? Process$1w<TContainer, TOp, TComparator> : TContainer extends Dictionary ? Process$1w<Values<TContainer>, TOp, TComparator> : never;
|
|
3861
3861
|
|
|
3862
3862
|
type AllAcc<TList extends readonly unknown[], TExtend> = [] extends TList ? true : If<Extends<First<TList>, TExtend>, AllAcc<AfterFirst<TList>, TExtend>, false>;
|
|
3863
3863
|
/**
|
|
@@ -3948,11 +3948,11 @@ type Contains<TContent extends string | number | readonly unknown[], TComparator
|
|
|
3948
3948
|
type DoesExtend<TValue, TExtends> = IsNever<TValue> extends true ? false : [TValue] extends [TExtends] ? true : false;
|
|
3949
3949
|
|
|
3950
3950
|
type Test$1<TValue extends string, TComparator extends string> = TValue extends `${string}${TComparator}` ? true : false;
|
|
3951
|
-
type Process$
|
|
3951
|
+
type Process$1v<TValue extends string, TComparator extends string> = IsStringLiteral<TComparator> extends true ? IsStringLiteral<TValue> extends true ? Test$1<TValue, TComparator> : boolean : boolean;
|
|
3952
3952
|
type ProcessEach$1<TValue extends string, TComparator extends readonly string[]> = Or<{
|
|
3953
|
-
[K in keyof TComparator]: Process$
|
|
3953
|
+
[K in keyof TComparator]: Process$1v<TValue, TComparator[K]>;
|
|
3954
3954
|
}>;
|
|
3955
|
-
type PreProcess$4<TValue extends string, TComparator extends string | readonly string[]> = TComparator extends readonly string[] ? ProcessEach$1<TValue, TComparator> : TComparator extends string ? Process$
|
|
3955
|
+
type PreProcess$4<TValue extends string, TComparator extends string | readonly string[]> = TComparator extends readonly string[] ? ProcessEach$1<TValue, TComparator> : TComparator extends string ? Process$1v<TValue, TComparator> : never;
|
|
3956
3956
|
/**
|
|
3957
3957
|
* **EndsWith**<TValue, TComparator>
|
|
3958
3958
|
*
|
|
@@ -3989,13 +3989,13 @@ type _HasArray<TList extends readonly unknown[]> = [] extends TList ? false : Is
|
|
|
3989
3989
|
*/
|
|
3990
3990
|
type HasArray<TList extends readonly unknown[]> = _HasArray<TList>;
|
|
3991
3991
|
|
|
3992
|
-
type Process$
|
|
3992
|
+
type Process$1u<TStr extends string, TChars extends string, _TOp extends "any" | "all"> = TStr extends `${string}${TChars}${string}` ? true : false;
|
|
3993
3993
|
type ProcessTuple$4<TStr extends string, TChars extends readonly string[], TOp extends "any" | "all"> = TOp extends "any" ? Or<{
|
|
3994
3994
|
[K in keyof TChars]: TStr extends `${string}${TChars[K]}${string}` ? true : false;
|
|
3995
3995
|
}> : And<{
|
|
3996
3996
|
[K in keyof TChars]: TStr extends `${string}${TChars[K]}${string}` ? true : false;
|
|
3997
3997
|
}>;
|
|
3998
|
-
type PreProcess$3<TStr extends string, TChars extends string, TOp extends "any" | "all"> = IsUnion<TChars> extends true ? UnionToTuple$1<TChars> extends readonly string[] ? ProcessTuple$4<TStr, UnionToTuple$1<TChars>, TOp> : never : Process$
|
|
3998
|
+
type PreProcess$3<TStr extends string, TChars extends string, TOp extends "any" | "all"> = IsUnion<TChars> extends true ? UnionToTuple$1<TChars> extends readonly string[] ? ProcessTuple$4<TStr, UnionToTuple$1<TChars>, TOp> : never : Process$1u<TStr, TChars, TOp>;
|
|
3999
3999
|
/**
|
|
4000
4000
|
* **HasCharacters**`<TStr,TChars>`
|
|
4001
4001
|
*
|
|
@@ -4009,7 +4009,7 @@ type PreProcess$3<TStr extends string, TChars extends string, TOp extends "any"
|
|
|
4009
4009
|
*/
|
|
4010
4010
|
type HasCharacters<TStr extends string, TChars extends string | readonly string[], TOp extends "any" | "all" = "any"> = IsStringLiteral<TStr> extends true ? TChars extends string ? IsStringLiteral<TChars> extends true ? PreProcess$3<TStr, TChars, TOp> : boolean : TChars extends readonly string[] ? AllStringLiterals<AsArray<TChars>> extends true ? ProcessTuple$4<TStr, TChars, TOp> : boolean : boolean : boolean;
|
|
4011
4011
|
|
|
4012
|
-
type Process$
|
|
4012
|
+
type Process$1t<TStr extends string, TChars extends string> = ReplaceAll<TStr, TChars, ""> extends "" ? false : true;
|
|
4013
4013
|
/**
|
|
4014
4014
|
* **HasOtherCharacters**`<TStr,TChars>`
|
|
4015
4015
|
*
|
|
@@ -4021,7 +4021,7 @@ type Process$1s<TStr extends string, TChars extends string> = ReplaceAll<TStr, T
|
|
|
4021
4021
|
*
|
|
4022
4022
|
* **Related:** `HasCharacters`
|
|
4023
4023
|
*/
|
|
4024
|
-
type HasOtherCharacters<TStr extends string, TChars extends string | readonly string[]> = [IsWideType<TStr>] extends [true] ? boolean : [TChars] extends [string] ? IsWideType<TChars> extends true ? boolean : Process$
|
|
4024
|
+
type HasOtherCharacters<TStr extends string, TChars extends string | readonly string[]> = [IsWideType<TStr>] extends [true] ? boolean : [TChars] extends [string] ? IsWideType<TChars> extends true ? boolean : Process$1t<TStr, TChars> : TChars extends readonly string[] ? Process$1t<TStr, TupleToUnion<TChars>> : never;
|
|
4025
4025
|
|
|
4026
4026
|
/**
|
|
4027
4027
|
* **HasParameters**`<T>`
|
|
@@ -4261,7 +4261,7 @@ type Validations<T> = IsStringLiteral<T> extends true ? true : IsNumericLiteral<
|
|
|
4261
4261
|
*/
|
|
4262
4262
|
type IsLiteral<T> = [IsUnion<T>] extends [true] ? false : Validations<T>;
|
|
4263
4263
|
|
|
4264
|
-
type Process$
|
|
4264
|
+
type Process$1q<T> = UnionToTuple$1<T> extends readonly unknown[] ? RetainLiterals<UnionToTuple$1<T>>["length"] extends UnionToTuple$1<T>["length"] ? true : false : never;
|
|
4265
4265
|
/**
|
|
4266
4266
|
* **IsLiteralUnion**`<T>`
|
|
4267
4267
|
*
|
|
@@ -4270,7 +4270,7 @@ type Process$1p<T> = UnionToTuple$1<T> extends readonly unknown[] ? RetainLitera
|
|
|
4270
4270
|
*
|
|
4271
4271
|
* **Related:** `IsLiteralUnion`, `IsWideUnion`
|
|
4272
4272
|
*/
|
|
4273
|
-
type IsLiteralUnion<T> = [IsUnion<T>] extends [true] ? Process$
|
|
4273
|
+
type IsLiteralUnion<T> = [IsUnion<T>] extends [true] ? Process$1q<T> : false;
|
|
4274
4274
|
|
|
4275
4275
|
/**
|
|
4276
4276
|
* **IsNarrowingFn**`<TFn>`
|
|
@@ -4389,7 +4389,7 @@ type IsSingleChar<T> = T extends string ? Length<T> extends 1 ? true : If<IsStri
|
|
|
4389
4389
|
*/
|
|
4390
4390
|
type IsString<T> = [IsUnion<T>] extends [true] ? WidenUnion<T> extends string ? true : string extends WidenUnion<T> ? boolean : false : [T] extends [string] ? true : false;
|
|
4391
4391
|
|
|
4392
|
-
type Process$
|
|
4392
|
+
type Process$1n<T, TNever> = [IsNever<T>] extends [true] ? TNever : [IsEqual<T, true>] extends [true] ? true : false;
|
|
4393
4393
|
/**
|
|
4394
4394
|
* **IsTrue**`<T,[TNever]>`
|
|
4395
4395
|
*
|
|
@@ -4403,9 +4403,9 @@ type Process$1m<T, TNever> = [IsNever<T>] extends [true] ? TNever : [IsEqual<T,
|
|
|
4403
4403
|
* type F2 = IsTrue<"foobar">;
|
|
4404
4404
|
* ```
|
|
4405
4405
|
*/
|
|
4406
|
-
type IsTrue<T, TNever = never> = Process$
|
|
4406
|
+
type IsTrue<T, TNever = never> = Process$1n<T, TNever>;
|
|
4407
4407
|
|
|
4408
|
-
type Process$
|
|
4408
|
+
type Process$1m<T> = [IsNever<T>] extends [true] ? false : T extends readonly unknown[] ? number extends T["length"] ? false : true : false;
|
|
4409
4409
|
/**
|
|
4410
4410
|
* **IsTuple**`<T>`
|
|
4411
4411
|
*
|
|
@@ -4418,7 +4418,7 @@ type Process$1l<T> = [IsNever<T>] extends [true] ? false : T extends readonly un
|
|
|
4418
4418
|
* - types such as `string[]`, etc. are _not_ tuples as they
|
|
4419
4419
|
* do not discretely specify a length of elements
|
|
4420
4420
|
*/
|
|
4421
|
-
type IsTuple<T> = Process$
|
|
4421
|
+
type IsTuple<T> = Process$1m<T> extends boolean ? Process$1m<T> : never;
|
|
4422
4422
|
|
|
4423
4423
|
/**
|
|
4424
4424
|
* **IsUndefined**
|
|
@@ -4570,7 +4570,7 @@ type InvalidNever = Throw<"invalid-never", `The value of T when calling IsWideTy
|
|
|
4570
4570
|
*/
|
|
4571
4571
|
type IsWideType<T, TNever = InvalidNever> = [IsNever<T>] extends [true] ? TNever : [T] extends [ErrorCondition] ? ProxyError<T, "IsWideType"> : IsWideScalar<T> extends true ? true : IsWideContainer<T> extends true ? true : IsWideUnion<T> extends true ? true : false;
|
|
4572
4572
|
|
|
4573
|
-
type Process$
|
|
4573
|
+
type Process$1l<T extends readonly unknown[]> = {
|
|
4574
4574
|
[K in keyof T]: IsWideType<T[K]> extends true ? true : Or<[IsUndefined<T[K]>, IsNull<T[K]>]> extends true ? true : false;
|
|
4575
4575
|
};
|
|
4576
4576
|
/**
|
|
@@ -4581,7 +4581,7 @@ type Process$1k<T extends readonly unknown[]> = {
|
|
|
4581
4581
|
*
|
|
4582
4582
|
* **Related:** `IsNonLiteralUnion`
|
|
4583
4583
|
*/
|
|
4584
|
-
type IsWideUnion<T> = [IsUnion<T>] extends [true] ? [Process$
|
|
4584
|
+
type IsWideUnion<T> = [IsUnion<T>] extends [true] ? [Process$1l<UnionToTuple$1<T>>] extends [readonly true[]] ? true : false : false;
|
|
4585
4585
|
|
|
4586
4586
|
type Overlap<TKeys extends readonly ObjectKey[], TComparator extends AnyObject> = [] extends TKeys ? false : First<TKeys> extends keyof TComparator ? true : Overlap<AfterFirst<TKeys>, TComparator>;
|
|
4587
4587
|
/**
|
|
@@ -4670,7 +4670,7 @@ type HasQueryParameter<T extends string, P extends string> = And<[
|
|
|
4670
4670
|
]> extends true ? GetUrlQueryParams<T> extends `${string}${P}=${string}` ? true : false : boolean;
|
|
4671
4671
|
|
|
4672
4672
|
type Check<TValue extends string, TComparator extends string | number> = TValue extends `${TComparator}${string}` ? true : false;
|
|
4673
|
-
type Process$
|
|
4673
|
+
type Process$1k<TValue extends string, TComparator extends string | number | readonly string[]> = TComparator extends readonly string[] ? Check<[
|
|
4674
4674
|
TValue
|
|
4675
4675
|
] extends [number] ? `${TValue}` : TValue, TupleToUnion<TComparator>> : Check<[
|
|
4676
4676
|
TValue
|
|
@@ -4689,9 +4689,9 @@ type Process$1j<TValue extends string, TComparator extends string | number | rea
|
|
|
4689
4689
|
* - this can be much more type efficient for unions with lots of characters
|
|
4690
4690
|
* - if you need larger pattern matches then use a Tuple for `TComparator`
|
|
4691
4691
|
*/
|
|
4692
|
-
type StartsWith<TValue extends string | number, TComparator extends string | number | readonly string[]> = [IsWideType<TValue>] extends [true] ? boolean : [IsWideType<TComparator>] extends [true] ? boolean : IsEqual<Process$
|
|
4692
|
+
type StartsWith<TValue extends string | number, TComparator extends string | number | readonly string[]> = [IsWideType<TValue>] extends [true] ? boolean : [IsWideType<TComparator>] extends [true] ? boolean : IsEqual<Process$1k<AsString<TValue>, TComparator>, boolean> extends true ? true : Process$1k<AsString<TValue>, TComparator>;
|
|
4693
4693
|
|
|
4694
|
-
type Process$
|
|
4694
|
+
type Process$1j<T extends readonly unknown[]> = HasArray<T> extends true ? true : false;
|
|
4695
4695
|
/**
|
|
4696
4696
|
* **UnionHasArray**`<T>`
|
|
4697
4697
|
*
|
|
@@ -4701,7 +4701,7 @@ type Process$1i<T extends readonly unknown[]> = HasArray<T> extends true ? true
|
|
|
4701
4701
|
* - and that one of the elements of the union is an array
|
|
4702
4702
|
* of some sort.
|
|
4703
4703
|
*/
|
|
4704
|
-
type UnionHasArray<T> = IsUnion<T> extends true ? Process$
|
|
4704
|
+
type UnionHasArray<T> = IsUnion<T> extends true ? Process$1j<UnionToTuple$1<T>> : false;
|
|
4705
4705
|
|
|
4706
4706
|
type ShouldFail<TTest> = [IsNever<TTest>] extends [true] ? true : [IsFalse<TTest>] extends [true] ? true : false;
|
|
4707
4707
|
type Iterate$8<TTest extends readonly unknown[]> = Or<{
|
|
@@ -4811,8 +4811,8 @@ type Merge$1<TUser extends Partial<OnPassRemap>, TKeys extends readonly (ObjectK
|
|
|
4811
4811
|
false: false;
|
|
4812
4812
|
error: Constant$1<"not-set">;
|
|
4813
4813
|
}> = [] extends TKeys ? TConfig : Merge$1<TUser, AfterFirst<TKeys>, As<ExpandDictionary<Record<First<TKeys>, TUser[First<TKeys>]> & Omit<TConfig, First<TKeys>>>, OnPassRemap>>;
|
|
4814
|
-
type Process$
|
|
4815
|
-
type Iterate$7<TTest extends readonly unknown[], TPass, TRemap extends OnPassRemap<unknown, unknown, unknown>> = [] extends TTest ? TPass : Process$
|
|
4814
|
+
type Process$1h<TTest, TPass, TRemap extends OnPassRemap<unknown, unknown, unknown>> = [IsNever<TTest>] extends [true] ? TRemap["never"] : [IsErrorCondition<TTest>] extends [true] ? TRemap["error"] extends Constant$1<"not-set"> ? TTest : TRemap["error"] : [IsFalse<TTest>] extends [true] ? TRemap["false"] : TPass;
|
|
4815
|
+
type Iterate$7<TTest extends readonly unknown[], TPass, TRemap extends OnPassRemap<unknown, unknown, unknown>> = [] extends TTest ? TPass : Process$1h<First<TTest>, TPass, TRemap> extends TPass ? Iterate$7<AfterFirst<TTest>, TPass, TRemap> : Process$1h<First<TTest>, TPass, TRemap>;
|
|
4816
4816
|
/**
|
|
4817
4817
|
* **OnPass**`<TTest, TPass,[TRemap],[TFalse]>`
|
|
4818
4818
|
*
|
|
@@ -4826,7 +4826,7 @@ type Iterate$7<TTest extends readonly unknown[], TPass, TRemap extends OnPassRem
|
|
|
4826
4826
|
* - the `TRemap` allows you to remap error conditions
|
|
4827
4827
|
* as well if needed
|
|
4828
4828
|
*/
|
|
4829
|
-
type OnPass<TTest, TPass, TRemap extends Partial<OnPassRemap<unknown, unknown, unknown>> = OnPassRemap<never, false, Constant$1<"not-set">>> = TTest extends readonly unknown[] ? Iterate$7<TTest, TPass, TRemap extends OnPassRemap<never, false, Constant$1<"not-set">> ? TRemap : Merge$1<TRemap, Keys<TRemap>>> : Process$
|
|
4829
|
+
type OnPass<TTest, TPass, TRemap extends Partial<OnPassRemap<unknown, unknown, unknown>> = OnPassRemap<never, false, Constant$1<"not-set">>> = TTest extends readonly unknown[] ? Iterate$7<TTest, TPass, TRemap extends OnPassRemap<never, false, Constant$1<"not-set">> ? TRemap : Merge$1<TRemap, Keys<TRemap>>> : Process$1h<TTest, TPass, TRemap extends OnPassRemap<never, false, Constant$1<"not-set">> ? TRemap : Merge$1<TRemap, Keys<TRemap>>>;
|
|
4830
4830
|
|
|
4831
4831
|
/**
|
|
4832
4832
|
* **WhenNever**`<T, [TMapTo]>`
|
|
@@ -4905,13 +4905,13 @@ type RemoveEmpty<T> = T extends Tuple ? As<RemoveMarked<ProcessTup<T>>, readonly
|
|
|
4905
4905
|
|
|
4906
4906
|
type Marked$2 = typeof MARKED;
|
|
4907
4907
|
type _Keys$4<T extends object> = UnionToTuple$1<keyof RemoveIndexKeys<T>> extends readonly ObjectKey[] ? UnionToTuple$1<keyof RemoveIndexKeys<T>> : never;
|
|
4908
|
-
type Process$
|
|
4908
|
+
type Process$1f<T extends Container, TKeys extends readonly PropertyKey[], TResults extends Container = T extends readonly unknown[] ? [] : EmptyObject> = [] extends TKeys ? TResults : First<TKeys> extends keyof T ? DoesExtend<T[First<TKeys>], Marked$2> extends true ? Process$1f<T, AfterFirst<TKeys>, TResults> : Process$1f<T, AfterFirst<TKeys>, First<TKeys> extends keyof T ? TResults extends readonly unknown[] ? [...TResults, T[First<TKeys>]] : TResults extends Dictionary ? TResults & Record<First<TKeys>, T[First<TKeys>]> : never : never> : never;
|
|
4909
4909
|
/**
|
|
4910
4910
|
* **RemoveMarked**`<T>`
|
|
4911
4911
|
*
|
|
4912
4912
|
* Removes all values in `T` which extends `Constant<"Marked">`
|
|
4913
4913
|
*/
|
|
4914
|
-
type RemoveMarked<T extends Container> = Process$
|
|
4914
|
+
type RemoveMarked<T extends Container> = Process$1f<T, T extends Tuple ? NumericKeys<T> : _Keys$4<T>>;
|
|
4915
4915
|
|
|
4916
4916
|
/**
|
|
4917
4917
|
* **RemoveIndexKeys**`<T>`
|
|
@@ -4949,7 +4949,7 @@ type _AsArray<T> = T extends Tuple ? Mutable<T> : If<IsUndefined<T>, [
|
|
|
4949
4949
|
*/
|
|
4950
4950
|
type AsArray<T> = _AsArray<T> extends any[] ? _AsArray<T> : never;
|
|
4951
4951
|
|
|
4952
|
-
type Process$
|
|
4952
|
+
type Process$1e<T extends `${number}`> = If<IsStringLiteral<T>, StripLeading<T, "-">, string>;
|
|
4953
4953
|
/**
|
|
4954
4954
|
* **Abs**`<T>`
|
|
4955
4955
|
*
|
|
@@ -4958,7 +4958,7 @@ type Process$1d<T extends `${number}`> = If<IsStringLiteral<T>, StripLeading<T,
|
|
|
4958
4958
|
* - you can pass in a numeric string literal and it perform ABS func while
|
|
4959
4959
|
* preserving string literal type
|
|
4960
4960
|
*/
|
|
4961
|
-
type Abs<T extends NumberLike> = T extends number ? AsNumber<Process$
|
|
4961
|
+
type Abs<T extends NumberLike> = T extends number ? AsNumber<Process$1e<`${T}`>> : T extends `${number}` ? Process$1e<T> : never;
|
|
4962
4962
|
|
|
4963
4963
|
/**
|
|
4964
4964
|
* **NumericChar**
|
|
@@ -4982,13 +4982,13 @@ type GrowExp<A extends any[], N extends number, P extends any[][], L extends num
|
|
|
4982
4982
|
type MapItemType<T, I> = {
|
|
4983
4983
|
[K in keyof T]: I;
|
|
4984
4984
|
};
|
|
4985
|
-
type Process$
|
|
4985
|
+
type Process$1d<T, N extends number> = N extends 0 ? [] : MapItemType<GrowExp<[0], N, []>, T>;
|
|
4986
4986
|
/**
|
|
4987
4987
|
* **FixedLengthArray**`<T,N>`
|
|
4988
4988
|
*
|
|
4989
4989
|
* Creates a fixed length `<N>` array of a given type `<T>`
|
|
4990
4990
|
*/
|
|
4991
|
-
type FixedLengthArray<T, N extends number> = Process$
|
|
4991
|
+
type FixedLengthArray<T, N extends number> = Process$1d<T, N> extends readonly unknown[] ? Process$1d<T, N> : never;
|
|
4992
4992
|
|
|
4993
4993
|
/**
|
|
4994
4994
|
* **ParseInt**`<T>`
|
|
@@ -5011,7 +5011,7 @@ type ParseInt<T> = T extends `${infer N extends number}` ? N : never;
|
|
|
5011
5011
|
*/
|
|
5012
5012
|
type AsNumber<T> = T extends number ? T : T extends `${number}` ? ParseInt<T> : never;
|
|
5013
5013
|
|
|
5014
|
-
type Process$
|
|
5014
|
+
type Process$1c<TTuple extends readonly string[], TSeparator extends string, TResult extends string = ""> = [] extends TTuple ? TResult : Process$1c<AfterFirst<TTuple>, TSeparator, TResult extends "" ? First<TTuple> extends "" ? TResult : `${First<TTuple>}` : First<TTuple> extends "" ? TResult : `${TResult}${TSeparator}${First<TTuple>}`>;
|
|
5015
5015
|
type Slicer<TTuple extends readonly unknown[], TMax extends number | null, TEllipsis extends string | false> = TMax extends number ? TakeFirst<TTuple, TMax> extends readonly unknown[] ? TEllipsis extends string ? ToStringArray<[...TakeFirst<TTuple, TMax>, TEllipsis]> : ToStringArray<TakeFirst<TTuple, TMax>> : never : ToStringArray<TTuple>;
|
|
5016
5016
|
/**
|
|
5017
5017
|
* **Join**`<TArr,[TSeparator],[TMax]>`
|
|
@@ -5026,7 +5026,7 @@ type Slicer<TTuple extends readonly unknown[], TMax extends number | null, TElli
|
|
|
5026
5026
|
*
|
|
5027
5027
|
* **Related:** `Concat<TArr>`
|
|
5028
5028
|
*/
|
|
5029
|
-
type Join<TTuple extends readonly unknown[], TSeparator extends string = "", TMax extends number | null = null, TEllipsis extends string | false = "..."> = ToStringArray<TTuple> extends readonly string[] ? TMax extends number ? IsGreaterThan<TTuple["length"], TMax> extends true ? Process$
|
|
5029
|
+
type Join<TTuple extends readonly unknown[], TSeparator extends string = "", TMax extends number | null = null, TEllipsis extends string | false = "..."> = ToStringArray<TTuple> extends readonly string[] ? TMax extends number ? IsGreaterThan<TTuple["length"], TMax> extends true ? Process$1c<Slicer<TTuple, TMax, TEllipsis>, TSeparator> : Process$1c<ToStringArray<TTuple>, TSeparator> : Process$1c<ToStringArray<TTuple>, TSeparator> : never;
|
|
5030
5030
|
|
|
5031
5031
|
/**
|
|
5032
5032
|
* **AsString**<T>
|
|
@@ -5112,9 +5112,9 @@ type RightMostDigit<s extends string> = s extends `${infer rest}${NumericChar}`
|
|
|
5112
5112
|
type SumStrings<left extends string, right extends string, accumulatedResultDigits extends string = "", carry extends boolean = false> = "" extends left ? "" extends right ? carry extends true ? `1${accumulatedResultDigits}` : accumulatedResultDigits : RightMostDigit<right> extends RightMostDigitResult<infer remainingRight, infer rightDigit> ? SumSingleDigits<"0", rightDigit, carry> extends SingleDigitSumResult<infer resultDigit, infer resultCarry> ? SumStrings<"", remainingRight, `${resultDigit}${accumulatedResultDigits}`, resultCarry> : never : never : "" extends right ? RightMostDigit<left> extends RightMostDigitResult<infer remainingLeft, infer leftDigit> ? SumSingleDigits<"0", leftDigit, carry> extends SingleDigitSumResult<infer resultDigit, infer resultCarry> ? SumStrings<remainingLeft, "", `${resultDigit}${accumulatedResultDigits}`, resultCarry> : never : never : RightMostDigit<left> extends RightMostDigitResult<infer remainingLeft, infer leftDigit> ? RightMostDigit<right> extends RightMostDigitResult<infer remainingRight, infer rightDigit> ? SumSingleDigits<leftDigit, rightDigit, carry> extends SingleDigitSumResult<infer resultDigit, infer resultCarry> ? SumStrings<remainingLeft, remainingRight, `${resultDigit}${accumulatedResultDigits}`, resultCarry> : never : never : never;
|
|
5113
5113
|
type _Subtract<TValue extends `${number}`, TCountArr extends readonly unknown[]> = [] extends TCountArr ? TValue : _Subtract<Decrement<TValue>, AfterFirst<TCountArr>>;
|
|
5114
5114
|
type AddNegatives<A extends `${number}`, B extends `${number}`> = SumStrings<A, B>;
|
|
5115
|
-
type Process$
|
|
5115
|
+
type Process$1b<A extends `${number}`, B extends `${number}`> = And<[IsNegativeNumber<A>, IsNegativeNumber<B>]> extends true ? `-${AddNegatives<Abs<A>, Abs<B>>}` : IsNegativeNumber<B> extends true ? FixedLengthArray<unknown, AsNumber<Abs<B>>> extends readonly unknown[] ? _Subtract<A, FixedLengthArray<unknown, AsNumber<Abs<B>>>> : never : IsNegativeNumber<A> extends true ? FixedLengthArray<unknown, AsNumber<Abs<A>>> extends readonly unknown[] ? _Subtract<B, FixedLengthArray<unknown, AsNumber<Abs<A>>>> : never : SumStrings<A, B>;
|
|
5116
5116
|
type CheckWide<A extends NumberLike, B extends NumberLike> = IsWideType<A> extends true ? true : IsWideType<B> extends true ? true : false;
|
|
5117
|
-
type PreProcess$2<A extends NumberLike, B extends NumberLike> = CheckWide<A, B> extends true ? Or<[IsString<A>, IsString<A>]> extends true ? string : number : Or<[IsWideType<A>, IsWideType<B>]> extends true ? If<IsString<A>, string, number> : A extends `${number}` ? B extends `${number}` ? As<Process$
|
|
5117
|
+
type PreProcess$2<A extends NumberLike, B extends NumberLike> = CheckWide<A, B> extends true ? Or<[IsString<A>, IsString<A>]> extends true ? string : number : Or<[IsWideType<A>, IsWideType<B>]> extends true ? If<IsString<A>, string, number> : A extends `${number}` ? B extends `${number}` ? As<Process$1b<A, B>, `${number}`> : As<Process$1b<A, AsString<B>>, `${number}`> : A extends number ? B extends number ? AsNumber<Process$1b<`${A}`, `${B}`>> : AsNumber<Process$1b<`${A}`, As<B, `${number}`>>> : never;
|
|
5118
5118
|
/**
|
|
5119
5119
|
* **Add**`<A,B>`
|
|
5120
5120
|
*
|
|
@@ -5309,7 +5309,7 @@ type ProxyError<TError extends ErrorCondition, TUtility extends string, TGeneric
|
|
|
5309
5309
|
* Iterates over each element of the Tuple
|
|
5310
5310
|
*/
|
|
5311
5311
|
type SingleFilter$3<TList extends readonly unknown[], TFilter, TOp extends ComparatorOperation, Result extends unknown[] = []> = TList extends [infer Head, ...infer Rest] ? [Compare$1<Head, TOp, TFilter>] extends [true] ? SingleFilter$3<Rest, TFilter, TOp, Result> : SingleFilter$3<Rest, TFilter, TOp, [...Result, Head]> : Result;
|
|
5312
|
-
type Process$
|
|
5312
|
+
type Process$18<TList extends unknown[] | readonly unknown[], TFilter, TOp extends ComparatorOperation> = TList extends unknown[] ? SingleFilter$3<TList, TFilter, TOp> : TList extends readonly unknown[] ? Readonly<SingleFilter$3<[...TList], TFilter, TOp>> : never;
|
|
5313
5313
|
/**
|
|
5314
5314
|
* **Filter**`<TList, TComparator, [TOp]>`
|
|
5315
5315
|
*
|
|
@@ -5333,7 +5333,7 @@ type Process$17<TList extends unknown[] | readonly unknown[], TFilter, TOp exten
|
|
|
5333
5333
|
*
|
|
5334
5334
|
* **Related:** `RetainFromList`, `RemoveFromList`
|
|
5335
5335
|
*/
|
|
5336
|
-
type Filter<TList extends readonly unknown[], TComparator, TOp extends ComparatorOperation = "extends"> = TList extends readonly unknown[] ? IfNever<TComparator, RemoveNever<TList>, If<IsArray<TComparator>, Process$
|
|
5336
|
+
type Filter<TList extends readonly unknown[], TComparator, TOp extends ComparatorOperation = "extends"> = TList extends readonly unknown[] ? IfNever<TComparator, RemoveNever<TList>, If<IsArray<TComparator>, Process$18<TList, TupleToUnion<TComparator>, TOp>, Process$18<TList, TComparator, TOp>>> : never;
|
|
5337
5337
|
|
|
5338
5338
|
/**
|
|
5339
5339
|
* Converts a Tuple type into a _union_ of the tuple elements
|
|
@@ -5443,7 +5443,7 @@ type _DU<T extends string> = T extends Lowercase<T> ? T : `-${Lowercase<T>}`;
|
|
|
5443
5443
|
*/
|
|
5444
5444
|
type DashUppercase<T extends string> = HasUppercase<T> extends false ? T : T extends `${infer C0}${infer C1}${infer R}` ? `${_DU<C0>}${_DU<C1>}${DashUppercase<R>}` : T extends `${infer C0}${infer R}` ? `${_DU<C0>}${DashUppercase<R>}` : "";
|
|
5445
5445
|
|
|
5446
|
-
type Process$
|
|
5446
|
+
type Process$16<TString extends string, TPreserve extends boolean = false> = TPreserve extends true ? Concat<[
|
|
5447
5447
|
LeftWhitespace<TString>,
|
|
5448
5448
|
KebabCase<TString, false>,
|
|
5449
5449
|
RightWhitespace<TString>
|
|
@@ -5463,7 +5463,7 @@ type Process$15<TString extends string, TPreserve extends boolean = false> = TPr
|
|
|
5463
5463
|
* type Dash = Dasherize<"\n foo bar \t">;
|
|
5464
5464
|
* ```
|
|
5465
5465
|
*/
|
|
5466
|
-
type KebabCase<TString extends string, TPreserve extends boolean = false> = Process$
|
|
5466
|
+
type KebabCase<TString extends string, TPreserve extends boolean = false> = Process$16<TString, TPreserve> extends string ? Process$16<TString, TPreserve> : never;
|
|
5467
5467
|
|
|
5468
5468
|
/**
|
|
5469
5469
|
* **LowerAllCaps**`<T>
|
|
@@ -7140,7 +7140,7 @@ type PhoneCountryLookup = Mutable<[...typeof PHONE_COUNTRY_CODES]>;
|
|
|
7140
7140
|
*/
|
|
7141
7141
|
type PhoneCountryCode = FirstOfEach<PhoneCountryLookup>;
|
|
7142
7142
|
|
|
7143
|
-
type Process$
|
|
7143
|
+
type Process$15<T extends string, _TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = OnPass<[
|
|
7144
7144
|
], T>;
|
|
7145
7145
|
/**
|
|
7146
7146
|
* **PhoneNumber**`<[T]>`
|
|
@@ -7161,7 +7161,7 @@ type Process$14<T extends string, _TDelimiter extends PhoneNumberDelimiter = Pho
|
|
|
7161
7161
|
*
|
|
7162
7162
|
* - Related: `PhoneNumberWithCountryCode`, `UsPhoneNumber`
|
|
7163
7163
|
*/
|
|
7164
|
-
type PhoneNumber<T extends number | string | null = null, TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = T extends null ? LocalPhoneNumber<TDelimiter> | CountryPhoneNumber<TDelimiter> | InternationalPhoneNumber<TDelimiter> : IsStringLiteral<T> extends true ? Process$
|
|
7164
|
+
type PhoneNumber<T extends number | string | null = null, TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = T extends null ? LocalPhoneNumber<TDelimiter> | CountryPhoneNumber<TDelimiter> | InternationalPhoneNumber<TDelimiter> : IsStringLiteral<T> extends true ? Process$15<As<T, string>, TDelimiter> : IsNumericLiteral<T> extends true ? Process$15<`${As<T, number>}`, TDelimiter> : T extends string ? string | ErrorCondition<"invalid-phone-number"> : T extends number ? number | ErrorCondition<"invalid-phone-number"> : never;
|
|
7165
7165
|
type PhoneNumberWithCountryCode = `+${PhoneCountryCode} ${string}`;
|
|
7166
7166
|
type Sep = "." | " " | "-";
|
|
7167
7167
|
type AreaCode = `(${number}) ` | `${number}${Sep}`;
|
|
@@ -7857,7 +7857,7 @@ type YouTubeVideosInPlaylist = `https://www.youtube.com/playlist?${string}list=$
|
|
|
7857
7857
|
*/
|
|
7858
7858
|
type GetYouTubePageType<T> = T extends YouTubeUrl ? T extends YouTubeHome ? "home" : T extends YouTubeVideoUrl ? HasQueryParameter<T, "list"> extends true ? T extends YouTubeShareUrl ? HasQueryParameter<T, "t"> extends true ? "play::video::in-list::share-link::with-timestamp" : "play::video::in-list::share-link" : "play::video::in-list" : T extends YouTubeShareUrl ? HasQueryParameter<T, "t"> extends true ? "play::video::solo::share-link::with-timestamp" : "play::video::solo::share-link" : "play::video::solo" : T extends YouTubeCreatorUrl ? GetUrlPath<T> extends `${string}/videos` ? "creator::videos" : GetUrlPath<T> extends `${string}/playlists` ? "creator::playlists" : Last<Split<GetUrlPath<T>, "/">> extends `@${string}` ? "creator::featured" : GetUrlPath<T> extends `${string}/featured` ? "creator::featured" : "creator::other" : T extends YouTubeFeedUrl ? T extends YouTubeFeedUrl<"history"> ? "feed::history" : T extends YouTubeFeedUrl<"playlists"> ? "feed::playlists" : T extends YouTubeFeedUrl<"liked"> ? "feed::liked" : T extends YouTubeFeedUrl<"subscriptions"> ? "feed::subscriptions" : T extends YouTubeFeedUrl<"trending"> ? "feed::trending" : "feed::other" : T extends YouTubeVideosInPlaylist ? "playlist::show" : "other" : never;
|
|
7859
7859
|
|
|
7860
|
-
type Process$
|
|
7860
|
+
type Process$13<TStr extends string, TResult extends readonly string[] = []> = IsStringLiteral<TStr> extends true ? IsEqual<TStr["length"], 0> extends true ? [] : TStr extends `${infer Char}${infer Rest}` ? Process$13<Rest, [
|
|
7861
7861
|
...TResult,
|
|
7862
7862
|
Char
|
|
7863
7863
|
]> : TResult : string;
|
|
@@ -7866,10 +7866,10 @@ type Process$12<TStr extends string, TResult extends readonly string[] = []> = I
|
|
|
7866
7866
|
*
|
|
7867
7867
|
* Takes a literal string and converts it to an array of characters.
|
|
7868
7868
|
*/
|
|
7869
|
-
type Chars<TStr extends string> = IsStringLiteral<TStr> extends true ? Process$
|
|
7869
|
+
type Chars<TStr extends string> = IsStringLiteral<TStr> extends true ? Process$13<TStr> extends readonly string[] ? Process$13<TStr> : never : readonly string[];
|
|
7870
7870
|
|
|
7871
7871
|
type ElementLiteral<T> = [T] extends [string] ? IsStringLiteral<T> extends true ? T : string : [T] extends [number] ? IsNumericLiteral<T> extends true ? T : `${number}` : [T] extends [boolean] ? IsBooleanLiteral<T> extends true ? T : `${boolean}` : never;
|
|
7872
|
-
type Process$
|
|
7872
|
+
type Process$12<T extends Tuple, Result extends string = ""> = [] extends T ? Result : Process$12<AfterFirst<T>, `${Result}${ElementLiteral<First<T>>}`>;
|
|
7873
7873
|
/**
|
|
7874
7874
|
* **Concat**`<T>`
|
|
7875
7875
|
*
|
|
@@ -7885,7 +7885,7 @@ type Process$11<T extends Tuple, Result extends string = ""> = [] extends T ? Re
|
|
|
7885
7885
|
*
|
|
7886
7886
|
* **Related:** `Join<TArr,TWith>`
|
|
7887
7887
|
*/
|
|
7888
|
-
type Concat<T extends readonly unknown[]> = Process$
|
|
7888
|
+
type Concat<T extends readonly unknown[]> = Process$12<T>;
|
|
7889
7889
|
|
|
7890
7890
|
/**
|
|
7891
7891
|
* The ISO8601 standard means of representing a _timezone_. `Z` by itself represents UTC.
|
|
@@ -7946,9 +7946,9 @@ type Iso8601Time<TExplicit extends IsoExplicitness = "both", TZ extends Timezone
|
|
|
7946
7946
|
*/
|
|
7947
7947
|
type Iso8601DateTime<TZ extends Timezone | "" = Timezone | ""> = `${number}-${number}-${number}T${number}:${number}:${number}${TZ}`;
|
|
7948
7948
|
|
|
7949
|
-
type Process$
|
|
7949
|
+
type Process$11<TContent extends string, TLeading extends string> = TContent extends `${TLeading}${string}` ? TContent : `${TLeading}${TContent}`;
|
|
7950
7950
|
type IterateOver$1<TContent extends readonly (string | number)[], TLeading extends string | number> = {
|
|
7951
|
-
[K in keyof TContent]: TContent[K] extends string ? Process$
|
|
7951
|
+
[K in keyof TContent]: TContent[K] extends string ? Process$11<TContent[K], AsStringUnion<TLeading>> : TContent[K] extends number ? AsNumber<Process$11<`${TContent[K]}`, AsStringUnion<TLeading>>> : never;
|
|
7952
7952
|
};
|
|
7953
7953
|
type WideContent<TContent extends string | number, TLeading extends string | number> = IsString<TContent> extends true ? `${TLeading}${string}` : number;
|
|
7954
7954
|
type WideLeading<TContent extends string | number, TLeading extends string | number> = TContent extends string ? `${TLeading}${TContent}` : number;
|
|
@@ -7973,7 +7973,7 @@ type WideLeading<TContent extends string | number, TLeading extends string | num
|
|
|
7973
7973
|
*
|
|
7974
7974
|
* **Related:** `EnsureLeadingEvery`, `EnsureTrailing`, `EnsureSurround`, `Surround`
|
|
7975
7975
|
*/
|
|
7976
|
-
type EnsureLeading<TContent extends string | number | readonly (string | number)[], TLeading extends string | number> = TContent extends readonly (string | number)[] ? IterateOver$1<TContent, TLeading> : IsWideType<TContent> extends true ? WideContent<As<TContent, string | number>, TLeading> : IsWideType<TLeading> extends true ? WideLeading<As<TContent, string | number>, TLeading> : TContent extends string ? Process$
|
|
7976
|
+
type EnsureLeading<TContent extends string | number | readonly (string | number)[], TLeading extends string | number> = TContent extends readonly (string | number)[] ? IterateOver$1<TContent, TLeading> : IsWideType<TContent> extends true ? WideContent<As<TContent, string | number>, TLeading> : IsWideType<TLeading> extends true ? WideLeading<As<TContent, string | number>, TLeading> : TContent extends string ? Process$11<TContent, AsStringUnion<TLeading>> : TContent extends number ? AsNumber<Process$11<`${TContent}`, AsStringUnion<TLeading>>> : never;
|
|
7977
7977
|
|
|
7978
7978
|
/**
|
|
7979
7979
|
* **EnsureSurround**
|
|
@@ -8535,7 +8535,7 @@ type TypeStrength = "strong" | "simple";
|
|
|
8535
8535
|
type StripSlash<T extends readonly string[]> = {
|
|
8536
8536
|
[K in keyof T]: T[K] extends `/${infer Middle}/` ? Middle : T[K] extends `/${infer Trailing}` ? Trailing : T[K] extends `${infer Leading}/` ? Leading : T[K];
|
|
8537
8537
|
};
|
|
8538
|
-
type Process$
|
|
8538
|
+
type Process$_<TPath extends string, TFirst extends string, TLast extends string> = TFirst extends `/${string}` ? TLast extends `${string}/` ? `/${TPath}/` : `/${TPath}` : TLast extends `${string}/` ? `${TPath}/` : TPath;
|
|
8539
8539
|
/**
|
|
8540
8540
|
* **PathJoin**`<T,U>`
|
|
8541
8541
|
*
|
|
@@ -8549,7 +8549,7 @@ type Process$Z<TPath extends string, TFirst extends string, TLast extends string
|
|
|
8549
8549
|
* `EnsureStarting<T>`, and `StripStarting<T>` to further shape
|
|
8550
8550
|
* the type.
|
|
8551
8551
|
*/
|
|
8552
|
-
type PathJoin<TSegments extends readonly string[]> = StripSlash<TSegments> extends readonly string[] ? Process$
|
|
8552
|
+
type PathJoin<TSegments extends readonly string[]> = StripSlash<TSegments> extends readonly string[] ? Process$_<Join<StripSlash<TSegments>, "/">, First<TSegments>, Last<TSegments>> : never;
|
|
8553
8553
|
|
|
8554
8554
|
type ExceptionLookup = typeof PLURAL_EXCEPTIONS;
|
|
8555
8555
|
type SingularNoun = "s" | "sh" | "ch" | "x" | "z" | "o";
|
|
@@ -8621,7 +8621,7 @@ type _RetainAfter<TStr extends string, TBreak extends string, TInclude extends b
|
|
|
8621
8621
|
*/
|
|
8622
8622
|
type RetainAfter<TStr extends string, TBreak extends string, TInclude extends boolean = false> = IsNever<_RetainAfter<TStr, TBreak, TInclude>> extends true ? "" : IsUnion<_RetainAfter<TStr, TBreak, TInclude>> extends true ? MaxLength<UnionToTuple$1<_RetainAfter<TStr, TBreak, TInclude>>> : _RetainAfter<TStr, TBreak, TInclude>;
|
|
8623
8623
|
|
|
8624
|
-
type Process$
|
|
8624
|
+
type Process$Z<TChars extends readonly string[], TOp extends "is" | "not", TComparator extends string, TInclude extends boolean = false, TResult extends string = ""> = [] extends TChars ? TResult : First<TChars> extends TComparator ? TOp extends "is" ? Process$Z<AfterFirst<TChars>, TOp, TComparator, TInclude, `${TResult}${First<TChars>}`> : If<TInclude, `${TResult}${First<TChars>}`, TResult> : TOp extends "is" ? If<TInclude, `${TResult}${First<TChars>}`, TResult> : Process$Z<AfterFirst<TChars>, TOp, TComparator, TInclude, `${TResult}${First<TChars>}`>;
|
|
8625
8625
|
/**
|
|
8626
8626
|
* **RetainUntil**`<TContent,TComparator>`
|
|
8627
8627
|
*
|
|
@@ -8635,7 +8635,7 @@ type Process$Y<TChars extends readonly string[], TOp extends "is" | "not", TComp
|
|
|
8635
8635
|
*
|
|
8636
8636
|
* **Related:** `RetainWhile`
|
|
8637
8637
|
*/
|
|
8638
|
-
type RetainUntil<TContent extends string, TComparator extends string, TInclude extends boolean = false> = Process$
|
|
8638
|
+
type RetainUntil<TContent extends string, TComparator extends string, TInclude extends boolean = false> = Process$Z<Chars<TContent>, "not", TComparator, TInclude>;
|
|
8639
8639
|
/**
|
|
8640
8640
|
* **RetainWhile**`<TContent,TComparator>`
|
|
8641
8641
|
*
|
|
@@ -8649,7 +8649,7 @@ type RetainUntil<TContent extends string, TComparator extends string, TInclude e
|
|
|
8649
8649
|
*
|
|
8650
8650
|
* **Related:** `RetainUntil`
|
|
8651
8651
|
*/
|
|
8652
|
-
type RetainWhile<TContent extends string, TComparator extends string> = Process$
|
|
8652
|
+
type RetainWhile<TContent extends string, TComparator extends string> = Process$Z<Chars<TContent>, "is", TComparator>;
|
|
8653
8653
|
|
|
8654
8654
|
type Policy = "omit" | "before" | "after";
|
|
8655
8655
|
type Postfix<T extends string> = ["postfix", T];
|
|
@@ -8666,7 +8666,7 @@ type EachBlock<TContent extends readonly (string | Postfix<string>)[], TSep exte
|
|
|
8666
8666
|
First<TContent>
|
|
8667
8667
|
]>;
|
|
8668
8668
|
type Iterate$3<TContent extends readonly (string | Postfix<string>)[], TSep extends readonly string[], TPolicy extends Policy> = [] extends TSep ? FixPostfix<Filter<TContent, "", "equals">> : Iterate$3<EachBlock<TContent, First<TSep>, TPolicy>, AfterFirst<TSep>, TPolicy>;
|
|
8669
|
-
type Process$
|
|
8669
|
+
type Process$Y<TContent extends string, TSep extends string | readonly string[], TPolicy extends Policy = "omit"> = IsLiteral<TSep> extends true ? TSep extends "" ? ErrMsg<"invalid-separator", `Split<T>: an empty string was used as a separator. Use Chars<T> if you want to split a string into characters!`> : TSep extends readonly string[] ? Iterate$3<[TContent], TSep, TPolicy> : TSep extends string ? Convert$3<TContent, TSep, TPolicy> extends readonly (string | Postfix<string>)[] ? FixPostfix<Convert$3<TContent, TSep, TPolicy>> : never : never : never;
|
|
8670
8670
|
/**
|
|
8671
8671
|
* **Split**`<TContent,TSep,[TPolicy]>`
|
|
8672
8672
|
*
|
|
@@ -8681,7 +8681,7 @@ type Process$X<TContent extends string, TSep extends string | readonly string[],
|
|
|
8681
8681
|
* than `SplitAlt` but there are instances where `SplitAlt` is more performant
|
|
8682
8682
|
* in inference.
|
|
8683
8683
|
*/
|
|
8684
|
-
type Split<TContent extends string, TSep extends string | readonly string[], TPolicy extends Policy = "omit"> = IsStringLiteral<TContent> extends true ? IsUnion<TSep> extends true ? UnionToTuple$1<TSep> extends readonly string[] ? Split<TContent, UnionToTuple$1<TSep>, TPolicy> : ErrMsg<"invalid-union"> : Process$
|
|
8684
|
+
type Split<TContent extends string, TSep extends string | readonly string[], TPolicy extends Policy = "omit"> = IsStringLiteral<TContent> extends true ? IsUnion<TSep> extends true ? UnionToTuple$1<TSep> extends readonly string[] ? Split<TContent, UnionToTuple$1<TSep>, TPolicy> : ErrMsg<"invalid-union"> : Process$Y<TContent, TSep, TPolicy> : string[];
|
|
8685
8685
|
|
|
8686
8686
|
type UnionPolicy = "omit" | "include";
|
|
8687
8687
|
type UnionSplit<TContent extends readonly string[], TSep extends string, TUnionPolicy extends UnionPolicy, TResult extends readonly string[] = []> = [] extends TContent ? TResult : UnionSplit<AfterFirst<TContent>, // advance to next character
|
|
@@ -8696,8 +8696,8 @@ type LiteralSplit<TContent extends string, TSep extends string, TUnionPolicy ext
|
|
|
8696
8696
|
...TResults,
|
|
8697
8697
|
TUnionPolicy extends "omit" ? Block : `${Block}${TSep}`
|
|
8698
8698
|
]> : Filter<[...TResults, TContent], "">;
|
|
8699
|
-
type Process$
|
|
8700
|
-
type PreProcess$1<TContent extends string, TSep extends string | readonly string[], TUnionPolicy extends UnionPolicy = "omit"> = IsUnion<TSep> extends true ? UnionToTuple$1<TSep> extends readonly string[] ? Process$
|
|
8699
|
+
type Process$X<TContent extends string, TSep extends string | readonly string[], TUnionPolicy extends UnionPolicy = "omit"> = IsWideType<TContent> extends true ? string : TSep extends readonly string[] ? TupleToUnion<TSep> extends string ? Chars<TContent> extends readonly string[] ? UnionSplit<Chars<TContent>, TupleToUnion<TSep>, TUnionPolicy> : never : never : TSep extends string ? LiteralSplit<TContent, TSep, TUnionPolicy> : never;
|
|
8700
|
+
type PreProcess$1<TContent extends string, TSep extends string | readonly string[], TUnionPolicy extends UnionPolicy = "omit"> = IsUnion<TSep> extends true ? UnionToTuple$1<TSep> extends readonly string[] ? Process$X<TContent, UnionToTuple$1<TSep>, TUnionPolicy> : never : Process$X<TContent, TSep, TUnionPolicy>;
|
|
8701
8701
|
/**
|
|
8702
8702
|
* **SplitAlt**`<TContent,TSep,[TPolicy]>`
|
|
8703
8703
|
*
|
|
@@ -8737,7 +8737,7 @@ type StripAfter<TStr extends string, TBreak extends string> = IsStringLiteral<TS
|
|
|
8737
8737
|
*/
|
|
8738
8738
|
type StripBefore<TStr extends string, TBreak extends string> = IsStringLiteral<TStr> extends true ? IsStringLiteral<TBreak> extends true ? TStr extends `${string}${TBreak}${infer REST}` ? `${REST}` : TStr : string : string;
|
|
8739
8739
|
|
|
8740
|
-
type Process$
|
|
8740
|
+
type Process$W<TContent extends string, TStrip extends string> = And<[IsStringLiteral<TContent>, IsStringLiteral<TStrip>]> extends true ? TContent extends `${TStrip & string}${infer After}` ? After : TContent : string;
|
|
8741
8741
|
/**
|
|
8742
8742
|
* **StripLeading**`<T, U>`
|
|
8743
8743
|
*
|
|
@@ -8754,9 +8754,9 @@ type Process$V<TContent extends string, TStrip extends string> = And<[IsStringLi
|
|
|
8754
8754
|
* - if `T` is a non-string type then no transformation will be done
|
|
8755
8755
|
* - same applies to `U`
|
|
8756
8756
|
*/
|
|
8757
|
-
type StripLeading<TContent extends string | number, TStrip extends string | number> = TContent extends number ? AsNumber<Process$
|
|
8757
|
+
type StripLeading<TContent extends string | number, TStrip extends string | number> = TContent extends number ? AsNumber<Process$W<`${TContent}`, AsStringUnion<TStrip>>> : TContent extends string ? Process$W<TContent, AsStringUnion<TStrip>> : never;
|
|
8758
8758
|
|
|
8759
|
-
type Process$
|
|
8759
|
+
type Process$V<TContent extends string, TSurround extends string> = TContent extends `${TSurround}${infer REMAIN}` ? REMAIN extends `${infer LEADING}${TSurround}` ? LEADING : REMAIN : TContent extends `${infer LEADING}${TSurround}` ? LEADING : TContent;
|
|
8760
8760
|
/**
|
|
8761
8761
|
* **StripSurround**`<TContent, TSurround>`
|
|
8762
8762
|
*
|
|
@@ -8768,9 +8768,9 @@ type Process$U<TContent extends string, TSurround extends string> = TContent ext
|
|
|
8768
8768
|
* type Hello = StripSurround<"(Hi there)", "(" | ")">;
|
|
8769
8769
|
* ```
|
|
8770
8770
|
*/
|
|
8771
|
-
type StripSurround<TContent extends string | number, TSurround extends string | number> = IsWideType<TContent> extends true ? TContent : TContent extends string ? Process$
|
|
8771
|
+
type StripSurround<TContent extends string | number, TSurround extends string | number> = IsWideType<TContent> extends true ? TContent : TContent extends string ? Process$V<TContent, AsStringUnion<TSurround>> : AsNumber<Process$V<`${TContent}`, AsStringUnion<TSurround>>>;
|
|
8772
8772
|
|
|
8773
|
-
type Process$
|
|
8773
|
+
type Process$U<TContent extends string, TStrip extends string> = And<[IsStringLiteral<TContent>, IsStringLiteral<TStrip>]> extends true ? TContent extends `${infer Before}${TStrip}` ? Before : TContent : string;
|
|
8774
8774
|
/**
|
|
8775
8775
|
* **StripEnding**`<TContent, TStrip>`
|
|
8776
8776
|
*
|
|
@@ -8784,23 +8784,23 @@ type Process$T<TContent extends string, TStrip extends string> = And<[IsStringLi
|
|
|
8784
8784
|
* type R = StripEnding<T,U>;
|
|
8785
8785
|
* ```
|
|
8786
8786
|
*/
|
|
8787
|
-
type StripTrailing<TContent extends string | number, TStrip extends string | number> = TContent extends number ? AsNumber<Process$
|
|
8787
|
+
type StripTrailing<TContent extends string | number, TStrip extends string | number> = TContent extends number ? AsNumber<Process$U<`${TContent}`, `${TStrip}`> extends `${number}` ? Process$U<`${TContent}`, `${TStrip}`> : never> : TContent extends string ? Process$U<`${TContent}`, `${TStrip}`> extends string ? Process$U<`${TContent}`, `${TStrip}`> : never : never;
|
|
8788
8788
|
|
|
8789
|
-
type Process$
|
|
8789
|
+
type Process$T<TChars extends readonly string[], TOp extends "is" | "not", TComparator extends string, TResult extends string> = [] extends TChars ? TResult : First<TChars> extends TComparator ? TOp extends "is" ? Process$T<AfterFirst<TChars>, TOp, TComparator, Shift<TResult> extends string ? Shift<TResult> : ""> : TResult : TOp extends "is" ? TResult : Process$T<AfterFirst<TChars>, TOp, TComparator, Shift<TResult> extends string ? Shift<TResult> : "">;
|
|
8790
8790
|
/**
|
|
8791
8791
|
* **StripUntil**`<TContent,TComparator>`
|
|
8792
8792
|
*
|
|
8793
8793
|
* Strip characters from the start of `TContent` _until_ a
|
|
8794
8794
|
* character extends `TComparator`.
|
|
8795
8795
|
*/
|
|
8796
|
-
type StripUntil<TContent extends string, TComparator extends string> = Process$
|
|
8796
|
+
type StripUntil<TContent extends string, TComparator extends string> = Process$T<Chars<TContent>, "not", TComparator, TContent>;
|
|
8797
8797
|
/**
|
|
8798
8798
|
* **StripWhile**`<TContent,TComparator>`
|
|
8799
8799
|
*
|
|
8800
8800
|
* Strip characters from the start of `TContent` _while_ those
|
|
8801
8801
|
* characters extend `TComparator`.
|
|
8802
8802
|
*/
|
|
8803
|
-
type StripWhile<TContent extends string, TComparator extends string> = Process$
|
|
8803
|
+
type StripWhile<TContent extends string, TComparator extends string> = Process$T<Chars<TContent>, "is", TComparator, TContent>;
|
|
8804
8804
|
|
|
8805
8805
|
type Compute<TStr extends string, TLen extends Tuple = []> = TStr extends `${infer _Char}${infer Rest}` ? Compute<Rest, [...TLen, unknown]> : TLen["length"];
|
|
8806
8806
|
/**
|
|
@@ -8811,9 +8811,9 @@ type Compute<TStr extends string, TLen extends Tuple = []> = TStr extends `${inf
|
|
|
8811
8811
|
*/
|
|
8812
8812
|
type StrLen<T extends string> = Compute<T>;
|
|
8813
8813
|
|
|
8814
|
-
type Process$
|
|
8814
|
+
type Process$S<TContent extends string, TPrefix extends string, TPostfix extends string> = `${TPrefix}${TContent}${TPostfix}`;
|
|
8815
8815
|
type ProcessEach<TContent extends readonly string[], TPrefix extends string, TPostfix extends string> = {
|
|
8816
|
-
[K in keyof TContent]: Process$
|
|
8816
|
+
[K in keyof TContent]: Process$S<TContent[K], TPrefix, TPostfix>;
|
|
8817
8817
|
};
|
|
8818
8818
|
/**
|
|
8819
8819
|
* **Surround**`<TContent,TPrefix,TPostfix>`
|
|
@@ -8828,7 +8828,7 @@ type ProcessEach<TContent extends readonly string[], TPrefix extends string, TPo
|
|
|
8828
8828
|
* type T2 = Surround<["one","two"], "<",">">;
|
|
8829
8829
|
* ```
|
|
8830
8830
|
*/
|
|
8831
|
-
type Surround<TContent extends string | number | readonly (string | number)[], TPrefix extends string, TPostfix extends string> = TContent extends number ? Surround<`${TContent}`, TPrefix, TPostfix> : TContent extends readonly unknown[] ? TContent extends readonly string[] ? ProcessEach<TContent, TPrefix, TPostfix> : ProcessEach<ToStringArray<TContent> extends readonly string[] ? ToStringArray<TContent> : never, TPrefix, TPostfix> : TContent extends string ? Process$
|
|
8831
|
+
type Surround<TContent extends string | number | readonly (string | number)[], TPrefix extends string, TPostfix extends string> = TContent extends number ? Surround<`${TContent}`, TPrefix, TPostfix> : TContent extends readonly unknown[] ? TContent extends readonly string[] ? ProcessEach<TContent, TPrefix, TPostfix> : ProcessEach<ToStringArray<TContent> extends readonly string[] ? ToStringArray<TContent> : never, TPrefix, TPostfix> : TContent extends string ? Process$S<TContent, TPrefix, TPostfix> : never;
|
|
8832
8832
|
|
|
8833
8833
|
type CivilianTwoDigitHour = "10" | "11" | "12";
|
|
8834
8834
|
type TimeResolution = "HH:MM" | "HH:MM:SS" | "HH:MM:SS.ms";
|
|
@@ -9010,7 +9010,7 @@ type TypeSubtype = `${string}/${string}` & {
|
|
|
9010
9010
|
brand: "type-subtype";
|
|
9011
9011
|
};
|
|
9012
9012
|
|
|
9013
|
-
type Process$
|
|
9013
|
+
type Process$R<T> = T extends NumberLike ? AsNumber<T> : T extends BooleanLike ? AsBoolean<T> : T;
|
|
9014
9014
|
/**
|
|
9015
9015
|
* **UnderlyingType**`<T>`
|
|
9016
9016
|
*
|
|
@@ -9023,8 +9023,8 @@ type Process$Q<T> = T extends NumberLike ? AsNumber<T> : T extends BooleanLike ?
|
|
|
9023
9023
|
* In all other cases it simply proxies the type of `T` through.
|
|
9024
9024
|
*/
|
|
9025
9025
|
type UnderlyingType<T> = T extends readonly unknown[] ? {
|
|
9026
|
-
[K in keyof T]: Process$
|
|
9027
|
-
} : Process$
|
|
9026
|
+
[K in keyof T]: Process$R<T[K]>;
|
|
9027
|
+
} : Process$R<T>;
|
|
9028
9028
|
|
|
9029
9029
|
/**
|
|
9030
9030
|
* **JsonValue**`<T>`
|
|
@@ -9101,7 +9101,7 @@ type MutableArray<T extends readonly unknown[]> = [
|
|
|
9101
9101
|
*/
|
|
9102
9102
|
type Mutable<T> = [T] extends [readonly unknown[]] ? MutableArray<T> : [T] extends [boolean] ? T : [IsObjectLiteral<T>] extends [true] ? MutableObject<T> : T;
|
|
9103
9103
|
|
|
9104
|
-
type Process$
|
|
9104
|
+
type Process$P<TSource extends AnyObject, TKeys extends readonly (ObjectKey & keyof TSource)[], TTuple extends readonly KeyValue[] = []> = [] extends TKeys ? TTuple : Process$P<TSource, AfterFirst<TKeys>, [
|
|
9105
9105
|
...TTuple,
|
|
9106
9106
|
{
|
|
9107
9107
|
key: First<TKeys>;
|
|
@@ -9125,10 +9125,10 @@ type Compact<TSource extends AnyObject, TKeys extends readonly (ObjectKey & keyo
|
|
|
9125
9125
|
* type C = ObjectToTuple< foo: 1 }, true>;
|
|
9126
9126
|
* ```
|
|
9127
9127
|
*/
|
|
9128
|
-
type ObjectToTuple<TObj extends AnyObject, TCompact extends boolean = false> = TObj extends ExplicitlyEmptyObject ? [] : IsWideContainer<TObj> extends true ? TCompact extends false ? KeyValue[] : Record<ObjectKey, any>[] : TCompact extends false ? Process$
|
|
9128
|
+
type ObjectToTuple<TObj extends AnyObject, TCompact extends boolean = false> = TObj extends ExplicitlyEmptyObject ? [] : IsWideContainer<TObj> extends true ? TCompact extends false ? KeyValue[] : Record<ObjectKey, any>[] : TCompact extends false ? Process$P<TObj, As<Keys<TObj>, readonly (ObjectKey & keyof TObj)[]>> : Compact<TObj, As<Keys<TObj>, readonly (ObjectKey & keyof TObj)[]>>;
|
|
9129
9129
|
|
|
9130
9130
|
type Prefix$2<T extends boolean> = T extends true ? "\n " : "";
|
|
9131
|
-
type Process$
|
|
9131
|
+
type Process$O<T extends readonly Record<ObjectKey, any>[], E extends boolean> = Join<{
|
|
9132
9132
|
[K in keyof T]: T[K] extends Record<infer Key extends string, infer Value> ? `${Prefix$2<E>}${Key}: ${AsString<Value>}` : never;
|
|
9133
9133
|
}, "; ">;
|
|
9134
9134
|
/**
|
|
@@ -9138,10 +9138,10 @@ type Process$N<T extends readonly Record<ObjectKey, any>[], E extends boolean> =
|
|
|
9138
9138
|
*
|
|
9139
9139
|
* **Related:** `ObjectToJsString`, `ObjectToJsonString`, `ObjectToTuple`
|
|
9140
9140
|
*/
|
|
9141
|
-
type ObjectToCssString<TObj extends AnyObject, TExpand extends boolean = false> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process$
|
|
9141
|
+
type ObjectToCssString<TObj extends AnyObject, TExpand extends boolean = false> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process$O<ObjectToTuple<TObj, true>, false>, TExpand extends false ? "{ " : "{", TExpand extends false ? " }" : "\n}">;
|
|
9142
9142
|
|
|
9143
9143
|
type Prefix<T extends boolean> = T extends true ? "\n " : "";
|
|
9144
|
-
type Process$
|
|
9144
|
+
type Process$L<T extends readonly Record<ObjectKey, any>[], E extends boolean> = Join<{
|
|
9145
9145
|
[K in keyof T]: T[K] extends Record<infer Key extends string, infer Value> ? Value extends AnyObject ? `${Prefix<E>}${Key} ${AsString<Value>}` : never : never;
|
|
9146
9146
|
}, "\n ">;
|
|
9147
9147
|
/**
|
|
@@ -9151,7 +9151,7 @@ type Process$K<T extends readonly Record<ObjectKey, any>[], E extends boolean> =
|
|
|
9151
9151
|
*
|
|
9152
9152
|
* **Related:** `ObjectToJsString`, `ObjectToJsonString`, `ObjectToTuple`, `ObjectToCssString`
|
|
9153
9153
|
*/
|
|
9154
|
-
type ObjectToKeyframeString<TObj extends AnyObject, TExpand extends boolean = false> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process$
|
|
9154
|
+
type ObjectToKeyframeString<TObj extends AnyObject, TExpand extends boolean = false> = TObj extends ExplicitlyEmptyObject ? "{}" : IsWideContainer<TObj> extends true ? string : Surround<Process$L<ObjectToTuple<TObj, true>, false>, TExpand extends false ? "{ " : "{\n ", TExpand extends false ? " }" : "\n}">;
|
|
9155
9155
|
|
|
9156
9156
|
/**
|
|
9157
9157
|
* **RemoveIndex**`<T>`
|
|
@@ -9186,9 +9186,9 @@ type RemoveIndex<T extends Record<any, any>> = {
|
|
|
9186
9186
|
*/
|
|
9187
9187
|
type Replace<TText extends string, TFind extends string, TReplace extends string> = TText extends "" ? If<IsEqual<TFind, "">, TReplace, ""> : TFind extends "" ? TText : TText extends `${infer F}${TFind}${infer E}` ? `${F}${TReplace}${E}` : TText;
|
|
9188
9188
|
|
|
9189
|
-
type Process$
|
|
9190
|
-
type Iterate$2<TText extends string, TFind extends readonly string[], TReplace extends string> = [] extends TFind ? TText : Iterate$2<Process$
|
|
9191
|
-
type Singular<TText extends string, TFind extends string, TReplace extends string> = IsStringLiteral<TText> extends true ? IsStringLiteral<TFind> extends true ? IsUnion<TFind> extends true ? UnionToTuple$1<TFind> extends readonly string[] ? Iterate$2<TText, UnionToTuple$1<TFind>, TReplace> : never : Process$
|
|
9189
|
+
type Process$K<TText extends string, TFind extends string, TReplace extends string> = Replace<TText, TFind, TReplace> extends `${string}${TFind}${string}` ? Process$K<Replace<TText, TFind, TReplace>, TFind, TReplace> : Replace<TText, TFind, TReplace>;
|
|
9190
|
+
type Iterate$2<TText extends string, TFind extends readonly string[], TReplace extends string> = [] extends TFind ? TText : Iterate$2<Process$K<TText, First<TFind>, TReplace>, AfterFirst<TFind>, TReplace>;
|
|
9191
|
+
type Singular<TText extends string, TFind extends string, TReplace extends string> = IsStringLiteral<TText> extends true ? IsStringLiteral<TFind> extends true ? IsUnion<TFind> extends true ? UnionToTuple$1<TFind> extends readonly string[] ? Iterate$2<TText, UnionToTuple$1<TFind>, TReplace> : never : Process$K<TText, TFind, TReplace> : string : string;
|
|
9192
9192
|
type Multiple<TText extends readonly string[], TFind extends string, TReplace extends string, TResult extends readonly string[] = []> = [] extends TText ? TResult : Multiple<AfterFirst<TText>, TFind, TReplace, [
|
|
9193
9193
|
...TResult,
|
|
9194
9194
|
ReplaceAll<First<TText>, TFind, TReplace>
|
|
@@ -9212,7 +9212,7 @@ type Multiple<TText extends readonly string[], TFind extends string, TReplace ex
|
|
|
9212
9212
|
*/
|
|
9213
9213
|
type ReplaceAll<TText extends string | readonly string[], TFind extends string, TReplace extends string> = TText extends readonly string[] ? IsLiteral<TText> extends true ? Multiple<TText, TFind, TReplace> : string[] : TText extends string ? Singular<TText, TFind, TReplace> : never;
|
|
9214
9214
|
|
|
9215
|
-
type Process$
|
|
9215
|
+
type Process$J<TChars extends readonly string[], TRetain extends string> = RemoveMarked<{
|
|
9216
9216
|
[K in keyof TChars]: TChars[K] extends TRetain ? TChars[K] : Constant$1<"Marked">;
|
|
9217
9217
|
}>;
|
|
9218
9218
|
/**
|
|
@@ -9222,7 +9222,7 @@ type Process$I<TChars extends readonly string[], TRetain extends string> = Remov
|
|
|
9222
9222
|
* of the characters in `TRetain` _retained_ while all
|
|
9223
9223
|
* other characters are removed.
|
|
9224
9224
|
*/
|
|
9225
|
-
type RetainChars<TContent extends string, TRetain extends string> = Or<[IsWideType<TContent>, IsWideType<TRetain>]> extends true ? string : Process$
|
|
9225
|
+
type RetainChars<TContent extends string, TRetain extends string> = Or<[IsWideType<TContent>, IsWideType<TRetain>]> extends true ? string : Process$J<Chars<TContent>, TRetain> extends readonly string[] ? Join<Process$J<Chars<TContent>, TRetain>> : never;
|
|
9226
9226
|
|
|
9227
9227
|
/**
|
|
9228
9228
|
* Provides the _left_ whitespace of a string
|
|
@@ -9236,7 +9236,7 @@ type RightWhitespace<S extends string> = string extends S ? string : Replace<S,
|
|
|
9236
9236
|
type Strip<TChars extends readonly string[], TStrip extends string> = {
|
|
9237
9237
|
[K in keyof TChars]: TChars[K] extends TStrip ? Marked$3 : TChars[K];
|
|
9238
9238
|
};
|
|
9239
|
-
type Process$
|
|
9239
|
+
type Process$I<TChars extends readonly string[], TStrip extends string> = As<RemoveMarked<Strip<TChars, TStrip>>, readonly string[]>;
|
|
9240
9240
|
/**
|
|
9241
9241
|
* **StripChars**`<TContent,TStrip>`
|
|
9242
9242
|
*
|
|
@@ -9247,7 +9247,7 @@ type Process$H<TChars extends readonly string[], TStrip extends string> = As<Rem
|
|
|
9247
9247
|
* of single characters or this will throw
|
|
9248
9248
|
* `ErrorCondition<"invalid-strip-char">`
|
|
9249
9249
|
*/
|
|
9250
|
-
type StripChars<TContent extends string, TStrip extends string> = Or<[IsWideType<TContent>, IsWideType<TStrip>]> extends true ? string : Chars<TContent> extends readonly string[] ? Concat<Process$
|
|
9250
|
+
type StripChars<TContent extends string, TStrip extends string> = Or<[IsWideType<TContent>, IsWideType<TStrip>]> extends true ? string : Chars<TContent> extends readonly string[] ? Concat<Process$I<Chars<TContent>, TStrip>> extends string ? Concat<Process$I<Chars<TContent>, TStrip>> : never : never;
|
|
9251
9251
|
|
|
9252
9252
|
/**
|
|
9253
9253
|
* **ToNumber**`<T>`
|
|
@@ -9290,7 +9290,7 @@ type ToStringArray<T extends Tuple> = {
|
|
|
9290
9290
|
[K in keyof T]: AsString<T[K]>;
|
|
9291
9291
|
} : never;
|
|
9292
9292
|
|
|
9293
|
-
type Process$
|
|
9293
|
+
type Process$H<S extends string> = string extends S ? string : S extends `${Whitespace}${infer Right}` ? Process$H<Right> : S extends `${infer Left}${Whitespace}` ? Process$H<Left> : S;
|
|
9294
9294
|
/**
|
|
9295
9295
|
* Trims off blank spaces, `\n` and `\t` characters from both sides of a _string literal_.
|
|
9296
9296
|
* ```ts
|
|
@@ -9300,7 +9300,7 @@ type Process$G<S extends string> = string extends S ? string : S extends `${Whit
|
|
|
9300
9300
|
* type T = Trim<string>;
|
|
9301
9301
|
* ```
|
|
9302
9302
|
*/
|
|
9303
|
-
type Trim<S extends string> = Process$
|
|
9303
|
+
type Trim<S extends string> = Process$H<S> extends string ? Process$H<S> : never;
|
|
9304
9304
|
|
|
9305
9305
|
/**
|
|
9306
9306
|
* Trims off whitespace on left of string
|
|
@@ -9375,10 +9375,10 @@ type GetKeys$1<T extends AnyFunction> = FnProps<T> extends Dictionary ? Keys<FnP
|
|
|
9375
9375
|
* Widens any _scalar_ type `T`.
|
|
9376
9376
|
*/
|
|
9377
9377
|
type WidenScalar<T extends Scalar> = T extends string ? string : T extends number ? number : T extends boolean ? boolean : T extends symbol ? symbol : T extends null ? null : never;
|
|
9378
|
-
type Process$
|
|
9379
|
-
type WidenObj<T extends Dictionary, TKeys extends readonly (keyof T)[], TResults extends Dictionary = EmptyObject> = [] extends TKeys ? TResults : WidenObj<T, AfterFirst<TKeys>, TResults & Record<First<TKeys>, T[First<TKeys>] extends TypedFunction ? WidenFn<IsNarrowingFn<T[First<TKeys>]>, Parameters<T[First<TKeys>]>, ReturnType<T[First<TKeys>]>, ExpandDictionary<FnProps<T[First<TKeys>]>>> : IsLiteral<T[First<TKeys>]> extends true ? WidenLiteral<T[First<TKeys>]> : Process$
|
|
9378
|
+
type Process$E<T> = T extends Scalar ? WidenScalar<T> : T extends unknown[] ? T extends (infer Type)[] ? IsUnion<Type> extends true ? WidenUnion<Type>[] : Type extends unknown[] ? WidenTuple<Type> : T : never : T extends AnyFunction ? GetKeys$1<T>["length"] extends 0 ? RemoveFnProps<T> : RemoveFnProps<T> & ExpandRecursively<WidenObj<FnProps<T>, GetKeys$1<T>>> : T;
|
|
9379
|
+
type WidenObj<T extends Dictionary, TKeys extends readonly (keyof T)[], TResults extends Dictionary = EmptyObject> = [] extends TKeys ? TResults : WidenObj<T, AfterFirst<TKeys>, TResults & Record<First<TKeys>, T[First<TKeys>] extends TypedFunction ? WidenFn<IsNarrowingFn<T[First<TKeys>]>, Parameters<T[First<TKeys>]>, ReturnType<T[First<TKeys>]>, ExpandDictionary<FnProps<T[First<TKeys>]>>> : IsLiteral<T[First<TKeys>]> extends true ? WidenLiteral<T[First<TKeys>]> : Process$E<T[First<TKeys>]>>>;
|
|
9380
9380
|
type WidenTuple<T extends readonly unknown[]> = {
|
|
9381
|
-
[K in keyof T]: IsLiteral<T[K]> extends true ? WidenLiteral<T[K]> : Process$
|
|
9381
|
+
[K in keyof T]: IsLiteral<T[K]> extends true ? WidenLiteral<T[K]> : Process$E<T[K]>;
|
|
9382
9382
|
};
|
|
9383
9383
|
type WidenFnParams<T extends readonly unknown[]> = {
|
|
9384
9384
|
[K in keyof T]: IsLiteral<T[K]> extends true ? WidenLiteral<T[K]> : IsLiteralUnion<T[K]> extends true ? WidenUnion<T[K]> : T[K];
|
|
@@ -9411,10 +9411,10 @@ type WidenContainer<T extends Container, TForce extends boolean = false> = [
|
|
|
9411
9411
|
* **Note:** should you want the container values to be fully widened you
|
|
9412
9412
|
* can set `TForce` to true.
|
|
9413
9413
|
*/
|
|
9414
|
-
type Widen<T, TForce extends boolean = false> = [IsUnion<T>] extends [true] ? WidenUnion<T> : T extends Container ? WidenContainer<T, TForce> : T extends Scalar ? WidenScalar<T> : Process$
|
|
9414
|
+
type Widen<T, TForce extends boolean = false> = [IsUnion<T>] extends [true] ? WidenUnion<T> : T extends Container ? WidenContainer<T, TForce> : T extends Scalar ? WidenScalar<T> : Process$E<T>;
|
|
9415
9415
|
|
|
9416
9416
|
type Tighten<T extends string> = T extends ` ${infer Rest extends string}` ? T extends ` ${infer Double extends string}` ? Double : Rest : T;
|
|
9417
|
-
type Process$
|
|
9417
|
+
type Process$D<T extends string, Result extends readonly unknown[] = []> = T extends `${infer Element},${infer Rest}` ? Process$D<Rest, [
|
|
9418
9418
|
...Result,
|
|
9419
9419
|
Tighten<Element> extends NumberLike ? AsNumber<Tighten<Element>> : Tighten<Element>
|
|
9420
9420
|
]> : [
|
|
@@ -9445,7 +9445,7 @@ type ProcessUnionStr<T extends string, Result extends string | number = never> =
|
|
|
9445
9445
|
*
|
|
9446
9446
|
* **Related:** `CsvToTupleStr`, `CsvToUnion`
|
|
9447
9447
|
*/
|
|
9448
|
-
type CsvToTuple<T extends string> = Process$
|
|
9448
|
+
type CsvToTuple<T extends string> = Process$D<T>;
|
|
9449
9449
|
/**
|
|
9450
9450
|
* **CsvToTupleStr**`<T>`
|
|
9451
9451
|
*
|
|
@@ -9610,12 +9610,12 @@ type WideFlatten<T> = T extends (infer Type)[] ? Type extends unknown[] ? Type :
|
|
|
9610
9610
|
* Just returns `TList` "as is" if it's not a a Tuple or
|
|
9611
9611
|
* Union type.
|
|
9612
9612
|
*/
|
|
9613
|
-
type Process$
|
|
9613
|
+
type Process$x<TList, TLevel extends 1 | 2 | 3 = 1> = TList extends readonly unknown[] ? IsTuple<TList> extends true ? FlattenTuple<TList, TLevel> : WideFlatten<TList> : IsUnion<TList> extends true ? FlattenUnion<TList> : TList;
|
|
9614
9614
|
/**
|
|
9615
9615
|
* converts a wide array to a scalar and tuple
|
|
9616
9616
|
* to a union type
|
|
9617
9617
|
*/
|
|
9618
|
-
type ToScalar<TList, TLevel extends 1 | 2 | 3> = [IsTuple<Process$
|
|
9618
|
+
type ToScalar<TList, TLevel extends 1 | 2 | 3> = [IsTuple<Process$x<TList>>] extends [true] ? TupleToUnion<Process$x<TList, TLevel>> : Process$x<TList, TLevel> extends (infer Type)[] ? Type : never;
|
|
9619
9619
|
type IterateScalar<T extends readonly unknown[], TLevel extends 1 | 2 | 3> = TupleToUnion<{
|
|
9620
9620
|
[K in keyof T]: T[K] extends unknown[] ? ToScalar<T[K], TLevel> : T[K];
|
|
9621
9621
|
}>;
|
|
@@ -9631,15 +9631,15 @@ type IterateScalar<T extends readonly unknown[], TLevel extends 1 | 2 | 3> = Tup
|
|
|
9631
9631
|
* if you set `ToScalar` to `true` then it will flatten right out of being an array
|
|
9632
9632
|
* into a union type
|
|
9633
9633
|
*/
|
|
9634
|
-
type Flatten<TList, TLevel extends 1 | 2 | 3 = 1, ToScalar extends boolean = false> = [ToScalar] extends [false] ? Process$
|
|
9635
|
-
IsUnion<Process$
|
|
9636
|
-
] extends [true] ? IterateScalar<UnionToTuple$1<Process$
|
|
9634
|
+
type Flatten<TList, TLevel extends 1 | 2 | 3 = 1, ToScalar extends boolean = false> = [ToScalar] extends [false] ? Process$x<TList, TLevel> : [
|
|
9635
|
+
IsUnion<Process$x<TList, TLevel>>
|
|
9636
|
+
] extends [true] ? IterateScalar<UnionToTuple$1<Process$x<TList, TLevel>>, TLevel> : [IsTuple<Process$x<TList, TLevel>>] extends [true] ? TupleToUnion<Process$x<TList, TLevel>> : Process$x<TList, TLevel> extends (infer Type)[] ? Type : never;
|
|
9637
9637
|
|
|
9638
9638
|
/**
|
|
9639
9639
|
* extract props from functions
|
|
9640
9640
|
*/
|
|
9641
9641
|
type F<T> = T extends TypedFunction ? FnProps<T> : T;
|
|
9642
|
-
type Process$
|
|
9642
|
+
type Process$w<TList extends readonly unknown[], TKey extends string> = RemoveNever<{
|
|
9643
9643
|
[K in keyof TList]: [TKey] extends [keyof F<TList[K]>] ? [IndexOf<F<TList[K]>, TKey>] extends [undefined] ? never : IndexOf<F<TList[K]>, TKey> : [IsValidDotPath<F<TList[K]>, TKey>] extends [true] ? Mutable<Get$1<F<TList[K]>, TKey, never>> : never;
|
|
9644
9644
|
}>;
|
|
9645
9645
|
/**
|
|
@@ -9661,7 +9661,7 @@ type Process$v<TList extends readonly unknown[], TKey extends string> = RemoveNe
|
|
|
9661
9661
|
* ], "name">
|
|
9662
9662
|
* ```
|
|
9663
9663
|
*/
|
|
9664
|
-
type GetEach<TList extends readonly unknown[], TKey extends string | null> = TKey extends null ? TList : TKey extends "" ? TList : IsReadonlyArray<TList> extends true ? Readonly<Process$
|
|
9664
|
+
type GetEach<TList extends readonly unknown[], TKey extends string | null> = TKey extends null ? TList : TKey extends "" ? TList : IsReadonlyArray<TList> extends true ? Readonly<Process$w<[...TList], Exclude<TKey, null>>> : Process$w<TList, Exclude<TKey, null>>;
|
|
9665
9665
|
|
|
9666
9666
|
type Override<TValue, TOverride> = TOverride extends Constant$1<"no-override"> ? TValue : TValue extends ErrorCondition<"invalid-index"> ? TOverride : TValue;
|
|
9667
9667
|
type NegativeIndex<TValue extends readonly unknown[], TIdx extends number> = Decrement<Abs<TIdx>> extends number ? If<IsValidIndex<TValue, Decrement<Abs<TIdx>>>, TValue[Decrement<Abs<TIdx>>], Throw<"invalid-index", `Use of a negative index [${AsString<TIdx>}] was unsuccessful in matching a valid index`, "IndexOf", {
|
|
@@ -9686,7 +9686,7 @@ type HandleObj<TValue extends Dictionary, TIdx extends PropertyKey> = TIdx exten
|
|
|
9686
9686
|
key: TIdx;
|
|
9687
9687
|
library: "inferred-types/constants";
|
|
9688
9688
|
}>;
|
|
9689
|
-
type Process$
|
|
9689
|
+
type Process$v<TValue, TIdx extends PropertyKey | null> = If<IsNull<TIdx>, TValue, TValue extends readonly unknown[] ? If<IsValidIndex<TValue, AsPropertyKey<TIdx>>, HandleArr<TValue, AsPropertyKey<TIdx>>, Throw<"invalid-index", `Call to IndexOf<DescribeType<TValue>,${AsString<TIdx>}> is not allowed as an tuple based container must receive either null or numeric index value.`, "IndexOf", {
|
|
9690
9690
|
library: "inferred-types/constants";
|
|
9691
9691
|
container: TValue;
|
|
9692
9692
|
key: TIdx;
|
|
@@ -9715,7 +9715,7 @@ type Process$u<TValue, TIdx extends PropertyKey | null> = If<IsNull<TIdx>, TValu
|
|
|
9715
9715
|
* **Errors:** produces an `ErrorCondition<"invalid-index">` when an a bad index value
|
|
9716
9716
|
* is passed in for the given container
|
|
9717
9717
|
*/
|
|
9718
|
-
type IndexOf<TValue, TIdx extends PropertyKey | null, TOverride = Constant$1<"no-override">> = TIdx extends null ? TValue : Override<Process$
|
|
9718
|
+
type IndexOf<TValue, TIdx extends PropertyKey | null, TOverride = Constant$1<"no-override">> = TIdx extends null ? TValue : Override<Process$v<TValue, TIdx>, TOverride>;
|
|
9719
9719
|
|
|
9720
9720
|
/**
|
|
9721
9721
|
* **Last**`<TList, [TEmpty]>`
|
|
@@ -9777,14 +9777,14 @@ interface FnMeta<TFn extends AnyFunction = AnyFunction, TArgs extends readonly a
|
|
|
9777
9777
|
isNarrowingFn: IsNarrowingFn<TFn>;
|
|
9778
9778
|
}
|
|
9779
9779
|
|
|
9780
|
-
type Process$
|
|
9780
|
+
type Process$t<T extends AnyFunction> = IsEqual<T, Function> extends true ? EmptyObject : keyof T extends ObjectKey ? Pick<T, keyof T> : never;
|
|
9781
9781
|
/**
|
|
9782
9782
|
* **FnProps**`<T>`
|
|
9783
9783
|
*
|
|
9784
9784
|
* Return a dictionary of key/value pairs from a function. If no key/value
|
|
9785
9785
|
* pairs are assigned to the function base then an empty object is returned.
|
|
9786
9786
|
*/
|
|
9787
|
-
type FnProps<T extends AnyFunction> = Process$
|
|
9787
|
+
type FnProps<T extends AnyFunction> = Process$t<T>;
|
|
9788
9788
|
|
|
9789
9789
|
type FnDefn = [fn: AnyFunction] | [fn: AnyFunction, desc: string] | [fn: AnyFunction, props: Record<ObjectKey, unknown>];
|
|
9790
9790
|
/**
|
|
@@ -10703,7 +10703,7 @@ interface VueRef<T = any> {
|
|
|
10703
10703
|
value: T;
|
|
10704
10704
|
}
|
|
10705
10705
|
|
|
10706
|
-
type Process$
|
|
10706
|
+
type Process$s<TValues extends readonly (boolean | LogicFunction)[], _TParams extends readonly unknown[] = []> = {
|
|
10707
10707
|
[K in keyof TValues]: TValues[K] extends ((...args: any[]) => boolean) ? ReturnType<TValues[K]> : TValues[K];
|
|
10708
10708
|
};
|
|
10709
10709
|
/**
|
|
@@ -10716,7 +10716,7 @@ type Process$r<TValues extends readonly (boolean | LogicFunction)[], _TParams ex
|
|
|
10716
10716
|
*
|
|
10717
10717
|
* **Related**: `ReturnTypes` and `TruthyReturns`
|
|
10718
10718
|
*/
|
|
10719
|
-
type LogicalReturns<TValues extends readonly (boolean | LogicFunction)[], _TParams extends readonly unknown[] = []> = Process$
|
|
10719
|
+
type LogicalReturns<TValues extends readonly (boolean | LogicFunction)[], _TParams extends readonly unknown[] = []> = Process$s<TValues, _TParams> extends readonly boolean[] ? Process$s<TValues, _TParams> : never;
|
|
10720
10720
|
|
|
10721
10721
|
type Reduce<T extends readonly ([string, number])[], TMax extends number = 0, TVal extends string = ""> = [] extends T ? TVal : Reduce<AfterFirst<T>, First<T> extends [string, infer Len extends number] ? If<IsGreaterThan<Len, TMax>, Len, TMax> : TMax, First<T> extends [infer Val extends string, infer Len extends number] ? If<IsGreaterThan<Len, TMax>, Val, TVal> : TVal>;
|
|
10722
10722
|
/**
|
|
@@ -10736,7 +10736,7 @@ type Recurse<TList extends Tuple, TResults extends Tuple = []> = [] extends TLis
|
|
|
10736
10736
|
type Convert$1<TList extends Tuple> = Length<TList> extends 0 ? number[] : Recurse<{
|
|
10737
10737
|
[K in keyof TList]: K;
|
|
10738
10738
|
}>;
|
|
10739
|
-
type Process$
|
|
10739
|
+
type Process$r<TList extends Tuple> = If<IsReadonlyArray<TList>, TList["length"] extends 0 ? number[] : Readonly<Convert$1<TList>>, Convert$1<TList>>;
|
|
10740
10740
|
/**
|
|
10741
10741
|
* **NumericKeys**<`TList`>
|
|
10742
10742
|
*
|
|
@@ -10751,7 +10751,7 @@ type Process$q<TList extends Tuple> = If<IsReadonlyArray<TList>, TList["length"]
|
|
|
10751
10751
|
*
|
|
10752
10752
|
* **Related:** `Keys`
|
|
10753
10753
|
*/
|
|
10754
|
-
type NumericKeys<TList extends Tuple> = Process$
|
|
10754
|
+
type NumericKeys<TList extends Tuple> = Process$r<TList> extends readonly number[] ? Process$r<TList> : never;
|
|
10755
10755
|
|
|
10756
10756
|
type _Get<T, K, Acc = never> = K extends `${infer A}.${infer B}` ? A extends keyof T ? _Get<T[A], B, _Get<T[A], B>> : Acc : K extends keyof T ? _Get<T[K], K, T[K]> : Acc;
|
|
10757
10757
|
/**
|
|
@@ -10785,7 +10785,7 @@ type _Pop<TVal extends Tuple> = TVal extends [...(infer Rest), unknown] ? Rest :
|
|
|
10785
10785
|
*/
|
|
10786
10786
|
type Pop<TList extends Tuple | string> = TList extends string ? IsWideType<TList> extends true ? string : IsStringLiteral<TList> extends true ? TList extends string ? TList extends "" ? "" : Chars<TList> extends readonly string[] ? Concat<_Pop<Chars<TList>>> : never : never : string : _Pop<Exclude<TList, string>>;
|
|
10787
10787
|
|
|
10788
|
-
type Process$
|
|
10788
|
+
type Process$p<TList extends readonly unknown[], TValue> = [
|
|
10789
10789
|
...TList,
|
|
10790
10790
|
TValue
|
|
10791
10791
|
];
|
|
@@ -10796,13 +10796,13 @@ type Process$o<TList extends readonly unknown[], TValue> = [
|
|
|
10796
10796
|
*
|
|
10797
10797
|
* - If you want to make the push conditional you can add `TCondition`
|
|
10798
10798
|
*/
|
|
10799
|
-
type Push<TList extends readonly unknown[], TVal, TCondition = true> = [TCondition] extends [true] ? As<Process$
|
|
10799
|
+
type Push<TList extends readonly unknown[], TVal, TCondition = true> = [TCondition] extends [true] ? As<Process$p<TList, TVal>, readonly unknown[]> : TList;
|
|
10800
10800
|
|
|
10801
10801
|
/**
|
|
10802
10802
|
* Iterates over each element of the Tuple
|
|
10803
10803
|
*/
|
|
10804
10804
|
type SingleFilter<TList extends readonly unknown[], TFilter, TOp extends ComparatorOperation, Result extends unknown[] = []> = TList extends [infer Head, ...infer Rest] ? [Compare$1<Head, TOp, TFilter>] extends [true] ? SingleFilter<Rest, TFilter, TOp, [...Result, Head]> : SingleFilter<Rest, TFilter, TOp, Result> : Result;
|
|
10805
|
-
type Process$
|
|
10805
|
+
type Process$o<TList extends readonly unknown[], TComparator, TOp extends ComparatorOperation> = TList extends unknown[] ? SingleFilter<TList, TComparator, TOp> : TList extends readonly unknown[] ? Readonly<SingleFilter<[...TList], TComparator, TOp>> : never;
|
|
10806
10806
|
type PrepList<T extends readonly unknown[], O extends ComparatorOperation> = Or<[
|
|
10807
10807
|
IsEqual<O, "contains">,
|
|
10808
10808
|
IsEqual<O, "startsWith">,
|
|
@@ -10821,9 +10821,9 @@ type PrepList<T extends readonly unknown[], O extends ComparatorOperation> = Or<
|
|
|
10821
10821
|
*
|
|
10822
10822
|
* **Related:** `Filter`
|
|
10823
10823
|
*/
|
|
10824
|
-
type Retain<TList extends readonly unknown[], TComparator, TOp extends ComparatorOperation = "extends"> = PrepList<TList, TOp> extends readonly unknown[] ? [TComparator] extends [unknown[]] ? Process$
|
|
10824
|
+
type Retain<TList extends readonly unknown[], TComparator, TOp extends ComparatorOperation = "extends"> = PrepList<TList, TOp> extends readonly unknown[] ? [TComparator] extends [unknown[]] ? Process$o<PrepList<TList, TOp>, TupleToUnion<TComparator>, TOp> : Process$o<PrepList<TList, TOp>, TComparator, TOp> : never;
|
|
10825
10825
|
|
|
10826
|
-
type Process$
|
|
10826
|
+
type Process$n<T extends readonly unknown[]> = RemoveMarked<{
|
|
10827
10827
|
[K in keyof T]: If<IsLiteral<T[K]>, T[K], Constant$1<"Marked">>;
|
|
10828
10828
|
}>;
|
|
10829
10829
|
/**
|
|
@@ -10836,7 +10836,7 @@ type Process$m<T extends readonly unknown[]> = RemoveMarked<{
|
|
|
10836
10836
|
*
|
|
10837
10837
|
* **Related:** `Retain`, `FilterLiterals`, `RetainWideTypes`
|
|
10838
10838
|
*/
|
|
10839
|
-
type RetainLiterals<T extends readonly unknown[]> = Process$
|
|
10839
|
+
type RetainLiterals<T extends readonly unknown[]> = Process$n<T> extends readonly unknown[] ? Process$n<T> : never;
|
|
10840
10840
|
|
|
10841
10841
|
/**
|
|
10842
10842
|
* **Second**`<T, [ELSE]>`
|
|
@@ -10877,8 +10877,8 @@ type RemoveStart<TList extends readonly unknown[], TStart extends number> = TSta
|
|
|
10877
10877
|
...(infer REST)
|
|
10878
10878
|
] ? REST : Throw<"invalid-start-index">;
|
|
10879
10879
|
type TruncateAtLen<TList extends readonly unknown[], TLen extends number> = IsNegativeNumber<TLen> extends true ? If<IsGreaterThan<Abs<TLen>, TList["length"]>, never, TakeFirst<TList, Add<TList["length"], TLen>>> : If<IsGreaterThanOrEqual<TLen, TList["length"]>, TList, TakeFirst<TList, TLen>>;
|
|
10880
|
-
type Process$
|
|
10881
|
-
type PreProcess<TList extends readonly unknown[], TStart extends number, TLen extends number | undefined = undefined> = TList extends string ? Chars<TList> extends readonly string[] ? Concat<As<Process$
|
|
10880
|
+
type Process$l<TList extends readonly unknown[], TStart extends number, TLen extends number | undefined> = TList extends readonly unknown[] ? RemoveStart<TList, TStart> extends readonly unknown[] ? If<IsNumericLiteral<TLen>, TruncateAtLen<RemoveStart<TList, TStart>, As<TLen, number>>, RemoveStart<TList, TStart>> : RemoveStart<TList, TStart> : never;
|
|
10881
|
+
type PreProcess<TList extends readonly unknown[], TStart extends number, TLen extends number | undefined = undefined> = TList extends string ? Chars<TList> extends readonly string[] ? Concat<As<Process$l<Chars<TList>, TStart, TLen>, readonly string[]>> : never : TList extends readonly unknown[] ? Process$l<TList, TStart, TLen> : never;
|
|
10882
10882
|
/**
|
|
10883
10883
|
* **Slice**`<TList, TStart, TLen>`
|
|
10884
10884
|
*
|
|
@@ -10892,7 +10892,7 @@ type PreProcess<TList extends readonly unknown[], TStart extends number, TLen ex
|
|
|
10892
10892
|
*/
|
|
10893
10893
|
type Slice<TList extends readonly unknown[] | string, TStart extends number, TLen extends number | undefined = undefined> = TList extends string ? Concat<As<PreProcess<Chars<TList>, TStart, TLen>, readonly string[]>> : TList extends readonly unknown[] ? PreProcess<TList, TStart, TLen> extends readonly unknown[] ? PreProcess<TList, TStart, TLen> : never : never;
|
|
10894
10894
|
|
|
10895
|
-
type Process$
|
|
10895
|
+
type Process$k<TContent extends readonly unknown[], TLen extends number, TIdx extends number = 0, TResult extends readonly unknown[] = []> = [] extends TContent ? TResult : If<IsGreaterThanOrEqual<TIdx, TLen>, TResult, Process$k<AfterFirst<TContent>, TLen, Increment<TIdx>, [
|
|
10896
10896
|
...TResult,
|
|
10897
10897
|
First<TContent>
|
|
10898
10898
|
]>>;
|
|
@@ -10909,7 +10909,7 @@ type Process$j<TContent extends readonly unknown[], TLen extends number, TIdx ex
|
|
|
10909
10909
|
* - if you want a precise length, then set `THandle` to "throw" and
|
|
10910
10910
|
* an error will be thrown.
|
|
10911
10911
|
*/
|
|
10912
|
-
type TakeFirst<TContent extends readonly unknown[], TLen extends number, THandle extends "ignore" | "throw" = "ignore"> = If<IsGreaterThan<TLen, TContent["length"]>, If<THandle extends "ignore" ? true : false, TContent, Throw<"invalid-length", `TakeFirst<TContent,TLen> was called where the length of TLen(${TLen}) was greater than the length of the content (${TContent["length"]})!`>>, If<IsEqual<TLen, TContent["length"]>, TContent, Process$
|
|
10912
|
+
type TakeFirst<TContent extends readonly unknown[], TLen extends number, THandle extends "ignore" | "throw" = "ignore"> = If<IsGreaterThan<TLen, TContent["length"]>, If<THandle extends "ignore" ? true : false, TContent, Throw<"invalid-length", `TakeFirst<TContent,TLen> was called where the length of TLen(${TLen}) was greater than the length of the content (${TContent["length"]})!`>>, If<IsEqual<TLen, TContent["length"]>, TContent, Process$k<TContent, TLen>>>;
|
|
10913
10913
|
|
|
10914
10914
|
type _Keys$2<T extends object> = UnionToTuple$1<keyof RemoveIndexKeys<T>> extends readonly ObjectKey[] ? UnionToTuple$1<keyof RemoveIndexKeys<T>> : never;
|
|
10915
10915
|
type ProcessObj$1<T extends Container, TKeys extends readonly PropertyKey[], TResults extends Dictionary = EmptyObject> = [] extends TKeys ? TResults : First<TKeys> extends keyof T ? IfNever<T[First<TKeys>], ProcessObj$1<T, AfterFirst<TKeys>, TResults>, ProcessObj$1<T, AfterFirst<TKeys>, First<TKeys> extends keyof T ? TResults extends readonly unknown[] ? [...TResults, T[First<TKeys>]] : TResults extends Dictionary ? TResults & Record<First<TKeys>, T[First<TKeys>]> : never : never>> : never;
|
|
@@ -10925,7 +10925,7 @@ type _Keys<T extends object> = UnionToTuple$1<keyof RemoveIndexKeys<T>>;
|
|
|
10925
10925
|
type GetKeys<T extends object> = IsVueRef<T> extends true ? ["value"] : _Keys<T> extends [symbol] ? ObjectKey[] : _Keys<T> extends [] ? UnionToTuple$1<keyof T> extends [ObjectKey] ? (keyof T)[] : ObjectKey[] : _Keys<T>;
|
|
10926
10926
|
type ProcessObj<TContainer extends object> = GetKeys<TContainer>;
|
|
10927
10927
|
type ProcessTuple<TContainer extends readonly unknown[]> = NumericKeys<TContainer> extends readonly number[] ? NumericKeys<TContainer> : never;
|
|
10928
|
-
type Process$
|
|
10928
|
+
type Process$h<TContainer extends AnyObject> = [IsObjectLiteral<RemoveIndexKeys<TContainer>>] extends [true] ? ProcessObj<RemoveIndexKeys<TContainer>> extends readonly (keyof TContainer & ObjectKey)[] ? As<ProcessObj<RemoveIndexKeys<TContainer>>, readonly ObjectKey[]> : never : ObjectKey[];
|
|
10929
10929
|
/**
|
|
10930
10930
|
* **Keys**`<TContainer>`
|
|
10931
10931
|
*
|
|
@@ -10942,7 +10942,7 @@ type Process$g<TContainer extends AnyObject> = [IsObjectLiteral<RemoveIndexKeys<
|
|
|
10942
10942
|
*
|
|
10943
10943
|
* **Related:** `ValidKey`, `PublicKeys`
|
|
10944
10944
|
*/
|
|
10945
|
-
type Keys<TContainer extends Tuple | AnyObject> = TContainer extends Tuple ? ProcessTuple<TContainer> : TContainer extends AnyObject ? Process$
|
|
10945
|
+
type Keys<TContainer extends Tuple | AnyObject> = TContainer extends Tuple ? ProcessTuple<TContainer> : TContainer extends AnyObject ? Process$h<TContainer> extends readonly ObjectKey[] ? Process$h<TContainer> : never : never;
|
|
10946
10946
|
|
|
10947
10947
|
type ProcessTupleKeys<TObj extends AnyObject, TKeys extends readonly ObjectKey[]> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
|
|
10948
10948
|
[K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
|
|
@@ -11020,7 +11020,7 @@ interface ConstrainedObjectIdentity<TConstraint extends AnyObject> {
|
|
|
11020
11020
|
asCallback: ConstrainedObjectCallback<TConstraint>;
|
|
11021
11021
|
}
|
|
11022
11022
|
|
|
11023
|
-
type Process$
|
|
11023
|
+
type Process$f<TKeys extends readonly string[], TValue, TObj extends Dictionary = EmptyObject> = [] extends TKeys ? TObj : Process$f<AfterFirst<TKeys>, TValue, TObj & Record<First<TKeys>, TValue>>;
|
|
11024
11024
|
/**
|
|
11025
11025
|
* **CreateKV**`<TKeys,[TValue]>`
|
|
11026
11026
|
*
|
|
@@ -11028,7 +11028,7 @@ type Process$e<TKeys extends readonly string[], TValue, TObj extends Dictionary
|
|
|
11028
11028
|
* as `TKeys` and with all properties set to the value
|
|
11029
11029
|
* of `TValue` (which defaults to `unknown`)
|
|
11030
11030
|
*/
|
|
11031
|
-
type CreateKV<TKeys extends readonly string[], TValue = unknown> = ExpandRecursively<Process$
|
|
11031
|
+
type CreateKV<TKeys extends readonly string[], TValue = unknown> = ExpandRecursively<Process$f<TKeys, TValue>>;
|
|
11032
11032
|
|
|
11033
11033
|
/**
|
|
11034
11034
|
* the _optional_ variants of the `SimpleScalarToken` type
|
|
@@ -11628,7 +11628,7 @@ type SKeys<T extends AnyObject> = IsVueRef<T> extends true ? ["value"] : _SKeys<
|
|
|
11628
11628
|
*/
|
|
11629
11629
|
type TakeProp<TTest, TProp extends PropertyKey, TElse = undefined> = TProp extends keyof TTest ? TTest[TProp] : TElse;
|
|
11630
11630
|
|
|
11631
|
-
type Process$
|
|
11631
|
+
type Process$5<TKeys extends readonly ObjectKey[], TObj extends Record<ObjectKey, unknown>, TResult extends readonly unknown[] = []> = [] extends TKeys ? TResult : Process$5<AfterFirst<TKeys>, TObj, [
|
|
11632
11632
|
...TResult,
|
|
11633
11633
|
First<TKeys> extends keyof TObj ? TObj[First<TKeys>] : never
|
|
11634
11634
|
]>;
|
|
@@ -11640,7 +11640,7 @@ type Process$4<TKeys extends readonly ObjectKey[], TObj extends Record<ObjectKey
|
|
|
11640
11640
|
* - for **tuples** this is just a _proxy_ of the type
|
|
11641
11641
|
* - for _wide_ types like `string[]`
|
|
11642
11642
|
*/
|
|
11643
|
-
type Values<T extends Container> = T extends Tuple ? T : T extends Dictionary ? Process$
|
|
11643
|
+
type Values<T extends Container> = T extends Tuple ? T : T extends Dictionary ? Process$5<Keys<T> extends readonly ObjectKey[] ? Keys<T> : never, T> : T extends TypedFunction ? [T] : [];
|
|
11644
11644
|
|
|
11645
11645
|
type MakeIntoUnion<K extends PropertyKey | readonly PropertyKey[]> = K extends readonly PropertyKey[] ? TupleToUnion<K> : K;
|
|
11646
11646
|
type MakeNumericIndex<T> = T;
|
|
@@ -11663,7 +11663,7 @@ type MakeNumericIndex<T> = T;
|
|
|
11663
11663
|
*/
|
|
11664
11664
|
type WithKeys<T extends AnyObject | Tuple, K extends PropertyKey | readonly PropertyKey[]> = ExpandRecursively<UnionToIntersection<MakeIntoUnion<K> extends keyof T ? T extends Tuple ? MakeNumericIndex<Pick<T, MakeIntoUnion<K>>> : Pick<T, MakeIntoUnion<K>> : never>>;
|
|
11665
11665
|
|
|
11666
|
-
type Process$
|
|
11666
|
+
type Process$4<TObj extends Dictionary, TKeys extends ObjectKey> = [] extends TKeys ? TObj : Omit<TObj, TKeys>;
|
|
11667
11667
|
/**
|
|
11668
11668
|
* **WithoutKeys**`<TObj, TKeys>`
|
|
11669
11669
|
*
|
|
@@ -11671,7 +11671,7 @@ type Process$3<TObj extends Dictionary, TKeys extends ObjectKey> = [] extends TK
|
|
|
11671
11671
|
* functionally equivalent to the `Omit<T,U>` built-in but rather than
|
|
11672
11672
|
* taking a union type it takes an array of keys.
|
|
11673
11673
|
*/
|
|
11674
|
-
type WithoutKeys<TObj extends Dictionary, TKeys extends ObjectKey | readonly ObjectKey[]> = TKeys extends readonly ObjectKey[] ? Process$
|
|
11674
|
+
type WithoutKeys<TObj extends Dictionary, TKeys extends ObjectKey | readonly ObjectKey[]> = TKeys extends readonly ObjectKey[] ? Process$4<TObj, TupleToUnion<TKeys>> : ExpandDictionary<Process$4<TObj, TKeys extends readonly ObjectKey[] ? TupleToUnion<TKeys> : TKeys>>;
|
|
11675
11675
|
|
|
11676
11676
|
/**
|
|
11677
11677
|
* **WithoutValue**
|
|
@@ -11690,7 +11690,7 @@ type WithoutKeys<TObj extends Dictionary, TKeys extends ObjectKey | readonly Obj
|
|
|
11690
11690
|
type WithoutValue<TObj extends AnyObject, TValue extends Narrowable> = ExpandRecursively<Pick<TObj, KeysWithoutValue<TObj, TValue>>>;
|
|
11691
11691
|
|
|
11692
11692
|
type Marked$1 = typeof MARKED;
|
|
11693
|
-
type Process$
|
|
11693
|
+
type Process$3<TObj extends Dictionary, TValue, TOp extends "equals" | "extends"> = RemoveMarked<{
|
|
11694
11694
|
[K in keyof TObj]: If<Compare$1<TObj[K], TOp, TValue>, TObj[K], Marked$1>;
|
|
11695
11695
|
}>;
|
|
11696
11696
|
/**
|
|
@@ -11706,7 +11706,7 @@ type Process$2<TObj extends Dictionary, TValue, TOp extends "equals" | "extends"
|
|
|
11706
11706
|
*
|
|
11707
11707
|
* **Related:** `WithoutValue`, `WithKeys`, `WithoutKeys`
|
|
11708
11708
|
*/
|
|
11709
|
-
type WithValue<TObj extends Dictionary, TValue, TOp extends "equals" | "extends" = "extends"> = ExpandRecursively<Process$
|
|
11709
|
+
type WithValue<TObj extends Dictionary, TValue, TOp extends "equals" | "extends" = "extends"> = ExpandRecursively<Process$3<TObj, TValue, TOp>>;
|
|
11710
11710
|
|
|
11711
11711
|
/** Converts a single KeyValue into a one-key object */
|
|
11712
11712
|
type KeyValueToObj<KV extends {
|
|
@@ -11740,7 +11740,7 @@ interface KeyValue<K = ObjectKey, V = any> {
|
|
|
11740
11740
|
value: V;
|
|
11741
11741
|
}
|
|
11742
11742
|
|
|
11743
|
-
type Process$
|
|
11743
|
+
type Process$2<TObj extends AnyObject, TKeys extends readonly (ObjectKey & keyof TObj)[], TKv extends readonly KeyValue[] = []> = [] extends TKeys ? TKv : Process$2<TObj, AfterFirst<TKeys>, [
|
|
11744
11744
|
...TKv,
|
|
11745
11745
|
{
|
|
11746
11746
|
key: First<TKeys>;
|
|
@@ -11769,7 +11769,7 @@ type Process$1<TObj extends AnyObject, TKeys extends readonly (ObjectKey & keyof
|
|
|
11769
11769
|
*
|
|
11770
11770
|
* **Related:** `KeyValue`, `FromKv`
|
|
11771
11771
|
*/
|
|
11772
|
-
type ToKv<TObj extends AnyObject, TKeys extends (readonly (ObjectKey & keyof TObj)[]) | false = As<Keys<TObj>, (readonly (ObjectKey & keyof TObj)[])>> = IsObjectLiteral<TObj> extends true ? TKeys extends readonly (ObjectKey & keyof TObj)[] ? Process$
|
|
11772
|
+
type ToKv<TObj extends AnyObject, TKeys extends (readonly (ObjectKey & keyof TObj)[]) | false = As<Keys<TObj>, (readonly (ObjectKey & keyof TObj)[])>> = IsObjectLiteral<TObj> extends true ? TKeys extends readonly (ObjectKey & keyof TObj)[] ? Process$2<TObj, TKeys> : Array<{
|
|
11773
11773
|
[K in keyof TObj]: {
|
|
11774
11774
|
key: K;
|
|
11775
11775
|
value: TObj[K];
|
|
@@ -11896,7 +11896,7 @@ type Intersection<A extends readonly unknown[], B extends readonly unknown[], TD
|
|
|
11896
11896
|
|
|
11897
11897
|
type Get<TValue, TDeref extends PropertyKey | never> = IfNever<TDeref, TValue, // just proxy value back
|
|
11898
11898
|
TDeref extends keyof TValue ? TValue[TDeref] : TValue extends Container ? never : TValue>;
|
|
11899
|
-
type Process<TValues extends readonly unknown[], TDeref extends string | number | never, TResults extends readonly unknown[] = []> = [] extends TValues ? TResults : Process<AfterFirst<TValues>, TDeref, Push<TResults, First<TResults>, IsScalar<First<TValues>> extends true ? Not<Contains<TResults, First<TValues>>> : Not<Contains<As<IsNever<TDeref> extends true ? TResults : GetEach<TResults, AsString<TDeref>>, string | number | readonly unknown[]>, Get<First<TValues>, TDeref>>>>>;
|
|
11899
|
+
type Process$1<TValues extends readonly unknown[], TDeref extends string | number | never, TResults extends readonly unknown[] = []> = [] extends TValues ? TResults : Process$1<AfterFirst<TValues>, TDeref, Push<TResults, First<TResults>, IsScalar<First<TValues>> extends true ? Not<Contains<TResults, First<TValues>>> : Not<Contains<As<IsNever<TDeref> extends true ? TResults : GetEach<TResults, AsString<TDeref>>, string | number | readonly unknown[]>, Get<First<TValues>, TDeref>>>>>;
|
|
11900
11900
|
/**
|
|
11901
11901
|
* **Unique**`<TList, [TDeref]>`
|
|
11902
11902
|
*
|
|
@@ -11913,7 +11913,7 @@ type Process<TValues extends readonly unknown[], TDeref extends string | number
|
|
|
11913
11913
|
* type FooBar = Unique<["foo","foo","bar"]>;
|
|
11914
11914
|
* ```
|
|
11915
11915
|
*/
|
|
11916
|
-
type Unique<TList extends readonly unknown[], TDeref extends string | number | never = never> = IfNever<TDeref, UnionToTuple$1<TupleToUnion<TList>>, Process<TList, TDeref>>;
|
|
11916
|
+
type Unique<TList extends readonly unknown[], TDeref extends string | number | never = never> = IfNever<TDeref, UnionToTuple$1<TupleToUnion<TList>>, Process$1<TList, TDeref>>;
|
|
11917
11917
|
|
|
11918
11918
|
/**
|
|
11919
11919
|
* **UniqueKeys**`<L,R>`
|
|
@@ -12962,11 +12962,15 @@ declare function capitalize<T extends string>(str: T): Capitalize<T>;
|
|
|
12962
12962
|
*/
|
|
12963
12963
|
declare function cssColor<TColorSpace extends CssColorSpace, TV1 extends ColorFnValue, TV2 extends ColorFnValue, TV3 extends ColorFnValue, TOp extends undefined | ColorFnOptOpacity>(color: TColorSpace, v1: TV1, v2: TV2, v3: TV3, opacity?: TOp): CssColorFn<TColorSpace, TV1, TV2, TV3, TOp extends ` / ${number}` ? TOp : "">;
|
|
12964
12964
|
|
|
12965
|
-
type Rtn$1<TColor extends TwColor, TLum extends TwLuminosity> = TLum extends keyof TwLuminosityLookup ? TLum extends keyof TwChromaLookup ? TColor extends keyof TwHue ? `oklch(${TwLuminosityLookup[TLum]} ${TwChromaLookup[TLum]} ${TwHue[TColor]})
|
|
12965
|
+
type Rtn$1<TColor extends TwColor, TLum extends TwLuminosity> = TLum extends keyof TwLuminosityLookup ? TLum extends keyof TwChromaLookup ? TColor extends keyof TwHue ? `oklch(${TwLuminosityLookup[TLum]} ${TwChromaLookup[TLum]} ${TwHue[TColor]})` : never : never : never;
|
|
12966
12966
|
/**
|
|
12967
|
+
* **twColor**`(color, luminosity)` => `oklch(...)`
|
|
12968
|
+
*
|
|
12967
12969
|
* Provides a Tailwind Color using the `oklch` color
|
|
12968
12970
|
* specification. The output is intended to put into
|
|
12969
12971
|
* a CSS property.
|
|
12972
|
+
*
|
|
12973
|
+
* **Related:** `twColorRgb()`
|
|
12970
12974
|
*/
|
|
12971
12975
|
declare function twColor<TColor extends TwColor, TLum extends TwLuminosity>(color: TColor, luminosity: TLum): Rtn$1<TColor, TLum>;
|
|
12972
12976
|
|