kozz-module-maker 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Instance/GeneralModule/index.d.ts +2 -1
- package/dist/Instance/GeneralModule/index.js +1 -1
- package/dist/Instance/GeneralModule/index.js.map +1 -1
- package/dist/Socket/Events/Emit/Introduction.d.ts +2 -1
- package/dist/Socket/Events/Emit/Introduction.js +2 -1
- package/dist/Socket/Events/Emit/Introduction.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +37 -0
- package/dist/debugIndex.d.ts +0 -1
- package/dist/debugIndex.js +0 -45
- package/dist/debugIndex.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Method, TypeString } from '../../Schema';
|
|
2
2
|
import { type ProxiedMessageObject } from '../../Message/ProxiedMessage';
|
|
3
|
-
import { type Source } from 'kozz-types';
|
|
3
|
+
import { type CommandAlias, type Source } from 'kozz-types';
|
|
4
4
|
export type ControllerInitParams<Methods extends Record<string, TypeString>> = {
|
|
5
5
|
name: string;
|
|
6
6
|
address: string;
|
|
@@ -10,6 +10,7 @@ export type ControllerInitParams<Methods extends Record<string, TypeString>> = {
|
|
|
10
10
|
commands?: {
|
|
11
11
|
boundariesToHandle: string[];
|
|
12
12
|
methods?: Record<string, Method<Methods>>;
|
|
13
|
+
aliases?: CommandAlias[];
|
|
13
14
|
};
|
|
14
15
|
proxy?: {
|
|
15
16
|
source: Source;
|
|
@@ -36,7 +36,7 @@ const createModule = ({
|
|
|
36
36
|
registerMethods
|
|
37
37
|
} = (0, _Socket.connect)(() => {
|
|
38
38
|
console.log(`Introducing ${name} to gateway on address ${address} with socketPath ${customSocketPath}`);
|
|
39
|
-
(0, _Introduction.introduce)(socket, name, commands?.methods || {}, signature);
|
|
39
|
+
(0, _Introduction.introduce)(socket, name, commands?.methods || {}, commands?.aliases, signature);
|
|
40
40
|
if (proxy) {
|
|
41
41
|
(0, _ProxiedMessage.onProxiedMessage)(socket, proxy.source, proxy.onMessage);
|
|
42
42
|
(0, _RequestProxy.requestProxy)(socket, _objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_Common","require","_Socket","_RevokeProxy","_RequestProxy","_AskResource","_SendMessage","_AskResource2","_Introduction","_ProxiedMessage","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","createModule","name","address","commands","proxy","signature","templatePath","customSocketPath","moduleUseFns","use","createUseFns","instance","socket","registerMethods","connect","console","log","introduce","methods","onProxiedMessage","source","onMessage","requestProxy","boundariesToHandle","removeResource","resourceMap","upsertResource","createResourceMap","onAskResource","sendMessage","sendMessageToContact","revoke","revokeProxy","on","onEvent","ask","createAskResource","requester","id","type","resources","exports"],"sources":["../../../src/Instance/GeneralModule/index.ts"],"sourcesContent":["import type { Method, TypeString } from '../../Schema';\nimport { createResourceMap, createUseFns, onEvent } from '../Common';\nimport { connect } from '../../Socket';\nimport { revokeProxy } from '../../Socket/Events/Emit/RevokeProxy';\nimport { requestProxy } from '../../Socket/Events/Emit/RequestProxy';\nimport { type ProxiedMessageObject } from '../../Message/ProxiedMessage';\nimport { type Source } from 'kozz-types';\nimport { onAskResource } from '../../Socket/Events/Handle/AskResource';\nimport { sendMessageToContact } from '../../Message/RoutineCreation/SendMessage';\nimport { createAskResource } from '../../Message/RoutineCreation/AskResource';\nimport { introduce } from '../../Socket/Events/Emit/Introduction';\nimport { onProxiedMessage } from '../../Socket/Events/Handle/ProxiedMessage';\n\nexport type ControllerInitParams<Methods extends Record<string, TypeString>> = {\n\tname: string;\n\n\taddress: string;\n\tcustomSocketPath?: string;\n\n\ttemplatePath?: string;\n\tsignature?: string;\n\n\tcommands?: {\n\t\tboundariesToHandle: string[];\n\t\tmethods?: Record<string, Method<Methods>>;\n\t};\n\n\tproxy?: {\n\t\tsource: Source;\n\t\tdestinationOverride?: string;\n\t\tonMessage: (message: ProxiedMessageObject) => any;\n\t\tkeepAliveProxy?: boolean;\n\t};\n};\n\nexport const createModule = <Methods extends Record<string, TypeString>>({\n\tname,\n\taddress,\n\tcommands,\n\tproxy,\n\tsignature,\n\ttemplatePath,\n\tcustomSocketPath,\n}: ControllerInitParams<Methods>) => {\n\tconst { moduleUseFns, use } = createUseFns(() => instance);\n\n\tconst { socket, registerMethods } = connect(\n\t\t() => {\n\t\t\tconsole.log(\n\t\t\t\t`Introducing ${name} to gateway on address ${address} with socketPath ${customSocketPath}`\n\t\t\t);\n\t\t\tintroduce(socket, name, commands?.methods || {}, signature);\n\t\t\tif (proxy) {\n\t\t\t\tonProxiedMessage(socket, proxy.source, proxy.onMessage);\n\t\t\t\trequestProxy(socket, {\n\t\t\t\t\taddress,\n\t\t\t\t\tname,\n\t\t\t\t\t...proxy,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\taddress,\n\t\tmoduleUseFns,\n\t\ttemplatePath || '',\n\t\tname,\n\t\tcommands?.boundariesToHandle || [],\n\t\tcustomSocketPath\n\t);\n\n\tif (commands?.methods) {\n\t\tregisterMethods(commands?.methods);\n\t}\n\n\tconst { removeResource, resourceMap, upsertResource } = createResourceMap();\n\tonAskResource(socket, resourceMap);\n\n\tconst sendMessage = sendMessageToContact(socket, name);\n\n\tlet revoke = () => {\n\t\tif (proxy) {\n\t\t\trevokeProxy(socket, proxy.source);\n\t\t}\n\t};\n\n\tconst { on } = onEvent(socket, name);\n\n\tconst ask = createAskResource(socket, {\n\t\trequester: {\n\t\t\tid: name,\n\t\t\ttype: 'Handler',\n\t\t},\n\t});\n\n\tconst instance = {\n\t\tuse,\n\t\ton,\n\t\tsendMessage,\n\t\tresources: {\n\t\t\tremoveResource,\n\t\t\tupsertResource,\n\t\t},\n\t\tproxy: {\n\t\t\trevoke,\n\t\t},\n\t\task,\n\t\tsocket,\n\t};\n\n\treturn instance;\n};\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAGA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAA6E,SAAAS,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Common","require","_Socket","_RevokeProxy","_RequestProxy","_AskResource","_SendMessage","_AskResource2","_Introduction","_ProxiedMessage","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","createModule","name","address","commands","proxy","signature","templatePath","customSocketPath","moduleUseFns","use","createUseFns","instance","socket","registerMethods","connect","console","log","introduce","methods","aliases","onProxiedMessage","source","onMessage","requestProxy","boundariesToHandle","removeResource","resourceMap","upsertResource","createResourceMap","onAskResource","sendMessage","sendMessageToContact","revoke","revokeProxy","on","onEvent","ask","createAskResource","requester","id","type","resources","exports"],"sources":["../../../src/Instance/GeneralModule/index.ts"],"sourcesContent":["import type { Method, TypeString } from '../../Schema';\nimport { createResourceMap, createUseFns, onEvent } from '../Common';\nimport { connect } from '../../Socket';\nimport { revokeProxy } from '../../Socket/Events/Emit/RevokeProxy';\nimport { requestProxy } from '../../Socket/Events/Emit/RequestProxy';\nimport { type ProxiedMessageObject } from '../../Message/ProxiedMessage';\nimport { type CommandAlias, type Source } from 'kozz-types';\nimport { onAskResource } from '../../Socket/Events/Handle/AskResource';\nimport { sendMessageToContact } from '../../Message/RoutineCreation/SendMessage';\nimport { createAskResource } from '../../Message/RoutineCreation/AskResource';\nimport { introduce } from '../../Socket/Events/Emit/Introduction';\nimport { onProxiedMessage } from '../../Socket/Events/Handle/ProxiedMessage';\n\nexport type ControllerInitParams<Methods extends Record<string, TypeString>> = {\n\tname: string;\n\n\taddress: string;\n\tcustomSocketPath?: string;\n\n\ttemplatePath?: string;\n\tsignature?: string;\n\n\tcommands?: {\n\t\tboundariesToHandle: string[];\n\t\tmethods?: Record<string, Method<Methods>>;\n\t\taliases?: CommandAlias[];\n\t};\n\n\tproxy?: {\n\t\tsource: Source;\n\t\tdestinationOverride?: string;\n\t\tonMessage: (message: ProxiedMessageObject) => any;\n\t\tkeepAliveProxy?: boolean;\n\t};\n};\n\nexport const createModule = <Methods extends Record<string, TypeString>>({\n\tname,\n\taddress,\n\tcommands,\n\tproxy,\n\tsignature,\n\ttemplatePath,\n\tcustomSocketPath,\n}: ControllerInitParams<Methods>) => {\n\tconst { moduleUseFns, use } = createUseFns(() => instance);\n\n\tconst { socket, registerMethods } = connect(\n\t\t() => {\n\t\t\tconsole.log(\n\t\t\t\t`Introducing ${name} to gateway on address ${address} with socketPath ${customSocketPath}`\n\t\t\t);\n\t\t\tintroduce(socket, name, commands?.methods || {}, commands?.aliases, signature);\n\t\t\tif (proxy) {\n\t\t\t\tonProxiedMessage(socket, proxy.source, proxy.onMessage);\n\t\t\t\trequestProxy(socket, {\n\t\t\t\t\taddress,\n\t\t\t\t\tname,\n\t\t\t\t\t...proxy,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\taddress,\n\t\tmoduleUseFns,\n\t\ttemplatePath || '',\n\t\tname,\n\t\tcommands?.boundariesToHandle || [],\n\t\tcustomSocketPath\n\t);\n\n\tif (commands?.methods) {\n\t\tregisterMethods(commands?.methods);\n\t}\n\n\tconst { removeResource, resourceMap, upsertResource } = createResourceMap();\n\tonAskResource(socket, resourceMap);\n\n\tconst sendMessage = sendMessageToContact(socket, name);\n\n\tlet revoke = () => {\n\t\tif (proxy) {\n\t\t\trevokeProxy(socket, proxy.source);\n\t\t}\n\t};\n\n\tconst { on } = onEvent(socket, name);\n\n\tconst ask = createAskResource(socket, {\n\t\trequester: {\n\t\t\tid: name,\n\t\t\ttype: 'Handler',\n\t\t},\n\t});\n\n\tconst instance = {\n\t\tuse,\n\t\ton,\n\t\tsendMessage,\n\t\tresources: {\n\t\t\tremoveResource,\n\t\t\tupsertResource,\n\t\t},\n\t\tproxy: {\n\t\t\trevoke,\n\t\t},\n\t\task,\n\t\tsocket,\n\t};\n\n\treturn instance;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CommandAlias } from 'kozz-types/dist';
|
|
1
2
|
import { Socket } from 'socket.io-client';
|
|
2
3
|
import { Method, TypeString } from '../../../Schema';
|
|
3
4
|
/**
|
|
@@ -7,4 +8,4 @@ import { Method, TypeString } from '../../../Schema';
|
|
|
7
8
|
* @param methods
|
|
8
9
|
* @param signature
|
|
9
10
|
*/
|
|
10
|
-
export declare const introduce: <T extends Record<string, Method<Record<string, TypeString>>>>(socket: Socket, handlerName: string, methods: T, signature?: string) => Promise<void>;
|
|
11
|
+
export declare const introduce: <T extends Record<string, Method<Record<string, TypeString>>>>(socket: Socket, handlerName: string, methods: T, aliases?: CommandAlias[], signature?: string) => Promise<void>;
|
|
@@ -12,8 +12,9 @@ var _util = require("../../../util");
|
|
|
12
12
|
* @param methods
|
|
13
13
|
* @param signature
|
|
14
14
|
*/
|
|
15
|
-
const introduce = async (socket, handlerName, methods, signature) => {
|
|
15
|
+
const introduce = async (socket, handlerName, methods, aliases = [], signature) => {
|
|
16
16
|
const payload = {
|
|
17
|
+
aliases,
|
|
17
18
|
methods: Object.keys(methods),
|
|
18
19
|
name: handlerName,
|
|
19
20
|
role: 'handler'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Introduction.js","names":["_util","require","introduce","socket","handlerName","methods","signature","payload","Object","keys","name","role","emit","signPayload","exports"],"sources":["../../../../src/Socket/Events/Emit/Introduction.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Introduction.js","names":["_util","require","introduce","socket","handlerName","methods","aliases","signature","payload","Object","keys","name","role","emit","signPayload","exports"],"sources":["../../../../src/Socket/Events/Emit/Introduction.ts"],"sourcesContent":["import {\n\tCommandAlias,\n\tHandlerIntroduction,\n\tSignaturelessPayload,\n} from 'kozz-types/dist';\nimport { Socket } from 'socket.io-client';\nimport { Method, TypeString } from '../../../Schema';\nimport { signPayload } from '../../../util';\n\n/**\n * Emits the introduction payload to the gateway\n * @param socket\n * @param handlerName\n * @param methods\n * @param signature\n */\nexport const introduce = async <\n\tT extends Record<string, Method<Record<string, TypeString>>>\n>(\n\tsocket: Socket,\n\thandlerName: string,\n\tmethods: T,\n\taliases: CommandAlias[] = [],\n\tsignature?: string\n) => {\n\tconst payload: SignaturelessPayload<HandlerIntroduction> = {\n\t\taliases,\n\t\tmethods: Object.keys(methods),\n\t\tname: handlerName,\n\t\trole: 'handler',\n\t};\n\n\tsocket.emit('introduction', await signPayload(payload, signature));\n};\n"],"mappings":";;;;;;AAOA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,GAAG,MAAAA,CAGxBC,MAAc,EACdC,WAAmB,EACnBC,OAAU,EACVC,OAAuB,GAAG,EAAE,EAC5BC,SAAkB,KACd;EACJ,MAAMC,OAAkD,GAAG;IAC1DF,OAAO;IACPD,OAAO,EAAEI,MAAM,CAACC,IAAI,CAACL,OAAO,CAAC;IAC7BM,IAAI,EAAEP,WAAW;IACjBQ,IAAI,EAAE;EACP,CAAC;EAEDT,MAAM,CAACU,IAAI,CAAC,cAAc,EAAE,MAAM,IAAAC,iBAAW,EAACN,OAAO,EAAED,SAAS,CAAC,CAAC;AACnE,CAAC;AAACQ,OAAA,CAAAb,SAAA,GAAAA,SAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kozz-module-maker",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Library to create new module for the Kozz-Bot protocol",
|
|
5
5
|
"main": "./dist",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"babel": "^6.23.0",
|
|
25
25
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
26
26
|
"concurrently": "^7.6.0",
|
|
27
|
-
"kozz-types": "^0.1.
|
|
27
|
+
"kozz-types": "^0.1.23",
|
|
28
28
|
"nodemon": "^2.0.22"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
package/readme.md
CHANGED
|
@@ -146,6 +146,43 @@ createHandlerInstance({
|
|
|
146
146
|
});
|
|
147
147
|
```
|
|
148
148
|
|
|
149
|
+
### Command aliases
|
|
150
|
+
|
|
151
|
+
Handlers can announce aliases in the introduction payload. The gateway resolves
|
|
152
|
+
the alias before routing the command, so no extra handler module is required.
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
createModule({
|
|
156
|
+
name: 'ping',
|
|
157
|
+
address: 'gateway_address',
|
|
158
|
+
commands: {
|
|
159
|
+
boundariesToHandle: ['my_boundary', 'my-other-boundary'],
|
|
160
|
+
aliases: [
|
|
161
|
+
{
|
|
162
|
+
name: 'pong',
|
|
163
|
+
target: {
|
|
164
|
+
method: 'default',
|
|
165
|
+
immediateArg: null,
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
methods: {
|
|
170
|
+
...createMethod(
|
|
171
|
+
'default',
|
|
172
|
+
requester => {
|
|
173
|
+
requester.reply('Pong!');
|
|
174
|
+
},
|
|
175
|
+
{}
|
|
176
|
+
),
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
If `target.module` is omitted, the alias targets the handler that declared it.
|
|
183
|
+
Arguments typed after the alias are appended to the target `immediateArg`, and
|
|
184
|
+
named args from the message override named args declared in the alias target.
|
|
185
|
+
|
|
149
186
|
## From template
|
|
150
187
|
|
|
151
188
|
You cand send or reply to messages using templates. Instead of relying on strings hard-coded in the methods or callbacks, you can create a simpler version of .MD files and read message templates direct from them. It is still in its early stages so you can bet the .md parser will fail. Use at your own risk.
|
package/dist/debugIndex.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/debugIndex.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _GeneralModule = require("./Instance/GeneralModule");
|
|
4
|
-
var _ = require(".");
|
|
5
|
-
var _Schema = require("./Schema");
|
|
6
|
-
var _jsxRuntime = require("./jsx-runtime");
|
|
7
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
11
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
|
-
const defaultGatewayUrl = 'ws://127.0.0.1:4521';
|
|
13
|
-
const TemplateMessage = () => {
|
|
14
|
-
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
15
|
-
children: [(0, _jsxRuntime.jsx)(_.Bold, {
|
|
16
|
-
children: "Bold text"
|
|
17
|
-
}), (0, _jsxRuntime.jsx)(_.Italic, {
|
|
18
|
-
children: "Italic text"
|
|
19
|
-
}), (0, _jsxRuntime.jsx)(_.Line, {
|
|
20
|
-
children: "Line component"
|
|
21
|
-
}), (0, _jsxRuntime.jsx)(_.List, {
|
|
22
|
-
items: ['Item 1', 'Item 2', 'Item 3']
|
|
23
|
-
}), (0, _jsxRuntime.jsx)(_.ForEach, {
|
|
24
|
-
data: [1, 2, 3],
|
|
25
|
-
render: item => (0, _jsxRuntime.jsx)(_.Italic, {
|
|
26
|
-
children: item
|
|
27
|
-
})
|
|
28
|
-
}), (0, _jsxRuntime.jsx)(_.Paragraph, {
|
|
29
|
-
children: "Est duis pariatur officia ex ut commodo enim nulla aliqua ut consequat. Consectetur dolor excepteur nulla minim amet eu pariatur duis elit commodo mollit. Pariatur et dolor nisi irure deserunt ut incididunt. Fugiat dolor irure anim ullamco."
|
|
30
|
-
}), (0, _jsxRuntime.jsx)(_.Stroke, {
|
|
31
|
-
children: "Stroke text"
|
|
32
|
-
})]
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
const defaultMethod = (0, _Schema.createMethod)('default', requester => requester.sendMessage.toOtherBoundary('kozz-wa', '5511947952409@s.whatsapp.net', (0, _jsxRuntime.jsx)(TemplateMessage, {})));
|
|
36
|
-
const me = (0, _Schema.createMethod)('me', requester => requester.reply((0, _jsxRuntime.jsx)(TemplateMessage, {})));
|
|
37
|
-
const myModule = (0, _GeneralModule.createModule)({
|
|
38
|
-
name: 'test',
|
|
39
|
-
address: defaultGatewayUrl,
|
|
40
|
-
commands: {
|
|
41
|
-
boundariesToHandle: ['*'],
|
|
42
|
-
methods: _objectSpread(_objectSpread({}, defaultMethod), me)
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=debugIndex.js.map
|
package/dist/debugIndex.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debugIndex.js","names":["_GeneralModule","require","_","_Schema","_jsxRuntime","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","defaultGatewayUrl","TemplateMessage","jsxs","Fragment","children","jsx","Bold","Italic","Line","List","items","ForEach","data","render","item","Paragraph","Stroke","defaultMethod","createMethod","requester","sendMessage","toOtherBoundary","me","reply","myModule","createModule","name","address","commands","boundariesToHandle","methods"],"sources":["../src/debugIndex.tsx"],"sourcesContent":["import { createModule } from './Instance/GeneralModule';\nimport { Bold, ForEach, Italic, Line, List, Paragraph, Stroke } from '.';\n\nimport { createMethod } from './Schema';\n\nconst defaultGatewayUrl = 'ws://127.0.0.1:4521';\n\nconst TemplateMessage = () => {\n\treturn (\n\t\t<>\n\t\t\t<Bold>Bold text</Bold>\n\t\t\t<Italic>Italic text</Italic>\n\t\t\t<Line>Line component</Line>\n\t\t\t<List items={['Item 1', 'Item 2', 'Item 3']} />\n\t\t\t<ForEach data={[1, 2, 3]} render={item => <Italic>{item}</Italic>} />\n\t\t\t<Paragraph>\n\t\t\t\tEst duis pariatur officia ex ut commodo enim nulla aliqua ut consequat.\n\t\t\t\tConsectetur dolor excepteur nulla minim amet eu pariatur duis elit\n\t\t\t\tcommodo mollit. Pariatur et dolor nisi irure deserunt ut incididunt.\n\t\t\t\tFugiat dolor irure anim ullamco.\n\t\t\t</Paragraph>\n\t\t\t<Stroke>Stroke text</Stroke>\n\t\t</>\n\t);\n};\n\nconst defaultMethod = createMethod('default', requester =>\n\trequester.sendMessage.toOtherBoundary(\n\t\t'kozz-wa',\n\t\t'5511947952409@s.whatsapp.net',\n\t\t<TemplateMessage />\n\t)\n);\n\nconst me = createMethod('me', requester =>\n\trequester.reply(<TemplateMessage />)\n);\n\nconst myModule = createModule({\n\tname: 'test',\n\taddress: defaultGatewayUrl,\n\tcommands: {\n\t\tboundariesToHandle: ['*'],\n\t\tmethods: {\n\t\t\t...defaultMethod,\n\t\t\t...me,\n\t\t},\n\t},\n});\n"],"mappings":"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","ignoreList":[]}
|