12345678910111213141516171819202122232425262728293031323334 |
- const FindOperation = require('./FindOperation');
- const { after } = require('../../utils/promiseUtils');
- const { assertHasId } = require('../../utils/assert');
- class InstanceFindOperation extends FindOperation {
- constructor(name, opt) {
- super(name, opt);
- this.instance = opt.instance;
- }
- onBuild(builder) {
- assertHasId(this.instance);
- const idColumn = builder.fullIdColumnFor(builder.modelClass());
- const id = this.instance.$id();
- builder.whereComposite(idColumn, id);
- }
- onAfter3(builder, result) {
- const maybePromise = super.onAfter3(builder, result);
- return after(maybePromise, result => {
- if (Array.isArray(result)) {
- return result[0];
- } else {
- return result;
- }
- });
- }
- }
- module.exports = InstanceFindOperation;
|