angular-odata 0.140.0 → 0.141.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 (58) hide show
  1. package/fesm2022/angular-odata.mjs +82 -61
  2. package/fesm2022/angular-odata.mjs.map +1 -1
  3. package/index.d.ts +243 -213
  4. package/package.json +1 -1
  5. package/schematics/apigen/angular/api-config.d.ts +2 -1
  6. package/schematics/apigen/angular/api-config.js +9 -3
  7. package/schematics/apigen/angular/api-config.js.map +1 -1
  8. package/schematics/apigen/angular/base.d.ts +12 -3
  9. package/schematics/apigen/angular/base.js +87 -5
  10. package/schematics/apigen/angular/base.js.map +1 -1
  11. package/schematics/apigen/angular/collection.d.ts +23 -0
  12. package/schematics/apigen/angular/collection.js +79 -0
  13. package/schematics/apigen/angular/collection.js.map +1 -0
  14. package/schematics/apigen/angular/entity.d.ts +8 -2
  15. package/schematics/apigen/angular/entity.js +45 -14
  16. package/schematics/apigen/angular/entity.js.map +1 -1
  17. package/schematics/apigen/angular/enum.d.ts +2 -1
  18. package/schematics/apigen/angular/enum.js +2 -2
  19. package/schematics/apigen/angular/enum.js.map +1 -1
  20. package/schematics/apigen/angular/model.d.ts +40 -0
  21. package/schematics/apigen/angular/model.js +265 -0
  22. package/schematics/apigen/angular/model.js.map +1 -0
  23. package/schematics/apigen/angular/module.d.ts +3 -1
  24. package/schematics/apigen/angular/module.js +3 -2
  25. package/schematics/apigen/angular/module.js.map +1 -1
  26. package/schematics/apigen/angular/package.d.ts +38 -0
  27. package/schematics/apigen/angular/package.js +169 -0
  28. package/schematics/apigen/angular/package.js.map +1 -0
  29. package/schematics/apigen/angular/service.d.ts +2 -1
  30. package/schematics/apigen/angular/service.js +2 -2
  31. package/schematics/apigen/angular/service.js.map +1 -1
  32. package/schematics/apigen/files/api-config/__fileName__.ts +9 -2
  33. package/schematics/apigen/files/collection/__fileName__.ts +20 -0
  34. package/schematics/apigen/files/entity/__fileName__.ts +2 -1
  35. package/schematics/apigen/files/model/__fileName__.ts +31 -0
  36. package/schematics/apigen/index.js +6 -88
  37. package/schematics/apigen/index.js.map +1 -1
  38. package/schematics/apigen/metadata/csdl/csdl-entity-set.js +1 -1
  39. package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -1
  40. package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +1 -0
  41. package/schematics/apigen/metadata/csdl/csdl-function-action.js +6 -0
  42. package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -1
  43. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +9 -1
  44. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +34 -1
  45. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -1
  46. package/schematics/apigen/metadata/csdl/csdl-singleton.js +1 -1
  47. package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -1
  48. package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +8 -3
  49. package/schematics/apigen/metadata/csdl/csdl-structural-property.js +11 -5
  50. package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -1
  51. package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +1 -0
  52. package/schematics/apigen/metadata/csdl/csdl-structured-type.js +16 -2
  53. package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -1
  54. package/schematics/apigen/metadata/metadata.d.ts +12 -1
  55. package/schematics/apigen/metadata/metadata.js +44 -2
  56. package/schematics/apigen/metadata/metadata.js.map +1 -1
  57. package/schematics/apigen/schema.d.ts +1 -0
  58. package/schematics/apigen/schema.json +5 -0
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Model = exports.ModelField = void 0;
4
+ const core_1 = require("@angular-devkit/core");
5
+ const base_1 = require("./base");
6
+ const schematics_1 = require("@angular-devkit/schematics");
7
+ const csdl_structural_property_1 = require("../metadata/csdl/csdl-structural-property");
8
+ const utils_1 = require("../utils");
9
+ class ModelField {
10
+ constructor(model, edmType) {
11
+ this.model = model;
12
+ this.edmType = edmType;
13
+ }
14
+ name() {
15
+ const required = !(this.edmType instanceof csdl_structural_property_1.CsdlNavigationProperty || this.edmType.Nullable);
16
+ const name = this.edmType.Name;
17
+ return name + (!required ? '?' : '');
18
+ }
19
+ type() {
20
+ const pkg = this.model.getPackage();
21
+ const enumType = pkg.findEnum(this.edmType.Type);
22
+ const entityType = pkg.findEntity(this.edmType.Type);
23
+ let type = "any";
24
+ if (enumType !== undefined) {
25
+ type = enumType.importedName;
26
+ type += this.edmType.Collection ? '[]' : '';
27
+ }
28
+ else if (entityType !== undefined) {
29
+ if (this.edmType.Collection) {
30
+ const collection = pkg.findCollection(this.edmType.Type);
31
+ const model = pkg.findModel(this.edmType.Type);
32
+ type = `${collection.importedName}<${entityType.importedName}, ${model.importedName}<${entityType.importedName}>>`;
33
+ }
34
+ else {
35
+ const model = pkg.findModel(this.edmType.Type);
36
+ type = `${model.importedName}<${entityType.importedName}>`;
37
+ }
38
+ }
39
+ else {
40
+ type = (0, utils_1.toTypescriptType)(this.edmType.Type);
41
+ type += this.edmType.Collection ? '[]' : '';
42
+ }
43
+ if (this.edmType.Nullable && !this.edmType.Collection) {
44
+ type += ' | null';
45
+ }
46
+ return type;
47
+ }
48
+ resource() {
49
+ const pkg = this.model.getPackage();
50
+ const resourceName = `$$${this.edmType.Name}`;
51
+ if (this.edmType instanceof csdl_structural_property_1.CsdlNavigationProperty) {
52
+ const entity = pkg.findEntity(this.edmType.Type);
53
+ return `public ${resourceName}() {
54
+ return this.navigationProperty<${entity === null || entity === void 0 ? void 0 : entity.importedName}>('${this.edmType.Name}');
55
+ }
56
+ `;
57
+ }
58
+ else {
59
+ return `public ${resourceName}() {
60
+ return this.property<${this.type()}>('${this.edmType.Name}');
61
+ }
62
+ `;
63
+ }
64
+ }
65
+ getter() {
66
+ const pkg = this.model.getPackage();
67
+ const getterName = `$${this.edmType.Name}`;
68
+ if (this.edmType instanceof csdl_structural_property_1.CsdlNavigationProperty) {
69
+ const entity = pkg.findEntity(this.edmType.Type);
70
+ return `public ${getterName}() {
71
+ return this.getAttribute<${entity === null || entity === void 0 ? void 0 : entity.importedName}>('${this.edmType.Name}') as ${entity === null || entity === void 0 ? void 0 : entity.importedName};
72
+ }
73
+ `;
74
+ }
75
+ else {
76
+ return `public ${getterName}() {
77
+ return this.getAttribute<${this.type()}>('${this.edmType.Name}') as ${this.type()};
78
+ }
79
+ `;
80
+ }
81
+ }
82
+ setter() {
83
+ const pkg = this.model.getPackage();
84
+ const setterName = `${this.edmType.Name}$$`;
85
+ if (this.edmType instanceof csdl_structural_property_1.CsdlNavigationProperty) {
86
+ const entity = pkg.findEntity(this.edmType.Type);
87
+ return `public ${setterName}(model: ${this.type()} | null, options?: ODataOptions) {
88
+ return this.setReference<${entity === null || entity === void 0 ? void 0 : entity.importedName}>('${this.edmType.Name}', model, options);
89
+ }
90
+ `;
91
+ }
92
+ else {
93
+ return `
94
+ `;
95
+ }
96
+ }
97
+ fetch() {
98
+ const pkg = this.model.getPackage();
99
+ const fetchName = `${this.edmType.Name}$`;
100
+ if (this.edmType instanceof csdl_structural_property_1.CsdlNavigationProperty) {
101
+ const entity = pkg.findEntity(this.edmType.Type);
102
+ return `public ${fetchName}(options?: ODataQueryArgumentsOptions<${entity === null || entity === void 0 ? void 0 : entity.importedName}>) {
103
+ return this.fetchAttribute<${entity === null || entity === void 0 ? void 0 : entity.importedName}>('${this.edmType.Name}', options) as Observable<${entity === null || entity === void 0 ? void 0 : entity.importedName}>;
104
+ }
105
+ `;
106
+ }
107
+ else {
108
+ return `public ${fetchName}(options?: ODataQueryArgumentsOptions<${this.type()}>) {
109
+ return this.fetchAttribute<${this.type()}>('${this.edmType.Name}', options) as Observable<${this.type()}>;
110
+ }
111
+ `;
112
+ }
113
+ }
114
+ isGeoSpatial() {
115
+ return this.edmType.Type.startsWith('Edm.Geography') || this.edmType.Type.startsWith('Edm.Geometry');
116
+ }
117
+ }
118
+ exports.ModelField = ModelField;
119
+ class Model extends base_1.Base {
120
+ constructor(pkg, options, edmType, entity) {
121
+ super(pkg, options);
122
+ this.edmType = edmType;
123
+ this.entity = entity;
124
+ }
125
+ entityType() {
126
+ return this.edmType.fullName();
127
+ }
128
+ template() {
129
+ return (0, schematics_1.url)('./files/model');
130
+ }
131
+ variables() {
132
+ var _a;
133
+ return {
134
+ type: this.name() + 'Model',
135
+ baseType: this.edmType.BaseType ? this.edmType.BaseType + 'Model' : null,
136
+ entity: this.entity,
137
+ fields: this.fields(),
138
+ hasGeoFields: this.hasGeoFields(),
139
+ geoFields: this.geoFields(),
140
+ callables: (_a = this.callables) !== null && _a !== void 0 ? _a : [],
141
+ navigations: this.navitations(),
142
+ };
143
+ }
144
+ name() {
145
+ return core_1.strings.classify(this.edmType.name()) + "Model";
146
+ }
147
+ fileName() {
148
+ return (core_1.strings.dasherize(this.edmType.name()) + '.model');
149
+ }
150
+ directory() {
151
+ return this.edmType.namespace().replace(/\./g, '/');
152
+ }
153
+ fullName() {
154
+ return this.edmType.fullName() + "Model";
155
+ }
156
+ importTypes() {
157
+ var _a, _b, _c, _d, _e, _f, _g, _h;
158
+ const pkg = this.getPackage();
159
+ const imports = [
160
+ this.entity.fullName()
161
+ ];
162
+ if (this.edmType.BaseType) {
163
+ imports.push(this.edmType.BaseType);
164
+ imports.push(this.edmType.BaseType + 'Model');
165
+ }
166
+ for (let prop of (_b = (_a = this.edmType) === null || _a === void 0 ? void 0 : _a.Property) !== null && _b !== void 0 ? _b : []) {
167
+ if (!prop.Type.startsWith('Edm.')) {
168
+ imports.push(prop.Type);
169
+ imports.push(prop.Type + 'Model');
170
+ if (prop.Collection) {
171
+ imports.push(prop.Type + 'Collection');
172
+ }
173
+ }
174
+ }
175
+ for (let prop of (_d = (_c = this.edmType) === null || _c === void 0 ? void 0 : _c.NavigationProperty) !== null && _d !== void 0 ? _d : []) {
176
+ if (!prop.Type.startsWith('Edm.')) {
177
+ imports.push(prop.Type);
178
+ imports.push(prop.Type + 'Model');
179
+ if (prop.Collection) {
180
+ imports.push(prop.Type + 'Collection');
181
+ }
182
+ }
183
+ }
184
+ for (let callable of (_e = this.callables) !== null && _e !== void 0 ? _e : []) {
185
+ imports.push(...callable.importTypes());
186
+ }
187
+ const service = pkg.findEntitySet(this.edmType.fullName());
188
+ if (service) {
189
+ imports.push(...((_f = service.NavigationPropertyBinding) !== null && _f !== void 0 ? _f : []).map(b => b.entityType()));
190
+ imports.push(...((_g = service.NavigationPropertyBinding) !== null && _g !== void 0 ? _g : [])
191
+ .map(b => b.resolvePropertyType((fullName) => pkg.findEntityType(fullName)))
192
+ .filter(e => e)
193
+ .map(e => e.fullName()));
194
+ imports.push(...((_h = service.NavigationPropertyBinding) !== null && _h !== void 0 ? _h : [])
195
+ .map(b => b.resolveNavigationPropertyType((fullName) => pkg.findEntityType(fullName)))
196
+ .filter(e => e)
197
+ .map(e => e.Type));
198
+ }
199
+ return imports;
200
+ }
201
+ navitations() {
202
+ var _a, _b;
203
+ const pkg = this.getPackage();
204
+ const service = pkg.findEntitySet(this.edmType.fullName());
205
+ if (service) {
206
+ const navigations = [];
207
+ let properties = [];
208
+ let entity = this.edmType;
209
+ while (entity) {
210
+ properties = [...properties, ...((_a = this.edmType.NavigationProperty) !== null && _a !== void 0 ? _a : [])];
211
+ if (!entity.BaseType) {
212
+ break;
213
+ }
214
+ entity = this.getPackage().findEntityType(entity.BaseType);
215
+ }
216
+ let bindings = (_b = service.NavigationPropertyBinding) === null || _b === void 0 ? void 0 : _b.filter(binding => properties.every(p => {
217
+ const nav = binding.resolveNavigationPropertyType((fullName) => pkg.findEntityType(fullName));
218
+ return p.Name !== (nav === null || nav === void 0 ? void 0 : nav.Name);
219
+ }));
220
+ return this.renderNavigationPropertyBindings(bindings);
221
+ }
222
+ return [];
223
+ }
224
+ renderNavigationPropertyBindings(bindings) {
225
+ const pkg = this.getPackage();
226
+ let result = [];
227
+ let casts = [];
228
+ for (let binding of bindings !== null && bindings !== void 0 ? bindings : []) {
229
+ const nav = binding.resolveNavigationPropertyType((fullName) => pkg.findEntityType(fullName));
230
+ const isCollection = nav ? nav.Collection : false;
231
+ const navEntity = nav ? pkg.findEntityType(nav.Type) : undefined;
232
+ const bindingEntity = pkg.findEntityType(binding.entityType());
233
+ const propertyEntity = binding.resolvePropertyType((fullName) => pkg.findEntityType(fullName));
234
+ const entity = pkg.findEntity((navEntity === null || navEntity === void 0 ? void 0 : navEntity.fullName()) || '');
235
+ if (propertyEntity && bindingEntity && false) {
236
+ }
237
+ else {
238
+ const returnType = isCollection ? `ODataCollection<${entity === null || entity === void 0 ? void 0 : entity.importedName}, ODataModel<${entity === null || entity === void 0 ? void 0 : entity.importedName}>>` : `ODataModel<${entity === null || entity === void 0 ? void 0 : entity.importedName}>`;
239
+ var responseType = isCollection ? "collection" : "model";
240
+ var methodName = `as${propertyEntity === null || propertyEntity === void 0 ? void 0 : propertyEntity.Name}` + (nav === null || nav === void 0 ? void 0 : nav.Name.substring(0, 1).toUpperCase()) + (nav === null || nav === void 0 ? void 0 : nav.Name.substring(1));
241
+ var castEntity = pkg.findEntity((propertyEntity === null || propertyEntity === void 0 ? void 0 : propertyEntity.fullName()) || '');
242
+ // Navigation
243
+ result.push(`public ${methodName}(options?: ODataQueryArgumentsOptions<${entity === null || entity === void 0 ? void 0 : entity.importedName}>) {
244
+ return this.fetchNavigationProperty<${entity === null || entity === void 0 ? void 0 : entity.importedName}>('${binding.Path}', '${responseType}', options) as Observable<${returnType}>;
245
+ }`);
246
+ }
247
+ }
248
+ return result;
249
+ }
250
+ fields() {
251
+ var _a, _b;
252
+ return [
253
+ ...((_a = this.edmType.Property) !== null && _a !== void 0 ? _a : []).map((p) => new ModelField(this, p)),
254
+ ...((_b = this.edmType.NavigationProperty) !== null && _b !== void 0 ? _b : []).map((p) => new ModelField(this, p)),
255
+ ];
256
+ }
257
+ geoFields() {
258
+ return this.fields().filter((p) => p.isGeoSpatial());
259
+ }
260
+ hasGeoFields() {
261
+ return this.geoFields().length > 0;
262
+ }
263
+ }
264
+ exports.Model = Model;
265
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/model.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,11 @@ import { Base } from './base';
2
2
  import { Source } from '@angular-devkit/schematics';
