New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@actorize/core

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@actorize/core - npm Package Compare versions

Comparing version
0.0.15
to
0.0.16
+11
dist/lib/plugins/index.js
"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;
+2
-6

@@ -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;
{
"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"

# @actorize/core
[![gzip size](https://badgen.net/bundlephobia/minzip/@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,
}
```