@actorize/core
Advanced tools
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createLogPlugin = void 0; | ||
| // eslint-disable-next-line import/no-cycle | ||
| const log_1 = __importDefault(require("./log")); | ||
| exports.createLogPlugin = log_1.default; | ||
| exports.default = {}; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA2C;AAC3C,gDAAoC;AAE3B,0BAFF,aAAe,CAEE;AACxB,kBAAe,EAAE,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const createLogPlugin = (opts) => { | ||
| const { logger = console.debug, filter, } = opts || {}; | ||
| return { | ||
| onMessage: (msg) => { | ||
| if (filter) { | ||
| const shouldLog = filter(msg); | ||
| if (!shouldLog) { | ||
| return msg; | ||
| } | ||
| } | ||
| logger(`[ACTORIZE] (${msg.sender}) => (${msg.recipient})`, msg.payload); | ||
| return msg; | ||
| }, | ||
| }; | ||
| }; | ||
| exports.default = createLogPlugin; | ||
| //# sourceMappingURL=log.js.map |
| {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/plugins/log.ts"],"names":[],"mappings":";;AAUA,MAAM,eAAe,GAAG,CAAC,IAA6B,EAAkB,EAAE;IACxE,MAAM,EACJ,MAAM,GAAG,OAAO,CAAC,KAAK,EACtB,MAAM,GACP,GAAG,IAAI,IAAI,EAAE,CAAC;IACf,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,MAAM,EAAE;gBACV,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO,GAAG,CAAC;iBACZ;aACF;YACD,MAAM,CAAC,eAAe,GAAG,CAAC,MAAM,SAAS,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"} |
| import createLogPlugin from './log'; | ||
| export { createLogPlugin }; | ||
| declare const _default: {}; | ||
| export default _default; |
| import { Message } from '../actor'; | ||
| import { ActorizePlugin } from '../actor/director'; | ||
| interface CreateLogPluginOptions { | ||
| logger?: (...msg: unknown[]) => void; | ||
| filter?: (msg: Message) => boolean; | ||
| } | ||
| declare const createLogPlugin: (opts?: CreateLogPluginOptions | undefined) => ActorizePlugin; | ||
| export default createLogPlugin; |
@@ -9,8 +9,4 @@ "use strict"; | ||
| }; | ||
| const sendMessage = async (recipient, payload) => { | ||
| return deps.store.pushMessage(recipient, payload, name); | ||
| }; | ||
| const sendMessageToSelf = async (payload) => { | ||
| return deps.store.pushMessage(name, payload, name); | ||
| }; | ||
| const sendMessage = async (recipient, payload) => deps.store.pushMessage(recipient, payload, name); | ||
| const sendMessageToSelf = async (payload) => deps.store.pushMessage(name, payload, name); | ||
| return { | ||
@@ -17,0 +13,0 @@ onMessage, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"actor.js","sourceRoot":"","sources":["../../../src/actor/actor.ts"],"names":[],"mappings":";;;AAYA,SAAS,WAAW,CAAC,IAA4B,EAAE,IAAe;IAChE,MAAM,SAAS,GAAG,CAAC,EAA6B,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,KAAK,EAAE,SAAoB,EAAE,OAA+B,EAAE,EAAE;QAClF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACzD,CAAC,CAAA;IACD,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAA+B,EAAE,EAAE;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC,CAAA;IACD,OAAO;QACL,SAAS;QACT,WAAW;QACX,iBAAiB;KAClB,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAA4B;IAC7D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACrC,CAAC;AAFD,gDAEC"} | ||
| {"version":3,"file":"actor.js","sourceRoot":"","sources":["../../../src/actor/actor.ts"],"names":[],"mappings":";;;AAcA,SAAS,WAAW,CAAC,IAA4B,EAAE,IAAe;IAChE,MAAM,SAAS,GAAG,CAAC,EAA6B,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,EACvB,SAAoB,EACpB,OAA+B,EAC/B,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,KAAK,EAC7B,OAA+B,EAC/B,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO;QACL,SAAS;QACT,WAAW;QACX,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAA4B;IAC7D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,gDAEC"} |
@@ -5,5 +5,20 @@ "use strict"; | ||
| const actor_1 = require("./actor"); | ||
| function patchStoreWithPlugins(store, routers) { | ||
| function handleMessagePlugin(plugins, msg) { | ||
| let tmpMessage = msg; | ||
| for (let i = 0; i < plugins.length; i += 1) { | ||
| const plugin = plugins[0]; | ||
| if (plugin.onMessage) { | ||
| tmpMessage = plugin.onMessage(tmpMessage); | ||
| } | ||
| } | ||
| return tmpMessage; | ||
| } | ||
| function patchStoreWithPlugins(store, routers, plugins) { | ||
| const pushMessage = async (recipient, payload, sender) => { | ||
| const recipientParts = recipient.split('.'); | ||
| const msg = handleMessagePlugin(plugins, { | ||
| payload, | ||
| recipient, | ||
| sender, | ||
| }); | ||
| const recipientParts = msg.recipient.split('.'); | ||
| const isLocal = recipientParts.length === 1; | ||
@@ -15,14 +30,14 @@ if (!isLocal) { | ||
| recipient: recipientParts[recipientParts.length - 1], | ||
| payload, | ||
| sender, | ||
| payload: msg.payload, | ||
| sender: msg.sender, | ||
| }, | ||
| }; | ||
| // just match the first one that returns true | ||
| routers.find(router => { | ||
| routers.find((router) => { | ||
| const success = router.handleIncomingMessage(networkmsg, store); | ||
| return success; | ||
| }); | ||
| return; | ||
| return undefined; | ||
| } | ||
| return store.pushMessage(recipient, payload, sender); | ||
| return store.pushMessage(msg.recipient, msg.payload, msg.sender); | ||
| }; | ||
@@ -35,6 +50,6 @@ return { | ||
| function createDirector(options) { | ||
| const { store, routers = [] } = options; | ||
| const patchedStore = patchStoreWithPlugins(store, routers); | ||
| routers.forEach(router => { | ||
| router.interfaces.forEach(i => { | ||
| const { store, routers = [], plugins = [] } = options; | ||
| const patchedStore = patchStoreWithPlugins(store, routers, plugins); | ||
| routers.forEach((router) => { | ||
| router.interfaces.forEach((i) => { | ||
| i.setLocalCallback((msg) => { | ||
@@ -52,3 +67,3 @@ const rx = msg.domain ? `${msg.domain}.${msg.payload.recipient}` : msg.payload.recipient; | ||
| return { | ||
| registerActor | ||
| registerActor, | ||
| }; | ||
@@ -55,0 +70,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"director.js","sourceRoot":"","sources":["../../../src/actor/director.ts"],"names":[],"mappings":";;;AAAA,mCAAmD;AAanD,SAAS,qBAAqB,CAAC,KAA4B,EAAE,OAAwB;IACnF,MAAM,WAAW,GAAG,KAAK,EAAE,SAAoB,EAAE,OAA+B,EAAE,MAAc,EAAE,EAAE;QAClG,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,UAAU,GAAmB;gBACjC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;gBACzB,OAAO,EAAE;oBACP,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;oBACpD,OAAO;oBACP,MAAM;iBACP;aACF,CAAA;YACD,6CAA6C;YAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACpB,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;gBAC/D,OAAO,OAAO,CAAA;YAChB,CAAC,CAAC,CAAA;YACF,OAAM;SACP;QACD,OAAO,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC,CAAA;IACD,OAAO;QACL,GAAG,KAAK;QACR,WAAW;KACZ,CAAA;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,OAA8B;IAC3D,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IACvC,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC1D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC5B,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAmB,EAAE,EAAE;gBACzC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAA;gBACxF,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,0BAAkB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;IAE/D,MAAM,aAAa,GAAG,CAAC,IAAe,EAAS,EAAE;QAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,OAAO;QACL,aAAa;KACd,CAAA;AACH,CAAC;AApBD,wCAoBC"} | ||
| {"version":3,"file":"director.js","sourceRoot":"","sources":["../../../src/actor/director.ts"],"names":[],"mappings":"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"} |
@@ -10,5 +10,7 @@ "use strict"; | ||
| if (waitTillResponse) { | ||
| returnValue = new Promise(resolve => { | ||
| returnValue = new Promise((resolve) => { | ||
| actor.onMessage((msgs) => { | ||
| resolve(msgs[0]); | ||
| // TODO: just a workaround | ||
| const msg = msgs[0]; | ||
| resolve(msg); | ||
| }); | ||
@@ -21,2 +23,3 @@ }); | ||
| exports.dispatch = dispatch; | ||
| exports.default = {}; | ||
| //# sourceMappingURL=dispatch.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/actor/dispatch.ts"],"names":[],"mappings":";;;AAEA,oCAAuC;AAEhC,KAAK,UAAU,QAAQ,CAAC,QAAkB,EAAE,SAAoB,EAAE,OAA+B,EAAE,gBAAgB,GAAG,KAAK;IAChI,MAAM,eAAe,GAAG,oBAAY,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IACrD,IAAI,WAAyC,CAAA;IAC7C,IAAI,gBAAgB,EAAE;QACpB,WAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAClC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;IAED,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAE3C,OAAO,WAAW,CAAA;AACpB,CAAC;AAfD,4BAeC"} | ||
| {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/actor/dispatch.ts"],"names":[],"mappings":";;;AAGA,oCAAwC;AAEjC,KAAK,UAAU,QAAQ,CAC5B,QAAkB,EAClB,SAAoB,EACpB,OAA+B,EAC/B,gBAAgB,GAAG,KAAK;IAExB,MAAM,eAAe,GAAG,oBAAY,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,WAA4C,CAAC;IACjD,IAAI,gBAAgB,EAAE;QACpB,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvB,0BAA0B;gBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAA0B,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC;AACrB,CAAC;AAtBD,4BAsBC;AAED,kBAAe,EAAE,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createStore = exports.dispatch = exports.createDirector = void 0; | ||
| // eslint-disable-next-line import/no-cycle | ||
| const director_1 = require("./director"); | ||
| Object.defineProperty(exports, "createDirector", { enumerable: true, get: function () { return director_1.createDirector; } }); | ||
| // eslint-disable-next-line import/no-cycle | ||
| const dispatch_1 = require("./dispatch"); | ||
@@ -7,0 +9,0 @@ Object.defineProperty(exports, "dispatch", { enumerable: true, get: function () { return dispatch_1.dispatch; } }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actor/index.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AAI5C,+FAJA,yBAAc,OAIA;AAHvB,yCAAqC;AAGZ,yFAHhB,mBAAQ,OAGgB;AAFjC,mCAAiF;AAEpC,4FAFpC,mBAAW,OAEoC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actor/index.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAC3C,yCAAsD;AAQpD,+FARO,yBAAc,OAQP;AAPhB,2CAA2C;AAC3C,yCAAsC;AAMpB,yFANT,mBAAQ,OAMS;AAL1B,mCAEiB;AAGqB,4FAJpC,mBAAW,OAIoC"} |
@@ -8,9 +8,5 @@ "use strict"; | ||
| const popMessages = async (recipient, keepMessage = false) => { | ||
| const relevantMessages = messages.filter(e => { | ||
| return e.recipient === recipient || recipient === '*'; | ||
| }); | ||
| const relevantMessages = messages.filter((e) => e.recipient === recipient || recipient === '*'); | ||
| if (!keepMessage) { | ||
| messages = messages.filter(e => { | ||
| return !(e.recipient === recipient || recipient === '*'); | ||
| }); | ||
| messages = messages.filter((e) => !(e.recipient === recipient || recipient === '*')); | ||
| } | ||
@@ -25,4 +21,6 @@ return relevantMessages; | ||
| }); | ||
| if (callbacks[recipient]) { | ||
| setTimeout(callbacks[recipient], 0); | ||
| if (typeof callbacks[recipient] === 'function') { | ||
| setTimeout(() => { | ||
| callbacks[recipient](); | ||
| }, 0); | ||
| } | ||
@@ -29,0 +27,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/actor/store.ts"],"names":[],"mappings":";;;AAmBA,SAAgB,WAAW;IACzB,IAAI,QAAQ,GAAc,EAAE,CAAA;IAC5B,MAAM,SAAS,GAAwB,EAAE,CAAA;IAGzC,MAAM,WAAW,GAAG,KAAK,EAAE,SAAoB,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE;QACtE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC3C,OAAO,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,GAAG,CAAA;QACvD,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,EAAE;YAChB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,CAAA;YAC1D,CAAC,CAAC,CAAA;SACH;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,SAAoB,EAAE,OAA+B,EAAE,MAAc,EAAE,EAAE;QAClG,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS;YACT,OAAO;YACP,MAAM;SACP,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;YACxB,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;SACpC;IACH,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,SAAoB,EAAE,QAAkC,EAAE,EAAE;QAC7E,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACpB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAA;YACzC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,QAAQ,CAAC,IAAI,CAAC,CAAA;aACf;QACH,CAAC,CAAA;QACD,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;QACzB,OAAO,GAAG,EAAE;YACV,OAAO,SAAS,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC,CAAA;IACH,CAAC,CAAA;IAED,OAAO;QACL,WAAW;QACX,WAAW;QACX,SAAS;KACV,CAAA;AACH,CAAC;AA9CD,kCA8CC"} | ||
| {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/actor/store.ts"],"names":[],"mappings":";;;AAsBA,SAAgB,WAAW;IACzB,IAAI,QAAQ,GAAc,EAAE,CAAC;IAC7B,MAAM,SAAS,GAA+B,EAAE,CAAC;IAEjD,MAAM,WAAW,GAAG,KAAK,EAAE,SAAoB,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE;QACtE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,CAAC;QAChG,IAAI,CAAC,WAAW,EAAE;YAChB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC;SACtF;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EACvB,SAAoB,EACpB,OAA+B,EAC/B,MAAc,EACd,EAAE;QACF,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS;YACT,OAAO;YACP,MAAM;SACP,CAAC,CAAC;QACH,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE;YAC9C,UAAU,CAAC,GAAG,EAAE;gBACd,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,SAAoB,EAAE,QAAkC,EAAE,EAAE;QAC7E,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACpB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,QAAQ,CAAC,IAAI,CAAC,CAAC;aAChB;QACH,CAAC,CAAC;QACF,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC1B,OAAO,GAAG,EAAE;YACV,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,WAAW;QACX,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AA/CD,kCA+CC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createRemoteStorageProvider = exports.createRemoteStorageConsumer = exports.createWorkerInterface = exports.createLocalInterface = exports.createRouter = exports.createNetworkInterface = exports.createStore = exports.dispatch = exports.createDirector = void 0; | ||
| exports.createLogPlugin = exports.createRemoteStorageProvider = exports.createRemoteStorageConsumer = exports.createWorkerInterface = exports.createLocalInterface = exports.createRouter = exports.createNetworkInterface = exports.createStore = exports.dispatch = exports.createDirector = void 0; | ||
| /* eslint-disable import/no-cycle */ | ||
| const actor_1 = require("./actor"); | ||
@@ -17,2 +18,4 @@ Object.defineProperty(exports, "createDirector", { enumerable: true, get: function () { return actor_1.createDirector; } }); | ||
| Object.defineProperty(exports, "createRemoteStorageProvider", { enumerable: true, get: function () { return remote_store_1.createRemoteStorageProvider; } }); | ||
| const plugins_1 = require("./plugins"); | ||
| Object.defineProperty(exports, "createLogPlugin", { enumerable: true, get: function () { return plugins_1.createLogPlugin; } }); | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqH;AAMnH,+FANO,sBAAc,OAMP;AACd,yFAPuB,gBAAQ,OAOvB;AAGR,4FAVoD,mBAAW,OAUpD;AATb,uCAAuI;AAUrI,uGAVO,gCAAsB,OAUP;AACtB,6FAX+B,sBAAY,OAW/B;AAIZ,qGAf8F,8BAAoB,OAe9F;AAdtB,gDAA2D;AAezD,sGAfO,8BAAqB,OAeP;AAdvB,iDAAiH;AAkB/G,4GAlB+B,0CAA2B,OAkB/B;AAC3B,4GAnB4D,0CAA2B,OAmB5D"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,mCAQiB;AAkBf,+FAzBA,sBAAc,OAyBA;AACd,yFAzBA,gBAAQ,OAyBA;AAGR,4FAzBA,mBAAW,OAyBA;AArBb,uCAOmB;AAejB,uGArBA,gCAAsB,OAqBA;AACtB,6FArBA,sBAAY,OAqBA;AAIZ,qGArBA,8BAAoB,OAqBA;AAnBtB,gDAA4D;AAoB1D,sGApBO,8BAAqB,OAoBP;AAnBvB,iDAIwB;AAmBtB,4GArBA,0CAA2B,OAqBA;AAC3B,4GArBA,0CAA2B,OAqBA;AAnB7B,uCAA4C;AAoB1C,gGApBO,yBAAe,OAoBP"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createWorkerInterface = void 0; | ||
| // eslint-disable-next-line import/no-cycle | ||
| const index_1 = require("../index"); | ||
| const createWorkerInterface = (worker) => { | ||
| const ni = index_1.createNetworkInterface(); | ||
| // is there a better option? | ||
| // eslint-disable-next-line no-param-reassign | ||
| worker.onmessage = (e) => { | ||
@@ -8,0 +11,0 @@ ni.sendLocal(e.data); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/interfaces/worker.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AAE1C,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,EAAE;IACtD,MAAM,EAAE,GAAG,8BAAsB,EAAE,CAAA;IACnC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;QACvB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAA;IACD,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AATY,QAAA,qBAAqB,yBASjC;AAED,kBAAe,EAAE,CAAA"} | ||
| {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/interfaces/worker.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAC3C,oCAAkD;AAE3C,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,EAAE;IACtD,MAAM,EAAE,GAAG,8BAAsB,EAAE,CAAC;IACpC,4BAA4B;IAC5B,6CAA6C;IAC7C,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;QACvB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC;AAEF,kBAAe,EAAE,CAAC"} |
@@ -7,4 +7,5 @@ "use strict"; | ||
| Object.defineProperty(exports, "createRouter", { enumerable: true, get: function () { return network_1.createRouter; } }); | ||
| // eslint-disable-next-line import/no-cycle | ||
| const localInterface_1 = require("./localInterface"); | ||
| Object.defineProperty(exports, "createLocalInterface", { enumerable: true, get: function () { return localInterface_1.createLocalInterface; } }); | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":";;;AAAA,uCAAiH;AAO/G,uGAPwD,gCAAsB,OAOxD;AACtB,6FARgF,sBAAY,OAQhF;AAPd,qDAAuD;AAQrD,qGARO,qCAAoB,OAQP"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":";;;AAAA,uCAEmB;AAQjB,uGATiD,gCAAsB,OASjD;AACtB,6FAVyE,sBAAY,OAUzE;AARd,2CAA2C;AAC3C,qDAAwD;AAQtD,qGARO,qCAAoB,OAQP"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createLocalInterface = void 0; | ||
| // eslint-disable-next-line import/no-cycle | ||
| const __1 = require(".."); | ||
@@ -5,0 +6,0 @@ const createLocalInterface = (ifc) => { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"localInterface.js","sourceRoot":"","sources":["../../../src/network/localInterface.ts"],"names":[],"mappings":";;;AAAA,0BAA6D;AAEtD,MAAM,oBAAoB,GAAG,CAAC,GAAqB,EAAE,EAAE;IAC5D,MAAM,EAAE,GAAG,0BAAsB,EAAE,CAAA;IACnC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AATY,QAAA,oBAAoB,wBAShC;AAED,kBAAe,EAAE,CAAA"} | ||
| {"version":3,"file":"localInterface.js","sourceRoot":"","sources":["../../../src/network/localInterface.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAC3C,0BAA8D;AAEvD,MAAM,oBAAoB,GAAG,CAAC,GAAqB,EAAE,EAAE;IAC5D,MAAM,EAAE,GAAG,0BAAsB,EAAE,CAAC;IACpC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B;AAEF,kBAAe,EAAE,CAAC"} |
@@ -12,3 +12,3 @@ "use strict"; | ||
| sendOutbound: (msg) => { | ||
| callbacks.forEach(cb => { | ||
| callbacks.forEach((cb) => { | ||
| cb(msg); | ||
@@ -22,3 +22,3 @@ }); | ||
| localCallback = cb; | ||
| } | ||
| }, | ||
| }; | ||
@@ -29,3 +29,3 @@ }; | ||
| const interfaces = []; | ||
| Object.keys(args.domains).forEach(key => { | ||
| Object.keys(args.domains).forEach((key) => { | ||
| const i = args.domains[key]; | ||
@@ -47,3 +47,3 @@ // prevent duplication | ||
| const isLocalSender = senderParts.length === 1; | ||
| let sender = msg.payload.sender; | ||
| let { sender } = msg.payload; | ||
| if (isLocalSender) { | ||
@@ -57,3 +57,3 @@ sender = `${args.ownDomain}.${sender}`; | ||
| sender, | ||
| } | ||
| }, | ||
| }); | ||
@@ -60,0 +60,0 @@ return true; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":";;;AAoBO,MAAM,sBAAsB,GAAG,GAAqB,EAAE;IAC3D,MAAM,SAAS,GAAU,EAAE,CAAA;IAC3B,IAAI,aAAa,GAAkC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC5D,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,aAAa,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;QACD,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACrB,EAAE,CAAC,GAAG,CAAC,CAAA;YACT,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,2BAA2B,EAAE,CAAC,EAAE,EAAE,EAAE;YAClC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC;QACD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE;YACvB,aAAa,GAAG,EAAE,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,sBAAsB,0BAmBlC;AAQM,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAiB,EAAE;IACpE,MAAM,UAAU,GAAuB,EAAE,CAAA;IACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,sBAAsB;QACtB,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YAChC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACnB;IAEH,CAAC,CAAC,CAAA;IACF,MAAM,qBAAqB,GAAG,CAAC,GAAmB,EAAE,KAA4B,EAAW,EAAE;QAC3F,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE;YACjC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACjF,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/C,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAA;QAC/B,IAAI,aAAa,EAAE;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,CAAA;SACvC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;YACpC,GAAG,GAAG;YACN,OAAO,EAAE;gBACP,GAAG,GAAG,CAAC,OAAO;gBACd,MAAM;aACP;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,OAAO;QACL,qBAAqB;QACrB,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAA;AACH,CAAC,CAAA;AAvCY,QAAA,YAAY,gBAuCxB"} | ||
| {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":";;;AAoBO,MAAM,sBAAsB,GAAG,GAAqB,EAAE;IAC3D,MAAM,SAAS,GAAsC,EAAE,CAAC;IACxD,IAAI,aAAa,GAAkC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACvB,EAAE,CAAC,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;QACL,CAAC;QACD,2BAA2B,EAAE,CAAC,EAAE,EAAE,EAAE;YAClC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE;YACvB,aAAa,GAAG,EAAE,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,sBAAsB,0BAmBjC;AAOK,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAiB,EAAE;IACpE,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,sBAAsB;QACtB,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;YAChC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,CAAC,GAAmB,EAAE,KAA4B,EAAW,EAAE;QAC3F,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE;YACjC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/C,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAC7B,IAAI,aAAa,EAAE;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;SACxC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;YACpC,GAAG,GAAG;YACN,OAAO,EAAE;gBACP,GAAG,GAAG,CAAC,OAAO;gBACd,MAAM;aACP;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO;QACL,qBAAqB;QACrB,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,YAAY,gBAsCvB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createRemoteStorageConsumer = exports.createRemoteStorageProvider = void 0; | ||
| // eslint-disable-next-line import/no-cycle | ||
| const index_1 = require("../index"); | ||
| function randomstring() { | ||
| return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); | ||
| } | ||
| const createDefaultStorage = () => { | ||
| const data = {}; | ||
| const utils_1 = require("../utils"); | ||
| const createDefaultStorage = (defaultValue = {}) => { | ||
| const data = defaultValue; | ||
| return { | ||
@@ -14,5 +13,3 @@ set: async (key, value) => { | ||
| }, | ||
| get: async (key) => { | ||
| return data[key]; | ||
| }, | ||
| get: async (key) => data[key], | ||
| delete: async (key) => { | ||
@@ -24,3 +21,4 @@ delete data[key]; | ||
| function createRemoteStorageProvider(director, opts) { | ||
| const { actorName, storage = createDefaultStorage() } = opts; | ||
| const { actorName, defaultValue } = opts; | ||
| const { storage = createDefaultStorage(defaultValue) } = opts; | ||
| const actor = director.registerActor(actorName); | ||
@@ -48,7 +46,10 @@ const keysSubscribed = {}; | ||
| await storage.delete(key); | ||
| } | ||
| }, | ||
| }; | ||
| actor.onMessage((msgs) => { | ||
| msgs.forEach(async (msg) => { | ||
| if (msg.payload.action === 'SUBSCRIBE_TO_KEYS') { | ||
| msgs.forEach(async (tmp) => { | ||
| // TODO: just a workaround | ||
| const msg = tmp; | ||
| if (msg.payload.action === 'SUBSCRIBE_TO_KEYS' | ||
| && msg.payload.keys) { | ||
| msg.payload.keys.forEach((key) => { | ||
@@ -61,3 +62,4 @@ if (!keysSubscribed[key]) { | ||
| } | ||
| if (msg.payload.action === 'UNSUBSCRIBE_FROM_KEYS') { | ||
| if (msg.payload.action === 'UNSUBSCRIBE_FROM_KEYS' | ||
| && msg.payload.keys) { | ||
| msg.payload.keys.forEach((key) => { | ||
@@ -70,6 +72,9 @@ if (!keysSubscribed[key]) { | ||
| } | ||
| if (msg.payload.action === 'SET') { | ||
| if (msg.payload.action === 'SET' | ||
| && msg.payload.key | ||
| && msg.payload.value !== undefined) { | ||
| localStore.set(msg.payload.key, msg.payload.value); | ||
| } | ||
| if (msg.payload.action === 'GET') { | ||
| if (msg.payload.action === 'GET' | ||
| && msg.payload.key) { | ||
| const resp = await localStore.get(msg.payload.key); | ||
@@ -88,4 +93,5 @@ actor.sendMessage(msg.sender, { | ||
| const { storeLocation } = opts; | ||
| const actorName = randomstring(); | ||
| const actorName = utils_1.randomstring(); | ||
| const actor = director.registerActor(actorName); | ||
| // eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
| let onUpdate = (key, val) => { }; | ||
@@ -122,6 +128,8 @@ const obj = { | ||
| }); | ||
| } | ||
| }, | ||
| }; | ||
| actor.onMessage((msgs) => { | ||
| msgs.forEach((msg) => { | ||
| msgs.forEach((tmp) => { | ||
| // TODO: just a workaround | ||
| const msg = tmp; | ||
| if (msg.payload.event === 'KEY_UPDATED') { | ||
@@ -128,0 +136,0 @@ onUpdate(msg.payload.key, msg.payload.value); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remote-store/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remote-store/index.ts"],"names":[],"mappings":"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"} |
@@ -8,2 +8,3 @@ "use strict"; | ||
| exports.randomstring = randomstring; | ||
| exports.default = {}; | ||
| //# sourceMappingURL=utils.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY;IACxB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACpG,CAAC;AAFD,oCAEC"} | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY;IAC1B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC;AAFD,oCAEC;AAED,kBAAe,EAAE,CAAC"} |
| import { Actor } from './actor'; | ||
| import { WatchableMessageStore, Recipient } from './store'; | ||
| import { WatchableMessageStore, Recipient, Message } from './store'; | ||
| import { NetworkRouter } from '../network'; | ||
@@ -7,7 +7,11 @@ export interface Director { | ||
| } | ||
| export interface ActorizePlugin { | ||
| onMessage?: (msg: Message) => Message; | ||
| } | ||
| interface CreateDirectorOptions { | ||
| store: WatchableMessageStore; | ||
| routers?: NetworkRouter[]; | ||
| plugins?: ActorizePlugin[]; | ||
| } | ||
| export declare function createDirector(options: CreateDirectorOptions): Director; | ||
| export {}; |
| import { PossibleMessagePayload, Message, Recipient } from './store'; | ||
| import { Director } from './director'; | ||
| export declare function dispatch(director: Director, recipient: Recipient, payload: PossibleMessagePayload, waitTillResponse?: boolean): Promise<Message | undefined>; | ||
| export declare function dispatch<T = unknown>(director: Director, recipient: Recipient, payload: PossibleMessagePayload, waitTillResponse?: boolean): Promise<Message<T> | undefined>; | ||
| declare const _default: {}; | ||
| export default _default; |
| import { createDirector, Director } from './director'; | ||
| import { dispatch } from './dispatch'; | ||
| import { createStore, Message, Recipient, PossibleMessagePayload } from './store'; | ||
| export { createDirector, dispatch, Director, createStore, Message, Recipient, PossibleMessagePayload }; | ||
| export { createDirector, dispatch, Director, createStore, Message, Recipient, PossibleMessagePayload, }; |
@@ -5,6 +5,6 @@ export interface RecipientAsI { | ||
| export declare type Recipient = LiteralUnion<keyof RecipientAsI>; | ||
| export declare type PossibleMessagePayload = RecipientAsI[keyof RecipientAsI] extends never ? any : RecipientAsI[keyof RecipientAsI]; | ||
| export interface Message { | ||
| export declare type PossibleMessagePayload = RecipientAsI[keyof RecipientAsI] extends never ? unknown : RecipientAsI[keyof RecipientAsI]; | ||
| export interface Message<T = PossibleMessagePayload> { | ||
| recipient: Recipient; | ||
| payload: PossibleMessagePayload; | ||
| payload: T; | ||
| sender: string; | ||
@@ -19,4 +19,4 @@ } | ||
| pushMessage: (recipient: Recipient, payload: PossibleMessagePayload, sender: string) => Promise<void>; | ||
| popMessages: (recipient: Recipient, keepMessage?: boolean) => Promise<Message[]>; | ||
| popMessages: (recipient: Recipient, keepMessage?: boolean) => Promise<Message<unknown>[]>; | ||
| subscribe: (recipient: Recipient, callback: (msg: Message[]) => void) => () => void; | ||
| }; |
@@ -5,2 +5,3 @@ import { createDirector, dispatch, Director, Message, createStore, PossibleMessagePayload, Recipient } from './actor'; | ||
| import { RemoteStorageInterface, createRemoteStorageConsumer, createRemoteStorageProvider } from './remote-store'; | ||
| export { createDirector, dispatch, Director, Message, createStore, createNetworkInterface, createRouter, NetworkInterface, NetworkMessage, NetworkRouter, createLocalInterface, createWorkerInterface, PossibleMessagePayload, Recipient, RemoteStorageInterface, createRemoteStorageConsumer, createRemoteStorageProvider, }; | ||
| import { createLogPlugin } from './plugins'; | ||
| export { createDirector, dispatch, Director, Message, createStore, createNetworkInterface, createRouter, NetworkInterface, NetworkMessage, NetworkRouter, createLocalInterface, createWorkerInterface, PossibleMessagePayload, Recipient, RemoteStorageInterface, createRemoteStorageConsumer, createRemoteStorageProvider, createLogPlugin, }; |
| import { Director } from '../index'; | ||
| export interface RemoteStorageInterface { | ||
| set: (key: string, value: any) => Promise<void>; | ||
| get: (key: string) => Promise<any>; | ||
| set: (key: string, value: unknown) => Promise<void>; | ||
| get: (key: string) => Promise<unknown>; | ||
| delete: (key: string) => Promise<void>; | ||
@@ -10,6 +10,7 @@ } | ||
| storage?: RemoteStorageInterface; | ||
| defaultValue?: Record<string, unknown>; | ||
| } | ||
| export declare function createRemoteStorageProvider(director: Director, opts: CreateStoreProviderOptions): { | ||
| set: (key: string, value: any) => Promise<void>; | ||
| get: (key: string) => Promise<any>; | ||
| set: (key: string, value: unknown) => Promise<void>; | ||
| get: (key: string) => Promise<unknown>; | ||
| delete: (key: string) => Promise<void>; | ||
@@ -21,6 +22,6 @@ }; | ||
| export declare function createRemoteStorageConsumer(director: Director, opts: CreateStoreConsumerOptions): { | ||
| onUpdate: (keys: string[], cb: (key: string, val: any) => void) => () => void; | ||
| get: (key: string) => Promise<any>; | ||
| set: (key: string, value: any) => Promise<void>; | ||
| onUpdate: (keys: string[], cb: (key: string, val: unknown) => void) => () => void; | ||
| get: (key: string) => Promise<unknown>; | ||
| set: (key: string, value: unknown) => Promise<void>; | ||
| }; | ||
| export {}; |
| export declare function randomstring(): string; | ||
| declare const _default: {}; | ||
| export default _default; |
+14
-6
| { | ||
| "name": "@actorize/core", | ||
| "version": "0.0.15", | ||
| "version": "0.0.16", | ||
| "description": "Actorize helps building scalable js apps with a messaging system", | ||
@@ -20,2 +20,3 @@ "keywords": [ | ||
| "build": "rimraf dist && tsc --project tsconfig.npm.json --outDir dist/lib --declarationDir dist/types --declaration true", | ||
| "lint": "eslint src", | ||
| "test": "jest" | ||
@@ -32,10 +33,17 @@ }, | ||
| "devDependencies": { | ||
| "@rollup/plugin-node-resolve": "^13.0.0", | ||
| "@rollup/plugin-typescript": "^8.2.1", | ||
| "@types/jest": "^26.0.23", | ||
| "@types/jest": "^26.0.24", | ||
| "@typescript-eslint/eslint-plugin": "^4.28.3", | ||
| "@typescript-eslint/parser": "^4.28.3", | ||
| "eslint": "^7.30.0", | ||
| "eslint-config-airbnb": "^18.2.1", | ||
| "eslint-config-airbnb-typescript": "^12.3.1", | ||
| "eslint-plugin-import": "^2.23.4", | ||
| "eslint-plugin-jest": "^24.3.6", | ||
| "eslint-plugin-promise": "^5.1.0", | ||
| "eslint-plugin-react": "^7.24.0", | ||
| "eslint-plugin-react-hooks": "^4.2.0", | ||
| "jest": "^27.0.6", | ||
| "rimraf": "^3.0.2", | ||
| "rollup": "^2.52.7", | ||
| "ts-jest": "^27.0.3", | ||
| "ts-node": "^10.0.0", | ||
| "ts-node": "^10.1.0", | ||
| "tslib": "^2.3.0", | ||
@@ -42,0 +50,0 @@ "typescript": "^4.3.5" |
+28
-0
| # @actorize/core | ||
| []() | ||
@@ -31,1 +32,28 @@ ## Getting Started | ||
| ``` | ||
| ## Plugin System | ||
| the most basic plugin is the logging plugin. This can be helpful to see when what actor send what. | ||
| ```javascript | ||
| import { createDirector, createStore, createLogPlugin } from '@actorize/core' | ||
| // logs into 'debug' with "[ACTORIZE] ({{sender}}) => ({{recipient}}), {{payload}}" | ||
| const logPlugin = createLogPlugin() | ||
| // you have the option to filter too. | ||
| // this would only log messages from the actor named "ui" | ||
| // createLogPlugin({ filter: (msg) => msg.sender === 'ui' }) | ||
| const director = createDirector({ | ||
| store: createStore(), | ||
| plugins: [logPlugin] | ||
| }) | ||
| ``` | ||
| A plugin in general can be used to transform messages before they are saved to the store too. At the moment it just as options for `onMessage` which gets a `Message` and has to return a `Message`. | ||
| The Typescript interface for the Plugin is | ||
| ```typescript | ||
| interface ActorizePlugin { | ||
| onMessage?: (msg: Message) => Message, | ||
| } | ||
| ``` |
42618
17.63%45
15.38%599
15.86%59
90.32%17
70%