@sap-cloud-sdk/odata-common 2.0.0-beta.0 → 2.0.0-beta.1-20220107142008.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/entity-base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-base.js","sourceRoot":"","sources":["../src/entity-base.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,8CAAkE;AAClE,qDAAiD;AACjD,uDAAwE;
|
|
1
|
+
{"version":3,"file":"entity-base.js","sourceRoot":"","sources":["../src/entity-base.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,8CAAkE;AAClE,qDAAiD;AACjD,uDAAwE;AAsDxE;;;GAGG;AACH,MAAsB,UAAU;IA4B9B,YAAoB,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;QAC7C,IAAA,+BAAa,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAA,+BAAa,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACrC,IAAA,+BAAa,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,SAAiB,EAAE,KAAU;QAC1C,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CACb,mBAAmB,SAAS,uEAAuE,CACpG,CAAC;SACH;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAiC;QAC/C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,IAAwB;QAC3C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,IAAA,+BAAa,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,KAA2B;QACpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAA,+BAAa,EAAC,IAAI,EAAE,aAAa,CAAC,CAAC;SACpC;QACD,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAC7C,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE;YAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAA,gBAAS,EAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC,CAAC,IAAA,gBAAS,EAAC,SAAS,CAAC;gBACtB,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;QACnD,CAAC,EACD,EAAE,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC;aACrE,MAAM,CACL,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,GAAG,mBAAmB;YACtB,CAAC,SAAS,CAAC,EAAE,KAAK;SACnB,CAAC,EACF,EAAE,CACH,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,oBAAoB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAC1C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EACnD,EAAE,CACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,uBAAuB;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAC5C,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CACnE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,WAAW;YACtB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAA,YAAK,EAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC;IAES,eAAe,CACvB,MAAe,EACf,kBAAgC,EAAE;QAElC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACzE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAES,qBAAqB,CAC7B,GAAW,EACX,kBAAgC,EAAE;QAElC,IAAI,IAAA,sCAAoB,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YAC1C,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;YACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACvE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SACzC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACO,wBAAwB,CAAC,eAAuB;QACxD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;aAC7B,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACO,QAAQ,CAAC,kBAAgC,EAAE;QACnD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,6DAA6D;QAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACrB,MAAM,CACL,GAAG,CAAC,EAAE,CACJ,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAC9B,CAAC,CAAC,IAAA,sCAAoB,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC,CACvD;aACA,MAAM,CACL,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,GAAG,cAAc;YACjB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,eAAe,CAAC;SACxD,CAAC,EACF,IAAI,CAAC,eAAe,EAAE,CACvB,CAAC;IACN,CAAC;CACF;AA7PD,gCA6PC;AAYD,gCAAgC;AAEhC;;GAEG;AACH,SAAgB,kBAAkB,CAGhC,IAAS,EAAE,KAAqD;IAChE,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC;AALD,gDAKC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAIhC,IAAS,EAAE,IAAkD;IAC7D,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;AAC1E,CAAC;AAND,gDAMC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAIhC,IAAS,EAAE,IAAkD;IAC7D,OAAO,CACL,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;QAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CACpD,CAAC;AACJ,CAAC;AATD,gDASC;AAED;;GAEG;AACH,SAAgB,aAAa,CAK3B,SAA6C;IAE7C,MAAM,OAAO,GAAG,IAAI,8BAAa,CAA0B,SAAS,CAAC,CAAC;IACtE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9C,MAAM,SAAS,GAAG,GAAG,IAAA,gBAAS,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,KAAK;YAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,OAAqD,CAAC;AAC/D,CAAC;AAhBD,sCAgBC"}
|
package/dist/entity-builder.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EntityApi, EntityBase } from './entity-base';
|
|
2
|
+
import { DeSerializers } from './de-serializers';
|
|
3
|
+
declare type NullishTypes = null | undefined;
|
|
4
|
+
declare type NonNullishType<T> = Exclude<T, NullishTypes>;
|
|
5
|
+
declare type PureEntityType<T> = Omit<NonNullishType<T>, keyof EntityBase>;
|
|
2
6
|
/**
|
|
3
7
|
* Type to describe possible inputs for `.fromJson`.
|
|
4
8
|
* This is based on the JSON type of an entity and allows all properties to be optional recursively.
|
|
@@ -8,15 +12,15 @@ import type { Constructable, EntityBase } from './entity-base';
|
|
|
8
12
|
declare type FromJsonType<JsonT> = {
|
|
9
13
|
[key: string]: any;
|
|
10
14
|
} & {
|
|
11
|
-
[P in keyof JsonT]?: JsonT[P] extends (infer U)[] ? U extends Record<string, any> ? FromJsonType<U>[] : JsonT[P] : JsonT[P] extends Record<string, any> | null | undefined ? FromJsonType<JsonT[P]> | null | undefined : JsonT[P];
|
|
15
|
+
[P in keyof PureEntityType<JsonT>]?: PureEntityType<JsonT>[P] extends (infer U)[] ? U extends Record<string, any> ? FromJsonType<U>[] : PureEntityType<JsonT>[P] : PureEntityType<JsonT>[P] extends Record<string, any> | null | undefined ? FromJsonType<PureEntityType<JsonT>[P]> | null | undefined : PureEntityType<JsonT>[P];
|
|
12
16
|
};
|
|
13
17
|
/**
|
|
14
18
|
* @internal
|
|
15
19
|
*/
|
|
16
|
-
export declare class EntityBuilder<EntityT extends EntityBase,
|
|
17
|
-
private
|
|
20
|
+
export declare class EntityBuilder<EntityT extends EntityBase, DeSerializersT extends DeSerializers> {
|
|
21
|
+
private _entityApi;
|
|
18
22
|
protected entity: EntityT;
|
|
19
|
-
constructor(
|
|
23
|
+
constructor(_entityApi: EntityApi<EntityT, DeSerializersT>);
|
|
20
24
|
/**
|
|
21
25
|
* Sets the custom fields for the entity.
|
|
22
26
|
* @param customFields - The custom fields you want to add.
|
|
@@ -35,7 +39,7 @@ export declare class EntityBuilder<EntityT extends EntityBase, JsonT> {
|
|
|
35
39
|
* @param json - Representation of the entity in JSON format.
|
|
36
40
|
* @returns EntityBase constructed from JSON representation.
|
|
37
41
|
*/
|
|
38
|
-
fromJson(json: FromJsonType<
|
|
42
|
+
fromJson(json: FromJsonType<EntityT>): EntityT;
|
|
39
43
|
private filterCustomFields;
|
|
40
44
|
}
|
|
41
45
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOjD,aAAK,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;AACrC,aAAK,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAElD,aAAK,cAAc,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC;AAEnE;;;;;GAKG;AAEH,aAAK,YAAY,CAAC,KAAK,IAAI;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG;KACD,CAAC,IAAI,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC7E,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,YAAY,CAAC,CAAC,CAAC,EAAE,GACjB,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAC1B,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GACrE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GACzD,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa,CACxB,OAAO,SAAS,UAAU,EAC1B,cAAc,SAAS,aAAa;IAIxB,OAAO,CAAC,UAAU;IAF9B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEN,UAAU,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAMlE;;;;OAIG;IACI,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMhE;;;OAGG;IACI,KAAK,IAAI,OAAO;IAMvB;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO;IAkCrD,OAAO,CAAC,kBAAkB;CAe3B"}
|
package/dist/entity-builder.js
CHANGED
|
@@ -11,10 +11,10 @@ const logger = (0, util_1.createLogger)({
|
|
|
11
11
|
* @internal
|
|
12
12
|
*/
|
|
13
13
|
class EntityBuilder {
|
|
14
|
-
constructor(
|
|
15
|
-
this.
|
|
14
|
+
constructor(_entityApi) {
|
|
15
|
+
this._entityApi = _entityApi;
|
|
16
16
|
if (!this.entity) {
|
|
17
|
-
this.entity = new
|
|
17
|
+
this.entity = new _entityApi.entityConstructor(_entityApi.schema);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
@@ -33,7 +33,7 @@ class EntityBuilder {
|
|
|
33
33
|
*/
|
|
34
34
|
build() {
|
|
35
35
|
const entity = this.entity;
|
|
36
|
-
this.entity = new this.
|
|
36
|
+
this.entity = new this._entityApi.entityConstructor(this._entityApi.schema);
|
|
37
37
|
return entity;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
@@ -44,12 +44,12 @@ class EntityBuilder {
|
|
|
44
44
|
* @returns EntityBase constructed from JSON representation.
|
|
45
45
|
*/
|
|
46
46
|
fromJson(json) {
|
|
47
|
-
|
|
48
|
-
const
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
48
|
+
const entityBuilder = this;
|
|
49
49
|
const [entityEntries, customEntries] = (0, util_1.partition)(Object.entries(json), ([key]) => typeof entityBuilder[key] === 'function');
|
|
50
50
|
entityEntries.forEach(([key, value]) => {
|
|
51
|
-
const propertyValue = (0, properties_util_1.isNavigationProperty)(key,
|
|
52
|
-
? buildNavigationPropertyFromJson(key, value,
|
|
51
|
+
const propertyValue = (0, properties_util_1.isNavigationProperty)(key, this._entityApi.schema) && !!value
|
|
52
|
+
? buildNavigationPropertyFromJson(key, value, this._entityApi)
|
|
53
53
|
: value;
|
|
54
54
|
entityBuilder[key](propertyValue);
|
|
55
55
|
});
|
|
@@ -65,10 +65,10 @@ class EntityBuilder {
|
|
|
65
65
|
}
|
|
66
66
|
filterCustomFields(customFields) {
|
|
67
67
|
return Object.keys(customFields).reduce((validCfs, cf) => {
|
|
68
|
-
if (!this.
|
|
68
|
+
if (!this._entityApi.schema[(0, util_1.upperCaseSnakeCase)(cf)]) {
|
|
69
69
|
validCfs[cf] = customFields[cf];
|
|
70
70
|
}
|
|
71
|
-
logger.warn(`Field name "${cf}" is already existing in "${toClassName(this.
|
|
71
|
+
logger.warn(`Field name "${cf}" is already existing in "${toClassName(this._entityApi.entityConstructor._entityName)}" and thus cannot be defined as custom field. `);
|
|
72
72
|
return validCfs;
|
|
73
73
|
}, {});
|
|
74
74
|
}
|
|
@@ -77,16 +77,17 @@ exports.EntityBuilder = EntityBuilder;
|
|
|
77
77
|
function toClassName(entityName) {
|
|
78
78
|
return entityName.substr(entityName.indexOf('_') + 1);
|
|
79
79
|
}
|
|
80
|
-
function buildNavigationPropertyFromJson(key, value,
|
|
81
|
-
const field =
|
|
82
|
-
const
|
|
80
|
+
function buildNavigationPropertyFromJson(key, value, entityApi) {
|
|
81
|
+
const field = entityApi.schema[(0, util_1.upperCaseSnakeCase)(key)];
|
|
82
|
+
const linkedEntityApi = field._linkedEntityApi;
|
|
83
83
|
return Array.isArray(value)
|
|
84
|
-
? value.map(item => buildSingleEntityFromJson(item,
|
|
85
|
-
:
|
|
84
|
+
? value.map(item => buildSingleEntityFromJson(item, linkedEntityApi))
|
|
85
|
+
: // TODO: remove type assertion?
|
|
86
|
+
buildSingleEntityFromJson(value, linkedEntityApi);
|
|
86
87
|
}
|
|
87
|
-
function buildSingleEntityFromJson(json,
|
|
88
|
-
return json instanceof
|
|
88
|
+
function buildSingleEntityFromJson(json, linkedEntityApi) {
|
|
89
|
+
return json instanceof linkedEntityApi.entityConstructor
|
|
89
90
|
? json
|
|
90
|
-
:
|
|
91
|
+
: linkedEntityApi.entityBuilder().fromJson(json);
|
|
91
92
|
}
|
|
92
93
|
//# sourceMappingURL=entity-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAC7B,uDAAyD;
|
|
1
|
+
{"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../src/entity-builder.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAC7B,uDAAyD;AAIzD,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AA0BH;;GAEG;AACH,MAAa,aAAa;IAMxB,YAAoB,UAA8C;QAA9C,eAAU,GAAV,UAAU,CAAoC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACnE;IACH,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,YAAiC;QACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,IAA2B;QACzC,4DAA4D;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC;QAE3B,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAS,EAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EACpB,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,UAAU,CACpD,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACrC,MAAM,aAAa,GACjB,IAAA,sCAAoB,EAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;gBAC1D,CAAC,CAAC,+BAA+B,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;gBAC9D,CAAC,CAAC,KAAK,CAAC;YAEZ,aAAa,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CACvC,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAChC,IAAI,GAAG,KAAK,eAAe,EAAE;gBAC3B,MAAM,CAAC,IAAI,CACT,qKAAqK,CACtK,CAAC;gBACF,OAAO,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,EAAE,CAAC;aACzC;YACD,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC,EACD,EAAE,CACH,CAAC;QACF,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE7C,OAAO,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IACO,kBAAkB,CACxB,YAAiC;QAEjC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC,EAAE;gBACnD,QAAQ,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;aACjC;YACD,MAAM,CAAC,IAAI,CACT,eAAe,EAAE,6BAA6B,WAAW,CACvD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAC9C,gDAAgD,CAClD,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;CACF;AAzFD,sCAyFC;AAED,SAAS,WAAW,CAAC,UAAkB;IACrC,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,+BAA+B,CAKtC,GAAW,EACX,KAA4B,EAC5B,SAA6C;IAE7C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAA,yBAAkB,EAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAC/C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACrE,CAAC,CAAC,+BAA+B;YAC9B,yBAAyB,CAAC,KAAK,EAAE,eAAe,CAAmB,CAAC;AAC3E,CAAC;AAED,SAAS,yBAAyB,CAIhC,IAA2B,EAC3B,eAAyD;IAEzD,OAAO,IAAI,YAAY,eAAe,CAAC,iBAAiB;QACtD,CAAC,CAAC,IAAI;QACN,CAAC,CAAE,eAAe,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAmB,CAAC;AACxE,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DeSerializers } from './de-serializers';
|
|
2
|
+
import { EntityApi, EntityBase } from './entity-base';
|
|
2
3
|
import { ComplexTypeNamespace } from './selectable';
|
|
3
4
|
/**
|
|
4
5
|
* Interface representing the return type of the builder function [[entityDeserializer]]
|
|
5
6
|
* @internal
|
|
6
7
|
*/
|
|
7
|
-
export interface EntityDeserializer
|
|
8
|
-
deserializeEntity: (json: any,
|
|
8
|
+
export interface EntityDeserializer {
|
|
9
|
+
deserializeEntity: <EntityT extends EntityBase = EntityBase>(json: any, entityApi: EntityApi<EntityT, any>, requestHeader?: any) => EntityT;
|
|
9
10
|
deserializeComplexType: (json: Record<string, any>, complexType: ComplexTypeNamespace<any>) => any;
|
|
10
11
|
}
|
|
11
12
|
declare type ExtractODataETagType = (json: Record<string, any>) => string | undefined;
|
|
@@ -13,14 +14,13 @@ declare type ExtractDataFromOneToManyLinkType = (data: any) => any[];
|
|
|
13
14
|
/**
|
|
14
15
|
* Constructs an entityDeserializer given the OData v2 or v4 specific methods.
|
|
15
16
|
* The concrete deserializers are created in odata/v2/entity-deserializer.ts and odata/v4/entity-deserializer.ts
|
|
16
|
-
* @param
|
|
17
|
+
* @param deSerializers - (De-)serializers used for transformation.
|
|
17
18
|
* @param extractODataETag - Extractor for the ETag.
|
|
18
19
|
* @param extractDataFromOneToManyLink - Extractor for data related to one to many links.
|
|
19
|
-
* @returns
|
|
20
|
+
* @returns an entity deserializer as defined by [[EntityDeserializer]]
|
|
20
21
|
* @internal
|
|
21
22
|
*/
|
|
22
|
-
export declare function entityDeserializer(
|
|
23
|
-
extractODataETag: ExtractODataETagType, extractDataFromOneToManyLink: ExtractDataFromOneToManyLinkType): EntityDeserializer;
|
|
23
|
+
export declare function entityDeserializer<T extends DeSerializers>(deSerializers: T, extractODataETag: ExtractODataETagType, extractDataFromOneToManyLink: ExtractDataFromOneToManyLinkType): EntityDeserializer;
|
|
24
24
|
/**
|
|
25
25
|
* Extract eTag from custom header ignoring case.
|
|
26
26
|
* @param headers - Headers from which the etag is extracted.
|
|
@@ -32,10 +32,10 @@ export declare function extractEtagFromHeader(headers: any): string | undefined;
|
|
|
32
32
|
* Extracts all custom fields from the JSON payload for a single entity.
|
|
33
33
|
* In this context, a custom fields is every property that is not known in the corresponding entity class.
|
|
34
34
|
* @param json - The JSON payload.
|
|
35
|
-
* @param
|
|
35
|
+
* @param schema - TODO
|
|
36
36
|
* @returns An object containing the custom fields as key-value pairs.
|
|
37
37
|
* @internal
|
|
38
38
|
*/
|
|
39
|
-
export declare function extractCustomFields<
|
|
39
|
+
export declare function extractCustomFields<JsonT>(json: Partial<JsonT>, schema: Record<string, any>): Record<string, any>;
|
|
40
40
|
export {};
|
|
41
41
|
//# sourceMappingURL=entity-deserializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-deserializer.d.ts","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"entity-deserializer.d.ts","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":"AAKA,OAAO,EAA2B,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,SAAS,EACT,UAAU,EAGX,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EAUrB,MAAM,cAAc,CAAC;AAOtB;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EACzD,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,EAClC,aAAa,CAAC,EAAE,GAAG,KAChB,OAAO,CAAC;IAEb,sBAAsB,EAAE,CACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC,KACnC,GAAG,CAAC;CACV;AAED,aAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;AAC9E,aAAK,gCAAgC,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EACxD,aAAa,EAAE,CAAC,EAChB,gBAAgB,EAAE,oBAAoB,EACtC,4BAA4B,EAAE,gCAAgC,GAC7D,kBAAkB,CAqMpB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EACvC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcrB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractCustomFields = exports.extractEtagFromHeader = exports.entityDeserializer = void 0;
|
|
4
4
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
|
+
const de_serializers_1 = require("./de-serializers");
|
|
5
6
|
const entity_base_1 = require("./entity-base");
|
|
6
7
|
const edm_types_1 = require("./edm-types");
|
|
7
8
|
const selectable_1 = require("./selectable");
|
|
@@ -12,32 +13,32 @@ const logger = (0, util_1.createLogger)({
|
|
|
12
13
|
/**
|
|
13
14
|
* Constructs an entityDeserializer given the OData v2 or v4 specific methods.
|
|
14
15
|
* The concrete deserializers are created in odata/v2/entity-deserializer.ts and odata/v4/entity-deserializer.ts
|
|
15
|
-
* @param
|
|
16
|
+
* @param deSerializers - (De-)serializers used for transformation.
|
|
16
17
|
* @param extractODataETag - Extractor for the ETag.
|
|
17
18
|
* @param extractDataFromOneToManyLink - Extractor for data related to one to many links.
|
|
18
|
-
* @returns
|
|
19
|
+
* @returns an entity deserializer as defined by [[EntityDeserializer]]
|
|
19
20
|
* @internal
|
|
20
21
|
*/
|
|
21
|
-
function entityDeserializer(
|
|
22
|
-
|
|
22
|
+
function entityDeserializer(deSerializers, extractODataETag, extractDataFromOneToManyLink) {
|
|
23
|
+
const edmToTs = (0, de_serializers_1.createValueDeserializer)(deSerializers);
|
|
23
24
|
/**
|
|
24
25
|
* Converts the JSON payload for a single entity into an instance of the corresponding generated entity class.
|
|
25
26
|
* It sets the remote state to the data provided by the JSON payload.
|
|
26
27
|
* If a version identifier is found in the '__metadata' or in the request header, the method also sets it.
|
|
27
28
|
* @param json - The JSON payload.
|
|
28
|
-
* @param
|
|
29
|
+
* @param entityApi - Entity API to deserialize for.
|
|
29
30
|
* @param requestHeader - Optional parameter which may be used to add a version identifier (ETag) to the entity
|
|
30
31
|
* @returns An instance of the entity class.
|
|
31
32
|
*/
|
|
32
|
-
function deserializeEntity(json,
|
|
33
|
+
function deserializeEntity(json, entityApi, requestHeader) {
|
|
33
34
|
const etag = extractODataETag(json) || extractEtagFromHeader(requestHeader);
|
|
34
|
-
return
|
|
35
|
+
return Object.values(entityApi.schema)
|
|
35
36
|
.filter(field => (0, entity_base_1.isSelectedProperty)(json, field))
|
|
36
37
|
.reduce((entity, staticField) => {
|
|
37
38
|
entity[(0, util_1.camelCase)(staticField._fieldName)] = getFieldValue(json, staticField);
|
|
38
39
|
return entity;
|
|
39
|
-
}, new entityConstructor())
|
|
40
|
-
.setCustomFields(extractCustomFields(json,
|
|
40
|
+
}, new entityApi.entityConstructor(entityApi.schema))
|
|
41
|
+
.setCustomFields(extractCustomFields(json, entityApi.schema))
|
|
41
42
|
.setVersionIdentifier(etag)
|
|
42
43
|
.setOrInitializeRemoteState();
|
|
43
44
|
}
|
|
@@ -72,14 +73,14 @@ extractODataETag, extractDataFromOneToManyLink) {
|
|
|
72
73
|
// Not sure the purpose of the usage of null.
|
|
73
74
|
function getSingleLinkFromJson(json, link) {
|
|
74
75
|
if ((0, entity_base_1.isExpandedProperty)(json, link)) {
|
|
75
|
-
return deserializeEntity(json[link._fieldName], link.
|
|
76
|
+
return deserializeEntity(json[link._fieldName], link._linkedEntityApi);
|
|
76
77
|
}
|
|
77
78
|
return null;
|
|
78
79
|
}
|
|
79
80
|
function getMultiLinkFromJson(json, link) {
|
|
80
81
|
if ((0, entity_base_1.isSelectedProperty)(json, link)) {
|
|
81
82
|
const results = extractDataFromOneToManyLink(json[link._fieldName]);
|
|
82
|
-
return results.map(linkJson => deserializeEntity(linkJson, link.
|
|
83
|
+
return results.map(linkJson => deserializeEntity(linkJson, link._linkedEntityApi));
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
86
|
// TODO: get rid of this function in v2.0
|
|
@@ -153,16 +154,16 @@ exports.extractEtagFromHeader = extractEtagFromHeader;
|
|
|
153
154
|
* Extracts all custom fields from the JSON payload for a single entity.
|
|
154
155
|
* In this context, a custom fields is every property that is not known in the corresponding entity class.
|
|
155
156
|
* @param json - The JSON payload.
|
|
156
|
-
* @param
|
|
157
|
+
* @param schema - TODO
|
|
157
158
|
* @returns An object containing the custom fields as key-value pairs.
|
|
158
159
|
* @internal
|
|
159
160
|
*/
|
|
160
|
-
function extractCustomFields(json,
|
|
161
|
+
function extractCustomFields(json, schema) {
|
|
161
162
|
const regularODataProperties = [
|
|
162
163
|
'__metadata',
|
|
163
164
|
'__deferred',
|
|
164
165
|
// type assertion for backwards compatibility, TODO: remove in v2.0
|
|
165
|
-
...
|
|
166
|
+
...Object.values(schema).map(field => field._fieldName)
|
|
166
167
|
];
|
|
167
168
|
const regularFields = new Set(regularODataProperties);
|
|
168
169
|
return Object.keys(json)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-deserializer.js","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAC7B,+CAKuB;AACvB,2CAAuD;AACvD,6CAWsB;AAEtB,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,qBAAqB;CACtC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-deserializer.js","sourceRoot":"","sources":["../src/entity-deserializer.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAC7B,qDAA0E;AAC1E,+CAKuB;AACvB,2CAAuD;AACvD,6CAWsB;AAEtB,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,qBAAqB;CACtC,CAAC,CAAC;AAsBH;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,aAAgB,EAChB,gBAAsC,EACtC,4BAA8D;IAE9D,MAAM,OAAO,GAAG,IAAA,wCAAuB,EAAC,aAAa,CAAC,CAAC;IACvD;;;;;;;;OAQG;IACH,SAAS,iBAAiB,CACxB,IAAoB,EACpB,SAAkC,EAClC,aAAmB;QAEnB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;aACnC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,gCAAkB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAChD,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YAC9B,MAAM,CAAC,IAAA,gBAAS,EAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,aAAa,CACvD,IAAI,EACJ,WAAW,CACZ,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACpD,eAAe,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;aAC5D,oBAAoB,CAAC,IAAI,CAAC;aAC1B,0BAA0B,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,aAAa,CAKpB,IAAoB,EACpB,KAAqD;QAErD,IAAI,KAAK,YAAY,yBAAY,EAAE;YACjC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SACvD;QACD,IAAI,KAAK,YAAY,iBAAI,EAAE;YACzB,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACrC;QACD,IAAI,KAAK,YAAY,6BAAgB,EAAE;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBAC1B,OAAO,KAAK,CAAC,YAAY;oBACvB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;oBACpE,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;aACjE;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SAC/B;QACD,IAAI,KAAK,YAAY,4BAAe,EAAE;YACpC,OAAO,yBAAyB,CAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EACtB,KAAK,CAAC,UAAU,CACjB,CAAC;SACH;QACD,IAAI,KAAK,YAAY,sBAAS,EAAE;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,eAAe,CAKtB,IAAoB,EAAE,IAAkD;QACxE,OAAO,IAAI,YAAY,yBAAY;YACjC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,oLAAoL;IACpL,6CAA6C;IAC7C,SAAS,qBAAqB,CAM5B,IAAoB,EACpB,IAAkD;QAElD,IAAI,IAAA,gCAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAClC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACxE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,oBAAoB,CAM3B,IAAoB,EACpB,IAAkD;QAElD,IAAI,IAAA,gCAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAClC,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC5B,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CACnD,CAAC;SACH;IACH,CAAC;IAED,yCAAyC;IACzC,SAAS,4BAA4B,CAInC,IAAyB,EACzB,gBAA2D;QAE3D,MAAM,CAAC,IAAI,CACT,8KAA8K,CAC/K,CAAC;QACF,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;aACpC,MAAM,CACL,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACZ,CAAC,KAAK,YAAY,yBAAY;YAC5B,KAAK,YAAY,6BAAgB,CAAC;YACpC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,WAAW,CAChD;aACA,MAAM,CACL,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,iBAAiB;YACpB,CAAC,IAAA,gBAAS,EAAC,SAAS,CAAC,CAAC,EACpB,KAAK,YAAY,yBAAY;gBAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;SAClE,CAAC,EACF,EAAE,CACH,CAAC;IACN,CAAC;IAED,SAAS,8BAA8B,CACrC,aAAkB,EAClB,gBAAkC;QAElC,IAAI,gBAAgB,CAAC,YAAY,EAAE;YACjC,OAAO,yBAAyB,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACxE;QAED,IAAI,IAAA,mCAAsB,EAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACjD,OAAO,sBAAsB,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACrE;QAED,OAAO,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,SAAS,sBAAsB,CAC7B,IAAyB,EACzB,WAAsC;QAEtC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,WAAW,CAAC,iBAAiB;aACjC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChB,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,WAAW,IAAI;gBACxD,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,8BAA8B,CAC7C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC3B,QAAQ,CACT;aACF,CAAC;SACH,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,mBAAmB;YACtB,GAAG,QAAQ;SACZ,CAAC,CAAC,CAAC;IACR,CAAC;IAED,SAAS,yBAAyB,CAEhC,IAAW,EAAE,SAAiB;QAC9B,IAAI,IAAA,qBAAS,EAAC,SAAS,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,IAAA,mCAAsB,EAAC,SAAS,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;SAChE;QACD,OAAO;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,sBAAsB;KACvB,CAAC;AACJ,CAAC;AAzMD,gDAyMC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,OAAY;IAChD,OAAO,IAAA,0BAAmB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAFD,sDAEC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,IAAoB,EACpB,MAA2B;IAE3B,MAAM,sBAAsB,GAAG;QAC7B,YAAY;QACZ,YAAY;QACZ,mEAAmE;QACnE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;KACxD,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,sBAAsB,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SACrB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACtC,MAAM,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE;QAC5B,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,YAAY,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAjBD,kDAiBC"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EntityApi, EntityBase } from './entity-base';
|
|
2
2
|
import { ComplexTypeNamespace } from './selectable';
|
|
3
|
-
import {
|
|
3
|
+
import { DeSerializers } from './de-serializers';
|
|
4
4
|
/**
|
|
5
5
|
* Interface representing the return type of the builder function [[entitySerializer]].
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
|
-
export interface EntitySerializer
|
|
9
|
-
serializeEntity: (entity: EntityT,
|
|
10
|
-
serializeComplexType: (fieldValue: any, complexTypeNameSpace: ComplexTypeNamespaceT) => any;
|
|
11
|
-
serializeEntityNonCustomFields: (entity: EntityT,
|
|
8
|
+
export interface EntitySerializer {
|
|
9
|
+
serializeEntity: <EntityT extends EntityBase>(entity: EntityT, entityApi: EntityApi<EntityT, any>, diff?: boolean) => Record<string, any>;
|
|
10
|
+
serializeComplexType: <ComplexTypeNamespaceT extends ComplexTypeNamespace<any> = any>(fieldValue: any, complexTypeNameSpace: ComplexTypeNamespaceT) => any;
|
|
11
|
+
serializeEntityNonCustomFields: <EntityT extends EntityBase>(entity: EntityT, entityApi: EntityApi<EntityT, any>) => Record<string, any>;
|
|
12
12
|
}
|
|
13
|
-
declare type TsToEdmType = (value: any, edmType: EdmTypeShared<'v2'> | EdmTypeShared<'v4'>) => any;
|
|
14
13
|
/**
|
|
15
14
|
* Constructs an entitySerializer given the OData v2 or v4 specific tsToEdm method.
|
|
16
15
|
* The concrete serializers are created in odata/v2/entity-serializer.ts and odata/v4/entity-serializer.ts
|
|
17
|
-
* @param
|
|
16
|
+
* @param deSerializers - (De-)serializers used for transformation.
|
|
18
17
|
* @returns a entity serializer as defined by [[EntitySerializer]]
|
|
19
18
|
* @internal
|
|
20
19
|
*/
|
|
21
|
-
export declare function entitySerializer(
|
|
22
|
-
export {};
|
|
20
|
+
export declare function entitySerializer(deSerializers: DeSerializers): EntitySerializer;
|
|
23
21
|
//# sourceMappingURL=entity-serializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-serializer.d.ts","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"entity-serializer.d.ts","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EACL,oBAAoB,EASrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAyB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOxE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,CAAC,OAAO,SAAS,UAAU,EAC1C,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,EAClC,IAAI,CAAC,EAAE,OAAO,KACX,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB,oBAAoB,EAAE,CACpB,qBAAqB,SAAS,oBAAoB,CAAC,GAAG,CAAC,GAAG,GAAG,EAE7D,UAAU,EAAE,GAAG,EACf,oBAAoB,EAAE,qBAAqB,KACxC,GAAG,CAAC;IACT,8BAA8B,EAAE,CAAC,OAAO,SAAS,UAAU,EACzD,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,KAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,GAC3B,gBAAgB,CAgLlB"}
|
|
@@ -4,6 +4,7 @@ exports.entitySerializer = void 0;
|
|
|
4
4
|
const util_1 = require("@sap-cloud-sdk/util");
|
|
5
5
|
const selectable_1 = require("./selectable");
|
|
6
6
|
const edm_types_1 = require("./edm-types");
|
|
7
|
+
const de_serializers_1 = require("./de-serializers");
|
|
7
8
|
const logger = (0, util_1.createLogger)({
|
|
8
9
|
package: 'odata-common',
|
|
9
10
|
messageContext: 'entity-serializer'
|
|
@@ -11,21 +12,22 @@ const logger = (0, util_1.createLogger)({
|
|
|
11
12
|
/**
|
|
12
13
|
* Constructs an entitySerializer given the OData v2 or v4 specific tsToEdm method.
|
|
13
14
|
* The concrete serializers are created in odata/v2/entity-serializer.ts and odata/v4/entity-serializer.ts
|
|
14
|
-
* @param
|
|
15
|
+
* @param deSerializers - (De-)serializers used for transformation.
|
|
15
16
|
* @returns a entity serializer as defined by [[EntitySerializer]]
|
|
16
17
|
* @internal
|
|
17
18
|
*/
|
|
18
|
-
function entitySerializer(
|
|
19
|
+
function entitySerializer(deSerializers) {
|
|
20
|
+
const tsToEdm = (0, de_serializers_1.createValueSerializer)(deSerializers);
|
|
19
21
|
/**
|
|
20
22
|
* Converts an instance of an entity class into a JSON payload to be sent to an OData service.
|
|
21
23
|
* @param entity - An instance of an entity.
|
|
22
|
-
* @param
|
|
24
|
+
* @param entityApi - Entity API to serialize for.
|
|
23
25
|
* @param diff - Serialize changed properties only. This only applies on the first level in case there are navigational properties.
|
|
24
26
|
* @returns JSON.
|
|
25
27
|
*/
|
|
26
|
-
function serializeEntity(entity,
|
|
28
|
+
function serializeEntity(entity, entityApi, diff = false) {
|
|
27
29
|
return {
|
|
28
|
-
...serializeEntityNonCustomFields(entity,
|
|
30
|
+
...serializeEntityNonCustomFields(entity, entityApi, diff),
|
|
29
31
|
...(diff ? entity.getUpdatedCustomFields() : entity.getCustomFields())
|
|
30
32
|
};
|
|
31
33
|
}
|
|
@@ -37,10 +39,10 @@ function entitySerializer(tsToEdm) {
|
|
|
37
39
|
return tsToEdm(fieldValue, field.edmType);
|
|
38
40
|
}
|
|
39
41
|
if (field instanceof selectable_1.OneToOneLink) {
|
|
40
|
-
return serializeEntity(fieldValue, field.
|
|
42
|
+
return serializeEntity(fieldValue, field._linkedEntityApi);
|
|
41
43
|
}
|
|
42
44
|
if (field instanceof selectable_1.Link) {
|
|
43
|
-
return fieldValue.map(linkedEntity => serializeEntity(linkedEntity, field.
|
|
45
|
+
return fieldValue.map(linkedEntity => serializeEntity(linkedEntity, field._linkedEntityApi));
|
|
44
46
|
}
|
|
45
47
|
if (field instanceof selectable_1.ComplexTypeField) {
|
|
46
48
|
if (field._complexType) {
|
|
@@ -58,13 +60,13 @@ function entitySerializer(tsToEdm) {
|
|
|
58
60
|
/**
|
|
59
61
|
* Converts an instance of an entity class into a JSON payload to be sent to an OData service, ignoring custom fields.
|
|
60
62
|
* @param entity - An instance of an entity.
|
|
61
|
-
* @param
|
|
63
|
+
* @param entityApi - Entity API to serialize for.
|
|
62
64
|
* @param diff - Serialize changed properties only. This only applies on the first level in case there are navigational properties.
|
|
63
65
|
* @returns A JSON Representation of the non custom fields
|
|
64
66
|
*/
|
|
65
|
-
function serializeEntityNonCustomFields(entity,
|
|
67
|
+
function serializeEntityNonCustomFields(entity, entityApi, diff = false) {
|
|
66
68
|
return getFieldNames(entity, diff).reduce((serialized, key) => {
|
|
67
|
-
const field =
|
|
69
|
+
const field = entityApi.schema[(0, util_1.upperCaseSnakeCase)(key)];
|
|
68
70
|
const fieldValue = entity[key];
|
|
69
71
|
const serializedValue = serializeField(field, fieldValue);
|
|
70
72
|
if (typeof serializedValue === 'undefined') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-serializer.js","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":";;;AAAA,8CAAuE;AAEvE,6CAUsB;AACtB,2CAAuD;
|
|
1
|
+
{"version":3,"file":"entity-serializer.js","sourceRoot":"","sources":["../src/entity-serializer.ts"],"names":[],"mappings":"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"}
|
package/dist/expandable.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DeSerializers } from './de-serializers';
|
|
1
2
|
import { EntityBase, ODataVersionOf } from './entity-base';
|
|
2
3
|
import { OneToManyLink, AllFields, OneToOneLink } from './selectable';
|
|
3
4
|
/**
|
|
@@ -5,5 +6,5 @@ import { OneToManyLink, AllFields, OneToOneLink } from './selectable';
|
|
|
5
6
|
* @typeparam EntityT - Type of the entity to be selected on
|
|
6
7
|
* @internal
|
|
7
8
|
*/
|
|
8
|
-
export declare type Expandable<EntityT extends EntityBase> = ODataVersionOf<EntityT> extends 'v2' ? never : OneToOneLink<EntityT,
|
|
9
|
+
export declare type Expandable<EntityT extends EntityBase, DeSerializersT extends DeSerializers, LinkedEntityT extends EntityBase = EntityBase> = ODataVersionOf<EntityT> extends 'v2' ? never : OneToOneLink<EntityT, DeSerializersT, LinkedEntityT> | OneToManyLink<EntityT, DeSerializersT, LinkedEntityT> | AllFields<EntityT>;
|
|
9
10
|
//# sourceMappingURL=expandable.d.ts.map
|
package/dist/expandable.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandable.d.ts","sourceRoot":"","sources":["../src/expandable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtE;;;;GAIG;AACH,oBAAY,UAAU,
|
|
1
|
+
{"version":3,"file":"expandable.d.ts","sourceRoot":"","sources":["../src/expandable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtE;;;;GAIG;AACH,oBAAY,UAAU,CACpB,OAAO,SAAS,UAAU,EAC1B,cAAc,SAAS,aAAa,EACpC,aAAa,SAAS,UAAU,GAAG,UAAU,IAC3C,cAAc,CAAC,OAAO,CAAC,SAAS,IAAI,GACpC,KAAK,GAED,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,GACpD,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,GACrD,SAAS,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -19,5 +19,5 @@ export declare class BooleanFilterFunction<EntityT extends EntityBase> extends F
|
|
|
19
19
|
* @returns boolean
|
|
20
20
|
* @internal
|
|
21
21
|
*/
|
|
22
|
-
export declare function isBooleanFilterFunction<EntityT extends EntityBase>(filterable: Filterable<EntityT>): filterable is BooleanFilterFunction<EntityT>;
|
|
22
|
+
export declare function isBooleanFilterFunction<EntityT extends EntityBase>(filterable: Filterable<EntityT, any>): filterable is BooleanFilterFunction<EntityT>;
|
|
23
23
|
//# sourceMappingURL=boolean-filter-function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,qBAAa,qBAAqB,CAChC,OAAO,SAAS,UAAU,CAC1B,SAAQ,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;IACxC;;;;OAIG;gBAED,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE;CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,UAAU,EAChE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"boolean-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;GAGG;AACH,qBAAa,qBAAqB,CAChC,OAAO,SAAS,UAAU,CAC1B,SAAQ,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;IACxC;;;;OAIG;gBAED,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE;CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,UAAU,EAChE,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,GACnC,UAAU,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAM9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-filter-function.js","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":";;;AACA,iEAGgC;AAGhC;;;GAGG;AACH,MAAa,qBAEX,SAAQ,qCAAgC;IACxC;;;;OAIG;IACH,YACE,YAAoB,EACpB,UAAkD;QAElD,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;CACF;AAdD,sDAcC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,
|
|
1
|
+
{"version":3,"file":"boolean-filter-function.js","sourceRoot":"","sources":["../../src/filter/boolean-filter-function.ts"],"names":[],"mappings":";;;AACA,iEAGgC;AAGhC;;;GAGG;AACH,MAAa,qBAEX,SAAQ,qCAAgC;IACxC;;;;OAIG;IACH,YACE,YAAoB,EACpB,UAAkD;QAElD,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;CACF;AAdD,sDAcC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,UAAoC;IAEpC,OAAO,CACL,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,WAAW;QACjD,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,WAAW;QAC/C,UAAU,CAAC,SAAS,CAAC,KAAK,aAAa,CACxC,CAAC;AACJ,CAAC;AARD,0DAQC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { EntityBase } from '../entity-base';
|
|
2
2
|
import { EdmTypeShared } from '../edm-types';
|
|
3
|
-
import { FieldType } from '../selectable';
|
|
4
3
|
import { FilterFunction, FilterFunctionParameterType } from './filter-function-base';
|
|
5
4
|
/**
|
|
6
5
|
* Representation of a filter function, that returns a collection of values.
|
|
7
6
|
* @internal
|
|
8
7
|
*/
|
|
9
|
-
export declare class CollectionFilterFunction<EntityT extends EntityBase, FieldT
|
|
8
|
+
export declare class CollectionFilterFunction<EntityT extends EntityBase, FieldT> extends FilterFunction<EntityT, FieldT[]> {
|
|
10
9
|
/**
|
|
11
10
|
* Creates an instance of CollectionFilterFunction.
|
|
12
11
|
* @param functionName - Name of the function that returns a collection value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"collection-filter-function.d.ts","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,2BAA2B,EAC5B,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,qBAAa,wBAAwB,CACnC,OAAO,SAAS,UAAU,EAC1B,MAAM,CACN,SAAQ,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACzC;;;;;OAKG;gBAED,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAClD,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC;CAIhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-filter-function.js","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"collection-filter-function.js","sourceRoot":"","sources":["../../src/filter/collection-filter-function.ts"],"names":[],"mappings":";;;AAEA,iEAGgC;AAEhC;;;GAGG;AACH,MAAa,wBAGX,SAAQ,qCAAiC;IACzC;;;;;OAKG;IACH,YACE,YAAoB,EACpB,UAAkD,EAClD,OAA6B;QAE7B,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAjBD,4DAiBC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import moment from 'moment';
|
|
2
2
|
import { EdmTypeShared } from '../edm-types';
|
|
3
3
|
import { EntityBase, ODataVersionOf } from '../entity-base';
|
|
4
|
-
import { Field
|
|
4
|
+
import { Field } from '../selectable';
|
|
5
5
|
import { Filter } from './filter';
|
|
6
6
|
/**
|
|
7
7
|
* Data structure to represent OData filter functions.
|
|
8
8
|
* Use the factory function [[filterFunction]] to create instances of `FilterFunction`.
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
|
-
export declare abstract class FilterFunction<EntityT extends EntityBase, ReturnT
|
|
11
|
+
export declare abstract class FilterFunction<EntityT extends EntityBase, ReturnT> {
|
|
12
12
|
readonly functionName: string;
|
|
13
13
|
readonly parameters: FilterFunctionParameterType<EntityT>[];
|
|
14
14
|
readonly edmType: EdmTypeShared<ODataVersionOf<EntityT>>;
|
|
@@ -25,14 +25,14 @@ export declare abstract class FilterFunction<EntityT extends EntityBase, ReturnT
|
|
|
25
25
|
* @param edmType - EDM type of the value, used when converting the value to URL. Use `Edm.String` as default value.
|
|
26
26
|
* @returns The resulting filter
|
|
27
27
|
*/
|
|
28
|
-
equals(value: ReturnT): Filter<EntityT, ReturnT>;
|
|
28
|
+
equals(value: ReturnT): Filter<EntityT, any, ReturnT>;
|
|
29
29
|
/**
|
|
30
30
|
* Creates an instance of Filter for this filter function and the given value using the operator 'ne', i.e. `!=`.
|
|
31
31
|
* @param value - Value to be used in the filter
|
|
32
32
|
* @param edmType - EDM type of the value, used when converting the value to URL. Use `Edm.String` as default value.
|
|
33
33
|
* @returns The resulting filter
|
|
34
34
|
*/
|
|
35
|
-
notEquals(value: ReturnT): Filter<EntityT, ReturnT>;
|
|
35
|
+
notEquals(value: ReturnT): Filter<EntityT, any, ReturnT>;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* Primitive type of a parameter of a filter function.
|
|
@@ -43,5 +43,5 @@ export declare type FilterFunctionPrimitiveParameterType = number | string | mom
|
|
|
43
43
|
* Type of a parameter of a filter function. This can either be a primitive type, a reference to a field or another filter function.
|
|
44
44
|
* @internal
|
|
45
45
|
*/
|
|
46
|
-
export declare type FilterFunctionParameterType<EntityT extends EntityBase> = FilterFunctionPrimitiveParameterType | Field<EntityT, boolean, boolean> | FilterFunction<EntityT,
|
|
46
|
+
export declare type FilterFunctionParameterType<EntityT extends EntityBase> = FilterFunctionPrimitiveParameterType | Field<EntityT, boolean, boolean> | FilterFunction<EntityT, any> | FilterFunctionPrimitiveParameterType[];
|
|
47
47
|
//# sourceMappingURL=filter-function-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-function-base.d.ts","sourceRoot":"","sources":["../../src/filter/filter-function-base.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"filter-function-base.d.ts","sourceRoot":"","sources":["../../src/filter/filter-function-base.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;GAIG;AACH,8BAAsB,cAAc,CAAC,OAAO,SAAS,UAAU,EAAE,OAAO;IAQpE,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAC3D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAT1D;;;;;OAKG;gBAEQ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAClD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAG1D;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;IAIrD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;CAGzD;AAED;;;GAGG;AACH,oBAAY,oCAAoC,GAC5C,MAAM,GACN,MAAM,GACN,MAAM,CAAC,MAAM,CAAC;AAElB;;;GAGG;AACH,oBAAY,2BAA2B,CAAC,OAAO,SAAS,UAAU,IAC9D,oCAAoC,GACpC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAChC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,GAC5B,oCAAoC,EAAE,CAAC"}
|