@rio-cloud/cdk-v2-constructs 8.2.0-alpha.0 → 8.2.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2 -2
- package/node_modules/@types/node/README.md +3 -3
- package/node_modules/@types/node/assert/strict.d.ts +105 -2
- package/node_modules/@types/node/assert.d.ts +211 -92
- package/node_modules/@types/node/async_hooks.d.ts +103 -19
- package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
- package/node_modules/@types/node/buffer.d.ts +88 -516
- package/node_modules/@types/node/child_process.d.ts +167 -231
- package/node_modules/@types/node/cluster.d.ts +172 -26
- package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/node_modules/@types/node/console.d.ts +66 -28
- package/node_modules/@types/node/constants.d.ts +14 -12
- package/node_modules/@types/node/crypto.d.ts +1458 -497
- package/node_modules/@types/node/dgram.d.ts +44 -30
- package/node_modules/@types/node/diagnostics_channel.d.ts +389 -4
- package/node_modules/@types/node/dns/promises.d.ts +120 -42
- package/node_modules/@types/node/dns.d.ts +209 -95
- package/node_modules/@types/node/domain.d.ts +14 -18
- package/node_modules/@types/node/events.d.ts +245 -113
- package/node_modules/@types/node/fs/promises.d.ts +194 -96
- package/node_modules/@types/node/fs.d.ts +695 -270
- package/node_modules/@types/node/globals.d.ts +97 -308
- package/node_modules/@types/node/globals.typedarray.d.ts +41 -0
- package/node_modules/@types/node/http.d.ts +363 -97
- package/node_modules/@types/node/http2.d.ts +684 -231
- package/node_modules/@types/node/https.d.ts +122 -87
- package/node_modules/@types/node/index.d.ts +24 -11
- package/node_modules/@types/node/inspector.d.ts +220 -2690
- package/node_modules/@types/node/inspector.generated.d.ts +4239 -0
- package/node_modules/@types/node/module.d.ts +705 -149
- package/node_modules/@types/node/net.d.ts +178 -54
- package/node_modules/@types/node/os.d.ts +47 -17
- package/node_modules/@types/node/package.json +22 -97
- package/node_modules/@types/node/path.d.ts +12 -3
- package/node_modules/@types/node/perf_hooks.d.ts +500 -97
- package/node_modules/@types/node/process.d.ts +657 -87
- package/node_modules/@types/node/punycode.d.ts +5 -5
- package/node_modules/@types/node/querystring.d.ts +24 -13
- package/node_modules/@types/node/readline/promises.d.ts +25 -14
- package/node_modules/@types/node/readline.d.ts +102 -41
- package/node_modules/@types/node/repl.d.ts +38 -30
- package/node_modules/@types/node/sea.d.ts +162 -0
- package/node_modules/@types/node/sqlite.d.ts +1040 -0
- package/node_modules/@types/node/stream/consumers.d.ts +33 -7
- package/node_modules/@types/node/stream/promises.d.ts +8 -1
- package/node_modules/@types/node/stream/web.d.ts +251 -28
- package/node_modules/@types/node/stream.d.ts +1060 -1055
- package/node_modules/@types/node/string_decoder.d.ts +8 -8
- package/node_modules/@types/node/test.d.ts +2133 -1166
- package/node_modules/@types/node/timers/promises.d.ts +31 -16
- package/node_modules/@types/node/timers.d.ts +159 -114
- package/node_modules/@types/node/tls.d.ts +232 -163
- package/node_modules/@types/node/trace_events.d.ts +43 -28
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
- package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +103 -0
- package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +103 -0
- package/node_modules/@types/node/tty.d.ts +9 -9
- package/node_modules/@types/node/url.d.ts +236 -84
- package/node_modules/@types/node/util.d.ts +562 -412
- package/node_modules/@types/node/v8.d.ts +368 -21
- package/node_modules/@types/node/vm.d.ts +443 -149
- package/node_modules/@types/node/wasi.d.ts +62 -18
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +62 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
- package/node_modules/@types/node/worker_threads.d.ts +310 -107
- package/node_modules/@types/node/zlib.d.ts +301 -73
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/agent.d.ts +13 -12
- package/node_modules/undici-types/api.d.ts +26 -26
- package/node_modules/undici-types/balanced-pool.d.ts +19 -7
- package/node_modules/undici-types/cache-interceptor.d.ts +173 -0
- package/node_modules/undici-types/client-stats.d.ts +15 -0
- package/node_modules/undici-types/client.d.ts +26 -15
- package/node_modules/undici-types/connector.d.ts +2 -2
- package/node_modules/undici-types/cookies.d.ts +2 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +19 -12
- package/node_modules/undici-types/dispatcher.d.ts +148 -113
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/undici-types/errors.d.ts +79 -46
- package/node_modules/undici-types/eventsource.d.ts +66 -0
- package/node_modules/undici-types/fetch.d.ts +41 -39
- package/node_modules/undici-types/formdata.d.ts +8 -8
- package/node_modules/undici-types/global-dispatcher.d.ts +4 -4
- package/node_modules/undici-types/global-origin.d.ts +5 -5
- package/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/node_modules/undici-types/handlers.d.ts +11 -5
- package/node_modules/undici-types/header.d.ts +157 -1
- package/node_modules/undici-types/index.d.ts +68 -43
- package/node_modules/undici-types/interceptors.d.ts +71 -3
- package/node_modules/undici-types/mock-agent.d.ts +36 -18
- package/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/node_modules/undici-types/mock-client.d.ts +6 -4
- package/node_modules/undici-types/mock-errors.d.ts +3 -3
- package/node_modules/undici-types/mock-interceptor.d.ts +24 -23
- package/node_modules/undici-types/mock-pool.d.ts +6 -4
- package/node_modules/undici-types/package.json +1 -1
- package/node_modules/undici-types/patch.d.ts +0 -42
- package/node_modules/undici-types/pool-stats.d.ts +8 -8
- package/node_modules/undici-types/pool.d.ts +21 -8
- package/node_modules/undici-types/proxy-agent.d.ts +5 -6
- package/node_modules/undici-types/readable.d.ts +24 -17
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/utility.d.ts +7 -0
- package/node_modules/undici-types/webidl.d.ts +157 -36
- package/node_modules/undici-types/websocket.d.ts +67 -12
- package/package.json +9 -60
- package/version.json +1 -1
- package/node_modules/@types/node/dom-events.d.ts +0 -122
- package/node_modules/@types/node/globals.global.d.ts +0 -1
- package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
- package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
- package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
- package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2362
- package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
- package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
- package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
- package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
- package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4455
- package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -586
- package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -191
- package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
- package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
- package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
- package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
- package/node_modules/@types/node/ts4.8/events.d.ts +0 -796
- package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1232
- package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4289
- package/node_modules/@types/node/ts4.8/globals.d.ts +0 -381
- package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
- package/node_modules/@types/node/ts4.8/http.d.ts +0 -1888
- package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
- package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
- package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
- package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
- package/node_modules/@types/node/ts4.8/module.d.ts +0 -287
- package/node_modules/@types/node/ts4.8/net.d.ts +0 -949
- package/node_modules/@types/node/ts4.8/os.d.ts +0 -477
- package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
- package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -639
- package/node_modules/@types/node/ts4.8/process.d.ts +0 -1532
- package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
- package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
- package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
- package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
- package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
- package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
- package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
- package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -350
- package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
- package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
- package/node_modules/@types/node/ts4.8/test.d.ts +0 -1382
- package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
- package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
- package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
- package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
- package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
- package/node_modules/@types/node/ts4.8/url.d.ts +0 -927
- package/node_modules/@types/node/ts4.8/util.d.ts +0 -2186
- package/node_modules/@types/node/ts4.8/v8.d.ts +0 -635
- package/node_modules/@types/node/ts4.8/vm.d.ts +0 -901
- package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -158
- package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
- package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
- package/node_modules/argparse/CHANGELOG.md +0 -216
- package/node_modules/undici-types/file.d.ts +0 -39
- package/node_modules/undici-types/filereader.d.ts +0 -54
|
@@ -1,40 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The `node:trace_events` module provides a mechanism to centralize tracing
|
|
3
|
-
*
|
|
2
|
+
* The `node:trace_events` module provides a mechanism to centralize tracing information
|
|
3
|
+
* generated by V8, Node.js core, and userspace code.
|
|
4
4
|
*
|
|
5
5
|
* Tracing can be enabled with the `--trace-event-categories` command-line flag
|
|
6
|
-
* or by using the `
|
|
6
|
+
* or by using the `trace_events` module. The `--trace-event-categories` flag
|
|
7
7
|
* accepts a list of comma-separated category names.
|
|
8
8
|
*
|
|
9
9
|
* The available categories are:
|
|
10
10
|
*
|
|
11
11
|
* * `node`: An empty placeholder.
|
|
12
|
-
* * `node.async_hooks`: Enables capture of detailed `async_hooks` trace data.
|
|
13
|
-
* The `async_hooks` events have a unique `asyncId` and a special `triggerId` `triggerAsyncId` property.
|
|
12
|
+
* * `node.async_hooks`: Enables capture of detailed [`async_hooks`](https://nodejs.org/docs/latest-v24.x/api/async_hooks.html) trace data.
|
|
13
|
+
* The [`async_hooks`](https://nodejs.org/docs/latest-v24.x/api/async_hooks.html) events have a unique `asyncId` and a special `triggerId` `triggerAsyncId` property.
|
|
14
14
|
* * `node.bootstrap`: Enables capture of Node.js bootstrap milestones.
|
|
15
|
-
* * `node.console`: Enables capture of `console.time()` and `console.count()`output.
|
|
16
|
-
* * `node.threadpoolwork.sync`: Enables capture of trace data for threadpool
|
|
17
|
-
*
|
|
18
|
-
* * `node.threadpoolwork.async`: Enables capture of trace data for threadpool
|
|
19
|
-
* asynchronous operations, such as `blob`, `zlib`, `crypto` and `node_api`.
|
|
15
|
+
* * `node.console`: Enables capture of `console.time()` and `console.count()` output.
|
|
16
|
+
* * `node.threadpoolwork.sync`: Enables capture of trace data for threadpool synchronous operations, such as `blob`, `zlib`, `crypto` and `node_api`.
|
|
17
|
+
* * `node.threadpoolwork.async`: Enables capture of trace data for threadpool asynchronous operations, such as `blob`, `zlib`, `crypto` and `node_api`.
|
|
20
18
|
* * `node.dns.native`: Enables capture of trace data for DNS queries.
|
|
21
19
|
* * `node.net.native`: Enables capture of trace data for network.
|
|
22
20
|
* * `node.environment`: Enables capture of Node.js Environment milestones.
|
|
23
21
|
* * `node.fs.sync`: Enables capture of trace data for file system sync methods.
|
|
24
|
-
* * `node.fs_dir.sync`: Enables capture of trace data for file system sync
|
|
25
|
-
* directory methods.
|
|
22
|
+
* * `node.fs_dir.sync`: Enables capture of trace data for file system sync directory methods.
|
|
26
23
|
* * `node.fs.async`: Enables capture of trace data for file system async methods.
|
|
27
|
-
* * `node.fs_dir.async`: Enables capture of trace data for file system async
|
|
28
|
-
*
|
|
29
|
-
* * `node.perf`: Enables capture of `Performance API` measurements.
|
|
24
|
+
* * `node.fs_dir.async`: Enables capture of trace data for file system async directory methods.
|
|
25
|
+
* * `node.perf`: Enables capture of [Performance API](https://nodejs.org/docs/latest-v24.x/api/perf_hooks.html) measurements.
|
|
30
26
|
* * `node.perf.usertiming`: Enables capture of only Performance API User Timing
|
|
31
27
|
* measures and marks.
|
|
32
28
|
* * `node.perf.timerify`: Enables capture of only Performance API timerify
|
|
33
29
|
* measurements.
|
|
34
30
|
* * `node.promises.rejections`: Enables capture of trace data tracking the number
|
|
35
31
|
* of unhandled Promise rejections and handled-after-rejections.
|
|
36
|
-
* * `node.vm.script`: Enables capture of trace data for the `node:vm` module's`runInNewContext()`, `runInContext()`, and `runInThisContext()` methods.
|
|
37
|
-
* * `v8`: The
|
|
32
|
+
* * `node.vm.script`: Enables capture of trace data for the `node:vm` module's `runInNewContext()`, `runInContext()`, and `runInThisContext()` methods.
|
|
33
|
+
* * `v8`: The [V8](https://nodejs.org/docs/latest-v24.x/api/v8.html) events are GC, compiling, and execution related.
|
|
38
34
|
* * `node.http`: Enables capture of trace data for http request / response.
|
|
39
35
|
*
|
|
40
36
|
* By default the `node`, `node.async_hooks`, and `v8` categories are enabled.
|
|
@@ -43,8 +39,8 @@
|
|
|
43
39
|
* node --trace-event-categories v8,node,node.async_hooks server.js
|
|
44
40
|
* ```
|
|
45
41
|
*
|
|
46
|
-
* Prior versions of Node.js required the use of the `--trace-events-enabled`flag to enable trace events. This requirement has been removed. However, the`--trace-events-enabled` flag _may_ still be
|
|
47
|
-
* used and will enable the`node`, `node.async_hooks`, and `v8` trace event categories by default.
|
|
42
|
+
* Prior versions of Node.js required the use of the `--trace-events-enabled` flag to enable trace events. This requirement has been removed. However, the `--trace-events-enabled` flag _may_ still be
|
|
43
|
+
* used and will enable the `node`, `node.async_hooks`, and `v8` trace event categories by default.
|
|
48
44
|
*
|
|
49
45
|
* ```bash
|
|
50
46
|
* node --trace-events-enabled
|
|
@@ -57,7 +53,7 @@
|
|
|
57
53
|
* Alternatively, trace events may be enabled using the `node:trace_events` module:
|
|
58
54
|
*
|
|
59
55
|
* ```js
|
|
60
|
-
*
|
|
56
|
+
* import trace_events from 'node:trace_events';
|
|
61
57
|
* const tracing = trace_events.createTracing({ categories: ['node.perf'] });
|
|
62
58
|
* tracing.enable(); // Enable trace event capture for the 'node.perf' category
|
|
63
59
|
*
|
|
@@ -69,7 +65,7 @@
|
|
|
69
65
|
* Running Node.js with tracing enabled will produce log files that can be opened
|
|
70
66
|
* in the [`chrome://tracing`](https://www.chromium.org/developers/how-tos/trace-event-profiling-tool) tab of Chrome.
|
|
71
67
|
*
|
|
72
|
-
* The logging file is by default called `node_trace.${rotation}.log`, where`${rotation}` is an incrementing log-rotation id. The filepath pattern can
|
|
68
|
+
* The logging file is by default called `node_trace.${rotation}.log`, where `${rotation}` is an incrementing log-rotation id. The filepath pattern can
|
|
73
69
|
* be specified with `--trace-event-file-pattern` that accepts a template
|
|
74
70
|
* string that supports `${rotation}` and `${pid}`:
|
|
75
71
|
*
|
|
@@ -77,7 +73,7 @@
|
|
|
77
73
|
* node --trace-event-categories v8 --trace-event-file-pattern '${pid}-${rotation}.log' server.js
|
|
78
74
|
* ```
|
|
79
75
|
*
|
|
80
|
-
* To guarantee that the log file is properly generated after signal events like`SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers
|
|
76
|
+
* To guarantee that the log file is properly generated after signal events like `SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers
|
|
81
77
|
* in your code, such as:
|
|
82
78
|
*
|
|
83
79
|
* ```js
|
|
@@ -92,9 +88,9 @@
|
|
|
92
88
|
* However the trace-event timestamps are expressed in microseconds,
|
|
93
89
|
* unlike `process.hrtime()` which returns nanoseconds.
|
|
94
90
|
*
|
|
95
|
-
* The features from this module are not available in `Worker` threads.
|
|
91
|
+
* The features from this module are not available in [`Worker`](https://nodejs.org/docs/latest-v24.x/api/worker_threads.html#class-worker) threads.
|
|
96
92
|
* @experimental
|
|
97
|
-
* @see [source](https://github.com/nodejs/node/blob/
|
|
93
|
+
* @see [source](https://github.com/nodejs/node/blob/v24.x/lib/trace_events.js)
|
|
98
94
|
*/
|
|
99
95
|
declare module "trace_events" {
|
|
100
96
|
/**
|
|
@@ -111,6 +107,7 @@ declare module "trace_events" {
|
|
|
111
107
|
/**
|
|
112
108
|
* A comma-separated list of the trace event categories covered by this
|
|
113
109
|
* `Tracing` object.
|
|
110
|
+
* @since v10.0.0
|
|
114
111
|
*/
|
|
115
112
|
readonly categories: string;
|
|
116
113
|
/**
|
|
@@ -119,15 +116,34 @@ declare module "trace_events" {
|
|
|
119
116
|
* Only trace event categories _not_ covered by other enabled `Tracing`
|
|
120
117
|
* objects and _not_ specified by the `--trace-event-categories` flag
|
|
121
118
|
* will be disabled.
|
|
119
|
+
*
|
|
120
|
+
* ```js
|
|
121
|
+
* import trace_events from 'node:trace_events';
|
|
122
|
+
* const t1 = trace_events.createTracing({ categories: ['node', 'v8'] });
|
|
123
|
+
* const t2 = trace_events.createTracing({ categories: ['node.perf', 'node'] });
|
|
124
|
+
* t1.enable();
|
|
125
|
+
* t2.enable();
|
|
126
|
+
*
|
|
127
|
+
* // Prints 'node,node.perf,v8'
|
|
128
|
+
* console.log(trace_events.getEnabledCategories());
|
|
129
|
+
*
|
|
130
|
+
* t2.disable(); // Will only disable emission of the 'node.perf' category
|
|
131
|
+
*
|
|
132
|
+
* // Prints 'node,v8'
|
|
133
|
+
* console.log(trace_events.getEnabledCategories());
|
|
134
|
+
* ```
|
|
135
|
+
* @since v10.0.0
|
|
122
136
|
*/
|
|
123
137
|
disable(): void;
|
|
124
138
|
/**
|
|
125
139
|
* Enables this `Tracing` object for the set of categories covered by
|
|
126
140
|
* the `Tracing` object.
|
|
141
|
+
* @since v10.0.0
|
|
127
142
|
*/
|
|
128
143
|
enable(): void;
|
|
129
144
|
/**
|
|
130
145
|
* `true` only if the `Tracing` object has been enabled.
|
|
146
|
+
* @since v10.0.0
|
|
131
147
|
*/
|
|
132
148
|
readonly enabled: boolean;
|
|
133
149
|
}
|
|
@@ -143,7 +159,7 @@ declare module "trace_events" {
|
|
|
143
159
|
* Creates and returns a `Tracing` object for the given set of `categories`.
|
|
144
160
|
*
|
|
145
161
|
* ```js
|
|
146
|
-
*
|
|
162
|
+
* import trace_events from 'node:trace_events';
|
|
147
163
|
* const categories = ['node.perf', 'node.async_hooks'];
|
|
148
164
|
* const tracing = trace_events.createTracing({ categories });
|
|
149
165
|
* tracing.enable();
|
|
@@ -151,7 +167,6 @@ declare module "trace_events" {
|
|
|
151
167
|
* tracing.disable();
|
|
152
168
|
* ```
|
|
153
169
|
* @since v10.0.0
|
|
154
|
-
* @return .
|
|
155
170
|
*/
|
|
156
171
|
function createTracing(options: CreateTracingOptions): Tracing;
|
|
157
172
|
/**
|
|
@@ -160,10 +175,10 @@ declare module "trace_events" {
|
|
|
160
175
|
* by the _union_ of all currently-enabled `Tracing` objects and any categories
|
|
161
176
|
* enabled using the `--trace-event-categories` flag.
|
|
162
177
|
*
|
|
163
|
-
* Given the file `test.js` below, the command`node --trace-event-categories node.perf test.js` will print`'node.async_hooks,node.perf'` to the console.
|
|
178
|
+
* Given the file `test.js` below, the command `node --trace-event-categories node.perf test.js` will print `'node.async_hooks,node.perf'` to the console.
|
|
164
179
|
*
|
|
165
180
|
* ```js
|
|
166
|
-
*
|
|
181
|
+
* import trace_events from 'node:trace_events';
|
|
167
182
|
* const t1 = trace_events.createTracing({ categories: ['node.async_hooks'] });
|
|
168
183
|
* const t2 = trace_events.createTracing({ categories: ['node.perf'] });
|
|
169
184
|
* const t3 = trace_events.createTracing({ categories: ['v8'] });
|
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
declare module "buffer" {
|
|
2
|
+
global {
|
|
3
|
+
interface BufferConstructor {
|
|
4
|
+
// see ../buffer.d.ts for implementation shared with all TypeScript versions
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Allocates a new buffer containing the given {str}.
|
|
8
|
+
*
|
|
9
|
+
* @param str String to store in buffer.
|
|
10
|
+
* @param encoding encoding to use, optional. Default is 'utf8'
|
|
11
|
+
* @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead.
|
|
12
|
+
*/
|
|
13
|
+
new(str: string, encoding?: BufferEncoding): Buffer;
|
|
14
|
+
/**
|
|
15
|
+
* Allocates a new buffer of {size} octets.
|
|
16
|
+
*
|
|
17
|
+
* @param size count of octets to allocate.
|
|
18
|
+
* @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`).
|
|
19
|
+
*/
|
|
20
|
+
new(size: number): Buffer;
|
|
21
|
+
/**
|
|
22
|
+
* Allocates a new buffer containing the given {array} of octets.
|
|
23
|
+
*
|
|
24
|
+
* @param array The octets to store.
|
|
25
|
+
* @deprecated since v10.0.0 - Use `Buffer.from(array)` instead.
|
|
26
|
+
*/
|
|
27
|
+
new(array: ArrayLike<number>): Buffer;
|
|
28
|
+
/**
|
|
29
|
+
* Produces a Buffer backed by the same allocated memory as
|
|
30
|
+
* the given {ArrayBuffer}/{SharedArrayBuffer}.
|
|
31
|
+
*
|
|
32
|
+
* @param arrayBuffer The ArrayBuffer with which to share memory.
|
|
33
|
+
* @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead.
|
|
34
|
+
*/
|
|
35
|
+
new(arrayBuffer: ArrayBufferLike): Buffer;
|
|
36
|
+
/**
|
|
37
|
+
* Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`.
|
|
38
|
+
* Array entries outside that range will be truncated to fit into it.
|
|
39
|
+
*
|
|
40
|
+
* ```js
|
|
41
|
+
* import { Buffer } from 'node:buffer';
|
|
42
|
+
*
|
|
43
|
+
* // Creates a new Buffer containing the UTF-8 bytes of the string 'buffer'.
|
|
44
|
+
* const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* If `array` is an `Array`-like object (that is, one with a `length` property of
|
|
48
|
+
* type `number`), it is treated as if it is an array, unless it is a `Buffer` or
|
|
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()`.
|
|
52
|
+
*
|
|
53
|
+
* A `TypeError` will be thrown if `array` is not an `Array` or another type
|
|
54
|
+
* appropriate for `Buffer.from()` variants.
|
|
55
|
+
*
|
|
56
|
+
* `Buffer.from(array)` and `Buffer.from(string)` may also use the internal
|
|
57
|
+
* `Buffer` pool like `Buffer.allocUnsafe()` does.
|
|
58
|
+
* @since v5.10.0
|
|
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
|
+
*/
|
|
128
|
+
from(
|
|
129
|
+
arrayBuffer: WithImplicitCoercion<ArrayBufferLike>,
|
|
130
|
+
byteOffset?: number,
|
|
131
|
+
length?: number,
|
|
132
|
+
): Buffer;
|
|
133
|
+
/**
|
|
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'`.
|
|
159
|
+
*/
|
|
160
|
+
from(string: WithImplicitCoercion<string>, encoding?: BufferEncoding): Buffer;
|
|
161
|
+
from(arrayOrString: WithImplicitCoercion<ArrayLike<number> | string>): Buffer;
|
|
162
|
+
/**
|
|
163
|
+
* Creates a new Buffer using the passed {data}
|
|
164
|
+
* @param values to create a new Buffer
|
|
165
|
+
*/
|
|
166
|
+
of(...items: number[]): Buffer;
|
|
167
|
+
/**
|
|
168
|
+
* Returns a new `Buffer` which is the result of concatenating all the `Buffer` instances in the `list` together.
|
|
169
|
+
*
|
|
170
|
+
* If the list has no items, or if the `totalLength` is 0, then a new zero-length `Buffer` is returned.
|
|
171
|
+
*
|
|
172
|
+
* If `totalLength` is not provided, it is calculated from the `Buffer` instances
|
|
173
|
+
* in `list` by adding their lengths.
|
|
174
|
+
*
|
|
175
|
+
* If `totalLength` is provided, it is coerced to an unsigned integer. If the
|
|
176
|
+
* combined length of the `Buffer`s in `list` exceeds `totalLength`, the result is
|
|
177
|
+
* truncated to `totalLength`.
|
|
178
|
+
*
|
|
179
|
+
* ```js
|
|
180
|
+
* import { Buffer } from 'node:buffer';
|
|
181
|
+
*
|
|
182
|
+
* // Create a single `Buffer` from a list of three `Buffer` instances.
|
|
183
|
+
*
|
|
184
|
+
* const buf1 = Buffer.alloc(10);
|
|
185
|
+
* const buf2 = Buffer.alloc(14);
|
|
186
|
+
* const buf3 = Buffer.alloc(18);
|
|
187
|
+
* const totalLength = buf1.length + buf2.length + buf3.length;
|
|
188
|
+
*
|
|
189
|
+
* console.log(totalLength);
|
|
190
|
+
* // Prints: 42
|
|
191
|
+
*
|
|
192
|
+
* const bufA = Buffer.concat([buf1, buf2, buf3], totalLength);
|
|
193
|
+
*
|
|
194
|
+
* console.log(bufA);
|
|
195
|
+
* // Prints: <Buffer 00 00 00 00 ...>
|
|
196
|
+
* console.log(bufA.length);
|
|
197
|
+
* // Prints: 42
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
200
|
+
* `Buffer.concat()` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does.
|
|
201
|
+
* @since v0.7.11
|
|
202
|
+
* @param list List of `Buffer` or {@link Uint8Array} instances to concatenate.
|
|
203
|
+
* @param totalLength Total length of the `Buffer` instances in `list` when concatenated.
|
|
204
|
+
*/
|
|
205
|
+
concat(list: readonly Uint8Array[], totalLength?: number): Buffer;
|
|
206
|
+
/**
|
|
207
|
+
* Copies the underlying memory of `view` into a new `Buffer`.
|
|
208
|
+
*
|
|
209
|
+
* ```js
|
|
210
|
+
* const u16 = new Uint16Array([0, 0xffff]);
|
|
211
|
+
* const buf = Buffer.copyBytesFrom(u16, 1, 1);
|
|
212
|
+
* u16[1] = 0;
|
|
213
|
+
* console.log(buf.length); // 2
|
|
214
|
+
* console.log(buf[0]); // 255
|
|
215
|
+
* console.log(buf[1]); // 255
|
|
216
|
+
* ```
|
|
217
|
+
* @since v19.8.0
|
|
218
|
+
* @param view The {TypedArray} to copy.
|
|
219
|
+
* @param [offset=0] The starting offset within `view`.
|
|
220
|
+
* @param [length=view.length - offset] The number of elements from `view` to copy.
|
|
221
|
+
*/
|
|
222
|
+
copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer;
|
|
223
|
+
/**
|
|
224
|
+
* Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the`Buffer` will be zero-filled.
|
|
225
|
+
*
|
|
226
|
+
* ```js
|
|
227
|
+
* import { Buffer } from 'node:buffer';
|
|
228
|
+
*
|
|
229
|
+
* const buf = Buffer.alloc(5);
|
|
230
|
+
*
|
|
231
|
+
* console.log(buf);
|
|
232
|
+
* // Prints: <Buffer 00 00 00 00 00>
|
|
233
|
+
* ```
|
|
234
|
+
*
|
|
235
|
+
* If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown.
|
|
236
|
+
*
|
|
237
|
+
* If `fill` is specified, the allocated `Buffer` will be initialized by calling `buf.fill(fill)`.
|
|
238
|
+
*
|
|
239
|
+
* ```js
|
|
240
|
+
* import { Buffer } from 'node:buffer';
|
|
241
|
+
*
|
|
242
|
+
* const buf = Buffer.alloc(5, 'a');
|
|
243
|
+
*
|
|
244
|
+
* console.log(buf);
|
|
245
|
+
* // Prints: <Buffer 61 61 61 61 61>
|
|
246
|
+
* ```
|
|
247
|
+
*
|
|
248
|
+
* If both `fill` and `encoding` are specified, the allocated `Buffer` will be
|
|
249
|
+
* initialized by calling `buf.fill(fill, encoding)`.
|
|
250
|
+
*
|
|
251
|
+
* ```js
|
|
252
|
+
* import { Buffer } from 'node:buffer';
|
|
253
|
+
*
|
|
254
|
+
* const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
|
|
255
|
+
*
|
|
256
|
+
* console.log(buf);
|
|
257
|
+
* // Prints: <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
|
|
258
|
+
* ```
|
|
259
|
+
*
|
|
260
|
+
* Calling `Buffer.alloc()` can be measurably slower than the alternative `Buffer.allocUnsafe()` but ensures that the newly created `Buffer` instance
|
|
261
|
+
* contents will never contain sensitive data from previous allocations, including
|
|
262
|
+
* data that might not have been allocated for `Buffer`s.
|
|
263
|
+
*
|
|
264
|
+
* A `TypeError` will be thrown if `size` is not a number.
|
|
265
|
+
* @since v5.10.0
|
|
266
|
+
* @param size The desired length of the new `Buffer`.
|
|
267
|
+
* @param [fill=0] A value to pre-fill the new `Buffer` with.
|
|
268
|
+
* @param [encoding='utf8'] If `fill` is a string, this is its encoding.
|
|
269
|
+
*/
|
|
270
|
+
alloc(size: number, fill?: string | Uint8Array | number, encoding?: BufferEncoding): Buffer;
|
|
271
|
+
/**
|
|
272
|
+
* Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown.
|
|
273
|
+
*
|
|
274
|
+
* The underlying memory for `Buffer` instances created in this way is _not_
|
|
275
|
+
* _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `Buffer.alloc()` instead to initialize`Buffer` instances with zeroes.
|
|
276
|
+
*
|
|
277
|
+
* ```js
|
|
278
|
+
* import { Buffer } from 'node:buffer';
|
|
279
|
+
*
|
|
280
|
+
* const buf = Buffer.allocUnsafe(10);
|
|
281
|
+
*
|
|
282
|
+
* console.log(buf);
|
|
283
|
+
* // Prints (contents may vary): <Buffer a0 8b 28 3f 01 00 00 00 50 32>
|
|
284
|
+
*
|
|
285
|
+
* buf.fill(0);
|
|
286
|
+
*
|
|
287
|
+
* console.log(buf);
|
|
288
|
+
* // Prints: <Buffer 00 00 00 00 00 00 00 00 00 00>
|
|
289
|
+
* ```
|
|
290
|
+
*
|
|
291
|
+
* A `TypeError` will be thrown if `size` is not a number.
|
|
292
|
+
*
|
|
293
|
+
* The `Buffer` module pre-allocates an internal `Buffer` instance of
|
|
294
|
+
* size `Buffer.poolSize` that is used as a pool for the fast allocation of new `Buffer` instances created using `Buffer.allocUnsafe()`, `Buffer.from(array)`,
|
|
295
|
+
* and `Buffer.concat()` only when `size` is less than `Buffer.poolSize >>> 1` (floor of `Buffer.poolSize` divided by two).
|
|
296
|
+
*
|
|
297
|
+
* Use of this pre-allocated internal memory pool is a key difference between
|
|
298
|
+
* calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
|
|
299
|
+
* Specifically, `Buffer.alloc(size, fill)` will _never_ use the internal `Buffer`pool, while `Buffer.allocUnsafe(size).fill(fill)`_will_ use the internal`Buffer` pool if `size` is less
|
|
300
|
+
* than or equal to half `Buffer.poolSize`. The
|
|
301
|
+
* difference is subtle but can be important when an application requires the
|
|
302
|
+
* additional performance that `Buffer.allocUnsafe()` provides.
|
|
303
|
+
* @since v5.10.0
|
|
304
|
+
* @param size The desired length of the new `Buffer`.
|
|
305
|
+
*/
|
|
306
|
+
allocUnsafe(size: number): Buffer;
|
|
307
|
+
/**
|
|
308
|
+
* Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_OUT_OF_RANGE` is thrown. A zero-length `Buffer` is created if
|
|
309
|
+
* `size` is 0.
|
|
310
|
+
*
|
|
311
|
+
* The underlying memory for `Buffer` instances created in this way is _not_
|
|
312
|
+
* _initialized_. The contents of the newly created `Buffer` are unknown and _may contain sensitive data_. Use `buf.fill(0)` to initialize
|
|
313
|
+
* such `Buffer` instances with zeroes.
|
|
314
|
+
*
|
|
315
|
+
* When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances,
|
|
316
|
+
* allocations under 4 KiB are sliced from a single pre-allocated `Buffer`. This
|
|
317
|
+
* allows applications to avoid the garbage collection overhead of creating many
|
|
318
|
+
* individually allocated `Buffer` instances. This approach improves both
|
|
319
|
+
* performance and memory usage by eliminating the need to track and clean up as
|
|
320
|
+
* many individual `ArrayBuffer` objects.
|
|
321
|
+
*
|
|
322
|
+
* However, in the case where a developer may need to retain a small chunk of
|
|
323
|
+
* memory from a pool for an indeterminate amount of time, it may be appropriate
|
|
324
|
+
* to create an un-pooled `Buffer` instance using `Buffer.allocUnsafeSlow()` and
|
|
325
|
+
* then copying out the relevant bits.
|
|
326
|
+
*
|
|
327
|
+
* ```js
|
|
328
|
+
* import { Buffer } from 'node:buffer';
|
|
329
|
+
*
|
|
330
|
+
* // Need to keep around a few small chunks of memory.
|
|
331
|
+
* const store = [];
|
|
332
|
+
*
|
|
333
|
+
* socket.on('readable', () => {
|
|
334
|
+
* let data;
|
|
335
|
+
* while (null !== (data = readable.read())) {
|
|
336
|
+
* // Allocate for retained data.
|
|
337
|
+
* const sb = Buffer.allocUnsafeSlow(10);
|
|
338
|
+
*
|
|
339
|
+
* // Copy the data into the new allocation.
|
|
340
|
+
* data.copy(sb, 0, 0, 10);
|
|
341
|
+
*
|
|
342
|
+
* store.push(sb);
|
|
343
|
+
* }
|
|
344
|
+
* });
|
|
345
|
+
* ```
|
|
346
|
+
*
|
|
347
|
+
* A `TypeError` will be thrown if `size` is not a number.
|
|
348
|
+
* @since v5.12.0
|
|
349
|
+
* @param size The desired length of the new `Buffer`.
|
|
350
|
+
*/
|
|
351
|
+
allocUnsafeSlow(size: number): Buffer;
|
|
352
|
+
}
|
|
353
|
+
interface Buffer extends Uint8Array {
|
|
354
|
+
// see ../buffer.d.ts for implementation shared with all TypeScript versions
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Returns a new `Buffer` that references the same memory as the original, but
|
|
358
|
+
* offset and cropped by the `start` and `end` indices.
|
|
359
|
+
*
|
|
360
|
+
* This method is not compatible with the `Uint8Array.prototype.slice()`,
|
|
361
|
+
* which is a superclass of `Buffer`. To copy the slice, use`Uint8Array.prototype.slice()`.
|
|
362
|
+
*
|
|
363
|
+
* ```js
|
|
364
|
+
* import { Buffer } from 'node:buffer';
|
|
365
|
+
*
|
|
366
|
+
* const buf = Buffer.from('buffer');
|
|
367
|
+
*
|
|
368
|
+
* const copiedBuf = Uint8Array.prototype.slice.call(buf);
|
|
369
|
+
* copiedBuf[0]++;
|
|
370
|
+
* console.log(copiedBuf.toString());
|
|
371
|
+
* // Prints: cuffer
|
|
372
|
+
*
|
|
373
|
+
* console.log(buf.toString());
|
|
374
|
+
* // Prints: buffer
|
|
375
|
+
*
|
|
376
|
+
* // With buf.slice(), the original buffer is modified.
|
|
377
|
+
* const notReallyCopiedBuf = buf.slice();
|
|
378
|
+
* notReallyCopiedBuf[0]++;
|
|
379
|
+
* console.log(notReallyCopiedBuf.toString());
|
|
380
|
+
* // Prints: cuffer
|
|
381
|
+
* console.log(buf.toString());
|
|
382
|
+
* // Also prints: cuffer (!)
|
|
383
|
+
* ```
|
|
384
|
+
* @since v0.3.0
|
|
385
|
+
* @deprecated Use `subarray` instead.
|
|
386
|
+
* @param [start=0] Where the new `Buffer` will start.
|
|
387
|
+
* @param [end=buf.length] Where the new `Buffer` will end (not inclusive).
|
|
388
|
+
*/
|
|
389
|
+
slice(start?: number, end?: number): Buffer;
|
|
390
|
+
/**
|
|
391
|
+
* Returns a new `Buffer` that references the same memory as the original, but
|
|
392
|
+
* offset and cropped by the `start` and `end` indices.
|
|
393
|
+
*
|
|
394
|
+
* Specifying `end` greater than `buf.length` will return the same result as
|
|
395
|
+
* that of `end` equal to `buf.length`.
|
|
396
|
+
*
|
|
397
|
+
* This method is inherited from [`TypedArray.prototype.subarray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray).
|
|
398
|
+
*
|
|
399
|
+
* Modifying the new `Buffer` slice will modify the memory in the original `Buffer`because the allocated memory of the two objects overlap.
|
|
400
|
+
*
|
|
401
|
+
* ```js
|
|
402
|
+
* import { Buffer } from 'node:buffer';
|
|
403
|
+
*
|
|
404
|
+
* // Create a `Buffer` with the ASCII alphabet, take a slice, and modify one byte
|
|
405
|
+
* // from the original `Buffer`.
|
|
406
|
+
*
|
|
407
|
+
* const buf1 = Buffer.allocUnsafe(26);
|
|
408
|
+
*
|
|
409
|
+
* for (let i = 0; i < 26; i++) {
|
|
410
|
+
* // 97 is the decimal ASCII value for 'a'.
|
|
411
|
+
* buf1[i] = i + 97;
|
|
412
|
+
* }
|
|
413
|
+
*
|
|
414
|
+
* const buf2 = buf1.subarray(0, 3);
|
|
415
|
+
*
|
|
416
|
+
* console.log(buf2.toString('ascii', 0, buf2.length));
|
|
417
|
+
* // Prints: abc
|
|
418
|
+
*
|
|
419
|
+
* buf1[0] = 33;
|
|
420
|
+
*
|
|
421
|
+
* console.log(buf2.toString('ascii', 0, buf2.length));
|
|
422
|
+
* // Prints: !bc
|
|
423
|
+
* ```
|
|
424
|
+
*
|
|
425
|
+
* Specifying negative indexes causes the slice to be generated relative to the
|
|
426
|
+
* end of `buf` rather than the beginning.
|
|
427
|
+
*
|
|
428
|
+
* ```js
|
|
429
|
+
* import { Buffer } from 'node:buffer';
|
|
430
|
+
*
|
|
431
|
+
* const buf = Buffer.from('buffer');
|
|
432
|
+
*
|
|
433
|
+
* console.log(buf.subarray(-6, -1).toString());
|
|
434
|
+
* // Prints: buffe
|
|
435
|
+
* // (Equivalent to buf.subarray(0, 5).)
|
|
436
|
+
*
|
|
437
|
+
* console.log(buf.subarray(-6, -2).toString());
|
|
438
|
+
* // Prints: buff
|
|
439
|
+
* // (Equivalent to buf.subarray(0, 4).)
|
|
440
|
+
*
|
|
441
|
+
* console.log(buf.subarray(-5, -2).toString());
|
|
442
|
+
* // Prints: uff
|
|
443
|
+
* // (Equivalent to buf.subarray(1, 4).)
|
|
444
|
+
* ```
|
|
445
|
+
* @since v3.0.0
|
|
446
|
+
* @param [start=0] Where the new `Buffer` will start.
|
|
447
|
+
* @param [end=buf.length] Where the new `Buffer` will end (not inclusive).
|
|
448
|
+
*/
|
|
449
|
+
subarray(start?: number, end?: number): Buffer;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports
|
|
453
|
+
* TypeScript versions earlier than 5.7.
|
|
454
|
+
*/
|
|
455
|
+
type NonSharedBuffer = Buffer;
|
|
456
|
+
/**
|
|
457
|
+
* @deprecated This is intended for internal use, and will be removed once `@types/node` no longer supports
|
|
458
|
+
* TypeScript versions earlier than 5.7.
|
|
459
|
+
*/
|
|
460
|
+
type AllowSharedBuffer = Buffer;
|
|
461
|
+
}
|
|
462
|
+
/** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
|
|
463
|
+
var SlowBuffer: {
|
|
464
|
+
/** @deprecated Use `Buffer.allocUnsafeSlow()` instead. */
|
|
465
|
+
new(size: number): Buffer;
|
|
466
|
+
prototype: Buffer;
|
|
467
|
+
};
|
|
468
|
+
}
|