@node-elion/syncron
Version:
Provides a simple way to delivery models between sender and receiver
33 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModelEventPublisher = void 0;
const types_1 = require("./types");
class ModelEventPublisher {
constructor(config) {
this.generateHeader = (action) => (0, types_1.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 : {});
}
}
exports.ModelEventPublisher = ModelEventPublisher;
//# sourceMappingURL=publisher.js.map