pailingual-odata
Version:
TypeScript client for OData v4 services
42 lines (41 loc) • 1.78 kB
JavaScript
import * as metadata from "./metadata";
import { ApiContextImpl } from "./apiContext";
import { _extends } from "./utils";
import { CollectionSource } from "./collectionSource";
import { SingleSource } from "./singleSource";
import { Query } from "./query";
import * as serialization from "./serialization";
export { loadMetadata } from "./metadata";
export { metadata, serialization, CollectionSource, SingleSource, Query };
var Pailingual = /** @class */ (function () {
function Pailingual() {
}
Pailingual.use = function (plugin) {
if (plugin) {
var ext = plugin.register();
if (ext) {
ext.apiContextFn && _extends(ApiContextImpl, ext.apiContextFn);
ext.collectionSourceFn && _extends(CollectionSource, ext.collectionSourceFn);
ext.singleSourceFn && _extends(SingleSource, ext.singleSourceFn);
ext.queryFn && _extends(Query, ext.queryFn);
}
}
};
Pailingual.createApiContext = function (api, options) {
if (typeof api == "string") {
return metadata.loadMetadata(api)
.then(function (m) { return new ApiContextImpl(m, options); });
}
else if (api instanceof metadata.ApiMetadata)
return new ApiContextImpl(api, options);
throw new Error("First parameter must be api url or metadata object");
};
Pailingual.loadMetadata = function (apiRoot, options, cache) {
return metadata.loadMetadata(apiRoot, options, cache);
};
return Pailingual;
}());
export { Pailingual };
export default Pailingual;
/** @deprecated Use Palingual.createApiContext function */
export var ApiContextFactory = Pailingual.createApiContext;