@s2-dev/streamstore 0.19.5 → 0.21.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.
Files changed (221) hide show
  1. package/LICENSE +21 -201
  2. package/README.md +60 -10
  3. package/dist/cjs/accessTokens.d.ts +27 -14
  4. package/dist/cjs/accessTokens.d.ts.map +1 -1
  5. package/dist/cjs/accessTokens.js +72 -8
  6. package/dist/cjs/accessTokens.js.map +1 -1
  7. package/dist/cjs/basins.d.ts +29 -19
  8. package/dist/cjs/basins.d.ts.map +1 -1
  9. package/dist/cjs/basins.js +119 -9
  10. package/dist/cjs/basins.js.map +1 -1
  11. package/dist/cjs/batch-transform.d.ts +12 -16
  12. package/dist/cjs/batch-transform.d.ts.map +1 -1
  13. package/dist/cjs/batch-transform.js +17 -21
  14. package/dist/cjs/batch-transform.js.map +1 -1
  15. package/dist/cjs/common.d.ts +31 -24
  16. package/dist/cjs/common.d.ts.map +1 -1
  17. package/dist/cjs/common.js +22 -0
  18. package/dist/cjs/common.js.map +1 -1
  19. package/dist/cjs/endpoints.d.ts +63 -0
  20. package/dist/cjs/endpoints.d.ts.map +1 -0
  21. package/dist/cjs/endpoints.js +120 -0
  22. package/dist/cjs/endpoints.js.map +1 -0
  23. package/dist/cjs/error.d.ts.map +1 -1
  24. package/dist/cjs/error.js +11 -0
  25. package/dist/cjs/error.js.map +1 -1
  26. package/dist/cjs/generated/types.gen.d.ts +11 -20
  27. package/dist/cjs/generated/types.gen.d.ts.map +1 -1
  28. package/dist/cjs/index.d.ts +30 -46
  29. package/dist/cjs/index.d.ts.map +1 -1
  30. package/dist/cjs/index.js +50 -26
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/internal/case-transform.d.ts +59 -0
  33. package/dist/cjs/internal/case-transform.d.ts.map +1 -0
  34. package/dist/cjs/internal/case-transform.js +80 -0
  35. package/dist/cjs/internal/case-transform.js.map +1 -0
  36. package/dist/cjs/internal/mappers.d.ts +51 -0
  37. package/dist/cjs/internal/mappers.d.ts.map +1 -0
  38. package/dist/cjs/internal/mappers.js +225 -0
  39. package/dist/cjs/internal/mappers.js.map +1 -0
  40. package/dist/cjs/internal/sdk-types.d.ts +127 -0
  41. package/dist/cjs/internal/sdk-types.d.ts.map +1 -0
  42. package/dist/cjs/internal/sdk-types.js +9 -0
  43. package/dist/cjs/internal/sdk-types.js.map +1 -0
  44. package/dist/cjs/lib/base64.d.ts +8 -0
  45. package/dist/cjs/lib/base64.d.ts.map +1 -1
  46. package/dist/cjs/lib/base64.js +32 -12
  47. package/dist/cjs/lib/base64.js.map +1 -1
  48. package/dist/cjs/lib/event-stream.d.ts.map +1 -1
  49. package/dist/cjs/lib/event-stream.js +2 -1
  50. package/dist/cjs/lib/event-stream.js.map +1 -1
  51. package/dist/cjs/lib/paginate.d.ts +57 -0
  52. package/dist/cjs/lib/paginate.d.ts.map +1 -0
  53. package/dist/cjs/lib/paginate.js +51 -0
  54. package/dist/cjs/lib/paginate.js.map +1 -0
  55. package/dist/cjs/lib/result.d.ts +1 -1
  56. package/dist/cjs/lib/result.d.ts.map +1 -1
  57. package/dist/cjs/lib/retry.d.ts +47 -31
  58. package/dist/cjs/lib/retry.d.ts.map +1 -1
  59. package/dist/cjs/lib/retry.js +302 -201
  60. package/dist/cjs/lib/retry.js.map +1 -1
  61. package/dist/cjs/lib/stream/runtime.d.ts +1 -1
  62. package/dist/cjs/lib/stream/transport/fetch/index.d.ts +7 -9
  63. package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -1
  64. package/dist/cjs/lib/stream/transport/fetch/index.js +38 -39
  65. package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -1
  66. package/dist/cjs/lib/stream/transport/fetch/shared.d.ts +7 -2
  67. package/dist/cjs/lib/stream/transport/fetch/shared.d.ts.map +1 -1
  68. package/dist/cjs/lib/stream/transport/fetch/shared.js +56 -110
  69. package/dist/cjs/lib/stream/transport/fetch/shared.js.map +1 -1
  70. package/dist/cjs/lib/stream/transport/proto.d.ts +9 -0
  71. package/dist/cjs/lib/stream/transport/proto.d.ts.map +1 -0
  72. package/dist/cjs/lib/stream/transport/proto.js +118 -0
  73. package/dist/cjs/lib/stream/transport/proto.js.map +1 -0
  74. package/dist/cjs/lib/stream/transport/s2s/index.d.ts +3 -3
  75. package/dist/cjs/lib/stream/transport/s2s/index.d.ts.map +1 -1
  76. package/dist/cjs/lib/stream/transport/s2s/index.js +115 -82
  77. package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -1
  78. package/dist/cjs/lib/stream/types.d.ts +81 -36
  79. package/dist/cjs/lib/stream/types.d.ts.map +1 -1
  80. package/dist/cjs/lib/stream/types.js +18 -0
  81. package/dist/cjs/lib/stream/types.js.map +1 -1
  82. package/dist/cjs/metrics.d.ts +18 -17
  83. package/dist/cjs/metrics.d.ts.map +1 -1
  84. package/dist/cjs/metrics.js +67 -12
  85. package/dist/cjs/metrics.js.map +1 -1
  86. package/dist/cjs/producer.d.ts +82 -0
  87. package/dist/cjs/producer.d.ts.map +1 -0
  88. package/dist/cjs/producer.js +305 -0
  89. package/dist/cjs/producer.js.map +1 -0
  90. package/dist/cjs/s2.d.ts +1 -2
  91. package/dist/cjs/s2.d.ts.map +1 -1
  92. package/dist/cjs/s2.js +11 -15
  93. package/dist/cjs/s2.js.map +1 -1
  94. package/dist/cjs/stream.d.ts +26 -12
  95. package/dist/cjs/stream.d.ts.map +1 -1
  96. package/dist/cjs/stream.js +77 -13
  97. package/dist/cjs/stream.js.map +1 -1
  98. package/dist/cjs/streams.d.ts +29 -19
  99. package/dist/cjs/streams.d.ts.map +1 -1
  100. package/dist/cjs/streams.js +120 -9
  101. package/dist/cjs/streams.js.map +1 -1
  102. package/dist/cjs/types.d.ts +624 -0
  103. package/dist/cjs/types.d.ts.map +1 -0
  104. package/dist/cjs/types.js +129 -0
  105. package/dist/cjs/types.js.map +1 -0
  106. package/dist/cjs/utils.d.ts +1 -22
  107. package/dist/cjs/utils.d.ts.map +1 -1
  108. package/dist/cjs/utils.js +0 -42
  109. package/dist/cjs/utils.js.map +1 -1
  110. package/dist/cjs/version.d.ts +1 -1
  111. package/dist/cjs/version.js +1 -1
  112. package/dist/esm/accessTokens.d.ts +27 -14
  113. package/dist/esm/accessTokens.d.ts.map +1 -1
  114. package/dist/esm/accessTokens.js +73 -9
  115. package/dist/esm/accessTokens.js.map +1 -1
  116. package/dist/esm/basins.d.ts +29 -19
  117. package/dist/esm/basins.d.ts.map +1 -1
  118. package/dist/esm/basins.js +119 -9
  119. package/dist/esm/basins.js.map +1 -1
  120. package/dist/esm/batch-transform.d.ts +12 -16
  121. package/dist/esm/batch-transform.d.ts.map +1 -1
  122. package/dist/esm/batch-transform.js +18 -22
  123. package/dist/esm/batch-transform.js.map +1 -1
  124. package/dist/esm/common.d.ts +31 -24
  125. package/dist/esm/common.d.ts.map +1 -1
  126. package/dist/esm/common.js +20 -1
  127. package/dist/esm/common.js.map +1 -1
  128. package/dist/esm/endpoints.d.ts +63 -0
  129. package/dist/esm/endpoints.d.ts.map +1 -0
  130. package/dist/esm/endpoints.js +115 -0
  131. package/dist/esm/endpoints.js.map +1 -0
  132. package/dist/esm/error.d.ts.map +1 -1
  133. package/dist/esm/error.js +11 -0
  134. package/dist/esm/error.js.map +1 -1
  135. package/dist/esm/generated/types.gen.d.ts +11 -20
  136. package/dist/esm/generated/types.gen.d.ts.map +1 -1
  137. package/dist/esm/index.d.ts +30 -46
  138. package/dist/esm/index.d.ts.map +1 -1
  139. package/dist/esm/index.js +33 -19
  140. package/dist/esm/index.js.map +1 -1
  141. package/dist/esm/internal/case-transform.d.ts +59 -0
  142. package/dist/esm/internal/case-transform.d.ts.map +1 -0
  143. package/dist/esm/internal/case-transform.js +76 -0
  144. package/dist/esm/internal/case-transform.js.map +1 -0
  145. package/dist/esm/internal/mappers.d.ts +51 -0
  146. package/dist/esm/internal/mappers.d.ts.map +1 -0
  147. package/dist/esm/internal/mappers.js +218 -0
  148. package/dist/esm/internal/mappers.js.map +1 -0
  149. package/dist/esm/internal/sdk-types.d.ts +127 -0
  150. package/dist/esm/internal/sdk-types.d.ts.map +1 -0
  151. package/dist/esm/internal/sdk-types.js +8 -0
  152. package/dist/esm/internal/sdk-types.js.map +1 -0
  153. package/dist/esm/lib/base64.d.ts +8 -0
  154. package/dist/esm/lib/base64.d.ts.map +1 -1
  155. package/dist/esm/lib/base64.js +30 -11
  156. package/dist/esm/lib/base64.js.map +1 -1
  157. package/dist/esm/lib/event-stream.d.ts.map +1 -1
  158. package/dist/esm/lib/event-stream.js +2 -1
  159. package/dist/esm/lib/event-stream.js.map +1 -1
  160. package/dist/esm/lib/paginate.d.ts +57 -0
  161. package/dist/esm/lib/paginate.d.ts.map +1 -0
  162. package/dist/esm/lib/paginate.js +48 -0
  163. package/dist/esm/lib/paginate.js.map +1 -0
  164. package/dist/esm/lib/result.d.ts +1 -1
  165. package/dist/esm/lib/result.d.ts.map +1 -1
  166. package/dist/esm/lib/retry.d.ts +47 -31
  167. package/dist/esm/lib/retry.d.ts.map +1 -1
  168. package/dist/esm/lib/retry.js +303 -201
  169. package/dist/esm/lib/retry.js.map +1 -1
  170. package/dist/esm/lib/stream/runtime.d.ts +1 -1
  171. package/dist/esm/lib/stream/transport/fetch/index.d.ts +7 -9
  172. package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -1
  173. package/dist/esm/lib/stream/transport/fetch/index.js +40 -41
  174. package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -1
  175. package/dist/esm/lib/stream/transport/fetch/shared.d.ts +7 -2
  176. package/dist/esm/lib/stream/transport/fetch/shared.d.ts.map +1 -1
  177. package/dist/esm/lib/stream/transport/fetch/shared.js +58 -112
  178. package/dist/esm/lib/stream/transport/fetch/shared.js.map +1 -1
  179. package/dist/esm/lib/stream/transport/proto.d.ts +9 -0
  180. package/dist/esm/lib/stream/transport/proto.d.ts.map +1 -0
  181. package/dist/esm/lib/stream/transport/proto.js +110 -0
  182. package/dist/esm/lib/stream/transport/proto.js.map +1 -0
  183. package/dist/esm/lib/stream/transport/s2s/index.d.ts +3 -3
  184. package/dist/esm/lib/stream/transport/s2s/index.d.ts.map +1 -1
  185. package/dist/esm/lib/stream/transport/s2s/index.js +116 -82
  186. package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -1
  187. package/dist/esm/lib/stream/types.d.ts +81 -36
  188. package/dist/esm/lib/stream/types.d.ts.map +1 -1
  189. package/dist/esm/lib/stream/types.js +17 -1
  190. package/dist/esm/lib/stream/types.js.map +1 -1
  191. package/dist/esm/metrics.d.ts +18 -17
  192. package/dist/esm/metrics.d.ts.map +1 -1
  193. package/dist/esm/metrics.js +66 -12
  194. package/dist/esm/metrics.js.map +1 -1
  195. package/dist/esm/producer.d.ts +82 -0
  196. package/dist/esm/producer.d.ts.map +1 -0
  197. package/dist/esm/producer.js +300 -0
  198. package/dist/esm/producer.js.map +1 -0
  199. package/dist/esm/s2.d.ts +1 -2
  200. package/dist/esm/s2.d.ts.map +1 -1
  201. package/dist/esm/s2.js +12 -16
  202. package/dist/esm/s2.js.map +1 -1
  203. package/dist/esm/stream.d.ts +26 -12
  204. package/dist/esm/stream.d.ts.map +1 -1
  205. package/dist/esm/stream.js +79 -15
  206. package/dist/esm/stream.js.map +1 -1
  207. package/dist/esm/streams.d.ts +29 -19
  208. package/dist/esm/streams.d.ts.map +1 -1
  209. package/dist/esm/streams.js +120 -9
  210. package/dist/esm/streams.js.map +1 -1
  211. package/dist/esm/types.d.ts +624 -0
  212. package/dist/esm/types.d.ts.map +1 -0
  213. package/dist/esm/types.js +126 -0
  214. package/dist/esm/types.js.map +1 -0
  215. package/dist/esm/utils.d.ts +1 -22
  216. package/dist/esm/utils.d.ts.map +1 -1
  217. package/dist/esm/utils.js +0 -41
  218. package/dist/esm/utils.js.map +1 -1
  219. package/dist/esm/version.d.ts +1 -1
  220. package/dist/esm/version.js +1 -1
  221. package/package.json +4 -3
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * S2 SDK Types
4
+ *
5
+ * All public SDK types are defined here. Types use camelCase field names
6
+ * for idiomatic JavaScript/TypeScript usage.
7
+ *
8
+ * Generated types (snake_case, matching API wire format) are available
9
+ * from "./generated/types.gen.js" as the `API` namespace.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AppendInput = exports.MAX_APPEND_BYTES = exports.MAX_APPEND_RECORDS = exports.AppendRecord = void 0;
13
+ const error_js_1 = require("./error.js");
14
+ const utils_js_1 = require("./utils.js");
15
+ const textEncoder = new TextEncoder();
16
+ /**
17
+ * Factory functions for creating AppendRecord instances.
18
+ */
19
+ var AppendRecord;
20
+ (function (AppendRecord) {
21
+ /**
22
+ * Create a string-format append record with pre-calculated metered size.
23
+ */
24
+ function string(params) {
25
+ // Create record with placeholder, then calculate actual size
26
+ const record = {
27
+ body: params.body,
28
+ headers: params.headers,
29
+ timestamp: params.timestamp,
30
+ meteredBytes: 0,
31
+ };
32
+ // Safe to cast: we're setting a readonly property during construction
33
+ record.meteredBytes =
34
+ (0, utils_js_1.meteredBytes)(record);
35
+ return record;
36
+ }
37
+ AppendRecord.string = string;
38
+ /**
39
+ * Create a bytes-format append record with pre-calculated metered size.
40
+ */
41
+ function bytes(params) {
42
+ // Create record with placeholder, then calculate actual size
43
+ const record = {
44
+ body: params.body,
45
+ headers: params.headers,
46
+ timestamp: params.timestamp,
47
+ meteredBytes: 0,
48
+ };
49
+ // Safe to cast: we're setting a readonly property during construction
50
+ record.meteredBytes =
51
+ (0, utils_js_1.meteredBytes)(record);
52
+ return record;
53
+ }
54
+ AppendRecord.bytes = bytes;
55
+ /**
56
+ * Create a fence command record.
57
+ */
58
+ function fence(fencingToken, timestamp) {
59
+ return string({
60
+ body: fencingToken,
61
+ headers: [["", "fence"]],
62
+ timestamp,
63
+ });
64
+ }
65
+ AppendRecord.fence = fence;
66
+ /**
67
+ * Create a trim command record.
68
+ */
69
+ function trim(seqNum, timestamp) {
70
+ const buffer = new Uint8Array(8);
71
+ const view = new DataView(buffer.buffer);
72
+ view.setBigUint64(0, BigInt(seqNum), false);
73
+ return bytes({
74
+ body: buffer,
75
+ headers: [[textEncoder.encode(""), textEncoder.encode("trim")]],
76
+ timestamp,
77
+ });
78
+ }
79
+ AppendRecord.trim = trim;
80
+ })(AppendRecord || (exports.AppendRecord = AppendRecord = {}));
81
+ // =============================================================================
82
+ // Append Input
83
+ // =============================================================================
84
+ /** Maximum number of records in a single append batch. */
85
+ exports.MAX_APPEND_RECORDS = 1000;
86
+ /** Maximum total metered bytes for records in a single append batch (1 MiB). */
87
+ exports.MAX_APPEND_BYTES = 1024 * 1024;
88
+ /**
89
+ * Factory functions for creating AppendInput instances.
90
+ */
91
+ var AppendInput;
92
+ (function (AppendInput) {
93
+ /**
94
+ * Create an AppendInput with validation.
95
+ *
96
+ * @throws {S2Error} If validation fails (empty, too many records, or too large)
97
+ */
98
+ function create(records, options) {
99
+ if (records.length === 0) {
100
+ throw new error_js_1.S2Error({
101
+ message: "AppendInput must contain at least one record",
102
+ origin: "sdk",
103
+ });
104
+ }
105
+ if (records.length > exports.MAX_APPEND_RECORDS) {
106
+ throw new error_js_1.S2Error({
107
+ message: `AppendInput cannot contain more than ${exports.MAX_APPEND_RECORDS} records (got ${records.length})`,
108
+ origin: "sdk",
109
+ });
110
+ }
111
+ const totalBytes = records.reduce((sum, r) => sum + r.meteredBytes, 0);
112
+ if (totalBytes > exports.MAX_APPEND_BYTES) {
113
+ throw new error_js_1.S2Error({
114
+ message: `AppendInput exceeds maximum of ${exports.MAX_APPEND_BYTES} bytes (got ${totalBytes} bytes)`,
115
+ origin: "sdk",
116
+ });
117
+ }
118
+ return {
119
+ records,
120
+ matchSeqNum: options?.matchSeqNum === undefined
121
+ ? undefined
122
+ : Math.floor(options.matchSeqNum),
123
+ fencingToken: options?.fencingToken,
124
+ meteredBytes: totalBytes,
125
+ };
126
+ }
127
+ AppendInput.create = create;
128
+ })(AppendInput || (exports.AppendInput = AppendInput = {}));
129
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,4 @@
1
- import type { AppendHeaders, AppendRecord as AppendRecordType, ReadRecord } from "./lib/stream/types.js";
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;
7
- /**
8
- * Helpers to construct appendable records.
9
- *
10
- * These helpers mirror the OpenAPI record schema and add convenience builders for S2 command records:
11
- * - `make` creates a normal record
12
- * - `command` creates a command record with an empty-name header set to the command name
13
- * - `fence` is a command record enforcing a fencing token
14
- * - `trim` is a command record that encodes a sequence number for trimming
15
- */
16
- export declare const AppendRecord: {
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;
21
- };
1
+ import type { AppendRecord, ReadRecord } from "./lib/stream/types.js";
22
2
  /**
23
3
  * Calculate the UTF-8 byte length of a string.
24
4
  * Handles all Unicode characters including surrogate pairs correctly.
@@ -42,5 +22,4 @@ export declare function utf8ByteLength(str: string): number;
42
22
  */
