@sentio/sdk 4.4.0 → 4.5.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/eth/provider.d.ts +2 -2
- package/dist/eth/provider.d.ts.map +1 -1
- package/dist/eth/provider.js +3 -9
- package/dist/eth/provider.js.map +1 -1
- package/dist/eth/rpc-agent.d.ts +19 -0
- package/dist/eth/rpc-agent.d.ts.map +1 -0
- package/dist/eth/rpc-agent.js +84 -0
- package/dist/eth/rpc-agent.js.map +1 -0
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +7 -1
- package/dist/store/store.js.map +1 -1
- package/dist/store/types.d.ts +44 -0
- package/dist/store/types.d.ts.map +1 -1
- package/dist/store/types.js +49 -0
- package/dist/store/types.js.map +1 -1
- package/dist/testing/test-processor-server.d.ts +2 -0
- package/dist/testing/test-processor-server.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/eth/provider.ts +5 -13
- package/src/eth/rpc-agent.ts +115 -0
- package/src/store/store.ts +6 -0
- package/src/store/types.ts +49 -0
package/dist/eth/provider.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JsonRpcProvider, Network } from 'ethers';
|
|
2
|
-
import type { JsonRpcError, JsonRpcPayload, JsonRpcResult } from 'ethers';
|
|
2
|
+
import type { FetchRequest, JsonRpcError, JsonRpcPayload, JsonRpcResult } from 'ethers';
|
|
3
3
|
import PQueue from 'p-queue';
|
|
4
4
|
import { EthChainId } from '@sentio/chain';
|
|
5
5
|
export declare const DummyProvider: JsonRpcProvider;
|
|
@@ -7,7 +7,7 @@ export declare function getProvider(chainId?: EthChainId): JsonRpcProvider;
|
|
|
7
7
|
export declare class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
|
|
8
8
|
#private;
|
|
9
9
|
executor: PQueue;
|
|
10
|
-
constructor(url: string, network: Network, concurrency: number, batchCount?: number);
|
|
10
|
+
constructor(url: string | FetchRequest, network: Network, concurrency: number, batchCount?: number);
|
|
11
11
|
send(method: string, params: Array<any>): Promise<any>;
|
|
12
12
|
_send(payload: JsonRpcPayload | Array<JsonRpcPayload>): Promise<Array<JsonRpcResult>>;
|
|
13
13
|
getRpcError(payload: JsonRpcPayload, error: JsonRpcError): Error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAW,MAAM,QAAQ,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAW,MAAM,QAAQ,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAEvF,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAM1C,eAAO,MAAM,aAAa,iBAA2C,CAAA;AAcrE,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,eAAe,CAsCjE;AAkGD,qBAAa,2BAA4B,SAAQ,eAAe;;IAC9D,QAAQ,EAAE,MAAM,CAAA;gBAcJ,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,SAAI;IAMvF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAwF7C,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAsD3F,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,KAAK;IAiBzE,QAAQ;CAGT"}
|
package/dist/eth/provider.js
CHANGED
|
@@ -3,6 +3,7 @@ import PQueue from 'p-queue';
|
|
|
3
3
|
import { EthChainId } from '@sentio/chain';
|
|
4
4
|
import { LRUCache } from 'lru-cache';
|
|
5
5
|
import { Endpoints, providerMetrics, processMetrics, metricsStorage, GLOBAL_CONFIG } from '@sentio/runtime';
|
|
6
|
+
import { rpcCallTimeoutMs, rpcFetchRequest } from './rpc-agent.js';
|
|
6
7
|
const { miss_count, hit_count, queue_size } = providerMetrics;
|
|
7
8
|
export const DummyProvider = new JsonRpcProvider('', Network.from(1));
|
|
8
9
|
const providers = new Map();
|
|
@@ -38,18 +39,11 @@ export function getProvider(chainId) {
|
|
|
38
39
|
// console.log(
|
|
39
40
|
// `init provider for chain ${network.chainId}, concurrency: ${Endpoints.INSTANCE.concurrency}, batchCount: ${Endpoints.INSTANCE.batchCount}`
|
|
40
41
|
// )
|
|
41
|
-
|
|
42
|
+
// Our own transport agents: see rpc-agent.ts for why the default agent is not usable here.
|
|
43
|
+
provider = new QueuedStaticJsonRpcProvider(rpcFetchRequest(address), network, Endpoints.INSTANCE.concurrency, Endpoints.INSTANCE.batchCount);
|
|
42
44
|
providers.set(key, provider);
|
|
43
45
|
return provider;
|
|
44
46
|
}
|
|
45
|
-
// Default upper bound for a single RPC promise to settle, queue wait included.
|
|
46
|
-
// Deliberately above any sane queue+request latency and far below "stuck forever".
|
|
47
|
-
const DEFAULT_RPC_CALL_TIMEOUT_MS = 120_000;
|
|
48
|
-
// Read per call so tests (and operators) can adjust without a module reload.
|
|
49
|
-
function rpcCallTimeoutMs() {
|
|
50
|
-
const n = Number(process.env['RPC_CALL_TIMEOUT_MS']);
|
|
51
|
-
return Number.isFinite(n) && n > 0 ? n : DEFAULT_RPC_CALL_TIMEOUT_MS;
|
|
52
|
-
}
|
|
53
47
|
// Keep the diagnostic bounded: `what` may describe params with large calldata.
|
|
54
48
|
const TIMEOUT_WHAT_MAX = 120;
|
|
55
49
|
function timeoutError(ms, what) {
|
package/dist/eth/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import http from 'node:http';
|
|
2
|
+
import https from 'node:https';
|
|
3
|
+
import { FetchRequest } from 'ethers';
|
|
4
|
+
import type { FetchGetUrlFunc } from 'ethers';
|
|
5
|
+
export declare const FREE_SOCKET_IDLE_MS = 5000;
|
|
6
|
+
export declare function rpcCallTimeoutMs(): number;
|
|
7
|
+
export declare function freeSocketIdleMs(selected: number | undefined): number;
|
|
8
|
+
export declare function isHttpsUrl(url: string): boolean;
|
|
9
|
+
export declare function rpcAgentOptions(extra?: http.AgentOptions): http.AgentOptions;
|
|
10
|
+
export declare function createRpcHttpAgent(extra?: http.AgentOptions): http.Agent;
|
|
11
|
+
export declare function createRpcHttpsAgent(extra?: https.AgentOptions): https.Agent;
|
|
12
|
+
export interface RpcAgents {
|
|
13
|
+
readonly http: http.Agent;
|
|
14
|
+
readonly https: https.Agent;
|
|
15
|
+
readonly getUrlFunc: FetchGetUrlFunc;
|
|
16
|
+
}
|
|
17
|
+
export declare function rpcAgents(): RpcAgents;
|
|
18
|
+
export declare function rpcFetchRequest(url: string): FetchRequest;
|
|
19
|
+
//# sourceMappingURL=rpc-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-agent.d.ts","sourceRoot":"","sources":["../../src/eth/rpc-agent.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAkB7C,eAAO,MAAM,mBAAmB,OAAQ,CAAA;AAQxC,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AA2BD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAErE;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAExE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAE3E;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;CACrC;AAOD,wBAAgB,SAAS,IAAI,SAAS,CAarC;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAIzD"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import http from 'node:http';
|
|
2
|
+
import https from 'node:https';
|
|
3
|
+
import { FetchRequest } from 'ethers';
|
|
4
|
+
// Node >= 19 ships `http.globalAgent` as `{ keepAlive: true, timeout: 5000 }`. That agent
|
|
5
|
+
// timeout is installed on every NEW socket at creation and stays in force for the whole
|
|
6
|
+
// DNS + TCP connect phase: ethers' own `request.setTimeout(300s)` only replaces it once the
|
|
7
|
+
// socket has connected (Node defers it with `socket.once('connect', ...)` while connecting).
|
|
8
|
+
// So a connect that takes more than 5s — a slow resolver, or the worker's event loop being
|
|
9
|
+
// busy when the connect completes — surfaces as an ethers `request timeout`, even though the
|
|
10
|
+
// request then goes out anyway and is answered in milliseconds. Idle keep-alive sockets are
|
|
11
|
+
// also dropped after those same 5s, so a briefly idle worker reconnects (and re-resolves) for
|
|
12
|
+
// almost every call, which is what keeps putting requests into that window.
|
|
13
|
+
//
|
|
14
|
+
// Use our own agents instead: the connect-phase socket timeout is the RPC deadline, so the
|
|
15
|
+
// deadline in boundedTask is the only clock a call can run out on; idle keep-alive sockets
|
|
16
|
+
// keep Node's short retention so a server-side idle close never races a reuse.
|
|
17
|
+
// How long an idle keep-alive socket is kept before we drop it ourselves. Same value Node's
|
|
18
|
+
// global agent uses; well below the idle timeout of any RPC endpoint or proxy in front of one.
|
|
19
|
+
export const FREE_SOCKET_IDLE_MS = 5_000;
|
|
20
|
+
// Default upper bound for a single RPC promise to settle, queue wait included.
|
|
21
|
+
// Deliberately above any sane queue+request latency and far below "stuck forever".
|
|
22
|
+
// Also the socket timeout for the connect phase of a new connection.
|
|
23
|
+
const DEFAULT_RPC_CALL_TIMEOUT_MS = 120_000;
|
|
24
|
+
// Read per call so tests (and operators) can adjust without a module reload.
|
|
25
|
+
export function rpcCallTimeoutMs() {
|
|
26
|
+
const n = Number(process.env['RPC_CALL_TIMEOUT_MS']);
|
|
27
|
+
return Number.isFinite(n) && n > 0 ? n : DEFAULT_RPC_CALL_TIMEOUT_MS;
|
|
28
|
+
}
|
|
29
|
+
function keepAliveWithShortIdle(agent) {
|
|
30
|
+
const hooks = agent;
|
|
31
|
+
const base = hooks.keepSocketAlive.bind(agent);
|
|
32
|
+
hooks.keepSocketAlive = (socket) => {
|
|
33
|
+
const keep = base(socket);
|
|
34
|
+
if (keep) {
|
|
35
|
+
socket.setTimeout(freeSocketIdleMs(socket.timeout));
|
|
36
|
+
}
|
|
37
|
+
return keep;
|
|
38
|
+
};
|
|
39
|
+
return agent;
|
|
40
|
+
}
|
|
41
|
+
// The idle timeout to leave on a freed socket, given the one Node's hook selected for it.
|
|
42
|
+
export function freeSocketIdleMs(selected) {
|
|
43
|
+
return selected && selected > 0 ? Math.min(selected, FREE_SOCKET_IDLE_MS) : FREE_SOCKET_IDLE_MS;
|
|
44
|
+
}
|
|
45
|
+
// Same scheme test ethers' node transport applies (case-insensitive), so a request never lands
|
|
46
|
+
// on an agent for the other protocol.
|
|
47
|
+
export function isHttpsUrl(url) {
|
|
48
|
+
return url.split(':')[0].toLowerCase() === 'https';
|
|
49
|
+
}
|
|
50
|
+
export function rpcAgentOptions(extra) {
|
|
51
|
+
return { keepAlive: true, scheduling: 'lifo', timeout: rpcCallTimeoutMs(), ...extra };
|
|
52
|
+
}
|
|
53
|
+
export function createRpcHttpAgent(extra) {
|
|
54
|
+
return keepAliveWithShortIdle(new http.Agent(rpcAgentOptions(extra)));
|
|
55
|
+
}
|
|
56
|
+
export function createRpcHttpsAgent(extra) {
|
|
57
|
+
return keepAliveWithShortIdle(new https.Agent(rpcAgentOptions(extra)));
|
|
58
|
+
}
|
|
59
|
+
let agents;
|
|
60
|
+
// The process-wide agents every FetchRequest the SDK hands to ethers goes through, plus the
|
|
61
|
+
// `getUrlFunc` that routes a request to the one matching its scheme. Built lazily so the
|
|
62
|
+
// agents pick up RPC_CALL_TIMEOUT_MS from the environment the processor actually runs in.
|
|
63
|
+
export function rpcAgents() {
|
|
64
|
+
if (!agents) {
|
|
65
|
+
const viaHttp = createRpcHttpAgent();
|
|
66
|
+
const viaHttps = createRpcHttpsAgent();
|
|
67
|
+
const overHttp = FetchRequest.createGetUrlFunc({ agent: viaHttp });
|
|
68
|
+
const overHttps = FetchRequest.createGetUrlFunc({ agent: viaHttps });
|
|
69
|
+
agents = {
|
|
70
|
+
http: viaHttp,
|
|
71
|
+
https: viaHttps,
|
|
72
|
+
getUrlFunc: (req, signal) => (isHttpsUrl(req.url) ? overHttps : overHttp)(req, signal)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return agents;
|
|
76
|
+
}
|
|
77
|
+
// A FetchRequest for `url` whose transport uses the SDK agents. Clones keep the getUrlFunc, so
|
|
78
|
+
// this is safe to hand to a JsonRpcProvider, which clones it once per request.
|
|
79
|
+
export function rpcFetchRequest(url) {
|
|
80
|
+
const req = new FetchRequest(url);
|
|
81
|
+
req.getUrlFunc = rpcAgents().getUrlFunc;
|
|
82
|
+
return req;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=rpc-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-agent.js","sourceRoot":"","sources":["../../src/eth/rpc-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAEL,cAAc,IAAI,MAAM,EACxB,KAAK,EACL,KAAK,EACL,EAAE,EACF,GAAG,EACH,SAAS,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAEL,cAAc,IAAI,MAAM,EACxB,KAAK,EACL,KAAK,EACL,EAAE,EACF,GAAG,EACH,SAAS,EAIT,YAAY,EACb,MAAM,YAAY,CAAA;AAUnB,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;CAC1B;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,CAc5E;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,UAsBnF;AAED,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa;IAE7C,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAoBtF,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjG,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C1F,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAavD,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChF,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAiBzB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/E,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAC9B,SAAS,SAAM;YAgBH,WAAW;IA+CnB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAC/B,MAAM,CAAC,EAAE,MAAM;YAYH,SAAS;IAQvB,OAAO,CAAC,SAAS;CAiBlB;AAED,KAAK,cAAc,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAE7D,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAChB,IAAI,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GACpD,CAAC,SAAS,GAAG,GACX,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GACtD,CAAC,SAAS,KAAK,GACb,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GACtD,CAAC,SAAS,KAAK,GACb,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GAC5B,CAAC,SAAS,EAAE,GACV,GAAG,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAC5E,CAAC,SAAS,MAAM,GACd,GAAG,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,GAClD,CAAC,SAAS,SAAS,GACjB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GACtD,CAAC,SAAS,OAAO,GACf,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GAC5B,CAAC,SAAS,UAAU,GAClB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GACtD,CAAC,SAAS,MAAM,GACd,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,GACtD,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAA;AAEpD,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,cAAc,GACtE,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,EAAE,GACH,CAAC,EAAE,GAED,CAAC,CAAC,SAAS,MAAM,GACb,MAAM,GACN,CAAC,SAAS,GAAG,GACX,MAAM,GACN,CAAC,SAAS,KAAK,GACb,MAAM,GACN,CAAC,SAAS,KAAK,GACb,KAAK,GAAG,MAAM,GACd,CAAC,SAAS,EAAE,GACV,EAAE,GAAG,MAAM,GACX,CAAC,SAAS,UAAU,GAClB,UAAU,GAAG,MAAM,GACnB,CAAC,SAAS,GAAG,GACX,MAAM,GACN,CAAC,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,GAC1B,EAAE,GAAG,MAAM,GACX,CAAC,CAAC,GACpB,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEnB,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;AAEtD,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;IACvF,KAAK,EAAE,CAAC,CAAA;IACR,EAAE,EAAE,CAAC,CAAA;IACL,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;IACxF,CAAC;IACD,CAAC;IACD,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CACzB,CAAA;AAiBD,wBAAgB,QAAQ,UAMvB"}
|
package/dist/store/store.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatabaseSchema } from '../core/index.js';
|
|
2
|
-
import { AddOp, MultiplyOp } from './types.js';
|
|
2
|
+
import { AddOp, ExpressionOp, MultiplyOp } from './types.js';
|
|
3
3
|
import { EntityUpdateData_Operator, DBRequest_DBOperator } from '@sentio/protos';
|
|
4
4
|
import { PluginManager } from '@sentio/runtime';
|
|
5
5
|
import { serializeRichValue } from './util.js';
|
|
@@ -112,6 +112,12 @@ export class Store {
|
|
|
112
112
|
value: serializeRichValue(value.value)
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
|
+
else if (value instanceof ExpressionOp) {
|
|
116
|
+
fields[field] = {
|
|
117
|
+
op: EntityUpdateData_Operator.EXPRESSION,
|
|
118
|
+
expression: value.expression
|
|
119
|
+
};
|
|
120
|
+
}
|
|
115
121
|
else if (value !== undefined) {
|
|
116
122
|
fields[field] = {
|
|
117
123
|
op: EntityUpdateData_Operator.SET,
|
package/dist/store/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store/types.d.ts
CHANGED
|
@@ -20,6 +20,13 @@ export declare class MultiplyOp<T> extends UpdateOp<T> {
|
|
|
20
20
|
readonly value: T;
|
|
21
21
|
constructor(value: T);
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Computes the new value of a field from the previous version of the entity, see {@link expr}.
|
|
25
|
+
*/
|
|
26
|
+
export declare class ExpressionOp<T> extends UpdateOp<T> {
|
|
27
|
+
readonly expression: string;
|
|
28
|
+
constructor(expression: string);
|
|
29
|
+
}
|
|
23
30
|
export type UpdateValues<T> = {
|
|
24
31
|
[K in keyof T]?: T[K] | UpdateOp<T[K]>;
|
|
25
32
|
} & {
|
|
@@ -27,6 +34,43 @@ export type UpdateValues<T> = {
|
|
|
27
34
|
};
|
|
28
35
|
export declare function add<K extends ValueType>(value: K): UpdateOp<K>;
|
|
29
36
|
export declare function multiply<K extends ValueType>(value: K): UpdateOp<K>;
|
|
37
|
+
/**
|
|
38
|
+
* Set a field to the result of an expression evaluated by the server against the previous version
|
|
39
|
+
* of the entity. Unlike {@link add} and {@link multiply} the expression may reference other fields
|
|
40
|
+
* of the same entity (by their schema field names), compare values and branch:
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* await Account.update({
|
|
44
|
+
* id,
|
|
45
|
+
* balance: expr('coalesce(balance, 0) + pending'),
|
|
46
|
+
* status: expr("if(balance > 0, 'active', 'idle')"),
|
|
47
|
+
* updates: expr('if(exist(), updates + 1, 1)')
|
|
48
|
+
* })
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* Supported syntax:
|
|
52
|
+
* - arithmetic `+ - * /` with parentheses and number literals (`1`, `-2.5`, `1e18`); `a div b` is
|
|
53
|
+
* integer division, both sides must be integers (Int / Int8 / BigInt / Timestamp fields or
|
|
54
|
+
* digit-only literals) and it truncates toward zero
|
|
55
|
+
* - comparison `= != > >= < <=` on numbers or strings
|
|
56
|
+
* - logic `and`, `or`, `not`, literals `true`, `false`, `null`, string literals `'abc'`
|
|
57
|
+
* - `exist()`: whether the entity had a previous version
|
|
58
|
+
* - `isNull(x)`: whether `x` evaluates to null
|
|
59
|
+
* - `coalesce(a, b, ...)`: the first non-null argument
|
|
60
|
+
* - `if(cond, a, b)`
|
|
61
|
+
* - `concat(a, b, ...)`: joins strings; `toString(x)`: a number, boolean or string as a string
|
|
62
|
+
*
|
|
63
|
+
* The full reference (types, precedence, null rules) is in the entities documentation.
|
|
64
|
+
*
|
|
65
|
+
* Null follows SQL rules: a field reference is null when the entity does not exist yet, arithmetic
|
|
66
|
+
* and comparisons with a null operand are null, `and` / `or` use three-valued logic, and `if`
|
|
67
|
+
* treats a null condition as false. Storing null into a non-null field fails the update, so use
|
|
68
|
+
* `coalesce(field, 0)` for fields that may be written for the first time. Typing is strict: there is
|
|
69
|
+
* no implicit conversion between strings, numbers and booleans. Every numeric field type is computed
|
|
70
|
+
* with decimal arithmetic, `/` is decimal division and the result is rounded when the field is an
|
|
71
|
+
* integer type.
|
|
72
|
+
*/
|
|
73
|
+
export declare function expr<K extends ValueType>(expression: string): UpdateOp<K>;
|
|
30
74
|
export declare abstract class AbstractEntity {
|
|
31
75
|
abstract id: ID;
|
|
32
76
|
private readonly _data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAA;AACxB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AACzB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B,MAAM,MAAM,OAAO,GAAG,OAAO,CAAA;AAC7B,MAAM,MAAM,SAAS,GAAG,IAAI,CAAA;AAC5B,MAAM,MAAM,KAAK,GAAG,UAAU,CAAA;AAC9B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAE9G,8BAAsB,QAAQ,CAAC,CAAC;CAAI;AAEpC,qBAAa,KAAK,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;CAG9B;AAED,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;CAG9B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,GAAG;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,CAAA;AAEd,wBAAgB,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE9D;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEnE;AAED,8BAAsB,cAAc;IAClC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;IACf,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAElC,MAAM;IASN,QAAQ;IAKR,IAAI,KAAK,UAMR;CACF"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAC3B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAA;AACxB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AACzB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B,MAAM,MAAM,OAAO,GAAG,OAAO,CAAA;AAC7B,MAAM,MAAM,SAAS,GAAG,IAAI,CAAA;AAC5B,MAAM,MAAM,KAAK,GAAG,UAAU,CAAA;AAC9B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAE9G,8BAAsB,QAAQ,CAAC,CAAC;CAAI;AAEpC,qBAAa,KAAK,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;CAG9B;AAED,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;CAG9B;AAED;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;CAGxC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,GAAG;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,CAAA;AAEd,wBAAgB,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE9D;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEzE;AAED,8BAAsB,cAAc;IAClC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;IACf,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAElC,MAAM;IASN,QAAQ;IAKR,IAAI,KAAK,UAMR;CACF"}
|
package/dist/store/types.js
CHANGED
|
@@ -18,12 +18,61 @@ export class MultiplyOp extends UpdateOp {
|
|
|
18
18
|
this.value = value;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Computes the new value of a field from the previous version of the entity, see {@link expr}.
|
|
23
|
+
*/
|
|
24
|
+
export class ExpressionOp extends UpdateOp {
|
|
25
|
+
expression;
|
|
26
|
+
constructor(expression) {
|
|
27
|
+
super();
|
|
28
|
+
this.expression = expression;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
21
31
|
export function add(value) {
|
|
22
32
|
return new AddOp(value);
|
|
23
33
|
}
|
|
24
34
|
export function multiply(value) {
|
|
25
35
|
return new MultiplyOp(value);
|
|
26
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Set a field to the result of an expression evaluated by the server against the previous version
|
|
39
|
+
* of the entity. Unlike {@link add} and {@link multiply} the expression may reference other fields
|
|
40
|
+
* of the same entity (by their schema field names), compare values and branch:
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* await Account.update({
|
|
44
|
+
* id,
|
|
45
|
+
* balance: expr('coalesce(balance, 0) + pending'),
|
|
46
|
+
* status: expr("if(balance > 0, 'active', 'idle')"),
|
|
47
|
+
* updates: expr('if(exist(), updates + 1, 1)')
|
|
48
|
+
* })
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* Supported syntax:
|
|
52
|
+
* - arithmetic `+ - * /` with parentheses and number literals (`1`, `-2.5`, `1e18`); `a div b` is
|
|
53
|
+
* integer division, both sides must be integers (Int / Int8 / BigInt / Timestamp fields or
|
|
54
|
+
* digit-only literals) and it truncates toward zero
|
|
55
|
+
* - comparison `= != > >= < <=` on numbers or strings
|
|
56
|
+
* - logic `and`, `or`, `not`, literals `true`, `false`, `null`, string literals `'abc'`
|
|
57
|
+
* - `exist()`: whether the entity had a previous version
|
|
58
|
+
* - `isNull(x)`: whether `x` evaluates to null
|
|
59
|
+
* - `coalesce(a, b, ...)`: the first non-null argument
|
|
60
|
+
* - `if(cond, a, b)`
|
|
61
|
+
* - `concat(a, b, ...)`: joins strings; `toString(x)`: a number, boolean or string as a string
|
|
62
|
+
*
|
|
63
|
+
* The full reference (types, precedence, null rules) is in the entities documentation.
|
|
64
|
+
*
|
|
65
|
+
* Null follows SQL rules: a field reference is null when the entity does not exist yet, arithmetic
|
|
66
|
+
* and comparisons with a null operand are null, `and` / `or` use three-valued logic, and `if`
|
|
67
|
+
* treats a null condition as false. Storing null into a non-null field fails the update, so use
|
|
68
|
+
* `coalesce(field, 0)` for fields that may be written for the first time. Typing is strict: there is
|
|
69
|
+
* no implicit conversion between strings, numbers and booleans. Every numeric field type is computed
|
|
70
|
+
* with decimal arithmetic, `/` is decimal division and the result is rounded when the field is an
|
|
71
|
+
* integer type.
|
|
72
|
+
*/
|
|
73
|
+
export function expr(expression) {
|
|
74
|
+
return new ExpressionOp(expression);
|
|
75
|
+
}
|
|
27
76
|
export class AbstractEntity {
|
|
28
77
|
_data;
|
|
29
78
|
toJSON() {
|
package/dist/store/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/store/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -414,6 +414,7 @@ export declare class TestProcessorServer {
|
|
|
414
414
|
} | undefined;
|
|
415
415
|
}) | undefined;
|
|
416
416
|
op?: import("@sentio/protos").EntityUpdateData_Operator | undefined;
|
|
417
|
+
expression?: string | undefined;
|
|
417
418
|
};
|
|
418
419
|
[key: number]: import("@sentio/protos").EntityUpdateData_FieldValue | {
|
|
419
420
|
readonly $typeName?: undefined;
|
|
@@ -522,6 +523,7 @@ export declare class TestProcessorServer {
|
|
|
522
523
|
} | undefined;
|
|
523
524
|
}) | undefined;
|
|
524
525
|
op?: import("@sentio/protos").EntityUpdateData_Operator | undefined;
|
|
526
|
+
expression?: string | undefined;
|
|
525
527
|
};
|
|
526
528
|
} | undefined;
|
|
527
529
|
})[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,KAAK,EAEV,KAAK,sBAAsB,EAE3B,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAEzB,6BAA6B,EAC7B,kBAAkB,EAClB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAU,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EACL,kBAAkB,EAElB,mBAAmB,EAInB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,KAAK,2BAA2B,GAAG,gBAAgB,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,eAAO,MAAM,YAAY,EAAS,cAAc,CAAA;AAEhD,wBAAgB,SAAS,SAKxB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,YAAY,EAAE,gBAAgB,CAAA;IAC9B,OAAO,CAAC,aAAa,CAAI;IAEzB,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;gBAEP,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAuB5E,KAAK,CACT,OAAO,GAAE,gBAAgB,CAAC,OAAO,kBAAkB,CAA6B,EAChF,OAAO,iBAAe;IAYxB,IAAI,CAAC,OAAO,GAAE,KAA2B,EAAE,OAAO,iBAAe;IAK3D,SAAS,CACb,OAAO,GAAE,gBAAgB,CAAC,OAAO,0BAA0B,CAAM,EACjE,OAAO,iBAAe,GACrB,OAAO,CAAC,qBAAqB,CAAC;IAMjC,eAAe,CACb,OAAO,EAAE,gBAAgB,CAAC,OAAO,4BAA4B,CAAC,EAC9D,OAAO,GAAE,cAA6B,GACrC,OAAO,CAAC,sBAAsB,CAAC;IAK5B,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,cAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAIrG,kBAAkB;IAwBhC,OAAO,CAAC,gBAAgB;IAkExB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,cAAc;;;;;iBAqEo1rC,CAAC;;;;kCAAsJ,CAAC;0BAA+B,CAAC;;0CAAmI,CAAC;6BAA8B,CAAC;;;;;;;;iCAA2R,CAAC;;;;0CAAoL,CAAC;6BAA8B,CAAC;;;;;;;;iCAA2R,CAAC;;;;;;;;kCAAsM,CAAC;oBAAyB,CAAC;kBAAgC,CAAC;;yBAA8C,CAAC;;;;0CAA8I,CAAC;8BAA+B,CAAC;0BAAoC,CAAC;;;;;0CAA0K,CAAC;8BAA+B,CAAC;0BAAsC,CAAC;kCAA8C,CAAC;8CAA2E,CAAC;kCAAiC,CAAC;;sDAA8G,CAAC;yCAAoC,CAAC;;;;;;;;;;;;;;;;;;;;;;;6CAA+xB,CAAC;;;;8DAA2L,CAAC;mDAA0C,CAAC;iDAAiD,CAAC;;;;;8DAAyN,CAAC;oDAA2C,CAAC;gDAAiD,CAAC;;;;;8DAA2P,CAAC;iDAAwC,CAAC;kEAAqF,CAAC;wDAA6C,CAAC;oDAAmD,CAAC;;+CAA0G,CAAC;;;;;8DAA0N,CAAC;kDAAyC,CAAC;;;;;;;;8DAA0Z,CAAC;iDAAwC,CAAC;kEAAiF,CAAC;kDAAuC,CAAC;;;;;yDAA+L,CAAC;;;;0EAA2N,CAAC;+DAAgD,CAAC;6DAAuD,CAAC;;;;kDAA4J,CAAC;kEAA8F,CAAC;qDAA0C,CAAC;sEAAuF,CAAC;4DAA+C,CAAC;wDAAqD,CAAC;;mDAA8G,CAAC;;uDAA6F,CAAC;kEAAoF,CAAC;uDAA4C,CAAC;qDAAmD,CAAC;;;;;;sDAAiP,CAAC;yCAAoC,CAAC;;;;;;;;;;;;;;;;;;;;;;;6CAA+xB,CAAC;;;;8DAA2L,CAAC;mDAA0C,CAAC;iDAAiD,CAAC;;;;;8DAAyN,CAAC;oDAA2C,CAAC;gDAAiD,CAAC;;;;;8DAA2P,CAAC;iDAAwC,CAAC;kEAAqF,CAAC;wDAA6C,CAAC;oDAAmD,CAAC;;+CAA0G,CAAC;;;;;8DAA0N,CAAC;kDAAyC,CAAC;;;;;;;;8DAA0Z,CAAC;iDAAwC,CAAC;kEAAiF,CAAC;kDAAuC,CAAC;;;;;yDAA+L,CAAC;;;;0EAA2N,CAAC;+DAAgD,CAAC;6DAAuD,CAAC;;;;kDAA4J,CAAC;kEAA8F,CAAC;qDAA0C,CAAC;sEAAuF,CAAC;4DAA+C,CAAC;wDAAqD,CAAC;;mDAA8G,CAAC;;uDAA6F,CAAC;kEAAoF,CAAC;uDAA4C,CAAC;qDAAmD,CAAC;;;;;;;;;;;0CAAsV,CAAC;8BAA+B,CAAC;0BAAsC,CAAC;kCAA8C,CAAC;8CAAiF,CAAC;kCAAiC,CAAC;;sDAAgI,CAAC;yCAAoC,CAAC;0DAAgF,CAAC;6CAAsC,CAAC;;;;;;;;;;;;;;;;;;;;;;;iDAA60B,CAAC;;;;kEAAmM,CAAC;uDAA4C,CAAC;qDAAmD,CAAC;;;;;kEAAmO,CAAC;wDAA6C,CAAC;oDAAmD,CAAC;;;;;kEAAqQ,CAAC;qDAA0C,CAAC;sEAAuF,CAAC;4DAA+C,CAAC;wDAAqD,CAAC;;mDAA8G,CAAC;;;;;kEAAoO,CAAC;sDAA2C,CAAC;;;;;kEAAmR,CAAC;sDAA2C,CAAC;;;;;;;;kEAAkb,CAAC;qDAA0C,CAAC;sEAAmF,CAAC;sDAAyC,CAAC;;;;;6DAAyM,CAAC;;;;8EAAmO,CAAC;mEAAkD,CAAC;iEAAyD,CAAC;;;;sDAAoK,CAAC;sEAAgG,CAAC;yDAA4C,CAAC;0EAAyF,CAAC;gEAAiD,CAAC;4DAAuD,CAAC;;uDAAkH,CAAC;;2DAAiG,CAAC;sEAAsF,CAAC;2DAA8C,CAAC;yDAAqD,CAAC;;;;;sCAAgL,CAAC;;;
|
|
1
|
+
{"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentio/sdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0-rc.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
"typechain": "^8.3.2",
|
|
98
98
|
"utility-types": "^3.11.0",
|
|
99
99
|
"yaml": "^2.3.4",
|
|
100
|
-
"@sentio/
|
|
101
|
-
"@sentio/
|
|
100
|
+
"@sentio/runtime": "^4.5.0-rc.2",
|
|
101
|
+
"@sentio/protos": "4.5.0-rc.2"
|
|
102
102
|
},
|
|
103
103
|
"peerDependencies": {
|
|
104
104
|
"tsdown": "^0.22.3"
|
package/src/eth/provider.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { JsonRpcProvider, Network, hexlify } from 'ethers'
|
|
2
|
-
import type { JsonRpcError, JsonRpcPayload, JsonRpcResult } from 'ethers'
|
|
2
|
+
import type { FetchRequest, JsonRpcError, JsonRpcPayload, JsonRpcResult } from 'ethers'
|
|
3
3
|
|
|
4
4
|
import PQueue from 'p-queue'
|
|
5
5
|
import { EthChainId } from '@sentio/chain'
|
|
6
6
|
import { LRUCache } from 'lru-cache'
|
|
7
7
|
import { Endpoints, providerMetrics, processMetrics, metricsStorage, GLOBAL_CONFIG } from '@sentio/runtime'
|
|
8
|
+
import { rpcCallTimeoutMs, rpcFetchRequest } from './rpc-agent.js'
|
|
8
9
|
const { miss_count, hit_count, queue_size } = providerMetrics
|
|
9
10
|
|
|
10
11
|
export const DummyProvider = new JsonRpcProvider('', Network.from(1))
|
|
@@ -50,8 +51,9 @@ export function getProvider(chainId?: EthChainId): JsonRpcProvider {
|
|
|
50
51
|
// console.log(
|
|
51
52
|
// `init provider for chain ${network.chainId}, concurrency: ${Endpoints.INSTANCE.concurrency}, batchCount: ${Endpoints.INSTANCE.batchCount}`
|
|
52
53
|
// )
|
|
54
|
+
// Our own transport agents: see rpc-agent.ts for why the default agent is not usable here.
|
|
53
55
|
provider = new QueuedStaticJsonRpcProvider(
|
|
54
|
-
address,
|
|
56
|
+
rpcFetchRequest(address),
|
|
55
57
|
network,
|
|
56
58
|
Endpoints.INSTANCE.concurrency,
|
|
57
59
|
Endpoints.INSTANCE.batchCount
|
|
@@ -60,16 +62,6 @@ export function getProvider(chainId?: EthChainId): JsonRpcProvider {
|
|
|
60
62
|
return provider
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
// Default upper bound for a single RPC promise to settle, queue wait included.
|
|
64
|
-
// Deliberately above any sane queue+request latency and far below "stuck forever".
|
|
65
|
-
const DEFAULT_RPC_CALL_TIMEOUT_MS = 120_000
|
|
66
|
-
|
|
67
|
-
// Read per call so tests (and operators) can adjust without a module reload.
|
|
68
|
-
function rpcCallTimeoutMs(): number {
|
|
69
|
-
const n = Number(process.env['RPC_CALL_TIMEOUT_MS'])
|
|
70
|
-
return Number.isFinite(n) && n > 0 ? n : DEFAULT_RPC_CALL_TIMEOUT_MS
|
|
71
|
-
}
|
|
72
|
-
|
|
73
65
|
// Keep the diagnostic bounded: `what` may describe params with large calldata.
|
|
74
66
|
const TIMEOUT_WHAT_MAX = 120
|
|
75
67
|
|
|
@@ -181,7 +173,7 @@ export class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
|
|
|
181
173
|
max: 300000 // 300k items
|
|
182
174
|
})
|
|
183
175
|
|
|
184
|
-
constructor(url: string, network: Network, concurrency: number, batchCount = 1) {
|
|
176
|
+
constructor(url: string | FetchRequest, network: Network, concurrency: number, batchCount = 1) {
|
|
185
177
|
// TODO re-enable match when possible
|
|
186
178
|
super(url, network, { staticNetwork: network, batchMaxCount: batchCount })
|
|
187
179
|
this.executor = new PQueue({ concurrency: concurrency })
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import http from 'node:http'
|
|
2
|
+
import https from 'node:https'
|
|
3
|
+
import type { Socket } from 'node:net'
|
|
4
|
+
import { FetchRequest } from 'ethers'
|
|
5
|
+
import type { FetchGetUrlFunc } from 'ethers'
|
|
6
|
+
|
|
7
|
+
// Node >= 19 ships `http.globalAgent` as `{ keepAlive: true, timeout: 5000 }`. That agent
|
|
8
|
+
// timeout is installed on every NEW socket at creation and stays in force for the whole
|
|
9
|
+
// DNS + TCP connect phase: ethers' own `request.setTimeout(300s)` only replaces it once the
|
|
10
|
+
// socket has connected (Node defers it with `socket.once('connect', ...)` while connecting).
|
|
11
|
+
// So a connect that takes more than 5s — a slow resolver, or the worker's event loop being
|
|
12
|
+
// busy when the connect completes — surfaces as an ethers `request timeout`, even though the
|
|
13
|
+
// request then goes out anyway and is answered in milliseconds. Idle keep-alive sockets are
|
|
14
|
+
// also dropped after those same 5s, so a briefly idle worker reconnects (and re-resolves) for
|
|
15
|
+
// almost every call, which is what keeps putting requests into that window.
|
|
16
|
+
//
|
|
17
|
+
// Use our own agents instead: the connect-phase socket timeout is the RPC deadline, so the
|
|
18
|
+
// deadline in boundedTask is the only clock a call can run out on; idle keep-alive sockets
|
|
19
|
+
// keep Node's short retention so a server-side idle close never races a reuse.
|
|
20
|
+
|
|
21
|
+
// How long an idle keep-alive socket is kept before we drop it ourselves. Same value Node's
|
|
22
|
+
// global agent uses; well below the idle timeout of any RPC endpoint or proxy in front of one.
|
|
23
|
+
export const FREE_SOCKET_IDLE_MS = 5_000
|
|
24
|
+
|
|
25
|
+
// Default upper bound for a single RPC promise to settle, queue wait included.
|
|
26
|
+
// Deliberately above any sane queue+request latency and far below "stuck forever".
|
|
27
|
+
// Also the socket timeout for the connect phase of a new connection.
|
|
28
|
+
const DEFAULT_RPC_CALL_TIMEOUT_MS = 120_000
|
|
29
|
+
|
|
30
|
+
// Read per call so tests (and operators) can adjust without a module reload.
|
|
31
|
+
export function rpcCallTimeoutMs(): number {
|
|
32
|
+
const n = Number(process.env['RPC_CALL_TIMEOUT_MS'])
|
|
33
|
+
return Number.isFinite(n) && n > 0 ? n : DEFAULT_RPC_CALL_TIMEOUT_MS
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// `timeout` on an Agent doubles as the idle timeout of its free sockets; we want a long connect
|
|
37
|
+
// timeout but a short idle retention, so cap the timer again when a socket goes back to the
|
|
38
|
+
// free pool. (`keepSocketAlive` is the documented hook Node calls exactly at that point.) The
|
|
39
|
+
// base hook already honours a server `Keep-Alive: timeout=N` hint, minus Node's safety buffer,
|
|
40
|
+
// whenever that is shorter than the agent timeout — keep whichever is shorter, never lengthen
|
|
41
|
+
// it: an idle socket that outlives the server's idle timeout is a reset waiting to happen.
|
|
42
|
+
// (@types/node does not declare the hook, hence the structural cast.)
|
|
43
|
+
interface KeepSocketAlive {
|
|
44
|
+
keepSocketAlive(socket: Socket): boolean
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function keepAliveWithShortIdle<T extends http.Agent | https.Agent>(agent: T): T {
|
|
48
|
+
const hooks = agent as unknown as KeepSocketAlive
|
|
49
|
+
const base = hooks.keepSocketAlive.bind(agent)
|
|
50
|
+
hooks.keepSocketAlive = (socket: Socket): boolean => {
|
|
51
|
+
const keep = base(socket)
|
|
52
|
+
if (keep) {
|
|
53
|
+
socket.setTimeout(freeSocketIdleMs(socket.timeout))
|
|
54
|
+
}
|
|
55
|
+
return keep
|
|
56
|
+
}
|
|
57
|
+
return agent
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// The idle timeout to leave on a freed socket, given the one Node's hook selected for it.
|
|
61
|
+
export function freeSocketIdleMs(selected: number | undefined): number {
|
|
62
|
+
return selected && selected > 0 ? Math.min(selected, FREE_SOCKET_IDLE_MS) : FREE_SOCKET_IDLE_MS
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Same scheme test ethers' node transport applies (case-insensitive), so a request never lands
|
|
66
|
+
// on an agent for the other protocol.
|
|
67
|
+
export function isHttpsUrl(url: string): boolean {
|
|
68
|
+
return url.split(':')[0].toLowerCase() === 'https'
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function rpcAgentOptions(extra?: http.AgentOptions): http.AgentOptions {
|
|
72
|
+
return { keepAlive: true, scheduling: 'lifo', timeout: rpcCallTimeoutMs(), ...extra }
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function createRpcHttpAgent(extra?: http.AgentOptions): http.Agent {
|
|
76
|
+
return keepAliveWithShortIdle(new http.Agent(rpcAgentOptions(extra)))
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function createRpcHttpsAgent(extra?: https.AgentOptions): https.Agent {
|
|
80
|
+
return keepAliveWithShortIdle(new https.Agent(rpcAgentOptions(extra)))
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface RpcAgents {
|
|
84
|
+
readonly http: http.Agent
|
|
85
|
+
readonly https: https.Agent
|
|
86
|
+
readonly getUrlFunc: FetchGetUrlFunc
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
let agents: RpcAgents | undefined
|
|
90
|
+
|
|
91
|
+
// The process-wide agents every FetchRequest the SDK hands to ethers goes through, plus the
|
|
92
|
+
// `getUrlFunc` that routes a request to the one matching its scheme. Built lazily so the
|
|
93
|
+
// agents pick up RPC_CALL_TIMEOUT_MS from the environment the processor actually runs in.
|
|
94
|
+
export function rpcAgents(): RpcAgents {
|
|
95
|
+
if (!agents) {
|
|
96
|
+
const viaHttp = createRpcHttpAgent()
|
|
97
|
+
const viaHttps = createRpcHttpsAgent()
|
|
98
|
+
const overHttp = FetchRequest.createGetUrlFunc({ agent: viaHttp })
|
|
99
|
+
const overHttps = FetchRequest.createGetUrlFunc({ agent: viaHttps })
|
|
100
|
+
agents = {
|
|
101
|
+
http: viaHttp,
|
|
102
|
+
https: viaHttps,
|
|
103
|
+
getUrlFunc: (req, signal) => (isHttpsUrl(req.url) ? overHttps : overHttp)(req, signal)
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return agents
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// A FetchRequest for `url` whose transport uses the SDK agents. Clones keep the getUrlFunc, so
|
|
110
|
+
// this is safe to hand to a JsonRpcProvider, which clones it once per request.
|
|
111
|
+
export function rpcFetchRequest(url: string): FetchRequest {
|
|
112
|
+
const req = new FetchRequest(url)
|
|
113
|
+
req.getUrlFunc = rpcAgents().getUrlFunc
|
|
114
|
+
return req
|
|
115
|
+
}
|
package/src/store/store.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
Int,
|
|
10
10
|
Timestamp,
|
|
11
11
|
AddOp,
|
|
12
|
+
ExpressionOp,
|
|
12
13
|
MultiplyOp,
|
|
13
14
|
UpdateValues
|
|
14
15
|
} from './types.js'
|
|
@@ -143,6 +144,11 @@ export class Store {
|
|
|
143
144
|
op: EntityUpdateData_Operator.MULTIPLY,
|
|
144
145
|
value: serializeRichValue(value.value)
|
|
145
146
|
}
|
|
147
|
+
} else if (value instanceof ExpressionOp) {
|
|
148
|
+
fields[field] = {
|
|
149
|
+
op: EntityUpdateData_Operator.EXPRESSION,
|
|
150
|
+
expression: value.expression
|
|
151
|
+
}
|
|
146
152
|
} else if (value !== undefined) {
|
|
147
153
|
fields[field] = {
|
|
148
154
|
op: EntityUpdateData_Operator.SET,
|
package/src/store/types.ts
CHANGED
|
@@ -30,6 +30,15 @@ export class MultiplyOp<T> extends UpdateOp<T> {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Computes the new value of a field from the previous version of the entity, see {@link expr}.
|
|
35
|
+
*/
|
|
36
|
+
export class ExpressionOp<T> extends UpdateOp<T> {
|
|
37
|
+
constructor(readonly expression: string) {
|
|
38
|
+
super()
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
33
42
|
export type UpdateValues<T> = {
|
|
34
43
|
[K in keyof T]?: T[K] | UpdateOp<T[K]>
|
|
35
44
|
} & { id: ID }
|
|
@@ -42,6 +51,46 @@ export function multiply<K extends ValueType>(value: K): UpdateOp<K> {
|
|
|
42
51
|
return new MultiplyOp<K>(value)
|
|
43
52
|
}
|
|
44
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Set a field to the result of an expression evaluated by the server against the previous version
|
|
56
|
+
* of the entity. Unlike {@link add} and {@link multiply} the expression may reference other fields
|
|
57
|
+
* of the same entity (by their schema field names), compare values and branch:
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* await Account.update({
|
|
61
|
+
* id,
|
|
62
|
+
* balance: expr('coalesce(balance, 0) + pending'),
|
|
63
|
+
* status: expr("if(balance > 0, 'active', 'idle')"),
|
|
64
|
+
* updates: expr('if(exist(), updates + 1, 1)')
|
|
65
|
+
* })
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* Supported syntax:
|
|
69
|
+
* - arithmetic `+ - * /` with parentheses and number literals (`1`, `-2.5`, `1e18`); `a div b` is
|
|
70
|
+
* integer division, both sides must be integers (Int / Int8 / BigInt / Timestamp fields or
|
|
71
|
+
* digit-only literals) and it truncates toward zero
|
|
72
|
+
* - comparison `= != > >= < <=` on numbers or strings
|
|
73
|
+
* - logic `and`, `or`, `not`, literals `true`, `false`, `null`, string literals `'abc'`
|
|
74
|
+
* - `exist()`: whether the entity had a previous version
|
|
75
|
+
* - `isNull(x)`: whether `x` evaluates to null
|
|
76
|
+
* - `coalesce(a, b, ...)`: the first non-null argument
|
|
77
|
+
* - `if(cond, a, b)`
|
|
78
|
+
* - `concat(a, b, ...)`: joins strings; `toString(x)`: a number, boolean or string as a string
|
|
79
|
+
*
|
|
80
|
+
* The full reference (types, precedence, null rules) is in the entities documentation.
|
|
81
|
+
*
|
|
82
|
+
* Null follows SQL rules: a field reference is null when the entity does not exist yet, arithmetic
|
|
83
|
+
* and comparisons with a null operand are null, `and` / `or` use three-valued logic, and `if`
|
|
84
|
+
* treats a null condition as false. Storing null into a non-null field fails the update, so use
|
|
85
|
+
* `coalesce(field, 0)` for fields that may be written for the first time. Typing is strict: there is
|
|
86
|
+
* no implicit conversion between strings, numbers and booleans. Every numeric field type is computed
|
|
87
|
+
* with decimal arithmetic, `/` is decimal division and the result is rounded when the field is an
|
|
88
|
+
* integer type.
|
|
89
|
+
*/
|
|
90
|
+
export function expr<K extends ValueType>(expression: string): UpdateOp<K> {
|
|
91
|
+
return new ExpressionOp<K>(expression)
|
|
92
|
+
}
|
|
93
|
+
|
|
45
94
|
export abstract class AbstractEntity {
|
|
46
95
|
abstract id: ID
|
|
47
96
|
private readonly _data: RichStruct
|