angular-odata 0.151.0 → 0.153.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/angular-odata.mjs +36 -39
- package/fesm2022/angular-odata.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/apigen/angular/api-config.js +1 -0
- package/schematics/apigen/angular/api-config.js.map +1 -1
- package/schematics/apigen/angular/base.d.ts +7 -7
- package/schematics/apigen/angular/base.js +1 -1
- package/schematics/apigen/angular/base.js.map +1 -1
- package/schematics/apigen/angular/collection.d.ts +1 -1
- package/schematics/apigen/angular/entity.d.ts +2 -2
- package/schematics/apigen/angular/entity.js +2 -2
- package/schematics/apigen/angular/entity.js.map +1 -1
- package/schematics/apigen/angular/enum.d.ts +1 -1
- package/schematics/apigen/angular/model.d.ts +3 -3
- package/schematics/apigen/angular/model.js +1 -1
- package/schematics/apigen/angular/model.js.map +1 -1
- package/schematics/apigen/angular/package.d.ts +4 -4
- package/schematics/apigen/angular/package.js +3 -1
- package/schematics/apigen/angular/package.js.map +1 -1
- package/schematics/apigen/angular/service.d.ts +3 -3
- package/schematics/apigen/angular/service.js +2 -2
- package/schematics/apigen/angular/service.js.map +1 -1
- package/schematics/apigen/files/api-config/__fileName__.ts +6 -4
- package/schematics/apigen/index.js +1 -1
- package/schematics/apigen/index.js.map +1 -1
- package/schematics/apigen/schema.d.ts +1 -0
- package/schematics/apigen/schema.json +6 -1
- package/schematics/collection.json +5 -0
- package/schematics/metadata/index.d.ts +3 -0
- package/schematics/metadata/index.js +41 -0
- package/schematics/metadata/index.js.map +1 -0
- package/schematics/{apigen/metadata → metadata}/metadata.d.ts +6 -6
- package/schematics/{apigen/metadata → metadata}/metadata.js +2 -2
- package/schematics/metadata/metadata.js.map +1 -0
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-annotation.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-entity-container.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-entity-set.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-enum-type.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-function-action.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-navigation-property-binding.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-reference.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-schema.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-singleton.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-structural-property.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-structured-type.js.map +1 -1
- package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-type-definition.js.map +1 -1
- package/schematics/{apigen/metadata/parser.d.ts → metadata/parser/index.d.ts} +1 -1
- package/schematics/{apigen/metadata/parser.js → metadata/parser/index.js} +2 -2
- package/schematics/metadata/parser/index.js.map +1 -0
- package/schematics/metadata/schema.d.ts +5 -0
- package/schematics/metadata/schema.js +3 -0
- package/schematics/metadata/schema.js.map +1 -0
- package/schematics/metadata/schema.json +26 -0
- package/types/angular-odata.d.ts +2 -1
- package/schematics/apigen/metadata/index.d.ts +0 -1
- package/schematics/apigen/metadata/index.js +0 -18
- package/schematics/apigen/metadata/index.js.map +0 -1
- package/schematics/apigen/metadata/metadata.js.map +0 -1
- package/schematics/apigen/metadata/parser.js.map +0 -1
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-annotation.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-annotation.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-entity-container.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-entity-container.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-entity-set.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-entity-set.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-enum-type.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-enum-type.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-function-action.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-function-action.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-navigation-property-binding.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-navigation-property-binding.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-reference.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-reference.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-schema.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-schema.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-singleton.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-singleton.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-structural-property.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-structural-property.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-structured-type.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-structured-type.js +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-type-definition.d.ts +0 -0
- /package/schematics/{apigen/metadata → metadata/parser}/csdl/csdl-type-definition.js +0 -0
|
@@ -2519,10 +2519,10 @@ class ODataStructuredTypeParser extends ODataAnnotatable {
|
|
|
2519
2519
|
}
|
|
2520
2520
|
configure({ options, parserForType, }) {
|
|
2521
2521
|
this.parserOptions = options;
|
|
2522
|
-
if (this.base) {
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2522
|
+
if (this.base !== undefined) {
|
|
2523
|
+
this.parent = parserForType(this.base);
|
|
2524
|
+
if (this.parent !== undefined)
|
|
2525
|
+
this.parent.children.push(this);
|
|
2526
2526
|
}
|
|
2527
2527
|
this._fields.forEach((f) => f.configure({ options, parserForType }));
|
|
2528
2528
|
}
|
|
@@ -2989,12 +2989,10 @@ class ODataStructuredType extends ODataParserSchemaElement {
|
|
|
2989
2989
|
this.collection = config.collection;
|
|
2990
2990
|
}
|
|
2991
2991
|
configure({ options }) {
|
|
2992
|
-
if (this.base) {
|
|
2993
|
-
|
|
2994
|
-
if (parent !== undefined)
|
|
2995
|
-
parent.children.push(this);
|
|
2996
|
-
this.parent = parent;
|
|
2997
|
-
}
|
|
2992
|
+
if (this.base !== undefined) {
|
|
2993
|
+
this.parent = this.api.findStructuredType(this.base);
|
|
2994
|
+
if (this.parent !== undefined)
|
|
2995
|
+
this.parent.children.push(this);
|
|
2998
2996
|
}
|
|
2999
2997
|
this.parser.configure({
|
|
3000
2998
|
options,
|
|
@@ -12099,15 +12097,15 @@ class ODataModelOptions {
|
|
|
12099
12097
|
return match;
|
|
12100
12098
|
}
|
|
12101
12099
|
configure({ options }) {
|
|
12102
|
-
if (this.base) {
|
|
12103
|
-
|
|
12104
|
-
|
|
12105
|
-
|
|
12100
|
+
if (this.base !== undefined) {
|
|
12101
|
+
this.parent = this.api.optionsForType(this.base);
|
|
12102
|
+
if (this.parent !== undefined)
|
|
12103
|
+
this.parent.children.push(this);
|
|
12106
12104
|
}
|
|
12107
12105
|
this.entitySet = this.api.findEntitySetForEntityType(this.type());
|
|
12108
12106
|
let concurrencyFields = [];
|
|
12109
12107
|
if (this.entitySet !== undefined) {
|
|
12110
|
-
concurrencyFields = this.entitySet.annotatedValue(OPTIMISTIC_CONCURRENCY)
|
|
12108
|
+
concurrencyFields = this.entitySet.annotatedValue(OPTIMISTIC_CONCURRENCY) ?? [];
|
|
12111
12109
|
}
|
|
12112
12110
|
this._fields.forEach((field) => {
|
|
12113
12111
|
const concurrency = concurrencyFields.indexOf(field.field) !== -1;
|
|
@@ -12903,9 +12901,9 @@ class ODataApi {
|
|
|
12903
12901
|
// Populate from Metadata
|
|
12904
12902
|
populateFromMetadata;
|
|
12905
12903
|
// Schemas
|
|
12906
|
-
schemas;
|
|
12904
|
+
schemas = [];
|
|
12907
12905
|
// References
|
|
12908
|
-
references;
|
|
12906
|
+
references = [];
|
|
12909
12907
|
// Models
|
|
12910
12908
|
models = {};
|
|
12911
12909
|
// Collections
|
|
@@ -12916,7 +12914,7 @@ class ODataApi {
|
|
|
12916
12914
|
throw new Error("The 'serviceRootUrl' should not contain query string. Please use 'params' to add extra parameters");
|
|
12917
12915
|
if (!this.serviceRootUrl.endsWith('/'))
|
|
12918
12916
|
this.serviceRootUrl += '/';
|
|
12919
|
-
this.metadataUrl = config.metadataUrl ?? `${this.serviceRootUrl}$
|
|
12917
|
+
this.metadataUrl = config.metadataUrl ?? `${this.serviceRootUrl}${$METADATA}`;
|
|
12920
12918
|
this.name = config.name;
|
|
12921
12919
|
this.version = config.version ?? DEFAULT_VERSION;
|
|
12922
12920
|
this.default = config.default ?? false;
|
|
@@ -12929,13 +12927,17 @@ class ODataApi {
|
|
|
12929
12927
|
this.errorHandler = config.errorHandler;
|
|
12930
12928
|
this.parsers = new Map(Object.entries(config.parsers ?? EDM_PARSERS));
|
|
12931
12929
|
this.populateFromMetadata = config.populateFromMetadata ?? false;
|
|
12932
|
-
this.
|
|
12933
|
-
this.references = (config.references ?? []).map((reference) => new ODataReference(reference, this));
|
|
12934
|
-
this.models = (config.models ?? {});
|
|
12935
|
-
this.collections = (config.collections ?? {});
|
|
12930
|
+
this.populate(config);
|
|
12936
12931
|
}
|
|
12937
12932
|
initialize(requester) {
|
|
12938
12933
|
this.requester = requester;
|
|
12934
|
+
return (this.populateFromMetadata
|
|
12935
|
+
? firstValueFrom(this.metadata()
|
|
12936
|
+
.fetch()
|
|
12937
|
+
.pipe(map((metadata) => this.populate(metadata.toConfig()))))
|
|
12938
|
+
: Promise.resolve()).then(() => this.configure());
|
|
12939
|
+
}
|
|
12940
|
+
configure() {
|
|
12939
12941
|
this.schemas.forEach((schema) => {
|
|
12940
12942
|
schema.configure({
|
|
12941
12943
|
options: this.options.parserOptions,
|
|
@@ -12951,24 +12953,19 @@ class ODataApi {
|
|
|
12951
12953
|
}
|
|
12952
12954
|
}
|
|
12953
12955
|
});
|
|
12954
|
-
return this.populateFromMetadata
|
|
12955
|
-
? firstValueFrom(this.metadata()
|
|
12956
|
-
.fetch()
|
|
12957
|
-
.pipe(map((metadata) => this.populate(metadata))))
|
|
12958
|
-
: Promise.resolve(true);
|
|
12959
|
-
}
|
|
12960
|
-
populate(metadata) {
|
|
12961
|
-
const config = metadata.toConfig();
|
|
12962
|
-
this.version = config.version ?? DEFAULT_VERSION;
|
|
12963
|
-
const schemas = (config.schemas ?? []).map((schema) => new ODataSchema(schema, this));
|
|
12964
|
-
this.schemas = [...this.schemas, ...schemas];
|
|
12965
|
-
schemas.forEach((schema) => {
|
|
12966
|
-
schema.configure({
|
|
12967
|
-
options: this.options.parserOptions,
|
|
12968
|
-
});
|
|
12969
|
-
});
|
|
12970
12956
|
return true;
|
|
12971
12957
|
}
|
|
12958
|
+
populate({ schemas, references, models, collections }) {
|
|
12959
|
+
const odataSchemas = (schemas ?? []).map((schema) => new ODataSchema(schema, this));
|
|
12960
|
+
//TODO: Merge duplicates
|
|
12961
|
+
this.schemas = [...this.schemas, ...odataSchemas];
|
|
12962
|
+
const odataReferences = (references ?? []).map((reference) => new ODataReference(reference, this));
|
|
12963
|
+
this.references = [...this.references, ...odataReferences];
|
|
12964
|
+
const odataModels = (models ?? {});
|
|
12965
|
+
this.models = { ...this.models, ...odataModels };
|
|
12966
|
+
const odataCollections = (collections ?? {});
|
|
12967
|
+
this.collections = { ...this.collections, ...odataCollections };
|
|
12968
|
+
}
|
|
12972
12969
|
fromJson(json) {
|
|
12973
12970
|
const segments = ODataPathSegments.fromJson(json.segments);
|
|
12974
12971
|
const query = ODataQueryOptions.fromJson(json.options);
|
|
@@ -13614,7 +13611,7 @@ class ODataClient {
|
|
|
13614
13611
|
if (value instanceof ODataResource)
|
|
13615
13612
|
api = this.settings.findApiForTypes(value.types());
|
|
13616
13613
|
else if (typeof value === 'string')
|
|
13617
|
-
api = this.settings.findApiByName(value)
|
|
13614
|
+
api = this.settings.findApiByName(value) ?? this.settings.findApiForType(value);
|
|
13618
13615
|
return api ?? this.settings.defaultApi();
|
|
13619
13616
|
}
|
|
13620
13617
|
defaultApi() {
|