@node-elion/syncron
Version:
Provides a simple way to delivery models between sender and receiver
29 lines • 951 B
JavaScript
import { generateTrackIdentifier, } from "./types";
export class ModelEventPublisher {
constructor(config) {
this.generateHeader = (action) => generateTrackIdentifier(this.modelName, action);
this.config = config;
this.modelName = this.config.modelName;
}
create(id, data) {
this.config.send(this.generateHeader("update"), {
id,
data,
updateStrategy: "replace",
});
}
update(id, data, updateStrategy) {
this.config.send(this.generateHeader("update"), {
id,
data,
updateStrategy: !data ? "replace" : updateStrategy || "merge",
});
}
delete(id) {
this.config.send(this.generateHeader("delete"), { id });
}
custom(eventName, data) {
this.config.send(this.generateHeader(eventName), data !== null && data !== void 0 ? data : {});
}
}
//# sourceMappingURL=publisher.js.map