@effect/data
Advanced tools
Comparing version 0.14.2 to 0.14.3
{ | ||
"name": "@effect/data", | ||
"version": "0.14.2", | ||
"version": "0.14.3", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -37,18 +37,9 @@ /** | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type MaybeReturn<F> = F extends () => any ? ReturnType<F> : F | ||
type MaybeReturn<F> = F extends () => any ? ReturnType<F> : F | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type Values<X extends [any, any]> = X extends any | ||
type Values<X extends [any, any]> = X extends any | ||
? { [k in keyof X[0]]-?: k extends X[1] ? never : MaybeReturn<X[0][k]> }[keyof X[0]] | ||
: never | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type Blacklist<X> = X extends { | ||
type Blacklist<X> = X extends { | ||
[blacklistSymbol]?: any | ||
@@ -58,6 +49,3 @@ } ? keyof NonNullable<X[blacklistSymbol]> | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type ExtractTypes< | ||
type ExtractTypes< | ||
X extends { | ||
@@ -73,2 +61,6 @@ [typeSymbol]?: any | ||
type FilterIn<A> = A extends any ? typeSymbol extends keyof A ? A : never : never | ||
type FilterOut<A> = A extends any ? typeSymbol extends keyof A ? never : A : never | ||
/** | ||
@@ -80,7 +72,7 @@ * @since 1.0.0 | ||
( | ||
& Extract<A, { [typeSymbol]?: any; [unifySymbol]?: any }> | ||
& FilterIn<A> | ||
& { [typeSymbol]: A } | ||
) | ||
> | ||
> extends infer Z ? Z | Exclude<A, Z> : never | ||
> extends infer Z ? Z | Exclude<A, Z> | FilterOut<A> : never | ||
@@ -87,0 +79,0 @@ /** |
@@ -28,22 +28,10 @@ /** | ||
export type blacklistSymbol = typeof blacklistSymbol; | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type MaybeReturn<F> = F extends () => any ? ReturnType<F> : F; | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type Values<X extends [any, any]> = X extends any ? { | ||
type MaybeReturn<F> = F extends () => any ? ReturnType<F> : F; | ||
type Values<X extends [any, any]> = X extends any ? { | ||
[k in keyof X[0]]-?: k extends X[1] ? never : MaybeReturn<X[0][k]>; | ||
}[keyof X[0]] : never; | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type Blacklist<X> = X extends { | ||
type Blacklist<X> = X extends { | ||
[blacklistSymbol]?: any; | ||
} ? keyof NonNullable<X[blacklistSymbol]> : never; | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type ExtractTypes<X extends { | ||
type ExtractTypes<X extends { | ||
[typeSymbol]?: any; | ||
@@ -55,11 +43,10 @@ [unifySymbol]?: any; | ||
] : never; | ||
type FilterIn<A> = A extends any ? typeSymbol extends keyof A ? A : never : never; | ||
type FilterOut<A> = A extends any ? typeSymbol extends keyof A ? never : A : never; | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
export type Unify<A> = Values<ExtractTypes<(Extract<A, { | ||
[typeSymbol]?: any; | ||
[unifySymbol]?: any; | ||
}> & { | ||
export type Unify<A> = Values<ExtractTypes<(FilterIn<A> & { | ||
[typeSymbol]: A; | ||
})>> extends infer Z ? Z | Exclude<A, Z> : never; | ||
})>> extends infer Z ? Z | Exclude<A, Z> | FilterOut<A> : never; | ||
/** | ||
@@ -76,2 +63,3 @@ * @since 1.0.0 | ||
}; | ||
export {}; | ||
//# sourceMappingURL=Unify.d.ts.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2948420
62352