cdk-ecr-deployment 3.1.7 → 3.1.9

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 (52) hide show
  1. package/.jsii +2 -2
  2. package/.jsii.tabl.json +1 -1
  3. package/lib/index.js +3 -3
  4. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
  5. package/node_modules/@types/cacheable-request/node_modules/@types/node/assert.d.ts +55 -0
  6. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.buffer.d.ts +2 -1
  7. package/node_modules/@types/cacheable-request/node_modules/@types/node/dgram.d.ts +4 -1
  8. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs/promises.d.ts +2 -2
  9. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs.d.ts +0 -3
  10. package/node_modules/@types/cacheable-request/node_modules/@types/node/http.d.ts +1 -0
  11. package/node_modules/@types/cacheable-request/node_modules/@types/node/module.d.ts +74 -0
  12. package/node_modules/@types/cacheable-request/node_modules/@types/node/net.d.ts +30 -5
  13. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
  14. package/node_modules/@types/cacheable-request/node_modules/@types/node/perf_hooks.d.ts +5 -0
  15. package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +19 -2
  16. package/node_modules/@types/cacheable-request/node_modules/@types/node/sea.d.ts +1 -1
  17. package/node_modules/@types/cacheable-request/node_modules/@types/node/sqlite.d.ts +206 -1
  18. package/node_modules/@types/cacheable-request/node_modules/@types/node/test.d.ts +0 -5
  19. package/node_modules/@types/cacheable-request/node_modules/@types/node/util.d.ts +85 -17
  20. package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
  21. package/node_modules/@types/keyv/node_modules/@types/node/assert.d.ts +55 -0
  22. package/node_modules/@types/keyv/node_modules/@types/node/buffer.buffer.d.ts +2 -1
  23. package/node_modules/@types/keyv/node_modules/@types/node/dgram.d.ts +4 -1
  24. package/node_modules/@types/keyv/node_modules/@types/node/fs/promises.d.ts +2 -2
  25. package/node_modules/@types/keyv/node_modules/@types/node/fs.d.ts +0 -3
  26. package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +1 -0
  27. package/node_modules/@types/keyv/node_modules/@types/node/module.d.ts +74 -0
  28. package/node_modules/@types/keyv/node_modules/@types/node/net.d.ts +30 -5
  29. package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
  30. package/node_modules/@types/keyv/node_modules/@types/node/perf_hooks.d.ts +5 -0
  31. package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +19 -2
  32. package/node_modules/@types/keyv/node_modules/@types/node/sea.d.ts +1 -1
  33. package/node_modules/@types/keyv/node_modules/@types/node/sqlite.d.ts +206 -1
  34. package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +0 -5
  35. package/node_modules/@types/keyv/node_modules/@types/node/util.d.ts +85 -17
  36. package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
  37. package/node_modules/@types/responselike/node_modules/@types/node/assert.d.ts +55 -0
  38. package/node_modules/@types/responselike/node_modules/@types/node/buffer.buffer.d.ts +2 -1
  39. package/node_modules/@types/responselike/node_modules/@types/node/dgram.d.ts +4 -1
  40. package/node_modules/@types/responselike/node_modules/@types/node/fs/promises.d.ts +2 -2
  41. package/node_modules/@types/responselike/node_modules/@types/node/fs.d.ts +0 -3
  42. package/node_modules/@types/responselike/node_modules/@types/node/http.d.ts +1 -0
  43. package/node_modules/@types/responselike/node_modules/@types/node/module.d.ts +74 -0
  44. package/node_modules/@types/responselike/node_modules/@types/node/net.d.ts +30 -5
  45. package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
  46. package/node_modules/@types/responselike/node_modules/@types/node/perf_hooks.d.ts +5 -0
  47. package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +19 -2
  48. package/node_modules/@types/responselike/node_modules/@types/node/sea.d.ts +1 -1
  49. package/node_modules/@types/responselike/node_modules/@types/node/sqlite.d.ts +206 -1
  50. package/node_modules/@types/responselike/node_modules/@types/node/test.d.ts +0 -5
  51. package/node_modules/@types/responselike/node_modules/@types/node/util.d.ts +85 -17
  52. package/package.json +2 -2
