@sentio/sdk 2.57.5-rc.1 → 2.57.5
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/core/event-logger.js +2 -2
- package/lib/core/event-logger.js.map +1 -1
- package/lib/core/normalization.d.ts +2 -0
- package/lib/core/normalization.d.ts.map +1 -1
- package/lib/core/normalization.js +69 -0
- package/lib/core/normalization.js.map +1 -1
- package/lib/core/normalization.test.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 +19 -7
- package/lib/core/numberish.js.map +1 -1
- package/lib/store/convert.d.ts +0 -4
- package/lib/store/convert.d.ts.map +1 -1
- package/lib/store/convert.js +2 -27
- package/lib/store/convert.js.map +1 -1
- package/lib/store/util.js +2 -2
- package/lib/store/util.js.map +1 -1
- package/package.json +3 -3
- package/src/core/event-logger.ts +2 -2
- package/src/core/normalization.ts +73 -0
- package/src/core/numberish.ts +22 -8
- package/src/store/convert.ts +2 -30
- package/src/store/util.ts +2 -2
package/lib/core/event-logger.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { EventLogConfig, EventLogConfig_BasicFieldType, EventLogConfig_StructFieldType, LogLevel } from '@sentio/protos';
|
2
|
-
import { normalizeAttribute, normalizeLabels } from './normalization.js';
|
2
|
+
import { normalizeAttribute, normalizeLabels, normalizeToRichStruct } from './normalization.js';
|
3
3
|
import { MapStateStorage, processMetrics } from '@sentio/runtime';
|
4
4
|
import { DatabaseSchema } from './database-schema.js';
|
5
5
|
export class EventLoggerState extends MapStateStorage {
|
@@ -80,7 +80,7 @@ function emit(ctx, eventName, event) {
|
|
80
80
|
},
|
81
81
|
runtimeInfo: undefined,
|
82
82
|
noMetric: true,
|
83
|
-
attributes2:
|
83
|
+
attributes2: normalizeToRichStruct(ctx.baseLabels, payload)
|
84
84
|
};
|
85
85
|
processMetrics.process_eventemit_count.add(1);
|
86
86
|
ctx.update({ events: [res] });
|
@@ -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,EACT,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import { Labels } from './meter.js';
|
2
|
+
import { RichStruct } from '@sentio/protos';
|
2
3
|
export declare const SENTIO_BIGINT_STRING_SUFFIX = ":sto_bi";
|
3
4
|
export declare const SENTIO_BIGDECIMAL_STRING_SUFFIX = ":sto_bd";
|
4
5
|
export declare function normalizeKey(name: string): string;
|
5
6
|
export declare function normalizeLabels(labels: Labels): Labels;
|
6
7
|
export declare function normalizeAttribute(record: Record<string, any>): any;
|
8
|
+
export declare function normalizeToRichStruct(...objs: any[]): RichStruct;
|
7
9
|
//# sourceMappingURL=normalization.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"normalization.d.ts","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
1
|
+
{"version":3,"file":"normalization.d.ts","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAkC,MAAM,gBAAgB,CAAA;AAG3E,eAAO,MAAM,2BAA2B,YAAY,CAAA;AACpD,eAAO,MAAM,+BAA+B,YAAY,CAAA;AAMxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAetD;AA4DD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAEnE;AA6DD,wBAAgB,qBAAqB,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAUhE"}
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import { BigDecimal } from './big-decimal.js';
|
2
2
|
import { BN } from 'fuels';
|
3
|
+
import { RichValue_NullValue } from '@sentio/protos';
|
4
|
+
import { toBigInteger, toBigDecimal } from './numberish.js';
|
3
5
|
export const SENTIO_BIGINT_STRING_SUFFIX = ':sto_bi';
|
4
6
|
export const SENTIO_BIGDECIMAL_STRING_SUFFIX = ':sto_bd';
|
5
7
|
function normalizeName(name) {
|
@@ -93,4 +95,71 @@ function normalizeObject(obj, length, path) {
|
|
93
95
|
export function normalizeAttribute(record) {
|
94
96
|
return normalizeObject(record, 1000);
|
95
97
|
}
|
98
|
+
function normalizeToRichValue(value) {
|
99
|
+
if (value == null) {
|
100
|
+
return { nullValue: RichValue_NullValue.NULL_VALUE };
|
101
|
+
}
|
102
|
+
switch (typeof value) {
|
103
|
+
case 'string':
|
104
|
+
return { stringValue: value };
|
105
|
+
case 'bigint':
|
106
|
+
const v = BigInt(value);
|
107
|
+
return { bigintValue: toBigInteger(v) };
|
108
|
+
case 'number':
|
109
|
+
if (Number.isInteger(value)) {
|
110
|
+
return { intValue: value };
|
111
|
+
}
|
112
|
+
return { floatValue: value };
|
113
|
+
case 'function':
|
114
|
+
return { nullValue: RichValue_NullValue.UNRECOGNIZED };
|
115
|
+
case 'symbol':
|
116
|
+
return { stringValue: String(value) };
|
117
|
+
case 'boolean':
|
118
|
+
return { boolValue: value };
|
119
|
+
default:
|
120
|
+
if (value instanceof Uint8Array) {
|
121
|
+
return { bytesValue: value };
|
122
|
+
}
|
123
|
+
if (value instanceof Date) {
|
124
|
+
return { timestampValue: value };
|
125
|
+
}
|
126
|
+
if (value instanceof BigDecimal) {
|
127
|
+
return { bigdecimalValue: toBigDecimal(value) };
|
128
|
+
}
|
129
|
+
if (BN.isBN(value)) {
|
130
|
+
const value1 = new BigDecimal(value.toString());
|
131
|
+
return { bigdecimalValue: toBigDecimal(value1) };
|
132
|
+
}
|
133
|
+
if (Array.isArray(value)) {
|
134
|
+
return {
|
135
|
+
listValue: {
|
136
|
+
values: value.map((v) => normalizeToRichValue(v))
|
137
|
+
}
|
138
|
+
};
|
139
|
+
}
|
140
|
+
if (value instanceof Promise) {
|
141
|
+
console.error('Cannot submit promise');
|
142
|
+
return { nullValue: RichValue_NullValue.UNRECOGNIZED };
|
143
|
+
}
|
144
|
+
if (typeof value === 'object') {
|
145
|
+
return {
|
146
|
+
structValue: normalizeToRichStruct(value)
|
147
|
+
};
|
148
|
+
}
|
149
|
+
// todo: support token value
|
150
|
+
console.warn('Cannot submit unsupported type ' + typeof value);
|
151
|
+
return { nullValue: RichValue_NullValue.UNRECOGNIZED };
|
152
|
+
}
|
153
|
+
}
|
154
|
+
export function normalizeToRichStruct(...objs) {
|
155
|
+
const ret = {
|
156
|
+
fields: {}
|
157
|
+
};
|
158
|
+
for (const obj of objs) {
|
159
|
+
for (const [key, value] of Object.entries(obj)) {
|
160
|
+
ret.fields[key] = normalizeToRichValue(value);
|
161
|
+
}
|
162
|
+
}
|
163
|
+
return ret;
|
164
|
+
}
|
96
165
|
//# sourceMappingURL=normalization.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/core/normalization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC1B,OAAO,EAAyB,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE3D,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAA;AACpD,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAA;AAExD,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,8EAA8E,CAAC,CAAA;QACnG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,UAAU,GAAW,EAAE,CAAA;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,gCAAgC,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ,EAAE,MAAc,EAAE,IAAa;IAC9D,IAAI,GAAQ,CAAA;IAEZ,MAAM,UAAU,GAAG,OAAO,GAAG,CAAA;IAC7B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7B,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC,QAAQ,EAAE,GAAG,2BAA2B,CAAA;QACrD,qBAAqB;QACrB,KAAK,QAAQ;YACX,OAAO,GAAG,CAAA;QACZ,KAAK,UAAU;YACb,OAAO,IAAI,CAAA;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,CAAA;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CACV,6FAA6F,IAAI,IAAI,EAAE,EAAE,CAC1G,CAAA;QACD,OAAO,IAAI,CAAA;QACX,WAAW;QACX,2BAA2B;QAC3B,2CAA2C;QAC3C,IAAI;IACN,CAAC;SAAM,IAAI,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAA;QAC1B,CAAC;QACD,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;gBACpE,OAAO,CAAC,CAAA;YACV,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,EAAE,GAAG,+BAA+B,CAAA;YACvD,wBAAwB;QAC1B,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAA;QACvD,CAAC;QACD,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACtC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,GAAG,GAAG,EAAE,CAAA;QACR,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YACxE,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,GAAG,CAAA;IACX,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA2B;IAC5D,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAU;IACtC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,SAAS,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAA;IACtD,CAAC;IACD,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;QAC/B,KAAK,QAAQ;YACX,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YACvB,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QACzC,KAAK,QAAQ;YACX,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;YAC5B,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;QAC9B,KAAK,UAAU;YACb,OAAO,EAAE,SAAS,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAA;QACxD,KAAK,QAAQ;YACX,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;QACvC,KAAK,SAAS;YACZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC7B;YACE,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;YAC9B,CAAC;YACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;YAClC,CAAC;YACD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAA;YACjD,CAAC;YACD,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAC/C,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAA;YAClD,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,SAAS,EAAE;wBACT,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACF,CAAA;YACH,CAAC;YACD,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;gBACtC,OAAO,EAAE,SAAS,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAA;YACxD,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO;oBACL,WAAW,EAAE,qBAAqB,CAAC,KAAK,CAAC;iBAC1C,CAAA;YACH,CAAC;YAED,4BAA4B;YAE5B,OAAO,CAAC,IAAI,CAAC,iCAAiC,GAAG,OAAO,KAAK,CAAC,CAAA;YAC9D,OAAO,EAAE,SAAS,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAA;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAG,IAAW;IAClD,MAAM,GAAG,GAAe;QACtB,MAAM,EAAE,EAAE;KACX,CAAA;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"normalization.test.js","sourceRoot":"","sources":["../../src/core/normalization.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"normalization.test.js","sourceRoot":"","sources":["../../src/core/normalization.test.ts"],"names":[],"mappings":"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"}
|
package/lib/core/numberish.d.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
import { BigInteger, MetricValue } from '@sentio/protos';
|
1
|
+
import { BigDecimalRichValue, BigInteger, MetricValue } 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
|
+
export declare function toBigDecimal(value: BigDecimal): BigDecimalRichValue;
|
6
7
|
//# 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,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,MAAM,gBAAgB,CAAA;AAC7E,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"}
|
package/lib/core/numberish.js
CHANGED
@@ -10,28 +10,28 @@ export function toMetricValue(value) {
|
|
10
10
|
}
|
11
11
|
if (Number.isInteger(value) && !Number.isSafeInteger(value)) {
|
12
12
|
return MetricValue.fromPartial({
|
13
|
-
bigInteger: toBigInteger(value)
|
13
|
+
bigInteger: toBigInteger(value)
|
14
14
|
});
|
15
15
|
}
|
16
16
|
return MetricValue.fromPartial({
|
17
|
-
doubleValue: Number(value)
|
17
|
+
doubleValue: Number(value)
|
18
18
|
});
|
19
19
|
}
|
20
20
|
if (typeof value === 'bigint') {
|
21
21
|
return MetricValue.fromPartial({
|
22
|
-
bigInteger: toBigInteger(value)
|
22
|
+
bigInteger: toBigInteger(value)
|
23
23
|
});
|
24
24
|
}
|
25
25
|
if (typeof value === 'string') {
|
26
26
|
return MetricValue.fromPartial({
|
27
|
-
bigDecimal: value
|
27
|
+
bigDecimal: value
|
28
28
|
});
|
29
29
|
}
|
30
30
|
// if (value instanceof BigDecimal) {
|
31
31
|
// Carefully consider the use case here
|
32
32
|
if (value.isInteger()) {
|
33
33
|
return MetricValue.fromPartial({
|
34
|
-
bigInteger: bigDecimalToBigInteger(value)
|
34
|
+
bigInteger: bigDecimalToBigInteger(value)
|
35
35
|
});
|
36
36
|
}
|
37
37
|
else {
|
@@ -43,7 +43,7 @@ export function toMetricValue(value) {
|
|
43
43
|
throw new Error('Cannot record infinite value');
|
44
44
|
}
|
45
45
|
return MetricValue.fromPartial({
|
46
|
-
bigDecimal: value.toString()
|
46
|
+
bigDecimal: value.toString() // e.g. -7.350918e-428
|
47
47
|
});
|
48
48
|
}
|
49
49
|
// }
|
@@ -94,7 +94,19 @@ function hexToBigInteger(hex, negative) {
|
|
94
94
|
const buffer = Buffer.from(hex, 'hex');
|
95
95
|
return {
|
96
96
|
negative: negative,
|
97
|
-
data: new Uint8Array(buffer)
|
97
|
+
data: new Uint8Array(buffer)
|
98
|
+
};
|
99
|
+
}
|
100
|
+
export function toBigDecimal(value) {
|
101
|
+
const s = (value.c || [])
|
102
|
+
.map((v, idx) => {
|
103
|
+
return idx == 0 ? v.toString() : v.toString().padStart(14, '0');
|
104
|
+
})
|
105
|
+
.join('');
|
106
|
+
const exp = -(s.length - (value.e ?? 0) - 1);
|
107
|
+
return {
|
108
|
+
value: toBigInteger(BigInt(s) * BigInt(value.s ?? 1)),
|
109
|
+
exp: exp
|
98
110
|
};
|
99
111
|
}
|
100
112
|
//# sourceMappingURL=numberish.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"numberish.js","sourceRoot":"","sources":["../../src/core/numberish.ts"],"names":[],"mappings":"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"}
|
package/lib/store/convert.d.ts
CHANGED
@@ -24,9 +24,5 @@ export declare const IDConverter: ValueConverter<ID | undefined>;
|
|
24
24
|
export declare const BigDecimalConverter: ValueConverter<BigDecimal | undefined>;
|
25
25
|
export declare const BigIntConverter: ValueConverter<bigint | undefined>;
|
26
26
|
export declare function bytesToBigInt(bytes: Uint8Array): bigint;
|
27
|
-
export declare function toBigInteger(a: bigint): {
|
28
|
-
negative: boolean;
|
29
|
-
data: Uint8Array;
|
30
|
-
};
|
31
27
|
export declare const TypeConverters: Record<string, ValueConverter<any>>;
|
32
28
|
//# sourceMappingURL=convert.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAA;IAC7B,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB,OAAgE,CAAA;AAE/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBxF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAgB3E;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAgBlG;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CA8BvE;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAc9D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,GAAG,GAAG,SAAS,CAcxD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,GAAG,SAAS,CAchE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAcpE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,SAAS,CA0BtD,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,UAAU,GAAG,SAAS,CAuBtE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAqB9D,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,UAM9C;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAW9D,CAAA"}
|
package/lib/store/convert.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { RichValue_NullValue } from '@sentio/protos';
|
2
2
|
import { BigDecimal } from '@sentio/bigdecimal';
|
3
|
+
import { toBigInteger, toBigDecimal } from '../core/numberish.js';
|
3
4
|
export const ValueRequiredError = new Error('Value is required but received null or undefined');
|
4
5
|
export function required_(converter) {
|
5
6
|
const { from, to, ...rest } = converter;
|
@@ -208,18 +209,7 @@ export const BigDecimalConverter = {
|
|
208
209
|
nullValue: RichValue_NullValue.NULL_VALUE
|
209
210
|
};
|
210
211
|
}
|
211
|
-
|
212
|
-
.map((v, idx) => {
|
213
|
-
return idx == 0 ? v.toString() : v.toString().padStart(14, '0');
|
214
|
-
})
|
215
|
-
.join('');
|
216
|
-
const exp = -(s.length - (value.e ?? 0) - 1);
|
217
|
-
return {
|
218
|
-
bigdecimalValue: {
|
219
|
-
value: toBigInteger(BigInt(s) * BigInt(value.s ?? 1)),
|
220
|
-
exp: exp
|
221
|
-
}
|
222
|
-
};
|
212
|
+
return { bigdecimalValue: toBigDecimal(value) };
|
223
213
|
},
|
224
214
|
to(v) {
|
225
215
|
const d = v.bigdecimalValue;
|
@@ -266,21 +256,6 @@ export function bytesToBigInt(bytes) {
|
|
266
256
|
}
|
267
257
|
return intValue;
|
268
258
|
}
|
269
|
-
export function toBigInteger(a) {
|
270
|
-
const negative = a < 0;
|
271
|
-
if (negative) {
|
272
|
-
a = -a;
|
273
|
-
}
|
274
|
-
let hex = a.toString(16);
|
275
|
-
if (hex.length % 2 === 1) {
|
276
|
-
hex = '0' + hex;
|
277
|
-
}
|
278
|
-
const buffer = Buffer.from(hex, 'hex');
|
279
|
-
return {
|
280
|
-
negative: negative,
|
281
|
-
data: new Uint8Array(buffer)
|
282
|
-
};
|
283
|
-
}
|
284
259
|
export const TypeConverters = {
|
285
260
|
BigDecimal: BigDecimalConverter,
|
286
261
|
BigInt: BigIntConverter,
|
package/lib/store/convert.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"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"}
|
package/lib/store/util.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { toBigInteger } from '
|
1
|
+
import { toBigInteger, toBigDecimal } from '../core/numberish.js';
|
2
2
|
import { BigDecimal } from '@sentio/bigdecimal';
|
3
3
|
export function serializeRichValue(v) {
|
4
4
|
if (v == null) {
|
@@ -40,7 +40,7 @@ export function serializeRichValue(v) {
|
|
40
40
|
}
|
41
41
|
function serializeBigDecimal(v) {
|
42
42
|
return {
|
43
|
-
bigdecimalValue:
|
43
|
+
bigdecimalValue: toBigDecimal(v)
|
44
44
|
};
|
45
45
|
}
|
46
46
|
//# sourceMappingURL=util.js.map
|
package/lib/store/util.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/store/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/store/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,UAAU,kBAAkB,CAAC,CAAM;IACvC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IACzB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;SAC7B,CAAA;IACH,CAAC;IAED,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACtB,OAAO;YACL,cAAc,EAAE,CAAC;SAClB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;SAC3D,CAAA;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,CAAC;KACb,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa;IACxC,OAAO;QACL,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;KACjC,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/sdk",
|
3
|
-
"version": "2.57.5
|
3
|
+
"version": "2.57.5",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -86,8 +86,8 @@
|
|
86
86
|
"typechain": "^8.3.2",
|
87
87
|
"utility-types": "^3.11.0",
|
88
88
|
"yaml": "^2.3.4",
|
89
|
-
"@sentio/protos": "2.57.5
|
90
|
-
"@sentio/runtime": "^2.57.5
|
89
|
+
"@sentio/protos": "2.57.5",
|
90
|
+
"@sentio/runtime": "^2.57.5"
|
91
91
|
},
|
92
92
|
"peerDependencies": {
|
93
93
|
"tsup": "npm:@sentio/tsup@^8.3.5-rc.1"
|
package/src/core/event-logger.ts
CHANGED
@@ -8,7 +8,7 @@ import {
|
|
8
8
|
EventTrackingResult,
|
9
9
|
LogLevel
|
10
10
|
} from '@sentio/protos'
|
11
|
-
import { normalizeAttribute, normalizeLabels } from './normalization.js'
|
11
|
+
import { normalizeAttribute, normalizeLabels, normalizeToRichStruct } from './normalization.js'
|
12
12
|
import { MapStateStorage, processMetrics } from '@sentio/runtime'
|
13
13
|
import { BN } from 'fuels'
|
14
14
|
import { BigDecimal } from '@sentio/bigdecimal'
|
@@ -129,7 +129,7 @@ function emit<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
|
|
129
129
|
},
|
130
130
|
runtimeInfo: undefined,
|
131
131
|
noMetric: true,
|
132
|
-
attributes2:
|
132
|
+
attributes2: normalizeToRichStruct(ctx.baseLabels, payload)
|
133
133
|
}
|
134
134
|
processMetrics.process_eventemit_count.add(1)
|
135
135
|
ctx.update({ events: [res] })
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import { Labels } from './meter.js'
|
2
2
|
import { BigDecimal } from './big-decimal.js'
|
3
3
|
import { BN } from 'fuels'
|
4
|
+
import { RichStruct, RichValue, RichValue_NullValue } from '@sentio/protos'
|
5
|
+
import { toBigInteger, toBigDecimal } from './numberish.js'
|
4
6
|
|
5
7
|
export const SENTIO_BIGINT_STRING_SUFFIX = ':sto_bi'
|
6
8
|
export const SENTIO_BIGDECIMAL_STRING_SUFFIX = ':sto_bd'
|
@@ -102,3 +104,74 @@ function normalizeObject(obj: any, length: number, path?: string): any {
|
|
102
104
|
export function normalizeAttribute(record: Record<string, any>): any {
|
103
105
|
return normalizeObject(record, 1000)
|
104
106
|
}
|
107
|
+
|
108
|
+
function normalizeToRichValue(value: any): RichValue {
|
109
|
+
if (value == null) {
|
110
|
+
return { nullValue: RichValue_NullValue.NULL_VALUE }
|
111
|
+
}
|
112
|
+
switch (typeof value) {
|
113
|
+
case 'string':
|
114
|
+
return { stringValue: value }
|
115
|
+
case 'bigint':
|
116
|
+
const v = BigInt(value)
|
117
|
+
return { bigintValue: toBigInteger(v) }
|
118
|
+
case 'number':
|
119
|
+
if (Number.isInteger(value)) {
|
120
|
+
return { intValue: value }
|
121
|
+
}
|
122
|
+
return { floatValue: value }
|
123
|
+
case 'function':
|
124
|
+
return { nullValue: RichValue_NullValue.UNRECOGNIZED }
|
125
|
+
case 'symbol':
|
126
|
+
return { stringValue: String(value) }
|
127
|
+
case 'boolean':
|
128
|
+
return { boolValue: value }
|
129
|
+
default:
|
130
|
+
if (value instanceof Uint8Array) {
|
131
|
+
return { bytesValue: value }
|
132
|
+
}
|
133
|
+
if (value instanceof Date) {
|
134
|
+
return { timestampValue: value }
|
135
|
+
}
|
136
|
+
if (value instanceof BigDecimal) {
|
137
|
+
return { bigdecimalValue: toBigDecimal(value) }
|
138
|
+
}
|
139
|
+
if (BN.isBN(value)) {
|
140
|
+
const value1 = new BigDecimal(value.toString())
|
141
|
+
return { bigdecimalValue: toBigDecimal(value1) }
|
142
|
+
}
|
143
|
+
if (Array.isArray(value)) {
|
144
|
+
return {
|
145
|
+
listValue: {
|
146
|
+
values: value.map((v) => normalizeToRichValue(v))
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
if (value instanceof Promise) {
|
151
|
+
console.error('Cannot submit promise')
|
152
|
+
return { nullValue: RichValue_NullValue.UNRECOGNIZED }
|
153
|
+
}
|
154
|
+
if (typeof value === 'object') {
|
155
|
+
return {
|
156
|
+
structValue: normalizeToRichStruct(value)
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
// todo: support token value
|
161
|
+
|
162
|
+
console.warn('Cannot submit unsupported type ' + typeof value)
|
163
|
+
return { nullValue: RichValue_NullValue.UNRECOGNIZED }
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
export function normalizeToRichStruct(...objs: any[]): RichStruct {
|
168
|
+
const ret: RichStruct = {
|
169
|
+
fields: {}
|
170
|
+
}
|
171
|
+
for (const obj of objs) {
|
172
|
+
for (const [key, value] of Object.entries(obj)) {
|
173
|
+
ret.fields[key] = normalizeToRichValue(value)
|
174
|
+
}
|
175
|
+
}
|
176
|
+
return ret
|
177
|
+
}
|
package/src/core/numberish.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { BigInteger, MetricValue } from '@sentio/protos'
|
1
|
+
import { BigDecimalRichValue, BigInteger, MetricValue } from '@sentio/protos'
|
2
2
|
import { BigDecimal } from './big-decimal.js'
|
3
3
|
|
4
4
|
export type Numberish = number | bigint | BigDecimal | string
|
@@ -13,29 +13,29 @@ export function toMetricValue(value: Numberish): MetricValue {
|
|
13
13
|
}
|
14
14
|
if (Number.isInteger(value) && !Number.isSafeInteger(value)) {
|
15
15
|
return MetricValue.fromPartial({
|
16
|
-
bigInteger: toBigInteger(value)
|
16
|
+
bigInteger: toBigInteger(value)
|
17
17
|
})
|
18
18
|
}
|
19
19
|
|
20
20
|
return MetricValue.fromPartial({
|
21
|
-
doubleValue: Number(value)
|
21
|
+
doubleValue: Number(value)
|
22
22
|
})
|
23
23
|
}
|
24
24
|
if (typeof value === 'bigint') {
|
25
25
|
return MetricValue.fromPartial({
|
26
|
-
bigInteger: toBigInteger(value)
|
26
|
+
bigInteger: toBigInteger(value)
|
27
27
|
})
|
28
28
|
}
|
29
29
|
if (typeof value === 'string') {
|
30
30
|
return MetricValue.fromPartial({
|
31
|
-
bigDecimal: value
|
31
|
+
bigDecimal: value
|
32
32
|
})
|
33
33
|
}
|
34
34
|
// if (value instanceof BigDecimal) {
|
35
35
|
// Carefully consider the use case here
|
36
36
|
if (value.isInteger()) {
|
37
37
|
return MetricValue.fromPartial({
|
38
|
-
bigInteger: bigDecimalToBigInteger(value)
|
38
|
+
bigInteger: bigDecimalToBigInteger(value)
|
39
39
|
})
|
40
40
|
} else {
|
41
41
|
if (value.isNaN()) {
|
@@ -46,7 +46,7 @@ export function toMetricValue(value: Numberish): MetricValue {
|
|
46
46
|
throw new Error('Cannot record infinite value')
|
47
47
|
}
|
48
48
|
return MetricValue.fromPartial({
|
49
|
-
bigDecimal: value.toString()
|
49
|
+
bigDecimal: value.toString() // e.g. -7.350918e-428
|
50
50
|
})
|
51
51
|
}
|
52
52
|
// }
|
@@ -103,6 +103,20 @@ function hexToBigInteger(hex: string, negative: boolean): BigInteger {
|
|
103
103
|
|
104
104
|
return {
|
105
105
|
negative: negative,
|
106
|
-
data: new Uint8Array(buffer)
|
106
|
+
data: new Uint8Array(buffer)
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
export function toBigDecimal(value: BigDecimal): BigDecimalRichValue {
|
111
|
+
const s = (value.c || [])
|
112
|
+
.map((v, idx) => {
|
113
|
+
return idx == 0 ? v.toString() : v.toString().padStart(14, '0')
|
114
|
+
})
|
115
|
+
.join('')
|
116
|
+
const exp = -(s.length - (value.e ?? 0) - 1)
|
117
|
+
|
118
|
+
return {
|
119
|
+
value: toBigInteger(BigInt(s) * BigInt(value.s ?? 1)),
|
120
|
+
exp: exp
|
107
121
|
}
|
108
122
|
}
|
package/src/store/convert.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { RichValue, RichValue_NullValue } from '@sentio/protos'
|
2
2
|
import type { String, Int, Float, ID, Bytes, Timestamp, Boolean } from './types.js'
|
3
3
|
import { BigDecimal } from '@sentio/bigdecimal'
|
4
|
+
import { toBigInteger, toBigDecimal } from '../core/numberish.js'
|
4
5
|
|
5
6
|
export interface ValueConverter<T> {
|
6
7
|
from: (value: T) => RichValue
|
@@ -232,19 +233,7 @@ export const BigDecimalConverter: ValueConverter<BigDecimal | undefined> = {
|
|
232
233
|
nullValue: RichValue_NullValue.NULL_VALUE
|
233
234
|
}
|
234
235
|
}
|
235
|
-
|
236
|
-
.map((v, idx) => {
|
237
|
-
return idx == 0 ? v.toString() : v.toString().padStart(14, '0')
|
238
|
-
})
|
239
|
-
.join('')
|
240
|
-
const exp = -(s.length - (value.e ?? 0) - 1)
|
241
|
-
|
242
|
-
return {
|
243
|
-
bigdecimalValue: {
|
244
|
-
value: toBigInteger(BigInt(s) * BigInt(value.s ?? 1)),
|
245
|
-
exp: exp
|
246
|
-
}
|
247
|
-
}
|
236
|
+
return { bigdecimalValue: toBigDecimal(value) }
|
248
237
|
},
|
249
238
|
to(v) {
|
250
239
|
const d = v.bigdecimalValue
|
@@ -293,23 +282,6 @@ export function bytesToBigInt(bytes: Uint8Array) {
|
|
293
282
|
return intValue
|
294
283
|
}
|
295
284
|
|
296
|
-
export function toBigInteger(a: bigint) {
|
297
|
-
const negative = a < 0
|
298
|
-
if (negative) {
|
299
|
-
a = -a
|
300
|
-
}
|
301
|
-
let hex = a.toString(16)
|
302
|
-
if (hex.length % 2 === 1) {
|
303
|
-
hex = '0' + hex
|
304
|
-
}
|
305
|
-
const buffer = Buffer.from(hex, 'hex')
|
306
|
-
|
307
|
-
return {
|
308
|
-
negative: negative,
|
309
|
-
data: new Uint8Array(buffer)
|
310
|
-
}
|
311
|
-
}
|
312
|
-
|
313
285
|
export const TypeConverters: Record<string, ValueConverter<any>> = {
|
314
286
|
BigDecimal: BigDecimalConverter,
|
315
287
|
BigInt: BigIntConverter,
|
package/src/store/util.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { RichValue } from '@sentio/protos'
|
2
|
-
import { toBigInteger } from '
|
2
|
+
import { toBigInteger, toBigDecimal } from '../core/numberish.js'
|
3
3
|
import { BigDecimal } from '@sentio/bigdecimal'
|
4
4
|
|
5
5
|
export function serializeRichValue(v: any): RichValue {
|
@@ -48,6 +48,6 @@ export function serializeRichValue(v: any): RichValue {
|
|
48
48
|
|
49
49
|
function serializeBigDecimal(v: BigDecimal): RichValue {
|
50
50
|
return {
|
51
|
-
bigdecimalValue:
|
51
|
+
bigdecimalValue: toBigDecimal(v)
|
52
52
|
}
|
53
53
|
}
|