@liberation-data/drivine
Version:
Best and fastest graph database client for TypeScript / Node.js. Provides a level of abstraction for building highly scalable applications, without compromising architectural integrity
30 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FinderOperations = void 0;
const DrivineError_1 = require("../DrivineError");
class FinderOperations {
constructor(persistenceManager) {
this.persistenceManager = persistenceManager;
}
async getOne(spec) {
const results = await this.persistenceManager.query(spec);
if (results.length != 1) {
throw new DrivineError_1.DrivineError(`Expected exactly one result`, undefined, spec);
}
return results[0];
}
async maybeGetOne(spec) {
const results = await this.persistenceManager.query(spec);
if (results.length === 0) {
return undefined;
}
else if (results.length === 1) {
return results[0];
}
else {
throw new DrivineError_1.DrivineError(`Expected one result, received ${results.length}.`);
}
}
}
exports.FinderOperations = FinderOperations;
//# sourceMappingURL=FinderOperations.js.map