summaryrefslogtreecommitdiff
path: root/ext/js/dom/dom-data-binder.js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2024-02-20 10:13:57 -0500
committerGitHub <noreply@github.com>2024-02-20 15:13:57 +0000
commitfe875bbd99980b175fc366a2bfd4395be9cbad72 (patch)
tree9eacc919cae0aa32c1a5e25b8493a0e86a21f16e /ext/js/dom/dom-data-binder.js
parent0e4ae922451af967c78616057ed26b85ba5d4b5c (diff)
Constructor simplification (#713)
* Update AudioDownloader * Update Translator * Update ClipboardMonitor * Update ClipboardReader * Update PanelElement * Update QueryParser * Update DisplayGenerator * Update DisplayHistory * Update DOMDataBinder * Remove unnecessary cast * Update Popup types * One declaration per line * Remove optionals from Frontend constructor * Fix Translator constructor
Diffstat (limited to 'ext/js/dom/dom-data-binder.js')
-rw-r--r--ext/js/dom/dom-data-binder.js13
1 files changed, 9 insertions, 4 deletions
diff --git a/ext/js/dom/dom-data-binder.js b/ext/js/dom/dom-data-binder.js
index d33f1a2b..14b3b2cd 100644
--- a/ext/js/dom/dom-data-binder.js
+++ b/ext/js/dom/dom-data-binder.js
@@ -25,9 +25,14 @@ import {SelectorObserver} from './selector-observer.js';
*/
export class DOMDataBinder {
/**
- * @param {import('dom-data-binder').ConstructorDetails<T>} details
+ * @param {string} selector
+ * @param {import('dom-data-binder').CreateElementMetadataCallback<T>} createElementMetadata
+ * @param {import('dom-data-binder').CompareElementMetadataCallback<T>} compareElementMetadata
+ * @param {import('dom-data-binder').GetValuesCallback<T>} getValues
+ * @param {import('dom-data-binder').SetValuesCallback<T>} setValues
+ * @param {import('dom-data-binder').OnErrorCallback<T>|null} [onError]
*/
- constructor({selector, createElementMetadata, compareElementMetadata, getValues, setValues, onError = null}) {
+ constructor(selector, createElementMetadata, compareElementMetadata, getValues, setValues, onError = null) {
/** @type {string} */
this._selector = selector;
/** @type {import('dom-data-binder').CreateElementMetadataCallback<T>} */
@@ -45,14 +50,14 @@ export class DOMDataBinder {
/** @type {TaskAccumulator<import('dom-data-binder').ElementObserver<T>, import('dom-data-binder').AssignTaskValue>} */
this._assignTasks = new TaskAccumulator(this._onBulkAssign.bind(this));
/** @type {SelectorObserver<import('dom-data-binder').ElementObserver<T>>} */
- this._selectorObserver = /** @type {SelectorObserver<import('dom-data-binder').ElementObserver<T>>} */ (new SelectorObserver({
+ this._selectorObserver = new SelectorObserver({
selector,
ignoreSelector: null,
onAdded: this._createObserver.bind(this),
onRemoved: this._removeObserver.bind(this),
onChildrenUpdated: this._onObserverChildrenUpdated.bind(this),
isStale: this._isObserverStale.bind(this)
- }));
+ });
}
/**