@s2-dev/streamstore 0.16.12 → 0.17.0
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/cjs/basin.d.ts +6 -2
- package/dist/cjs/basin.d.ts.map +1 -1
- package/dist/cjs/basin.js +11 -5
- package/dist/cjs/basin.js.map +1 -1
- package/dist/cjs/batch-transform.d.ts +64 -0
- package/dist/cjs/batch-transform.d.ts.map +1 -0
- package/dist/cjs/batch-transform.js +144 -0
- package/dist/cjs/batch-transform.js.map +1 -0
- package/dist/cjs/generated/proto/s2.d.ts.map +1 -0
- package/dist/cjs/generated/proto/s2.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/stream/factory.d.ts +15 -0
- package/dist/cjs/lib/stream/factory.d.ts.map +1 -0
- package/dist/cjs/lib/stream/factory.js +36 -0
- package/dist/cjs/lib/stream/factory.js.map +1 -0
- package/dist/cjs/lib/stream/runtime.d.ts +13 -0
- package/dist/cjs/lib/stream/runtime.d.ts.map +1 -0
- package/dist/cjs/lib/stream/runtime.js +50 -0
- package/dist/cjs/lib/stream/runtime.js.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts +79 -0
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/index.js +382 -0
- package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.d.ts +7 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.js +170 -0
- package/dist/cjs/lib/stream/transport/fetch/shared.js.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.d.ts +47 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.js +123 -0
- package/dist/cjs/lib/stream/transport/s2s/framing.js.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/index.d.ts +23 -0
- package/dist/cjs/lib/stream/transport/s2s/index.d.ts.map +1 -0
- package/dist/cjs/lib/stream/transport/s2s/index.js +785 -0
- package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -0
- package/dist/cjs/lib/stream/types.d.ts +53 -0
- package/dist/cjs/lib/stream/types.d.ts.map +1 -0
- package/dist/cjs/lib/stream/types.js +3 -0
- package/dist/cjs/lib/stream/types.js.map +1 -0
- package/dist/cjs/stream.d.ts +22 -116
- package/dist/cjs/stream.d.ts.map +1 -1
- package/dist/cjs/stream.js +35 -551
- package/dist/cjs/stream.js.map +1 -1
- package/dist/cjs/utils.d.ts +32 -6
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +129 -34
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/basin.d.ts +6 -2
- package/dist/esm/basin.d.ts.map +1 -1
- package/dist/esm/basin.js +11 -5
- package/dist/esm/basin.js.map +1 -1
- package/dist/esm/batch-transform.d.ts +64 -0
- package/dist/esm/batch-transform.d.ts.map +1 -0
- package/dist/esm/batch-transform.js +140 -0
- package/dist/esm/batch-transform.js.map +1 -0
- package/dist/esm/generated/proto/s2.d.ts.map +1 -0
- package/dist/esm/generated/proto/s2.js.map +1 -0
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/stream/factory.d.ts +15 -0
- package/dist/esm/lib/stream/factory.d.ts.map +1 -0
- package/dist/esm/lib/stream/factory.js +33 -0
- package/dist/esm/lib/stream/factory.js.map +1 -0
- package/dist/esm/lib/stream/runtime.d.ts +13 -0
- package/dist/esm/lib/stream/runtime.d.ts.map +1 -0
- package/dist/esm/lib/stream/runtime.js +46 -0
- package/dist/esm/lib/stream/runtime.js.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/index.d.ts +79 -0
- package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/index.js +376 -0
- package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/shared.d.ts +7 -0
- package/dist/esm/lib/stream/transport/fetch/shared.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/fetch/shared.js +166 -0
- package/dist/esm/lib/stream/transport/fetch/shared.js.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/framing.d.ts +47 -0
- package/dist/esm/lib/stream/transport/s2s/framing.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/framing.js +118 -0
- package/dist/esm/lib/stream/transport/s2s/framing.js.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/index.d.ts +23 -0
- package/dist/esm/lib/stream/transport/s2s/index.d.ts.map +1 -0
- package/dist/esm/lib/stream/transport/s2s/index.js +781 -0
- package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -0
- package/dist/esm/lib/stream/types.d.ts +53 -0
- package/dist/esm/lib/stream/types.d.ts.map +1 -0
- package/dist/esm/lib/stream/types.js +2 -0
- package/dist/esm/lib/stream/types.js.map +1 -0
- package/dist/esm/stream.d.ts +22 -116
- package/dist/esm/stream.d.ts.map +1 -1
- package/dist/esm/stream.js +36 -551
- package/dist/esm/stream.js.map +1 -1
- package/dist/esm/utils.d.ts +32 -6
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +126 -34
- package/dist/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/generated/proto/s2/v1/s2.d.ts.map +0 -1
- package/dist/cjs/generated/proto/s2/v1/s2.js.map +0 -1
- package/dist/esm/generated/proto/s2/v1/s2.d.ts.map +0 -1
- package/dist/esm/generated/proto/s2/v1/s2.js.map +0 -1
- /package/dist/cjs/generated/proto/{s2/v1/s2.d.ts → s2.d.ts} +0 -0
- /package/dist/cjs/generated/proto/{s2/v1/s2.js → s2.js} +0 -0
- /package/dist/esm/generated/proto/{s2/v1/s2.d.ts → s2.d.ts} +0 -0
- /package/dist/esm/generated/proto/{s2/v1/s2.js → s2.js} +0 -0
package/dist/cjs/utils.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import type { AppendRecord as AppendRecordType } from "./stream.js";
|
|
2
|
-
type Headers = Record<string, string> | Array<[string | Uint8Array, string | Uint8Array]>;
|
|
1
|
+
import type { AppendHeaders, AppendRecord as AppendRecordType } from "./lib/stream/types.js";
|
|
3
2
|
export type AppendRecord = AppendRecordType;
|
|
3
|
+
declare function appendRecordMake(body?: string, headers?: AppendHeaders<"string">, timestamp?: number): AppendRecord;
|
|
4
|
+
declare function appendRecordMake(body?: Uint8Array, headers?: AppendHeaders<"bytes">, timestamp?: number): AppendRecord;
|
|
5
|
+
declare function appendRecordCommand(command: string, body?: string, timestamp?: number): AppendRecord;
|
|
6
|
+
declare function appendRecordCommand(command: Uint8Array, body?: Uint8Array, timestamp?: number): AppendRecord;
|
|
4
7
|
/**
|
|
5
8
|
* Helpers to construct appendable records.
|
|
6
9
|
*
|
|
@@ -11,10 +14,33 @@ export type AppendRecord = AppendRecordType;
|
|
|
11
14
|
* - `trim` is a command record that encodes a sequence number for trimming
|
|
12
15
|
*/
|
|
13
16
|
export declare const AppendRecord: {
|
|
14
|
-
readonly make:
|
|
15
|
-
readonly command:
|
|
16
|
-
readonly fence: (fencing_token: string,
|
|
17
|
-
readonly trim: (seqNum: number | bigint,
|
|
17
|
+
readonly make: typeof appendRecordMake;
|
|
18
|
+
readonly command: typeof appendRecordCommand;
|
|
19
|
+
readonly fence: (fencing_token: string, timestamp?: number) => AppendRecord;
|
|
20
|
+
readonly trim: (seqNum: number | bigint, timestamp?: number) => AppendRecord;
|
|
18
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Calculate the UTF-8 byte length of a string.
|
|
24
|
+
* Handles all Unicode characters including surrogate pairs correctly.
|
|
25
|
+
*
|
|
26
|
+
* @param str The string to measure
|
|
27
|
+
* @returns The byte length when encoded as UTF-8
|
|
28
|
+
*/
|
|
29
|
+
export declare function utf8ByteLength(str: string): number;
|
|
30
|
+
/**
|
|
31
|
+
* Calculate the metered size in bytes of an AppendRecord.
|
|
32
|
+
* This includes the body and headers, but not metadata like timestamp.
|
|
33
|
+
*
|
|
34
|
+
* This function calculates how many bytes the record will occupy
|
|
35
|
+
* after being received and deserialized as raw bytes on the S2 side.
|
|
36
|
+
* For strings, it calculates UTF-8 byte length. For Uint8Array, it uses
|
|
37
|
+
* the array length directly (same value as would be used when encoding
|
|
38
|
+
* to base64 for transmission).
|
|
39
|
+
*
|
|
40
|
+
* @param record The record to measure
|
|
41
|
+
* @returns The size in bytes
|
|
42
|
+
*/
|
|
43
|
+
export declare function meteredSizeBytes(record: AppendRecord): number;
|
|
44
|
+
export declare function computeAppendRecordFormat(record: AppendRecord): "string" | "bytes";
|
|
19
45
|
export {};
|
|
20
46
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/cjs/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,IAAI,gBAAgB,EAChC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,iBAAS,gBAAgB,CACxB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAChB,iBAAS,gBAAgB,CACxB,IAAI,CAAC,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAahB,iBAAS,mBAAmB,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAChB,iBAAS,mBAAmB,CAC3B,OAAO,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,MAAM,GAChB,YAAY,CAAC;AAgBhB;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;;;oCAID,MAAM,cAAc,MAAM,KAAG,YAAY;4BAGjD,MAAM,GAAG,MAAM,cAAc,MAAM,KAAG,YAAY;CAWxD,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiClD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAgC7D;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,YAAY,GAClB,QAAQ,GAAG,OAAO,CAiBpB"}
|
package/dist/cjs/utils.js
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AppendRecord = void 0;
|
|
4
|
+
exports.utf8ByteLength = utf8ByteLength;
|
|
5
|
+
exports.meteredSizeBytes = meteredSizeBytes;
|
|
6
|
+
exports.computeAppendRecordFormat = computeAppendRecordFormat;
|
|
7
|
+
function appendRecordMake(body, headers, timestamp) {
|
|
8
|
+
return {
|
|
9
|
+
body,
|
|
10
|
+
headers,
|
|
11
|
+
timestamp,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function appendRecordCommand(command, body, timestamp) {
|
|
15
|
+
const headers = (() => {
|
|
16
|
+
if (typeof command === "string") {
|
|
17
|
+
return [["", command]];
|
|
18
|
+
}
|
|
19
|
+
return [[new TextEncoder().encode(""), command]];
|
|
20
|
+
})();
|
|
21
|
+
// safety: we know the types are correct because of the overloads
|
|
22
|
+
return exports.AppendRecord.make(body, headers, timestamp);
|
|
23
|
+
}
|
|
4
24
|
/**
|
|
5
25
|
* Helpers to construct appendable records.
|
|
6
26
|
*
|
|
@@ -11,45 +31,120 @@ exports.AppendRecord = void 0;
|
|
|
11
31
|
* - `trim` is a command record that encodes a sequence number for trimming
|
|
12
32
|
*/
|
|
13
33
|
exports.AppendRecord = {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
34
|
+
// overloads for only string or only bytes
|
|
35
|
+
make: appendRecordMake,
|
|
36
|
+
command: appendRecordCommand,
|
|
37
|
+
fence: (fencing_token, timestamp) => {
|
|
38
|
+
return exports.AppendRecord.command("fence", fencing_token, timestamp);
|
|
20
39
|
},
|
|
21
|
-
|
|
22
|
-
/** Command name (e.g. "fence" or "trim"). */
|
|
23
|
-
command, body, additionalHeaders, timestamp) => {
|
|
24
|
-
const headers = (() => {
|
|
25
|
-
if (!additionalHeaders) {
|
|
26
|
-
return [["", command]];
|
|
27
|
-
}
|
|
28
|
-
else if (Array.isArray(additionalHeaders)) {
|
|
29
|
-
return [["", command], ...additionalHeaders];
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return [
|
|
33
|
-
["", command],
|
|
34
|
-
...Object.entries(additionalHeaders).map(([key, value]) => [key, value]),
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
})();
|
|
38
|
-
return {
|
|
39
|
-
body,
|
|
40
|
-
headers,
|
|
41
|
-
timestamp,
|
|
42
|
-
};
|
|
43
|
-
},
|
|
44
|
-
fence: (fencing_token, additionalHeaders, timestamp) => {
|
|
45
|
-
return exports.AppendRecord.command("fence", fencing_token, additionalHeaders, timestamp);
|
|
46
|
-
},
|
|
47
|
-
trim: (seqNum, additionalHeaders, timestamp) => {
|
|
40
|
+
trim: (seqNum, timestamp) => {
|
|
48
41
|
// Encode sequence number as 8 big-endian bytes
|
|
49
42
|
const buffer = new Uint8Array(8);
|
|
50
43
|
const view = new DataView(buffer.buffer);
|
|
51
44
|
view.setBigUint64(0, BigInt(seqNum), false); // false = big-endian
|
|
52
|
-
return exports.AppendRecord.command("trim", buffer,
|
|
45
|
+
return exports.AppendRecord.command(new TextEncoder().encode("trim"), buffer, timestamp);
|
|
53
46
|
},
|
|
54
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* Calculate the UTF-8 byte length of a string.
|
|
50
|
+
* Handles all Unicode characters including surrogate pairs correctly.
|
|
51
|
+
*
|
|
52
|
+
* @param str The string to measure
|
|
53
|
+
* @returns The byte length when encoded as UTF-8
|
|
54
|
+
*/
|
|
55
|
+
function utf8ByteLength(str) {
|
|
56
|
+
let bytes = 0;
|
|
57
|
+
for (let i = 0; i < str.length; i++) {
|
|
58
|
+
const code = str.charCodeAt(i);
|
|
59
|
+
if (code <= 0x7f) {
|
|
60
|
+
bytes += 1;
|
|
61
|
+
}
|
|
62
|
+
else if (code <= 0x7ff) {
|
|
63
|
+
bytes += 2;
|
|
64
|
+
}
|
|
65
|
+
else if (code >= 0xd800 && code <= 0xdbff) {
|
|
66
|
+
// high surrogate
|
|
67
|
+
if (i + 1 < str.length) {
|
|
68
|
+
const next = str.charCodeAt(i + 1);
|
|
69
|
+
if (next >= 0xdc00 && next <= 0xdfff) {
|
|
70
|
+
// valid surrogate pair → 4 bytes in UTF-8
|
|
71
|
+
bytes += 4;
|
|
72
|
+
i++; // skip low surrogate
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// unpaired high surrogate → treat as 3 bytes (replacement-style)
|
|
76
|
+
bytes += 3;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// unpaired high surrogate at end of string
|
|
81
|
+
bytes += 3;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else if (code >= 0xdc00 && code <= 0xdfff) {
|
|
85
|
+
// lone low surrogate — treat as 3 bytes
|
|
86
|
+
bytes += 3;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
bytes += 3;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return bytes;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Calculate the metered size in bytes of an AppendRecord.
|
|
96
|
+
* This includes the body and headers, but not metadata like timestamp.
|
|
97
|
+
*
|
|
98
|
+
* This function calculates how many bytes the record will occupy
|
|
99
|
+
* after being received and deserialized as raw bytes on the S2 side.
|
|
100
|
+
* For strings, it calculates UTF-8 byte length. For Uint8Array, it uses
|
|
101
|
+
* the array length directly (same value as would be used when encoding
|
|
102
|
+
* to base64 for transmission).
|
|
103
|
+
*
|
|
104
|
+
* @param record The record to measure
|
|
105
|
+
* @returns The size in bytes
|
|
106
|
+
*/
|
|
107
|
+
function meteredSizeBytes(record) {
|
|
108
|
+
// Calculate header size based on actual data types
|
|
109
|
+
let numHeaders = 0;
|
|
110
|
+
let headersSize = 0;
|
|
111
|
+
if (record.headers) {
|
|
112
|
+
if (Array.isArray(record.headers)) {
|
|
113
|
+
numHeaders = record.headers.length;
|
|
114
|
+
headersSize = record.headers.reduce((sum, [k, v]) => {
|
|
115
|
+
// Infer format from key type: string = UTF-8 bytes, Uint8Array = byte length
|
|
116
|
+
const keySize = typeof k === "string" ? utf8ByteLength(k) : k.length;
|
|
117
|
+
const valueSize = typeof v === "string" ? utf8ByteLength(v) : v.length;
|
|
118
|
+
return sum + keySize + valueSize;
|
|
119
|
+
}, 0);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
// Record<string, string> format (only for string format)
|
|
123
|
+
const entries = Object.entries(record.headers);
|
|
124
|
+
numHeaders = entries.length;
|
|
125
|
+
headersSize = entries.reduce((sum, [k, v]) => {
|
|
126
|
+
return sum + utf8ByteLength(k) + utf8ByteLength(v);
|
|
127
|
+
}, 0);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Calculate body size based on actual data type
|
|
131
|
+
const bodySize = record.body
|
|
132
|
+
? typeof record.body === "string"
|
|
133
|
+
? utf8ByteLength(record.body)
|
|
134
|
+
: record.body.length
|
|
135
|
+
: 0;
|
|
136
|
+
return 8 + 2 * numHeaders + headersSize + bodySize;
|
|
137
|
+
}
|
|
138
|
+
function computeAppendRecordFormat(record) {
|
|
139
|
+
let result = "string";
|
|
140
|
+
if (record.body && typeof record.body !== "string") {
|
|
141
|
+
result = "bytes";
|
|
142
|
+
}
|
|
143
|
+
if (record.headers &&
|
|
144
|
+
Array.isArray(record.headers) &&
|
|
145
|
+
record.headers.some(([k, v]) => typeof k !== "string" || typeof v !== "string")) {
|
|
146
|
+
result = "bytes";
|
|
147
|
+
}
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
55
150
|
//# sourceMappingURL=utils.js.map
|
package/dist/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/basin.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as Redacted from "./lib/redacted.js";
|
|
2
|
+
import type { SessionTransports } from "./lib/stream/types.js";
|
|
2
3
|
import { S2Stream } from "./stream.js";
|
|
3
4
|
import { S2Streams } from "./streams.js";
|
|
4
5
|
export declare class S2Basin {
|
|
5
6
|
private readonly client;
|
|
6
|
-
private readonly
|
|
7
|
+
private readonly transportConfig;
|
|
7
8
|
readonly name: string;
|
|
8
9
|
readonly streams: S2Streams;
|
|
9
10
|
/**
|
|
@@ -24,6 +25,9 @@ export declare class S2Basin {
|
|
|
24
25
|
* Create a stream-scoped helper bound to `this` basin.
|
|
25
26
|
* @param name Stream name
|
|
26
27
|
*/
|
|
27
|
-
stream(name: string): S2Stream;
|
|
28
|
+
stream(name: string, options?: StreamOptions): S2Stream;
|
|
29
|
+
}
|
|
30
|
+
export interface StreamOptions {
|
|
31
|
+
forceTransport?: SessionTransports;
|
|
28
32
|
}
|
|
29
33
|
//# sourceMappingURL=basin.d.ts.map
|
package/dist/esm/basin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basin.d.ts","sourceRoot":"","sources":["../../src/basin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"basin.d.ts","sourceRoot":"","sources":["../../src/basin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,EAAE,SAAS,CAAC;IAEnC;;;;;;;;OAQG;gBAEF,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACR,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC;QAChB,kBAAkB,EAAE,OAAO,CAAC;KAC5B;IAiBF;;;OAGG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;CAMnD;AAED,MAAM,WAAW,aAAa;IAC7B,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACnC"}
|
package/dist/esm/basin.js
CHANGED
|
@@ -4,7 +4,7 @@ import { S2Stream } from "./stream.js";
|
|
|
4
4
|
import { S2Streams } from "./streams.js";
|
|
5
5
|
export class S2Basin {
|
|
6
6
|
client;
|
|
7
|
-
|
|
7
|
+
transportConfig;
|
|
8
8
|
name;
|
|
9
9
|
streams;
|
|
10
10
|
/**
|
|
@@ -18,10 +18,13 @@ export class S2Basin {
|
|
|
18
18
|
*/
|
|
19
19
|
constructor(name, options) {
|
|
20
20
|
this.name = name;
|
|
21
|
-
this.
|
|
21
|
+
this.transportConfig = {
|
|
22
|
+
baseUrl: options.baseUrl,
|
|
23
|
+
accessToken: options.accessToken,
|
|
24
|
+
};
|
|
22
25
|
this.client = createClient(createConfig({
|
|
23
26
|
baseUrl: options.baseUrl,
|
|
24
|
-
auth: () => Redacted.value(this.accessToken),
|
|
27
|
+
auth: () => Redacted.value(this.transportConfig.accessToken),
|
|
25
28
|
headers: options.includeBasinHeader ? { "s2-basin": name } : {},
|
|
26
29
|
}));
|
|
27
30
|
this.streams = new S2Streams(this.client);
|
|
@@ -30,8 +33,11 @@ export class S2Basin {
|
|
|
30
33
|
* Create a stream-scoped helper bound to `this` basin.
|
|
31
34
|
* @param name Stream name
|
|
32
35
|
*/
|
|
33
|
-
stream(name) {
|
|
34
|
-
return new S2Stream(name, this.client
|
|
36
|
+
stream(name, options) {
|
|
37
|
+
return new S2Stream(name, this.client, {
|
|
38
|
+
...this.transportConfig,
|
|
39
|
+
forceTransport: options?.forceTransport,
|
|
40
|
+
});
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
43
|
//# sourceMappingURL=basin.js.map
|
package/dist/esm/basin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basin.js","sourceRoot":"","sources":["../../src/basin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"basin.js","sourceRoot":"","sources":["../../src/basin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,OAAO,OAAO;IACF,MAAM,CAAS;IACf,eAAe,CAAkB;IAClC,IAAI,CAAS;IACb,OAAO,CAAY;IAEnC;;;;;;;;OAQG;IACH,YACC,IAAY,EACZ,OAIC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;SAChC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,YAAY,CACzB,YAAY,CAAC;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;YAC5D,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC,CACF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,IAAY,EAAE,OAAuB;QAClD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACtC,GAAG,IAAI,CAAC,eAAe;YACvB,cAAc,EAAE,OAAO,EAAE,cAAc;SACvC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { AppendRecord } from "./utils.js";
|
|
2
|
+
export interface BatchTransformArgs {
|
|
3
|
+
/** Duration in milliseconds to wait before flushing a batch (default: 5ms) */
|
|
4
|
+
lingerDuration?: number;
|
|
5
|
+
/** Maximum number of records in a batch (default: 1000, max: 1000) */
|
|
6
|
+
maxBatchRecords?: number;
|
|
7
|
+
/** Maximum batch size in bytes (default: 1 MiB, max: 1 MiB) */
|
|
8
|
+
maxBatchBytes?: number;
|
|
9
|
+
/** Optional fencing token to enforce (remains static across batches) */
|
|
10
|
+
fencing_token?: string;
|
|
11
|
+
/** Optional sequence number to match for first batch (auto-increments for subsequent batches) */
|
|
12
|
+
match_seq_num?: number;
|
|
13
|
+
}
|
|
14
|
+
/** Batch output type with optional fencing token and match_seq_num */
|
|
15
|
+
export type BatchOutput = {
|
|
16
|
+
records: AppendRecord[];
|
|
17
|
+
fencing_token?: string;
|
|
18
|
+
match_seq_num?: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A TransformStream that batches AppendRecords based on time, record count, and byte size.
|
|
22
|
+
*
|
|
23
|
+
* Input: AppendRecord (individual records)
|
|
24
|
+
* Output: { records: AppendRecord[], fencing_token?: string, match_seq_num?: number }
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const batcher = new BatchTransform<"string">({
|
|
29
|
+
* lingerDuration: 20,
|
|
30
|
+
* maxBatchRecords: 100,
|
|
31
|
+
* maxBatchBytes: 256 * 1024,
|
|
32
|
+
* match_seq_num: 0 // Optional: auto-increments per batch
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Pipe through the batcher and session to get acks
|
|
36
|
+
* readable.pipeThrough(batcher).pipeThrough(session).pipeTo(writable);
|
|
37
|
+
*
|
|
38
|
+
* // Or use manually
|
|
39
|
+
* const writer = batcher.writable.getWriter();
|
|
40
|
+
* writer.write(AppendRecord.make("foo"));
|
|
41
|
+
* await writer.close();
|
|
42
|
+
*
|
|
43
|
+
* for await (const batch of batcher.readable) {
|
|
44
|
+
* console.log(`Got batch of ${batch.records.length} records`);
|
|
45
|
+
* }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare class BatchTransform extends TransformStream<AppendRecord, BatchOutput> {
|
|
49
|
+
private currentBatch;
|
|
50
|
+
private currentBatchSize;
|
|
51
|
+
private lingerTimer;
|
|
52
|
+
private controller;
|
|
53
|
+
private readonly maxBatchRecords;
|
|
54
|
+
private readonly maxBatchBytes;
|
|
55
|
+
private readonly lingerDuration;
|
|
56
|
+
private readonly fencing_token?;
|
|
57
|
+
private next_match_seq_num?;
|
|
58
|
+
constructor(args?: BatchTransformArgs);
|
|
59
|
+
private handleRecord;
|
|
60
|
+
private flush;
|
|
61
|
+
private startLingerTimer;
|
|
62
|
+
private cancelLingerTimer;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=batch-transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-transform.d.ts","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAClC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,UAAU,CACZ;IACN,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAAS;gBAExB,IAAI,CAAC,EAAE,kBAAkB;IA8BrC,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,KAAK;IAgCb,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,iBAAiB;CAMzB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { S2Error } from "./error.js";
|
|
2
|
+
import { AppendRecord, meteredSizeBytes } from "./utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* A TransformStream that batches AppendRecords based on time, record count, and byte size.
|
|
5
|
+
*
|
|
6
|
+
* Input: AppendRecord (individual records)
|
|
7
|
+
* Output: { records: AppendRecord[], fencing_token?: string, match_seq_num?: number }
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const batcher = new BatchTransform<"string">({
|
|
12
|
+
* lingerDuration: 20,
|
|
13
|
+
* maxBatchRecords: 100,
|
|
14
|
+
* maxBatchBytes: 256 * 1024,
|
|
15
|
+
* match_seq_num: 0 // Optional: auto-increments per batch
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // Pipe through the batcher and session to get acks
|
|
19
|
+
* readable.pipeThrough(batcher).pipeThrough(session).pipeTo(writable);
|
|
20
|
+
*
|
|
21
|
+
* // Or use manually
|
|
22
|
+
* const writer = batcher.writable.getWriter();
|
|
23
|
+
* writer.write(AppendRecord.make("foo"));
|
|
24
|
+
* await writer.close();
|
|
25
|
+
*
|
|
26
|
+
* for await (const batch of batcher.readable) {
|
|
27
|
+
* console.log(`Got batch of ${batch.records.length} records`);
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export class BatchTransform extends TransformStream {
|
|
32
|
+
currentBatch = [];
|
|
33
|
+
currentBatchSize = 0;
|
|
34
|
+
lingerTimer = null;
|
|
35
|
+
controller = null;
|
|
36
|
+
maxBatchRecords;
|
|
37
|
+
maxBatchBytes;
|
|
38
|
+
lingerDuration;
|
|
39
|
+
fencing_token;
|
|
40
|
+
next_match_seq_num;
|
|
41
|
+
constructor(args) {
|
|
42
|
+
let controller;
|
|
43
|
+
super({
|
|
44
|
+
start: (c) => {
|
|
45
|
+
controller = c;
|
|
46
|
+
},
|
|
47
|
+
transform: (chunk, c) => {
|
|
48
|
+
// Store controller reference on first transform
|
|
49
|
+
if (!this.controller) {
|
|
50
|
+
this.controller = c;
|
|
51
|
+
}
|
|
52
|
+
this.handleRecord(chunk);
|
|
53
|
+
},
|
|
54
|
+
flush: () => {
|
|
55
|
+
this.flush();
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
// Cap at maximum allowed values
|
|
59
|
+
this.maxBatchRecords = Math.min(args?.maxBatchRecords ?? 1000, 1000);
|
|
60
|
+
this.maxBatchBytes = Math.min(args?.maxBatchBytes ?? 1024 * 1024, 1024 * 1024);
|
|
61
|
+
this.lingerDuration = args?.lingerDuration ?? 5;
|
|
62
|
+
this.fencing_token = args?.fencing_token;
|
|
63
|
+
this.next_match_seq_num = args?.match_seq_num;
|
|
64
|
+
}
|
|
65
|
+
handleRecord(record) {
|
|
66
|
+
const recordSize = meteredSizeBytes(record);
|
|
67
|
+
// Reject individual records that exceed the max batch size
|
|
68
|
+
if (recordSize > this.maxBatchBytes) {
|
|
69
|
+
throw new S2Error({
|
|
70
|
+
message: `Record size ${recordSize} bytes exceeds maximum batch size of ${this.maxBatchBytes} bytes`,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// Start linger timer on first record added to an empty batch
|
|
74
|
+
if (this.currentBatch.length === 0 && this.lingerDuration > 0) {
|
|
75
|
+
this.startLingerTimer();
|
|
76
|
+
}
|
|
77
|
+
// Check if adding this record would exceed limits
|
|
78
|
+
const wouldExceedRecords = this.currentBatch.length + 1 > this.maxBatchRecords;
|
|
79
|
+
const wouldExceedBytes = this.currentBatchSize + recordSize > this.maxBatchBytes;
|
|
80
|
+
if (wouldExceedRecords || wouldExceedBytes) {
|
|
81
|
+
this.flush();
|
|
82
|
+
// Restart linger timer for new batch
|
|
83
|
+
if (this.lingerDuration > 0) {
|
|
84
|
+
this.startLingerTimer();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Add record to current batch
|
|
88
|
+
this.currentBatch.push(record);
|
|
89
|
+
this.currentBatchSize += recordSize;
|
|
90
|
+
// Check if we've now reached the limits
|
|
91
|
+
const nowExceedsRecords = this.currentBatch.length >= this.maxBatchRecords;
|
|
92
|
+
const nowExceedsBytes = this.currentBatchSize >= this.maxBatchBytes;
|
|
93
|
+
if (nowExceedsRecords || nowExceedsBytes) {
|
|
94
|
+
this.flush();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
flush() {
|
|
98
|
+
this.cancelLingerTimer();
|
|
99
|
+
if (this.currentBatch.length === 0) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
// Auto-increment match_seq_num for next batch
|
|
103
|
+
const match_seq_num = this.next_match_seq_num;
|
|
104
|
+
if (this.next_match_seq_num !== undefined) {
|
|
105
|
+
this.next_match_seq_num += this.currentBatch.length;
|
|
106
|
+
}
|
|
107
|
+
// Emit the batch downstream with optional fencing token and match_seq_num
|
|
108
|
+
if (this.controller) {
|
|
109
|
+
const batch = {
|
|
110
|
+
records: [...this.currentBatch],
|
|
111
|
+
};
|
|
112
|
+
if (this.fencing_token !== undefined) {
|
|
113
|
+
batch.fencing_token = this.fencing_token;
|
|
114
|
+
}
|
|
115
|
+
if (match_seq_num !== undefined) {
|
|
116
|
+
batch.match_seq_num = match_seq_num;
|
|
117
|
+
}
|
|
118
|
+
this.controller.enqueue(batch);
|
|
119
|
+
}
|
|
120
|
+
// Reset batch
|
|
121
|
+
this.currentBatch = [];
|
|
122
|
+
this.currentBatchSize = 0;
|
|
123
|
+
}
|
|
124
|
+
startLingerTimer() {
|
|
125
|
+
this.cancelLingerTimer();
|
|
126
|
+
this.lingerTimer = setTimeout(() => {
|
|
127
|
+
this.lingerTimer = null;
|
|
128
|
+
if (this.currentBatch.length > 0) {
|
|
129
|
+
this.flush();
|
|
130
|
+
}
|
|
131
|
+
}, this.lingerDuration);
|
|
132
|
+
}
|
|
133
|
+
cancelLingerTimer() {
|
|
134
|
+
if (this.lingerTimer) {
|
|
135
|
+
clearTimeout(this.lingerTimer);
|
|
136
|
+
this.lingerTimer = null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=batch-transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-transform.js","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s2.d.ts","sourceRoot":"","sources":["../../../../src/generated/proto/s2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s2.js","sourceRoot":"","sources":["../../../../src/generated/proto/s2.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export type { IssueAccessTokenArgs, ListAccessTokensArgs, RevokeAccessTokenArgs, } from "./accessTokens.js";
|
|
2
2
|
export type { CreateBasinArgs, DeleteBasinArgs, GetBasinConfigArgs, ListBasinsArgs, ReconfigureBasinArgs, } from "./basins.js";
|
|
3
|
+
export type { BatchOutput, BatchTransformArgs } from "./batch-transform.js";
|
|
4
|
+
export { BatchTransform } from "./batch-transform.js";
|
|
3
5
|
export { FencingTokenMismatchError, RangeNotSatisfiableError, S2Error, SeqNumMismatchError, } from "./error.js";
|
|
4
6
|
export type { AccessTokenInfo, AccessTokenScope, AccountMetricSet, Accumulation, BasinConfig, BasinInfo, BasinMetricSet, BasinReconfiguration, BasinScope, CreateStreamRequest, DeleteOnEmptyConfig, Gauge, IssueAccessTokenResponse, Label, ListAccessTokensResponse, ListBasinsResponse, ListStreamsResponse, Metric, MetricSetResponse, Operation, PermittedOperationGroups, ReadWritePermissions, ResourceSet, RetentionPolicy, StorageClass, StreamConfig, StreamInfo, StreamMetricSet, TimeseriesInterval, TimestampingConfig, TimestampingMode, } from "./generated/types.gen.js";
|
|
7
|
+
export type { AppendArgs, ReadArgs, ReadBatch, ReadRecord, ReadSession, } from "./lib/stream/types.js";
|
|
5
8
|
export type { AccountMetricsArgs, BasinMetricsArgs, StreamMetricsArgs, } from "./metrics.js";
|
|
6
9
|
export { S2 } from "./s2.js";
|
|
7
|
-
export type { AppendArgs, ReadArgs, ReadBatch, ReadSession, SequencedRecord, } from "./stream.js";
|
|
8
10
|
export type { CreateStreamArgs, DeleteStreamArgs, GetStreamConfigArgs, ListStreamsArgs, ReconfigureStreamArgs, } from "./streams.js";
|
|
9
|
-
export { AppendRecord } from "./utils.js";
|
|
11
|
+
export { AppendRecord, meteredSizeBytes, utf8ByteLength } from "./utils.js";
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,OAAO,EACP,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,EACL,wBAAwB,EACxB,KAAK,EACL,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,YAAY,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,OAAO,EACP,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,EACL,wBAAwB,EACxB,KAAK,EACL,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|