@@ -168,6 +168,80 @@ declare module "module" {
168
168
  options?: RegisterOptions<Data>,
169
169
  ): void;
170
170
  function register<Data = any>(specifier: string | URL, options?: RegisterOptions<Data>): void;
171
+ interface StripTypeScriptTypesOptions {
172
+ /**
173
+ * Possible values are:
174
+ * * `'strip'` Only strip type annotations without performing the transformation of TypeScript features.
175
+ * * `'transform'` Strip type annotations and transform TypeScript features to JavaScript.
176
+ * @default 'strip'
177
+ */
178
+ mode?: "strip" | "transform" | undefined;
179
+ /**
180
+ * Only when `mode` is `'transform'`, if `true`, a source map
181
+ * will be generated for the transformed code.
182
+ * @default false
183
+ */
184
+ sourceMap?: boolean | undefined;
185
+ /**
186
+ * Specifies the source url used in the source map.
187
+ */
188
+ sourceUrl?: string | undefined;
189
+ }
190
+ /**
191
+ * `module.stripTypeScriptTypes()` removes type annotations from TypeScript code. It
192
+ * can be used to strip type annotations from TypeScript code before running it
193
+ * with `vm.runInContext()` or `vm.compileFunction()`.
194
+ * By default, it will throw an error if the code contains TypeScript features
195
+ * that require transformation such as `Enums`,
196
+ * see [type-stripping](https://nodejs.org/docs/latest-v22.x/api/typescript.md#type-stripping) for more information.
197
+ * When mode is `'transform'`, it also transforms TypeScript features to JavaScript,
198
+ * see [transform TypeScript features](https://nodejs.org/docs/latest-v22.x/api/typescript.md#typescript-features) for more information.
199
+ * When mode is `'strip'`, source maps are not generated, because locations are preserved.
200
+ * If `sourceMap` is provided, when mode is `'strip'`, an error will be thrown.
201
+ *
202
+ * _WARNING_: The output of this function should not be considered stable across Node.js versions,
203
+ * due to changes in the TypeScript parser.
204
+ *
205
+ * ```js
206
+ * import { stripTypeScriptTypes } from 'node:module';
207
+ * const code = 'const a: number = 1;';
208
+ * const strippedCode = stripTypeScriptTypes(code);
209
+ * console.log(strippedCode);
210
+ * // Prints: const a = 1;
211
+ * ```
212
+ *
213
+ * If `sourceUrl` is provided, it will be used appended as a comment at the end of the output:
214
+ *
215
+ * ```js
216
+ * import { stripTypeScriptTypes } from 'node:module';
217
+ * const code = 'const a: number = 1;';
218
+ * const strippedCode = stripTypeScriptTypes(code, { mode: 'strip', sourceUrl: 'source.ts' });
219
+ * console.log(strippedCode);
220
+ * // Prints: const a = 1\n\n//# sourceURL=source.ts;
221
+ * ```
222
+ *
223
+ * When `mode` is `'transform'`, the code is transformed to JavaScript:
224
+ *
225
+ * ```js
226
+ * import { stripTypeScriptTypes } from 'node:module';
227
+ * const code = `
228
+ * namespace MathUtil {
229
+ * export const add = (a: number, b: number) => a + b;
230
+ * }`;
231
+ * const strippedCode = stripTypeScriptTypes(code, { mode: 'transform', sourceMap: true });
232
+ * console.log(strippedCode);
233
+ * // Prints:
234
+ * // var MathUtil;
235
+ * // (function(MathUtil) {
236
+ * // MathUtil.add = (a, b)=>a + b;
237
+ * // })(MathUtil || (MathUtil = {}));
238
+ * // # sourceMappingURL=data:application/json;base64, ...
239
+ * ```
240
+ * @since v22.13.0
241
+ * @param code The code to strip type annotations from.
242
+ * @returns The code with type annotations stripped.
243
+ */
244
+ function stripTypeScriptTypes(code: string, options?: StripTypeScriptTypesOptions): string;
171
245
  /* eslint-enable @definitelytyped/no-unnecessary-generics */
172
246
  /**
173
247
  * The `module.syncBuiltinESMExports()` method updates all the live bindings for
@@ -65,6 +65,7 @@ declare module "net" {
65
65
  * @since v18.13.0
66
66
  */
