@zayne-labs/toolkit-type-helpers 0.10.19 → 0.10.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/dist/esm/index.d.ts +2 -2
- package/package.json +1 -1
package/dist/esm/index.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ type AllowOnlyFirst<TFirstType, TSecondType, TErrorMessages extends ErrorMessage
|
|
|
60
60
|
* @template TArrayOfTypes Array of types to merge
|
|
61
61
|
* @template TAccumulator Accumulator for the resulting merged type
|
|
62
62
|
*/
|
|
63
|
-
type MergeTypes<TArrayOfTypes extends unknown[], TAccumulator = NonNullable<unknown>> = TArrayOfTypes extends [infer TFirstType, ...infer
|
|
63
|
+
type MergeTypes<TArrayOfTypes extends unknown[], TAccumulator = NonNullable<unknown>> = TArrayOfTypes extends [infer TFirstType, ...infer TRestOfTypes] ? MergeTypes<TRestOfTypes, { [Key in keyof TAccumulator | keyof TFirstType]: (TAccumulator & TFirstType)[Key] }> : TAccumulator;
|
|
64
64
|
/**
|
|
65
65
|
* Type utility that extracts discriminated properties from a union of types.
|
|
66
66
|
* Takes an array of types and returns a union of types where each type has unique properties.
|
|
@@ -70,7 +70,7 @@ type MergeTypes<TArrayOfTypes extends unknown[], TAccumulator = NonNullable<unkn
|
|
|
70
70
|
* @template TAccumulator Accumulator for the resulting union
|
|
71
71
|
* @template TMergedProperties Merged properties from all types
|
|
72
72
|
*/
|
|
73
|
-
type UnionDiscriminator<TArrayOfTypes extends unknown[], TErrorMessages extends ErrorMessages<keyof MergeTypes<TArrayOfTypes>> = never, TAccumulator = never, TMergedProperties = MergeTypes<TArrayOfTypes>> = TArrayOfTypes extends [infer TFirstType, ...infer
|
|
73
|
+
type UnionDiscriminator<TArrayOfTypes extends unknown[], TErrorMessages extends ErrorMessages<keyof MergeTypes<TArrayOfTypes>> = never, TAccumulator = never, TMergedProperties = MergeTypes<TArrayOfTypes>> = TArrayOfTypes extends [infer TFirstType, ...infer TRestOfTypes] ? UnionDiscriminator<TRestOfTypes, TErrorMessages, TAccumulator | AllowOnlyFirst<TFirstType, TMergedProperties, TErrorMessages>, TMergedProperties> : TAccumulator;
|
|
74
74
|
type UnionVariant = "keys" | "values";
|
|
75
75
|
type ExtractUnion<TObject, TVariant extends UnionVariant = "keys"> = TObject extends Array<infer TUnion> | ReadonlyArray<infer TUnion> | Set<infer TUnion> ? TUnion : TObject extends Record<infer TKeys, infer TValues> ? TVariant extends "keys" ? TKeys : Prettify<Writeable<TValues, "deep">> : never;
|
|
76
76
|
type UnionToIntersection<TUnion> = (TUnion extends unknown ? (param: TUnion) => void : never) extends ((param: infer TParam) => void) ? TParam : never;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zayne-labs/toolkit-type-helpers",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.10.
|
|
4
|
+
"version": "0.10.21",
|
|
5
5
|
"description": "A collection of utility functions, types and composables used by my other projects. Nothing too fancy but can be useful.",
|
|
6
6
|
"author": "Ryan Zayne",
|
|
7
7
|
"license": "MIT",
|