angular-odata
Version:
Client side OData typescript library for Angular
37 lines • 5.01 kB
JavaScript
import { CsdlAnnotable } from './csdl-annotation';
import { CsdlNavigationPropertyBinding } from './csdl-navigation-property-binding';
export class CsdlSingleton extends CsdlAnnotable {
container;
Name;
Type;
NavigationPropertyBindings;
constructor(container, { Name, Type, NavigationPropertyBindings, Annotation, }) {
super({ Annotation });
this.container = container;
this.Name = Name;
this.Type = Type;
this.NavigationPropertyBindings = NavigationPropertyBindings?.map((n) => new CsdlNavigationPropertyBinding(n));
}
toJson() {
const json = {
...super.toJson(),
Name: this.Name,
Type: this.Type,
};
if (Array.isArray(this.NavigationPropertyBindings) &&
this.NavigationPropertyBindings.length > 0) {
json['NavigationPropertyBindings'] = this.NavigationPropertyBindings.map((n) => n.toJson());
}
return json;
}
name() {
return `${this.Name}`;
}
namespace() {
return `${this.container.namespace()}`;
}
fullName() {
return `${this.container.namespace()}.${this.Name}`;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1zaW5nbGV0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvbWV0YWRhdGEvY3NkbC9jc2RsLXNpbmdsZXRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkYsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBTXBDO0lBTFYsSUFBSSxDQUFTO0lBQ2IsSUFBSSxDQUFTO0lBQ2IsMEJBQTBCLENBQW1DO0lBRTdELFlBQ1UsU0FBOEIsRUFDdEMsRUFDRSxJQUFJLEVBQ0osSUFBSSxFQUNKLDBCQUEwQixFQUMxQixVQUFVLEdBTVg7UUFFRCxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBYmQsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFjdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLDBCQUEwQixFQUFFLEdBQUcsQ0FDL0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRVEsTUFBTTtRQUNiLE1BQU0sSUFBSSxHQUEyQjtZQUNuQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7UUFDRixJQUNFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDO1lBQzlDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUMxQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FDdEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDbEIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJO1FBQ0YsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3NkbEFubm90YWJsZSB9IGZyb20gJy4vY3NkbC1hbm5vdGF0aW9uJztcbmltcG9ydCB0eXBlIHsgQ3NkbEVudGl0eUNvbnRhaW5lciB9IGZyb20gJy4vY3NkbC1lbnRpdHktY29udGFpbmVyJztcbmltcG9ydCB7IENzZGxOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nIH0gZnJvbSAnLi9jc2RsLW5hdmlnYXRpb24tcHJvcGVydHktYmluZGluZyc7XG5cbmV4cG9ydCBjbGFzcyBDc2RsU2luZ2xldG9uIGV4dGVuZHMgQ3NkbEFubm90YWJsZSB7XG4gIE5hbWU6IHN0cmluZztcbiAgVHlwZTogc3RyaW5nO1xuICBOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncz86IENzZGxOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IENzZGxFbnRpdHlDb250YWluZXIsXG4gICAge1xuICAgICAgTmFtZSxcbiAgICAgIFR5cGUsXG4gICAgICBOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncyxcbiAgICAgIEFubm90YXRpb24sXG4gICAgfToge1xuICAgICAgTmFtZTogc3RyaW5nO1xuICAgICAgVHlwZTogc3RyaW5nO1xuICAgICAgTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3M/OiBhbnlbXTtcbiAgICAgIEFubm90YXRpb24/OiBhbnlbXTtcbiAgICB9LFxuICApIHtcbiAgICBzdXBlcih7IEFubm90YXRpb24gfSk7XG4gICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICB0aGlzLlR5cGUgPSBUeXBlO1xuICAgIHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MgPSBOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncz8ubWFwKFxuICAgICAgKG4pID0+IG5ldyBDc2RsTmF2aWdhdGlvblByb3BlcnR5QmluZGluZyhuKSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Kc29uKCkge1xuICAgIGNvbnN0IGpzb246IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgICAuLi5zdXBlci50b0pzb24oKSxcbiAgICAgIE5hbWU6IHRoaXMuTmFtZSxcbiAgICAgIFR5cGU6IHRoaXMuVHlwZSxcbiAgICB9O1xuICAgIGlmIChcbiAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5OYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncykgJiZcbiAgICAgIHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAganNvblsnTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MnXSA9IHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MubWFwKFxuICAgICAgICAobikgPT4gbi50b0pzb24oKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgbmFtZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5OYW1lfWA7XG4gIH1cblxuICBuYW1lc3BhY2UoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29udGFpbmVyLm5hbWVzcGFjZSgpfWA7XG4gIH1cblxuICBmdWxsTmFtZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250YWluZXIubmFtZXNwYWNlKCl9LiR7dGhpcy5OYW1lfWA7XG4gIH1cbn1cbiJdfQ==