styled-hook-form
Version:
React form library for styled-components based on grommet and react-hook-form
42 lines (41 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChangeEventStore = void 0;
class ChangeEventStore {
constructor() {
this.observers = [];
this.addListener = (name, func) => {
if (!name) {
throw new Error("name cannot be empty.");
}
if (!func) {
throw new Error("listener cannot be empty.");
}
this.observers = [
...this.observers,
{
name,
func,
},
];
};
this.removeListener = (name, func) => {
if (!name) {
throw new Error("name cannot be empty.");
}
if (!func) {
throw new Error("listener cannot be empty.");
}
this.observers = this.observers.filter((f) => name !== f.name && func !== f.func);
};
this.emitChange = (name, value) => {
this.observers
.filter((f) => f.name === name || f.name === "")
.forEach((f) => f.func(value));
};
}
getObservers() {
return this.observers;
}
}
exports.ChangeEventStore = ChangeEventStore;