@actorize/core
Advanced tools
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createLocalInterface = void 0; | ||
| const __1 = require(".."); | ||
| const createLocalInterface = (ifc) => { | ||
| const ni = __1.createNetworkInterface(); | ||
| ifc.handleLocalIncomingMessages((msg) => { | ||
| ni.sendLocal(msg); | ||
| }); | ||
| ni.handleLocalIncomingMessages((msg) => { | ||
| ifc.sendLocal(msg); | ||
| }); | ||
| return ni; | ||
| }; | ||
| exports.createLocalInterface = createLocalInterface; | ||
| exports.default = {}; | ||
| //# sourceMappingURL=localInterface.js.map |
| {"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"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createRouter = exports.createNetworkInterface = void 0; | ||
| const createNetworkInterface = () => { | ||
| const callbacks = []; | ||
| let localCallback = () => { }; | ||
| return { | ||
| sendLocal: (msg) => { | ||
| localCallback(msg); | ||
| }, | ||
| sendOutbound: (msg) => { | ||
| callbacks.forEach(cb => { | ||
| cb(msg); | ||
| }); | ||
| }, | ||
| handleLocalIncomingMessages: (cb) => { | ||
| callbacks.push(cb); | ||
| }, | ||
| setLocalCallback: (cb) => { | ||
| localCallback = cb; | ||
| } | ||
| }; | ||
| }; | ||
| exports.createNetworkInterface = createNetworkInterface; | ||
| const createRouter = (args) => { | ||
| const interfaces = []; | ||
| Object.keys(args.domains).forEach(key => { | ||
| const i = args.domains[key]; | ||
| // prevent duplication | ||
| if (interfaces.indexOf(i) === -1) { | ||
| interfaces.push(i); | ||
| } | ||
| }); | ||
| const handleIncomingMessage = (msg, store) => { | ||
| if (msg.domain === args.ownDomain) { | ||
| store.pushMessage(msg.payload.recipient, msg.payload.payload, msg.payload.sender); | ||
| return true; | ||
| } | ||
| if (!args.domains[msg.domain]) { | ||
| return false; | ||
| } | ||
| const senderParts = msg.payload.sender.split('.'); | ||
| const isLocalSender = senderParts.length === 1; | ||
| let sender = msg.payload.sender; | ||
| if (isLocalSender) { | ||
| sender = `${args.ownDomain}.${sender}`; | ||
| } | ||
| args.domains[msg.domain].sendOutbound({ | ||
| ...msg, | ||
| payload: { | ||
| ...msg.payload, | ||
| sender, | ||
| } | ||
| }); | ||
| return true; | ||
| }; | ||
| return { | ||
| handleIncomingMessage, | ||
| interfaces, | ||
| ownDomain: args.ownDomain, | ||
| }; | ||
| }; | ||
| exports.createRouter = createRouter; | ||
| //# sourceMappingURL=network.js.map |
| {"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"} |
| import { NetworkInterface } from '..'; | ||
| export declare const createLocalInterface: (ifc: NetworkInterface) => NetworkInterface; | ||
| declare const _default: {}; | ||
| export default _default; |
| import { Message, WatchableMessageStore } from '../actor/store'; | ||
| export interface NetworkMessage { | ||
| domain: string; | ||
| payload: Message; | ||
| } | ||
| export interface NetworkInterface { | ||
| sendLocal: (msg: NetworkMessage) => void; | ||
| sendOutbound: (msg: NetworkMessage) => void; | ||
| handleLocalIncomingMessages: (cb: (msg: NetworkMessage) => void) => void; | ||
| setLocalCallback: (cb: (msg: NetworkMessage) => void) => void; | ||
| } | ||
| export interface NetworkRouter { | ||
| handleIncomingMessage: (msg: NetworkMessage, store: WatchableMessageStore) => boolean; | ||
| interfaces: NetworkInterface[]; | ||
| ownDomain: string; | ||
| } | ||
| export declare const createNetworkInterface: () => NetworkInterface; | ||
| interface CreateRouterArgs { | ||
| ownDomain: string; | ||
| domains: Record<string, NetworkInterface>; | ||
| } | ||
| export declare const createRouter: (args: CreateRouterArgs) => NetworkRouter; | ||
| export {}; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/actor/store.ts"],"names":[],"mappings":";;;AAkBA,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,IAAI,OAAO,GAAG,CAAC,CAAC,CAAA;QAChB,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;YAED,+BAA+B;QACjC,CAAC,CAAA;QACD,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;QACzB,+BAA+B;QAC/B,OAAO,GAAG,EAAE;YACV,6BAA6B;YAC7B,OAAO,SAAS,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC,CAAA;IACH,CAAC,CAAA;IAED,OAAO;QACL,WAAW;QACX,WAAW;QACX,SAAS;KACV,CAAA;AACH,CAAC;AAnDD,kCAmDC"} | ||
| {"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,IAAI,OAAO,GAAG,CAAC,CAAC,CAAA;QAChB,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;YAED,+BAA+B;QACjC,CAAC,CAAA;QACD,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;QACzB,+BAA+B;QAC/B,OAAO,GAAG,EAAE;YACV,6BAA6B;YAC7B,OAAO,SAAS,CAAC,SAAS,CAAC,CAAA;QAC7B,CAAC,CAAA;IACH,CAAC,CAAA;IAED,OAAO;QACL,WAAW;QACX,WAAW;QACX,SAAS;KACV,CAAA;AACH,CAAC;AAnDD,kCAmDC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createWorkerInterface = exports.createRouter = exports.createNetworkInterface = exports.createStore = exports.dispatch = exports.createDirector = void 0; | ||
| exports.createWorkerInterface = exports.createLocalInterface = exports.createRouter = exports.createNetworkInterface = exports.createStore = exports.dispatch = exports.createDirector = void 0; | ||
| const actor_1 = require("./actor"); | ||
@@ -11,4 +11,5 @@ Object.defineProperty(exports, "createDirector", { enumerable: true, get: function () { return actor_1.createDirector; } }); | ||
| Object.defineProperty(exports, "createRouter", { enumerable: true, get: function () { return network_1.createRouter; } }); | ||
| Object.defineProperty(exports, "createLocalInterface", { enumerable: true, get: function () { return network_1.createLocalInterface; } }); | ||
| const worker_1 = require("./worker"); | ||
| Object.defineProperty(exports, "createWorkerInterface", { enumerable: true, get: function () { return worker_1.createWorkerInterface; } }); | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqH;AAKnH,+FALO,sBAAc,OAKP;AACd,yFANuB,gBAAQ,OAMvB;AAGR,4FAToD,mBAAW,OASpD;AARb,uCAAiH;AAS/G,uGATO,gCAAsB,OASP;AACtB,6FAV+B,sBAAY,OAU/B;AATd,qCAAgD;AAa9C,sGAbO,8BAAqB,OAaP"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqH;AAKnH,+FALO,sBAAc,OAKP;AACd,yFANuB,gBAAQ,OAMvB;AAGR,4FAToD,mBAAW,OASpD;AARb,uCAAuI;AASrI,uGATO,gCAAsB,OASP;AACtB,6FAV+B,sBAAY,OAU/B;AAIZ,qGAd8F,8BAAoB,OAc9F;AAbtB,qCAAgD;AAc9C,sGAdO,8BAAqB,OAcP"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.createRouter = exports.createNetworkInterface = void 0; | ||
| const createNetworkInterface = () => { | ||
| const callbacks = []; | ||
| let localCallback = () => { }; | ||
| return { | ||
| sendLocal: (msg) => { | ||
| localCallback(msg); | ||
| }, | ||
| sendOutbound: (msg) => { | ||
| callbacks.forEach(cb => { | ||
| cb(msg); | ||
| }); | ||
| }, | ||
| handleLocalIncomingMessages: (cb) => { | ||
| callbacks.push(cb); | ||
| }, | ||
| setLocalCallback: (cb) => { | ||
| localCallback = cb; | ||
| } | ||
| }; | ||
| }; | ||
| exports.createNetworkInterface = createNetworkInterface; | ||
| const createRouter = (args) => { | ||
| const interfaces = []; | ||
| Object.keys(args.domains).forEach(key => { | ||
| const i = args.domains[key]; | ||
| // prevent duplication | ||
| if (interfaces.indexOf(i) === -1) { | ||
| interfaces.push(i); | ||
| } | ||
| }); | ||
| const handleIncomingMessage = (msg, store) => { | ||
| if (msg.domain === args.ownDomain) { | ||
| store.pushMessage(msg.payload.recipient, msg.payload.payload, msg.payload.sender); | ||
| return true; | ||
| } | ||
| if (!args.domains[msg.domain]) { | ||
| return false; | ||
| } | ||
| const senderParts = msg.payload.sender.split('.'); | ||
| const isLocalSender = senderParts.length === 1; | ||
| let sender = msg.payload.sender; | ||
| if (isLocalSender) { | ||
| sender = `${args.ownDomain}.${sender}`; | ||
| } | ||
| args.domains[msg.domain].sendOutbound({ | ||
| ...msg, | ||
| payload: { | ||
| ...msg.payload, | ||
| sender, | ||
| } | ||
| }); | ||
| return true; | ||
| }; | ||
| return { | ||
| handleIncomingMessage, | ||
| interfaces, | ||
| ownDomain: args.ownDomain, | ||
| }; | ||
| }; | ||
| exports.createRouter = createRouter; | ||
| exports.createLocalInterface = exports.createRouter = exports.createNetworkInterface = void 0; | ||
| const network_1 = require("./network"); | ||
| Object.defineProperty(exports, "createNetworkInterface", { enumerable: true, get: function () { return network_1.createNetworkInterface; } }); | ||
| Object.defineProperty(exports, "createRouter", { enumerable: true, get: function () { return network_1.createRouter; } }); | ||
| 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":";;;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":"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"} |
@@ -5,3 +5,3 @@ export interface RecipientAsI { | ||
| export declare type Recipient = LiteralUnion<keyof RecipientAsI>; | ||
| export declare type PossibleMessagePayload = string | number | Record<string, any> | (string | number | Record<string, any>)[]; | ||
| export declare type PossibleMessagePayload = RecipientAsI[keyof RecipientAsI] extends never ? any : RecipientAsI[keyof RecipientAsI]; | ||
| export interface Message { | ||
@@ -8,0 +8,0 @@ recipient: Recipient; |
| import { createDirector, dispatch, Director, Message, createStore, PossibleMessagePayload, Recipient } from './actor'; | ||
| import { createNetworkInterface, createRouter, NetworkInterface, NetworkMessage, NetworkRouter } from './network'; | ||
| import { createNetworkInterface, createRouter, NetworkInterface, NetworkMessage, NetworkRouter, createLocalInterface } from './network'; | ||
| import { createWorkerInterface } from './worker'; | ||
| export { createDirector, dispatch, Director, Message, createStore, createNetworkInterface, createRouter, NetworkInterface, NetworkMessage, NetworkRouter, createWorkerInterface, PossibleMessagePayload, Recipient, }; | ||
| export { createDirector, dispatch, Director, Message, createStore, createNetworkInterface, createRouter, NetworkInterface, NetworkMessage, NetworkRouter, createLocalInterface, createWorkerInterface, PossibleMessagePayload, Recipient, }; |
@@ -1,23 +0,3 @@ | ||
| import { Message, WatchableMessageStore } from '../actor/store'; | ||
| export interface NetworkMessage { | ||
| domain: string; | ||
| payload: Message; | ||
| } | ||
| export interface NetworkInterface { | ||
| sendLocal: (msg: NetworkMessage) => void; | ||
| sendOutbound: (msg: NetworkMessage) => void; | ||
| handleLocalIncomingMessages: (cb: (msg: NetworkMessage) => void) => void; | ||
| setLocalCallback: (cb: (msg: NetworkMessage) => void) => void; | ||
| } | ||
| export interface NetworkRouter { | ||
| handleIncomingMessage: (msg: NetworkMessage, store: WatchableMessageStore) => boolean; | ||
| interfaces: NetworkInterface[]; | ||
| ownDomain: string; | ||
| } | ||
| export declare const createNetworkInterface: () => NetworkInterface; | ||
| interface CreateRouterArgs { | ||
| ownDomain: string; | ||
| domains: Record<string, NetworkInterface>; | ||
| } | ||
| export declare const createRouter: (args: CreateRouterArgs) => NetworkRouter; | ||
| export {}; | ||
| import { NetworkInterface, NetworkMessage, NetworkRouter, createNetworkInterface, createRouter } from './network'; | ||
| import { createLocalInterface } from './localInterface'; | ||
| export { NetworkInterface, NetworkMessage, NetworkRouter, createNetworkInterface, createRouter, createLocalInterface, }; |
@@ -1,3 +0,3 @@ | ||
| export declare const createWorkerInterface: (worker: Worker) => import("..").NetworkInterface; | ||
| export declare const createWorkerInterface: (worker: Worker) => import("../index").NetworkInterface; | ||
| declare const _default: {}; | ||
| export default _default; |
+17
-9
| { | ||
| "name": "@actorize/core", | ||
| "version": "0.0.12", | ||
| "version": "0.0.13", | ||
| "description": "Actorize helps building scalable js apps with a messaging system", | ||
| "keywords": [ "actor", "messaging", "system", "worker", "threads" ], | ||
| "keywords": [ | ||
| "actor", | ||
| "messaging", | ||
| "system", | ||
| "worker", | ||
| "threads" | ||
| ], | ||
| "main": "dist/lib/index.js", | ||
| "types": "dist/types/index.d.ts", | ||
| "files": ["/dist"], | ||
| "files": [ | ||
| "/dist" | ||
| ], | ||
| "private": false, | ||
@@ -23,13 +31,13 @@ "scripts": { | ||
| "devDependencies": { | ||
| "@rollup/plugin-node-resolve": "^11.1.0", | ||
| "@rollup/plugin-typescript": "^8.1.0", | ||
| "@types/jest": "^26.0.20", | ||
| "@rollup/plugin-node-resolve": "^11.2.1", | ||
| "@rollup/plugin-typescript": "^8.2.1", | ||
| "@types/jest": "^26.0.22", | ||
| "jest": "^26.6.3", | ||
| "rimraf": "^3.0.2", | ||
| "rollup": "^2.36.2", | ||
| "ts-jest": "^26.4.4", | ||
| "rollup": "^2.43.1", | ||
| "ts-jest": "^26.5.4", | ||
| "ts-node": "^9.1.1", | ||
| "tslib": "^2.1.0", | ||
| "typescript": "^4.1.3" | ||
| "typescript": "^4.2.3" | ||
| } | ||
| } |
25438
12.1%35
20.69%364
9.64%