cdk-ecr-deployment 3.1.9 → 3.1.11

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 (40) 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/buffer.buffer.d.ts +112 -38
  6. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +4 -11
  7. package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +36 -1
  8. package/node_modules/@types/cacheable-request/node_modules/@types/node/module.d.ts +11 -4
  9. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
  10. package/node_modules/@types/cacheable-request/node_modules/@types/node/sqlite.d.ts +1 -1
  11. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/web.d.ts +6 -1
  12. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream.d.ts +936 -1000
  13. package/node_modules/@types/cacheable-request/node_modules/@types/node/test.d.ts +40 -133
  14. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +107 -35
  15. package/node_modules/@types/cacheable-request/node_modules/@types/node/vm.d.ts +1 -1
  16. package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
  17. package/node_modules/@types/keyv/node_modules/@types/node/buffer.buffer.d.ts +112 -38
  18. package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +4 -11
  19. package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +36 -1
  20. package/node_modules/@types/keyv/node_modules/@types/node/module.d.ts +11 -4
  21. package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
  22. package/node_modules/@types/keyv/node_modules/@types/node/sqlite.d.ts +1 -1
  23. package/node_modules/@types/keyv/node_modules/@types/node/stream/web.d.ts +6 -1
  24. package/node_modules/@types/keyv/node_modules/@types/node/stream.d.ts +936 -1000
  25. package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +40 -133
  26. package/node_modules/@types/keyv/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +107 -35
  27. package/node_modules/@types/keyv/node_modules/@types/node/vm.d.ts +1 -1
  28. package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
  29. package/node_modules/@types/responselike/node_modules/@types/node/buffer.buffer.d.ts +112 -38
  30. package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +4 -11
  31. package/node_modules/@types/responselike/node_modules/@types/node/crypto.d.ts +36 -1
  32. package/node_modules/@types/responselike/node_modules/@types/node/module.d.ts +11 -4
  33. package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
  34. package/node_modules/@types/responselike/node_modules/@types/node/sqlite.d.ts +1 -1
  35. package/node_modules/@types/responselike/node_modules/@types/node/stream/web.d.ts +6 -1
  36. package/node_modules/@types/responselike/node_modules/@types/node/stream.d.ts +936 -1000
  37. package/node_modules/@types/responselike/node_modules/@types/node/test.d.ts +40 -133
  38. package/node_modules/@types/responselike/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +107 -35
  39. package/node_modules/@types/responselike/node_modules/@types/node/vm.d.ts +1 -1
  40. package/package.json +4 -4
