UNPKG

angular-odata

Version:

Client side OData typescript library for Angular

37 lines 5.01 kB
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==