@sentio/runtime 2.11.0-rc.6 → 2.11.0-rc.7

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/lib/endpoints.js CHANGED
@@ -1,8 +1,9 @@
1
- export class Endpoints {
1
+ class Endpoints {
2
2
  static INSTANCE = new Endpoints();
3
3
  concurrency = 4;
4
4
  chainQueryAPI = '';
5
5
  priceFeedAPI = '';
6
6
  chainServer = new Map();
7
7
  }
8
+ export { Endpoints };
8
9
  //# sourceMappingURL=endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IACpB,MAAM,CAAC,QAAQ,GAAc,IAAI,SAAS,EAAE,CAAA;IAE5C,WAAW,GAAG,CAAC,CAAA;IACf,aAAa,GAAG,EAAE,CAAA;IAClB,YAAY,GAAG,EAAE,CAAA;IAEjB,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA","sourcesContent":["export class Endpoints {\n static INSTANCE: Endpoints = new Endpoints()\n\n concurrency = 4\n chainQueryAPI = ''\n priceFeedAPI = ''\n\n chainServer = new Map<string, string>()\n}\n"]}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAAA,MAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,GAAc,IAAI,SAAS,EAAE,CAAA;IAE5C,WAAW,GAAG,CAAC,CAAA;IACf,aAAa,GAAG,EAAE,CAAA;IAClB,YAAY,GAAG,EAAE,CAAA;IAEjB,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;;SAP5B,SAAS","sourcesContent":["export class Endpoints {\n static INSTANCE: Endpoints = new Endpoints()\n\n concurrency = 4\n chainQueryAPI = ''\n priceFeedAPI = ''\n\n chainServer = new Map<string, string>()\n}\n"]}
package/lib/plugin.js CHANGED
@@ -11,7 +11,7 @@ export class Plugin {
11
11
  return ProcessResult.fromPartial({});
12
12
  }
13
13
  }
