@sap-cloud-sdk/odata-common 2.0.0-alpha.0 → 2.0.0-beta.1-20220107142408.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/dist/batch-response.d.ts +11 -10
- package/dist/batch-response.d.ts.map +1 -1
- package/dist/de-serializers/custom-de-serializers.d.ts +15 -1
- package/dist/de-serializers/custom-de-serializers.d.ts.map +1 -1
- package/dist/de-serializers/custom-de-serializers.js +16 -0
- package/dist/de-serializers/custom-de-serializers.js.map +1 -1
- package/dist/de-serializers/de-serializers.d.ts +19 -3
- package/dist/de-serializers/de-serializers.d.ts.map +1 -1
- package/dist/de-serializers/de-serializers.js +31 -0
- package/dist/de-serializers/de-serializers.js.map +1 -1
- package/dist/de-serializers/default-de-serializers.d.ts +7 -9
- package/dist/de-serializers/default-de-serializers.d.ts.map +1 -1
- package/dist/de-serializers/default-de-serializers.js +26 -8
- package/dist/de-serializers/default-de-serializers.js.map +1 -1
- package/dist/de-serializers/uri-value-converter.d.ts +1 -3
- package/dist/de-serializers/uri-value-converter.d.ts.map +1 -1
- package/dist/de-serializers/uri-value-converter.js +3 -7
- package/dist/de-serializers/uri-value-converter.js.map +1 -1
- package/dist/entity-base.d.ts +34 -22
- package/dist/entity-base.d.ts.map +1 -1
- package/dist/entity-base.js +24 -18
- package/dist/entity-base.js.map +1 -1
- package/dist/entity-builder.d.ts +10 -6
- package/dist/entity-builder.d.ts.map +1 -1
- package/dist/entity-builder.js +19 -18
- package/dist/entity-builder.js.map +1 -1
- package/dist/entity-deserializer.d.ts +9 -9
- package/dist/entity-deserializer.d.ts.map +1 -1
- package/dist/entity-deserializer.js +15 -14
- package/dist/entity-deserializer.js.map +1 -1
- package/dist/entity-serializer.d.ts +8 -10
- package/dist/entity-serializer.d.ts.map +1 -1
- package/dist/entity-serializer.js +12 -10
- package/dist/entity-serializer.js.map +1 -1
- package/dist/expandable.d.ts +2 -1
- package/dist/expandable.d.ts.map +1 -1
- package/dist/filter/boolean-filter-function.d.ts +1 -1
- package/dist/filter/boolean-filter-function.d.ts.map +1 -1
- package/dist/filter/boolean-filter-function.js.map +1 -1
- package/dist/filter/collection-filter-function.d.ts +1 -2
- package/dist/filter/collection-filter-function.d.ts.map +1 -1
- package/dist/filter/collection-filter-function.js.map +1 -1
- package/dist/filter/filter-function-base.d.ts +5 -5
- package/dist/filter/filter-function-base.d.ts.map +1 -1
- package/dist/filter/filter-function-base.js.map +1 -1
- package/dist/filter/filter-functions.d.ts +27 -11
- package/dist/filter/filter-functions.d.ts.map +1 -1
- package/dist/filter/filter-functions.js +39 -32
- package/dist/filter/filter-functions.js.map +1 -1
- package/dist/filter/filter-lambda-expression.d.ts +5 -4
- package/dist/filter/filter-lambda-expression.d.ts.map +1 -1
- package/dist/filter/filter-lambda-expression.js.map +1 -1
- package/dist/filter/filter-link.d.ts +8 -10
- package/dist/filter/filter-link.d.ts.map +1 -1
- package/dist/filter/filter-link.js.map +1 -1
- package/dist/filter/filter-list.d.ts +8 -10
- package/dist/filter/filter-list.d.ts.map +1 -1
- package/dist/filter/filter-list.js.map +1 -1
- package/dist/filter/filter.d.ts +9 -12
- package/dist/filter/filter.d.ts.map +1 -1
- package/dist/filter/filter.js +3 -6
- package/dist/filter/filter.js.map +1 -1
- package/dist/filter/filterable.d.ts +8 -7
- package/dist/filter/filterable.d.ts.map +1 -1
- package/dist/filter/filterable.js.map +1 -1
- package/dist/filter/orderable-filter-function.d.ts +5 -6
- package/dist/filter/orderable-filter-function.d.ts.map +1 -1
- package/dist/filter/orderable-filter-function.js.map +1 -1
- package/dist/filter/unary-filter.d.ts +3 -3
- package/dist/filter/unary-filter.d.ts.map +1 -1
- package/dist/filter/unary-filter.js.map +1 -1
- package/dist/internal.d.ts +0 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +0 -1
- package/dist/internal.js.map +1 -1
- package/dist/order/order-link.d.ts +2 -2
- package/dist/order/order-link.d.ts.map +1 -1
- package/dist/order/order-link.js.map +1 -1
- package/dist/order/order.d.ts +2 -1
- package/dist/order/order.d.ts.map +1 -1
- package/dist/order/order.js.map +1 -1
- package/dist/order/orderable.d.ts +4 -3
- package/dist/order/orderable.d.ts.map +1 -1
- package/dist/order/orderable.js.map +1 -1
- package/dist/properties-util.d.ts +3 -3
- package/dist/properties-util.d.ts.map +1 -1
- package/dist/properties-util.js +5 -4
- package/dist/properties-util.js.map +1 -1
- package/dist/request/odata-count-request-config.d.ts +5 -4
- package/dist/request/odata-count-request-config.d.ts.map +1 -1
- package/dist/request/odata-count-request-config.js +3 -3
- package/dist/request/odata-count-request-config.js.map +1 -1
- package/dist/request/odata-create-request-config.d.ts +8 -6
- package/dist/request/odata-create-request-config.d.ts.map +1 -1
- package/dist/request/odata-create-request-config.js +7 -6
- package/dist/request/odata-create-request-config.js.map +1 -1
- package/dist/request/odata-delete-request-config.d.ts +8 -7
- package/dist/request/odata-delete-request-config.d.ts.map +1 -1
- package/dist/request/odata-delete-request-config.js +6 -5
- package/dist/request/odata-delete-request-config.js.map +1 -1
- package/dist/request/odata-function-import-request-config.d.ts +4 -3
- package/dist/request/odata-function-import-request-config.d.ts.map +1 -1
- package/dist/request/odata-function-import-request-config.js.map +1 -1
- package/dist/request/odata-get-all-request-config.d.ts +10 -8
- package/dist/request/odata-get-all-request-config.d.ts.map +1 -1
- package/dist/request/odata-get-all-request-config.js +8 -7
- package/dist/request/odata-get-all-request-config.js.map +1 -1
- package/dist/request/odata-get-by-key-request-config.d.ts +11 -9
- package/dist/request/odata-get-by-key-request-config.d.ts.map +1 -1
- package/dist/request/odata-get-by-key-request-config.js +7 -6
- package/dist/request/odata-get-by-key-request-config.js.map +1 -1
- package/dist/request/odata-request-traits.d.ts +8 -7
- package/dist/request/odata-request-traits.d.ts.map +1 -1
- package/dist/request/odata-request-traits.js.map +1 -1
- package/dist/request/odata-update-request-config.d.ts +8 -7
- package/dist/request/odata-update-request-config.d.ts.map +1 -1
- package/dist/request/odata-update-request-config.js +6 -5
- package/dist/request/odata-update-request-config.js.map +1 -1
- package/dist/request-builder/batch/batch-change-set.d.ts +8 -4
- package/dist/request-builder/batch/batch-change-set.d.ts.map +1 -1
- package/dist/request-builder/batch/batch-change-set.js.map +1 -1
- package/dist/request-builder/batch/batch-request-builder.d.ts +8 -5
- package/dist/request-builder/batch/batch-request-builder.d.ts.map +1 -1
- package/dist/request-builder/batch/batch-request-builder.js +16 -2
- package/dist/request-builder/batch/batch-request-builder.js.map +1 -1
- package/dist/request-builder/batch/batch-request-serializer.d.ts +3 -2
- package/dist/request-builder/batch/batch-request-serializer.d.ts.map +1 -1
- package/dist/request-builder/batch/batch-request-serializer.js.map +1 -1
- package/dist/request-builder/batch/batch-response-deserializer.d.ts +10 -9
- package/dist/request-builder/batch/batch-response-deserializer.d.ts.map +1 -1
- package/dist/request-builder/batch/batch-response-deserializer.js +16 -14
- package/dist/request-builder/batch/batch-response-deserializer.js.map +1 -1
- package/dist/request-builder/count-request-builder.d.ts +5 -4
- package/dist/request-builder/count-request-builder.d.ts.map +1 -1
- package/dist/request-builder/count-request-builder.js +1 -1
- package/dist/request-builder/count-request-builder.js.map +1 -1
- package/dist/request-builder/create-request-builder-base.d.ts +14 -8
- package/dist/request-builder/create-request-builder-base.d.ts.map +1 -1
- package/dist/request-builder/create-request-builder-base.js +13 -9
- package/dist/request-builder/create-request-builder-base.js.map +1 -1
- package/dist/request-builder/delete-request-builder-base.d.ts +9 -8
- package/dist/request-builder/delete-request-builder-base.d.ts.map +1 -1
- package/dist/request-builder/delete-request-builder-base.js +7 -7
- package/dist/request-builder/delete-request-builder-base.js.map +1 -1
- package/dist/request-builder/get-all-request-builder-base.d.ts +10 -7
- package/dist/request-builder/get-all-request-builder-base.d.ts.map +1 -1
- package/dist/request-builder/get-all-request-builder-base.js +6 -4
- package/dist/request-builder/get-all-request-builder-base.js.map +1 -1
- package/dist/request-builder/get-by-key-request-builder-base.d.ts +11 -9
- package/dist/request-builder/get-by-key-request-builder-base.d.ts.map +1 -1
- package/dist/request-builder/get-by-key-request-builder-base.js +7 -6
- package/dist/request-builder/get-by-key-request-builder-base.js.map +1 -1
- package/dist/request-builder/get-request-builder-base.d.ts +10 -8
- package/dist/request-builder/get-request-builder-base.d.ts.map +1 -1
- package/dist/request-builder/get-request-builder-base.js +3 -4
- package/dist/request-builder/get-request-builder-base.js.map +1 -1
- package/dist/request-builder/request-builder-base.js +1 -1
- package/dist/request-builder/request-builder.d.ts +6 -6
- package/dist/request-builder/request-builder.d.ts.map +1 -1
- package/dist/request-builder/request-builder.js +2 -2
- package/dist/request-builder/request-builder.js.map +1 -1
- package/dist/request-builder/update-request-builder-base.d.ts +15 -13
- package/dist/request-builder/update-request-builder-base.d.ts.map +1 -1
- package/dist/request-builder/update-request-builder-base.js +11 -14
- package/dist/request-builder/update-request-builder-base.js.map +1 -1
- package/dist/selectable/collection-field.d.ts +4 -1
- package/dist/selectable/collection-field.d.ts.map +1 -1
- package/dist/selectable/collection-field.js +1 -0
- package/dist/selectable/collection-field.js.map +1 -1
- package/dist/selectable/complex-type-field.d.ts +8 -7
- package/dist/selectable/complex-type-field.d.ts.map +1 -1
- package/dist/selectable/complex-type-field.js +6 -9
- package/dist/selectable/complex-type-field.js.map +1 -1
- package/dist/selectable/complex-type-property-fields.d.ts +1 -1
- package/dist/selectable/complex-type-property-fields.d.ts.map +1 -1
- package/dist/selectable/constructor-or-field.d.ts +2 -1
- package/dist/selectable/constructor-or-field.d.ts.map +1 -1
- package/dist/selectable/custom-field.d.ts +18 -16
- package/dist/selectable/custom-field.d.ts.map +1 -1
- package/dist/selectable/custom-field.js +3 -2
- package/dist/selectable/custom-field.js.map +1 -1
- package/dist/selectable/edm-type-field.d.ts +14 -17
- package/dist/selectable/edm-type-field.d.ts.map +1 -1
- package/dist/selectable/edm-type-field.js +7 -3
- package/dist/selectable/edm-type-field.js.map +1 -1
- package/dist/selectable/enum-field.d.ts +4 -3
- package/dist/selectable/enum-field.d.ts.map +1 -1
- package/dist/selectable/enum-field.js +1 -1
- package/dist/selectable/enum-field.js.map +1 -1
- package/dist/selectable/field-builder.d.ts +11 -8
- package/dist/selectable/field-builder.d.ts.map +1 -1
- package/dist/selectable/field-builder.js +5 -3
- package/dist/selectable/field-builder.js.map +1 -1
- package/dist/selectable/field.d.ts +2 -4
- package/dist/selectable/field.d.ts.map +1 -1
- package/dist/selectable/field.js.map +1 -1
- package/dist/selectable/link.d.ts +13 -11
- package/dist/selectable/link.d.ts.map +1 -1
- package/dist/selectable/link.js +6 -6
- package/dist/selectable/link.js.map +1 -1
- package/dist/selectable/one-to-many-link.d.ts +5 -4
- package/dist/selectable/one-to-many-link.d.ts.map +1 -1
- package/dist/selectable/one-to-many-link.js.map +1 -1
- package/dist/selectable/one-to-one-link.d.ts +4 -3
- package/dist/selectable/one-to-one-link.d.ts.map +1 -1
- package/dist/selectable/one-to-one-link.js.map +1 -1
- package/dist/selectable/orderable-edm-type-field.d.ts +6 -5
- package/dist/selectable/orderable-edm-type-field.d.ts.map +1 -1
- package/dist/selectable/orderable-edm-type-field.js.map +1 -1
- package/dist/selectable/selectable.d.ts +2 -1
- package/dist/selectable/selectable.d.ts.map +1 -1
- package/dist/selectable/simple-type-fields.d.ts +1 -1
- package/dist/selectable/simple-type-fields.d.ts.map +1 -1
- package/dist/uri-conversion/get-filter.d.ts +4 -4
- package/dist/uri-conversion/get-filter.d.ts.map +1 -1
- package/dist/uri-conversion/get-filter.js +30 -32
- package/dist/uri-conversion/get-filter.js.map +1 -1
- package/dist/uri-conversion/get-keys.d.ts +4 -4
- package/dist/uri-conversion/get-keys.d.ts.map +1 -1
- package/dist/uri-conversion/get-keys.js +5 -6
- package/dist/uri-conversion/get-keys.js.map +1 -1
- package/dist/uri-conversion/get-resource-path.d.ts +4 -5
- package/dist/uri-conversion/get-resource-path.d.ts.map +1 -1
- package/dist/uri-conversion/get-resource-path.js +11 -14
- package/dist/uri-conversion/get-resource-path.js.map +1 -1
- package/dist/uri-conversion/odata-uri.d.ts +21 -21
- package/dist/uri-conversion/odata-uri.d.ts.map +1 -1
- package/dist/uri-conversion/odata-uri.js +11 -9
- package/dist/uri-conversion/odata-uri.js.map +1 -1
- package/package.json +8 -8
- package/dist/payload-value-converter.d.ts +0 -42
- package/dist/payload-value-converter.d.ts.map +0 -1
- package/dist/payload-value-converter.js +0 -139
- package/dist/payload-value-converter.js.map +0 -1
package/dist/batch-response.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DefaultDeSerializers, DeSerializers } from './de-serializers';
|
|
2
|
+
import { EntityApi, EntityBase } from './entity-base';
|
|
2
3
|
/**
|
|
3
4
|
* @internal
|
|
4
5
|
*/
|
|
5
|
-
export declare type BatchResponse = ReadResponse | WriteResponses | ErrorResponse;
|
|
6
|
+
export declare type BatchResponse<DeSerializersT extends DeSerializers = DefaultDeSerializers> = ReadResponse<DeSerializersT> | WriteResponses<DeSerializersT> | ErrorResponse;
|
|
6
7
|
/**
|
|
7
8
|
* @internal
|
|
8
9
|
*/
|
|
9
|
-
export interface WriteResponses {
|
|
10
|
-
responses: WriteResponse[];
|
|
10
|
+
export interface WriteResponses<DeSerializersT extends DeSerializers = DefaultDeSerializers> {
|
|
11
|
+
responses: WriteResponse<DeSerializersT>[];
|
|
11
12
|
isSuccess: () => boolean;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
@@ -21,20 +22,20 @@ export interface ErrorResponse {
|
|
|
21
22
|
/**
|
|
22
23
|
* @internal
|
|
23
24
|
*/
|
|
24
|
-
export interface ReadResponse {
|
|
25
|
+
export interface ReadResponse<DeSerializersT extends DeSerializers = DefaultDeSerializers> {
|
|
25
26
|
httpCode: number;
|
|
26
27
|
body: Record<string, any>;
|
|
27
|
-
type:
|
|
28
|
-
as: <
|
|
28
|
+
type: EntityApi<EntityBase, DeSerializersT>;
|
|
29
|
+
as: <EntityT extends EntityBase>(entityApi: EntityApi<EntityT, DeSerializersT>) => EntityT[];
|
|
29
30
|
isSuccess: () => boolean;
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
32
33
|
* @internal
|
|
33
34
|
*/
|
|
34
|
-
export interface WriteResponse {
|
|
35
|
+
export interface WriteResponse<DeSerializersT extends DeSerializers> {
|
|
35
36
|
httpCode: number;
|
|
36
37
|
body?: Record<string, any>;
|
|
37
|
-
type?:
|
|
38
|
-
as?: <
|
|
38
|
+
type?: EntityApi<EntityBase, DeSerializersT>;
|
|
39
|
+
as?: <EntityT extends EntityBase>(entityApi: EntityApi<EntityT, DeSerializersT>) => EntityT;
|
|
39
40
|
}
|
|
40
41
|
//# sourceMappingURL=batch-response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-response.d.ts","sourceRoot":"","sources":["../src/batch-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-response.d.ts","sourceRoot":"","sources":["../src/batch-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD;;GAEG;AACH,oBAAY,aAAa,CACvB,cAAc,SAAS,aAAa,GAAG,oBAAoB,IAEzD,YAAY,CAAC,cAAc,CAAC,GAC5B,cAAc,CAAC,cAAc,CAAC,GAC9B,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,cAAc,SAAS,aAAa,GAAG,oBAAoB;IAE3D,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;IAC3C,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AACD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AACD;;GAEG;AACH,MAAM,WAAW,YAAY,CAC3B,cAAc,SAAS,aAAa,GAAG,oBAAoB;IAE3D,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC5C,EAAE,EAAE,CAAC,OAAO,SAAS,UAAU,EAC7B,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,KAC1C,OAAO,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,cAAc,SAAS,aAAa;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7C,EAAE,CAAC,EAAE,CAAC,OAAO,SAAS,UAAU,EAC9B,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,KAC1C,OAAO,CAAC;CACd"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { DeserializedType, DeSerializer, DeSerializers } from './de-serializers';
|
|
2
3
|
import { DefaultDeSerializers } from './default-de-serializers';
|
|
3
4
|
/**
|
|
4
5
|
* @internal
|
|
@@ -9,4 +10,17 @@ import { DefaultDeSerializers } from './default-de-serializers';
|
|
|
9
10
|
* @typeparam EdmT - The EDM type to infer the type for.
|
|
10
11
|
*/
|
|
11
12
|
export declare type CustomOrDefaultType<CustomDeSerializerT, EdmT, DefaultDeSerializersT extends DefaultDeSerializers> = EdmT extends keyof CustomDeSerializerT ? CustomDeSerializerT[EdmT] extends DeSerializer<infer CustomT> | undefined ? CustomT : DeserializedType<DefaultDeSerializersT, EdmT> : DeserializedType<DefaultDeSerializersT, EdmT>;
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
* Get a complete set of (de-)serializers, that consists of the given partial custom (de-)serializers and default (de-)serializers (aka. default (de-)serializers merged with custom (de-)serializers).
|
|
16
|
+
* The custom (de-)serializers are merged with the default (de-)serializers, while custom (de-)serializers take precedence.
|
|
17
|
+
* @param customDeSerializers - Custom (de-)serialization functions.
|
|
18
|
+
* @returns A full set of (de-)serialization functions, that combines custom and default (de-)serializers.
|
|
19
|
+
*/
|
|
20
|
+
export declare function mergeDefaultDeSerializersWith<BinaryT = string, BooleanT = boolean, ByteT = number, DecimalT = BigNumber, DoubleT = number, FloatT = number, Int16T = number, Int32T = number, Int64T = BigNumber, GuidT = string, SByteT = number, SingleT = number, StringT = string, AnyT = any>(customDeSerializers: Partial<DeSerializers<BinaryT, BooleanT, ByteT, DecimalT, DoubleT, FloatT, Int16T, Int32T, Int64T, GuidT, SByteT, SingleT, StringT, AnyT>>): CustomDeSerializers<typeof customDeSerializers>;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
* Type of the full set of (de-)serialization functions, that include custom (de-)serializers (aka. default (de-)serializers type merged with custom (de-)serializers type).
|
|
24
|
+
*/
|
|
25
|
+
export declare type CustomDeSerializers<T> = DeSerializers<CustomOrDefaultType<T, 'Edm.Binary', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Boolean', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Byte', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Decimal', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Double', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Float', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Int16', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Int32', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Int64', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Guid', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.SByte', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Single', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.String', DefaultDeSerializers>, CustomOrDefaultType<T, 'Edm.Any', DefaultDeSerializers>>;
|
|
12
26
|
//# sourceMappingURL=custom-de-serializers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-de-serializers.d.ts","sourceRoot":"","sources":["../../src/de-serializers/custom-de-serializers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"custom-de-serializers.d.ts","sourceRoot":"","sources":["../../src/de-serializers/custom-de-serializers.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,oBAAY,mBAAmB,CAC7B,mBAAmB,EACnB,IAAI,EACJ,qBAAqB,SAAS,oBAAoB,IAChD,IAAI,SAAS,MAAM,mBAAmB,GACtC,mBAAmB,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS,GACvE,OAAO,GACP,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAC/C,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,GAAG,MAAM,EAChB,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,MAAM,EACd,QAAQ,GAAG,SAAS,EACpB,OAAO,GAAG,MAAM,EAChB,MAAM,GAAG,MAAM,EACf,MAAM,GAAG,MAAM,EACf,MAAM,GAAG,MAAM,EACf,MAAM,GAAG,SAAS,EAClB,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,MAAM,EAChB,OAAO,GAAG,MAAM,EAChB,IAAI,GAAG,GAAG,EAEV,mBAAmB,EAAE,OAAO,CAC1B,aAAa,CACX,OAAO,EACP,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,CACL,CACF,GACA,mBAAmB,CAAC,OAAO,mBAAmB,CAAC,CAKjD;AAED;;;GAGG;AACH,oBAAY,mBAAmB,CAAC,CAAC,IAAI,aAAa,CAChD,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC1D,mBAAmB,CAAC,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,EAC3D,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,EACxD,mBAAmB,CAAC,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,EAC3D,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC1D,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC,EACzD,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC,EACzD,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC,EACzD,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC,EACzD,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,EACxD,mBAAmB,CAAC,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC,EACzD,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC1D,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC1D,mBAAmB,CAAC,CAAC,EAAE,SAAS,EAAE,oBAAoB,CAAC,CACxD,CAAC"}
|
|
@@ -1,3 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergeDefaultDeSerializersWith = void 0;
|
|
4
|
+
const default_de_serializers_1 = require("./default-de-serializers");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
* Get a complete set of (de-)serializers, that consists of the given partial custom (de-)serializers and default (de-)serializers (aka. default (de-)serializers merged with custom (de-)serializers).
|
|
8
|
+
* The custom (de-)serializers are merged with the default (de-)serializers, while custom (de-)serializers take precedence.
|
|
9
|
+
* @param customDeSerializers - Custom (de-)serialization functions.
|
|
10
|
+
* @returns A full set of (de-)serialization functions, that combines custom and default (de-)serializers.
|
|
11
|
+
*/
|
|
12
|
+
function mergeDefaultDeSerializersWith(customDeSerializers) {
|
|
13
|
+
return {
|
|
14
|
+
...default_de_serializers_1.defaultDeSerializers,
|
|
15
|
+
...(customDeSerializers || {})
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.mergeDefaultDeSerializersWith = mergeDefaultDeSerializersWith;
|
|
3
19
|
//# sourceMappingURL=custom-de-serializers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-de-serializers.js","sourceRoot":"","sources":["../../src/de-serializers/custom-de-serializers.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"custom-de-serializers.js","sourceRoot":"","sources":["../../src/de-serializers/custom-de-serializers.ts"],"names":[],"mappings":";;;AAMA,qEAGkC;AAoBlC;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAgB3C,mBAiBC;IAED,OAAO;QACL,GAAI,6CAA4B;QAChC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;KAC/B,CAAC;AACJ,CAAC;AAvCD,sEAuCC"}
|
|
@@ -48,9 +48,25 @@ export interface DeSerializer<DeserializedT> {
|
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* @internal
|
|
51
|
-
* Infers the deserialized type for an EDM type from the given
|
|
52
|
-
* @typeparam DeSerializersT - Type of the
|
|
51
|
+
* Infers the deserialized type for an EDM type from the given (de-)serializers type.
|
|
52
|
+
* @typeparam DeSerializersT - Type of the (de-)serializers.
|
|
53
53
|
* @typeparam EdmT - Return type of the deserialize function for the given EDM type.
|
|
54
54
|
*/
|
|
55
|
-
export declare type DeserializedType<DeSerializersT extends DeSerializers, EdmT> = EdmT extends keyof DeSerializersT ? DeSerializersT[EdmT] extends DeSerializer<infer DeserializedT> ? DeserializedT :
|
|
55
|
+
export declare type DeserializedType<DeSerializersT extends DeSerializers, EdmT> = EdmT extends keyof DeSerializersT ? DeSerializersT[EdmT] extends DeSerializer<infer DeserializedT> ? DeserializedT : any : any;
|
|
56
|
+
/**
|
|
57
|
+
* @internal
|
|
58
|
+
* Creates a function to deserialize values (from EDM to their representation in code).
|
|
59
|
+
* @typeparam DeSerializersT - Type of the (de-)serializers.
|
|
60
|
+
* @param deSerializers - (De-)serializers object to use for deserialization of values.
|
|
61
|
+
* @returns A function that deserializes values with the given deserializers.
|
|
62
|
+
*/
|
|
63
|
+
export declare function createValueDeserializer<DeSerializersT extends DeSerializers>(deSerializers: DeSerializersT): <EdmT>(value: any, edmType: EdmT) => DeserializedType<DeSerializersT, EdmT>;
|
|
64
|
+
/**
|
|
65
|
+
* @internal
|
|
66
|
+
* Creates a function to serialize values (from their representation in code to EDM).
|
|
67
|
+
* @typeparam DeSerializersT - Type of the (de-)serializers.
|
|
68
|
+
* @param deSerializers - (De-)serializers object to use for deserialization of values.
|
|
69
|
+
* @returns A function that serializes values with the given serializers.
|
|
70
|
+
*/
|
|
71
|
+
export declare function createValueSerializer<DeSerializersT extends DeSerializers>(deSerializers: DeSerializersT): <EdmT>(value: any, edmType: EdmT) => any;
|
|
56
72
|
//# sourceMappingURL=de-serializers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-serializers.d.ts","sourceRoot":"","sources":["../../src/de-serializers/de-serializers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa,CAC5B,OAAO,GAAG,GAAG,EACb,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"de-serializers.d.ts","sourceRoot":"","sources":["../../src/de-serializers/de-serializers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa,CAC5B,OAAO,GAAG,GAAG,EACb,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,GAAG,EAKX,QAAQ,GAAG,GAAG,EACd,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,GAAG,EACZ,MAAM,GAAG,GAAG,EACZ,MAAM,GAAG,GAAG,EACZ,MAAM,GAAG,GAAG,EACZ,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,GAAG,EACZ,OAAO,GAAG,GAAG,EACb,OAAO,GAAG,GAAG,EACb,IAAI,GAAG,GAAG;IAEV,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAChC,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAChC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;CAE/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY,CAAC,aAAa;IACzC;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,aAAa,CAAC;IAE3C;;;;OAIG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC;IAEzC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,KAChD,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,oBAAY,gBAAgB,CAC1B,cAAc,SAAS,aAAa,EACpC,IAAI,IACF,IAAI,SAAS,MAAM,cAAc,GACjC,cAAc,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,MAAM,aAAa,CAAC,GAC5D,aAAa,GACb,GAAG,GACL,GAAG,CAAC;AAER;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,SAAS,aAAa,EAC1E,aAAa,EAAE,cAAc,GAC5B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAK7E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,SAAS,aAAa,EACxE,aAAa,EAAE,cAAc,GAC5B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,GAAG,CAK1C"}
|
|
@@ -1,3 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createValueSerializer = exports.createValueDeserializer = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
* Creates a function to deserialize values (from EDM to their representation in code).
|
|
7
|
+
* @typeparam DeSerializersT - Type of the (de-)serializers.
|
|
8
|
+
* @param deSerializers - (De-)serializers object to use for deserialization of values.
|
|
9
|
+
* @returns A function that deserializes values with the given deserializers.
|
|
10
|
+
*/
|
|
11
|
+
function createValueDeserializer(deSerializers) {
|
|
12
|
+
return (value, edmType) => {
|
|
13
|
+
var _a;
|
|
14
|
+
const deserialize = (_a = deSerializers[edmType]) === null || _a === void 0 ? void 0 : _a.deserialize;
|
|
15
|
+
return deserialize ? deserialize(value) : value;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.createValueDeserializer = createValueDeserializer;
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
* Creates a function to serialize values (from their representation in code to EDM).
|
|
22
|
+
* @typeparam DeSerializersT - Type of the (de-)serializers.
|
|
23
|
+
* @param deSerializers - (De-)serializers object to use for deserialization of values.
|
|
24
|
+
* @returns A function that serializes values with the given serializers.
|
|
25
|
+
*/
|
|
26
|
+
function createValueSerializer(deSerializers) {
|
|
27
|
+
return (value, edmType) => {
|
|
28
|
+
var _a;
|
|
29
|
+
const serialize = (_a = deSerializers[edmType]) === null || _a === void 0 ? void 0 : _a.serialize;
|
|
30
|
+
return serialize ? serialize(value) : value;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.createValueSerializer = createValueSerializer;
|
|
3
34
|
//# sourceMappingURL=de-serializers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-serializers.js","sourceRoot":"","sources":["../../src/de-serializers/de-serializers.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"de-serializers.js","sourceRoot":"","sources":["../../src/de-serializers/de-serializers.ts"],"names":[],"mappings":";;;AA0FA;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,aAA6B;IAE7B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;;QACxB,MAAM,WAAW,GAAG,MAAA,aAAa,CAAC,OAAc,CAAC,0CAAE,WAAW,CAAC;QAC/D,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC;AAPD,0DAOC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,aAA6B;IAE7B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;;QACxB,MAAM,SAAS,GAAG,MAAA,aAAa,CAAC,OAAc,CAAC,0CAAE,SAAS,CAAC;QAC3D,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC;AACJ,CAAC;AAPD,sDAOC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import {
|
|
2
|
+
import { DeSerializers } from './de-serializers';
|
|
3
3
|
/**
|
|
4
4
|
* @internal
|
|
5
5
|
* Type of the default (de-)serializers.
|
|
@@ -12,16 +12,14 @@ export declare type DefaultDeSerializers = DeSerializers<string, boolean, number
|
|
|
12
12
|
export declare const defaultDeSerializersRaw: DefaultDeSerializers;
|
|
13
13
|
/**
|
|
14
14
|
* @internal
|
|
15
|
-
* Wraps the given default serialization
|
|
16
|
-
* @param
|
|
17
|
-
* @returns The wrapped
|
|
15
|
+
* Wraps the given default (de-)serialization functions with a check for nullish values.
|
|
16
|
+
* @param deSerializers - (De-)Serializers to wrap.
|
|
17
|
+
* @returns The wrapped (de-)serializers.
|
|
18
18
|
*/
|
|
19
|
-
export declare function
|
|
19
|
+
export declare function wrapDefaultDeSerializers<DeSerializersT extends DeSerializers>(deSerializers: DeSerializersT): DeSerializersT;
|
|
20
20
|
/**
|
|
21
21
|
* @internal
|
|
22
|
-
*
|
|
23
|
-
* @param deserialize - Deserialization function to wrap.
|
|
24
|
-
* @returns The wrapped deserialization function.
|
|
22
|
+
* Default (de-)serializers without `null` and `undefined` handling.
|
|
25
23
|
*/
|
|
26
|
-
export declare
|
|
24
|
+
export declare const defaultDeSerializers: DefaultDeSerializers;
|
|
27
25
|
//# sourceMappingURL=default-de-serializers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-de-serializers.d.ts","sourceRoot":"","sources":["../../src/de-serializers/default-de-serializers.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"default-de-serializers.d.ts","sourceRoot":"","sources":["../../src/de-serializers/default-de-serializers.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAgB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAU/D;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,aAAa,CAC9C,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,GAAG,CACJ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,oBAgFrC,CAAC;AAwCF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,SAAS,aAAa,EAC3E,aAAa,EAAE,cAAc,GAC5B,cAAc,CAYhB;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sBAEhC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.defaultDeSerializers = exports.wrapDefaultDeSerializers = exports.defaultDeSerializersRaw = void 0;
|
|
4
4
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
5
|
const payload_value_converter_1 = require("./payload-value-converter");
|
|
6
6
|
const uri_value_converter_1 = require("./uri-value-converter");
|
|
@@ -89,12 +89,11 @@ exports.defaultDeSerializersRaw = {
|
|
|
89
89
|
}
|
|
90
90
|
};
|
|
91
91
|
/**
|
|
92
|
-
* @internal
|
|
93
92
|
* Wraps the given default serialization function with a check for null values.
|
|
94
93
|
* @param serialize - Serialization function to wrap.
|
|
95
94
|
* @returns The wrapped serialization function.
|
|
96
95
|
*/
|
|
97
|
-
function
|
|
96
|
+
function wrapDefaultSerializer(serialize) {
|
|
98
97
|
return function (value) {
|
|
99
98
|
if (value === null) {
|
|
100
99
|
return 'null';
|
|
@@ -105,14 +104,12 @@ function wrapDefaultSerialization(serialize) {
|
|
|
105
104
|
return value;
|
|
106
105
|
};
|
|
107
106
|
}
|
|
108
|
-
exports.wrapDefaultSerialization = wrapDefaultSerialization;
|
|
109
107
|
/**
|
|
110
|
-
*
|
|
111
|
-
* Wraps the given default deserialization function with a check for null values.
|
|
108
|
+
* Wraps the given default deserialization function with a check for nullish values.
|
|
112
109
|
* @param deserialize - Deserialization function to wrap.
|
|
113
110
|
* @returns The wrapped deserialization function.
|
|
114
111
|
*/
|
|
115
|
-
function
|
|
112
|
+
function wrapDefaultDeserializer(deserialize) {
|
|
116
113
|
return function (value) {
|
|
117
114
|
if ((0, util_1.isNullish)(value)) {
|
|
118
115
|
return value;
|
|
@@ -123,5 +120,26 @@ function wrapDefaultDeserialization(deserialize) {
|
|
|
123
120
|
return value;
|
|
124
121
|
};
|
|
125
122
|
}
|
|
126
|
-
|
|
123
|
+
/**
|
|
124
|
+
* @internal
|
|
125
|
+
* Wraps the given default (de-)serialization functions with a check for nullish values.
|
|
126
|
+
* @param deSerializers - (De-)Serializers to wrap.
|
|
127
|
+
* @returns The wrapped (de-)serializers.
|
|
128
|
+
*/
|
|
129
|
+
function wrapDefaultDeSerializers(deSerializers) {
|
|
130
|
+
return Object.entries(deSerializers).reduce((entries, [edmType, { deserialize, serialize, serializeToUri }]) => ({
|
|
131
|
+
...entries,
|
|
132
|
+
[edmType]: {
|
|
133
|
+
deserialize: wrapDefaultDeserializer(deserialize),
|
|
134
|
+
serialize: wrapDefaultSerializer(serialize),
|
|
135
|
+
serializeToUri
|
|
136
|
+
}
|
|
137
|
+
}), {});
|
|
138
|
+
}
|
|
139
|
+
exports.wrapDefaultDeSerializers = wrapDefaultDeSerializers;
|
|
140
|
+
/**
|
|
141
|
+
* @internal
|
|
142
|
+
* Default (de-)serializers without `null` and `undefined` handling.
|
|
143
|
+
*/
|
|
144
|
+
exports.defaultDeSerializers = wrapDefaultDeSerializers(exports.defaultDeSerializersRaw);
|
|
127
145
|
//# sourceMappingURL=default-de-serializers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-de-serializers.js","sourceRoot":"","sources":["../../src/de-serializers/default-de-serializers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"default-de-serializers.js","sourceRoot":"","sources":["../../src/de-serializers/default-de-serializers.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,7 @@ export declare function convertToUriForEdmString(value: any): string;
|
|
|
11
11
|
/**
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
|
-
export
|
|
15
|
-
convertToUriFormat: (value: any, edmType: EdmTypeShared<'any'>) => string;
|
|
16
|
-
}
|
|
14
|
+
export declare type UriConverter = (value: any, edmType: EdmTypeShared<'any'>) => string;
|
|
17
15
|
/**
|
|
18
16
|
* @internal
|
|
19
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri-value-converter.d.ts","sourceRoot":"","sources":["../../src/de-serializers/uri-value-converter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAK1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"uri-value-converter.d.ts","sourceRoot":"","sources":["../../src/de-serializers/uri-value-converter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAK1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,oBAAY,YAAY,GAAG,CACzB,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,KAC1B,MAAM,CAAC;AAEZ;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,aAAa,GAAG,YAAY,CAK7E"}
|
|
@@ -23,13 +23,9 @@ exports.convertToUriForEdmString = convertToUriForEdmString;
|
|
|
23
23
|
* @internal
|
|
24
24
|
*/
|
|
25
25
|
function createUriConverter(deSerializers) {
|
|
26
|
-
return {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return serializeToUri
|
|
30
|
-
? serializeToUri(value, serialize)
|
|
31
|
-
: serialize(value);
|
|
32
|
-
}
|
|
26
|
+
return (value, edmType) => {
|
|
27
|
+
const { serializeToUri, serialize } = deSerializers[edmType];
|
|
28
|
+
return serializeToUri ? serializeToUri(value, serialize) : serialize(value);
|
|
33
29
|
};
|
|
34
30
|
}
|
|
35
31
|
exports.createUriConverter = createUriConverter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri-value-converter.js","sourceRoot":"","sources":["../../src/de-serializers/uri-value-converter.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;AAKhC;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAsB;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC;AALD,gCAKC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAU;IACjD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC;AAFD,4DAEC;
|
|
1
|
+
{"version":3,"file":"uri-value-converter.js","sourceRoot":"","sources":["../../src/de-serializers/uri-value-converter.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;AAKhC;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAsB;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC;AALD,gCAKC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAU;IACjD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC;AAFD,4DAEC;AAUD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,aAA4B;IAC7D,OAAO,CAAC,KAAU,EAAE,OAA6B,EAAU,EAAE;QAC3D,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC,CAAC;AACJ,CAAC;AALD,gDAKC"}
|
package/dist/entity-base.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EntityBuilder } from './entity-builder';
|
|
2
|
-
import type { Field, Link
|
|
2
|
+
import type { CustomField, Field, Link } from './selectable';
|
|
3
3
|
import type { RequestBuilder } from './request-builder';
|
|
4
|
+
import { DefaultDeSerializers, DeSerializers } from './de-serializers';
|
|
4
5
|
/**
|
|
5
6
|
* @internal
|
|
6
7
|
*/
|
|
@@ -8,35 +9,43 @@ export declare type ODataVersionOf<T extends EntityBase> = T['_oDataVersion'];
|
|
|
8
9
|
/**
|
|
9
10
|
* @internal
|
|
10
11
|
*/
|
|
11
|
-
export interface Constructable<EntityT extends EntityBase
|
|
12
|
-
_serviceName: string;
|
|
12
|
+
export interface Constructable<EntityT extends EntityBase> {
|
|
13
13
|
_entityName: string;
|
|
14
14
|
_defaultServicePath: string;
|
|
15
|
-
|
|
16
|
-
_keyFields: Field<EntityT, boolean, boolean>[];
|
|
17
|
-
_keys: {
|
|
18
|
-
[keys: string]: Field<EntityT, boolean, boolean>;
|
|
19
|
-
};
|
|
15
|
+
_keys: string[];
|
|
20
16
|
new (...args: any[]): EntityT;
|
|
21
|
-
requestBuilder(): RequestBuilder<EntityT>;
|
|
22
|
-
builder(): EntityBuilderType<EntityT, EntityTypeT>;
|
|
23
|
-
customField(fieldName: string, isNullable?: boolean): CustomField<EntityT, boolean>;
|
|
24
17
|
}
|
|
25
18
|
/**
|
|
26
19
|
* @internal
|
|
20
|
+
* Represents the API of an entity, including its request and entity builders as well as its schema.
|
|
21
|
+
* @typeparam EntityT - Type of the entity.
|
|
22
|
+
* @typeparam DeSerializersT - Type of the (de-)serializers.
|
|
23
|
+
* @typeparam JsonT - Type of the entity without methods.
|
|
24
|
+
*/
|
|
25
|
+
export interface EntityApi<EntityT extends EntityBase, DeSerializersT extends DeSerializers = DefaultDeSerializers> {
|
|
26
|
+
deSerializers: DeSerializersT;
|
|
27
|
+
requestBuilder(): RequestBuilder<EntityT, DeSerializersT>;
|
|
28
|
+
entityBuilder(): EntityBuilderType<EntityT, DeSerializersT>;
|
|
29
|
+
entityConstructor: Constructable<EntityT>;
|
|
30
|
+
schema: Record<string, any>;
|
|
31
|
+
customField<NullableT extends boolean>(fieldName: string): CustomField<EntityT, DeSerializersT, NullableT>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
* Entity builder type with check for EntityT.
|
|
27
36
|
*/
|
|
28
|
-
export declare type EntityBuilderType<EntityT extends EntityBase,
|
|
29
|
-
[property in keyof Required<
|
|
30
|
-
} & EntityBuilder<EntityT,
|
|
37
|
+
export declare type EntityBuilderType<EntityT extends EntityBase, DeSerializersT extends DeSerializers> = {
|
|
38
|
+
[property in keyof Required<Omit<EntityT, keyof EntityBase>>]: (value: EntityT[property]) => EntityBuilderType<EntityT, DeSerializersT>;
|
|
39
|
+
} & EntityBuilder<EntityT, DeSerializersT>;
|
|
31
40
|
/**
|
|
32
41
|
* Super class for all representations of OData entity types.
|
|
33
42
|
* @internal
|
|
34
43
|
*/
|
|
35
44
|
export declare abstract class EntityBase {
|
|
45
|
+
private schema;
|
|
36
46
|
static _serviceName: string;
|
|
37
47
|
static _entityName: string;
|
|
38
48
|
static _defaultServicePath: string;
|
|
39
|
-
protected static entityBuilder<EntityT extends EntityBase, EntityTypeT>(entityConstructor: Constructable<EntityT, EntityTypeT>): EntityBuilderType<EntityT, EntityTypeT>;
|
|
40
49
|
/**
|
|
41
50
|
* The remote state of the entity.
|
|
42
51
|
* Remote state refers to the last known state of the entity on the remote system from which it has been retrieved or to which it has been posted.
|
|
@@ -58,7 +67,7 @@ export declare abstract class EntityBase {
|
|
|
58
67
|
*/
|
|
59
68
|
protected _customFields: Record<string, any>;
|
|
60
69
|
abstract readonly _oDataVersion: any;
|
|
61
|
-
constructor();
|
|
70
|
+
constructor(schema: Record<string, any>);
|
|
62
71
|
/**
|
|
63
72
|
* ETag version identifier accessor.
|
|
64
73
|
* @returns The ETag version identifier of the retrieved entity, returns `undefined` if not retrieved.
|
|
@@ -102,7 +111,6 @@ export declare abstract class EntityBase {
|
|
|
102
111
|
*/
|
|
103
112
|
setVersionIdentifier(etag: string | undefined): this;
|
|
104
113
|
/**
|
|
105
|
-
* @deprecated Since 1.12.0. Will be hidden in version 2.0.
|
|
106
114
|
* Initializes or sets the remoteState of the entity.
|
|
107
115
|
* This function is called on all read, create and update requests.
|
|
108
116
|
* This function should be called after [[initializeCustomFields]], if custom fields are defined.
|
|
@@ -154,20 +162,24 @@ export declare abstract class EntityBase {
|
|
|
154
162
|
/**
|
|
155
163
|
* @internal
|
|
156
164
|
*/
|
|
157
|
-
export interface EntityIdentifiable<T extends EntityBase> {
|
|
158
|
-
readonly _entityConstructor: Constructable<T>;
|
|
165
|
+
export interface EntityIdentifiable<T extends EntityBase, DeSerializersT extends DeSerializers> {
|
|
159
166
|
readonly _entity: T;
|
|
167
|
+
readonly _deSerializers: DeSerializersT;
|
|
160
168
|
}
|
|
161
169
|
/**
|
|
162
170
|
* @internal
|
|
163
171
|
*/
|
|
164
|
-
export declare function isSelectedProperty<EntityT extends EntityBase>(json: any, field: Field<EntityT> | Link<EntityT>): boolean;
|
|
172
|
+
export declare function isSelectedProperty<EntityT extends EntityBase, DeSerializersT extends DeSerializers>(json: any, field: Field<EntityT> | Link<EntityT, DeSerializersT>): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* @internal
|
|
175
|
+
*/
|
|
176
|
+
export declare function isExistentProperty<EntityT extends EntityBase, DeSerializersT extends DeSerializers, LinkedEntityT extends EntityBase>(json: any, link: Link<EntityT, DeSerializersT, LinkedEntityT>): boolean;
|
|
165
177
|
/**
|
|
166
178
|
* @internal
|
|
167
179
|
*/
|
|
168
|
-
export declare function
|
|
180
|
+
export declare function isExpandedProperty<EntityT extends EntityBase, DeSerializersT extends DeSerializers, LinkedEntityT extends EntityBase>(json: any, link: Link<EntityT, DeSerializersT, LinkedEntityT>): boolean;
|
|
169
181
|
/**
|
|
170
182
|
* @internal
|
|
171
183
|
*/
|
|
172
|
-
export declare function
|
|
184
|
+
export declare function entityBuilder<EntityT extends EntityBase, DeSerializersT extends DeSerializers>(entityApi: EntityApi<EntityT, DeSerializersT>): EntityBuilderType<EntityT, DeSerializersT>;
|
|
173
185
|
//# sourceMappingURL=entity-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-base.d.ts","sourceRoot":"","sources":["../src/entity-base.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"entity-base.d.ts","sourceRoot":"","sources":["../src/entity-base.ts"],"names":[],"mappings":"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"}
|
package/dist/entity-base.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable max-classes-per-file */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.isExpandedProperty = exports.isExistentProperty = exports.isSelectedProperty = exports.EntityBase = void 0;
|
|
4
|
+
exports.entityBuilder = exports.isExpandedProperty = exports.isExistentProperty = exports.isSelectedProperty = exports.EntityBase = void 0;
|
|
5
5
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
6
6
|
const entity_builder_1 = require("./entity-builder");
|
|
7
7
|
const properties_util_1 = require("./properties-util");
|
|
@@ -10,22 +10,13 @@ const properties_util_1 = require("./properties-util");
|
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
12
12
|
class EntityBase {
|
|
13
|
-
constructor() {
|
|
13
|
+
constructor(schema) {
|
|
14
|
+
this.schema = schema;
|
|
15
|
+
(0, properties_util_1.nonEnumerable)(this, 'schema');
|
|
14
16
|
(0, properties_util_1.nonEnumerable)(this, '_oDataVersion');
|
|
15
17
|
(0, properties_util_1.nonEnumerable)(this, '_customFields');
|
|
16
18
|
this._customFields = {};
|
|
17
19
|
}
|
|
18
|
-
static entityBuilder(entityConstructor) {
|
|
19
|
-
const builder = new entity_builder_1.EntityBuilder(entityConstructor);
|
|
20
|
-
entityConstructor._allFields.forEach(field => {
|
|
21
|
-
const fieldName = `${(0, util_1.camelCase)(field._fieldName)}`;
|
|
22
|
-
builder[fieldName] = function (value) {
|
|
23
|
-
this.entity[fieldName] = value;
|
|
24
|
-
return this;
|
|
25
|
-
};
|
|
26
|
-
});
|
|
27
|
-
return builder;
|
|
28
|
-
}
|
|
29
20
|
/**
|
|
30
21
|
* ETag version identifier accessor.
|
|
31
22
|
* @returns The ETag version identifier of the retrieved entity, returns `undefined` if not retrieved.
|
|
@@ -94,7 +85,6 @@ class EntityBase {
|
|
|
94
85
|
return this;
|
|
95
86
|
}
|
|
96
87
|
/**
|
|
97
|
-
* @deprecated Since 1.12.0. Will be hidden in version 2.0.
|
|
98
88
|
* Initializes or sets the remoteState of the entity.
|
|
99
89
|
* This function is called on all read, create and update requests.
|
|
100
90
|
* This function should be called after [[initializeCustomFields]], if custom fields are defined.
|
|
@@ -165,7 +155,7 @@ class EntityBase {
|
|
|
165
155
|
: visitedEntities.includes(entity);
|
|
166
156
|
}
|
|
167
157
|
getCurrentStateForKey(key, visitedEntities = []) {
|
|
168
|
-
if ((0, properties_util_1.isNavigationProperty)(key, this.
|
|
158
|
+
if ((0, properties_util_1.isNavigationProperty)(key, this.schema)) {
|
|
169
159
|
if ((0, util_1.isNullish)(this[key])) {
|
|
170
160
|
return this[key];
|
|
171
161
|
}
|
|
@@ -181,8 +171,8 @@ class EntityBase {
|
|
|
181
171
|
* @returns Boolean value that describes whether a field name can be defined as custom field
|
|
182
172
|
*/
|
|
183
173
|
isConflictingCustomField(customFieldName) {
|
|
184
|
-
return this.
|
|
185
|
-
.map(f => f._fieldName)
|
|
174
|
+
return Object.values(this.schema)
|
|
175
|
+
.map((f) => f._fieldName)
|
|
186
176
|
.includes(customFieldName);
|
|
187
177
|
}
|
|
188
178
|
/**
|
|
@@ -192,9 +182,10 @@ class EntityBase {
|
|
|
192
182
|
*/
|
|
193
183
|
asObject(visitedEntities = []) {
|
|
194
184
|
visitedEntities.push(this);
|
|
185
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
195
186
|
return Object.keys(this)
|
|
196
187
|
.filter(key => this.propertyIsEnumerable(key) &&
|
|
197
|
-
(!(0, properties_util_1.isNavigationProperty)(key, this.
|
|
188
|
+
(!(0, properties_util_1.isNavigationProperty)(key, this.schema) ||
|
|
198
189
|
!this.isVisitedEntity(this[key], visitedEntities)))
|
|
199
190
|
.reduce((accumulatedMap, key) => ({
|
|
200
191
|
...accumulatedMap,
|
|
@@ -226,4 +217,19 @@ function isExpandedProperty(json, link) {
|
|
|
226
217
|
!json[link._fieldName].hasOwnProperty('__deferred'));
|
|
227
218
|
}
|
|
228
219
|
exports.isExpandedProperty = isExpandedProperty;
|
|
220
|
+
/**
|
|
221
|
+
* @internal
|
|
222
|
+
*/
|
|
223
|
+
function entityBuilder(entityApi) {
|
|
224
|
+
const builder = new entity_builder_1.EntityBuilder(entityApi);
|
|
225
|
+
Object.values(entityApi.schema).forEach(field => {
|
|
226
|
+
const fieldName = `${(0, util_1.camelCase)(field._fieldName)}`;
|
|
227
|
+
builder[fieldName] = function (value) {
|
|
228
|
+
this.entity[fieldName] = value;
|
|
229
|
+
return this;
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
return builder;
|
|
233
|
+
}
|
|
234
|
+
exports.entityBuilder = entityBuilder;
|
|
229
235
|
//# sourceMappingURL=entity-base.js.map
|