@configurator/ravendb
Version:
RavenDB client for Node.js
31 lines • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MultiLoaderWithInclude = void 0;
const TypeUtil_1 = require("../../../Utility/TypeUtil");
class MultiLoaderWithInclude {
include(path) {
this._includes.push(path);
return this;
}
async load(ids, documentType) {
let singleResult = false;
if (TypeUtil_1.TypeUtil.isString(ids)) {
ids = [ids];
singleResult = true;
}
const entityType = this._session.conventions.getJsTypeByDocumentType(documentType);
const results = await this._session.loadInternal(ids, {
includes: this._includes,
documentType: entityType
});
return singleResult ?
Object.keys(results).map(x => results[x]).filter(x => x)[0] :
results;
}
constructor(session) {
this._includes = [];
this._session = session;
}
}
exports.MultiLoaderWithInclude = MultiLoaderWithInclude;
//# sourceMappingURL=MultiLoaderWithInclude.js.map