@23blocks/jsonapi-codec 0.1.2 → 1.0.0
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/package.json +1 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/decode.d.ts +0 -28
- package/dist/lib/decode.d.ts.map +0 -1
- package/dist/lib/errors.d.ts +0 -24
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/mapper.d.ts +0 -40
- package/dist/lib/mapper.d.ts.map +0 -1
- package/dist/lib/types.d.ts +0 -154
- package/dist/lib/types.d.ts.map +0 -1
package/package.json
CHANGED
package/dist/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { type JsonApiResource, type JsonApiRelationship, type JsonApiResourceIdentifier, type JsonApiLinks, type JsonApiLink, type JsonApiError, type JsonApiDocument, type JsonApiMeta, isSingleResourceDocument, isCollectionDocument, isErrorDocument, } from './lib/types.js';
|
|
2
|
-
export { type IncludedMap, type ResourceMapper, resourceKey, buildIncludedMap, getIncluded, resolveRelationship, resolveRelationshipMany, } from './lib/mapper.js';
|
|
3
|
-
export { decodeOne, decodeOneOrNull, decodeMany, extractPageMeta, decodePageResult, decodeWith, } from './lib/decode.js';
|
|
4
|
-
export { jsonApiErrorToBlockError, jsonApiErrorsToBlockError, blockErrorFromJsonApi, throwIfError, assertNotError, } from './lib/errors.js';
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC"}
|
package/dist/lib/decode.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { PageResult, PageMeta } from '@23blocks/contracts';
|
|
2
|
-
import type { JsonApiDocument, JsonApiMeta } from './types.js';
|
|
3
|
-
import type { ResourceMapper, IncludedMap } from './mapper.js';
|
|
4
|
-
/**
|
|
5
|
-
* Decode a single resource from a JSON:API document
|
|
6
|
-
*/
|
|
7
|
-
export declare function decodeOne<T>(document: JsonApiDocument, mapper: ResourceMapper<T>): T;
|
|
8
|
-
/**
|
|
9
|
-
* Decode a single resource from a JSON:API document, returning null if not found
|
|
10
|
-
*/
|
|
11
|
-
export declare function decodeOneOrNull<T>(document: JsonApiDocument, mapper: ResourceMapper<T>): T | null;
|
|
12
|
-
/**
|
|
13
|
-
* Decode multiple resources from a JSON:API document
|
|
14
|
-
*/
|
|
15
|
-
export declare function decodeMany<T>(document: JsonApiDocument, mapper: ResourceMapper<T>): T[];
|
|
16
|
-
/**
|
|
17
|
-
* Extract pagination metadata from JSON:API meta
|
|
18
|
-
*/
|
|
19
|
-
export declare function extractPageMeta(meta?: JsonApiMeta): PageMeta;
|
|
20
|
-
/**
|
|
21
|
-
* Decode a paginated collection from a JSON:API document
|
|
22
|
-
*/
|
|
23
|
-
export declare function decodePageResult<T>(document: JsonApiDocument, mapper: ResourceMapper<T>): PageResult<T>;
|
|
24
|
-
/**
|
|
25
|
-
* Decode with a custom decoder function
|
|
26
|
-
*/
|
|
27
|
-
export declare function decodeWith<T>(document: JsonApiDocument, decoder: (doc: JsonApiDocument, included: IncludedMap) => T): T;
|
|
28
|
-
//# sourceMappingURL=decode.d.ts.map
|
package/dist/lib/decode.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/lib/decode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/D;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,CAAC,CAOH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,CAAC,GAAG,IAAI,CAOV;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,CAAC,EAAE,CAOL;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAO5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,UAAU,CAAC,CAAC,CAAC,CASf;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,KAAK,CAAC,GAC1D,CAAC,CAGH"}
|
package/dist/lib/errors.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { BlockErrorException, type BlockError } from '@23blocks/contracts';
|
|
2
|
-
import type { JsonApiDocument, JsonApiError } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Convert a JSON:API error to a BlockError
|
|
5
|
-
*/
|
|
6
|
-
export declare function jsonApiErrorToBlockError(error: JsonApiError): BlockError;
|
|
7
|
-
/**
|
|
8
|
-
* Convert multiple JSON:API errors to a single BlockError
|
|
9
|
-
* Uses the first error as the primary error, includes others in meta
|
|
10
|
-
*/
|
|
11
|
-
export declare function jsonApiErrorsToBlockError(errors: JsonApiError[]): BlockError;
|
|
12
|
-
/**
|
|
13
|
-
* Create a BlockErrorException from JSON:API errors
|
|
14
|
-
*/
|
|
15
|
-
export declare function blockErrorFromJsonApi(errors: JsonApiError[]): BlockErrorException;
|
|
16
|
-
/**
|
|
17
|
-
* Check if a document is an error document and throw if so
|
|
18
|
-
*/
|
|
19
|
-
export declare function throwIfError(document: JsonApiDocument): void;
|
|
20
|
-
/**
|
|
21
|
-
* Assert that a document is not an error document
|
|
22
|
-
*/
|
|
23
|
-
export declare function assertNotError<T extends JsonApiDocument>(document: T): asserts document is T;
|
|
24
|
-
//# sourceMappingURL=errors.d.ts.map
|
package/dist/lib/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGhE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,CAQxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAmB5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAEjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAI5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,eAAe,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAE5F"}
|
package/dist/lib/mapper.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { JsonApiResource } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Included resources map for efficient relationship resolution
|
|
4
|
-
*/
|
|
5
|
-
export type IncludedMap = Map<string, JsonApiResource>;
|
|
6
|
-
/**
|
|
7
|
-
* Resource mapper interface
|
|
8
|
-
* Each block provides mappers for its resource types
|
|
9
|
-
*/
|
|
10
|
-
export interface ResourceMapper<T> {
|
|
11
|
-
/** JSON:API resource type this mapper handles */
|
|
12
|
-
type: string;
|
|
13
|
-
/**
|
|
14
|
-
* Map a JSON:API resource to a domain object
|
|
15
|
-
* @param resource - The JSON:API resource to map
|
|
16
|
-
* @param included - Map of included resources for relationship resolution
|
|
17
|
-
*/
|
|
18
|
-
map(resource: JsonApiResource, included: IncludedMap): T;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Create a key for the included map
|
|
22
|
-
*/
|
|
23
|
-
export declare function resourceKey(type: string, id: string): string;
|
|
24
|
-
/**
|
|
25
|
-
* Build an included map from an array of resources
|
|
26
|
-
*/
|
|
27
|
-
export declare function buildIncludedMap(included?: JsonApiResource[]): IncludedMap;
|
|
28
|
-
/**
|
|
29
|
-
* Get a resource from the included map
|
|
30
|
-
*/
|
|
31
|
-
export declare function getIncluded(included: IncludedMap, type: string, id: string): JsonApiResource | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* Resolve a relationship from included resources
|
|
34
|
-
*/
|
|
35
|
-
export declare function resolveRelationship<T>(resource: JsonApiResource, relationshipName: string, included: IncludedMap, mapper: ResourceMapper<T>): T | null;
|
|
36
|
-
/**
|
|
37
|
-
* Resolve a has-many relationship from included resources
|
|
38
|
-
*/
|
|
39
|
-
export declare function resolveRelationshipMany<T>(resource: JsonApiResource, relationshipName: string, included: IncludedMap, mapper: ResourceMapper<T>): T[];
|
|
40
|
-
//# sourceMappingURL=mapper.d.ts.map
|
package/dist/lib/mapper.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../src/lib/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,GAAG,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,eAAe,EAAO,GAAG,WAAW,CAM9E;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,eAAe,GAAG,SAAS,CAE7B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,CAAC,GAAG,IAAI,CAmBV;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,CAAC,EAAE,CAsBL"}
|
package/dist/lib/types.d.ts
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JSON:API Resource Object
|
|
3
|
-
* @see https://jsonapi.org/format/#document-resource-objects
|
|
4
|
-
*/
|
|
5
|
-
export interface JsonApiResource<TAttributes = Record<string, unknown>> {
|
|
6
|
-
/** Resource type */
|
|
7
|
-
type: string;
|
|
8
|
-
/** Resource ID */
|
|
9
|
-
id: string;
|
|
10
|
-
/** Resource attributes */
|
|
11
|
-
attributes?: TAttributes;
|
|
12
|
-
/** Resource relationships */
|
|
13
|
-
relationships?: Record<string, JsonApiRelationship>;
|
|
14
|
-
/** Resource links */
|
|
15
|
-
links?: JsonApiLinks;
|
|
16
|
-
/** Resource meta */
|
|
17
|
-
meta?: Record<string, unknown>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* JSON:API Relationship Object
|
|
21
|
-
* @see https://jsonapi.org/format/#document-resource-object-relationships
|
|
22
|
-
*/
|
|
23
|
-
export interface JsonApiRelationship {
|
|
24
|
-
/** Relationship data */
|
|
25
|
-
data: JsonApiResourceIdentifier | JsonApiResourceIdentifier[] | null;
|
|
26
|
-
/** Relationship links */
|
|
27
|
-
links?: JsonApiLinks;
|
|
28
|
-
/** Relationship meta */
|
|
29
|
-
meta?: Record<string, unknown>;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* JSON:API Resource Identifier Object
|
|
33
|
-
* @see https://jsonapi.org/format/#document-resource-identifier-objects
|
|
34
|
-
*/
|
|
35
|
-
export interface JsonApiResourceIdentifier {
|
|
36
|
-
/** Resource type */
|
|
37
|
-
type: string;
|
|
38
|
-
/** Resource ID */
|
|
39
|
-
id: string;
|
|
40
|
-
/** Identifier meta */
|
|
41
|
-
meta?: Record<string, unknown>;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* JSON:API Links Object
|
|
45
|
-
* @see https://jsonapi.org/format/#document-links
|
|
46
|
-
*/
|
|
47
|
-
export interface JsonApiLinks {
|
|
48
|
-
self?: string | JsonApiLink;
|
|
49
|
-
related?: string | JsonApiLink;
|
|
50
|
-
first?: string | JsonApiLink | null;
|
|
51
|
-
last?: string | JsonApiLink | null;
|
|
52
|
-
prev?: string | JsonApiLink | null;
|
|
53
|
-
next?: string | JsonApiLink | null;
|
|
54
|
-
[key: string]: string | JsonApiLink | null | undefined;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* JSON:API Link Object
|
|
58
|
-
* @see https://jsonapi.org/format/#document-links
|
|
59
|
-
*/
|
|
60
|
-
export interface JsonApiLink {
|
|
61
|
-
href: string;
|
|
62
|
-
rel?: string;
|
|
63
|
-
describedby?: string;
|
|
64
|
-
title?: string;
|
|
65
|
-
type?: string;
|
|
66
|
-
hreflang?: string | string[];
|
|
67
|
-
meta?: Record<string, unknown>;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* JSON:API Error Object
|
|
71
|
-
* @see https://jsonapi.org/format/#error-objects
|
|
72
|
-
*/
|
|
73
|
-
export interface JsonApiError {
|
|
74
|
-
/** Unique identifier for this error */
|
|
75
|
-
id?: string;
|
|
76
|
-
/** Links related to the error */
|
|
77
|
-
links?: {
|
|
78
|
-
about?: string | JsonApiLink;
|
|
79
|
-
type?: string | JsonApiLink;
|
|
80
|
-
};
|
|
81
|
-
/** HTTP status code */
|
|
82
|
-
status?: string;
|
|
83
|
-
/** Application-specific error code */
|
|
84
|
-
code?: string;
|
|
85
|
-
/** Short summary of the error */
|
|
86
|
-
title?: string;
|
|
87
|
-
/** Detailed explanation of the error */
|
|
88
|
-
detail?: string;
|
|
89
|
-
/** Source of the error */
|
|
90
|
-
source?: {
|
|
91
|
-
pointer?: string;
|
|
92
|
-
parameter?: string;
|
|
93
|
-
header?: string;
|
|
94
|
-
};
|
|
95
|
-
/** Error meta */
|
|
96
|
-
meta?: Record<string, unknown>;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* JSON:API Document
|
|
100
|
-
* @see https://jsonapi.org/format/#document-structure
|
|
101
|
-
*/
|
|
102
|
-
export interface JsonApiDocument<TAttributes = Record<string, unknown>> {
|
|
103
|
-
/** Primary data */
|
|
104
|
-
data?: JsonApiResource<TAttributes> | JsonApiResource<TAttributes>[] | null;
|
|
105
|
-
/** Included resources */
|
|
106
|
-
included?: JsonApiResource[];
|
|
107
|
-
/** Errors */
|
|
108
|
-
errors?: JsonApiError[];
|
|
109
|
-
/** Top-level meta */
|
|
110
|
-
meta?: JsonApiMeta;
|
|
111
|
-
/** Top-level links */
|
|
112
|
-
links?: JsonApiLinks;
|
|
113
|
-
/** JSON:API version info */
|
|
114
|
-
jsonapi?: {
|
|
115
|
-
version?: string;
|
|
116
|
-
ext?: string[];
|
|
117
|
-
profile?: string[];
|
|
118
|
-
meta?: Record<string, unknown>;
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* JSON:API Meta Object (commonly used for pagination)
|
|
123
|
-
*/
|
|
124
|
-
export interface JsonApiMeta {
|
|
125
|
-
/** Current page number */
|
|
126
|
-
current_page?: number;
|
|
127
|
-
/** Total number of pages */
|
|
128
|
-
total_pages?: number;
|
|
129
|
-
/** Total count of items */
|
|
130
|
-
total_count?: number;
|
|
131
|
-
/** Items per page */
|
|
132
|
-
per_page?: number;
|
|
133
|
-
/** Any additional meta fields */
|
|
134
|
-
[key: string]: unknown;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Type guard for single resource document
|
|
138
|
-
*/
|
|
139
|
-
export declare function isSingleResourceDocument<T>(doc: JsonApiDocument<T>): doc is JsonApiDocument<T> & {
|
|
140
|
-
data: JsonApiResource<T>;
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* Type guard for collection resource document
|
|
144
|
-
*/
|
|
145
|
-
export declare function isCollectionDocument<T>(doc: JsonApiDocument<T>): doc is JsonApiDocument<T> & {
|
|
146
|
-
data: JsonApiResource<T>[];
|
|
147
|
-
};
|
|
148
|
-
/**
|
|
149
|
-
* Type guard for error document
|
|
150
|
-
*/
|
|
151
|
-
export declare function isErrorDocument(doc: JsonApiDocument): doc is JsonApiDocument & {
|
|
152
|
-
errors: JsonApiError[];
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|