@clipboard-health/json-api-nestjs
Advanced tools
Comparing version 0.15.6 to 0.15.7
{ | ||
"name": "@clipboard-health/json-api-nestjs", | ||
"description": "TypeScript-friendly utilities for adhering to the JSON:API specification with NestJS.", | ||
"version": "0.15.6", | ||
"version": "0.15.7", | ||
"bugs": "https://github.com/ClipboardHealth/core-utils/issues", | ||
@@ -6,0 +6,0 @@ "dependencies": { |
import { type GreaterThan, type Subtract } from "type-fest"; | ||
import { z } from "zod"; | ||
import { type JsonApiDocument, type Relationship } from "../types"; | ||
import { type JsonApiDocument, type Relationship, type Relationships } from "../types"; | ||
/** | ||
@@ -16,8 +16,8 @@ * Recursively traverse the JSON:API document to build a list of all possible relationship paths up | ||
relationships?: infer Relation; | ||
} ? Relation extends Record<string, Relationship> ? { | ||
[K in keyof Relation]: K extends string ? Relation[K]["data"] extends { | ||
} ? Relation extends Relationships ? { | ||
[K in keyof Relation]: K extends string ? NonNullable<Relation[K]> extends Relationship ? NonNullable<Relation[K]>["data"] extends { | ||
type?: infer RelationT; | ||
} | Array<{ | ||
type?: infer RelationT; | ||
}> ? RelationT extends keyof MapT ? `${Prefix}${K}` | RelationshipPaths<MapT, z.infer<MapT[RelationT]>, Subtract<Depth, 1>, `${Prefix}${K}.`> : never : never : never; | ||
}> ? RelationT extends keyof MapT ? `${Prefix}${K}` | RelationshipPaths<MapT, z.infer<MapT[RelationT]>, Subtract<Depth, 1>, `${Prefix}${K}.`> : never : never : never : never; | ||
}[keyof Relation] : never : never : never : never; | ||
@@ -24,0 +24,0 @@ /** |
@@ -14,2 +14,3 @@ import { type Arrayable } from "type-fest"; | ||
} | ||
export type Relationships = Record<string, Relationship | undefined>; | ||
export interface Data { | ||
@@ -20,3 +21,3 @@ attributes?: Record<string, unknown>; | ||
meta?: Meta; | ||
relationships?: Record<string, Relationship>; | ||
relationships?: Relationships; | ||
type?: ApiType; | ||
@@ -23,0 +24,0 @@ } |
Sorry, the diff of this file is not supported yet
45893
1009