67
67
  autoSelectFamilyAttemptTimeout?: number | undefined;
68
+ blockList?: BlockList | undefined;
68
69
  }
69
70
  interface IpcSocketConnectOpts {
70
71
  path: string;
@@ -486,17 +487,18 @@ declare module "net" {
486
487
  prependOnceListener(event: "timeout", listener: () => void): this;
487
488
  }
488
489
  interface ListenOptions extends Abortable {
489
- port?: number | undefined;
490
- host?: string | undefined;
491
490
  backlog?: number | undefined;
492
- path?: string | undefined;
493
491
  exclusive?: boolean | undefined;
494
- readableAll?: boolean | undefined;
495
- writableAll?: boolean | undefined;
492
+ host?: string | undefined;
496
493
  /**
497
494
  * @default false
498
495
  */
499
496
  ipv6Only?: boolean | undefined;
497
+ reusePort?: boolean | undefined;
498
+ path?: string | undefined;
499
+ port?: number | undefined;
500
+ readableAll?: boolean | undefined;
501
+ writableAll?: boolean | undefined;
500
502
  }
501
503
  interface ServerOpts {
502
504
  /**
@@ -534,6 +536,15 @@ declare module "net" {
534
536
  * @since v18.17.0, v20.1.0
535
537
  */
536
538
  highWaterMark?: number | undefined;
539
+ /**
540
+ * `blockList` can be used for disabling inbound
541
+ * access to specific IP addresses, IP ranges, or IP subnets. This does not
542
+ * work if the server is behind a reverse proxy, NAT, etc. because the address
543
+ * checked against the block list is the address of the proxy, or the one
544
+ * specified by the NAT.
545
+ * @since v22.13.0
546
+ */
547
+ blockList?: BlockList | undefined;
537
548
  }
538
549
  interface DropArgument {
539
550
  localAddress?: string;
@@ -785,6 +796,12 @@ declare module "net" {
785
796
  * @since v15.0.0, v14.18.0
786
797
  */
787
798
  rules: readonly string[];
799
+ /**
800
+ * Returns `true` if the `value` is a `net.BlockList`.
801
+ * @since v22.13.0
802
+ * @param value Any JS value
803
+ */
804
+ static isBlockList(value: unknown): value is BlockList;
788
805
  }
789
806
  interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts {
790
807
  timeout?: number | undefined;
@@ -997,6 +1014,14 @@ declare module "net" {
997
1014
  * @since v15.14.0, v14.18.0
998
1015
  */
999
1016
  readonly flowlabel: number;
1017
+ /**
1018
+ * @since v22.13.0
1019
+ * @param input An input string containing an IP address and optional port,
1020
+ * e.g. `123.1.2.3:1234` or `[1::1]:1234`.
1021
+ * @returns Returns a `SocketAddress` if parsing was successful.
1022
+ * Otherwise returns `undefined`.
1023
+ */
1024
+ static parse(input: string): SocketAddress | undefined;
1000
1025
  }
1001
1026
  }
1002
1027
  declare module "node:net" {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "22.10.10",
3
+ "version": "22.13.2",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -215,6 +215,6 @@
215
215
  "undici-types": "~6.20.0"
216
216
  },
217
217
  "peerDependencies": {},
218
- "typesPublisherContentHash": "473650c3cc1206a93e36487b99568f65b48fd9822931e9690fa0c31e93106b22",
218
+ "typesPublisherContentHash": "8f76b84da333a4c284b6ca2d01420553eea2aa3051743db8e776b50e4342f5c1",
219
219
  "typeScriptVersion": "5.0"
220
220
  }
@@ -594,6 +594,11 @@ declare module "perf_hooks" {
594
594
  buffered?: boolean | undefined;
595
595
  },
596
596
  ): void;
597
+ /**
598
+ * @since v16.0.0
599
+ * @returns Current list of entries stored in the performance observer, emptying it out.
600
+ */
601
+ takeRecords(): PerformanceEntry[];
597
602
  }
