UNPKG

angular-odata

Version:

Client side OData typescript library for Angular

50 lines 6.77 kB
import { CsdlAnnotable } from './csdl-annotation'; import { CsdlNavigationPropertyBinding } from './csdl-navigation-property-binding'; export class CsdlEntitySet extends CsdlAnnotable { container; Name; EntityType; NavigationPropertyBinding; IncludeInServiceDocument; constructor(container, { Name, EntityType, NavigationPropertyBinding, IncludeInServiceDocument, Annotation, }) { super({ Annotation }); this.container = container; this.Name = Name; this.EntityType = EntityType; this.NavigationPropertyBinding = NavigationPropertyBinding?.map((n) => new CsdlNavigationPropertyBinding(n)); this.IncludeInServiceDocument = IncludeInServiceDocument; } toJson() { const json = { ...super.toJson(), Name: this.Name, EntityType: this.EntityType, }; if (Array.isArray(this.NavigationPropertyBinding) && this.NavigationPropertyBinding.length > 0) { json['NavigationPropertyBinding'] = this.NavigationPropertyBinding.map((n) => n.toJson()); } if (this.IncludeInServiceDocument !== undefined) { json['IncludeInServiceDocument'] = this.IncludeInServiceDocument; } return json; } name() { return `${this.Name}`; } namespace() { return `${this.container.namespace()}`; } fullName() { return `${this.container.namespace()}.${this.Name}`; } toConfig() { return { ...super.toConfig(), name: this.Name, entityType: this.EntityType, service: {}, }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1lbnRpdHktc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL21ldGFkYXRhL2NzZGwvY3NkbC1lbnRpdHktc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQWE7SUFPcEM7SUFOSCxJQUFJLENBQVM7SUFDYixVQUFVLENBQVM7SUFDbkIseUJBQXlCLENBQW1DO0lBQzVELHdCQUF3QixDQUFXO0lBRTFDLFlBQ1UsU0FBOEIsRUFDdEMsRUFDRSxJQUFJLEVBQ0osVUFBVSxFQUNWLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsVUFBVSxHQU9YO1FBRUQsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQWZkLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBaUJ0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMseUJBQXlCLEdBQUcseUJBQXlCLEVBQUUsR0FBRyxDQUM3RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztRQUNGLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztJQUMzRCxDQUFDO0lBRVEsTUFBTTtRQUNiLE1BQU0sSUFBSSxHQUEyQjtZQUNuQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7UUFDRixJQUNFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQzdDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUN6QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FDcEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDbEIsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDbkUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRVEsUUFBUTtRQUNmLE9BQU87WUFDTCxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLE9BQU8sRUFBRSxFQUFFO1NBQ08sQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTZXRDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDc2RsQW5ub3RhYmxlIH0gZnJvbSAnLi9jc2RsLWFubm90YXRpb24nO1xuaW1wb3J0IHR5cGUgeyBDc2RsRW50aXR5Q29udGFpbmVyIH0gZnJvbSAnLi9jc2RsLWVudGl0eS1jb250YWluZXInO1xuaW1wb3J0IHsgQ3NkbE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcgfSBmcm9tICcuL2NzZGwtbmF2aWdhdGlvbi1wcm9wZXJ0eS1iaW5kaW5nJztcblxuZXhwb3J0IGNsYXNzIENzZGxFbnRpdHlTZXQgZXh0ZW5kcyBDc2RsQW5ub3RhYmxlIHtcbiAgcHVibGljIE5hbWU6IHN0cmluZztcbiAgcHVibGljIEVudGl0eVR5cGU6IHN0cmluZztcbiAgcHVibGljIE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmc/OiBDc2RsTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1tdO1xuICBwdWJsaWMgSW5jbHVkZUluU2VydmljZURvY3VtZW50PzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRhaW5lcjogQ3NkbEVudGl0eUNvbnRhaW5lcixcbiAgICB7XG4gICAgICBOYW1lLFxuICAgICAgRW50aXR5VHlwZSxcbiAgICAgIE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcsXG4gICAgICBJbmNsdWRlSW5TZXJ2aWNlRG9jdW1lbnQsXG4gICAgICBBbm5vdGF0aW9uLFxuICAgIH06IHtcbiAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgIEVudGl0eVR5cGU6IHN0cmluZztcbiAgICAgIE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmc/OiBhbnlbXTtcbiAgICAgIEluY2x1ZGVJblNlcnZpY2VEb2N1bWVudD86IGJvb2xlYW47XG4gICAgICBBbm5vdGF0aW9uPzogYW55W107XG4gICAgfSxcbiAgKSB7XG4gICAgc3VwZXIoeyBBbm5vdGF0aW9uIH0pO1xuXG4gICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICB0aGlzLkVudGl0eVR5cGUgPSBFbnRpdHlUeXBlO1xuICAgIHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZyA9IE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmc/Lm1hcChcbiAgICAgIChuKSA9PiBuZXcgQ3NkbE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcobiksXG4gICAgKTtcbiAgICB0aGlzLkluY2x1ZGVJblNlcnZpY2VEb2N1bWVudCA9IEluY2x1ZGVJblNlcnZpY2VEb2N1bWVudDtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSnNvbigpIHtcbiAgICBjb25zdCBqc29uOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgLi4uc3VwZXIudG9Kc29uKCksXG4gICAgICBOYW1lOiB0aGlzLk5hbWUsXG4gICAgICBFbnRpdHlUeXBlOiB0aGlzLkVudGl0eVR5cGUsXG4gICAgfTtcbiAgICBpZiAoXG4gICAgICBBcnJheS5pc0FycmF5KHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZykgJiZcbiAgICAgIHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBqc29uWydOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nJ10gPSB0aGlzLk5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcubWFwKFxuICAgICAgICAobikgPT4gbi50b0pzb24oKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0aGlzLkluY2x1ZGVJblNlcnZpY2VEb2N1bWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBqc29uWydJbmNsdWRlSW5TZXJ2aWNlRG9jdW1lbnQnXSA9IHRoaXMuSW5jbHVkZUluU2VydmljZURvY3VtZW50O1xuICAgIH1cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIG5hbWUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuTmFtZX1gO1xuICB9XG5cbiAgbmFtZXNwYWNlKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnRhaW5lci5uYW1lc3BhY2UoKX1gO1xuICB9XG5cbiAgZnVsbE5hbWUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29udGFpbmVyLm5hbWVzcGFjZSgpfS4ke3RoaXMuTmFtZX1gO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Db25maWcoKTogRW50aXR5U2V0Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIudG9Db25maWcoKSxcbiAgICAgIG5hbWU6IHRoaXMuTmFtZSxcbiAgICAgIGVudGl0eVR5cGU6IHRoaXMuRW50aXR5VHlwZSxcbiAgICAgIHNlcnZpY2U6IHt9LFxuICAgIH0gYXMgRW50aXR5U2V0Q29uZmlnO1xuICB9XG59XG4iXX0=