@@ -564,6 +564,23 @@ declare module "node:test" {
564
564
  /**
565
565
  * An object containing assertion methods bound to the test context.
566
566
  * The top-level functions from the `node:assert` module are exposed here for the purpose of creating test plans.
567
+ *
568
+ * **Note:** Some of the functions from `node:assert` contain type assertions. If these are called via the
569
+ * TestContext `assert` object, then the context parameter in the test's function signature **must be explicitly typed**
570
+ * (ie. the parameter must have a type annotation), otherwise an error will be raised by the TypeScript compiler:
571
+ * ```ts
572
+ * import { test, type TestContext } from 'node:test';
573
+ *
574
+ * // The test function's context parameter must have a type annotation.
575
+ * test('example', (t: TestContext) => {
576
+ * t.assert.deepStrictEqual(actual, expected);
577
+ * });
578
+ *
579
+ * // Omitting the type annotation will result in a compilation error.
580
+ * test('example', t => {
581
+ * t.assert.deepStrictEqual(actual, expected); // Error: 't' needs an explicit type annotation.
582
+ * });
583
+ * ```
567
584
  * @since v22.2.0, v20.15.0
568
585
  */
569
586
  readonly assert: TestContextAssert;
@@ -741,139 +758,29 @@ declare module "node:test" {
741
758
  */
742
759
  readonly mock: MockTracker;
743
760
  }
744
- interface TestContextAssert {
745
- /**
746
- * Identical to the `deepEqual` function from the `node:assert` module, but bound to the test context.
747
- */
748
- deepEqual: typeof import("node:assert").deepEqual;
749
- /**
750
- * Identical to the `deepStrictEqual` function from the `node:assert` module, but bound to the test context.
751
- *
752
- * **Note:** as this method returns a type assertion, the context parameter in the callback signature must have a
753
- * type annotation, otherwise an error will be raised by the TypeScript compiler:
754
- * ```ts
755
- * import { test, type TestContext } from 'node:test';
756
- *
757
- * // The test function's context parameter must have a type annotation.
758
- * test('example', (t: TestContext) => {
759
- * t.assert.deepStrictEqual(actual, expected);
760
- * });
761
- *
762
- * // Omitting the type annotation will result in a compilation error.
763
- * test('example', t => {
764
- * t.assert.deepStrictEqual(actual, expected); // Error: 't' needs an explicit type annotation.
765
- * });
766
- * ```
767
- */
768
- deepStrictEqual: typeof import("node:assert").deepStrictEqual;
769
- /**
770
- * Identical to the `doesNotMatch` function from the `node:assert` module, but bound to the test context.
771
- */
772
- doesNotMatch: typeof import("node:assert").doesNotMatch;
773
- /**
774
- * Identical to the `doesNotReject` function from the `node:assert` module, but bound to the test context.
775
- */
776
- doesNotReject: typeof import("node:assert").doesNotReject;
777
- /**
778
- * Identical to the `doesNotThrow` function from the `node:assert` module, but bound to the test context.
779
- */
780
- doesNotThrow: typeof import("node:assert").doesNotThrow;
781
- /**
782
- * Identical to the `equal` function from the `node:assert` module, but bound to the test context.
783
- */
784
- equal: typeof import("node:assert").equal;
785
- /**
786
- * Identical to the `fail` function from the `node:assert` module, but bound to the test context.
787
- */
788
- fail: typeof import("node:assert").fail;
789
- /**
790
- * Identical to the `ifError` function from the `node:assert` module, but bound to the test context.
791
- *
792
- * **Note:** as this method returns a type assertion, the context parameter in the callback signature must have a
793
- * type annotation, otherwise an error will be raised by the TypeScript compiler:
794
- * ```ts
795
- * import { test, type TestContext } from 'node:test';
796
- *
797
- * // The test function's context parameter must have a type annotation.
798
- * test('example', (t: TestContext) => {
799
- * t.assert.ifError(err);
800
- * });
801
- *
802
- * // Omitting the type annotation will result in a compilation error.
803
- * test('example', t => {
804
- * t.assert.ifError(err); // Error: 't' needs an explicit type annotation.
805
- * });
806
- * ```
807
- */
808
- ifError: typeof import("node:assert").ifError;
809
- /**
810
- * Identical to the `match` function from the `node:assert` module, but bound to the test context.
811
- */
812
- match: typeof import("node:assert").match;
813
- /**
814
- * Identical to the `notDeepEqual` function from the `node:assert` module, but bound to the test context.
815
- */
816
- notDeepEqual: typeof import("node:assert").notDeepEqual;
817
- /**
818
- * Identical to the `notDeepStrictEqual` function from the `node:assert` module, but bound to the test context.
819
- */
820
- notDeepStrictEqual: typeof import("node:assert").notDeepStrictEqual;
821
- /**
822
- * Identical to the `notEqual` function from the `node:assert` module, but bound to the test context.
823
- */
824
- notEqual: typeof import("node:assert").notEqual;
825
- /**
826
- * Identical to the `notStrictEqual` function from the `node:assert` module, but bound to the test context.
827
- */
828
- notStrictEqual: typeof import("node:assert").notStrictEqual;
829
- /**
830
- * Identical to the `ok` function from the `node:assert` module, but bound to the test context.
831
- *
832
- * **Note:** as this method returns a type assertion, the context parameter in the callback signature must have a
833
- * type annotation, otherwise an error will be raised by the TypeScript compiler:
834
- * ```ts
835
- * import { test, type TestContext } from 'node:test';
836
- *
837
- * // The test function's context parameter must have a type annotation.
838
- * test('example', (t: TestContext) => {
839
- * t.assert.ok(condition);
840
- * });
841
- *
842
- * // Omitting the type annotation will result in a compilation error.
843
- * test('example', t => {
844
- * t.assert.ok(condition)); // Error: 't' needs an explicit type annotation.
845
- * });
846
- * ```
847
- */
848
- ok: typeof import("node:assert").ok;
849
- /**
850
- * Identical to the `rejects` function from the `node:assert` module, but bound to the test context.
851
- */
852
- rejects: typeof import("node:assert").rejects;
853
- /**
854
- * Identical to the `strictEqual` function from the `node:assert` module, but bound to the test context.
855
- *
856
- * **Note:** as this method returns a type assertion, the context parameter in the callback signature must have a
857
- * type annotation, otherwise an error will be raised by the TypeScript compiler:
858
- * ```ts
859
- * import { test, type TestContext } from 'node:test';
860
- *
861
- * // The test function's context parameter must have a type annotation.
862
- * test('example', (t: TestContext) => {
863
- * t.assert.strictEqual(actual, expected);
864
- * });
865
- *
866
- * // Omitting the type annotation will result in a compilation error.
867
- * test('example', t => {
868
- * t.assert.strictEqual(actual, expected); // Error: 't' needs an explicit type annotation.
869
- * });
870
- * ```
871
- */
872
- strictEqual: typeof import("node:assert").strictEqual;
873
- /**
874
- * Identical to the `throws` function from the `node:assert` module, but bound to the test context.
875
- */
876
- throws: typeof import("node:assert").throws;
761
+ interface TestContextAssert extends
762
+ Pick<
763
+ typeof import("assert"),
764
+ | "deepEqual"
765
+ | "deepStrictEqual"
766
+ | "doesNotMatch"
767
+ | "doesNotReject"
768
+ | "doesNotThrow"
769
+ | "equal"
770
+ | "fail"
771
+ | "ifError"
772
+ | "match"
773
+ | "notDeepEqual"
774
+ | "notDeepStrictEqual"
775
+ | "notEqual"
776
+ | "notStrictEqual"
777
+ | "ok"
778
+ | "partialDeepStrictEqual"
779
+ | "rejects"
780
+ | "strictEqual"
781
+ | "throws"
782
+ >
783
+ {
877
784
  /**
878
785
  * This function implements assertions for snapshot testing.
879
786
  * ```js
@@ -24,7 +24,7 @@ declare module "buffer" {
24
24
  * @param array The octets to store.
25
25
  * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
26
26
  */
27
- new(array: Uint8Array): Buffer;
27
+ new(array: ArrayLike<number>): Buffer;
28
28
  /**
29
29
  * Produces a Buffer backed by the same allocated memory as
30
30
  * the given {ArrayBuffer}/{SharedArrayBuffer}.
@@ -33,20 +33,6 @@ declare module "buffer" {
33
33
  * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead.
34
34
  */
35
35
  new(arrayBuffer: ArrayBuffer | SharedArrayBuffer): Buffer;
36
- /**
37
- * Allocates a new buffer containing the given {array} of octets.
38
- *
39
- * @param array The octets to store.
40
- * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
41
- */
42
- new(array: readonly any[]): Buffer;
43
- /**
44
- * Copies the passed {buffer} data onto a new {Buffer} instance.
45
- *
46
- * @param buffer The buffer to copy.
47
- * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead.
48
- */
49
- new(buffer: Buffer): Buffer;
50
36
  /**
51
37
  * Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`.
52
38
  * Array entries outside that range will be truncated to fit into it.
@@ -58,40 +44,120 @@ declare module "buffer" {
58
44
  * const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
59
45
  * ```
60
46
  *
61
- * If `array` is an `Array`\-like object (that is, one with a `length` property of
47
+ * If `array` is an `Array`-like object (that is, one with a `length` property of
62
48
  * type `number`), it is treated as if it is an array, unless it is a `Buffer` or
63
- * a `Uint8Array`. This means all other `TypedArray` variants get treated as an `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use `Buffer.copyBytesFrom()`.
49
+ * a `Uint8Array`. This means all other `TypedArray` variants get treated as an
50
+ * `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use
51
+ * `Buffer.copyBytesFrom()`.
64
52
  *
65
53
  * A `TypeError` will be thrown if `array` is not an `Array` or another type
66
54
  * appropriate for `Buffer.from()` variants.
67
55
  *
68
- * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does.
56
+ * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal
57
+ * `Buffer` pool like `Buffer.allocUnsafe()` does.
69
58
  * @since v5.10.0
70
59
  */
60
+ from(array: WithImplicitCoercion<ArrayLike<number>>): Buffer;
61
+ /**
62
+ * This creates a view of the `ArrayBuffer` without copying the underlying
63
+ * memory. For example, when passed a reference to the `.buffer` property of a
64
+ * `TypedArray` instance, the newly created `Buffer` will share the same
65
+ * allocated memory as the `TypedArray`'s underlying `ArrayBuffer`.
66
+ *
67
+ * ```js
68
+ * import { Buffer } from 'node:buffer';
69
+ *
70
+ * const arr = new Uint16Array(2);
71
+ *
72
+ * arr[0] = 5000;
73
+ * arr[1] = 4000;
74
+ *
75
+ * // Shares memory with `arr`.
76
+ * const buf = Buffer.from(arr.buffer);
77
+ *
78
+ * console.log(buf);
79
+ * // Prints: <Buffer 88 13 a0 0f>
80
+ *
81
+ * // Changing the original Uint16Array changes the Buffer also.
82
+ * arr[1] = 6000;
83
+ *
84
+ * console.log(buf);
85
+ * // Prints: <Buffer 88 13 70 17>
86
+ * ```
87
+ *
88
+ * The optional `byteOffset` and `length` arguments specify a memory range within
89
+ * the `arrayBuffer` that will be shared by the `Buffer`.
90
+ *
91
+ * ```js
92
+ * import { Buffer } from 'node:buffer';
93
+ *
94
+ * const ab = new ArrayBuffer(10);
95
+ * const buf = Buffer.from(ab, 0, 2);
96
+ *
97
+ * console.log(buf.length);
98
+ * // Prints: 2
99
+ * ```
100
+ *
101
+ * A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer` or a
102
+ * `SharedArrayBuffer` or another type appropriate for `Buffer.from()`
103
+ * variants.
104
+ *
105
+ * It is important to remember that a backing `ArrayBuffer` can cover a range
106
+ * of memory that extends beyond the bounds of a `TypedArray` view. A new
107
+ * `Buffer` created using the `buffer` property of a `TypedArray` may extend
108
+ * beyond the range of the `TypedArray`:
109
+ *
110
+ * ```js
111
+ * import { Buffer } from 'node:buffer';
112
+ *
113
+ * const arrA = Uint8Array.from([0x63, 0x64, 0x65, 0x66]); // 4 elements
114
+ * const arrB = new Uint8Array(arrA.buffer, 1, 2); // 2 elements
115
+ * console.log(arrA.buffer === arrB.buffer); // true
116
+ *
117
+ * const buf = Buffer.from(arrB.buffer);
118
+ * console.log(buf);
119
+ * // Prints: <Buffer 63 64 65 66>
120
+ * ```
121
+ * @since v5.10.0
122
+ * @param arrayBuffer An `ArrayBuffer`, `SharedArrayBuffer`, for example the
123
+ * `.buffer` property of a `TypedArray`.
124
+ * @param byteOffset Index of first byte to expose. **Default:** `0`.
125
+ * @param length Number of bytes to expose. **Default:**
126
+ * `arrayBuffer.byteLength - byteOffset`.
127
+ */
71
128
  from(
72
129
  arrayBuffer: WithImplicitCoercion<ArrayBuffer | SharedArrayBuffer>,
73
130
  byteOffset?: number,
74
131
  length?: number,
75
132
  ): Buffer;
76
133
  /**
77
- * Creates a new Buffer using the passed {data}
78
- * @param data data to create a new Buffer
79
- */
80
- from(data: Uint8Array | readonly number[]): Buffer;
81
- from(data: WithImplicitCoercion<Uint8Array | readonly number[] | string>): Buffer;
82
- /**
83
- * Creates a new Buffer containing the given JavaScript string {str}.
84
- * If provided, the {encoding} parameter identifies the character encoding.
85
- * If not provided, {encoding} defaults to 'utf8'.
134
+ * Creates a new `Buffer` containing `string`. The `encoding` parameter identifies
135
+ * the character encoding to be used when converting `string` into bytes.
136
+ *
137
+ * ```js
138
+ * import { Buffer } from 'node:buffer';
139
+ *
140
+ * const buf1 = Buffer.from('this is a tést');
141
+ * const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
142
+ *
143
+ * console.log(buf1.toString());
144
+ * // Prints: this is a tést
145
+ * console.log(buf2.toString());
146
+ * // Prints: this is a tést
147
+ * console.log(buf1.toString('latin1'));
148
+ * // Prints: this is a tést
149
+ * ```
150
+ *
151
+ * A `TypeError` will be thrown if `string` is not a string or another type
152
+ * appropriate for `Buffer.from()` variants.
153
+ *
154
+ * `Buffer.from(string)` may also use the internal `Buffer` pool like
155
+ * `Buffer.allocUnsafe()` does.
156
+ * @since v5.10.0
157
+ * @param string A string to encode.
158
+ * @param encoding The encoding of `string`. **Default:** `'utf8'`.
86
159
  */
87
- from(
88
- str:
89
- | WithImplicitCoercion<string>
90
- | {
91
- [Symbol.toPrimitive](hint: "string"): string;
92
- },
93
- encoding?: BufferEncoding,
94
- ): Buffer;
160
+ from(string: WithImplicitCoercion<string>, encoding?: BufferEncoding): Buffer;
95
161
  /**
96
162
  * Creates a new Buffer using the passed {data}
97
163
  * @param values to create a new Buffer
@@ -382,4 +448,10 @@ declare module "buffer" {
382
448
  subarray(start?: number, end?: number): Buffer;
383
449
  }
384
450
  }
451
+ /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
452
+ var SlowBuffer: {
453
+ /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
454
+ new(size: number): Buffer;
455
+ prototype: Buffer;
456
+ };
385
457
  }
@@ -69,7 +69,7 @@ declare module "vm" {
69
69
  * [Support of dynamic `import()` in compilation APIs](https://nodejs.org/docs/latest-v22.x/api/vm.html#support-of-dynamic-import-in-compilation-apis).
70
70
  */
71
71
  importModuleDynamically?:
72
- | ((specifier: string, script: Script, importAttributes: ImportAttributes) => Module)
72
+ | ((specifier: string, script: Script, importAttributes: ImportAttributes) => Module | Promise<Module>)
73
73
  | typeof constants.USE_MAIN_CONTEXT_DEFAULT_LOADER
74
74
  | undefined;
75
75
  }
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Thu, 13 Feb 2025 04:35:29 GMT
11
+ * Last updated: Mon, 03 Mar 2025 18:02:26 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -1,4 +1,6 @@
1
1
  declare module "buffer" {
2
+ type ImplicitArrayBuffer<T extends WithImplicitCoercion<ArrayBufferLike>> = T extends
3
+ { valueOf(): infer V extends ArrayBufferLike } ? V : T;
2
4
  global {
3
5
  interface BufferConstructor {
4
6
  // see buffer.d.ts for implementation shared with all TypeScript versions
@@ -24,7 +26,7 @@ declare module "buffer" {
24
26
  * @param array The octets to store.
25
27
  * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
26
28
  */
27
- new(array: Uint8Array): Buffer<ArrayBuffer>;
29
+ new(array: ArrayLike<number>): Buffer<ArrayBuffer>;
28
30
  /**
29
31
  * Produces a Buffer backed by the same allocated memory as
30
32
  * the given {ArrayBuffer}/{SharedArrayBuffer}.
@@ -33,20 +35,6 @@ declare module "buffer" {
33
35
  * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead.
34
36
  */
35
37
  new<TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(arrayBuffer: TArrayBuffer): Buffer<TArrayBuffer>;
36
- /**
37
- * Allocates a new buffer containing the given {array} of octets.
38
- *
39
- * @param array The octets to store.
40
- * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
41
- */
42
- new(array: readonly any[]): Buffer<ArrayBuffer>;
43
- /**
44
- * Copies the passed {buffer} data onto a new {Buffer} instance.
45
- *
46
- * @param buffer The buffer to copy.
47
- * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead.
48
- */
49
- new(buffer: Buffer): Buffer<ArrayBuffer>;
50
38
  /**
51
39
  * Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`.
52
40
  * Array entries outside that range will be truncated to fit into it.
@@ -58,40 +46,120 @@ declare module "buffer" {
58
46
  * const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
59
47
  * ```
60
48
  *
61
- * If `array` is an `Array`\-like object (that is, one with a `length` property of
49
+ * If `array` is an `Array`-like object (that is, one with a `length` property of
62
50
  * type `number`), it is treated as if it is an array, unless it is a `Buffer` or
63
- * a `Uint8Array`. This means all other `TypedArray` variants get treated as an `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use `Buffer.copyBytesFrom()`.
51
+ * a `Uint8Array`. This means all other `TypedArray` variants get treated as an
52
+ * `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use
53
+ * `Buffer.copyBytesFrom()`.
64
54
  *
65
55
  * A `TypeError` will be thrown if `array` is not an `Array` or another type
66
56
  * appropriate for `Buffer.from()` variants.
67
57
  *
68
- * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does.
58
+ * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal
59
+ * `Buffer` pool like `Buffer.allocUnsafe()` does.
69
60
  * @since v5.10.0
70
61
  */
71
- from<TArrayBuffer extends ArrayBufferLike>(
72
- arrayBuffer: WithImplicitCoercion<TArrayBuffer>,
73
- byteOffset?: number,
74
- length?: number,
75
- ): Buffer<TArrayBuffer>;
62
+ from(array: WithImplicitCoercion<ArrayLike<number>>): Buffer<ArrayBuffer>;
76
63
  /**
77
- * Creates a new Buffer using the passed {data}
78
- * @param data data to create a new Buffer
64
+ * This creates a view of the `ArrayBuffer` without copying the underlying
65
+ * memory. For example, when passed a reference to the `.buffer` property of a
66
+ * `TypedArray` instance, the newly created `Buffer` will share the same
67
+ * allocated memory as the `TypedArray`'s underlying `ArrayBuffer`.
68
+ *
69
+ * ```js
70
+ * import { Buffer } from 'node:buffer';
71
+ *
72
+ * const arr = new Uint16Array(2);
73
+ *
74
+ * arr[0] = 5000;
75
+ * arr[1] = 4000;
76
+ *
77
+ * // Shares memory with `arr`.
78
+ * const buf = Buffer.from(arr.buffer);
79
+ *
80
+ * console.log(buf);
81
+ * // Prints: <Buffer 88 13 a0 0f>
82
+ *
83
+ * // Changing the original Uint16Array changes the Buffer also.
84
+ * arr[1] = 6000;
85
+ *
86
+ * console.log(buf);
87
+ * // Prints: <Buffer 88 13 70 17>
88
+ * ```
89
+ *
90
+ * The optional `byteOffset` and `length` arguments specify a memory range within
91
+ * the `arrayBuffer` that will be shared by the `Buffer`.
92
+ *
93
+ * ```js
94
+ * import { Buffer } from 'node:buffer';
95
+ *
96
+ * const ab = new ArrayBuffer(10);
97
+ * const buf = Buffer.from(ab, 0, 2);
98
+ *
99
+ * console.log(buf.length);
100
+ * // Prints: 2
101
+ * ```
102
+ *
103
+ * A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer` or a
104
+ * `SharedArrayBuffer` or another type appropriate for `Buffer.from()`
105
+ * variants.
106
+ *
107
+ * It is important to remember that a backing `ArrayBuffer` can cover a range
108
+ * of memory that extends beyond the bounds of a `TypedArray` view. A new
109
+ * `Buffer` created using the `buffer` property of a `TypedArray` may extend
110
+ * beyond the range of the `TypedArray`:
111
+ *
112
+ * ```js
113
+ * import { Buffer } from 'node:buffer';
114
+ *
115
+ * const arrA = Uint8Array.from([0x63, 0x64, 0x65, 0x66]); // 4 elements
116
+ * const arrB = new Uint8Array(arrA.buffer, 1, 2); // 2 elements
117
+ * console.log(arrA.buffer === arrB.buffer); // true
118
+ *
119
+ * const buf = Buffer.from(arrB.buffer);
120
+ * console.log(buf);
121
+ * // Prints: <Buffer 63 64 65 66>
122
+ * ```
123
+ * @since v5.10.0
124
+ * @param arrayBuffer An `ArrayBuffer`, `SharedArrayBuffer`, for example the
125
+ * `.buffer` property of a `TypedArray`.
126
+ * @param byteOffset Index of first byte to expose. **Default:** `0`.
127
+ * @param length Number of bytes to expose. **Default:**
128
+ * `arrayBuffer.byteLength - byteOffset`.
79
129
  */
80
- from(data: Uint8Array | readonly number[]): Buffer<ArrayBuffer>;
81
- from(data: WithImplicitCoercion<Uint8Array | readonly number[] | string>): Buffer<ArrayBuffer>;
130
+ from<TArrayBuffer extends WithImplicitCoercion<ArrayBufferLike>>(
131
+ arrayBuffer: TArrayBuffer,
132
+ byteOffset?: number,
133
+ length?: number,
134
+ ): Buffer<ImplicitArrayBuffer<TArrayBuffer>>;
82
135
  /**
83
- * Creates a new Buffer containing the given JavaScript string {str}.
84
- * If provided, the {encoding} parameter identifies the character encoding.
85
- * If not provided, {encoding} defaults to 'utf8'.
136
+ * Creates a new `Buffer` containing `string`. The `encoding` parameter identifies
137
+ * the character encoding to be used when converting `string` into bytes.
138
+ *
139
+ * ```js
140
+ * import { Buffer } from 'node:buffer';
141
+ *
142
+ * const buf1 = Buffer.from('this is a tést');
143
+ * const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
144
+ *
145
+ * console.log(buf1.toString());
146
+ * // Prints: this is a tést
147
+ * console.log(buf2.toString());
148
+ * // Prints: this is a tést
149
+ * console.log(buf1.toString('latin1'));
150
+ * // Prints: this is a tést
151
+ * ```
152
+ *
153
+ * A `TypeError` will be thrown if `string` is not a string or another type
154
+ * appropriate for `Buffer.from()` variants.
155
+ *
156
+ * `Buffer.from(string)` may also use the internal `Buffer` pool like
157
+ * `Buffer.allocUnsafe()` does.
158
+ * @since v5.10.0
159
+ * @param string A string to encode.
160
+ * @param encoding The encoding of `string`. **Default:** `'utf8'`.
86
161
  */
87
- from(
88
- str:
89
- | WithImplicitCoercion<string>
90
- | {
91
- [Symbol.toPrimitive](hint: "string"): string;
92
- },
93
- encoding?: BufferEncoding,
94
- ): Buffer<ArrayBuffer>;
162
+ from(string: WithImplicitCoercion<string>, encoding?: BufferEncoding): Buffer<ArrayBuffer>;
95
163
  /**
96
164
  * Creates a new Buffer using the passed {data}
97
165
  * @param values to create a new Buffer
@@ -383,4 +451,10 @@ declare module "buffer" {
383
451
  subarray(start?: number, end?: number): Buffer<TArrayBuffer>;
384
452
  }
385
453
  }
454
+ /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
455
+ var SlowBuffer: {
456
+ /** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
457
+ new(size: number): Buffer<ArrayBuffer>;
458
+ prototype: Buffer;
459
+ };
386
460
  }
@@ -114,11 +114,6 @@ declare module "buffer" {
114
114
  * @param toEnc To target encoding.
115
115
  */
116
116
  export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer;
117
- export const SlowBuffer: {
118
- /** @deprecated since v6.0.0, use `Buffer.allocUnsafeSlow()` */
119
- new(size: number): Buffer;
120
- prototype: Buffer;
121
- };
122
117
  /**
123
118
  * Resolves a `'blob:nodedata:...'` an associated `Blob` object registered using
124
119
  * a prior call to `URL.createObjectURL()`.
@@ -237,7 +232,10 @@ declare module "buffer" {
237
232
  }
238
233
  export import atob = globalThis.atob;
239
234
  export import btoa = globalThis.btoa;
240
-
235
+ export type WithImplicitCoercion<T> =
236
+ | T
237
+ | { valueOf(): T }
238
+ | (T extends string ? { [Symbol.toPrimitive](hint: "string"): T } : never);
241
239
  global {
242
240
  namespace NodeJS {
243
241
  export { BufferEncoding };
@@ -256,11 +254,6 @@ declare module "buffer" {
256
254
  | "latin1"
257
255
  | "binary"
258
256
  | "hex";
259
- type WithImplicitCoercion<T> =
260
- | T
261
- | {
262
- valueOf(): T;
263
- };
264
257
  /**
265
258
  * Raw data is stored in instances of the Buffer class.
266
259
  * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.