598
603
  /**
599
604
  * Provides detailed network timing data regarding the loading of an application's resources.
@@ -186,7 +186,10 @@ declare module "process" {
186
186
  readonly inspector: boolean;
187
187
  /**
188
188
  * A boolean value that is `true` if the current Node.js build includes support for IPv6.
189
+ *
190
+ * Since all Node.js builds have IPv6 support, this value is always `true`.
189
191
  * @since v0.5.3
192
+ * @deprecated This property is always true, and any checks based on it are redundant.
190
193
  */
191
194
  readonly ipv6: boolean;
192
195
  /**
@@ -202,17 +205,29 @@ declare module "process" {
202
205
  readonly tls: boolean;
203
206
  /**
204
207
  * A boolean value that is `true` if the current Node.js build includes support for ALPN in TLS.
208
+ *
209
+ * In Node.js 11.0.0 and later versions, the OpenSSL dependencies feature unconditional ALPN support.
210
+ * This value is therefore identical to that of `process.features.tls`.
205
211
  * @since v4.8.0
212
+ * @deprecated Use `process.features.tls` instead.
206
213
  */
207
214
  readonly tls_alpn: boolean;
208
215
  /**
209
216
  * A boolean value that is `true` if the current Node.js build includes support for OCSP in TLS.
217
+ *
218
+ * In Node.js 11.0.0 and later versions, the OpenSSL dependencies feature unconditional OCSP support.
219
+ * This value is therefore identical to that of `process.features.tls`.
210
220
  * @since v0.11.13
221
+ * @deprecated Use `process.features.tls` instead.
211
222
  */
212
223
  readonly tls_ocsp: boolean;
213
224
  /**
214
225
  * A boolean value that is `true` if the current Node.js build includes support for SNI in TLS.
226
+ *
227
+ * In Node.js 11.0.0 and later versions, the OpenSSL dependencies feature unconditional SNI support.
228
+ * This value is therefore identical to that of `process.features.tls`.
215
229
  * @since v0.5.3
230
+ * @deprecated Use `process.features.tls` instead.
216
231
  */
217
232
  readonly tls_sni: boolean;
218
233
  /**
@@ -223,8 +238,10 @@ declare module "process" {
223
238
  readonly typescript: "strip" | "transform" | false;
224
239
  /**
225
240
  * A boolean value that is `true` if the current Node.js build includes support for libuv.
226
- * Since it's currently not possible to build Node.js without libuv, this value is always `true`.
241
+ *
242
+ * Since it's not possible to build Node.js without libuv, this value is always `true`.
227
243
  * @since v0.5.3
244
+ * @deprecated This property is always true, and any checks based on it are redundant.
228
245
  */
229
246
  readonly uv: boolean;
230
247
  }
@@ -1676,7 +1693,7 @@ declare module "process" {
1676
1693
  */
1677
1694
  nextTick(callback: Function, ...args: any[]): void;
1678
1695
  /**
1679
- * This API is available through the [--experimental-permission](https://nodejs.org/api/cli.html#--experimental-permission) flag.
1696
+ * This API is available through the [--permission](https://nodejs.org/api/cli.html#--permission) flag.
1680
1697
  *
1681
1698
  * `process.permission` is an object whose methods are used to manage permissions for the current process.
1682
1699
  * Additional documentation is available in the [Permission Model](https://nodejs.org/api/permissions.html#permission-model).
@@ -149,5 +149,5 @@ declare module "node:sea" {
149
149
  * writes to the returned array buffer is likely to result in a crash.
150
150
  * @since v20.12.0
151
151
  */
152
- function getRawAsset(key: AssetKey): string | ArrayBuffer;
152
+ function getRawAsset(key: AssetKey): ArrayBuffer;
153
153
  }
@@ -43,6 +43,7 @@
43
43
  * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/sqlite.js)
44
44
  */
