@polkadot-api/logs-provider 0.0.3 → 0.0.4

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.
@@ -3,15 +3,13 @@ import { OUT } from './types.mjs';
3
3
 
4
4
  const rawLogsToLogs = (rawLogs) => {
5
5
  const result = /* @__PURE__ */ new Map();
6
- let prevDate = "";
7
6
  let tick = -1;
8
7
  for (let i = 0; i < rawLogs.length; i++) {
9
8
  const [, clientIdRaw, dateRaw, type, msg] = rawLogs[i].match(
10
9
  /^(\d*)-(.{24})-(.{2})-(.*)$/
11
10
  );
12
11
  const clientId = Number(clientIdRaw);
13
- tick += dateRaw === prevDate ? 0 : 1;
14
- prevDate = dateRaw;
12
+ tick = new Date(dateRaw).getTime();
15
13
  const logs = result.get(clientId) ?? [];
16
14
  result.set(clientId, logs);
17
15
  logs.push({
@@ -68,7 +66,11 @@ const logsProvider = (rawLogs) => {
68
66
  }
69
67
  } else {
70
68
  onMsg(expected.msg);
71
- await Promise.resolve();
69
+ const nextOne = logs[idx + 1];
70
+ if (nextOne)
71
+ await new Promise(
72
+ (res) => setTimeout(res, nextOne.tick - expected.tick)
73
+ );
72
74
  }
73
75
  idx++;
74
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logs-provider.mjs","sources":["../../src/logs-provider.ts"],"sourcesContent":["import { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport Queue from \"./queue\"\nimport { In, OUT, Out } from \"./types\"\n\ninterface Log {\n clientId: number\n type: In | Out\n msg: string\n tick: number\n}\n\nconst rawLogsToLogs = (rawLogs: string[]): Map<number, Log[]> => {\n const result = new Map<number, Log[]>()\n let prevDate = \"\"\n let tick = -1\n\n for (let i = 0; i < rawLogs.length; i++) {\n const [, clientIdRaw, dateRaw, type, msg] = rawLogs[i].match(\n /^(\\d*)-(.{24})-(.{2})-(.*)$/,\n )!\n const clientId = Number(clientIdRaw)\n\n tick += dateRaw === prevDate ? 0 : 1\n prevDate = dateRaw\n\n const logs = result.get(clientId) ?? []\n result.set(clientId, logs)\n\n logs.push({\n clientId,\n tick,\n type: type as any,\n msg,\n })\n }\n\n return result\n}\n\nconst extractTx = (msg: string) => {\n const startTxt = 'TaggedTransactionQueue_validate_transaction\",\"'\n const start = msg.lastIndexOf(startTxt) + startTxt.length + 4\n const end = msg.indexOf(`\"`, start + 1)\n return msg.substring(start, end - 64)\n}\n\nexport const logsProvider = (rawLogs: Array<string>): JsonRpcProvider => {\n let nextClientId = 1\n const allLogs = rawLogsToLogs(\n rawLogs[rawLogs.length - 1] ? rawLogs : rawLogs.slice(0, -1),\n )\n\n return (onMsg) => {\n const clientId = nextClientId++\n const logs = allLogs.get(clientId)!\n const pending = new Queue<string>()\n let idx = 0\n\n let transactions = new Map<string, string>()\n const checkForIncommingMessages = async () => {\n if (!pending.peek()) return\n\n while (idx < logs.length && token !== undefined) {\n const expected = logs[idx]\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n if (expected.type === OUT) {\n if (!pending.peek()) {\n token = setTimeout(checkForIncommingMessages, 100)\n break\n }\n\n const received = pending.pop()\n\n if (\n expected.msg.includes(\n \"TaggedTransactionQueue_validate_transaction\",\n ) &&\n received?.includes(\"TaggedTransactionQueue_validate_transaction\")\n ) {\n transactions.set(extractTx(expected.msg), extractTx(received))\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n }\n\n if (received !== expected.msg) {\n console.log(`recieved: \"${received}\"`)\n console.log(`expected: \"${expected.msg}\"`)\n throw new Error(\"unexpected messaged was received\")\n }\n } else {\n onMsg(expected.msg)\n await Promise.resolve()\n }\n idx++\n }\n }\n\n let token: undefined | number = setTimeout(checkForIncommingMessages, 200)\n\n return {\n send: (msg) => {\n pending.push(msg)\n },\n disconnect: () => {\n clearTimeout(token)\n token = undefined\n },\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs-provider.mjs","sources":["../../src/logs-provider.ts"],"sourcesContent":["import { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport Queue from \"./queue\"\nimport { In, OUT, Out } from \"./types\"\n\ninterface Log {\n clientId: number\n type: In | Out\n msg: string\n tick: number\n}\n\nconst rawLogsToLogs = (rawLogs: string[]): Map<number, Log[]> => {\n const result = new Map<number, Log[]>()\n let tick = -1\n\n for (let i = 0; i < rawLogs.length; i++) {\n const [, clientIdRaw, dateRaw, type, msg] = rawLogs[i].match(\n /^(\\d*)-(.{24})-(.{2})-(.*)$/,\n )!\n const clientId = Number(clientIdRaw)\n\n tick = new Date(dateRaw).getTime()\n\n const logs = result.get(clientId) ?? []\n result.set(clientId, logs)\n\n logs.push({\n clientId,\n tick,\n type: type as any,\n msg,\n })\n }\n\n return result\n}\n\nconst extractTx = (msg: string) => {\n const startTxt = 'TaggedTransactionQueue_validate_transaction\",\"'\n const start = msg.lastIndexOf(startTxt) + startTxt.length + 4\n const end = msg.indexOf(`\"`, start + 1)\n return msg.substring(start, end - 64)\n}\n\nexport const logsProvider = (rawLogs: Array<string>): JsonRpcProvider => {\n let nextClientId = 1\n const allLogs = rawLogsToLogs(\n rawLogs[rawLogs.length - 1] ? rawLogs : rawLogs.slice(0, -1),\n )\n\n return (onMsg) => {\n const clientId = nextClientId++\n const logs = allLogs.get(clientId)!\n const pending = new Queue<string>()\n let idx = 0\n\n let transactions = new Map<string, string>()\n const checkForIncommingMessages = async () => {\n if (!pending.peek()) return\n\n while (idx < logs.length && token !== undefined) {\n const expected = logs[idx]\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n if (expected.type === OUT) {\n if (!pending.peek()) {\n token = setTimeout(checkForIncommingMessages, 100)\n break\n }\n\n const received = pending.pop()\n\n if (\n expected.msg.includes(\n \"TaggedTransactionQueue_validate_transaction\",\n ) &&\n received?.includes(\"TaggedTransactionQueue_validate_transaction\")\n ) {\n transactions.set(extractTx(expected.msg), extractTx(received))\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n }\n\n if (received !== expected.msg) {\n console.log(`recieved: \"${received}\"`)\n console.log(`expected: \"${expected.msg}\"`)\n throw new Error(\"unexpected messaged was received\")\n }\n } else {\n onMsg(expected.msg)\n const nextOne = logs[idx + 1]\n if (nextOne)\n await new Promise((res) =>\n setTimeout(res, nextOne.tick - expected.tick),\n )\n }\n idx++\n }\n }\n\n let token: undefined | number = setTimeout(checkForIncommingMessages, 200)\n\n return {\n send: (msg) => {\n pending.push(msg)\n },\n disconnect: () => {\n clearTimeout(token)\n token = undefined\n },\n }\n }\n}\n"],"names":[],"mappings":";;;AAWA,MAAM,aAAA,GAAgB,CAAC,OAA0C,KAAA;AAC/D,EAAM,MAAA,MAAA,uBAAa,GAAmB,EAAA,CAAA;AACtC,EAAA,IAAI,IAAO,GAAA,CAAA,CAAA,CAAA;AAEX,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,OAAA,CAAQ,QAAQ,CAAK,EAAA,EAAA;AACvC,IAAM,MAAA,GAAG,WAAa,EAAA,OAAA,EAAS,MAAM,GAAG,CAAA,GAAI,OAAQ,CAAA,CAAC,CAAE,CAAA,KAAA;AAAA,MACrD,6BAAA;AAAA,KACF,CAAA;AACA,IAAM,MAAA,QAAA,GAAW,OAAO,WAAW,CAAA,CAAA;AAEnC,IAAA,IAAA,GAAO,IAAI,IAAA,CAAK,OAAO,CAAA,CAAE,OAAQ,EAAA,CAAA;AAEjC,IAAA,MAAM,IAAO,GAAA,MAAA,CAAO,GAAI,CAAA,QAAQ,KAAK,EAAC,CAAA;AACtC,IAAO,MAAA,CAAA,GAAA,CAAI,UAAU,IAAI,CAAA,CAAA;AAEzB,IAAA,IAAA,CAAK,IAAK,CAAA;AAAA,MACR,QAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAEA,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEA,MAAM,SAAA,GAAY,CAAC,GAAgB,KAAA;AACjC,EAAA,MAAM,QAAW,GAAA,gDAAA,CAAA;AACjB,EAAA,MAAM,QAAQ,GAAI,CAAA,WAAA,CAAY,QAAQ,CAAA,GAAI,SAAS,MAAS,GAAA,CAAA,CAAA;AAC5D,EAAA,MAAM,GAAM,GAAA,GAAA,CAAI,OAAQ,CAAA,CAAA,CAAA,CAAA,EAAK,QAAQ,CAAC,CAAA,CAAA;AACtC,EAAA,OAAO,GAAI,CAAA,SAAA,CAAU,KAAO,EAAA,GAAA,GAAM,EAAE,CAAA,CAAA;AACtC,CAAA,CAAA;AAEa,MAAA,YAAA,GAAe,CAAC,OAA4C,KAAA;AACvE,EAAA,IAAI,YAAe,GAAA,CAAA,CAAA;AACnB,EAAA,MAAM,OAAU,GAAA,aAAA;AAAA,IACd,OAAA,CAAQ,QAAQ,MAAS,GAAA,CAAC,IAAI,OAAU,GAAA,OAAA,CAAQ,KAAM,CAAA,CAAA,EAAG,CAAE,CAAA,CAAA;AAAA,GAC7D,CAAA;AAEA,EAAA,OAAO,CAAC,KAAU,KAAA;AAChB,IAAA,MAAM,QAAW,GAAA,YAAA,EAAA,CAAA;AACjB,IAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,GAAA,CAAI,QAAQ,CAAA,CAAA;AACjC,IAAM,MAAA,OAAA,GAAU,IAAI,KAAc,EAAA,CAAA;AAClC,IAAA,IAAI,GAAM,GAAA,CAAA,CAAA;AAEV,IAAI,IAAA,YAAA,uBAAmB,GAAoB,EAAA,CAAA;AAC3C,IAAA,MAAM,4BAA4B,YAAY;AAC5C,MAAI,IAAA,CAAC,OAAQ,CAAA,IAAA,EAAQ,EAAA,OAAA;AAErB,MAAA,OAAO,GAAM,GAAA,IAAA,CAAK,MAAU,IAAA,KAAA,KAAU,KAAW,CAAA,EAAA;AAC/C,QAAM,MAAA,QAAA,GAAW,KAAK,GAAG,CAAA,CAAA;AACzB,QAAa,YAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AACnC,UAAA,QAAA,CAAS,GAAM,GAAA,QAAA,CAAS,GAAI,CAAA,OAAA,CAAQ,KAAK,KAAK,CAAA,CAAA;AAAA,SAC/C,CAAA,CAAA;AACD,QAAI,IAAA,QAAA,CAAS,SAAS,GAAK,EAAA;AACzB,UAAI,IAAA,CAAC,OAAQ,CAAA,IAAA,EAAQ,EAAA;AACnB,YAAQ,KAAA,GAAA,UAAA,CAAW,2BAA2B,GAAG,CAAA,CAAA;AACjD,YAAA,MAAA;AAAA,WACF;AAEA,UAAM,MAAA,QAAA,GAAW,QAAQ,GAAI,EAAA,CAAA;AAE7B,UAAA,IACE,SAAS,GAAI,CAAA,QAAA;AAAA,YACX,6CAAA;AAAA,WAEF,IAAA,QAAA,EAAU,QAAS,CAAA,6CAA6C,CAChE,EAAA;AACA,YAAA,YAAA,CAAa,IAAI,SAAU,CAAA,QAAA,CAAS,GAAG,CAAG,EAAA,SAAA,CAAU,QAAQ,CAAC,CAAA,CAAA;AAC7D,YAAa,YAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,GAAQ,KAAA;AACnC,cAAA,QAAA,CAAS,GAAM,GAAA,QAAA,CAAS,GAAI,CAAA,OAAA,CAAQ,KAAK,KAAK,CAAA,CAAA;AAAA,aAC/C,CAAA,CAAA;AAAA,WACH;AAEA,UAAI,IAAA,QAAA,KAAa,SAAS,GAAK,EAAA;AAC7B,YAAQ,OAAA,CAAA,GAAA,CAAI,CAAc,WAAA,EAAA,QAAQ,CAAG,CAAA,CAAA,CAAA,CAAA;AACrC,YAAA,OAAA,CAAQ,GAAI,CAAA,CAAA,WAAA,EAAc,QAAS,CAAA,GAAG,CAAG,CAAA,CAAA,CAAA,CAAA;AACzC,YAAM,MAAA,IAAI,MAAM,kCAAkC,CAAA,CAAA;AAAA,WACpD;AAAA,SACK,MAAA;AACL,UAAA,KAAA,CAAM,SAAS,GAAG,CAAA,CAAA;AAClB,UAAM,MAAA,OAAA,GAAU,IAAK,CAAA,GAAA,GAAM,CAAC,CAAA,CAAA;AAC5B,UAAI,IAAA,OAAA;AACF,YAAA,MAAM,IAAI,OAAA;AAAA,cAAQ,CAAC,GACjB,KAAA,UAAA,CAAW,KAAK,OAAQ,CAAA,IAAA,GAAO,SAAS,IAAI,CAAA;AAAA,aAC9C,CAAA;AAAA,SACJ;AACA,QAAA,GAAA,EAAA,CAAA;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAI,IAAA,KAAA,GAA4B,UAAW,CAAA,yBAAA,EAA2B,GAAG,CAAA,CAAA;AAEzE,IAAO,OAAA;AAAA,MACL,IAAA,EAAM,CAAC,GAAQ,KAAA;AACb,QAAA,OAAA,CAAQ,KAAK,GAAG,CAAA,CAAA;AAAA,OAClB;AAAA,MACA,YAAY,MAAM;AAChB,QAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAClB,QAAQ,KAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACF,CAAA;AAAA,GACF,CAAA;AACF;;;;"}
package/dist/index.js CHANGED
@@ -40,15 +40,13 @@ const IN = "<<";
40
40
 
41
41
  const rawLogsToLogs = (rawLogs) => {
42
42
  const result = /* @__PURE__ */ new Map();
43
- let prevDate = "";
44
43
  let tick = -1;
45
44
  for (let i = 0; i < rawLogs.length; i++) {
46
45
  const [, clientIdRaw, dateRaw, type, msg] = rawLogs[i].match(
47
46
  /^(\d*)-(.{24})-(.{2})-(.*)$/
48
47
  );
49
48
  const clientId = Number(clientIdRaw);
50
- tick += dateRaw === prevDate ? 0 : 1;
51
- prevDate = dateRaw;
49
+ tick = new Date(dateRaw).getTime();
52
50
  const logs = result.get(clientId) ?? [];
53
51
  result.set(clientId, logs);
54
52
  logs.push({
@@ -105,7 +103,11 @@ const logsProvider = (rawLogs) => {
105
103
  }
106
104
  } else {
107
105
  onMsg(expected.msg);
108
- await Promise.resolve();
106
+ const nextOne = logs[idx + 1];
107
+ if (nextOne)
108
+ await new Promise(
109
+ (res) => setTimeout(res, nextOne.tick - expected.tick)
110
+ );
109
111
  }
110
112
  idx++;
111
113
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/queue.ts","../src/types.ts","../src/logs-provider.ts","../src/with-logs-recorder.ts"],"sourcesContent":["interface QueueNode<T> {\n value: T\n next?: QueueNode<T>\n}\n\nexport default class Queue<T> {\n private first?: QueueNode<T>\n private last?: QueueNode<T>\n\n constructor(...vals: T[]) {\n if (vals.length === 0) return\n vals.forEach((val) => this.push(val))\n }\n\n push(value: T) {\n const nextLast: QueueNode<T> = { value }\n if (this.last === undefined) {\n this.last = nextLast\n this.first = this.last\n } else {\n this.last.next = nextLast\n this.last = nextLast\n }\n }\n\n pop() {\n const result = this.first?.value\n if (this.first) {\n this.first = this.first.next\n if (!this.first) {\n this.last = undefined\n }\n }\n return result\n }\n\n peek() {\n return this.first?.value\n }\n}\n","export type Out = \">>\"\nexport const OUT: Out = \">>\"\n\nexport type In = \"<<\"\nexport const IN: In = \"<<\"\n","import { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport Queue from \"./queue\"\nimport { In, OUT, Out } from \"./types\"\n\ninterface Log {\n clientId: number\n type: In | Out\n msg: string\n tick: number\n}\n\nconst rawLogsToLogs = (rawLogs: string[]): Map<number, Log[]> => {\n const result = new Map<number, Log[]>()\n let prevDate = \"\"\n let tick = -1\n\n for (let i = 0; i < rawLogs.length; i++) {\n const [, clientIdRaw, dateRaw, type, msg] = rawLogs[i].match(\n /^(\\d*)-(.{24})-(.{2})-(.*)$/,\n )!\n const clientId = Number(clientIdRaw)\n\n tick += dateRaw === prevDate ? 0 : 1\n prevDate = dateRaw\n\n const logs = result.get(clientId) ?? []\n result.set(clientId, logs)\n\n logs.push({\n clientId,\n tick,\n type: type as any,\n msg,\n })\n }\n\n return result\n}\n\nconst extractTx = (msg: string) => {\n const startTxt = 'TaggedTransactionQueue_validate_transaction\",\"'\n const start = msg.lastIndexOf(startTxt) + startTxt.length + 4\n const end = msg.indexOf(`\"`, start + 1)\n return msg.substring(start, end - 64)\n}\n\nexport const logsProvider = (rawLogs: Array<string>): JsonRpcProvider => {\n let nextClientId = 1\n const allLogs = rawLogsToLogs(\n rawLogs[rawLogs.length - 1] ? rawLogs : rawLogs.slice(0, -1),\n )\n\n return (onMsg) => {\n const clientId = nextClientId++\n const logs = allLogs.get(clientId)!\n const pending = new Queue<string>()\n let idx = 0\n\n let transactions = new Map<string, string>()\n const checkForIncommingMessages = async () => {\n if (!pending.peek()) return\n\n while (idx < logs.length && token !== undefined) {\n const expected = logs[idx]\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n if (expected.type === OUT) {\n if (!pending.peek()) {\n token = setTimeout(checkForIncommingMessages, 100)\n break\n }\n\n const received = pending.pop()\n\n if (\n expected.msg.includes(\n \"TaggedTransactionQueue_validate_transaction\",\n ) &&\n received?.includes(\"TaggedTransactionQueue_validate_transaction\")\n ) {\n transactions.set(extractTx(expected.msg), extractTx(received))\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n }\n\n if (received !== expected.msg) {\n console.log(`recieved: \"${received}\"`)\n console.log(`expected: \"${expected.msg}\"`)\n throw new Error(\"unexpected messaged was received\")\n }\n } else {\n onMsg(expected.msg)\n await Promise.resolve()\n }\n idx++\n }\n }\n\n let token: undefined | number = setTimeout(checkForIncommingMessages, 200)\n\n return {\n send: (msg) => {\n pending.push(msg)\n },\n disconnect: () => {\n clearTimeout(token)\n token = undefined\n },\n }\n }\n}\n","import { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport { IN, OUT } from \"./types\"\n\nexport const withLogsRecorder = (\n persistLog: (log: string) => void,\n input: JsonRpcProvider,\n): JsonRpcProvider => {\n let nextId = 1\n let token: any\n let tickDate = \"\"\n const setTickDate = () => {\n tickDate = new Date().toISOString()\n token = setTimeout(setTickDate, 0)\n }\n\n return (onMsg) => {\n const clientId = nextId++\n\n setTickDate()\n\n const result = input((msg) => {\n persistLog(`${clientId}-${tickDate}-${IN}-${msg}`)\n onMsg(msg)\n })\n\n return {\n ...result,\n send: (msg) => {\n persistLog(`${clientId}-${tickDate}-${OUT}-${msg}`)\n result.send(msg)\n },\n disconnect() {\n clearTimeout(token)\n result.disconnect()\n },\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/queue.ts","../src/types.ts","../src/logs-provider.ts","../src/with-logs-recorder.ts"],"sourcesContent":["interface QueueNode<T> {\n value: T\n next?: QueueNode<T>\n}\n\nexport default class Queue<T> {\n private first?: QueueNode<T>\n private last?: QueueNode<T>\n\n constructor(...vals: T[]) {\n if (vals.length === 0) return\n vals.forEach((val) => this.push(val))\n }\n\n push(value: T) {\n const nextLast: QueueNode<T> = { value }\n if (this.last === undefined) {\n this.last = nextLast\n this.first = this.last\n } else {\n this.last.next = nextLast\n this.last = nextLast\n }\n }\n\n pop() {\n const result = this.first?.value\n if (this.first) {\n this.first = this.first.next\n if (!this.first) {\n this.last = undefined\n }\n }\n return result\n }\n\n peek() {\n return this.first?.value\n }\n}\n","export type Out = \">>\"\nexport const OUT: Out = \">>\"\n\nexport type In = \"<<\"\nexport const IN: In = \"<<\"\n","import { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport Queue from \"./queue\"\nimport { In, OUT, Out } from \"./types\"\n\ninterface Log {\n clientId: number\n type: In | Out\n msg: string\n tick: number\n}\n\nconst rawLogsToLogs = (rawLogs: string[]): Map<number, Log[]> => {\n const result = new Map<number, Log[]>()\n let tick = -1\n\n for (let i = 0; i < rawLogs.length; i++) {\n const [, clientIdRaw, dateRaw, type, msg] = rawLogs[i].match(\n /^(\\d*)-(.{24})-(.{2})-(.*)$/,\n )!\n const clientId = Number(clientIdRaw)\n\n tick = new Date(dateRaw).getTime()\n\n const logs = result.get(clientId) ?? []\n result.set(clientId, logs)\n\n logs.push({\n clientId,\n tick,\n type: type as any,\n msg,\n })\n }\n\n return result\n}\n\nconst extractTx = (msg: string) => {\n const startTxt = 'TaggedTransactionQueue_validate_transaction\",\"'\n const start = msg.lastIndexOf(startTxt) + startTxt.length + 4\n const end = msg.indexOf(`\"`, start + 1)\n return msg.substring(start, end - 64)\n}\n\nexport const logsProvider = (rawLogs: Array<string>): JsonRpcProvider => {\n let nextClientId = 1\n const allLogs = rawLogsToLogs(\n rawLogs[rawLogs.length - 1] ? rawLogs : rawLogs.slice(0, -1),\n )\n\n return (onMsg) => {\n const clientId = nextClientId++\n const logs = allLogs.get(clientId)!\n const pending = new Queue<string>()\n let idx = 0\n\n let transactions = new Map<string, string>()\n const checkForIncommingMessages = async () => {\n if (!pending.peek()) return\n\n while (idx < logs.length && token !== undefined) {\n const expected = logs[idx]\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n if (expected.type === OUT) {\n if (!pending.peek()) {\n token = setTimeout(checkForIncommingMessages, 100)\n break\n }\n\n const received = pending.pop()\n\n if (\n expected.msg.includes(\n \"TaggedTransactionQueue_validate_transaction\",\n ) &&\n received?.includes(\"TaggedTransactionQueue_validate_transaction\")\n ) {\n transactions.set(extractTx(expected.msg), extractTx(received))\n transactions.forEach((value, key) => {\n expected.msg = expected.msg.replace(key, value)\n })\n }\n\n if (received !== expected.msg) {\n console.log(`recieved: \"${received}\"`)\n console.log(`expected: \"${expected.msg}\"`)\n throw new Error(\"unexpected messaged was received\")\n }\n } else {\n onMsg(expected.msg)\n const nextOne = logs[idx + 1]\n if (nextOne)\n await new Promise((res) =>\n setTimeout(res, nextOne.tick - expected.tick),\n )\n }\n idx++\n }\n }\n\n let token: undefined | number = setTimeout(checkForIncommingMessages, 200)\n\n return {\n send: (msg) => {\n pending.push(msg)\n },\n disconnect: () => {\n clearTimeout(token)\n token = undefined\n },\n }\n }\n}\n","import { JsonRpcProvider } from \"@polkadot-api/json-rpc-provider\"\nimport { IN, OUT } from \"./types\"\n\nexport const withLogsRecorder = (\n persistLog: (log: string) => void,\n input: JsonRpcProvider,\n): JsonRpcProvider => {\n let nextId = 1\n let token: any\n let tickDate = \"\"\n const setTickDate = () => {\n tickDate = new Date().toISOString()\n token = setTimeout(setTickDate, 0)\n }\n\n return (onMsg) => {\n const clientId = nextId++\n\n setTickDate()\n\n const result = input((msg) => {\n persistLog(`${clientId}-${tickDate}-${IN}-${msg}`)\n onMsg(msg)\n })\n\n return {\n ...result,\n send: (msg) => {\n persistLog(`${clientId}-${tickDate}-${OUT}-${msg}`)\n result.send(msg)\n },\n disconnect() {\n clearTimeout(token)\n result.disconnect()\n },\n }\n }\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polkadot-api/logs-provider",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "author": "Josep M Sobrepere (https://github.com/josepot)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,13 +35,14 @@
35
35
  "dist"
36
36
  ],
37
37
  "dependencies": {
38
- "@polkadot-api/json-rpc-provider": "0.0.2"
38
+ "@polkadot-api/json-rpc-provider": "0.0.3"
39
39
  },
40
40
  "devDependencies": {
41
- "@polkadot-api/json-rpc-provider": "0.0.2"
41
+ "@polkadot-api/json-rpc-provider": "0.0.3"
42
42
  },
43
43
  "scripts": {
44
- "build": "tsc --noEmit && rollup -c ../../../rollup.config.js",
44
+ "build-core": "tsc --noEmit && rollup -c ../../../rollup.config.js",
45
+ "build": "pnpm build-core",
45
46
  "test": "echo 'no tests'",
46
47
  "lint": "prettier --check README.md \"src/**/*.{js,jsx,ts,tsx,json,md}\"",
47
48
  "format": "prettier --write README.md \"src/**/*.{js,jsx,ts,tsx,json,md}\""