43
23
  export declare function meteredBytes<Format extends "string" | "bytes">(record: AppendRecord | ReadRecord<Format>): number;
44
24
  export declare function computeAppendRecordFormat(record: AppendRecord): "string" | "bytes";
45
- export {};
46
25
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,IAAI,gBAAgB,EAChC,UAAU,EACV,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,YAAY,CAAC,MAAM,SAAS,QAAQ,GAAG,OAAO,EAC7D,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,GACvC,MAAM,CAgCR;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,YAAY,GAClB,QAAQ,GAAG,OAAO,CAiBpB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiClD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS,QAAQ,GAAG,OAAO,EAC7D,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,GACvC,MAAM,CAgCR;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,YAAY,GAClB,QAAQ,GAAG,OAAO,CAiBpB"}
package/dist/cjs/utils.js CHANGED
@@ -1,50 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppendRecord = void 0;
4
3
  exports.utf8ByteLength = utf8ByteLength;
5
4
  exports.meteredBytes = meteredBytes;
6
5
  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
- }
24
- /**
25
- * Helpers to construct appendable records.
26
- *
27
- * These helpers mirror the OpenAPI record schema and add convenience builders for S2 command records:
28
- * - `make` creates a normal record
29
- * - `command` creates a command record with an empty-name header set to the command name
30
- * - `fence` is a command record enforcing a fencing token
31
- * - `trim` is a command record that encodes a sequence number for trimming
32
- */
33
- exports.AppendRecord = {
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);
39
- },
40
- trim: (seqNum, timestamp) => {
41
- // Encode sequence number as 8 big-endian bytes
42
- const buffer = new Uint8Array(8);
43
- const view = new DataView(buffer.buffer);
44
- view.setBigUint64(0, BigInt(seqNum), false); // false = big-endian
45
- return exports.AppendRecord.command(new TextEncoder().encode("trim"), buffer, timestamp);
46
- },
47
- };
48
6
  /**
49
7
  * Calculate the UTF-8 byte length of a string.
50
8
  * Handles all Unicode characters including surrogate pairs correctly.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@
4
4
  * This file is auto-generated from package.json by scripts/generate-version.ts.
5
5
  * Do not edit manually.
6
6
  */
