ember-render-helpers
Version:
Helpers that complement @ember/render-modifiers
31 lines (27 loc) • 1.08 kB
JavaScript
import Helper from '@ember/component/helper';
import { assert } from '@ember/debug';
/**
* This helper is activated only on _updates_ to it's arguments (both positional
* and named). It does not run during or after initial render, or before it is
* un-rendered (removed from the DOM).
*/
class DidUpdateHelperHelper extends Helper {
didRun = false;
compute(positional, named) {
const [callback, ...positionalParameters] = positional;
assert(
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
`\`{{did-update-helper}}\` expects a callback function as the first parameter. You provided: ${callback}`, typeof callback === 'function');
if (!this.didRun) {
this.didRun = true;
// Consume individual properties to entangle tracking.
// https://github.com/emberjs/ember.js/issues/19277
positional.forEach(() => {});
Object.values(named);
return;
}
callback(positionalParameters, named);
}
}
export { DidUpdateHelperHelper as default };
//# sourceMappingURL=did-update-helper.js.map