@apibara/protocol 0.4.6 → 0.4.8
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/client.js +3 -0
- package/dist/client.js.map +1 -1
- package/dist/cursor.d.ts +13 -0
- package/dist/cursor.js +26 -2
- package/dist/cursor.js.map +1 -1
- package/dist/cursor.test.d.ts +1 -0
- package/dist/cursor.test.js +22 -0
- package/dist/cursor.test.js.map +1 -0
- package/dist/proto/v1alpha2.js +4 -1
- package/dist/proto/v1alpha2.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +4 -0
- package/src/cursor.test.ts +20 -0
- package/src/cursor.ts +28 -2
- package/src/proto/v1alpha2.ts +4 -1
package/dist/client.js
CHANGED
|
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "ChannelCredentials", { enumerable: true, get: fu
|
|
|
9
9
|
const StreamService = proto_1.v1alpha2.protoDescriptor.apibara.node.v1alpha2.Stream;
|
|
10
10
|
// Server produces an heartbeat every 30 seconds, so we use 45 seconds as a timeout.
|
|
11
11
|
const MESSAGE_TIMEOUT_MS = 45000;
|
|
12
|
+
// Increase the default message length to 128 MiB.
|
|
13
|
+
const DEFAULT_MESSAGE_LENGTH = 128 * 1048576; // 128 MiB
|
|
12
14
|
/**
|
|
13
15
|
* A client to configure and stream data.
|
|
14
16
|
*/
|
|
@@ -40,6 +42,7 @@ class StreamClient {
|
|
|
40
42
|
: baseCredentials;
|
|
41
43
|
this.inner = new StreamService(url, credentialsWithMetadata, {
|
|
42
44
|
'grpc.keepalive_timeout_ms': 3600000,
|
|
45
|
+
'grpc.max_receive_message_length': DEFAULT_MESSAGE_LENGTH,
|
|
43
46
|
...clientOptions,
|
|
44
47
|
});
|
|
45
48
|
this.stream_id = 0;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,2CAOsB;AAEtB,mCAAkC;AAClC,uCAA6C;AAE7C,yCAAgE;AAAvD,6GAAA,kBAAkB,OAAA;AAE3B,MAAM,aAAa,GAAG,gBAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;AAE3E,oFAAoF;AACpF,MAAM,kBAAkB,GAAG,KAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cursor.d.ts
CHANGED
|
@@ -15,8 +15,21 @@ export declare const Cursor: {
|
|
|
15
15
|
* been invalidated.
|
|
16
16
|
*/
|
|
17
17
|
create: (order: string | number | Long, unique: Uint8Array) => ICursor;
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new cursor from a plain Javascript object.
|
|
20
|
+
*/
|
|
21
|
+
fromObject({ orderKey, uniqueKey }: ReturnType<typeof _toObject>): ICursor;
|
|
18
22
|
/**
|
|
19
23
|
* Returns the cursor string representation.
|
|
20
24
|
*/
|
|
21
25
|
toString: (cursor?: ICursor | null) => string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the cursor as plain Javascript object.
|
|
28
|
+
*/
|
|
29
|
+
toObject: (cursor?: ICursor | null) => ReturnType<typeof _toObject> | undefined;
|
|
30
|
+
};
|
|
31
|
+
declare function _toObject(cursor: ICursor): {
|
|
32
|
+
orderKey: string;
|
|
33
|
+
uniqueKey: string;
|
|
22
34
|
};
|
|
35
|
+
export {};
|
package/dist/cursor.js
CHANGED
|
@@ -30,14 +30,38 @@ exports.Cursor = {
|
|
|
30
30
|
uniqueKey: unique,
|
|
31
31
|
};
|
|
32
32
|
},
|
|
33
|
+
/**
|
|
34
|
+
* Creates a new cursor from a plain Javascript object.
|
|
35
|
+
*/
|
|
36
|
+
fromObject({ orderKey, uniqueKey }) {
|
|
37
|
+
return {
|
|
38
|
+
orderKey: long_1.default.fromString(orderKey),
|
|
39
|
+
uniqueKey: Buffer.from(uniqueKey.slice(2), 'hex'),
|
|
40
|
+
};
|
|
41
|
+
},
|
|
33
42
|
/**
|
|
34
43
|
* Returns the cursor string representation.
|
|
35
44
|
*/
|
|
36
45
|
toString: (cursor) => {
|
|
37
46
|
if (!cursor)
|
|
38
47
|
return;
|
|
39
|
-
|
|
40
|
-
return `${
|
|
48
|
+
const { orderKey, uniqueKey } = _toObject(cursor);
|
|
49
|
+
return `${orderKey}/${uniqueKey}`;
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
* Returns the cursor as plain Javascript object.
|
|
53
|
+
*/
|
|
54
|
+
toObject: (cursor) => {
|
|
55
|
+
if (!cursor)
|
|
56
|
+
return;
|
|
57
|
+
return _toObject(cursor);
|
|
41
58
|
},
|
|
42
59
|
};
|
|
60
|
+
function _toObject(cursor) {
|
|
61
|
+
let hash = Buffer.from(cursor.uniqueKey).toString('hex');
|
|
62
|
+
return {
|
|
63
|
+
orderKey: cursor.orderKey.toString(),
|
|
64
|
+
uniqueKey: `0x${hash}`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
43
67
|
//# sourceMappingURL=cursor.js.map
|
package/dist/cursor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAGV,QAAA,MAAM,GAAG;IACpB;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,KAA6B,EAAW,EAAE;QAC7D,OAAO;YACL,QAAQ,EAAE,cAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,IAAI,UAAU,EAAE;SAC5B,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAA6B,EAAE,MAAkB,EAAW,EAAE;QACrE,OAAO;YACL,QAAQ,EAAE,cAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,MAAM;SAClB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAuB,EAAsB,EAAE;QACxD,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAGV,QAAA,MAAM,GAAG;IACpB;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,KAA6B,EAAW,EAAE;QAC7D,OAAO;YACL,QAAQ,EAAE,cAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,IAAI,UAAU,EAAE;SAC5B,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAA6B,EAAE,MAAkB,EAAW,EAAE;QACrE,OAAO;YACL,QAAQ,EAAE,cAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,MAAM;SAClB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAgC;QAC9D,OAAO;YACL,QAAQ,EAAE,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACnC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;SAClD,CAAA;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAuB,EAAsB,EAAE;QACxD,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QACjD,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAA;IACnC,CAAC;IAED;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAuB,EAA4C,EAAE;QAC9E,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;CACF,CAAA;AAED,SAAS,SAAS,CAAC,MAAe;IAChC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACpC,SAAS,EAAE,KAAK,IAAI,EAAE;KACvB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const long_1 = __importDefault(require("long"));
|
|
7
|
+
const cursor_1 = require("./cursor");
|
|
8
|
+
describe('Cursor', () => {
|
|
9
|
+
it('can be converted to and from javascript objects', () => {
|
|
10
|
+
const cursorObject = {
|
|
11
|
+
orderKey: '1234',
|
|
12
|
+
uniqueKey: '0x05dd5e4f023a81a8daaf86b8bf3967b04276a89c81b840e8e55d658323854ad7',
|
|
13
|
+
};
|
|
14
|
+
const cursor = cursor_1.Cursor.fromObject(cursorObject);
|
|
15
|
+
expect(cursor.orderKey).toEqual(long_1.default.fromNumber(1234));
|
|
16
|
+
expect(cursor.uniqueKey).toHaveLength(32);
|
|
17
|
+
const back = cursor_1.Cursor.toObject(cursor);
|
|
18
|
+
expect(back.orderKey).toEqual(cursorObject.orderKey);
|
|
19
|
+
expect(back.uniqueKey).toEqual(cursorObject.uniqueKey);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=cursor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.test.js","sourceRoot":"","sources":["../src/cursor.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,qCAAiC;AAEjC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,oEAAoE;SAChF,CAAA;QAED,MAAM,MAAM,GAAG,eAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QACtD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAG,eAAM,CAAC,QAAQ,CAAC,MAAM,CAAE,CAAA;QAErC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/proto/v1alpha2.js
CHANGED
|
@@ -5,7 +5,10 @@ const grpc_js_1 = require("@grpc/grpc-js");
|
|
|
5
5
|
const proto_loader_1 = require("@grpc/proto-loader");
|
|
6
6
|
const __NODE_PROTO_PATH = __dirname + '/stream.proto';
|
|
7
7
|
// export definitions
|
|
8
|
-
exports.packageDefinition = (0, proto_loader_1.loadSync)(__NODE_PROTO_PATH, {
|
|
8
|
+
exports.packageDefinition = (0, proto_loader_1.loadSync)(__NODE_PROTO_PATH, {
|
|
9
|
+
oneofs: true,
|
|
10
|
+
defaults: true,
|
|
11
|
+
});
|
|
9
12
|
exports.protoDescriptor = (0, grpc_js_1.loadPackageDefinition)(exports.packageDefinition);
|
|
10
13
|
var DataFinality_1 = require("./apibara/node/v1alpha2/DataFinality");
|
|
11
14
|
Object.defineProperty(exports, "DataFinality", { enumerable: true, get: function () { return DataFinality_1.DataFinality; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1alpha2.js","sourceRoot":"","sources":["../../src/proto/v1alpha2.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AACrD,qDAA6C;AAG7C,MAAM,iBAAiB,GAAG,SAAS,GAAG,eAAe,CAAA;AAErD,qBAAqB;AACR,QAAA,iBAAiB,GAAG,IAAA,uBAAQ,EAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"v1alpha2.js","sourceRoot":"","sources":["../../src/proto/v1alpha2.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AACrD,qDAA6C;AAG7C,MAAM,iBAAiB,GAAG,SAAS,GAAG,eAAe,CAAA;AAErD,qBAAqB;AACR,QAAA,iBAAiB,GAAG,IAAA,uBAAQ,EAAC,iBAAiB,EAAE;IAC3D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;CACf,CAAC,CAAA;AACW,QAAA,eAAe,GAAG,IAAA,+BAAqB,EAAC,yBAAiB,CAA6B,CAAA;AAKnG,qEAAmE;AAA1D,4GAAA,YAAY,OAAA"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -17,6 +17,9 @@ const StreamService = v1alpha2.protoDescriptor.apibara.node.v1alpha2.Stream
|
|
|
17
17
|
// Server produces an heartbeat every 30 seconds, so we use 45 seconds as a timeout.
|
|
18
18
|
const MESSAGE_TIMEOUT_MS = 45_000
|
|
19
19
|
|
|
20
|
+
// Increase the default message length to 128 MiB.
|
|
21
|
+
const DEFAULT_MESSAGE_LENGTH = 128 * 1_048_576 // 128 MiB
|
|
22
|
+
|
|
20
23
|
export type DataStream = ClientDuplexStream<
|
|
21
24
|
v1alpha2.IStreamDataRequest,
|
|
22
25
|
v1alpha2.IStreamDataResponse
|
|
@@ -151,6 +154,7 @@ export class StreamClient {
|
|
|
151
154
|
|
|
152
155
|
this.inner = new StreamService(url, credentialsWithMetadata, {
|
|
153
156
|
'grpc.keepalive_timeout_ms': 3_600_000,
|
|
157
|
+
'grpc.max_receive_message_length': DEFAULT_MESSAGE_LENGTH,
|
|
154
158
|
...clientOptions,
|
|
155
159
|
})
|
|
156
160
|
this.stream_id = 0
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Long from 'long'
|
|
2
|
+
import { Cursor } from './cursor'
|
|
3
|
+
|
|
4
|
+
describe('Cursor', () => {
|
|
5
|
+
it('can be converted to and from javascript objects', () => {
|
|
6
|
+
const cursorObject = {
|
|
7
|
+
orderKey: '1234',
|
|
8
|
+
uniqueKey: '0x05dd5e4f023a81a8daaf86b8bf3967b04276a89c81b840e8e55d658323854ad7',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const cursor = Cursor.fromObject(cursorObject)
|
|
12
|
+
expect(cursor.orderKey).toEqual(Long.fromNumber(1234))
|
|
13
|
+
expect(cursor.uniqueKey).toHaveLength(32)
|
|
14
|
+
|
|
15
|
+
const back = Cursor.toObject(cursor)!
|
|
16
|
+
|
|
17
|
+
expect(back.orderKey).toEqual(cursorObject.orderKey)
|
|
18
|
+
expect(back.uniqueKey).toEqual(cursorObject.uniqueKey)
|
|
19
|
+
})
|
|
20
|
+
})
|
package/src/cursor.ts
CHANGED
|
@@ -28,12 +28,38 @@ export const Cursor = {
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new cursor from a plain Javascript object.
|
|
33
|
+
*/
|
|
34
|
+
fromObject({ orderKey, uniqueKey }: ReturnType<typeof _toObject>): ICursor {
|
|
35
|
+
return {
|
|
36
|
+
orderKey: Long.fromString(orderKey),
|
|
37
|
+
uniqueKey: Buffer.from(uniqueKey.slice(2), 'hex'),
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
|
|
31
41
|
/**
|
|
32
42
|
* Returns the cursor string representation.
|
|
33
43
|
*/
|
|
34
44
|
toString: (cursor?: ICursor | null): string | undefined => {
|
|
35
45
|
if (!cursor) return
|
|
36
|
-
|
|
37
|
-
return `${
|
|
46
|
+
const { orderKey, uniqueKey } = _toObject(cursor)
|
|
47
|
+
return `${orderKey}/${uniqueKey}`
|
|
38
48
|
},
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Returns the cursor as plain Javascript object.
|
|
52
|
+
*/
|
|
53
|
+
toObject: (cursor?: ICursor | null): ReturnType<typeof _toObject> | undefined => {
|
|
54
|
+
if (!cursor) return
|
|
55
|
+
return _toObject(cursor)
|
|
56
|
+
},
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function _toObject(cursor: ICursor): { orderKey: string; uniqueKey: string } {
|
|
60
|
+
let hash = Buffer.from(cursor.uniqueKey).toString('hex')
|
|
61
|
+
return {
|
|
62
|
+
orderKey: cursor.orderKey.toString(),
|
|
63
|
+
uniqueKey: `0x${hash}`,
|
|
64
|
+
}
|
|
39
65
|
}
|
package/src/proto/v1alpha2.ts
CHANGED
|
@@ -5,7 +5,10 @@ import { ProtoGrpcType } from './stream'
|
|
|
5
5
|
const __NODE_PROTO_PATH = __dirname + '/stream.proto'
|
|
6
6
|
|
|
7
7
|
// export definitions
|
|
8
|
-
export const packageDefinition = loadSync(__NODE_PROTO_PATH, {
|
|
8
|
+
export const packageDefinition = loadSync(__NODE_PROTO_PATH, {
|
|
9
|
+
oneofs: true,
|
|
10
|
+
defaults: true,
|
|
11
|
+
})
|
|
9
12
|
export const protoDescriptor = loadPackageDefinition(packageDefinition) as unknown as ProtoGrpcType
|
|
10
13
|
|
|
11
14
|
// re-export all types, use same naming convention as protobufjs
|