7
- export declare const VERSION = "0.19.5";
7
+ export declare const VERSION = "0.21.0";
8
8
  //# sourceMappingURL=version.d.ts.map
@@ -7,5 +7,5 @@ exports.VERSION = void 0;
7
7
  * This file is auto-generated from package.json by scripts/generate-version.ts.
8
8
  * Do not edit manually.
9
9
  */
10
- exports.VERSION = "0.19.5";
10
+ exports.VERSION = "0.21.0";
11
11
  //# sourceMappingURL=version.js.map
@@ -1,12 +1,11 @@
1
- import type { DataToObject, RetryConfig, S2RequestOptions } from "./common.js";
1
+ import type { RetryConfig, S2RequestOptions } from "./common.js";
2
2
  import type { Client } from "./generated/client/types.gen.js";
3
- import { type IssueAccessTokenData, type ListAccessTokensData, type RevokeAccessTokenData } from "./generated/index.js";
4
- export interface ListAccessTokensArgs extends DataToObject<ListAccessTokensData> {
5
- }
6
- export interface IssueAccessTokenArgs extends DataToObject<IssueAccessTokenData> {
7
- }
8
- export interface RevokeAccessTokenArgs extends DataToObject<RevokeAccessTokenData> {
9
- }
3
+ import type * as Types from "./types.js";
4
+ /**
5
+ * Account-scoped helper for listing, issuing, and revoking access tokens.
6
+ *
7
+ * Acquire via {@link S2.accessTokens}. Use {@link S2AccessTokens.listAll} for async iteration.
8
+ */
10
9
  export declare class S2AccessTokens {
11
10
  readonly client: Client;
12
11
  private readonly retryConfig?;
@@ -15,24 +14,38 @@ export declare class S2AccessTokens {
15
14
  * List access tokens.
16
15
  *
17
16
  * @param args.prefix Filter to IDs beginning with this prefix
18
- * @param args.start_after Filter to IDs lexicographically after this value
17
+ * @param args.startAfter Filter to IDs lexicographically after this value
19
18
  * @param args.limit Max results (up to 1000)
20
19
  */
21
- list(args?: ListAccessTokensArgs, options?: S2RequestOptions): Promise<import("./generated/types.gen.js").ListAccessTokensResponse>;
20
+ list(args?: Types.ListAccessTokensInput, options?: S2RequestOptions): Promise<Types.ListAccessTokensResponse>;
21
+ /**
22
+ * List all access tokens with automatic pagination.
23
+ * Returns a lazy async iterable that fetches pages as needed.
24
+ *
25
+ * @param args - Optional filtering options: `prefix` to filter by ID prefix, `limit` for max results per page
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * for await (const token of s2.accessTokens.listAll({ prefix: "service-" })) {
30
+ * console.log(token.id);
31
+ * }
32
+ * ```
33
+ */
34
+ listAll(args?: Types.ListAllAccessTokensInput, options?: S2RequestOptions): AsyncIterable<Types.AccessTokenInfo>;
22
35
  /**
23
36
  * Issue a new access token.
24
37
  *
25
38
  * @param args.id Unique token ID (1-96 bytes)
26
39
  * @param args.scope Token scope (operations and resource sets)
27
- * @param args.auto_prefix_streams Namespace stream names by configured prefix scope
28
- * @param args.expires_at Expiration in ISO 8601; defaults to requestor's token expiry
40
+ * @param args.autoPrefixStreams Namespace stream names by configured prefix scope
41
+ * @param args.expiresAt Expiration time (Date or RFC 3339 string); defaults to requestor's token expiry
29
42
  */
30
- issue(args: IssueAccessTokenArgs, options?: S2RequestOptions): Promise<import("./generated/types.gen.js").IssueAccessTokenResponse>;
43
+ issue(args: Types.IssueAccessTokenInput, options?: S2RequestOptions): Promise<Types.IssueAccessTokenResponse>;
31
44
  /**
32
45
  * Revoke an access token by ID.
33
46
  *
34
47
  * @param args.id Token ID to revoke
35
48
  */
36
- revoke(args: RevokeAccessTokenArgs, options?: S2RequestOptions): Promise<unknown>;
49
+ revoke(args: Types.RevokeAccessTokenInput, options?: S2RequestOptions): Promise<void>;
37
50
  }
38
51
  //# sourceMappingURL=accessTokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessTokens.d.ts","sourceRoot":"","sources":["../../src/accessTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EACN,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAE1B,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,oBAChB,SAAQ,YAAY,CAAC,oBAAoB,CAAC;CAAG;AAC9C,MAAM,WAAW,oBAChB,SAAQ,YAAY,CAAC,oBAAoB,CAAC;CAAG;AAC9C,MAAM,WAAW,qBAChB,SAAQ,YAAY,CAAC,qBAAqB,CAAC;CAAG;AAE/C,qBAAa,cAAc;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;gBAE/B,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;IAKrD;;;;;;OAMG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAYzE;;;;;;;OAOG;IACU,KAAK,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAYzE;;;;OAIG;IACU,MAAM,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAW3E"}
1
+ {"version":3,"file":"accessTokens.d.ts","sourceRoot":"","sources":["../../src/accessTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAS9D,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAC;AA4BzC;;;;GAIG;AACH,qBAAa,cAAc;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;gBAE/B,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW;IAKrD;;;;;;OAMG;IACU,IAAI,CAChB,IAAI,CAAC,EAAE,KAAK,CAAC,qBAAqB,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;IAiB1C;;;;;;;;;;;;OAYG;IACI,OAAO,CACb,IAAI,CAAC,EAAE,KAAK,CAAC,wBAAwB,EACrC,OAAO,CAAC,EAAE,gBAAgB,GACxB,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;IAYvC;;;;;;;OAOG;IACU,KAAK,CACjB,IAAI,EAAE,KAAK,CAAC,qBAAqB,EACjC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;IAkB1C;;;;OAIG;IACU,MAAM,CAClB,IAAI,EAAE,KAAK,CAAC,sBAAsB,EAClC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;CAWhB"}
@@ -1,6 +1,40 @@
1
- import { S2Error, withS2Data } from "./error.js";
1
+ import { withS2Data } from "./error.js";
2
2
  import { issueAccessToken, listAccessTokens, revokeAccessToken, } from "./generated/index.js";
3
+ import { toCamelCase, toSnakeCase } from "./internal/case-transform.js";
4
+ import { paginate } from "./lib/paginate.js";
3
5
  import { withRetries } from "./lib/retry.js";
6
+ /** Convert expiresAt input (Date, milliseconds, or string) to RFC 3339 string for API. */
7
+ function toISOString(value) {
8
+ if (value === null)
9
+ return null;
10
+ if (value === undefined)
11
+ return undefined;
12
+ if (value instanceof Date)
13
+ return value.toISOString();
14
+ if (typeof value === "number")
15
+ return new Date(value).toISOString();
16
+ return value;
17
+ }
18
+ /** Convert expiresAt from API (ISO string) to Date. */
19
+ function toDate(value) {
20
+ if (value === null)
21
+ return null;
22
+ if (value === undefined)
23
+ return undefined;
24
+ return new Date(value);
25
+ }
26
+ /** Transform AccessTokenInfo response: convert expiresAt to Date. */
27
+ function transformTokenInfo(token) {
28
+ return {
29
+ ...token,
30
+ expiresAt: toDate(token.expiresAt),
31
+ };
32
+ }
33
+ /**
34
+ * Account-scoped helper for listing, issuing, and revoking access tokens.
35
+ *
36
+ * Acquire via {@link S2.accessTokens}. Use {@link S2AccessTokens.listAll} for async iteration.
37
+ */
4
38
  export class S2AccessTokens {
5
39
  client;
6
40
  retryConfig;
@@ -12,34 +46,64 @@ export class S2AccessTokens {
12
46
  * List access tokens.
13
47
  *
14
48
  * @param args.prefix Filter to IDs beginning with this prefix
15
- * @param args.start_after Filter to IDs lexicographically after this value
49
+ * @param args.startAfter Filter to IDs lexicographically after this value
16
50
  * @param args.limit Max results (up to 1000)
17
51
  */
18
52
  async list(args, options) {
19
- return await withRetries(this.retryConfig, async () => {
53
+ const response = await withRetries(this.retryConfig, async () => {
20
54
  return await withS2Data(() => listAccessTokens({
21
55
  client: this.client,
22
- query: args,
56
+ query: toSnakeCase(args),
23
57
  ...options,
24
58
  }));
25
59
  });
60
+ const camelCased = toCamelCase(response);
61
+ return {
62
+ ...camelCased,
63
+ accessTokens: camelCased.accessTokens.map(transformTokenInfo),
64
+ };
65
+ }
66
+ /**
67
+ * List all access tokens with automatic pagination.
68
+ * Returns a lazy async iterable that fetches pages as needed.
69
+ *
70
+ * @param args - Optional filtering options: `prefix` to filter by ID prefix, `limit` for max results per page
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * for await (const token of s2.accessTokens.listAll({ prefix: "service-" })) {
75
+ * console.log(token.id);
76
+ * }
77
+ * ```
78
+ */
79
+ listAll(args, options) {
80
+ return paginate((a) => this.list(a, options).then((r) => ({
81
+ items: r.accessTokens,
82
+ hasMore: r.hasMore,
83
+ })), args ?? {}, (token) => token.id);
26
84
  }
27
85
  /**
28
86
  * Issue a new access token.
29
87
  *
30
88
  * @param args.id Unique token ID (1-96 bytes)
31
89
  * @param args.scope Token scope (operations and resource sets)
32
- * @param args.auto_prefix_streams Namespace stream names by configured prefix scope
33
- * @param args.expires_at Expiration in ISO 8601; defaults to requestor's token expiry
90
+ * @param args.autoPrefixStreams Namespace stream names by configured prefix scope
91
+ * @param args.expiresAt Expiration time (Date or RFC 3339 string); defaults to requestor's token expiry
34
92
  */
35
93
  async issue(args, options) {
36
- return await withRetries(this.retryConfig, async () => {
94
+ // Convert Date to ISO string for API
95
+ const apiArgs = {
96
+ ...args,
97
+ expiresAt: toISOString(args.expiresAt),
98
+ };
99
+ const response = await withRetries(this.retryConfig, async () => {
37
100
  return await withS2Data(() => issueAccessToken({
38
101
  client: this.client,
39
- body: args,
102
+ body: toSnakeCase(apiArgs),
40
103
  ...options,
41
104
  }));
42
105
  });
106
+ return toCamelCase(response);
43
107
  }
44
108
  /**
45
109
  * Revoke an access token by ID.
@@ -47,7 +111,7 @@ export class S2AccessTokens {
47
111
  * @param args.id Token ID to revoke
48
112
  */
49
113
  async revoke(args, options) {
50
- return await withRetries(this.retryConfig, async () => {
114
+ await withRetries(this.retryConfig, async () => {
51
115
  return await withS2Data(() => revokeAccessToken({
52
116
  client: this.client,
53
117
  path: args,
@@ -1 +1 @@
1
- {"version":3,"file":"accessTokens.js","sourceRoot":"","sources":["../../src/accessTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAEN,gBAAgB,EAEhB,gBAAgB,EAEhB,iBAAiB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,MAAM,OAAO,cAAc;IACjB,MAAM,CAAS;IACP,WAAW,CAAe;IAE3C,YAAY,MAAc,EAAE,WAAyB;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAC,IAA2B,EAAE,OAA0B;QACxE,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,gBAAgB,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI;gBACX,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,CAAC,IAA0B,EAAE,OAA0B;QACxE,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,gBAAgB,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI;gBACV,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,IAA2B,EAAE,OAA0B;QAC1E,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,CAC5B,iBAAiB,CAAC;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI;gBACV,GAAG,OAAO;aACV,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"accessTokens.js","sourceRoot":"","sources":["../../src/accessTokens.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,11 @@
1
- import type { DataToObject, RetryConfig, S2RequestOptions } from "./common.js";
1
+ import type { RetryConfig, S2RequestOptions } from "./common.js";
2
2
  import type { Client } from "./generated/client/types.gen.js";
3
- import { type BasinConfig, type CreateBasinData, type CreateBasinResponse, type DeleteBasinData, type GetBasinConfigData, type ListBasinsData, type ListBasinsResponse, type ReconfigureBasinData, type ReconfigureBasinResponse } from "./generated/index.js";
4
- export interface ListBasinsArgs extends DataToObject<ListBasinsData> {
5
- }
6
- export interface CreateBasinArgs extends DataToObject<CreateBasinData> {
7
- }
8
- export interface GetBasinConfigArgs extends DataToObject<GetBasinConfigData> {
9
- }
10
- export interface DeleteBasinArgs extends DataToObject<DeleteBasinData> {
11
- }
12
- export interface ReconfigureBasinArgs extends DataToObject<ReconfigureBasinData> {
13
- }
3
+ import type * as Types from "./types.js";
4
+ /**
5
+ * Account-scoped helper for listing, creating, deleting, and reconfiguring basins.
6
+ *
7
+ * Retrieve this via {@link S2.basins}. Each method retries according to the client-level retry config.
8
+ */
14
9
  export declare class S2Basins {
15
10
  private readonly client;
16
11
  private readonly retryConfig;
@@ -19,35 +14,50 @@ export declare class S2Basins {
19
14
  * List basins.
20
15
  *
21
16
  * @param args.prefix Return basins whose names start with the given prefix
22
- * @param args.start_after Name to start after (for pagination)
17
+ * @param args.startAfter Name to start after (for pagination)
23
18
  * @param args.limit Max results (up to 1000)
24
19
  */
25
- list(args?: ListBasinsArgs, options?: S2RequestOptions): Promise<ListBasinsResponse>;
20
+ list(args?: Types.ListBasinsInput, options?: S2RequestOptions): Promise<Types.ListBasinsResponse>;
21
+ /**
22
+ * List all basins with automatic pagination.
23
+ * Returns a lazy async iterable that fetches pages as needed.
24
+ *
25
+ * @param includeDeleted - Include basins that are being deleted (default: false)
26
+ * @param args - Optional filtering options: `prefix` to filter by name prefix, `limit` for max results per page
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * for await (const basin of s2.basins.listAll(false, { prefix: "my-" })) {
31
+ * console.log(basin.name);
32
+ * }
33
+ * ```
34
+ */
35
+ listAll(includeDeleted?: boolean, args?: Types.ListAllBasinsInput, options?: S2RequestOptions): AsyncIterable<Types.BasinInfo>;
26
36
  /**
27
37
  * Create a basin.
28
38
  *
29
39
  * @param args.basin Globally unique basin name (8-48 chars, lowercase letters, numbers, hyphens; cannot begin or end with a hyphen)
30
- * @param args.config Optional basin configuration (e.g. default stream config)
40
+ * @param args.config Optional basin configuration (e.g. defaultStreamConfig)
31
41
  * @param args.scope Basin scope
32
42
  */
33
- create(args: CreateBasinArgs, options?: S2RequestOptions): Promise<CreateBasinResponse>;
43
+ create(args: Types.CreateBasinInput, options?: S2RequestOptions): Promise<Types.CreateBasinResponse>;
34
44
  /**
35
45
  * Get basin configuration.
36
46
  *
37
47
  * @param args.basin Basin name
38
48
  */
39
- getConfig(args: GetBasinConfigArgs, options?: S2RequestOptions): Promise<BasinConfig>;
49
+ getConfig(args: Types.GetBasinConfigInput, options?: S2RequestOptions): Promise<Types.BasinConfig>;
40
50
  /**
41
51
  * Delete a basin.
42
52
  *
43
53
  * @param args.basin Basin name
44
54
  */
45
- delete(args: DeleteBasinArgs, options?: S2RequestOptions): Promise<void>;
55
+ delete(args: Types.DeleteBasinInput, options?: S2RequestOptions): Promise<void>;
46
56
  /**
47
57
  * Reconfigure a basin.
48
58
  *
49
59
  * @param args Configuration for the basin to reconfigure (including basin name and fields to change)
50
60
  */
51
- reconfigure(args: ReconfigureBasinArgs, options?: S2RequestOptions): Promise<ReconfigureBasinResponse>;
61
+ reconfigure(args: Types.ReconfigureBasinInput, options?: S2RequestOptions): Promise<Types.ReconfigureBasinResponse>;
52
62
  }
53
63
  //# sourceMappingURL=basins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basins.d.ts","sourceRoot":"","sources":["../../src/basins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAExB,KAAK,eAAe,EAEpB,KAAK,kBAAkB,EAEvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAEvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAE7B,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,cAAe,SAAQ,YAAY,CAAC,cAAc,CAAC;CAAG;AACvE,MAAM,WAAW,eAAgB,SAAQ,YAAY,CAAC,eAAe,CAAC;CAAG;AACzE,MAAM,WAAW,kBAAmB,SAAQ,YAAY,CAAC,kBAAkB,CAAC;CAAG;AAC/E,MAAM,WAAW,eAAgB,SAAQ,YAAY,CAAC,eAAe,CAAC;CAAG;AACzE,MAAM,WAAW,oBAChB,SAAQ,YAAY,CAAC,oBAAoB,CAAC;CAAG;AAE9C,qBAAa,QAAQ;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAE9B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAKpD;;;;;;OAMG;IACU,IAAI,CAChB,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,kBAAkB,CAAC;IAY9B;;;;;;OAMG;IACU,MAAM,CAClB,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAY/B;;;;OAIG;IACU,SAAS,CACrB,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC;IAYvB;;;;OAIG;IACU,MAAM,CAClB,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;OAIG;IACU,WAAW,CACvB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,wBAAwB,CAAC;CAYpC"}
1
+ {"version":3,"file":"basins.d.ts","sourceRoot":"","sources":["../../src/basins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAa9D,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAC;AAsEzC;;;;GAIG;AACH,qBAAa,QAAQ;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAE9B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAKpD;;;;;;OAMG;IACU,IAAI,CAChB,IAAI,CAAC,EAAE,KAAK,CAAC,eAAe,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAapC;;;;;;;;;;;;;OAaG;IACI,OAAO,CACb,cAAc,UAAQ,EACtB,IAAI,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAC/B,OAAO,CAAC,EAAE,gBAAgB,GACxB,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;IAcjC;;;;;;OAMG;IACU,MAAM,CAClB,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAoBrC;;;;OAIG;IACU,SAAS,CACrB,IAAI,EAAE,KAAK,CAAC,mBAAmB,EAC/B,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;IAc7B;;;;OAIG;IACU,MAAM,CAClB,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;OAIG;IACU,WAAW,CACvB,IAAI,EAAE,KAAK,CAAC,qBAAqB,EACjC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;CAmB1C"}