14
- export class PluginManager {
14
+ class PluginManager {
15
15
  static INSTANCE = new PluginManager();
16
16
  plugins = [];
17
17
  typesToPlugin = new Map();
@@ -45,4 +45,5 @@ export class PluginManager {
45
45
  return plugin.processBinding(request);
46
46
  }
47
47
  }
48
+ export { PluginManager };
48
49
  //# sourceMappingURL=plugin.js.map
package/lib/plugin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,aAAa,EAAgB,MAAM,gBAAgB,CAAA;AAE7G,MAAM,OAAgB,MAAM;IAC1B,IAAI,CAAQ;IACZ,iBAAiB,GAAkB,EAAE,CAAA;IAErC,KAAK,CAAC,SAAS,CAAC,MAA6B,IAAkB,CAAC;IAChE,KAAK,CAAC,KAAK,CAAC,KAAmB,IAAkB,CAAC;IAClD,SAAS,CAAC,MAA6B;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,OAAoB;QACvC,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;IAErC,OAAO,GAAa,EAAE,CAAA;IACtB,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAA;IAE9C,QAAQ,CAAC,MAAc;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;YACpD,OAAM;SACP;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,iBAAiB,EAAE;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,KAAK,OAAO,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aAC3F;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;SAC5C;IACH,CAAC;IAED,SAAS,CAAC,MAA6B;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,KAAmB;QACvB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,SAAS,CAAC,MAA6B;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,cAAc,CAAC,OAAoB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;SACxD;QACD,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC","sourcesContent":["import { DataBinding, HandlerType, ProcessConfigResponse, ProcessResult, StartRequest } from '@sentio/protos'\n\nexport abstract class Plugin {\n name: string\n supportedHandlers: HandlerType[] = []\n\n async configure(config: ProcessConfigResponse): Promise<void> {}\n async start(start: StartRequest): Promise<void> {}\n stateDiff(config: ProcessConfigResponse): boolean {\n return false\n }\n async processBinding(request: DataBinding): Promise<ProcessResult> {\n return ProcessResult.fromPartial({})\n }\n}\n\nexport class PluginManager {\n static INSTANCE = new PluginManager()\n\n plugins: Plugin[] = []\n typesToPlugin = new Map<HandlerType, Plugin>()\n\n register(plugin: Plugin) {\n if (this.plugins.find((p) => p.name === plugin.name)) {\n return\n }\n this.plugins.push(plugin)\n\n for (const handlerType of plugin.supportedHandlers) {\n const exsited = this.typesToPlugin.get(handlerType)\n if (exsited) {\n throw new Error(`Duplicate plugin for ${handlerType}: ${exsited.name} and ${plugin.name}`)\n }\n this.typesToPlugin.set(handlerType, plugin)\n }\n }\n\n configure(config: ProcessConfigResponse) {\n return Promise.all(this.plugins.map((plugin) => plugin.configure(config)))\n }\n\n start(start: StartRequest) {\n return Promise.all(this.plugins.map((plugin) => plugin.start(start)))\n }\n\n stateDiff(config: ProcessConfigResponse): boolean {\n return this.plugins.some((plugin) => plugin.stateDiff(config))\n }\n\n processBinding(request: DataBinding): Promise<ProcessResult> {\n const plugin = this.typesToPlugin.get(request.handlerType)\n if (!plugin) {\n throw new Error(`No plugin for ${request.handlerType}`)\n }\n return plugin.processBinding(request)\n }\n}\n"]}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,aAAa,EAAgB,MAAM,gBAAgB,CAAA;AAE7G,MAAM,OAAgB,MAAM;IAC1B,IAAI,CAAQ;IACZ,iBAAiB,GAAkB,EAAE,CAAA;IAErC,KAAK,CAAC,SAAS,CAAC,MAA6B,IAAkB,CAAC;IAChE,KAAK,CAAC,KAAK,CAAC,KAAmB,IAAkB,CAAC;IAClD,SAAS,CAAC,MAA6B;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,OAAoB;QACvC,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC;CACF;AAED,MAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;IAErC,OAAO,GAAa,EAAE,CAAA;IACtB,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAA;IAE9C,QAAQ,CAAC,MAAc;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;YACpD,OAAM;SACP;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,iBAAiB,EAAE;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,KAAK,OAAO,CAAC,IAAI,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;aAC3F;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;SAC5C;IACH,CAAC;IAED,SAAS,CAAC,MAA6B;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,KAAmB;QACvB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,SAAS,CAAC,MAA6B;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,cAAc,CAAC,OAAoB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;SACxD;QACD,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;;SAvCU,aAAa","sourcesContent":["import { DataBinding, HandlerType, ProcessConfigResponse, ProcessResult, StartRequest } from '@sentio/protos'\n\nexport abstract class Plugin {\n name: string\n supportedHandlers: HandlerType[] = []\n\n async configure(config: ProcessConfigResponse): Promise<void> {}\n async start(start: StartRequest): Promise<void> {}\n stateDiff(config: ProcessConfigResponse): boolean {\n return false\n }\n async processBinding(request: DataBinding): Promise<ProcessResult> {\n return ProcessResult.fromPartial({})\n }\n}\n\nexport class PluginManager {\n static INSTANCE = new PluginManager()\n\n plugins: Plugin[] = []\n typesToPlugin = new Map<HandlerType, Plugin>()\n\n register(plugin: Plugin) {\n if (this.plugins.find((p) => p.name === plugin.name)) {\n return\n }\n this.plugins.push(plugin)\n\n for (const handlerType of plugin.supportedHandlers) {\n const exsited = this.typesToPlugin.get(handlerType)\n if (exsited) {\n throw new Error(`Duplicate plugin for ${handlerType}: ${exsited.name} and ${plugin.name}`)\n }\n this.typesToPlugin.set(handlerType, plugin)\n }\n }\n\n configure(config: ProcessConfigResponse) {\n return Promise.all(this.plugins.map((plugin) => plugin.configure(config)))\n }\n\n start(start: StartRequest) {\n return Promise.all(this.plugins.map((plugin) => plugin.start(start)))\n }\n\n stateDiff(config: ProcessConfigResponse): boolean {\n return this.plugins.some((plugin) => plugin.stateDiff(config))\n }\n\n processBinding(request: DataBinding): Promise<ProcessResult> {\n const plugin = this.typesToPlugin.get(request.handlerType)\n if (!plugin) {\n throw new Error(`No plugin for ${request.handlerType}`)\n }\n return plugin.processBinding(request)\n }\n}\n"]}
package/lib/state.js CHANGED
@@ -1,10 +1,11 @@
1
- export class State {
1
+ class State {
2
2
  stateMap = new Map();
3
3
  static INSTANCE = new State();
4
4
  static reset() {
5
5
  State.INSTANCE = new State();
6
6
  }
7
7
  }
8
+ export { State };
8
9
  export class StateStorage {
9
10
  // TODO learn how to define single instance for all subclasses
10
11
  constructor() {
package/lib/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAA;IAEjC,MAAM,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;IAE7B,MAAM,CAAC,KAAK;QACV,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;IAC9B,CAAC;;AAGH,MAAM,OAAgB,YAAY;IAChC,8DAA8D;IAE9D;QACE,EAAE;IACJ,CAAC;IAID,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,aAAa;QACX,IAAI,WAAW,GAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC9B,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;SACrD;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAED,MAAM,OAAgB,eAAmB,SAAQ,YAA4B;IAC3E,SAAS;QACP,OAAO,IAAI,GAAG,EAAa,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,KAAQ;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,iDAAiD,CAAC,CAAA;YACpE,OAAO,QAAQ,CAAA;SAChB;QACD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED,MAAM,OAAgB,gBAAoB,SAAQ,YAAiB;IACjE,SAAS;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,KAAQ;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACb,OAAO,KAAK,CAAA;IACd,CAAC;CACF","sourcesContent":["export class State {\n stateMap = new Map<string, any>()\n\n static INSTANCE = new State()\n\n static reset() {\n State.INSTANCE = new State()\n }\n}\n\nexport abstract class StateStorage<T> {\n // TODO learn how to define single instance for all subclasses\n\n protected constructor() {\n //\n }\n\n abstract initValue(): T\n\n key(): string {\n return this.constructor.name\n }\n\n getOrRegister(): T {\n let metricState: T = State.INSTANCE.stateMap.get(this.key())\n if (!metricState) {\n metricState = this.initValue()\n State.INSTANCE.stateMap.set(this.key(), metricState)\n }\n return metricState\n }\n}\n\nexport abstract class MapStateStorage<T> extends StateStorage<Map<string, T>> {\n initValue() {\n return new Map<string, T>()\n }\n\n getValue(key: string): T | undefined {\n const m = this.getOrRegister()\n return m.get(key)\n }\n\n getValues(): T[] {\n const m = this.getOrRegister()\n return Array.from(m.values())\n }\n\n getOrSetValue(key: string, value: T): T {\n const m = this.getOrRegister()\n const oldValue = m.get(key)\n if (oldValue) {\n console.warn(key, 'has been registered twice, use the previous one')\n return oldValue\n }\n m.set(key, value)\n return value\n }\n}\n\nexport abstract class ListStateStorage<T> extends StateStorage<T[]> {\n initValue() {\n return []\n }\n\n getValues(): T[] {\n return this.getOrRegister()\n }\n\n addValue(value: T): T {\n const m = this.getOrRegister()\n m.push(value)\n return value\n }\n}\n"]}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,MAAa,KAAK;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAA;IAEjC,MAAM,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;IAE7B,MAAM,CAAC,KAAK;QACV,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;IAC9B,CAAC;;SAPU,KAAK;AAUlB,MAAM,OAAgB,YAAY;IAChC,8DAA8D;IAE9D;QACE,EAAE;IACJ,CAAC;IAID,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;IAED,aAAa;QACX,IAAI,WAAW,GAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAC9B,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;SACrD;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAED,MAAM,OAAgB,eAAmB,SAAQ,YAA4B;IAC3E,SAAS;QACP,OAAO,IAAI,GAAG,EAAa,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,SAAS;QACP,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,aAAa,CAAC,GAAW,EAAE,KAAQ;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,iDAAiD,CAAC,CAAA;YACpE,OAAO,QAAQ,CAAA;SAChB;QACD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED,MAAM,OAAgB,gBAAoB,SAAQ,YAAiB;IACjE,SAAS;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,KAAQ;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACb,OAAO,KAAK,CAAA;IACd,CAAC;CACF","sourcesContent":["export class State {\n stateMap = new Map<string, any>()\n\n static INSTANCE = new State()\n\n static reset() {\n State.INSTANCE = new State()\n }\n}\n\nexport abstract class StateStorage<T> {\n // TODO learn how to define single instance for all subclasses\n\n protected constructor() {\n //\n }\n\n abstract initValue(): T\n\n key(): string {\n return this.constructor.name\n }\n\n getOrRegister(): T {\n let metricState: T = State.INSTANCE.stateMap.get(this.key())\n if (!metricState) {\n metricState = this.initValue()\n State.INSTANCE.stateMap.set(this.key(), metricState)\n }\n return metricState\n }\n}\n\nexport abstract class MapStateStorage<T> extends StateStorage<Map<string, T>> {\n initValue() {\n return new Map<string, T>()\n }\n\n getValue(key: string): T | undefined {\n const m = this.getOrRegister()\n return m.get(key)\n }\n\n getValues(): T[] {\n const m = this.getOrRegister()\n return Array.from(m.values())\n }\n\n getOrSetValue(key: string, value: T): T {\n const m = this.getOrRegister()\n const oldValue = m.get(key)\n if (oldValue) {\n console.warn(key, 'has been registered twice, use the previous one')\n return oldValue\n }\n m.set(key, value)\n return value\n }\n}\n\nexport abstract class ListStateStorage<T> extends StateStorage<T[]> {\n initValue() {\n return []\n }\n\n getValues(): T[] {\n return this.getOrRegister()\n }\n\n addValue(value: T): T {\n const m = this.getOrRegister()\n m.push(value)\n return value\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentio/runtime",
3
3
  "license": "Apache-2.0",
4
- "version": "2.11.0-rc.6",
4
+ "version": "2.11.0-rc.7",
5
5
  "scripts": {
6
6
  "compile": "tsc",
7
7
  "build": "yarn compile",
@@ -13,11 +13,11 @@
13
13
  "start_js": "ts-node-esm --files ./lib/processor-runner.js $PWD/../../debug/dist/lib.js"
14
14
  },
15
15
  "dependencies": {
16
- "@sentio/protos": "^2.11.0-rc.6",
16
+ "@sentio/protos": "^2.11.0-rc.7",
17
17
  "command-line-args": "^5.2.1",
18
18
  "command-line-usage": "^7.0.1",
19
19
  "fs-extra": "^11.0.0",
20
- "google-protobuf": "^3.15.8",
20
+ "google-protobuf": "^3.21.2",
21
21
  "nice-grpc": "^2.1.0",
22
22
  "nice-grpc-client-middleware-retry": "^3.1.2",
23
23
  "nice-grpc-prometheus": "^0.1.2",
@@ -45,5 +45,5 @@
45
45
  "!{lib,src}/tests",
46
46
  "!**/*.test.{js,ts}"
47
47
  ],
48
- "gitHead": "4cd71ee13e4e8ac4eb6f49520773923343b79125"
48
+ "gitHead": "ed1100b3d58c22865b6afd24af6a57c07059e582"
49
49
  }