45
45
  declare module "node:sqlite" {
46
+ type SupportedValueType = null | number | bigint | string | Uint8Array;
46
47
  interface DatabaseSyncOptions {
47
48
  /**
48
49
  * If `true`, the database is opened by the constructor. When
@@ -70,6 +71,76 @@ declare module "node:sqlite" {
70
71
  * @default false
71
72
  */
72
73
  enableDoubleQuotedStringLiterals?: boolean | undefined;
74
+ /**
75
+ * If `true`, the database is opened in read-only mode.
76
+ * If the database does not exist, opening it will fail.
77
+ * @since v22.12.0
78
+ * @default false
79
+ */
80
+ readOnly?: boolean | undefined;
81
+ /**
82
+ * If `true`, the `loadExtension` SQL function
83
+ * and the `loadExtension()` method are enabled.
84
+ * You can call `enableLoadExtension(false)` later to disable this feature.
85
+ * @since v22.13.0
86
+ * @default false
87
+ */
88
+ allowExtension?: boolean | undefined;
89
+ }
90
+ interface CreateSessionOptions {
91
+ /**
92
+ * A specific table to track changes for. By default, changes to all tables are tracked.
93
+ * @since v22.12.0
94
+ */
95
+ table?: string | undefined;
96
+ /**
97
+ * Name of the database to track. This is useful when multiple databases have been added using
98
+ * [`ATTACH DATABASE`](https://www.sqlite.org/lang_attach.html).
99
+ * @since v22.12.0
100
+ * @default 'main'
101
+ */
102
+ db?: string | undefined;
103
+ }
104
+ interface ApplyChangesetOptions {
105
+ /**
106
+ * Skip changes that, when targeted table name is supplied to this function, return a truthy value.
107
+ * By default, all changes are attempted.
108
+ * @since v22.12.0
109
+ */
110
+ filter?: ((tableName: string) => boolean) | undefined;
111
+ /**
112
+ * Determines how conflicts are handled. **Default**: `SQLITE_CHANGESET_ABORT`.
113
+ * @since v22.12.0
114
+ */
115
+ onConflict?: number | undefined;
116
+ }
117
+ interface FunctionOptions {
118
+ /**
119
+ * If `true`, the [`SQLITE_DETERMINISTIC`](https://www.sqlite.org/c3ref/c_deterministic.html) flag is
120
+ * set on the created function.
121
+ * @default false
122
+ */
123
+ deterministic?: boolean | undefined;
124
+ /**
125
+ * If `true`, the [`SQLITE_DIRECTONLY`](https://www.sqlite.org/c3ref/c_directonly.html) flag is set on
126
+ * the created function.
127
+ * @default false
128
+ */
129
+ directOnly?: boolean | undefined;
130
+ /**
131
+ * If `true`, integer arguments to `function`
132
+ * are converted to `BigInt`s. If `false`, integer arguments are passed as
133
+ * JavaScript numbers.
134
+ * @default false
135
+ */
136
+ useBigIntArguments?: boolean | undefined;
137
+ /**
138
+ * If `true`, `function` can accept a variable number of
139
+ * arguments. If `false`, `function` must be invoked with exactly
140
+ * `function.length` arguments.
141
+ * @default false
142
+ */
143
+ varargs?: boolean | undefined;
73
144
  }
74
145
  /**
75
146
  * This class represents a single [connection](https://www.sqlite.org/c3ref/sqlite3.html) to a SQLite database. All APIs
@@ -92,6 +163,22 @@ declare module "node:sqlite" {
92
163
  * @since v22.5.0
93
164
  */
94
165
  close(): void;
166
+ /**
167
+ * Loads a shared library into the database connection. This method is a wrapper
168
+ * around [`sqlite3_load_extension()`](https://www.sqlite.org/c3ref/load_extension.html). It is required to enable the
169
+ * `allowExtension` option when constructing the `DatabaseSync` instance.
170
+ * @since v22.13.0
171
+ * @param path The path to the shared library to load.
172
+ */
173
+ loadExtension(path: string): void;
174
+ /**
175
+ * Enables or disables the `loadExtension` SQL function, and the `loadExtension()`
176
+ * method. When `allowExtension` is `false` when constructing, you cannot enable
177
+ * loading extensions for security reasons.
178
+ * @since v22.13.0
179
+ * @param allow Whether to allow loading extensions.
180
+ */
181
+ enableLoadExtension(allow: boolean): void;
95
182
  /**
96
183
  * This method allows one or more SQL statements to be executed without returning
97
184
  * any results. This method is useful when executing SQL statements read from a
@@ -100,6 +187,21 @@ declare module "node:sqlite" {
100
187
  * @param sql A SQL string to execute.
101
188
  */
102
189
  exec(sql: string): void;
190
+ /**
191
+ * This method is used to create SQLite user-defined functions. This method is a
192
+ * wrapper around [`sqlite3_create_function_v2()`](https://www.sqlite.org/c3ref/create_function.html).
193
+ * @since v22.13.0
194
+ * @param name The name of the SQLite function to create.
195
+ * @param options Optional configuration settings for the function.
196
+ * @param func The JavaScript function to call when the SQLite
197
+ * function is invoked.
198
+ */
199
+ function(
200
+ name: string,
201
+ options: FunctionOptions,
202
+ func: (...args: SupportedValueType[]) => SupportedValueType,
203
+ ): void;
204
+ function(name: string, func: (...args: SupportedValueType[]) => SupportedValueType): void;
103
205
  /**
104
206
  * Opens the database specified in the `location` argument of the `DatabaseSync`constructor. This method should only be used when the database is not opened via
105
207
  * the constructor. An exception is thrown if the database is already open.
@@ -114,8 +216,73 @@ declare module "node:sqlite" {
114
216
  * @return The prepared statement.
115
217
  */
116
218
  prepare(sql: string): StatementSync;
219
+ /**
220
+ * Creates and attaches a session to the database. This method is a wrapper around
221
+ * [`sqlite3session_create()`](https://www.sqlite.org/session/sqlite3session_create.html) and
222
+ * [`sqlite3session_attach()`](https://www.sqlite.org/session/sqlite3session_attach.html).
223
+ * @param options The configuration options for the session.
224
+ * @returns A session handle.
225
+ * @since v22.12.0
226
+ */
227
+ createSession(options?: CreateSessionOptions): Session;
228
+ /**
229
+ * An exception is thrown if the database is not
230
+ * open. This method is a wrapper around
231
+ * [`sqlite3changeset_apply()`](https://www.sqlite.org/session/sqlite3changeset_apply.html).
232
+ *
233
+ * ```js
234
+ * const sourceDb = new DatabaseSync(':memory:');
235
+ * const targetDb = new DatabaseSync(':memory:');
236
+ *
237
+ * sourceDb.exec('CREATE TABLE data(key INTEGER PRIMARY KEY, value TEXT)');
238
+ * targetDb.exec('CREATE TABLE data(key INTEGER PRIMARY KEY, value TEXT)');
239
+ *
240
+ * const session = sourceDb.createSession();
241
+ *
242
+ * const insert = sourceDb.prepare('INSERT INTO data (key, value) VALUES (?, ?)');
243
+ * insert.run(1, 'hello');
244
+ * insert.run(2, 'world');
245
+ *
246
+ * const changeset = session.changeset();
247
+ * targetDb.applyChangeset(changeset);
248
+ * // Now that the changeset has been applied, targetDb contains the same data as sourceDb.
249
+ * ```
250
+ * @param changeset A binary changeset or patchset.
251
+ * @param options The configuration options for how the changes will be applied.
252
+ * @returns Whether the changeset was applied succesfully without being aborted.
253
+ * @since v22.12.0
254
+ */
255
+ applyChangeset(changeset: Uint8Array, options?: ApplyChangesetOptions): boolean;
256
+ }
257
+ /**
258
+ * @since v22.12.0
259
+ */
260
+ interface Session {
261
+ /**
262
+ * Retrieves a changeset containing all changes since the changeset was created. Can be called multiple times.
263
+ * An exception is thrown if the database or the session is not open. This method is a wrapper around
264
+ * [`sqlite3session_changeset()`](https://www.sqlite.org/session/sqlite3session_changeset.html).
265
+ * @returns Binary changeset that can be applied to other databases.
266
+ * @since v22.12.0
267
+ */
268
+ changeset(): Uint8Array;
269
+ /**
270
+ * Similar to the method above, but generates a more compact patchset. See
271
+ * [Changesets and Patchsets](https://www.sqlite.org/sessionintro.html#changesets_and_patchsets)
272
+ * in the documentation of SQLite. An exception is thrown if the database or the session is not open. This method is a
273
+ * wrapper around
274
+ * [`sqlite3session_patchset()`](https://www.sqlite.org/session/sqlite3session_patchset.html).
275
+ * @returns Binary patchset that can be applied to other databases.
276
+ * @since v22.12.0
277
+ */
278
+ patchset(): Uint8Array;
279
+ /**
280
+ * Closes the session. An exception is thrown if the database or the session is not open. This method is a
281
+ * wrapper around
282
+ * [`sqlite3session_delete()`](https://www.sqlite.org/session/sqlite3session_delete.html).
283
+ */
284
+ close(): void;
117
285
  }
