angular-odata 0.130.0 → 0.131.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.
Files changed (159) hide show
  1. package/fesm2022/angular-odata.mjs +2298 -2162
  2. package/fesm2022/angular-odata.mjs.map +1 -1
  3. package/lib/api.d.ts +10 -11
  4. package/lib/cache/cache.d.ts +2 -2
  5. package/lib/cache/memory.d.ts +2 -2
  6. package/lib/cache/storage.d.ts +2 -2
  7. package/lib/loaders.d.ts +8 -8
  8. package/lib/metadata/csdl/csdl-annotation.d.ts +3 -3
  9. package/lib/metadata/csdl/csdl-entity-container.d.ts +2 -2
  10. package/lib/metadata/csdl/csdl-entity-set.d.ts +2 -2
  11. package/lib/metadata/csdl/csdl-enum-type.d.ts +3 -3
  12. package/lib/metadata/csdl/csdl-function-action.d.ts +4 -4
  13. package/lib/metadata/csdl/csdl-reference.d.ts +2 -2
  14. package/lib/metadata/csdl/csdl-schema.d.ts +2 -2
  15. package/lib/metadata/csdl/csdl-structural-property.d.ts +3 -3
  16. package/lib/metadata/csdl/csdl-structured-type.d.ts +3 -3
  17. package/lib/metadata/metadata.d.ts +2 -2
  18. package/lib/models/options.d.ts +2 -2
  19. package/lib/module.d.ts +3 -3
  20. package/lib/options.d.ts +3 -3
  21. package/lib/resources/query/expressions/apply.d.ts +1 -1
  22. package/lib/resources/query/expressions/compute.d.ts +1 -1
  23. package/lib/resources/query/expressions/count.d.ts +1 -1
  24. package/lib/resources/query/expressions/expand.d.ts +4 -3
  25. package/lib/resources/query/expressions/filter.d.ts +2 -1
  26. package/lib/resources/query/expressions/orderby.d.ts +2 -1
  27. package/lib/resources/query/expressions/search.d.ts +2 -1
  28. package/lib/resources/query/expressions/select.d.ts +2 -1
  29. package/lib/resources/query/handlers.d.ts +17 -5
  30. package/lib/resources/resource.d.ts +5 -5
  31. package/lib/resources/types/action.d.ts +2 -2
  32. package/lib/resources/types/entity-set.d.ts +2 -2
  33. package/lib/resources/types/navigation-property.d.ts +2 -2
  34. package/lib/resources/types/property.d.ts +2 -2
  35. package/lib/schema/annotation.d.ts +3 -3
  36. package/lib/schema/callable.d.ts +3 -3
  37. package/lib/schema/element.d.ts +3 -3
  38. package/lib/schema/entity-container.d.ts +2 -2
  39. package/lib/schema/entity-set.d.ts +2 -2
  40. package/lib/schema/enum-type.d.ts +2 -2
  41. package/lib/schema/parsers/callable.d.ts +4 -4
  42. package/lib/schema/parsers/enum-type.d.ts +3 -3
  43. package/lib/schema/parsers/structured-type.d.ts +4 -4
  44. package/lib/schema/schema.d.ts +3 -3
  45. package/lib/schema/singleton.d.ts +2 -2
  46. package/lib/schema/structured-type.d.ts +3 -3
  47. package/lib/services/entity.d.ts +1 -1
  48. package/lib/settings.d.ts +2 -2
  49. package/lib/types.d.ts +76 -74
  50. package/lib/utils/odata.d.ts +2 -2
  51. package/package.json +3 -5
  52. package/schematics/apigen/files/api-config/__fileName__.ts +4 -4
  53. package/esm2022/angular-odata.mjs +0 -5
  54. package/esm2022/lib/annotations.mjs +0 -146
  55. package/esm2022/lib/api.mjs +0 -439
  56. package/esm2022/lib/cache/cache.mjs +0 -177
  57. package/esm2022/lib/cache/index.mjs +0 -4
  58. package/esm2022/lib/cache/memory.mjs +0 -30
  59. package/esm2022/lib/cache/storage.mjs +0 -57
  60. package/esm2022/lib/client.mjs +0 -215
  61. package/esm2022/lib/constants.mjs +0 -95
  62. package/esm2022/lib/helper.mjs +0 -288
  63. package/esm2022/lib/index.mjs +0 -22
  64. package/esm2022/lib/loaders.mjs +0 -43
  65. package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +0 -273
  66. package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +0 -59
  67. package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +0 -50
  68. package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +0 -74
  69. package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +0 -204
  70. package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +0 -15
  71. package/esm2022/lib/metadata/csdl/csdl-reference.mjs +0 -76
  72. package/esm2022/lib/metadata/csdl/csdl-schema.mjs +0 -87
  73. package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +0 -37
  74. package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +0 -145
  75. package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +0 -159
  76. package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +0 -46
  77. package/esm2022/lib/metadata/index.mjs +0 -3
  78. package/esm2022/lib/metadata/metadata.mjs +0 -41
  79. package/esm2022/lib/metadata/parser.mjs +0 -564
  80. package/esm2022/lib/models/collection.mjs +0 -816
  81. package/esm2022/lib/models/index.mjs +0 -4
  82. package/esm2022/lib/models/model.mjs +0 -577
  83. package/esm2022/lib/models/options.mjs +0 -1227
  84. package/esm2022/lib/module.mjs +0 -55
  85. package/esm2022/lib/options.mjs +0 -91
  86. package/esm2022/lib/resources/index.mjs +0 -7
  87. package/esm2022/lib/resources/options.mjs +0 -66
  88. package/esm2022/lib/resources/path/handlers.mjs +0 -81
  89. package/esm2022/lib/resources/path/index.mjs +0 -3
  90. package/esm2022/lib/resources/path/segments.mjs +0 -149
  91. package/esm2022/lib/resources/query/builder.mjs +0 -645
  92. package/esm2022/lib/resources/query/expressions/apply.mjs +0 -238
  93. package/esm2022/lib/resources/query/expressions/base.mjs +0 -26
  94. package/esm2022/lib/resources/query/expressions/compute.mjs +0 -55
  95. package/esm2022/lib/resources/query/expressions/count.mjs +0 -118
  96. package/esm2022/lib/resources/query/expressions/expand.mjs +0 -154
  97. package/esm2022/lib/resources/query/expressions/filter.mjs +0 -180
  98. package/esm2022/lib/resources/query/expressions/index.mjs +0 -10
  99. package/esm2022/lib/resources/query/expressions/orderby.mjs +0 -81
  100. package/esm2022/lib/resources/query/expressions/search.mjs +0 -144
  101. package/esm2022/lib/resources/query/expressions/select.mjs +0 -49
  102. package/esm2022/lib/resources/query/expressions/syntax.mjs +0 -770
  103. package/esm2022/lib/resources/query/handlers.mjs +0 -423
  104. package/esm2022/lib/resources/query/index.mjs +0 -5
  105. package/esm2022/lib/resources/query/options.mjs +0 -140
  106. package/esm2022/lib/resources/request.mjs +0 -210
  107. package/esm2022/lib/resources/resource.mjs +0 -316
  108. package/esm2022/lib/resources/response.mjs +0 -180
  109. package/esm2022/lib/resources/types/action.mjs +0 -118
  110. package/esm2022/lib/resources/types/batch.mjs +0 -428
  111. package/esm2022/lib/resources/types/count.mjs +0 -33
  112. package/esm2022/lib/resources/types/entity-set.mjs +0 -131
  113. package/esm2022/lib/resources/types/entity.mjs +0 -112
  114. package/esm2022/lib/resources/types/function.mjs +0 -149
  115. package/esm2022/lib/resources/types/index.mjs +0 -15
  116. package/esm2022/lib/resources/types/media.mjs +0 -44
  117. package/esm2022/lib/resources/types/metadata.mjs +0 -35
  118. package/esm2022/lib/resources/types/navigation-property.mjs +0 -246
  119. package/esm2022/lib/resources/types/options.mjs +0 -2
  120. package/esm2022/lib/resources/types/property.mjs +0 -187
  121. package/esm2022/lib/resources/types/reference.mjs +0 -87
  122. package/esm2022/lib/resources/types/singleton.mjs +0 -125
  123. package/esm2022/lib/resources/types/value.mjs +0 -48
  124. package/esm2022/lib/schema/annotation.mjs +0 -44
  125. package/esm2022/lib/schema/callable.mjs +0 -69
  126. package/esm2022/lib/schema/element.mjs +0 -70
  127. package/esm2022/lib/schema/entity-container.mjs +0 -13
  128. package/esm2022/lib/schema/entity-set.mjs +0 -11
  129. package/esm2022/lib/schema/enum-type.mjs +0 -69
  130. package/esm2022/lib/schema/index.mjs +0 -9
  131. package/esm2022/lib/schema/parsers/callable.mjs +0 -123
  132. package/esm2022/lib/schema/parsers/edm.mjs +0 -101
  133. package/esm2022/lib/schema/parsers/enum-type.mjs +0 -148
  134. package/esm2022/lib/schema/parsers/index.mjs +0 -5
  135. package/esm2022/lib/schema/parsers/structured-type.mjs +0 -548
  136. package/esm2022/lib/schema/schema.mjs +0 -52
  137. package/esm2022/lib/schema/singleton.mjs +0 -11
  138. package/esm2022/lib/schema/structured-type.mjs +0 -220
  139. package/esm2022/lib/services/base.mjs +0 -32
  140. package/esm2022/lib/services/entity-set.mjs +0 -161
  141. package/esm2022/lib/services/entity.mjs +0 -12
  142. package/esm2022/lib/services/factory.mjs +0 -39
  143. package/esm2022/lib/services/index.mjs +0 -5
  144. package/esm2022/lib/services/singleton.mjs +0 -55
  145. package/esm2022/lib/settings.mjs +0 -113
  146. package/esm2022/lib/types.mjs +0 -118
  147. package/esm2022/lib/utils/arraybuffers.mjs +0 -46
  148. package/esm2022/lib/utils/arrays.mjs +0 -10
  149. package/esm2022/lib/utils/dates.mjs +0 -18
  150. package/esm2022/lib/utils/durations.mjs +0 -40
  151. package/esm2022/lib/utils/enums.mjs +0 -61
  152. package/esm2022/lib/utils/http.mjs +0 -95
  153. package/esm2022/lib/utils/index.mjs +0 -10
  154. package/esm2022/lib/utils/objects.mjs +0 -204
  155. package/esm2022/lib/utils/odata.mjs +0 -22
  156. package/esm2022/lib/utils/strings.mjs +0 -20
  157. package/esm2022/lib/utils/types.mjs +0 -136
  158. package/esm2022/lib/utils/urls.mjs +0 -24
  159. package/esm2022/public-api.mjs +0 -5
