pailingual-odata
Version:
TypeScript client for OData v4 services
50 lines • 2.25 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "./query", "./collectionSource", "./singleSource", "./utils"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const query_1 = require("./query");
const collectionSource_1 = require("./collectionSource");
const singleSource_1 = require("./singleSource");
const utils_1 = require("./utils");
class ApiContextImpl {
constructor(__metadata, __options) {
this.__metadata = __metadata;
this.__options = __options;
this.generate();
}
generate() {
const apiMetaData = this.__metadata;
const opt = this.__options;
for (let p in apiMetaData.entitySets) {
const esMetadata = apiMetaData.entitySets[p];
Object.defineProperty(this, p, {
get() {
let query = query_1.Query.create(apiMetaData, esMetadata, opt);
query = query.navigate(p, esMetadata);
return new collectionSource_1.CollectionSource(esMetadata, apiMetaData, query);
}
});
}
for (let p in apiMetaData.singletons) {
const sMetadata = apiMetaData.singletons[p];
Object.defineProperty(this, p, {
get() {
let query = query_1.Query.create(apiMetaData, sMetadata, opt)
.navigate(p, sMetadata);
return new singleSource_1.SingleSource(sMetadata, apiMetaData, query);
}
});
}
utils_1.generateOperations(this, () => query_1.Query.create(apiMetaData, null, opt), apiMetaData, undefined);
}
}
exports.ApiContextImpl = ApiContextImpl;
});
//# sourceMappingURL=apiContext.js.map