@sentio/sdk 2.59.0-rc.4 → 2.59.0-rc.41
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/aptos/api.d.ts +1 -0
- package/lib/aptos/api.d.ts.map +1 -1
- package/lib/aptos/api.js +13 -1
- package/lib/aptos/api.js.map +1 -1
- package/lib/aptos/aptos-plugin.d.ts +8 -4
- package/lib/aptos/aptos-plugin.d.ts.map +1 -1
- package/lib/aptos/aptos-plugin.js +51 -8
- package/lib/aptos/aptos-plugin.js.map +1 -1
- package/lib/aptos/aptos-processor.d.ts +21 -19
- package/lib/aptos/aptos-processor.d.ts.map +1 -1
- package/lib/aptos/aptos-processor.js +102 -50
- package/lib/aptos/aptos-processor.js.map +1 -1
- package/lib/aptos/aptos-resource-processor-template.d.ts +5 -4
- package/lib/aptos/aptos-resource-processor-template.d.ts.map +1 -1
- package/lib/aptos/aptos-resource-processor-template.js +8 -8
- package/lib/aptos/aptos-resource-processor-template.js.map +1 -1
- package/lib/aptos/builtin/0x1.d.ts +333 -332
- package/lib/aptos/builtin/0x1.d.ts.map +1 -1
- package/lib/aptos/builtin/0x1.js +664 -664
- package/lib/aptos/builtin/0x1.js.map +1 -1
- package/lib/aptos/builtin/0x3.d.ts +66 -65
- package/lib/aptos/builtin/0x3.d.ts.map +1 -1
- package/lib/aptos/builtin/0x3.js +130 -130
- package/lib/aptos/builtin/0x3.js.map +1 -1
- package/lib/aptos/builtin/0x4.d.ts +29 -28
- package/lib/aptos/builtin/0x4.d.ts.map +1 -1
- package/lib/aptos/builtin/0x4.js +56 -56
- package/lib/aptos/builtin/0x4.js.map +1 -1
- package/lib/aptos/codegen/codegen.js +31 -4
- package/lib/aptos/codegen/codegen.js.map +1 -1
- package/lib/aptos/data.d.ts +45 -0
- package/lib/aptos/data.d.ts.map +1 -0
- package/lib/aptos/data.js +99 -0
- package/lib/aptos/data.js.map +1 -0
- package/lib/aptos/index.d.ts +1 -0
- package/lib/aptos/index.d.ts.map +1 -1
- package/lib/aptos/index.js.map +1 -1
- package/lib/aptos/models.d.ts +1 -0
- package/lib/aptos/models.d.ts.map +1 -1
- package/lib/aptos/move-coder.d.ts +8 -2
- package/lib/aptos/move-coder.d.ts.map +1 -1
- package/lib/aptos/move-coder.js +84 -1
- package/lib/aptos/move-coder.js.map +1 -1
- package/lib/aptos/network.d.ts +1 -0
- package/lib/aptos/network.d.ts.map +1 -1
- package/lib/aptos/network.js +1 -0
- package/lib/aptos/network.js.map +1 -1
- package/lib/btc/btc-plugin.d.ts +4 -1
- package/lib/btc/btc-plugin.d.ts.map +1 -1
- package/lib/btc/btc-plugin.js +27 -0
- package/lib/btc/btc-plugin.js.map +1 -1
- package/lib/btc/btc-processor.d.ts +6 -5
- package/lib/btc/btc-processor.d.ts.map +1 -1
- package/lib/btc/btc-processor.js +35 -9
- package/lib/btc/btc-processor.js.map +1 -1
- package/lib/btc/types.d.ts +2 -1
- package/lib/btc/types.d.ts.map +1 -1
- package/lib/core/base-context.d.ts +4 -2
- package/lib/core/base-context.d.ts.map +1 -1
- package/lib/core/base-context.js +10 -5
- package/lib/core/base-context.js.map +1 -1
- package/lib/core/event-logger.d.ts +5 -0
- package/lib/core/event-logger.d.ts.map +1 -1
- package/lib/core/event-logger.js +36 -1
- package/lib/core/event-logger.js.map +1 -1
- package/lib/core/handler-options.d.ts +25 -0
- package/lib/core/handler-options.d.ts.map +1 -0
- package/lib/core/handler-options.js +21 -0
- package/lib/core/handler-options.js.map +1 -0
- package/lib/core/index.d.ts +3 -1
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +3 -1
- package/lib/core/index.js.map +1 -1
- package/lib/core/meter.d.ts +45 -2
- package/lib/core/meter.d.ts.map +1 -1
- package/lib/core/meter.js +124 -2
- package/lib/core/meter.js.map +1 -1
- package/lib/core/numberish.d.ts +2 -1
- package/lib/core/numberish.d.ts.map +1 -1
- package/lib/core/numberish.js +35 -1
- package/lib/core/numberish.js.map +1 -1
- package/lib/core/partition-handler-manager.d.ts +44 -0
- package/lib/core/partition-handler-manager.d.ts.map +1 -0
- package/lib/core/partition-handler-manager.js +76 -0
- package/lib/core/partition-handler-manager.js.map +1 -0
- package/lib/cosmos/cosmos-processor.d.ts +3 -2
- package/lib/cosmos/cosmos-processor.d.ts.map +1 -1
- package/lib/cosmos/cosmos-processor.js +11 -1
- package/lib/cosmos/cosmos-processor.js.map +1 -1
- package/lib/cosmos/types.d.ts +1 -0
- package/lib/cosmos/types.d.ts.map +1 -1
- package/lib/eth/base-processor.d.ts +23 -17
- package/lib/eth/base-processor.d.ts.map +1 -1
- package/lib/eth/base-processor.js +173 -34
- package/lib/eth/base-processor.js.map +1 -1
- package/lib/eth/bind-options.d.ts +6 -0
- package/lib/eth/bind-options.d.ts.map +1 -1
- package/lib/eth/bind-options.js +2 -0
- package/lib/eth/bind-options.js.map +1 -1
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts +32 -31
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +62 -62
- package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.d.ts +17 -16
- package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.js +32 -32
- package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.d.ts +25 -24
- package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.js +48 -48
- package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.d.ts +14 -13
- package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.js +26 -26
- package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.d.ts +21 -20
- package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.js +40 -40
- package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.d.ts +20 -19
- package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.js +38 -38
- package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
- package/lib/eth/codegen/event-handler.js +2 -2
- package/lib/eth/codegen/event-handler.js.map +1 -1
- package/lib/eth/codegen/file.d.ts.map +1 -1
- package/lib/eth/codegen/file.js +1 -0
- package/lib/eth/codegen/file.js.map +1 -1
- package/lib/eth/codegen/functions-handler.js +2 -2
- package/lib/eth/codegen/functions-handler.js.map +1 -1
- package/lib/eth/eth-plugin.d.ts +5 -1
- package/lib/eth/eth-plugin.d.ts.map +1 -1
- package/lib/eth/eth-plugin.js +53 -5
- package/lib/eth/eth-plugin.js.map +1 -1
- package/lib/eth/eth.d.ts +2 -7
- package/lib/eth/eth.d.ts.map +1 -1
- package/lib/eth/eth.js +8 -1
- package/lib/eth/eth.js.map +1 -1
- package/lib/fuel/codegen/codegen.js +5 -5
- package/lib/fuel/codegen/codegen.js.map +1 -1
- package/lib/fuel/fuel-plugin.d.ts +4 -1
- package/lib/fuel/fuel-plugin.d.ts.map +1 -1
- package/lib/fuel/fuel-plugin.js +41 -0
- package/lib/fuel/fuel-plugin.js.map +1 -1
- package/lib/fuel/fuel-processor-template.d.ts +7 -4
- package/lib/fuel/fuel-processor-template.d.ts.map +1 -1
- package/lib/fuel/fuel-processor-template.js +11 -9
- package/lib/fuel/fuel-processor-template.js.map +1 -1
- package/lib/fuel/fuel-processor.d.ts +7 -7
- package/lib/fuel/fuel-processor.d.ts.map +1 -1
- package/lib/fuel/fuel-processor.js +91 -28
- package/lib/fuel/fuel-processor.js.map +1 -1
- package/lib/fuel/types.d.ts +3 -0
- package/lib/fuel/types.d.ts.map +1 -1
- package/lib/move/filter.d.ts +5 -0
- package/lib/move/filter.d.ts.map +1 -1
- package/lib/move/filter.js +5 -0
- package/lib/move/filter.js.map +1 -1
- package/lib/move/shared-network-codegen.d.ts.map +1 -1
- package/lib/move/shared-network-codegen.js +5 -4
- package/lib/move/shared-network-codegen.js.map +1 -1
- package/lib/solana/solana-processor.d.ts +10 -4
- package/lib/solana/solana-processor.d.ts.map +1 -1
- package/lib/solana/solana-processor.js +13 -4
- package/lib/solana/solana-processor.js.map +1 -1
- package/lib/stark/starknet-processor.d.ts +3 -1
- package/lib/stark/starknet-processor.d.ts.map +1 -1
- package/lib/stark/starknet-processor.js +32 -14
- package/lib/stark/starknet-processor.js.map +1 -1
- package/lib/store/codegen.d.ts.map +1 -1
- package/lib/store/codegen.js +36 -2
- package/lib/store/codegen.js.map +1 -1
- package/lib/store/schema.d.ts.map +1 -1
- package/lib/store/schema.js +3 -1
- package/lib/store/schema.js.map +1 -1
- package/lib/store/store.d.ts +4 -3
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +41 -1
- package/lib/store/store.js.map +1 -1
- package/lib/store/types.d.ts +20 -1
- package/lib/store/types.d.ts.map +1 -1
- package/lib/store/types.js +22 -0
- package/lib/store/types.js.map +1 -1
- package/lib/sui/builtin/0x1.d.ts +7 -6
- package/lib/sui/builtin/0x1.d.ts.map +1 -1
- package/lib/sui/builtin/0x1.js +12 -12
- package/lib/sui/builtin/0x1.js.map +1 -1
- package/lib/sui/builtin/0x2.d.ts +61 -60
- package/lib/sui/builtin/0x2.d.ts.map +1 -1
- package/lib/sui/builtin/0x2.js +120 -120
- package/lib/sui/builtin/0x2.js.map +1 -1
- package/lib/sui/builtin/0x3.d.ts +49 -48
- package/lib/sui/builtin/0x3.d.ts.map +1 -1
- package/lib/sui/builtin/0x3.js +96 -96
- package/lib/sui/builtin/0x3.js.map +1 -1
- package/lib/sui/models.d.ts +1 -0
- package/lib/sui/models.d.ts.map +1 -1
- package/lib/sui/sui-object-processor-template.js +1 -1
- package/lib/sui/sui-object-processor-template.js.map +1 -1
- package/lib/sui/sui-object-processor.d.ts +2 -0
- package/lib/sui/sui-object-processor.d.ts.map +1 -1
- package/lib/sui/sui-object-processor.js +4 -0
- package/lib/sui/sui-object-processor.js.map +1 -1
- package/lib/sui/sui-plugin.d.ts +6 -3
- package/lib/sui/sui-plugin.d.ts.map +1 -1
- package/lib/sui/sui-plugin.js +68 -24
- package/lib/sui/sui-plugin.js.map +1 -1
- package/lib/sui/sui-processor.d.ts +6 -4
- package/lib/sui/sui-processor.d.ts.map +1 -1
- package/lib/sui/sui-processor.js +48 -11
- package/lib/sui/sui-processor.js.map +1 -1
- package/lib/testing/eth-facet.d.ts +2 -1
- package/lib/testing/eth-facet.d.ts.map +1 -1
- package/lib/testing/eth-facet.js.map +1 -1
- package/lib/utils/block.d.ts +2 -0
- package/lib/utils/block.d.ts.map +1 -1
- package/lib/utils/block.js +13 -0
- package/lib/utils/block.js.map +1 -1
- package/package.json +8 -7
- package/src/aptos/api.ts +13 -1
- package/src/aptos/aptos-plugin.ts +62 -13
- package/src/aptos/aptos-processor.ts +114 -74
- package/src/aptos/aptos-resource-processor-template.ts +9 -8
- package/src/aptos/builtin/0x1.ts +1566 -664
- package/src/aptos/builtin/0x3.ts +303 -130
- package/src/aptos/builtin/0x4.ts +124 -56
- package/src/aptos/codegen/codegen.ts +40 -5
- package/src/aptos/data.ts +123 -0
- package/src/aptos/index.ts +2 -0
- package/src/aptos/models.ts +2 -0
- package/src/aptos/move-coder.ts +96 -3
- package/src/aptos/network.ts +1 -0
- package/src/btc/btc-plugin.ts +38 -0
- package/src/btc/btc-processor.ts +35 -10
- package/src/btc/types.ts +2 -1
- package/src/core/base-context.ts +10 -5
- package/src/core/event-logger.ts +45 -1
- package/src/core/handler-options.ts +40 -0
- package/src/core/index.ts +17 -1
- package/src/core/meter.ts +159 -4
- package/src/core/numberish.ts +34 -1
- package/src/core/partition-handler-manager.ts +94 -0
- package/src/cosmos/cosmos-processor.ts +12 -1
- package/src/cosmos/types.ts +1 -0
- package/src/eth/base-processor.ts +163 -41
- package/src/eth/bind-options.ts +7 -0
- package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +118 -62
- package/src/eth/builtin/internal/erc1155-processor.ts +76 -32
- package/src/eth/builtin/internal/erc20-processor.ts +79 -48
- package/src/eth/builtin/internal/erc20bytes-processor.ts +47 -26
- package/src/eth/builtin/internal/erc721-processor.ts +77 -40
- package/src/eth/builtin/internal/weth9-processor.ts +79 -38
- package/src/eth/codegen/event-handler.ts +2 -2
- package/src/eth/codegen/file.ts +1 -0
- package/src/eth/codegen/functions-handler.ts +2 -2
- package/src/eth/eth-plugin.ts +76 -10
- package/src/eth/eth.ts +12 -1
- package/src/fuel/codegen/codegen.ts +5 -5
- package/src/fuel/fuel-plugin.ts +56 -0
- package/src/fuel/fuel-processor-template.ts +17 -10
- package/src/fuel/fuel-processor.ts +90 -22
- package/src/fuel/types.ts +3 -0
- package/src/move/filter.ts +5 -0
- package/src/move/shared-network-codegen.ts +5 -4
- package/src/solana/solana-processor.ts +28 -6
- package/src/stark/starknet-processor.ts +31 -13
- package/src/store/codegen.ts +50 -2
- package/src/store/schema.ts +3 -1
- package/src/store/store.ts +57 -4
- package/src/store/types.ts +30 -1
- package/src/sui/builtin/0x1.ts +22 -12
- package/src/sui/builtin/0x2.ts +220 -120
- package/src/sui/builtin/0x3.ts +241 -96
- package/src/sui/models.ts +2 -0
- package/src/sui/sui-object-processor-template.ts +1 -1
- package/src/sui/sui-object-processor.ts +6 -0
- package/src/sui/sui-plugin.ts +77 -26
- package/src/sui/sui-processor.ts +50 -11
- package/src/testing/eth-facet.ts +2 -1
- package/src/utils/block.ts +15 -0
package/lib/core/event-logger.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { EventLogConfig, EventLogConfig_BasicFieldType, EventLogConfig_StructFieldType, LogLevel } from '@sentio/protos';
|
1
|
+
import { EventLogConfig, EventLogConfig_BasicFieldType, EventLogConfig_StructFieldType, LogLevel, TimeseriesResult_TimeseriesType } from '@sentio/protos';
|
2
2
|
import { normalizeAttribute, normalizeLabels, normalizeToRichStruct } from './normalization.js';
|
3
3
|
import { MapStateStorage, processMetrics } from '@sentio/runtime';
|
4
4
|
import { DatabaseSchema } from './database-schema.js';
|
@@ -91,4 +91,39 @@ function checkEventName(eventName) {
|
|
91
91
|
throw new Error(`Event name ${eventName} is already used in the database schema`);
|
92
92
|
}
|
93
93
|
}
|
94
|
+
function emitNew(ctx, eventName, event) {
|
95
|
+
const { distinctId, severity, message, ...payload } = event;
|
96
|
+
const data = {
|
97
|
+
fields: {
|
98
|
+
severity: {
|
99
|
+
stringValue: (severity || LogLevel.INFO).toString()
|
100
|
+
},
|
101
|
+
message: {
|
102
|
+
stringValue: message || ''
|
103
|
+
},
|
104
|
+
distinctEntityId: {
|
105
|
+
stringValue: distinctId || ''
|
106
|
+
},
|
107
|
+
...normalizeToRichStruct(ctx.baseLabels, payload).fields
|
108
|
+
}
|
109
|
+
};
|
110
|
+
const res = {
|
111
|
+
metadata: ctx.getMetaData(eventName, {}),
|
112
|
+
type: TimeseriesResult_TimeseriesType.EVENT,
|
113
|
+
data,
|
114
|
+
runtimeInfo: undefined
|
115
|
+
};
|
116
|
+
processMetrics.process_eventemit_count.add(1);
|
117
|
+
ctx.update({ timeseriesResult: [res] });
|
118
|
+
}
|
119
|
+
export class EventLoggerBindingNew {
|
120
|
+
ctx;
|
121
|
+
constructor(ctx) {
|
122
|
+
this.ctx = ctx;
|
123
|
+
}
|
124
|
+
emit(eventName, event) {
|
125
|
+
checkEventName(eventName);
|
126
|
+
emitNew(this.ctx, eventName, event);
|
127
|
+
}
|
128
|
+
}
|
94
129
|
//# sourceMappingURL=event-logger.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,cAAc,EACd,6BAA6B,EAE7B,8BAA8B,EAE9B,QAAQ,
|
1
|
+
{"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* Function type that extracts a partition key from data.
|
3
|
+
* @template D The data type to process
|
4
|
+
*/
|
5
|
+
export type PartitionHandler<D> = (data: D) => string | Promise<string>;
|
6
|
+
/**
|
7
|
+
* Handler options that extend fetch configuration with optional partitioning support.
|
8
|
+
* @template F The fetch configuration type (e.g., EthFetchConfig, MoveFetchConfig)
|
9
|
+
* @template D The data type that will be processed (e.g., Event, Transaction, Block)
|
10
|
+
*/
|
11
|
+
export type HandlerOptions<F, D> = Partial<F> & {
|
12
|
+
/**
|
13
|
+
* Optional partition key for data partitioning.
|
14
|
+
* Can be a static string or a function that computes the key from the data.
|
15
|
+
*/
|
16
|
+
partitionKey?: string | PartitionHandler<D>;
|
17
|
+
};
|
18
|
+
/**
|
19
|
+
* Merge two handler options, with the second options taking precedence over the first.
|
20
|
+
* @param options1 First handler options
|
21
|
+
* @param options2 Second handler options (takes precedence)
|
22
|
+
* @returns Merged handler options
|
23
|
+
*/
|
24
|
+
export declare function mergeHandlerOptions<F, D>(options1?: HandlerOptions<F, D>, options2?: HandlerOptions<F, D>): HandlerOptions<F, D> | undefined;
|
25
|
+
//# sourceMappingURL=handler-options.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"handler-options.d.ts","sourceRoot":"","sources":["../../src/core/handler-options.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEvE;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAC9C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAC5C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAWlC"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* Merge two handler options, with the second options taking precedence over the first.
|
3
|
+
* @param options1 First handler options
|
4
|
+
* @param options2 Second handler options (takes precedence)
|
5
|
+
* @returns Merged handler options
|
6
|
+
*/
|
7
|
+
export function mergeHandlerOptions(options1, options2) {
|
8
|
+
if (!options1 && !options2)
|
9
|
+
return undefined;
|
10
|
+
if (!options1)
|
11
|
+
return options2;
|
12
|
+
if (!options2)
|
13
|
+
return options1;
|
14
|
+
return {
|
15
|
+
...options1,
|
16
|
+
...options2,
|
17
|
+
// For partitionKey, the second option takes precedence
|
18
|
+
partitionKey: options2.partitionKey ?? options1.partitionKey
|
19
|
+
};
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=handler-options.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"handler-options.js","sourceRoot":"","sources":["../../src/core/handler-options.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA+B,EAC/B,QAA+B;IAE/B,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC9B,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE9B,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,QAAQ;QACX,uDAAuD;QACvD,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;KAC7D,CAAA;AACH,CAAC"}
|
package/lib/core/index.d.ts
CHANGED
@@ -3,11 +3,13 @@ export type { PromiseOrValue, PromiseOrVoid } from './promises.js';
|
|
3
3
|
export type { PartiallyOptional } from './partial-optional.js';
|
4
4
|
export { BaseContext } from './base-context.js';
|
5
5
|
export { normalizeLabels } from './normalization.js';
|
6
|
-
export { CounterBinding, Meter, type Labels, GaugeBinding, Counter, Gauge, MetricOptions } from './meter.js';
|
6
|
+
export { CounterBinding, Meter, type Labels, GaugeBinding, Counter, Gauge, MetricOptions, CounterNew, GaugeNew, MeterNew } from './meter.js';
|
7
7
|
export { Exporter } from './exporter.js';
|
8
8
|
export * from './event-logger.js';
|
9
9
|
export { type Numberish, toBigInteger, toMetricValue } from './numberish.js';
|
10
10
|
export { CorePlugin } from './core-plugin.js';
|
11
11
|
export { DatabaseSchema } from './database-schema.js';
|
12
12
|
export * from './constants.js';
|
13
|
+
export { type HandlerOptions, type PartitionHandler, mergeHandlerOptions } from './handler-options.js';
|
14
|
+
export { PartitionHandlerManager, type PartitionHandler as PartitionHandlerFunction } from './partition-handler-manager.js';
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/core/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACxD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,cAAc,EACd,KAAK,EACL,KAAK,MAAM,EACX,YAAY,EACZ,OAAO,EACP,KAAK,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,KAAK,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACtG,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,IAAI,wBAAwB,EAClD,MAAM,gCAAgC,CAAA"}
|
package/lib/core/index.js
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
export { BigDecimal, scaleDown } from './big-decimal.js';
|
2
2
|
export { BaseContext } from './base-context.js';
|
3
3
|
export { normalizeLabels } from './normalization.js';
|
4
|
-
export { CounterBinding, Meter, GaugeBinding, Counter, Gauge, MetricOptions } from './meter.js';
|
4
|
+
export { CounterBinding, Meter, GaugeBinding, Counter, Gauge, MetricOptions, CounterNew, GaugeNew, MeterNew } from './meter.js';
|
5
5
|
export { Exporter } from './exporter.js';
|
6
6
|
export * from './event-logger.js';
|
7
7
|
export { toBigInteger, toMetricValue } from './numberish.js';
|
8
8
|
export { CorePlugin } from './core-plugin.js';
|
9
9
|
export { DatabaseSchema } from './database-schema.js';
|
10
10
|
export * from './constants.js';
|
11
|
+
export { mergeHandlerOptions } from './handler-options.js';
|
12
|
+
export { PartitionHandlerManager } from './partition-handler-manager.js';
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/lib/core/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,cAAc,EACd,KAAK,EAEL,YAAY,EACZ,OAAO,EACP,KAAK,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAkB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAA8C,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACtG,OAAO,EACL,uBAAuB,EAExB,MAAM,gCAAgC,CAAA"}
|
package/lib/core/meter.d.ts
CHANGED
@@ -28,13 +28,17 @@ export declare class MetricState extends MapStateStorage<Metric> {
|
|
28
28
|
static INSTANCE: MetricState;
|
29
29
|
getOrRegisterMetric(type: MetricType, name: string, option?: CounterOptions | MetricOptions): Metric;
|
30
30
|
}
|
31
|
+
export declare class MetricStateNew extends MapStateStorage<Metric> {
|
32
|
+
static INSTANCE: MetricStateNew;
|
33
|
+
getOrRegisterMetric(type: MetricType, name: string, option?: CounterOptions | MetricOptions): Metric;
|
34
|
+
}
|
31
35
|
export declare class Counter extends Metric {
|
32
36
|
static register(name: string, option?: CounterOptions): Counter;
|
33
37
|
/**
|
34
38
|
* internal use only, to create a metric use {@link register} instead
|
35
39
|
*/
|
36
40
|
static _create(name: string, option?: CounterOptions): Counter;
|
37
|
-
|
41
|
+
protected constructor(name: string, option?: CounterOptions);
|
38
42
|
add(ctx: BaseContext, value: Numberish, labels?: Labels): void;
|
39
43
|
sub(ctx: BaseContext, value: Numberish, labels?: Labels): void;
|
40
44
|
private record;
|
@@ -52,7 +56,7 @@ export declare class Gauge extends Metric {
|
|
52
56
|
* internal use only, to create a metric use {@link register} instead
|
53
57
|
*/
|
54
58
|
static _create(name: string, option?: MetricOptions): Gauge;
|
55
|
-
|
59
|
+
protected constructor(name: string, option?: MetricOptions);
|
56
60
|
record(ctx: BaseContext, value: Numberish, labels?: Labels): void;
|
57
61
|
}
|
58
62
|
export declare class GaugeBinding {
|
@@ -67,4 +71,43 @@ export declare class Meter {
|
|
67
71
|
Counter(name: string): CounterBinding;
|
68
72
|
Gauge(name: string): GaugeBinding;
|
69
73
|
}
|
74
|
+
export declare class MeterNew {
|
75
|
+
private readonly ctx;
|
76
|
+
constructor(ctx: BaseContext);
|
77
|
+
Counter(name: string): CounterNewBinding;
|
78
|
+
Gauge(name: string): GaugeNewBinding;
|
79
|
+
}
|
80
|
+
export declare class CounterNew extends Counter {
|
81
|
+
static register(name: string, option?: CounterOptions): CounterNew;
|
82
|
+
/**
|
83
|
+
* internal use only, to create a metric use {@link register} instead
|
84
|
+
*/
|
85
|
+
static _create(name: string, option?: CounterOptions): CounterNew;
|
86
|
+
private constructor();
|
87
|
+
add(ctx: BaseContext, value: Numberish, labels?: Labels): void;
|
88
|
+
sub(ctx: BaseContext, value: Numberish, labels?: Labels): void;
|
89
|
+
private recordNew;
|
90
|
+
}
|
91
|
+
export declare class GaugeNewBinding {
|
92
|
+
private readonly gauge;
|
93
|
+
private readonly ctx;
|
94
|
+
constructor(name: string, ctx: BaseContext);
|
95
|
+
record(value: Numberish, labels?: Labels): void;
|
96
|
+
}
|
97
|
+
export declare class CounterNewBinding {
|
98
|
+
private readonly counter;
|
99
|
+
private readonly ctx;
|
100
|
+
constructor(name: string, ctx: BaseContext);
|
101
|
+
add(value: Numberish, labels?: Labels): void;
|
102
|
+
sub(value: Numberish, labels?: Labels): void;
|
103
|
+
}
|
104
|
+
export declare class GaugeNew extends Gauge {
|
105
|
+
static register(name: string, option?: MetricOptions): Gauge;
|
106
|
+
/**
|
107
|
+
* internal use only, to create a metric use {@link register} instead
|
108
|
+
*/
|
109
|
+
static _create(name: string, option?: MetricOptions): GaugeNew;
|
110
|
+
private constructor();
|
111
|
+
record(ctx: BaseContext, value: Numberish, labels?: Labels): void;
|
112
|
+
}
|
70
113
|
//# sourceMappingURL=meter.d.ts.map
|
package/lib/core/meter.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,SAAS,
|
1
|
+
{"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"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"}
|
package/lib/core/meter.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { toMetricValue } from './numberish.js';
|
1
|
+
import { toMetricValue, toTimeSeriesData } from './numberish.js';
|
2
2
|
import { NamedResultDescriptor } from './metadata.js';
|
3
|
-
import { AggregationType, MetricConfig, MetricType } from '@sentio/protos';
|
3
|
+
import { AggregationType, MetricConfig, MetricType, TimeseriesResult_TimeseriesType } from '@sentio/protos';
|
4
4
|
import { MapStateStorage, processMetrics } from '@sentio/runtime';
|
5
5
|
export class MetricOptions {
|
6
6
|
unit;
|
@@ -55,6 +55,26 @@ export class MetricState extends MapStateStorage {
|
|
55
55
|
return metric;
|
56
56
|
}
|
57
57
|
}
|
58
|
+
export class MetricStateNew extends MapStateStorage {
|
59
|
+
static INSTANCE = new MetricStateNew();
|
60
|
+
getOrRegisterMetric(type, name, option) {
|
61
|
+
const metricMap = this.getOrRegister();
|
62
|
+
let metric = metricMap.get(name);
|
63
|
+
if (metric && metric.config.type !== type) {
|
64
|
+
throw Error(`redefine ${name} of metric type ${type} that is previously ${metric.config.type}`);
|
65
|
+
}
|
66
|
+
if (!metric) {
|
67
|
+
if (type === MetricType.COUNTER) {
|
68
|
+
metric = CounterNew._create(name, option);
|
69
|
+
}
|
70
|
+
else {
|
71
|
+
metric = GaugeNew._create(name, option);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
metricMap.set(name, metric);
|
75
|
+
return metric;
|
76
|
+
}
|
77
|
+
}
|
58
78
|
export class Counter extends Metric {
|
59
79
|
static register(name, option) {
|
60
80
|
return MetricState.INSTANCE.getOrRegisterMetric(MetricType.COUNTER, name, option);
|
@@ -156,4 +176,106 @@ export class Meter {
|
|
156
176
|
return new GaugeBinding(name, this.ctx);
|
157
177
|
}
|
158
178
|
}
|
179
|
+
export class MeterNew {
|
180
|
+
ctx;
|
181
|
+
constructor(ctx) {
|
182
|
+
this.ctx = ctx;
|
183
|
+
}
|
184
|
+
Counter(name) {
|
185
|
+
return new CounterNewBinding(name, this.ctx);
|
186
|
+
}
|
187
|
+
Gauge(name) {
|
188
|
+
return new GaugeNewBinding(name, this.ctx);
|
189
|
+
}
|
190
|
+
}
|
191
|
+
export class CounterNew extends Counter {
|
192
|
+
static register(name, option) {
|
193
|
+
return MetricStateNew.INSTANCE.getOrRegisterMetric(MetricType.COUNTER, name, option);
|
194
|
+
}
|
195
|
+
/**
|
196
|
+
* internal use only, to create a metric use {@link register} instead
|
197
|
+
*/
|
198
|
+
static _create(name, option) {
|
199
|
+
return new CounterNew(name, option);
|
200
|
+
}
|
201
|
+
constructor(name, option) {
|
202
|
+
super(name, MetricConfig.fromPartial({
|
203
|
+
...option,
|
204
|
+
aggregationConfig: {
|
205
|
+
intervalInMinutes: option?.resolutionConfig ? [option?.resolutionConfig?.intervalInMinutes] : []
|
206
|
+
}
|
207
|
+
}));
|
208
|
+
}
|
209
|
+
add(ctx, value, labels = {}) {
|
210
|
+
this.recordNew(ctx, value, labels, true);
|
211
|
+
}
|
212
|
+
sub(ctx, value, labels = {}) {
|
213
|
+
this.recordNew(ctx, value, labels, false);
|
214
|
+
}
|
215
|
+
recordNew(ctx, value, labels, add) {
|
216
|
+
processMetrics.process_metricrecord_count.add(1);
|
217
|
+
ctx.update({
|
218
|
+
timeseriesResult: [
|
219
|
+
{
|
220
|
+
metadata: ctx.getMetaData(this.name, labels),
|
221
|
+
type: TimeseriesResult_TimeseriesType.COUNTER,
|
222
|
+
data: toTimeSeriesData(value, labels, !add),
|
223
|
+
runtimeInfo: undefined
|
224
|
+
}
|
225
|
+
]
|
226
|
+
});
|
227
|
+
}
|
228
|
+
}
|
229
|
+
export class GaugeNewBinding {
|
230
|
+
gauge;
|
231
|
+
ctx;
|
232
|
+
constructor(name, ctx) {
|
233
|
+
this.gauge = GaugeNew._create(name);
|
234
|
+
this.ctx = ctx;
|
235
|
+
}
|
236
|
+
record(value, labels = {}) {
|
237
|
+
this.gauge.record(this.ctx, value, labels);
|
238
|
+
}
|
239
|
+
}
|
240
|
+
export class CounterNewBinding {
|
241
|
+
counter;
|
242
|
+
ctx;
|
243
|
+
constructor(name, ctx) {
|
244
|
+
this.counter = CounterNew._create(name);
|
245
|
+
this.ctx = ctx;
|
246
|
+
}
|
247
|
+
add(value, labels = {}) {
|
248
|
+
this.counter.add(this.ctx, value, labels);
|
249
|
+
}
|
250
|
+
sub(value, labels = {}) {
|
251
|
+
this.counter.sub(this.ctx, value, labels);
|
252
|
+
}
|
253
|
+
}
|
254
|
+
export class GaugeNew extends Gauge {
|
255
|
+
static register(name, option) {
|
256
|
+
return MetricStateNew.INSTANCE.getOrRegisterMetric(MetricType.GAUGE, name, option);
|
257
|
+
}
|
258
|
+
/**
|
259
|
+
* internal use only, to create a metric use {@link register} instead
|
260
|
+
*/
|
261
|
+
static _create(name, option) {
|
262
|
+
return new GaugeNew(name, option);
|
263
|
+
}
|
264
|
+
constructor(name, option) {
|
265
|
+
super(name, MetricConfig.fromPartial({ ...option }));
|
266
|
+
}
|
267
|
+
record(ctx, value, labels = {}) {
|
268
|
+
processMetrics.process_metricrecord_count.add(1);
|
269
|
+
ctx.update({
|
270
|
+
timeseriesResult: [
|
271
|
+
{
|
272
|
+
metadata: ctx.getMetaData(this.name, labels),
|
273
|
+
type: TimeseriesResult_TimeseriesType.GAUGE,
|
274
|
+
data: toTimeSeriesData(value, labels, false),
|
275
|
+
runtimeInfo: undefined
|
276
|
+
}
|
277
|
+
]
|
278
|
+
});
|
279
|
+
}
|
280
|
+
}
|
159
281
|
//# sourceMappingURL=meter.js.map
|
package/lib/core/meter.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,aAAa,EAAE,MAAM,gBAAgB,CAAA;
|
1
|
+
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"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"}
|
package/lib/core/numberish.d.ts
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
import { BigDecimalRichValue, BigInteger, MetricValue } from '@sentio/protos';
|
1
|
+
import { BigDecimalRichValue, BigInteger, MetricValue, RichStruct } from '@sentio/protos';
|
2
2
|
import { BigDecimal } from './big-decimal.js';
|
3
3
|
export type Numberish = number | bigint | BigDecimal | string;
|
4
4
|
export declare function toMetricValue(value: Numberish): MetricValue;
|
5
5
|
export declare function toBigInteger(a: Numberish): BigInteger;
|
6
6
|
export declare function toBigDecimal(value: BigDecimal): BigDecimalRichValue;
|
7
|
+
export declare function toTimeSeriesData(value: Numberish, labels: Record<string, string>, neg: boolean): RichStruct;
|
7
8
|
//# sourceMappingURL=numberish.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"numberish.d.ts","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
1
|
+
{"version":3,"file":"numberish.d.ts","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAA;AAC9G,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAA;AAE7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CA+C3D;AAkBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAyBrD;AAcD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAYnE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,cA+B9F"}
|
package/lib/core/numberish.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { MetricValue } from '@sentio/protos';
|
1
|
+
import { MetricValue, RichValue_NullValue } from '@sentio/protos';
|
2
2
|
import { BigDecimal } from './big-decimal.js';
|
3
3
|
export function toMetricValue(value) {
|
4
4
|
if (typeof value === 'number') {
|
@@ -109,4 +109,38 @@ export function toBigDecimal(value) {
|
|
109
109
|
exp: exp
|
110
110
|
};
|
111
111
|
}
|
112
|
+
export function toTimeSeriesData(value, labels, neg) {
|
113
|
+
const mv = toMetricValue(value);
|
114
|
+
const data = {
|
115
|
+
fields: {
|
116
|
+
value: {}
|
117
|
+
}
|
118
|
+
};
|
119
|
+
for (const key in labels) {
|
120
|
+
if (labels[key] == null) {
|
121
|
+
data.fields[key] = { nullValue: RichValue_NullValue.NULL_VALUE };
|
122
|
+
}
|
123
|
+
else {
|
124
|
+
data.fields[key] = { stringValue: labels[key] };
|
125
|
+
}
|
126
|
+
}
|
127
|
+
if (mv.bigInteger != null) {
|
128
|
+
mv.bigInteger.negative = neg ? !mv.bigInteger.negative : mv.bigInteger.negative;
|
129
|
+
data.fields.value.bigintValue = mv.bigInteger;
|
130
|
+
}
|
131
|
+
else if (mv.bigDecimal != null) {
|
132
|
+
let v = new BigDecimal(mv.bigDecimal);
|
133
|
+
if (neg) {
|
134
|
+
v = v.negated();
|
135
|
+
}
|
136
|
+
data.fields.value.bigdecimalValue = toBigDecimal(v);
|
137
|
+
}
|
138
|
+
else if (mv.doubleValue != null) {
|
139
|
+
data.fields.value.floatValue = neg ? -mv.doubleValue : mv.doubleValue;
|
140
|
+
}
|
141
|
+
else {
|
142
|
+
data.fields.value.nullValue = RichValue_NullValue.NULL_VALUE;
|
143
|
+
}
|
144
|
+
return data;
|
145
|
+
}
|
112
146
|
//# sourceMappingURL=numberish.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
1
|
+
{"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { HandlerType, ProcessStreamResponse_Partitions_Partition } from '@sentio/protos';
|
2
|
+
/**
|
3
|
+
* Type for partition handler functions that can process any data type
|
4
|
+
*/
|
5
|
+
export type PartitionHandler = (request: any) => Promise<string | undefined>;
|
6
|
+
/**
|
7
|
+
* Generic manager for handling partition logic across all chain plugins.
|
8
|
+
* Provides a unified interface for registering, storing, and processing partition handlers.
|
9
|
+
* Chain-specific logic should remain in individual plugins.
|
10
|
+
*/
|
11
|
+
export declare class PartitionHandlerManager {
|
12
|
+
private partitionHandlers;
|
13
|
+
/**
|
14
|
+
* Register a partition handler for a specific handler type and ID
|
15
|
+
* @param handlerType The type of handler (e.g., HandlerType.ETH_LOG, HandlerType.APT_EVENT)
|
16
|
+
* @param handlerId The unique ID for this handler instance
|
17
|
+
* @param partitionHandler The partition handler function (optional)
|
18
|
+
*/
|
19
|
+
registerPartitionHandler(handlerType: HandlerType, handlerId: number, partitionHandler?: PartitionHandler): void;
|
20
|
+
/**
|
21
|
+
* Process partition logic for a specific handler type
|
22
|
+
* @param handlerType The type of handler being processed
|
23
|
+
* @param handlerIds Array of handler IDs to process
|
24
|
+
* @param data The data to pass to partition handlers
|
25
|
+
* @returns Record mapping handler IDs to partition results
|
26
|
+
*/
|
27
|
+
processPartitionForHandlerType(handlerType: HandlerType, handlerIds: number[], data: any): Promise<Record<number, ProcessStreamResponse_Partitions_Partition>>;
|
28
|
+
/**
|
29
|
+
* Clear all partition handlers (useful for testing or reinitialization)
|
30
|
+
*/
|
31
|
+
clear(): void;
|
32
|
+
/**
|
33
|
+
* Get all registered handler types
|
34
|
+
* @returns Array of handler types that have registered partition handlers
|
35
|
+
*/
|
36
|
+
getRegisteredHandlerTypes(): HandlerType[];
|
37
|
+
/**
|
38
|
+
* Get the number of registered handlers for a specific handler type
|
39
|
+
* @param handlerType The handler type to check
|
40
|
+
* @returns Number of registered handlers for this type
|
41
|
+
*/
|
42
|
+
getHandlerCount(handlerType: HandlerType): number;
|
43
|
+
}
|
44
|
+
//# sourceMappingURL=partition-handler-manager.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"partition-handler-manager.d.ts","sourceRoot":"","sources":["../../src/core/partition-handler-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,0CAA0C,EAE3C,MAAM,gBAAgB,CAAA;AAGvB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;AAE5E;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,iBAAiB,CAAgE;IAEzF;;;;;OAKG;IACH,wBAAwB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAQhH;;;;;;OAMG;IACG,8BAA8B,CAClC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;IAyBtE;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,yBAAyB,IAAI,WAAW,EAAE;IAI1C;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM;CAGlD"}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import { ProcessStreamResponse_Partitions_Partition_SysValue } from '@sentio/protos';
|
2
|
+
import { ServerError, Status } from 'nice-grpc';
|
3
|
+
/**
|
4
|
+
* Generic manager for handling partition logic across all chain plugins.
|
5
|
+
* Provides a unified interface for registering, storing, and processing partition handlers.
|
6
|
+
* Chain-specific logic should remain in individual plugins.
|
7
|
+
*/
|
8
|
+
export class PartitionHandlerManager {
|
9
|
+
partitionHandlers = new Map();
|
10
|
+
/**
|
11
|
+
* Register a partition handler for a specific handler type and ID
|
12
|
+
* @param handlerType The type of handler (e.g., HandlerType.ETH_LOG, HandlerType.APT_EVENT)
|
13
|
+
* @param handlerId The unique ID for this handler instance
|
14
|
+
* @param partitionHandler The partition handler function (optional)
|
15
|
+
*/
|
16
|
+
registerPartitionHandler(handlerType, handlerId, partitionHandler) {
|
17
|
+
if (partitionHandler) {
|
18
|
+
const existingHandlers = this.partitionHandlers.get(handlerType) || {};
|
19
|
+
existingHandlers[handlerId] = partitionHandler;
|
20
|
+
this.partitionHandlers.set(handlerType, existingHandlers);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
/**
|
24
|
+
* Process partition logic for a specific handler type
|
25
|
+
* @param handlerType The type of handler being processed
|
26
|
+
* @param handlerIds Array of handler IDs to process
|
27
|
+
* @param data The data to pass to partition handlers
|
28
|
+
* @returns Record mapping handler IDs to partition results
|
29
|
+
*/
|
30
|
+
async processPartitionForHandlerType(handlerType, handlerIds, data) {
|
31
|
+
const result = {};
|
32
|
+
for (const handlerId of handlerIds) {
|
33
|
+
const partitionHandler = this.partitionHandlers.get(handlerType)?.[handlerId];
|
34
|
+
if (partitionHandler && data) {
|
35
|
+
try {
|
36
|
+
const partitionValue = await partitionHandler(data);
|
37
|
+
result[handlerId] = {
|
38
|
+
userValue: partitionValue
|
39
|
+
};
|
40
|
+
}
|
41
|
+
catch (error) {
|
42
|
+
// If partition handler fails, fall back to unrecognized
|
43
|
+
throw new ServerError(Status.INVALID_ARGUMENT, 'compute partition key failed, error:' + error.message);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
result[handlerId] = {
|
48
|
+
sysValue: ProcessStreamResponse_Partitions_Partition_SysValue.UNRECOGNIZED
|
49
|
+
};
|
50
|
+
}
|
51
|
+
}
|
52
|
+
return result;
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* Clear all partition handlers (useful for testing or reinitialization)
|
56
|
+
*/
|
57
|
+
clear() {
|
58
|
+
this.partitionHandlers.clear();
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
* Get all registered handler types
|
62
|
+
* @returns Array of handler types that have registered partition handlers
|
63
|
+
*/
|
64
|
+
getRegisteredHandlerTypes() {
|
65
|
+
return Array.from(this.partitionHandlers.keys());
|
66
|
+
}
|
67
|
+
/**
|
68
|
+
* Get the number of registered handlers for a specific handler type
|
69
|
+
* @param handlerType The handler type to check
|
70
|
+
* @returns Number of registered handlers for this type
|
71
|
+
*/
|
72
|
+
getHandlerCount(handlerType) {
|
73
|
+
return Object.keys(this.partitionHandlers.get(handlerType) || {}).length;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
//# sourceMappingURL=partition-handler-manager.js.map
|