@@ -1,52 +0,0 @@
1
- import { OData } from '../utils/odata';
2
- import { ODataAnnotatable } from './annotation';
3
- import { ODataCallable } from './callable';
4
- import { ODataEntityContainer } from './entity-container';
5
- import { ODataEnumType } from './enum-type';
6
- import { ODataStructuredType } from './structured-type';
7
- export class ODataSchema extends ODataAnnotatable {
8
- api;
9
- namespace;
10
- alias;
11
- enums;
12
- entities;
13
- callables;
14
- containers;
15
- constructor(config, api) {
16
- super(config);
17
- this.api = api;
18
- this.namespace = config.namespace;
19
- this.alias = config.alias;
20
- this.enums = (config.enums ?? []).map((config) => new ODataEnumType(config, this));
21
- this.entities = (config.entities ?? []).map((config) => new ODataStructuredType(config, this));
22
- this.callables = OData.mergeCallableParameters(config.callables ?? []).map((config) => new ODataCallable(config, this));
23
- this.containers = (config.containers ?? []).map((config) => new ODataEntityContainer(config, this));
24
- }
25
- isNamespaceOf(type) {
26
- return (type.startsWith(this.namespace) ??
27
- (this.alias && type.startsWith(this.alias)));
28
- }
29
- get entitySets() {
30
- return this.containers.reduce((acc, container) => [...acc, ...container.entitySets], []);
31
- }
32
- get singletons() {
33
- return this.containers.reduce((acc, container) => [...acc, ...container.singletons], []);
34
- }
35
- //#region Find for Type
36
- createStructuredType(config) {
37
- const entity = new ODataStructuredType(config, this);
38
- entity.configure({ options: this.api.options.parserOptions });
39
- this.entities.push(entity);
40
- return entity;
41
- }
42
- //#endregion
43
- configure({ options }) {
44
- // Configure Enums
45
- this.enums.forEach((enu) => enu.configure({ options }));
46
- // Configure Entities
47
- this.entities.forEach((structured) => structured.configure({ options }));
48
- // Configure callables
49
- this.callables.forEach((callable) => callable.configure({ options }));
50
- }
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEQsTUFBTSxPQUFPLFdBQVksU0FBUSxnQkFBZ0I7SUFDL0MsR0FBRyxDQUFXO0lBQ2QsU0FBUyxDQUFTO0lBQ2xCLEtBQUssQ0FBVTtJQUNmLEtBQUssQ0FBdUI7SUFDNUIsUUFBUSxDQUE2QjtJQUNyQyxTQUFTLENBQXVCO0lBQ2hDLFVBQVUsQ0FBeUI7SUFFbkMsWUFBWSxNQUFvQixFQUFFLEdBQWE7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDbkMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDNUMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDekMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ3hFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQzdDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDbkQsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixPQUFPLENBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQy9CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQzNCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckQsRUFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMzQixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQ3JELEVBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsdUJBQXVCO0lBQ2hCLG9CQUFvQixDQUFJLE1BQTRCO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsWUFBWTtJQUVaLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBOEI7UUFDL0Msa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT0RhdGFBcGkgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgUGFyc2VyT3B0aW9ucywgU2NoZW1hQ29uZmlnLCBTdHJ1Y3R1cmVkVHlwZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhIH0gZnJvbSAnLi4vdXRpbHMvb2RhdGEnO1xuaW1wb3J0IHsgT0RhdGFBbm5vdGF0YWJsZSB9IGZyb20gJy4vYW5ub3RhdGlvbic7XG5pbXBvcnQgeyBPRGF0YUNhbGxhYmxlIH0gZnJvbSAnLi9jYWxsYWJsZSc7XG5pbXBvcnQgeyBPRGF0YUVudGl0eUNvbnRhaW5lciB9IGZyb20gJy4vZW50aXR5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNldCB9IGZyb20gJy4vZW50aXR5LXNldCc7XG5pbXBvcnQgeyBPRGF0YUVudW1UeXBlIH0gZnJvbSAnLi9lbnVtLXR5cGUnO1xuaW1wb3J0IHsgT0RhdGFTaW5nbGV0b24gfSBmcm9tICcuL3NpbmdsZXRvbic7XG5pbXBvcnQgeyBPRGF0YVN0cnVjdHVyZWRUeXBlIH0gZnJvbSAnLi9zdHJ1Y3R1cmVkLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFTY2hlbWEgZXh0ZW5kcyBPRGF0YUFubm90YXRhYmxlIHtcbiAgYXBpOiBPRGF0YUFwaTtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGFsaWFzPzogc3RyaW5nO1xuICBlbnVtczogT0RhdGFFbnVtVHlwZTxhbnk+W107XG4gIGVudGl0aWVzOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT5bXTtcbiAgY2FsbGFibGVzOiBPRGF0YUNhbGxhYmxlPGFueT5bXTtcbiAgY29udGFpbmVyczogT0RhdGFFbnRpdHlDb250YWluZXJbXTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFNjaGVtYUNvbmZpZywgYXBpOiBPRGF0YUFwaSkge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBjb25maWcubmFtZXNwYWNlO1xuICAgIHRoaXMuYWxpYXMgPSBjb25maWcuYWxpYXM7XG4gICAgdGhpcy5lbnVtcyA9IChjb25maWcuZW51bXMgPz8gW10pLm1hcChcbiAgICAgIChjb25maWcpID0+IG5ldyBPRGF0YUVudW1UeXBlKGNvbmZpZywgdGhpcyksXG4gICAgKTtcbiAgICB0aGlzLmVudGl0aWVzID0gKGNvbmZpZy5lbnRpdGllcyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhU3RydWN0dXJlZFR5cGUoY29uZmlnLCB0aGlzKSxcbiAgICApO1xuICAgIHRoaXMuY2FsbGFibGVzID0gT0RhdGEubWVyZ2VDYWxsYWJsZVBhcmFtZXRlcnMoY29uZmlnLmNhbGxhYmxlcyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhQ2FsbGFibGUoY29uZmlnLCB0aGlzKSxcbiAgICApO1xuICAgIHRoaXMuY29udGFpbmVycyA9IChjb25maWcuY29udGFpbmVycyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhRW50aXR5Q29udGFpbmVyKGNvbmZpZywgdGhpcyksXG4gICAgKTtcbiAgfVxuXG4gIGlzTmFtZXNwYWNlT2YodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGUuc3RhcnRzV2l0aCh0aGlzLm5hbWVzcGFjZSkgPz9cbiAgICAgICh0aGlzLmFsaWFzICYmIHR5cGUuc3RhcnRzV2l0aCh0aGlzLmFsaWFzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGVudGl0eVNldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVycy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjb250YWluZXIpID0+IFsuLi5hY2MsIC4uLmNvbnRhaW5lci5lbnRpdHlTZXRzXSxcbiAgICAgIFtdIGFzIE9EYXRhRW50aXR5U2V0W10sXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzaW5nbGV0b25zKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcnMucmVkdWNlKFxuICAgICAgKGFjYywgY29udGFpbmVyKSA9PiBbLi4uYWNjLCAuLi5jb250YWluZXIuc2luZ2xldG9uc10sXG4gICAgICBbXSBhcyBPRGF0YVNpbmdsZXRvbltdLFxuICAgICk7XG4gIH1cblxuICAvLyNyZWdpb24gRmluZCBmb3IgVHlwZVxuICBwdWJsaWMgY3JlYXRlU3RydWN0dXJlZFR5cGU8VD4oY29uZmlnOiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZykge1xuICAgIGNvbnN0IGVudGl0eSA9IG5ldyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+KGNvbmZpZywgdGhpcyk7XG4gICAgZW50aXR5LmNvbmZpZ3VyZSh7IG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMucGFyc2VyT3B0aW9ucyB9KTtcbiAgICB0aGlzLmVudGl0aWVzLnB1c2goZW50aXR5KTtcbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGNvbmZpZ3VyZSh7IG9wdGlvbnMgfTogeyBvcHRpb25zOiBQYXJzZXJPcHRpb25zIH0pIHtcbiAgICAvLyBDb25maWd1cmUgRW51bXNcbiAgICB0aGlzLmVudW1zLmZvckVhY2goKGVudSkgPT4gZW51LmNvbmZpZ3VyZSh7IG9wdGlvbnMgfSkpO1xuICAgIC8vIENvbmZpZ3VyZSBFbnRpdGllc1xuICAgIHRoaXMuZW50aXRpZXMuZm9yRWFjaCgoc3RydWN0dXJlZCkgPT4gc3RydWN0dXJlZC5jb25maWd1cmUoeyBvcHRpb25zIH0pKTtcbiAgICAvLyBDb25maWd1cmUgY2FsbGFibGVzXG4gICAgdGhpcy5jYWxsYWJsZXMuZm9yRWFjaCgoY2FsbGFibGUpID0+IGNhbGxhYmxlLmNvbmZpZ3VyZSh7IG9wdGlvbnMgfSkpO1xuICB9XG59XG4iXX0=
@@ -1,11 +0,0 @@
1
- import { ODataSchemaElement } from './element';
2
- export class ODataSingleton extends ODataSchemaElement {
3
- singletonType;
4
- service;
5
- constructor(config, schema) {
6
- super(config, schema);
7
- this.singletonType = config.type;
8
- this.service = config.service;
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zaW5nbGV0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRy9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELGFBQWEsQ0FBUztJQUN0QixPQUFPLENBQWtDO0lBQ3pDLFlBQVksTUFBdUIsRUFBRSxNQUFtQjtRQUN0RCxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2luZ2xldG9uQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWFFbGVtZW50IH0gZnJvbSAnLi9lbGVtZW50JztcbmltcG9ydCB7IE9EYXRhU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFTaW5nbGV0b24gZXh0ZW5kcyBPRGF0YVNjaGVtYUVsZW1lbnQge1xuICBzaW5nbGV0b25UeXBlOiBzdHJpbmc7XG4gIHNlcnZpY2U6IHsgbmV3ICguLi5wYXJhbXM6IGFueVtdKTogYW55IH07XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogU2luZ2xldG9uQ29uZmlnLCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgc3VwZXIoY29uZmlnLCBzY2hlbWEpO1xuICAgIHRoaXMuc2luZ2xldG9uVHlwZSA9IGNvbmZpZy50eXBlO1xuICAgIHRoaXMuc2VydmljZSA9IGNvbmZpZy5zZXJ2aWNlO1xuICB9XG59XG4iXX0=
@@ -1,220 +0,0 @@
1
- import { ODataParserSchemaElement } from './element';
2
- import { ODataStructuredTypeParser, } from './parsers';
3
- export class ODataStructuredType extends ODataParserSchemaElement {
4
- base;
5
- parent;
6
- children = [];
7
- model;
8
- collection;
9
- constructor(config, schema) {
10
- super(config, schema, new ODataStructuredTypeParser(config, schema.namespace, schema.alias));
11
- this.base = config.base;
12
- this.model = config.model;
13
- this.collection = config.collection;
14
- }
15
- configure({ options }) {
16
- if (this.base) {
17
- const parent = this.api.findStructuredType(this.base);
18
- parent.children.push(this);
19
- this.parent = parent;
20
- }
21
- this.parser.configure({
22
- options,
23
- parserForType: (t) => this.api.parserForType(t),
24
- });
25
- if (this.model !== undefined) {
26
- this.model.meta = this.api.optionsForType(this.type(), {
27
- config: this.model.options,
28
- structuredType: this,
29
- });
30
- if (this.model.meta !== undefined) {
31
- // Configure
32
- this.model.meta.configure({ options });
33
- }
34
- if (this.collection !== undefined) {
35
- this.collection.model = this.model;
36
- }
37
- }
38
- }
39
- /**
40
- * Returns a boolean indicating if the structured type is a subtype of the given type.
41
- * @param type String representation of the type
42
- * @returns True if the callable is type of the given type
43
- */
44
- isSubtypeOf(schema) {
45
- return (super.isSubtypeOf(schema) ||
46
- (this.parent !== undefined && this.parent.isSubtypeOf(schema)));
47
- }
48
- /**
49
- * Returns a boolean indicating if the structured type is a supertype of the given type.
50
- * @param type String representation of the type
51
- * @returns True if the callable is type of the given type
52
- */
53
- isSupertypeOf(schema) {
54
- return (super.isSupertypeOf(schema) ||
55
- this.children.some((c) => c.isSupertypeOf(schema)));
56
- }
57
- /**
58
- * Returns a boolean indicating if the structured type has a simple key.
59
- * @returns True if the structured type has a simple key
60
- */
61
- isSimpleKey() {
62
- return this.keys().length === 1;
63
- }
64
- /**
65
- * Returns a boolean indicating if the structured type has a compound key.
66
- * @returns True if the structured type has a compound key.
67
- */
68
- isCompoundKey() {
69
- return this.keys().length > 1;
70
- }
71
- isOpenType() {
72
- return this.parser.isOpenType();
73
- }
74
- isEntityType() {
75
- return this.parser.isEntityType();
76
- }
77
- isComplexType() {
78
- return this.parser.isComplexType();
79
- }
80
- /**
81
- * Find the field parser for the given field name.
82
- * @param name Name of the field
83
- * @returns The field parser
84
- */
85
- field(name) {
86
- return this.parser.field(name);
87
- }
88
- addField(name, config) {
89
- return this.parser.addField(name, config);
90
- }
91
- /**
92
- * Find a parent schema of the structured type.
93
- * @param predicate Function for evaluate the schemas in the hierarchy.
94
- * @returns The schema that matches the predicate.
95
- */
96
- findParentSchema(predicate) {
97
- if (predicate(this))
98
- return this;
99
- if (this.parent === undefined)
100
- return undefined;
101
- return this.parent.findParentSchema(predicate);
102
- }
103
- findChildSchema(predicate) {
104
- if (predicate(this))
105
- return this;
106
- let match;
107
- for (let ch of this.children) {
108
- match = ch.findChildSchema(predicate);
109
- if (match !== undefined)
110
- break;
111
- }
112
- return match;
113
- }
114
- /**
115
- * Find a parent schema of the structured type for the given field.
116
- * @param field Field that belongs to the structured type
117
- * @returns The schema of the field
118
- */
119
- findParentSchemaForField(field) {
120
- return this.findParentSchema((p) => p
121
- .fields({ include_parents: false, include_navigation: true })
122
- .find((f) => f === field) !== undefined);
123
- }
124
- /**
125
- * Picks the fields from attributes.
126
- * @param attrs
127
- * @param include_parents Include the parent fields
128
- * @param include_navigation Include the navigation fields
129
- * @param include_etag Include the etag field
130
- * @returns The picked fields
131
- */
132
- pick(attrs, { include_id = true, include_key = true, include_parents = true, include_navigation = false, include_computed = false, include_etag = true, } = {}) {
133
- return this.parser.pick(attrs, {
134
- include_id,
135
- include_key,
136
- include_etag,
137
- include_navigation,
138
- include_computed,
139
- include_parents,
140
- options: this.api.options,
141
- });
142
- }
143
- /**
144
- * Deseialize the given value from the structured type.
145
- * @param value Value to deserialize
146
- * @param options Options for deserialization
147
- * @returns Deserialized value
148
- */
149
- deserialize(value, options) {
150
- return this.parser.deserialize(value, options);
151
- }
152
- /**
153
- * Serialize the given value for the structured type.
154
- * @param value Value to serialize
155
- * @param options Options for serialization
156
- * @returns Serialized value
157
- */
158
- serialize(value, options) {
159
- return this.parser.serialize(value, options);
160
- }
161
- /**
162
- * Encode the given value for the structured type.
163
- * @param value Value to encode
164
- * @param options Options for encoding
165
- * @returns Encoded value
166
- */
167
- encode(value, options) {
168
- return this.parser.encode(value, options);
169
- }
170
- /**
171
- * Returns all fields of the structured type.
172
- * @param include_navigation Include navigation properties in the result.
173
- * @param include_parents Include the parent types in the result.
174
- * @returns All fields of the structured type.
175
- */
176
- fields({ include_navigation, include_parents, }) {
177
- return this.parser.fields({ include_navigation, include_parents });
178
- }
179
- /**
180
- * Returns the keys of the structured type.
181
- * @param include_parents Include the parent fields
182
- * @returns The keys of the structured type
183
- */
184
- keys({ include_parents = true, } = {}) {
185
- return this.parser.keys({ include_parents });
186
- }
187
- /**
188
- * Resolve the key of the structured type for the given value.
189
- * @param attrs Attributes of the value
190
- * @returns Resolved key
191
- */
192
- resolveKey(attrs) {
193
- return this.parser.resolveKey(attrs);
194
- }
195
- /**
196
- * Returns the defaults values for the structured type.
197
- * @returns Default values for the structured type
198
- */
199
- defaults() {
200
- return this.parser.defaults();
201
- }
202
- /**
203
- * Convert the structured type to json schema
204
- * @param options Options for json schema
205
- * @returns Json Schema
206
- */
207
- toJsonSchema(options = {}) {
208
- return this.parser.toJsonSchema(options);
209
- }
210
- /**
211
- * Validate the given value against the structured type.
212
- * @param attrs Attributes of the value
213
- * @param method Method to use for the process validation
214
- * @returns Object with the errors
215
- */
216
- validate(attrs, { method, navigation = false, } = {}) {
217
- return this.parser.validate(attrs, { method, navigation });
218
- }
219
- }
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zdHJ1Y3R1cmVkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JELE9BQU8sRUFJTCx5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxPQUFPLG1CQUF1QixTQUFRLHdCQUczQztJQUNDLElBQUksQ0FBVTtJQUNkLE1BQU0sQ0FBNEI7SUFDbEMsUUFBUSxHQUErQixFQUFFLENBQUM7SUFDMUMsS0FBSyxDQUFxQjtJQUMxQixVQUFVLENBQTBCO0lBRXBDLFlBQVksTUFBNEIsRUFBRSxNQUFtQjtRQUMzRCxLQUFLLENBQ0gsTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDdEUsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQW9DLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBOEI7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUN4QyxJQUFJLENBQUMsSUFBSSxDQUNrQixDQUFDO1lBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxD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QUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FDTixLQUFpQixFQUNqQixFQUNFLE1BQU0sRUFDTixVQUFVLEdBQUcsS0FBSyxNQUloQixFQUFFO1FBRU4sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL21vZGVsJztcbmltcG9ydCB7XG4gIFBhcnNlck9wdGlvbnMsXG4gIFN0cnVjdHVyZWRUeXBlQ29uZmlnLFxuICBTdHJ1Y3R1cmVkVHlwZUZpZWxkQ29uZmlnLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPRGF0YVBhcnNlclNjaGVtYUVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHtcbiAgSnNvblNjaGVtYU9wdGlvbnMsXG4gIE9EYXRhRW50aXR5VHlwZUtleSxcbiAgT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyLFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyLFxufSBmcm9tICcuL3BhcnNlcnMnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+IGV4dGVuZHMgT0RhdGFQYXJzZXJTY2hlbWFFbGVtZW50PFxuICBULFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyPFQ+XG4+IHtcbiAgYmFzZT86IHN0cmluZztcbiAgcGFyZW50PzogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICBjaGlsZHJlbjogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+W10gPSBbXTtcbiAgbW9kZWw/OiB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgY29sbGVjdGlvbj86IHR5cGVvZiBPRGF0YUNvbGxlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZywgc2NoZW1hOiBPRGF0YVNjaGVtYSkge1xuICAgIHN1cGVyKFxuICAgICAgY29uZmlnLFxuICAgICAgc2NoZW1hLFxuICAgICAgbmV3IE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIoY29uZmlnLCBzY2hlbWEubmFtZXNwYWNlLCBzY2hlbWEuYWxpYXMpLFxuICAgICk7XG4gICAgdGhpcy5iYXNlID0gY29uZmlnLmJhc2U7XG4gICAgdGhpcy5tb2RlbCA9IGNvbmZpZy5tb2RlbCBhcyB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25maWcuY29sbGVjdGlvbiBhcyB0eXBlb2YgT0RhdGFDb2xsZWN0aW9uO1xuICB9XG5cbiAgY29uZmlndXJlKHsgb3B0aW9ucyB9OiB7IG9wdGlvbnM6IFBhcnNlck9wdGlvbnMgfSkge1xuICAgIGlmICh0aGlzLmJhc2UpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZShcbiAgICAgICAgdGhpcy5iYXNlLFxuICAgICAgKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gICAgICBwYXJlbnQuY2hpbGRyZW4ucHVzaCh0aGlzKTtcbiAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIH1cbiAgICB0aGlzLnBhcnNlci5jb25maWd1cmUoe1xuICAgICAgb3B0aW9ucyxcbiAgICAgIHBhcnNlckZvclR5cGU6ICh0OiBzdHJpbmcpID0+IHRoaXMuYXBpLnBhcnNlckZvclR5cGUodCksXG4gICAgfSk7XG4gICAgaWYgKHRoaXMubW9kZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tb2RlbC5tZXRhID0gdGhpcy5hcGkub3B0aW9uc0ZvclR5cGU8VD4odGhpcy50eXBlKCksIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1vZGVsLm9wdGlvbnMsXG4gICAgICAgIHN0cnVjdHVyZWRUeXBlOiB0aGlzLFxuICAgICAgfSkhO1xuICAgICAgaWYgKHRoaXMubW9kZWwubWV0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIENvbmZpZ3VyZVxuICAgICAgICB0aGlzLm1vZGVsLm1ldGEuY29uZmlndXJlKHsgb3B0aW9ucyB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmNvbGxlY3Rpb24ubW9kZWwgPSB0aGlzLm1vZGVsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaXMgYSBzdWJ0eXBlIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKiBAcGFyYW0gdHlwZSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHR5cGVcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgY2FsbGFibGUgaXMgdHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZVxuICAgKi9cbiAgb3ZlcnJpZGUgaXNTdWJ0eXBlT2Yoc2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3VwZXIuaXNTdWJ0eXBlT2Yoc2NoZW1hKSB8fFxuICAgICAgKHRoaXMucGFyZW50ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYXJlbnQuaXNTdWJ0eXBlT2Yoc2NoZW1hKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBpcyBhIHN1cGVydHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAgICogQHBhcmFtIHR5cGUgU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0eXBlXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGNhbGxhYmxlIGlzIHR5cGUgb2YgdGhlIGdpdmVuIHR5cGVcbiAgICovXG4gIG92ZXJyaWRlIGlzU3VwZXJ0eXBlT2Yoc2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3VwZXIuaXNTdXBlcnR5cGVPZihzY2hlbWEpIHx8XG4gICAgICB0aGlzLmNoaWxkcmVuLnNvbWUoKGMpID0+IGMuaXNTdXBlcnR5cGVPZihzY2hlbWEpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGhhcyBhIHNpbXBsZSBrZXkuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBzaW1wbGUga2V5XG4gICAqL1xuICBpc1NpbXBsZUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBjb21wb3VuZCBrZXkuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBjb21wb3VuZCBrZXkuXG4gICAqL1xuICBpc0NvbXBvdW5kS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmtleXMoKS5sZW5ndGggPiAxO1xuICB9XG5cbiAgaXNPcGVuVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuaXNPcGVuVHlwZSgpO1xuICB9XG5cbiAgaXNFbnRpdHlUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5pc0VudGl0eVR5cGUoKTtcbiAgfVxuXG4gIGlzQ29tcGxleFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmlzQ29tcGxleFR5cGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHRoZSBmaWVsZCBwYXJzZXIgZm9yIHRoZSBnaXZlbiBmaWVsZCBuYW1lLlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBmaWVsZFxuICAgKiBAcmV0dXJucyBUaGUgZmllbGQgcGFyc2VyXG4gICAqL1xuICBmaWVsZDxGPihuYW1lOiBrZXlvZiBUKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmZpZWxkPEY+KG5hbWUpO1xuICB9XG5cbiAgYWRkRmllbGQ8Rj4oXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGNvbmZpZzogU3RydWN0dXJlZFR5cGVGaWVsZENvbmZpZyxcbiAgKTogT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyPEY+IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuYWRkRmllbGQobmFtZSwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGEgcGFyZW50IHNjaGVtYSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIGZvciBldmFsdWF0ZSB0aGUgc2NoZW1hcyBpbiB0aGUgaGllcmFyY2h5LlxuICAgKiBAcmV0dXJucyBUaGUgc2NoZW1hIHRoYXQgbWF0Y2hlcyB0aGUgcHJlZGljYXRlLlxuICAgKi9cbiAgZmluZFBhcmVudFNjaGVtYShcbiAgICBwcmVkaWNhdGU6IChwOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pID0+IGJvb2xlYW4sXG4gICk6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByZWRpY2F0ZSh0aGlzKSkgcmV0dXJuIHRoaXMgYXMgT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICAgIGlmICh0aGlzLnBhcmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5maW5kUGFyZW50U2NoZW1hKHByZWRpY2F0ZSk7XG4gIH1cblxuICBmaW5kQ2hpbGRTY2hlbWEoXG4gICAgcHJlZGljYXRlOiAocDogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+KSA9PiBib29sZWFuLFxuICApOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmIChwcmVkaWNhdGUodGhpcykpIHJldHVybiB0aGlzO1xuICAgIGxldCBtYXRjaDogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIGZvciAobGV0IGNoIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIG1hdGNoID0gY2guZmluZENoaWxkU2NoZW1hKHByZWRpY2F0ZSk7XG4gICAgICBpZiAobWF0Y2ggIT09IHVuZGVmaW5lZCkgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBtYXRjaDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGEgcGFyZW50IHNjaGVtYSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlIGZvciB0aGUgZ2l2ZW4gZmllbGQuXG4gICAqIEBwYXJhbSBmaWVsZCBGaWVsZCB0aGF0IGJlbG9uZ3MgdG8gdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKiBAcmV0dXJucyBUaGUgc2NoZW1hIG9mIHRoZSBmaWVsZFxuICAgKi9cbiAgZmluZFBhcmVudFNjaGVtYUZvckZpZWxkPEU+KGZpZWxkOiBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8YW55Pikge1xuICAgIHJldHVybiB0aGlzLmZpbmRQYXJlbnRTY2hlbWEoXG4gICAgICAocCkgPT5cbiAgICAgICAgcFxuICAgICAgICAgIC5maWVsZHMoeyBpbmNsdWRlX3BhcmVudHM6IGZhbHNlLCBpbmNsdWRlX25hdmlnYXRpb246IHRydWUgfSlcbiAgICAgICAgICAuZmluZCgoZikgPT4gZiA9PT0gZmllbGQpICE9PSB1bmRlZmluZWQsXG4gICAgKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPEU+O1xuICB9XG5cbiAgLyoqXG4gICAqIFBpY2tzIHRoZSBmaWVsZHMgZnJvbSBhdHRyaWJ1dGVzLlxuICAgKiBAcGFyYW0gYXR0cnNcbiAgICogQHBhcmFtIGluY2x1ZGVfcGFyZW50cyBJbmNsdWRlIHRoZSBwYXJlbnQgZmllbGRzXG4gICAqIEBwYXJhbSBpbmNsdWRlX25hdmlnYXRpb24gSW5jbHVkZSB0aGUgbmF2aWdhdGlvbiBmaWVsZHNcbiAgICogQHBhcmFtIGluY2x1ZGVfZXRhZyBJbmNsdWRlIHRoZSBldGFnIGZpZWxkXG4gICAqIEByZXR1cm5zIFRoZSBwaWNrZWQgZmllbGRzXG4gICAqL1xuICBwaWNrKFxuICAgIGF0dHJzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSxcbiAgICB7XG4gICAgICBpbmNsdWRlX2lkID0gdHJ1ZSxcbiAgICAgIGluY2x1ZGVfa2V5ID0gdHJ1ZSxcbiAgICAgIGluY2x1ZGVfcGFyZW50cyA9IHRydWUsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24gPSBmYWxzZSxcbiAgICAgIGluY2x1ZGVfY29tcHV0ZWQgPSBmYWxzZSxcbiAgICAgIGluY2x1ZGVfZXRhZyA9IHRydWUsXG4gICAgfToge1xuICAgICAgaW5jbHVkZV9pZD86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX2tleT86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX3BhcmVudHM/OiBib29sZWFuO1xuICAgICAgaW5jbHVkZV9uYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICAgIGluY2x1ZGVfY29tcHV0ZWQ/OiBib29sZWFuO1xuICAgICAgaW5jbHVkZV9ldGFnPzogYm9vbGVhbjtcbiAgICB9ID0ge30sXG4gICk6IFBhcnRpYWw8VD4ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5waWNrKGF0dHJzLCB7XG4gICAgICBpbmNsdWRlX2lkLFxuICAgICAgaW5jbHVkZV9rZXksXG4gICAgICBpbmNsdWRlX2V0YWcsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24sXG4gICAgICBpbmNsdWRlX2NvbXB1dGVkLFxuICAgICAgaW5jbHVkZV9wYXJlbnRzLFxuICAgICAgb3B0aW9uczogdGhpcy5hcGkub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlaWFsaXplIHRoZSBnaXZlbiB2YWx1ZSBmcm9tIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBkZXNlcmlhbGl6ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBkZXNlcmlhbGl6YXRpb25cbiAgICogQHJldHVybnMgRGVzZXJpYWxpemVkIHZhbHVlXG4gICAqL1xuICBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55LCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IFQge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5kZXNlcmlhbGl6ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplIHRoZSBnaXZlbiB2YWx1ZSBmb3IgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIHNlcmlhbGl6ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBzZXJpYWxpemF0aW9uXG4gICAqIEByZXR1cm5zIFNlcmlhbGl6ZWQgdmFsdWVcbiAgICovXG4gIHNlcmlhbGl6ZSh2YWx1ZTogVCwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5zZXJpYWxpemUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuY29kZSB0aGUgZ2l2ZW4gdmFsdWUgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBlbmNvZGVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZW5jb2RpbmdcbiAgICogQHJldHVybnMgRW5jb2RlZCB2YWx1ZVxuICAgKi9cbiAgZW5jb2RlKHZhbHVlOiBULCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmVuY29kZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgZmllbGRzIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSBpbmNsdWRlX25hdmlnYXRpb24gSW5jbHVkZSBuYXZpZ2F0aW9uIHByb3BlcnRpZXMgaW4gdGhlIHJlc3VsdC5cbiAgICogQHBhcmFtIGluY2x1ZGVfcGFyZW50cyBJbmNsdWRlIHRoZSBwYXJlbnQgdHlwZXMgaW4gdGhlIHJlc3VsdC5cbiAgICogQHJldHVybnMgQWxsIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKi9cbiAgZmllbGRzKHtcbiAgICBpbmNsdWRlX25hdmlnYXRpb24sXG4gICAgaW5jbHVkZV9wYXJlbnRzLFxuICB9OiB7XG4gICAgaW5jbHVkZV9wYXJlbnRzOiBib29sZWFuO1xuICAgIGluY2x1ZGVfbmF2aWdhdGlvbjogYm9vbGVhbjtcbiAgfSk6IE9EYXRhU3RydWN0dXJlZFR5cGVGaWVsZFBhcnNlcjxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5maWVsZHMoeyBpbmNsdWRlX25hdmlnYXRpb24sIGluY2x1ZGVfcGFyZW50cyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBrZXlzIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSBpbmNsdWRlX3BhcmVudHMgSW5jbHVkZSB0aGUgcGFyZW50IGZpZWxkc1xuICAgKiBAcmV0dXJucyBUaGUga2V5cyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqL1xuICBrZXlzKHtcbiAgICBpbmNsdWRlX3BhcmVudHMgPSB0cnVlLFxuICB9OiB7XG4gICAgaW5jbHVkZV9wYXJlbnRzPzogYm9vbGVhbjtcbiAgfSA9IHt9KTogT0RhdGFFbnRpdHlUeXBlS2V5W10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5rZXlzKHsgaW5jbHVkZV9wYXJlbnRzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgdGhlIGtleSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlIGZvciB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqIEBwYXJhbSBhdHRycyBBdHRyaWJ1dGVzIG9mIHRoZSB2YWx1ZVxuICAgKiBAcmV0dXJucyBSZXNvbHZlZCBrZXlcbiAgICovXG4gIHJlc29sdmVLZXkoYXR0cnM6IFQgfCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5yZXNvbHZlS2V5KGF0dHJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkZWZhdWx0cyB2YWx1ZXMgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEByZXR1cm5zIERlZmF1bHQgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqL1xuICBkZWZhdWx0cygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZGVmYXVsdHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRoZSBzdHJ1Y3R1cmVkIHR5cGUgdG8ganNvbiBzY2hlbWFcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IganNvbiBzY2hlbWFcbiAgICogQHJldHVybnMgSnNvbiBTY2hlbWFcbiAgICovXG4gIHRvSnNvblNjaGVtYShvcHRpb25zOiBKc29uU2NoZW1hT3B0aW9uczxUPiA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnRvSnNvblNjaGVtYShvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGUgZ2l2ZW4gdmFsdWUgYWdhaW5zdCB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gYXR0cnMgQXR0cmlidXRlcyBvZiB0aGUgdmFsdWVcbiAgICogQHBhcmFtIG1ldGhvZCBNZXRob2QgdG8gdXNlIGZvciB0aGUgcHJvY2VzcyB2YWxpZGF0aW9uXG4gICAqIEByZXR1cm5zIE9iamVjdCB3aXRoIHRoZSBlcnJvcnNcbiAgICovXG4gIHZhbGlkYXRlKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIG5hdmlnYXRpb24gPSBmYWxzZSxcbiAgICB9OiB7XG4gICAgICBtZXRob2Q/OiAnY3JlYXRlJyB8ICd1cGRhdGUnIHwgJ21vZGlmeSc7XG4gICAgICBuYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICB9ID0ge30sXG4gICkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci52YWxpZGF0ZShhdHRycywgeyBtZXRob2QsIG5hdmlnYXRpb24gfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- export class ODataBaseService {
2
- client;
3
- name;
4
- apiNameOrEntityType;
5
- constructor(client, name, apiNameOrEntityType) {
6
- this.client = client;
7
- this.name = name;
8
- this.apiNameOrEntityType = apiNameOrEntityType;
9
- }
10
- get api() {
11
- return this.client.apiFor(this.apiNameOrEntityType);
12
- }
13
- callFunction(params, resource, responseType, options = {}) {
14
- resource.query((q) => q.restore(options));
15
- return resource.call(params, {
16
- responseType: responseType,
17
- ...options,
18
- });
19
- }
20
- callAction(params, resource, responseType, options = {}) {
21
- resource.query((q) => q.restore(options));
22
- return resource.call(params, {
23
- responseType: responseType,
24
- ...options,
25
- });
26
- }
27
- fetchNavigationProperty(resource, responseType, options = {}) {
28
- resource.query((q) => q.restore(options));
29
- return resource.fetch({ responseType: responseType, ...options });
30
- }
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBRXhCO0lBQ0E7SUFDQTtJQUhaLFlBQ1ksTUFBbUIsRUFDbkIsSUFBWSxFQUNaLG1CQUE0QjtRQUY1QixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVM7SUFDckMsQ0FBQztJQUVKLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQTBCUyxZQUFZLENBQ3BCLE1BQWdCLEVBQ2hCLFFBQXFDLEVBQ3JDLFlBQXlELEVBQ3pELFVBQW1DLEVBQUU7UUFFckMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsWUFBWSxFQUFFLFlBQW1CO1lBQ2pDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUEwQlMsVUFBVSxDQUNsQixNQUFnQixFQUNoQixRQUFtQyxFQUNuQyxZQUF5RCxFQUN6RCxVQUFpQyxFQUFFO1FBRW5DLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzNCLFlBQVksRUFBRSxZQUFtQjtZQUNqQyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBWVMsdUJBQXVCLENBQy9CLFFBQTRDLEVBQzVDLFlBQW1DLEVBQ25DLFVBQXlDLEVBQUU7UUFFM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxZQUFtQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQge1xuICBPRGF0YUFjdGlvbk9wdGlvbnMsXG4gIE9EYXRhQWN0aW9uUmVzb3VyY2UsXG4gIE9EYXRhRW50aXRpZXMsXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUZ1bmN0aW9uT3B0aW9ucyxcbiAgT0RhdGFGdW5jdGlvblJlc291cmNlLFxuICBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLFxuICBPRGF0YVByb3BlcnR5LFxuICBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9EYXRhQmFzZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCxcbiAgICBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBhcGlOYW1lT3JFbnRpdHlUeXBlPzogc3RyaW5nLFxuICApIHt9XG5cbiAgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuYXBpRm9yKHRoaXMuYXBpTmFtZU9yRW50aXR5VHlwZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsbEZ1bmN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhRnVuY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YUZ1bmN0aW9uT3B0aW9uczxSPixcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFGdW5jdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFGdW5jdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFQcm9wZXJ0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ25vbmUnLFxuICAgIG9wdGlvbnM/OiBPRGF0YUZ1bmN0aW9uT3B0aW9uczxSPixcbiAgKTogT2JzZXJ2YWJsZTxudWxsPjtcbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhRnVuY3Rpb25PcHRpb25zPFI+ID0ge30sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEucmVzdG9yZShvcHRpb25zKSk7XG4gICAgcmV0dXJuIHJlc291cmNlLmNhbGwocGFyYW1zLCB7XG4gICAgICByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSBhcyBhbnksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YUFjdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhUHJvcGVydHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ25vbmUnLFxuICAgIG9wdGlvbnM/OiBPRGF0YUFjdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8bnVsbD47XG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhQWN0aW9uT3B0aW9uczxSPiA9IHt9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJlc291cmNlLnF1ZXJ5KChxKSA9PiBxLnJlc3RvcmUob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5jYWxsKHBhcmFtcywge1xuICAgICAgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxTPixcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxTPj47XG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFM+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uz4+O1xuICBwcm90ZWN0ZWQgZmV0Y2hOYXZpZ2F0aW9uUHJvcGVydHk8Uz4oXG4gICAgcmVzb3VyY2U6IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8Uz4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXR5JyB8ICdlbnRpdGllcycsXG4gICAgb3B0aW9uczogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uz4gPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXNvdXJjZS5xdWVyeSgocSkgPT4gcS5yZXN0b3JlKG9wdGlvbnMpKTtcbiAgICByZXR1cm4gcmVzb3VyY2UuZmV0Y2goeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSBhcyBhbnksIC4uLm9wdGlvbnMgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,161 +0,0 @@
1
- import { throwError } from 'rxjs';
2
- import { catchError } from 'rxjs/operators';
3
- import { ODataCollection } from '../models/collection';
4
- import { ODataModel } from '../models/model';
5
- import { ODataEntityService } from './entity';
6
- export class ODataEntitySetService extends ODataEntityService {
7
- static Model;
8
- static Collection;
9
- model(entity, reset) {
10
- const Service = this.constructor;
11
- return this.entity().asModel((entity ?? {}), {
12
- reset,
13
- ModelType: Service.Model,
14
- });
15
- }
16
- collection(entities, reset) {
17
- const Service = this.constructor;
18
- return this.entities().asCollection((entities ?? []), {
19
- reset,
20
- CollectionType: Service.Collection,
21
- });
22
- }
23
- /**
24
- * Get the entity set resource for this service.
25
- */
26
- entities() {
27
- return this.client.entitySet(this.name, this.apiNameOrEntityType);
28
- }
29
- /**
30
- * Get the entity resource for this service.
31
- * @param key The entity key.
32
- */
33
- entity(key) {
34
- return this.entities().entity(key);
35
- }
36
- attach(model) {
37
- if (model instanceof ODataModel) {
38
- model.attach(this.entities().entity());
39
- }
40
- else if (model instanceof ODataCollection) {
41
- model.attach(this.entities());
42
- }
43
- }
44
- /**
45
- * The schema for the entity set.
46
- */
47
- get entitySetSchema() {
48
- return this.api.findEntitySet(this.name);
49
- }
50
- /**
51
- * Get all entities from the entity set.
52
- * @param options The options for the request.
53
- */
54
- fetchAll(options) {
55
- return this.entities().fetchAll(options);
56
- }
57
- /**
58
- * Get entities from the entity set.
59
- * @param withCount Get the count of the entities.
60
- * @param options The options for the request.
61
- */
62
- fetchMany(top, options) {
63
- return this.entities().fetchMany(top, options);
64
- }
65
- /**
66
- * Get an entity from the entity set.
67
- * @param key The entity key.
68
- * @param etag The etag for the entity.
69
- * @param options The options for the request.
70
- */
71
- fetchOne(options) {
72
- return this.entities().fetchOne(options);
73
- }
74
- /**
75
- * Create an entity in the entity set.
76
- * @param attrs The attributes for the entity.
77
- * @param options The options for the request.
78
- */
79
- create(attrs, options) {
80
- return this.entities().create(attrs, options);
81
- }
82
- /**
83
- * Update an entity in the entity set.
84
- * @param key The entity key.
85
- * @param attrs The attributes for the entity.
86
- * @param etag The etag for the entity.
87
- * @param options The options for the request.
88
- */
89
- update(key, attrs, options) {
90
- const res = this.entity(key);
91
- if (!res.hasKey())
92
- return throwError(() => new Error('update: Resource without key'));
93
- return res.update(attrs, options);
94
- }
95
- /**
96
- * Patch an entity in the entity set.
97
- * @param key The entity key.
98
- * @param attrs The attributes for the entity.
99
- * @param etag The etag for the entity.
100
- * @param options The options for the request.
101
- */
102
- modify(key, attrs, options) {
103
- const res = this.entity(key);
104
- if (!res.hasKey())
105
- return throwError(() => new Error('modify: Resource without key'));
106
- return res.modify(attrs, options);
107
- }
108
- /**
109
- * Delete an entity in the entity set.
110
- * @param key The entity key.
111
- * @param etag The etag for the entity.
112
- * @param options The options for the request.
113
- */
114
- destroy(key, options) {
115
- const res = this.entity(key);
116
- if (!res.hasKey())
117
- return throwError(() => new Error('destroy: Resource without key'));
118
- return res.destroy(options);
119
- }
120
- //#region Shortcuts
121
- /**
122
- * Get or create an entity in the entity set.
123
- * @param key The entity key.
124
- * @param attrs The attributes for the entity.
125
- * @param etag The etag for the entity.
126
- * @param options The options for the request.
127
- */
128
- fetchOrCreate(key, attrs, { etag, ...options } = {}) {
129
- return this.entity(key)
130
- .fetch({ etag, ...options })
131
- .pipe(catchError((error) => {
132
- if (error.status === 404)
133
- return this.create(attrs, options);
134
- else
135
- return throwError(() => error);
136
- }));
137
- }
138
- /**
139
- * Save an entity in the entity set.
140
- * @param attrs The attributes for the entity.
141
- * @param method The method to use.
142
- * @param etag The etag for the entity.
143
- * @param options The options for the request.
144
- */
145
- save(attrs, { etag, method, ...options } = {}) {
146
- let schema = this.structuredTypeSchema;
147
- if (method === undefined && schema !== undefined && schema.isCompoundKey())
148
- return throwError(() => new Error('save: Composite key require a specific method, use create/update/patch'));
149
- let key = schema && schema.resolveKey(attrs);
150
- if (method === undefined)
151
- method = key !== undefined ? 'update' : 'create';
152
- if ((method === 'update' || method === 'modify') && key === undefined)
153
- return throwError(() => new Error("save: Can't update/patch entity without key"));
154
- return method === 'create'
155
- ? this.create(attrs, options)
156
- : method === 'modify'
157
- ? this.modify(key, attrs, { etag, ...options })
158
- : this.update(key, attrs, { etag, ...options });
159
- }
160
- }
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9lbnRpdHktc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlDLE1BQU0sT0FBTyxxQkFBeUIsU0FBUSxrQkFBcUI7SUFDakUsTUFBTSxDQUFDLEtBQUssQ0FBcUI7SUFDakMsTUFBTSxDQUFDLFVBQVUsQ0FBMEI7SUFFM0MsS0FBSyxDQUFDLE1BQW1CLEVBQUUsS0FBZTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBMkMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFlLEVBQUU7WUFDekQsS0FBSztZQUNMLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQXVCLEVBQUUsS0FBZTtRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBMkMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFpQixFQUFFO1lBQ3BFLEtBQUs7WUFDTCxjQUFjLEVBQUUsT0FBTyxDQUFDLFVBQVU7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztP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LFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDM0UsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQ25FLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQy9ELENBQUM7UUFDSixPQUFPLE1BQU0sS0FBSyxRQUFRO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDN0IsQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRO2dCQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9EYXRhQ29sbGVjdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWwnO1xuaW1wb3J0IHtcbiAgRW50aXR5S2V5LFxuICBPRGF0YUVudGl0eSxcbiAgT0RhdGFFbnRpdHlSZXNvdXJjZSxcbiAgT0RhdGFFbnRpdHlTZXRSZXNvdXJjZSxcbiAgT0RhdGFPcHRpb25zLFxufSBmcm9tICcuLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9lbnRpdHknO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlPFQ+IGV4dGVuZHMgT0RhdGFFbnRpdHlTZXJ2aWNlPFQ+IHtcbiAgc3RhdGljIE1vZGVsPzogdHlwZW9mIE9EYXRhTW9kZWw7XG4gIHN0YXRpYyBDb2xsZWN0aW9uPzogdHlwZW9mIE9EYXRhQ29sbGVjdGlvbjtcblxuICBtb2RlbChlbnRpdHk/OiBQYXJ0aWFsPFQ+LCByZXNldD86IGJvb2xlYW4pIHtcbiAgICBjb25zdCBTZXJ2aWNlID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmVudGl0eSgpLmFzTW9kZWwoKGVudGl0eSA/PyB7fSkgYXMgUGFydGlhbDxUPiwge1xuICAgICAgcmVzZXQsXG4gICAgICBNb2RlbFR5cGU6IFNlcnZpY2UuTW9kZWwsXG4gICAgfSk7XG4gIH1cblxuICBjb2xsZWN0aW9uKGVudGl0aWVzPzogUGFydGlhbDxUPltdLCByZXNldD86IGJvb2xlYW4pIHtcbiAgICBjb25zdCBTZXJ2aWNlID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuYXNDb2xsZWN0aW9uKChlbnRpdGllcyA/PyBbXSkgYXMgUGFydGlhbDxUPltdLCB7XG4gICAgICByZXNldCxcbiAgICAgIENvbGxlY3Rpb25UeXBlOiBTZXJ2aWNlLkNvbGxlY3Rpb24sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBlbnRpdHkgc2V0IHJlc291cmNlIGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgZW50aXRpZXMoKTogT0RhdGFFbnRpdHlTZXRSZXNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmVudGl0eVNldDxUPih0aGlzLm5hbWUsIHRoaXMuYXBpTmFtZU9yRW50aXR5VHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBlbnRpdHkgcmVzb3VyY2UgZm9yIHRoaXMgc2VydmljZS5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICovXG4gIHB1YmxpYyBlbnRpdHkoa2V5PzogRW50aXR5S2V5PFQ+KTogT0RhdGFFbnRpdHlSZXNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMoKS5lbnRpdHkoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggYW4gZXhpc3RpbmcgbW9kZWwgdG8gdGhpcyBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gbW9kZWwgVGhlIG1vZGVsIHRvIGF0dGFjaC5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2g8TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4+KG1vZGVsOiBNKTogdm9pZDtcbiAgcHVibGljIGF0dGFjaDxDIGV4dGVuZHMgT0RhdGFDb2xsZWN0aW9uPFQsIE9EYXRhTW9kZWw8VD4+Pihtb2RlbDogQyk6IHZvaWQ7XG4gIHB1YmxpYyBhdHRhY2gobW9kZWw6IGFueSk6IHZvaWQge1xuICAgIGlmIChtb2RlbCBpbnN0YW5jZW9mIE9EYXRhTW9kZWwpIHtcbiAgICAgIG1vZGVsLmF0dGFjaCh0aGlzLmVudGl0aWVzKCkuZW50aXR5KCkpO1xuICAgIH0gZWxzZSBpZiAobW9kZWwgaW5zdGFuY2VvZiBPRGF0YUNvbGxlY3Rpb24pIHtcbiAgICAgIG1vZGVsLmF0dGFjaCh0aGlzLmVudGl0aWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIGZvciB0aGUgZW50aXR5IHNldC5cbiAgICovXG4gIGdldCBlbnRpdHlTZXRTY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpLmZpbmRFbnRpdHlTZXQodGhpcy5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGVudGl0aWVzIGZyb20gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBmZXRjaEFsbChvcHRpb25zPzogT0RhdGFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMoKS5mZXRjaEFsbChvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZW50aXRpZXMgZnJvbSB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIHdpdGhDb3VudCBHZXQgdGhlIGNvdW50IG9mIHRoZSBlbnRpdGllcy5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZldGNoTWFueShcbiAgICB0b3A6IG51bWJlcixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyB3aXRoQ291bnQ/OiBib29sZWFuIH0sXG4gICkge1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuZmV0Y2hNYW55KHRvcCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGVudGl0eSBmcm9tIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0ga2V5IFRoZSBlbnRpdHkga2V5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZldGNoT25lKG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuZmV0Y2hPbmUob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcygpLmNyZWF0ZShhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZShcbiAgICBrZXk6IEVudGl0eUtleTxUPixcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmVudGl0eShrZXkpO1xuICAgIGlmICghcmVzLmhhc0tleSgpKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCd1cGRhdGU6IFJlc291cmNlIHdpdGhvdXQga2V5JykpO1xuICAgIHJldHVybiByZXMudXBkYXRlKGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXRjaCBhbiBlbnRpdHkgaW4gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGVudGl0eSBrZXkuXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBtb2RpZnkoXG4gICAga2V5OiBFbnRpdHlLZXk8VD4sXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgY29uc3QgcmVzID0gdGhpcy5lbnRpdHkoa2V5KTtcbiAgICBpZiAoIXJlcy5oYXNLZXkoKSlcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignbW9kaWZ5OiBSZXNvdXJjZSB3aXRob3V0IGtleScpKTtcbiAgICByZXR1cm4gcmVzLm1vZGlmeShhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KFxuICAgIGtleTogRW50aXR5S2V5PFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSxcbiAgKSB7XG4gICAgY29uc3QgcmVzID0gdGhpcy5lbnRpdHkoa2V5KTtcbiAgICBpZiAoIXJlcy5oYXNLZXkoKSlcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignZGVzdHJveTogUmVzb3VyY2Ugd2l0aG91dCBrZXknKSk7XG4gICAgcmV0dXJuIHJlcy5kZXN0cm95KG9wdGlvbnMpO1xuICB9XG5cbiAgLy8jcmVnaW9uIFNob3J0Y3V0c1xuICAvKipcbiAgICogR2V0IG9yIGNyZWF0ZSBhbiBlbnRpdHkgaW4gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGVudGl0eSBrZXkuXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBmZXRjaE9yQ3JlYXRlKFxuICAgIGtleTogRW50aXR5S2V5PFQ+LFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIHsgZXRhZywgLi4ub3B0aW9ucyB9OiB7IGV0YWc/OiBzdHJpbmcgfSAmIE9EYXRhT3B0aW9ucyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5KGtleSlcbiAgICAgIC5mZXRjaCh7IGV0YWcsIC4uLm9wdGlvbnMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHJldHVybiB0aGlzLmNyZWF0ZShhdHRycywgb3B0aW9ucyk7XG4gICAgICAgICAgZWxzZSByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gbWV0aG9kIFRoZSBtZXRob2QgdG8gdXNlLlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHNhdmUoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAge1xuICAgICAgZXRhZyxcbiAgICAgIG1ldGhvZCxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9OiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgIH0gJiBPRGF0YU9wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgbGV0IHNjaGVtYSA9IHRoaXMuc3RydWN0dXJlZFR5cGVTY2hlbWE7XG4gICAgaWYgKG1ldGhvZCA9PT0gdW5kZWZpbmVkICYmIHNjaGVtYSAhPT0gdW5kZWZpbmVkICYmIHNjaGVtYS5pc0NvbXBvdW5kS2V5KCkpXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICBuZXcgRXJyb3IoXG4gICAgICAgICAgICAnc2F2ZTogQ29tcG9zaXRlIGtleSByZXF1aXJlIGEgc3BlY2lmaWMgbWV0aG9kLCB1c2UgY3JlYXRlL3VwZGF0ZS9wYXRjaCcsXG4gICAgICAgICAgKSxcbiAgICAgICk7XG4gICAgbGV0IGtleSA9IHNjaGVtYSAmJiBzY2hlbWEucmVzb2x2ZUtleShhdHRycyk7XG4gICAgaWYgKG1ldGhvZCA9PT0gdW5kZWZpbmVkKSBtZXRob2QgPSBrZXkgIT09IHVuZGVmaW5lZCA/ICd1cGRhdGUnIDogJ2NyZWF0ZSc7XG4gICAgaWYgKChtZXRob2QgPT09ICd1cGRhdGUnIHx8IG1ldGhvZCA9PT0gJ21vZGlmeScpICYmIGtleSA9PT0gdW5kZWZpbmVkKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICgpID0+IG5ldyBFcnJvcihcInNhdmU6IENhbid0IHVwZGF0ZS9wYXRjaCBlbnRpdHkgd2l0aG91dCBrZXlcIiksXG4gICAgICApO1xuICAgIHJldHVybiBtZXRob2QgPT09ICdjcmVhdGUnXG4gICAgICA/IHRoaXMuY3JlYXRlKGF0dHJzLCBvcHRpb25zKVxuICAgICAgOiBtZXRob2QgPT09ICdtb2RpZnknXG4gICAgICAgID8gdGhpcy5tb2RpZnkoa2V5LCBhdHRycywgeyBldGFnLCAuLi5vcHRpb25zIH0pXG4gICAgICAgIDogdGhpcy51cGRhdGUoa2V5LCBhdHRycywgeyBldGFnLCAuLi5vcHRpb25zIH0pO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
@@ -1,12 +0,0 @@
1
- import { ODataBaseService } from './base';
2
- export class ODataEntityService extends ODataBaseService {
3
- /**
4
- * The schema for the structured type.
5
- */
6
- get structuredTypeSchema() {
7
- return this.apiNameOrEntityType !== undefined
8
- ? this.api.findStructuredType(this.apiNameOrEntityType)
9
- : undefined;
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NlcnZpY2VzL2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFMUMsTUFBTSxPQUFnQixrQkFBc0IsU0FBUSxnQkFBZ0I7SUFJbEU7O09BRUc7SUFDSCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxTQUFTO1lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUMxRCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5S2V5LCBPRGF0YVJlc291cmNlIH0gZnJvbSAnLi4vcmVzb3VyY2VzJztcbmltcG9ydCB7IE9EYXRhQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT0RhdGFFbnRpdHlTZXJ2aWNlPFQ+IGV4dGVuZHMgT0RhdGFCYXNlU2VydmljZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBlbnRpdHkoa2V5PzogRW50aXR5S2V5PFQ+KTogT0RhdGFSZXNvdXJjZTxUPjtcbiAgcHVibGljIGFic3RyYWN0IGF0dGFjaDxNIGV4dGVuZHMgT0RhdGFNb2RlbDxUPj4odmFsdWU6IE0pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKi9cbiAgZ2V0IHN0cnVjdHVyZWRUeXBlU2NoZW1hKCkge1xuICAgIHJldHVybiB0aGlzLmFwaU5hbWVPckVudGl0eVR5cGUgIT09IHVuZGVmaW5lZFxuICAgICAgPyB0aGlzLmFwaS5maW5kU3RydWN0dXJlZFR5cGU8VD4odGhpcy5hcGlOYW1lT3JFbnRpdHlUeXBlKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ODataEntitySetService } from './entity-set';
3
- import { ODataSingletonService } from './singleton';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../client";
6
- export class ODataServiceFactory {
7
- client;
8
- constructor(client) {
9
- this.client = client;
10
- }
11
- /**
12
- * Factory method to create an entity set service.
13
- * @param entitySetName Name of the entity set.
14
- * @param apiNameOrEntityType Name of the API or the type of the entity.
15
- */
16
- entitySet(entitySetName, apiNameOrEntityType, options = {}) {
17
- const Service = class extends ODataEntitySetService {
18
- Model = options?.Model;
19
- Collection = options?.Collection;
20
- };
21
- return new Service(this.client, entitySetName, apiNameOrEntityType);
22
- }
23
- /** Factory method to create a singleton service.
24
- * @param singletonName Name of the singleton.
25
- * @param apiNameOrEntityType Name of the API or the type of the entity.
26
- */
27
- singleton(singletonName, apiNameOrEntityType, options = {}) {
28
- const Service = class extends ODataSingletonService {
29
- Model = options?.Model;
30
- };
31
- return new Service(this.client, singletonName, apiNameOrEntityType);
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ODataServiceFactory, deps: [{ token: i1.ODataClient }], target: i0.ɵɵFactoryTarget.Injectable });
34
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ODataServiceFactory });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ODataServiceFactory, decorators: [{
37
- type: Injectable
38
- }], ctorParameters: () => [{ type: i1.ODataClient }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBSXBELE1BQU0sT0FBTyxtQkFBbUI7SUFDUjtJQUF0QixZQUFzQixNQUFtQjtRQUFuQixXQUFNLEdBQU4sTUFBTSxDQUFhO0lBQUcsQ0FBQztJQUU3Qzs7OztPQUlHO0lBQ0gsU0FBUyxDQUNQLGFBQXFCLEVBQ3JCLG1CQUE0QixFQUM1QixVQUtJLEVBQUU7UUFFTixNQUFNLE9BQU8sR0FBRyxLQUFNLFNBQVEscUJBQXdCO1lBQ3BELEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQ3ZCLFVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxDQUFDO1NBQ2xDLENBQUM7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FDUCxhQUFxQixFQUNyQixtQkFBNEIsRUFDNUIsVUFBaUUsRUFBRTtRQUVuRSxNQUFNLE9BQU8sR0FBRyxLQUFNLFNBQVEscUJBQXdCO1lBQ3BELEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1NBQ3hCLENBQUM7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQzt1R0F0Q1UsbUJBQW1COzJHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNldFNlcnZpY2UgfSBmcm9tICcuL2VudGl0eS1zZXQnO1xuaW1wb3J0IHsgT0RhdGFTaW5nbGV0b25TZXJ2aWNlIH0gZnJvbSAnLi9zaW5nbGV0b24nO1xuaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uLCBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9EYXRhU2VydmljZUZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCkge31cblxuICAvKipcbiAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGFuIGVudGl0eSBzZXQgc2VydmljZS5cbiAgICogQHBhcmFtIGVudGl0eVNldE5hbWUgTmFtZSBvZiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGFwaU5hbWVPckVudGl0eVR5cGUgTmFtZSBvZiB0aGUgQVBJIG9yIHRoZSB0eXBlIG9mIHRoZSBlbnRpdHkuXG4gICAqL1xuICBlbnRpdHlTZXQ8VD4oXG4gICAgZW50aXR5U2V0TmFtZTogc3RyaW5nLFxuICAgIGFwaU5hbWVPckVudGl0eVR5cGU/OiBzdHJpbmcsXG4gICAgb3B0aW9uczoge1xuICAgICAgTW9kZWw/OiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IE9EYXRhTW9kZWw8VD4gfTtcbiAgICAgIENvbGxlY3Rpb24/OiB7XG4gICAgICAgIG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IE9EYXRhQ29sbGVjdGlvbjxULCBPRGF0YU1vZGVsPFQ+PjtcbiAgICAgIH07XG4gICAgfSA9IHt9LFxuICApOiBPRGF0YUVudGl0eVNldFNlcnZpY2U8VD4ge1xuICAgIGNvbnN0IFNlcnZpY2UgPSBjbGFzcyBleHRlbmRzIE9EYXRhRW50aXR5U2V0U2VydmljZTxUPiB7XG4gICAgICBNb2RlbCA9IG9wdGlvbnM/Lk1vZGVsO1xuICAgICAgQ29sbGVjdGlvbiA9IG9wdGlvbnM/LkNvbGxlY3Rpb247XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFNlcnZpY2UodGhpcy5jbGllbnQsIGVudGl0eVNldE5hbWUsIGFwaU5hbWVPckVudGl0eVR5cGUpO1xuICB9XG5cbiAgLyoqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIHNpbmdsZXRvbiBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gc2luZ2xldG9uTmFtZSBOYW1lIG9mIHRoZSBzaW5nbGV0b24uXG4gICAqIEBwYXJhbSBhcGlOYW1lT3JFbnRpdHlUeXBlIE5hbWUgb2YgdGhlIEFQSSBvciB0aGUgdHlwZSBvZiB0aGUgZW50aXR5LlxuICAgKi9cbiAgc2luZ2xldG9uPFQ+KFxuICAgIHNpbmdsZXRvbk5hbWU6IHN0cmluZyxcbiAgICBhcGlOYW1lT3JFbnRpdHlUeXBlPzogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgTW9kZWw/OiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IE9EYXRhTW9kZWw8VD4gfSB9ID0ge30sXG4gICk6IE9EYXRhU2luZ2xldG9uU2VydmljZTxUPiB7XG4gICAgY29uc3QgU2VydmljZSA9IGNsYXNzIGV4dGVuZHMgT0RhdGFTaW5nbGV0b25TZXJ2aWNlPFQ+IHtcbiAgICAgIE1vZGVsID0gb3B0aW9ucz8uTW9kZWw7XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFNlcnZpY2UodGhpcy5jbGllbnQsIHNpbmdsZXRvbk5hbWUsIGFwaU5hbWVPckVudGl0eVR5cGUpO1xuICB9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- export * from './base';
2
- export * from './entity-set';
3
- export * from './singleton';
4
- export * from './factory';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vc2luZ2xldG9uJztcbmV4cG9ydCAqIGZyb20gJy4vZmFjdG9yeSc7XG4iXX0=