@rest-hooks/normalizr
Advanced tools
Comparing version 6.0.0-beta.9 to 6.0.0-beta.10
@@ -6,2 +6,11 @@ # Change Log | ||
## [6.0.0-beta.10](https://github.com/coinbase/rest-hooks/compare/@rest-hooks/normalizr@6.0.0-beta.9...@rest-hooks/normalizr@6.0.0-beta.10) (2020-05-20) | ||
### 🐛 Bug Fix | ||
* Types for nested nullable Record or Entity account for not finding nested pieces ([#345](https://github.com/coinbase/rest-hooks/issues/345)) ([f822b53](https://github.com/coinbase/rest-hooks/commit/f822b53487deedf5ae85909584ed5d8343a9cef8)) | ||
## [6.0.0-beta.9](https://github.com/coinbase/rest-hooks/compare/@rest-hooks/normalizr@6.0.0-beta.8...@rest-hooks/normalizr@6.0.0-beta.9) (2020-05-19) | ||
@@ -8,0 +17,0 @@ |
@@ -56,2 +56,3 @@ import { | ||
merge(existing: any, incoming: any): any; | ||
schema: Record<string, Schema>; | ||
prototype: T; | ||
@@ -58,0 +59,0 @@ } |
@@ -25,26 +25,24 @@ import type { default as schema, EntityInterface } from './schema'; | ||
}; | ||
interface NestedSchemaClass<T = any> { | ||
schema: Record<string, Schema>; | ||
prototype: T; | ||
} | ||
export interface RecordClass<T = any> extends NestedSchemaClass<T> { | ||
fromJS: Function; | ||
} | ||
export declare type DenormalizeNullableNestedSchema<S extends NestedSchemaClass> = keyof S['schema'] extends never ? S['prototype'] : string extends keyof S['schema'] ? S['prototype'] : { | ||
[K in keyof S['prototype']]: K extends keyof S['schema'] ? DenormalizeNullable<S['schema'][K]> : S['prototype'][K]; | ||
}; | ||
export declare type DenormalizeReturnType<T> = T extends (input: any, unvisit: any) => [infer R, any] ? R : never; | ||
export declare type NormalizeReturnType<T> = T extends (...args: any) => infer R ? R : never; | ||
export declare type Denormalize<S> = S extends EntityInterface<infer U> ? U : S extends { | ||
schema: Record<string, Schema>; | ||
fromJS: Function; | ||
} ? AbstractInstanceType<S> : S extends schema.SchemaClass ? DenormalizeReturnType<S['denormalize']> : S extends Array<infer F> ? Denormalize<F>[] : S extends { | ||
export declare type Denormalize<S> = S extends EntityInterface<infer U> ? U : S extends RecordClass ? AbstractInstanceType<S> : S extends schema.SchemaClass ? DenormalizeReturnType<S['denormalize']> : S extends Array<infer F> ? Denormalize<F>[] : S extends { | ||
[K: string]: any; | ||
} ? DenormalizeObject<S> : S; | ||
export declare type DenormalizeNullable<S> = S extends EntityInterface<infer U> ? U | undefined : S extends { | ||
schema: Record<string, Schema>; | ||
fromJS: Function; | ||
} ? AbstractInstanceType<S> : S extends schema.SchemaClass ? DenormalizeReturnType<S['_denormalizeNullable']> : S extends Array<infer F> ? Denormalize<F>[] | undefined : S extends { | ||
export declare type DenormalizeNullable<S> = S extends EntityInterface<any> ? DenormalizeNullableNestedSchema<S> | undefined : S extends RecordClass ? DenormalizeNullableNestedSchema<S> : S extends schema.SchemaClass ? DenormalizeReturnType<S['_denormalizeNullable']> : S extends Array<infer F> ? Denormalize<F>[] | undefined : S extends { | ||
[K: string]: any; | ||
} ? DenormalizeNullableObject<S> : S; | ||
export declare type Normalize<S> = S extends EntityInterface ? string : S extends { | ||
schema: Record<string, Schema>; | ||
fromJS: Function; | ||
} ? NormalizeObject<S['schema']> : S extends schema.SchemaClass ? NormalizeReturnType<S['normalize']> : S extends Array<infer F> ? Normalize<F>[] : S extends { | ||
export declare type Normalize<S> = S extends EntityInterface ? string : S extends RecordClass ? NormalizeObject<S['schema']> : S extends schema.SchemaClass ? NormalizeReturnType<S['normalize']> : S extends Array<infer F> ? Normalize<F>[] : S extends { | ||
[K: string]: any; | ||
} ? NormalizeObject<S> : S; | ||
export declare type NormalizeNullable<S> = S extends EntityInterface ? string | undefined : S extends { | ||
schema: Record<string, Schema>; | ||
fromJS: Function; | ||
} ? NormalizedNullableObject<S['schema']> : S extends schema.SchemaClass ? NormalizeReturnType<S['_normalizeNullable']> : S extends Array<infer F> ? Normalize<F>[] | undefined : S extends { | ||
export declare type NormalizeNullable<S> = S extends EntityInterface ? string | undefined : S extends RecordClass ? NormalizedNullableObject<S['schema']> : S extends schema.SchemaClass ? NormalizeReturnType<S['_normalizeNullable']> : S extends Array<infer F> ? Normalize<F>[] | undefined : S extends { | ||
[K: string]: any; | ||
@@ -67,2 +65,3 @@ } ? NormalizedNullableObject<S> : S; | ||
}; | ||
export {}; | ||
//# sourceMappingURL=types.d.ts.map |
{ | ||
"name": "@rest-hooks/normalizr", | ||
"version": "6.0.0-beta.9", | ||
"version": "6.0.0-beta.10", | ||
"description": "Normalizes and denormalizes JSON according to schema for Redux and Flux applications", | ||
@@ -62,3 +62,3 @@ "homepage": "https://github.com/coinbase/rest-hooks/tree/master/packages/normalizr#readme", | ||
}, | ||
"gitHead": "78eb3293bbb8123fa8d6f0b910272e3894a452f7" | ||
"gitHead": "4bcd3a24cf20d69a9cb2705e74133490b07ff567" | ||
} |
Sorry, the diff of this file is not supported yet
199738
3401