118
- type SupportedValueType = null | number | bigint | string | Uint8Array;
119
286
  interface StatementResultingChanges {
120
287
  /**
121
288
  * The number of rows modified, inserted, or deleted by the most recently completed `INSERT`, `UPDATE`, or `DELETE` statement.
@@ -181,6 +348,24 @@ declare module "node:sqlite" {
181
348
  */
182
349
  get(...anonymousParameters: SupportedValueType[]): unknown;
183
350
  get(namedParameters: Record<string, SupportedValueType>, ...anonymousParameters: SupportedValueType[]): unknown;
351
+ /**
352
+ * This method executes a prepared statement and returns an iterator of
353
+ * objects. If the prepared statement does not return any results, this method
354
+ * returns an empty iterator. The prepared statement [parameters are bound](https://www.sqlite.org/c3ref/bind_blob.html) using
355
+ * the values in `namedParameters` and `anonymousParameters`.
356
+ * @since v22.13.0
357
+ * @param namedParameters An optional object used to bind named parameters.
358
+ * The keys of this object are used to configure the mapping.
359
+ * @param anonymousParameters Zero or more values to bind to anonymous parameters.
360
+ * @returns An iterable iterator of objects. Each object corresponds to a row
361
+ * returned by executing the prepared statement. The keys and values of each
362
+ * object correspond to the column names and values of the row.
363
+ */
364
+ iterate(...anonymousParameters: SupportedValueType[]): NodeJS.Iterator<unknown>;
365
+ iterate(
366
+ namedParameters: Record<string, SupportedValueType>,
367
+ ...anonymousParameters: SupportedValueType[]
368
+ ): NodeJS.Iterator<unknown>;
184
369
  /**
185
370
  * This method executes a prepared statement and returns an object summarizing the
186
371
  * resulting changes. The prepared statement [parameters are bound](https://www.sqlite.org/c3ref/bind_blob.html) using the
@@ -231,4 +416,24 @@ declare module "node:sqlite" {
231
416
  */
232
417
  readonly sourceSQL: string;
233
418
  }
