@klerick/json-api-nestjs-sdk 10.0.0-beta.8 → 10.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/CHANGELOG.md +121 -0
- package/README.md +498 -45
- package/cjs/src/index.js +9 -7
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/lib/json-api-angular.js +22 -18
- package/cjs/src/lib/json-api-angular.js.map +1 -1
- package/cjs/src/lib/json-api-js.js +31 -11
- package/cjs/src/lib/json-api-js.js.map +1 -1
- package/cjs/src/lib/service/atomic-operations.service.js +22 -16
- package/cjs/src/lib/service/atomic-operations.service.js.map +1 -1
- package/cjs/src/lib/service/fetch-inner-client.js +3 -3
- package/cjs/src/lib/service/fetch-inner-client.js.map +1 -1
- package/cjs/src/lib/service/index.js +3 -3
- package/cjs/src/lib/service/index.js.map +1 -1
- package/cjs/src/lib/service/json-api-sdk.service.js +55 -22
- package/cjs/src/lib/service/json-api-sdk.service.js.map +1 -1
- package/cjs/src/lib/service/json-api-utils.service.js +138 -59
- package/cjs/src/lib/service/json-api-utils.service.js.map +1 -1
- package/cjs/src/lib/types/entity-chain.js +3 -0
- package/cjs/src/lib/types/entity-chain.js.map +1 -0
- package/cjs/src/lib/types/index.js +10 -9
- package/cjs/src/lib/types/index.js.map +1 -1
- package/cjs/src/lib/utils/generate-atomic-body.js +21 -20
- package/cjs/src/lib/utils/generate-atomic-body.js.map +1 -1
- package/cjs/src/lib/utils/index.js +5 -5
- package/cjs/src/lib/utils/index.js.map +1 -1
- package/cjs/src/lib/utils/utils.js +42 -3
- package/cjs/src/lib/utils/utils.js.map +1 -1
- package/cjs/src/ngModule.js +8 -8
- package/cjs/src/ngModule.js.map +1 -1
- package/mjs/package.json +1 -0
- package/mjs/src/index.d.ts +4 -4
- package/mjs/src/index.js +3 -3
- package/mjs/src/index.js.map +1 -1
- package/mjs/src/lib/json-api-angular.d.ts +10 -12
- package/mjs/src/lib/json-api-angular.js +11 -7
- package/mjs/src/lib/json-api-angular.js.map +1 -1
- package/mjs/src/lib/json-api-js.d.ts +4 -4
- package/mjs/src/lib/json-api-js.js +26 -6
- package/mjs/src/lib/json-api-js.js.map +1 -1
- package/mjs/src/lib/service/atomic-operations.service.d.ts +7 -7
- package/mjs/src/lib/service/atomic-operations.service.js +21 -15
- package/mjs/src/lib/service/atomic-operations.service.js.map +1 -1
- package/mjs/src/lib/service/fetch-inner-client.d.ts +2 -2
- package/mjs/src/lib/service/fetch-inner-client.js +1 -1
- package/mjs/src/lib/service/fetch-inner-client.js.map +1 -1
- package/mjs/src/lib/service/index.d.ts +3 -3
- package/mjs/src/lib/service/index.js +3 -3
- package/mjs/src/lib/service/index.js.map +1 -1
- package/mjs/src/lib/service/json-api-sdk.service.d.ts +13 -8
- package/mjs/src/lib/service/json-api-sdk.service.js +51 -18
- package/mjs/src/lib/service/json-api-sdk.service.js.map +1 -1
- package/mjs/src/lib/service/json-api-utils.service.d.ts +6 -5
- package/mjs/src/lib/service/json-api-utils.service.js +132 -53
- package/mjs/src/lib/service/json-api-utils.service.js.map +1 -1
- package/mjs/src/lib/token/index.d.ts +1 -1
- package/mjs/src/lib/types/atomic-operation.d.ts +11 -11
- package/mjs/src/lib/types/atomic-type.d.ts +2 -2
- package/mjs/src/lib/types/config.d.ts +2 -2
- package/mjs/src/lib/types/entity-chain.d.ts +32 -0
- package/mjs/src/lib/types/entity-chain.js +1 -0
- package/mjs/src/lib/types/entity-chain.js.map +1 -0
- package/mjs/src/lib/types/http-inner-client.d.ts +3 -3
- package/mjs/src/lib/types/http-request-params.d.ts +3 -0
- package/mjs/src/lib/types/index.d.ts +10 -9
- package/mjs/src/lib/types/index.js +10 -9
- package/mjs/src/lib/types/index.js.map +1 -1
- package/mjs/src/lib/types/promise-json-api-sdk.d.ts +20 -9
- package/mjs/src/lib/types/query-params.d.ts +1 -1
- package/mjs/src/lib/utils/adapter-for-axios.d.ts +1 -1
- package/mjs/src/lib/utils/generate-atomic-body.d.ts +7 -7
- package/mjs/src/lib/utils/generate-atomic-body.js +19 -18
- package/mjs/src/lib/utils/generate-atomic-body.js.map +1 -1
- package/mjs/src/lib/utils/index.d.ts +5 -5
- package/mjs/src/lib/utils/index.js +5 -5
- package/mjs/src/lib/utils/index.js.map +1 -1
- package/mjs/src/lib/utils/utils.d.ts +20 -1
- package/mjs/src/lib/utils/utils.js +36 -1
- package/mjs/src/lib/utils/utils.js.map +1 -1
- package/mjs/src/ngModule.d.ts +3 -3
- package/mjs/src/ngModule.js +2 -2
- package/mjs/src/ngModule.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RelationKeys } from '@klerick/json-api-nestjs-shared';
|
|
2
|
-
import { AtomicMainOperations, JsonApiSdkConfig, BodyType } from '../types';
|
|
3
|
-
import { JsonApiUtilsService } from '../service';
|
|
2
|
+
import { AtomicMainOperations, JsonApiSdkConfig, BodyType } from '../types/index.js';
|
|
3
|
+
import { JsonApiUtilsService } from '../service/index.js';
|
|
4
4
|
export type AtomicVoidOperation = {
|
|
5
5
|
[K in keyof AtomicMainOperations<[]>]: (...arg: any) => void;
|
|
6
6
|
};
|
|
@@ -13,10 +13,10 @@ export declare class GenerateAtomicBody<Entity extends object = any, Rel extends
|
|
|
13
13
|
get isSkipEmpty(): boolean;
|
|
14
14
|
private setToBody;
|
|
15
15
|
getBody(): BodyType;
|
|
16
|
-
postOne(entity: Entity): void;
|
|
17
|
-
patchOne(entity: Entity): void;
|
|
16
|
+
postOne(entity: Entity, meta?: Record<string, unknown>): void;
|
|
17
|
+
patchOne(entity: Entity, meta?: Record<string, unknown>): void;
|
|
18
18
|
deleteOne(entity: Entity, skipEmpty: boolean): void;
|
|
19
|
-
patchRelationships(entity: Entity, relationType: Rel): void;
|
|
20
|
-
postRelationships(entity: Entity, relationType: Rel): void;
|
|
21
|
-
deleteRelationships(entity: Entity, relationType: Rel): void;
|
|
19
|
+
patchRelationships(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): void;
|
|
20
|
+
postRelationships(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): void;
|
|
21
|
+
deleteRelationships(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): void;
|
|
22
22
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Operation } from '@klerick/json-api-nestjs-shared';
|
|
2
|
-
import { getTypeForReq } from './utils';
|
|
2
|
+
import { getTypeForReq } from './utils.js';
|
|
3
3
|
export class GenerateAtomicBody {
|
|
4
4
|
jsonApiUtilsService;
|
|
5
5
|
jsonApiSdkConfig;
|
|
@@ -12,7 +12,7 @@ export class GenerateAtomicBody {
|
|
|
12
12
|
get isSkipEmpty() {
|
|
13
13
|
return this.skipEmpty;
|
|
14
14
|
}
|
|
15
|
-
setToBody(op, entity, relationType) {
|
|
15
|
+
setToBody(op, entity, relationType, meta) {
|
|
16
16
|
const type = getTypeForReq(entity.constructor.name);
|
|
17
17
|
const { relationships, attributes } = this.jsonApiUtilsService.generateBody(entity);
|
|
18
18
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
@@ -26,61 +26,62 @@ export class GenerateAtomicBody {
|
|
|
26
26
|
...idObj,
|
|
27
27
|
};
|
|
28
28
|
const rel = relationType ? { relationship: String(relationType) } : {};
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const lid = op === 'add' && id && !relationType ? { lid: String(id) } : {};
|
|
30
|
+
// IMPORTANT: Do NOT add meta for remove operation without relationship
|
|
31
|
+
// zodRemove schema doesn't have meta field
|
|
32
|
+
const shouldIncludeMeta = meta && !(op === 'remove' && !relationType);
|
|
33
33
|
this.bodyData = {
|
|
34
34
|
op,
|
|
35
|
-
ref: { type, ...idObj, ...rel, ...
|
|
35
|
+
ref: { type, ...idObj, ...rel, ...lid },
|
|
36
36
|
...(op === 'remove' && !relationType ? {} : { data }),
|
|
37
|
+
...(shouldIncludeMeta ? { meta } : {}),
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
40
|
getBody() {
|
|
40
41
|
return this.bodyData;
|
|
41
42
|
}
|
|
42
|
-
postOne(entity) {
|
|
43
|
-
this.setToBody(Operation.add, entity);
|
|
43
|
+
postOne(entity, meta) {
|
|
44
|
+
this.setToBody(Operation.add, entity, undefined, meta);
|
|
44
45
|
}
|
|
45
|
-
patchOne(entity) {
|
|
46
|
+
patchOne(entity, meta) {
|
|
46
47
|
if (Reflect.get(entity, this.jsonApiSdkConfig.idKey) === undefined) {
|
|
47
48
|
throw new Error('Resource params should be instance of resource with id params');
|
|
48
49
|
}
|
|
49
|
-
this.setToBody(Operation.update, entity);
|
|
50
|
+
this.setToBody(Operation.update, entity, undefined, meta);
|
|
50
51
|
}
|
|
51
52
|
deleteOne(entity, skipEmpty) {
|
|
52
53
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
53
54
|
throw new Error('Resource params should be instance of resource with id params');
|
|
54
55
|
}
|
|
55
56
|
this.skipEmpty = skipEmpty;
|
|
56
|
-
this.setToBody(Operation.remove, entity);
|
|
57
|
+
this.setToBody(Operation.remove, entity, undefined, undefined);
|
|
57
58
|
}
|
|
58
|
-
patchRelationships(entity, relationType) {
|
|
59
|
+
patchRelationships(entity, relationType, meta) {
|
|
59
60
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
60
61
|
throw new Error('Resource params should be instance of resource with id params');
|
|
61
62
|
}
|
|
62
63
|
if (entity[relationType] === undefined) {
|
|
63
64
|
new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
64
65
|
}
|
|
65
|
-
this.setToBody(Operation.update, entity, relationType);
|
|
66
|
+
this.setToBody(Operation.update, entity, relationType, meta);
|
|
66
67
|
}
|
|
67
|
-
postRelationships(entity, relationType) {
|
|
68
|
+
postRelationships(entity, relationType, meta) {
|
|
68
69
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
69
70
|
throw new Error('Resource params should be instance of resource with id params');
|
|
70
71
|
}
|
|
71
72
|
if (entity[relationType] === undefined) {
|
|
72
73
|
throw new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
73
74
|
}
|
|
74
|
-
this.setToBody(Operation.add, entity, relationType);
|
|
75
|
+
this.setToBody(Operation.add, entity, relationType, meta);
|
|
75
76
|
}
|
|
76
|
-
deleteRelationships(entity, relationType) {
|
|
77
|
+
deleteRelationships(entity, relationType, meta) {
|
|
77
78
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
78
79
|
throw new Error('Resource params should be instance of resource with id params');
|
|
79
80
|
}
|
|
80
81
|
if (entity[relationType] === undefined) {
|
|
81
82
|
throw new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
82
83
|
}
|
|
83
|
-
this.setToBody(Operation.remove, entity, relationType);
|
|
84
|
+
this.setToBody(Operation.remove, entity, relationType, meta);
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
//# sourceMappingURL=generate-atomic-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-atomic-body.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/generate-atomic-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"generate-atomic-body.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/generate-atomic-body.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './http-params';
|
|
2
|
-
export * from './generate-atomic-body';
|
|
3
|
-
export * from './entity-array';
|
|
4
|
-
export * from './utils';
|
|
5
|
-
export * from './adapter-for-axios';
|
|
1
|
+
export * from './http-params.js';
|
|
2
|
+
export * from './generate-atomic-body.js';
|
|
3
|
+
export * from './entity-array.js';
|
|
4
|
+
export * from './utils.js';
|
|
5
|
+
export * from './adapter-for-axios.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './http-params';
|
|
2
|
-
export * from './generate-atomic-body';
|
|
3
|
-
export * from './entity-array';
|
|
4
|
-
export * from './utils';
|
|
5
|
-
export * from './adapter-for-axios';
|
|
1
|
+
export * from './http-params.js';
|
|
2
|
+
export * from './generate-atomic-body.js';
|
|
3
|
+
export * from './entity-array.js';
|
|
4
|
+
export * from './utils.js';
|
|
5
|
+
export * from './adapter-for-axios.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,4 +1,23 @@
|
|
|
1
|
-
import { JsonApiSdkConfig, JsonSdkConfig } from '../types';
|
|
1
|
+
import { JsonApiSdkConfig, JsonSdkConfig } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Marker for null relationship.
|
|
4
|
+
* Returns null for TypeScript but object with Symbol marker for runtime.
|
|
5
|
+
*/
|
|
6
|
+
export declare function nullRef(): null;
|
|
7
|
+
/**
|
|
8
|
+
* Checks if value is a nullRef marker
|
|
9
|
+
*/
|
|
10
|
+
export declare function isNullRef(val: unknown): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Marker for empty array relationship.
|
|
13
|
+
* Returns empty array for TypeScript but object with Symbol marker for runtime.
|
|
14
|
+
* Use this to explicitly clear all items from a to-many relationship.
|
|
15
|
+
*/
|
|
16
|
+
export declare function emptyArrayRef<T = unknown>(): T[];
|
|
17
|
+
/**
|
|
18
|
+
* Checks if value is an emptyArrayRef marker
|
|
19
|
+
*/
|
|
20
|
+
export declare function isEmptyArrayRef(val: unknown): boolean;
|
|
2
21
|
export declare function isRelation(val: any): boolean;
|
|
3
22
|
export declare function getTypeForReq(str: string): string;
|
|
4
23
|
export declare function resultConfig(partialConfig: JsonSdkConfig): JsonApiSdkConfig;
|
|
@@ -1,6 +1,41 @@
|
|
|
1
1
|
import { kebabCase } from 'change-case-commonjs';
|
|
2
|
-
import { ID_KEY } from '../constants';
|
|
2
|
+
import { ID_KEY } from '../constants/index.js';
|
|
3
|
+
const NULL_REF = Symbol('null-ref');
|
|
4
|
+
const EMPTY_ARRAY_REF = Symbol('empty-array-ref');
|
|
5
|
+
/**
|
|
6
|
+
* Marker for null relationship.
|
|
7
|
+
* Returns null for TypeScript but object with Symbol marker for runtime.
|
|
8
|
+
*/
|
|
9
|
+
export function nullRef() {
|
|
10
|
+
return { [NULL_REF]: true };
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Checks if value is a nullRef marker
|
|
14
|
+
*/
|
|
15
|
+
export function isNullRef(val) {
|
|
16
|
+
return val !== null && typeof val === 'object' && NULL_REF in val;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Marker for empty array relationship.
|
|
20
|
+
* Returns empty array for TypeScript but object with Symbol marker for runtime.
|
|
21
|
+
* Use this to explicitly clear all items from a to-many relationship.
|
|
22
|
+
*/
|
|
23
|
+
export function emptyArrayRef() {
|
|
24
|
+
return { [EMPTY_ARRAY_REF]: true };
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Checks if value is an emptyArrayRef marker
|
|
28
|
+
*/
|
|
29
|
+
export function isEmptyArrayRef(val) {
|
|
30
|
+
return val !== null && typeof val === 'object' && EMPTY_ARRAY_REF in val;
|
|
31
|
+
}
|
|
3
32
|
export function isRelation(val) {
|
|
33
|
+
// nullRef is a special case - it's a relationship that should be null
|
|
34
|
+
if (isNullRef(val))
|
|
35
|
+
return true;
|
|
36
|
+
// emptyArrayRef is a special case - it's a to-many relationship that should be empty
|
|
37
|
+
if (isEmptyArrayRef(val))
|
|
38
|
+
return true;
|
|
4
39
|
const result = !(val === null ||
|
|
5
40
|
!val ||
|
|
6
41
|
['String', 'Boolean', 'Number', 'Date'].includes(val.constructor.name));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAqB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAoB,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,eAAe,IAAI,GAAG,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,sEAAsE;IACtE,IAAI,SAAS,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,qFAAqF;IACrF,IAAI,eAAe,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,MAAM,GAAG,CAAC,CACd,GAAG,KAAK,IAAI;QACZ,CAAC,GAAG;QACJ,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CACvE,CAAC;IAEF,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,OAAO,MAAM,IAAI,GAAG,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,aAA4B;IACvD,OAAO;QACL,GAAG,aAAa;QAChB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QACzD,UAAU,EACR,aAAa,CAAC,UAAU,KAAK,SAAS;YACpC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU;QAChC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC"}
|
package/mjs/src/ngModule.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { FilterOperand, ResourceObject } from '@klerick/json-api-nestjs-shared';
|
|
2
|
-
export { AtomicFactory, provideJsonApi, JSON_API_SDK_CONFIG, getProviders, } from './lib/json-api-angular';
|
|
3
|
-
export { JsonApiUtilsService, JsonApiSdkService } from './lib/service';
|
|
4
|
-
export { AtomicOperations, JsonSdkConfig } from './lib/types';
|
|
2
|
+
export { AtomicFactory, provideJsonApi, JSON_API_SDK_CONFIG, getProviders, JsonSdkConfigFactory, JsonSdkConfigOrFactory, } from './lib/json-api-angular.js';
|
|
3
|
+
export { JsonApiUtilsService, JsonApiSdkService } from './lib/service/index.js';
|
|
4
|
+
export { AtomicOperations, JsonSdkConfig } from './lib/types/index.js';
|
package/mjs/src/ngModule.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { FilterOperand } from '@klerick/json-api-nestjs-shared';
|
|
2
|
-
export { AtomicFactory, provideJsonApi, JSON_API_SDK_CONFIG, getProviders, } from './lib/json-api-angular';
|
|
3
|
-
export { JsonApiUtilsService, JsonApiSdkService } from './lib/service';
|
|
2
|
+
export { AtomicFactory, provideJsonApi, JSON_API_SDK_CONFIG, getProviders, } from './lib/json-api-angular.js';
|
|
3
|
+
export { JsonApiUtilsService, JsonApiSdkService } from './lib/service/index.js';
|
|
4
4
|
//# sourceMappingURL=ngModule.js.map
|
package/mjs/src/ngModule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngModule.js","sourceRoot":"","sources":["../../../../../../libs/json-api/json-api-nestjs-sdk/src/ngModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,YAAY,
|
|
1
|
+
{"version":3,"file":"ngModule.js","sourceRoot":"","sources":["../../../../../../libs/json-api/json-api-nestjs-sdk/src/ngModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,YAAY,GAGb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@klerick/json-api-nestjs-sdk",
|
|
3
|
-
"version": "10.0.0
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "Helper for client JsonAPi Plugin for NestJs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nestjs",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"CRUD"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@klerick/json-api-nestjs-shared": "^1.0.0-beta.
|
|
15
|
+
"@klerick/json-api-nestjs-shared": "^1.0.0-beta.8"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"axios": "^1.6.0",
|
|
19
|
-
"@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
20
|
-
"@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
19
|
+
"@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
|
|
20
|
+
"@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
|
|
21
21
|
"rxjs": "^7.0.0",
|
|
22
22
|
"tslib": ">2.3.0"
|
|
23
23
|
},
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"url": "https://github.com/klerick/nestjs-json-api.git"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
|
-
"node": "
|
|
64
|
+
"node": "^22.22.3 || ^24.15.0 || >=26.0.0"
|
|
65
65
|
},
|
|
66
66
|
"files": [
|
|
67
67
|
"**/*"
|