pailingual-odata
Version:
TypeScript client for OData v4 services
47 lines (46 loc) • 1.82 kB
JavaScript
import { Query } from "./query";
import { CollectionSource } from "./collectionSource";
import { SingleSource } from "./singleSource";
import { generateOperations } from "./utils";
var ApiContextImpl = /** @class */ (function () {
function ApiContextImpl(__metadata, __options) {
this.__metadata = __metadata;
this.__options = __options;
this.generate();
}
ApiContextImpl.prototype.generate = function () {
var apiMetaData = this.__metadata;
var opt = this.__options;
var _loop_1 = function (p) {
var esMetadata = apiMetaData.entitySets[p];
Object.defineProperty(this_1, p, {
get: function () {
var query = Query.create(apiMetaData, esMetadata, opt);
query = query.navigate(p, esMetadata);
return new CollectionSource(esMetadata, apiMetaData, query);
}
});
};
var this_1 = this;
for (var p in apiMetaData.entitySets) {
_loop_1(p);
}
var _loop_2 = function (p) {
var sMetadata = apiMetaData.singletons[p];
Object.defineProperty(this_2, p, {
get: function () {
var query = Query.create(apiMetaData, sMetadata, opt)
.navigate(p, sMetadata);
return new SingleSource(sMetadata, apiMetaData, query);
}
});
};
var this_2 = this;
for (var p in apiMetaData.singletons) {
_loop_2(p);
}
generateOperations(this, function () { return Query.create(apiMetaData, null, opt); }, apiMetaData, undefined);
};
return ApiContextImpl;
}());
export { ApiContextImpl };