419
+ /**
420
+ * @since v22.13.0
421
+ */
422
+ namespace constants {
423
+ /**
424
+ * Conflicting changes are omitted.
425
+ * @since v22.12.0
426
+ */
427
+ const SQLITE_CHANGESET_OMIT: number;
428
+ /**
429
+ * Conflicting changes replace existing values.
430
+ * @since v22.12.0
431
+ */
432
+ const SQLITE_CHANGESET_REPLACE: number;
433
+ /**
434
+ * Abort when a change encounters a conflict and roll back database.
435
+ * @since v22.12.0
436
+ */
437
+ const SQLITE_CHANGESET_ABORT: number;
438
+ }
234
439
  }
@@ -887,10 +887,7 @@ declare module "node:test" {
887
887
  * });
888
888
  * });
889
889
  * ```
890
- *
891
- * Only available through the [--experimental-test-snapshots](https://nodejs.org/api/cli.html#--experimental-test-snapshots) flag.
892
890
  * @since v22.3.0
893
- * @experimental
894
891
  */
895
892
  snapshot(value: any, options?: AssertSnapshotOptions): void;
896
893
  }
@@ -1691,9 +1688,7 @@ declare module "node:test" {
1691
1688
  [Symbol.dispose](): void;
1692
1689
  }
1693
1690
  /**
1694
- * Only available through the [--experimental-test-snapshots](https://nodejs.org/api/cli.html#--experimental-test-snapshots) flag.
1695
1691
  * @since v22.3.0
1696
- * @experimental
1697
1692
  */
1698
1693
  namespace snapshot {
1699
1694
  /**