3
3
  import { Schema as ApiGenSchema } from '../schema';
4
4
  import { Service } from './service';
5
+ import { Package } from './package';
5
6
  export declare class Module extends Base {
7
+ protected pkg: Package;
6
8
  services: Service[];
7
- constructor(options: ApiGenSchema);
9
+ constructor(pkg: Package, options: ApiGenSchema);
8
10
  template(): Source;
9
11
  variables(): {
10
12
  [name: string]: any;
@@ -5,8 +5,9 @@ const core_1 = require("@angular-devkit/core");
5
5
  const base_1 = require("./base");
6
6
  const schematics_1 = require("@angular-devkit/schematics");
7
7
  class Module extends base_1.Base {
8
- constructor(options) {
9
- super(options);
8
+ constructor(pkg, options) {
9
+ super(pkg, options);
10
+ this.pkg = pkg;
10
11
  this.services = [];
11
12
  }
12
13
  template() {
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/module.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAC9B,2DAAyD;AAIzD,MAAa,MAAO,SAAQ,WAAI;IAE9B,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFjB,aAAQ,GAAc,EAAE,CAAC;IAGzB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACe,SAAS;QACvB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IACM,UAAU,CAAC,OAAgB;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhCD,wBAgCC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/module.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAC9B,2DAAyD;AAKzD,MAAa,MAAO,SAAQ,WAAI;IAE9B,YAAsB,GAAY,EAAE,OAAqB;QACvD,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QADA,QAAG,GAAH,GAAG,CAAS;QADlC,aAAQ,GAAc,EAAE,CAAC;IAGzB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACe,SAAS;QACvB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IACM,UAAU,CAAC,OAAgB;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhCD,wBAgCC"}
@@ -0,0 +1,38 @@
1
+ import { Base, Callable, Index, Metadata } from './base';
2
+ import { Schema as ApiGenSchema } from '../schema';
3
+ import { Module } from './module';
4
+ import { ApiConfig } from './api-config';
5
+ import { ODataMetadata } from '../metadata';
6
+ import { Enum } from './enum';
7
+ import { Entity } from './entity';
8
+ import { Model } from './model';
9
+ import { Collection } from './collection';
10
+ import { Service } from './service';
11
+ import { CsdlEnumType } from '../metadata/csdl/csdl-enum-type';
12
+ import { CsdlComplexType, CsdlEntityType } from '../metadata/csdl/csdl-structured-type';
13
+ import { CsdlEntitySet } from '../metadata/csdl/csdl-entity-set';
14
+ export declare class Package {
15
+ protected options: ApiGenSchema;
16
+ metadata: Metadata;
17
+ module: Module;
18
+ config: ApiConfig;
19
+ index: Index;
20
+ enums: Enum[];
21
+ entities: Entity[];
22
+ services: Service[];
23
+ models: Model[];
24
+ collections: Collection[];
25
+ functions: Callable[];
26
+ actions: Callable[];
27
+ constructor(options: ApiGenSchema, meta: ODataMetadata);
28
+ resolveImports(): void;
29
+ sources(): Base[];
30
+ findEnum(fullName: string): Enum | undefined;
31
+ findEnumType(fullName: string): CsdlEnumType | undefined;
32
+ findEntity(fullName: string): Entity | undefined;
33
+ findEntityType(fullName: string): CsdlEntityType | undefined;
34
+ findEntitySet(fullName: string): CsdlEntitySet | undefined;
35
+ findComplexType(fullName: string): CsdlComplexType | undefined;
36
+ findModel(fullName: string): Model | undefined;
37
+ findCollection(fullName: string): Collection | undefined;
38
+ }
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Package = void 0;
4
+ const base_1 = require("./base");
5
+ const module_1 = require("./module");
6
+ const api_config_1 = require("./api-config");
7
+ const enum_1 = require("./enum");
8
+ const entity_1 = require("./entity");
9
+ const model_1 = require("./model");
10
+ const collection_1 = require("./collection");
11
+ const service_1 = require("./service");
12
+ class Package {
13
+ constructor(options, meta) {
14
+ var _a, _b, _c, _d, _e, _f;
15
+ this.options = options;
16
+ this.enums = [];
17
+ this.entities = [];
18
+ this.services = [];
19
+ this.models = [];
20
+ this.collections = [];
21
+ this.functions = [];
22
+ this.actions = [];
23
+ this.metadata = new base_1.Metadata(this, options, meta);
24
+ this.module = new module_1.Module(this, options);
25
+ this.config = new api_config_1.ApiConfig(this, options);
26
+ this.index = new base_1.Index(this, options);
27
+ this.index.addDependency(this.module);
28
+ this.index.addDependency(this.config);
29
+ for (let s of meta.Schemas) {
30
+ const namespace = s.Namespace;
31
+ // Enum
32
+ for (const enumType of (_a = s.EnumType) !== null && _a !== void 0 ? _a : []) {
33
+ const enu = new enum_1.Enum(this, options, enumType);
34
+ this.enums.push(enu);
35
+ this.index.addDependency(enu);
36
+ }
37
+ // Entity
38
+ for (let entityType of (_b = s.EntityType) !== null && _b !== void 0 ? _b : []) {
39
+ const entity = new entity_1.Entity(this, options, entityType);
40
+ this.entities.push(entity);
41
+ this.index.addDependency(entity);
42
+ if (options.models) {
43
+ const model = new model_1.Model(this, options, entityType, entity);
44
+ this.index.addDependency(model);
45
+ this.models.push(model);
46
+ const collection = new collection_1.Collection(this, options, entityType, entity, model);
47
+ this.index.addDependency(collection);
48
+ this.collections.push(collection);
49
+ }
50
+ }
51
+ // Complex
52
+ for (let complexType of (_c = s.ComplexType) !== null && _c !== void 0 ? _c : []) {
53
+ const entity = new entity_1.Entity(this, options, complexType);
54
+ this.index.addDependency(entity);
55
+ this.entities.push(entity);
56
+ if (options.models) {
57
+ const model = new model_1.Model(this, options, complexType, entity);
58
+ this.index.addDependency(model);
59
+ this.models.push(model);
60
+ const collection = new collection_1.Collection(this, options, complexType, entity, model);
61
+ this.index.addDependency(collection);
62
+ this.collections.push(collection);
63
+ }
64
+ }
65
+ // Container
66
+ for (let entityContainer of (_d = s.EntityContainer) !== null && _d !== void 0 ? _d : []) {
67
+ const service = new service_1.Service(this, options, entityContainer);
68
+ this.module.addService(service);
69
+ this.index.addDependency(service);
70
+ this.services.push(service);
71
+ for (let entitySet of (_e = entityContainer.EntitySet) !== null && _e !== void 0 ? _e : []) {
72
+ const service = new service_1.Service(this, options, entitySet);
73
+ this.module.addService(service);
74
+ this.index.addDependency(service);
75
+ this.services.push(service);
76
+ }
77
+ for (let singleton of (_f = entityContainer.Singleton) !== null && _f !== void 0 ? _f : []) {
78
+ const service = new service_1.Service(this, options, singleton);
79
+ this.module.addService(service);
80
+ this.index.addDependency(service);
81
+ this.services.push(service);
82
+ }
83
+ }
84
+ }
85
+ this.functions = meta.functions().reduce((callables, f) => {
86
+ const callable = callables.find((c) => c.name() == f.Name);
87
+ if (callable !== undefined) {
88
+ callable.addOverload(f);
89
+ }
90
+ else {
91
+ callables.push(new base_1.Callable(f));
92
+ }
93
+ return callables;
94
+ }, []);
95
+ this.actions = meta.actions().reduce((callables, a) => {
96
+ const callable = callables.find((c) => c.name() == a.Name);
97
+ if (callable !== undefined) {
98
+ callable.addOverload(a);
99
+ }
100
+ else {
101
+ callables.push(new base_1.Callable(a));
102
+ }
103
+ return callables;
104
+ }, []);
105
+ this.services.forEach((s) => {
106
+ s.addCallables(this.functions.filter((f) => { var _a; return f.isBound() && ((_a = f.bindingParameter()) === null || _a === void 0 ? void 0 : _a.Type) === s.entityType(); }));
107
+ s.addCallables(this.actions.filter((f) => { var _a; return f.isBound() && ((_a = f.bindingParameter()) === null || _a === void 0 ? void 0 : _a.Type) === s.entityType(); }));
108
+ });
109
+ this.models
110
+ .forEach((m) => {
111
+ m.addCallables(this.functions.filter((f) => { var _a; return f.isBound() && ((_a = f.bindingParameter()) === null || _a === void 0 ? void 0 : _a.Type) === m.entityType(); }));
112
+ m.addCallables(this.actions.filter((f) => { var _a; return f.isBound() && ((_a = f.bindingParameter()) === null || _a === void 0 ? void 0 : _a.Type) === m.entityType(); }));
113
+ });
114
+ this.collections
115
+ .forEach((c) => {
116
+ c.addCallables(this.functions.filter((f) => { var _a; return f.isBound() && ((_a = f.bindingParameter()) === null || _a === void 0 ? void 0 : _a.Type) === c.entityType(); }));
117
+ c.addCallables(this.actions.filter((f) => { var _a; return f.isBound() && ((_a = f.bindingParameter()) === null || _a === void 0 ? void 0 : _a.Type) === c.entityType(); }));
118
+ });
119
+ }
120
+ resolveImports() {
121
+ const sources = this.sources();
122
+ sources.forEach((s) => {
123
+ for (let t of s.importTypes()) {
124
+ s.addDependencies(sources.filter((s) => s.fullName() === t));
125
+ }
126
+ s.cleanImportedNames();
127
+ });
128
+ }
129
+ sources() {
130
+ const sources = [
131
+ this.metadata,
132
+ this.index,
133
+ this.module,
134
+ this.config,
135
+ ...this.enums,
136
+ ...this.entities,
137
+ ...this.models,
138
+ ...this.collections,
139
+ ...this.services,
140
+ ];
141
+ return sources;
142
+ }
143
+ findEnum(fullName) {
144
+ return this.enums.find((e) => e.fullName() === fullName);
145
+ }
146
+ findEnumType(fullName) {
147
+ return this.metadata.findEnumType(fullName);
148
+ }
149
+ findEntity(fullName) {
150
+ return this.entities.find((e) => e.fullName() === fullName);
151
+ }
152
+ findEntityType(fullName) {
153
+ return this.metadata.findEntityType(fullName);
154
+ }
155
+ findEntitySet(fullName) {
156
+ return this.metadata.findEntitySet(fullName);
157
+ }
158
+ findComplexType(fullName) {
159
+ return this.metadata.findComplexType(fullName);
160
+ }
161
+ findModel(fullName) {
162
+ return this.models.find((m) => m.entityType() === fullName);
163
+ }
164
+ findCollection(fullName) {
165
+ return this.collections.find((c) => c.entityType() === fullName);
166
+ }
167
+ }
168
+ exports.Package = Package;
169
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/package.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,10 @@ import { CsdlSingleton } from '../metadata/csdl/csdl-singleton';
4
4
  import { CsdlEntitySet } from '../metadata/csdl/csdl-entity-set';
5
5
  import { Source } from '@angular-devkit/schematics';
6
6
  import { Schema as ApiGenSchema } from '../schema';
7
+ import { Package } from './package';
7
8
  export declare class Service extends Base {
8
9
  protected edmElement: CsdlEntitySet | CsdlEntityContainer | CsdlSingleton;
9
- constructor(options: ApiGenSchema, edmElement: CsdlEntitySet | CsdlEntityContainer | CsdlSingleton);
10
+ constructor(pkg: Package, options: ApiGenSchema, edmElement: CsdlEntitySet | CsdlEntityContainer | CsdlSingleton);
10
11
  template(): Source;
11
12
  variables(): {
12
13
  [name: string]: any;
@@ -7,8 +7,8 @@ const csdl_singleton_1 = require("../metadata/csdl/csdl-singleton");
7
7
  const csdl_entity_set_1 = require("../metadata/csdl/csdl-entity-set");
8
8
  const schematics_1 = require("@angular-devkit/schematics");
9
9
  class Service extends base_1.Base {
10
- constructor(options, edmElement) {
11
- super(options);
10
+ constructor(pkg, options, edmElement) {
11
+ super(pkg, options);
12
12
  this.edmElement = edmElement;
13
13
  }
14
14
  template() {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ODataApiConfig, EDM_PARSERS, ODataMetadata, ODataVersion } from 'angular-odata';
2
- import * as json from './metadata.json';
2
+ import * as json from './metadata.json';<% for (let imp of imports) { %>
3
+ import { <%= imp.names.join(", ") %> } from '<%= imp.path() %>';<% } %>
3
4
 
4
5
  export const <%= classify(name) %> = ODataMetadata.fromJson(json).toConfig({
5
6
  serviceRootUrl: '<%= serviceRootUrl %>',
@@ -7,5 +8,11 @@ export const <%= classify(name) %> = ODataMetadata.fromJson(json).toConfig({
7
8
  name: '<%= apiConfigName %>',
8
9
  version: '<%= version %>' as ODataVersion,
9
10
  creation: new Date('<%= creation.toISOString() %>'),
10
- parsers: EDM_PARSERS
11
+ parsers: EDM_PARSERS,
12
+ models: {<% for(const model of models) { %>
13
+ '<%= model.entityType() %>': <%= model.name() %>, <% } %>
14
+ },
15
+ collections: {<% for(const col of collections) { %>
16
+ '<%= col.entityType() %>': <%= col.name() %>, <% } %>
17
+ }
11
18
  }) as ODataApiConfig;
@@ -0,0 +1,20 @@
1
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+
5
+ import {
6
+ ODataModel,
7
+ ODataCollection,
8
+ ODataOptions,
9
+ ODataQueryArgumentsOptions,
10
+ ODataFunctionOptions,
11
+ ODataActionOptions
12
+ } from 'angular-odata';<% for (let imp of imports) { %>
13
+ import { <%= imp.names.join(", ") %> } from '<%= imp.path() %>';<% } %>
14
+
15
+ export class <%= classify(name) %><E extends <%= entity.name() %>, M extends <%= model.name() %><E>> extends <% if (baseType) { %><%= toTypescriptType(baseType) %><E, M><% } else { %>ODataCollection<E, M><% } %> {
16
+ <% for (let cal of callables) { %>
17
+ // <%= cal.name() %>
18
+ <%= cal.callableMethod() %>
19
+ <% } %>
20
+ }
@@ -1,4 +1,5 @@
1
- import { Duration } from 'angular-odata';<% for (let imp of imports) { %>
1
+ import { Duration } from 'angular-odata';
2
+ <% if (hasGeoProperties) { %>import { <% for (let p of geoProperties) { %><%= p.type() %>,<% } %> } from 'geojson';<% } %><% for (let imp of imports) { %>
2
3
  import { <%= imp.names.join(", ") %> } from '<%= imp.path() %>';<% } %>
3
4
 
4
5
  export const <%= type %> = '<%= fullName %>';