angular-odata
Version:
Client side OData typescript library for Angular
50 lines • 6.77 kB
JavaScript
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=