1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /**
- * Module dependencies
- */
- var _ = require('@sailshq/lodash');
- var flaverr = require('flaverr');
- // This is used by find.fixture.js.
- // It was originally and part of a benchmarking experiment, and its extrapolation
- // was found to have a positive impact on performance.
- module.exports = function helpFind(unused, metadata, finalCb) {
- if (unused) {
- finalCb(new Error('Consistency violation: Unexpected internal error occurred before beginning with any business logic. Details: '+unused.stack));
- return;
- }//-•
- // Now actually do stuff.
- // In this case, we'll just pretend, since this part doesn't matter.
- // (we just wait a few miliseconds, and then send back an array consisting
- // of one item: the `criteria` that was received.)
- setTimeout(function (){
- var fakeResult = [ metadata.criteria ];
- // Note that, as a way for our test cases to instrument the outcome,
- // we check `metadata.criteria` here, and if it happens to be `false`
- // or `null`, then we trigger an error instead.
- if (metadata.criteria === false) {
- return finalCb(flaverr('E_SOME_ERROR', new Error('Simulated failure (E_SOME_ERROR)')));
- }
- if (_.isNull(metadata.criteria)) {
- return finalCb(new Error('Simulated failure (catchall / misc. error)'));
- }
- return finalCb(undefined, fakeResult);
- }, 25);
- };
|