@versori/run 0.1.0-alpha.10 → 0.1.0-alpha.12
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/esm/_dnt.shims.d.ts +1 -5
- package/esm/_dnt.shims.d.ts.map +1 -1
- package/esm/_dnt.shims.js +1 -5
- package/esm/deps/jsr.io/@std/fs/1.0.16/exists.d.ts +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.16/exists.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/fs/1.0.16/exists.js +10 -12
- package/esm/deps/jsr.io/@std/log/0.224.14/base_handler.d.ts +0 -21
- package/esm/deps/jsr.io/@std/log/0.224.14/base_handler.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/log/0.224.14/file_handler.d.ts +2 -3
- package/esm/deps/jsr.io/@std/log/0.224.14/file_handler.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/log/0.224.14/file_handler.js +1 -2
- package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +6 -8
- package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.js +2 -3
- package/esm/src/dsl/http/versori/internalauth.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/internalauth.js +5 -6
- package/esm/src/dsl/http/versori/platformapi.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/platformapi.js +3 -4
- package/esm/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/roundtripper.js +4 -5
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.js +7 -5
- package/esm/src/kv/nats/NatsKeyValueProvider.d.ts +1 -2
- package/esm/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
- package/esm/src/kv/nats/NatsKeyValueProvider.js +8 -9
- package/package.json +3 -6
- package/script/_dnt.shims.d.ts +1 -5
- package/script/_dnt.shims.d.ts.map +1 -1
- package/script/_dnt.shims.js +2 -7
- package/script/deps/jsr.io/@std/fs/1.0.16/exists.d.ts +1 -0
- package/script/deps/jsr.io/@std/fs/1.0.16/exists.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/fs/1.0.16/exists.js +10 -35
- package/script/deps/jsr.io/@std/log/0.224.14/base_handler.d.ts +0 -21
- package/script/deps/jsr.io/@std/log/0.224.14/base_handler.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/log/0.224.14/file_handler.d.ts +2 -3
- package/script/deps/jsr.io/@std/log/0.224.14/file_handler.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/log/0.224.14/file_handler.js +1 -25
- package/script/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +6 -31
- package/script/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.js +2 -26
- package/script/src/dsl/http/versori/internalauth.d.ts.map +1 -1
- package/script/src/dsl/http/versori/internalauth.js +5 -29
- package/script/src/dsl/http/versori/platformapi.d.ts.map +1 -1
- package/script/src/dsl/http/versori/platformapi.js +3 -27
- package/script/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
- package/script/src/dsl/http/versori/roundtripper.js +4 -28
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/memory/MemoryInterpreter.js +7 -28
- package/script/src/kv/nats/NatsKeyValueProvider.d.ts +1 -2
- package/script/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
- package/script/src/kv/nats/NatsKeyValueProvider.js +10 -34
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/connect.d.ts +0 -3
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/connect.d.ts.map +0 -1
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/connect.js +0 -28
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/deno_transport.d.ts +0 -36
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/deno_transport.d.ts.map +0 -1
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/deno_transport.js +0 -329
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/mod.d.ts +0 -3
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/mod.d.ts.map +0 -1
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/mod.js +0 -2
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/version.d.ts +0 -2
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/version.d.ts.map +0 -1
- package/esm/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/version.js +0 -2
- package/esm/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts +0 -9
- package/esm/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/bytes/1.0.5/_types.js +0 -2
- package/esm/deps/jsr.io/@std/bytes/1.0.5/concat.d.ts +0 -21
- package/esm/deps/jsr.io/@std/bytes/1.0.5/concat.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/bytes/1.0.5/concat.js +0 -32
- package/esm/deps/jsr.io/@std/bytes/1.0.5/copy.d.ts +0 -41
- package/esm/deps/jsr.io/@std/bytes/1.0.5/copy.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/bytes/1.0.5/copy.js +0 -50
- package/esm/deps/jsr.io/@std/io/0.225.2/_common.d.ts +0 -3
- package/esm/deps/jsr.io/@std/io/0.225.2/_common.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/_common.js +0 -8
- package/esm/deps/jsr.io/@std/io/0.225.2/_constants.d.ts +0 -3
- package/esm/deps/jsr.io/@std/io/0.225.2/_constants.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/_constants.js +0 -4
- package/esm/deps/jsr.io/@std/io/0.225.2/buffer.d.ts +0 -321
- package/esm/deps/jsr.io/@std/io/0.225.2/buffer.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/buffer.js +0 -488
- package/esm/deps/jsr.io/@std/io/0.225.2/copy.d.ts +0 -25
- package/esm/deps/jsr.io/@std/io/0.225.2/copy.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/copy.js +0 -36
- package/esm/deps/jsr.io/@std/io/0.225.2/iterate_reader.d.ts +0 -80
- package/esm/deps/jsr.io/@std/io/0.225.2/iterate_reader.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/iterate_reader.js +0 -96
- package/esm/deps/jsr.io/@std/io/0.225.2/mod.d.ts +0 -25
- package/esm/deps/jsr.io/@std/io/0.225.2/mod.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/mod.js +0 -25
- package/esm/deps/jsr.io/@std/io/0.225.2/read_all.d.ts +0 -42
- package/esm/deps/jsr.io/@std/io/0.225.2/read_all.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/read_all.js +0 -72
- package/esm/deps/jsr.io/@std/io/0.225.2/reader_from_stream_reader.d.ts +0 -20
- package/esm/deps/jsr.io/@std/io/0.225.2/reader_from_stream_reader.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/reader_from_stream_reader.js +0 -36
- package/esm/deps/jsr.io/@std/io/0.225.2/to_readable_stream.d.ts +0 -40
- package/esm/deps/jsr.io/@std/io/0.225.2/to_readable_stream.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/to_readable_stream.js +0 -54
- package/esm/deps/jsr.io/@std/io/0.225.2/to_writable_stream.d.ts +0 -27
- package/esm/deps/jsr.io/@std/io/0.225.2/to_writable_stream.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/io/0.225.2/to_writable_stream.js +0 -44
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/connect.d.ts +0 -3
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/connect.d.ts.map +0 -1
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/connect.js +0 -31
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/deno_transport.d.ts +0 -36
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/deno_transport.d.ts.map +0 -1
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/deno_transport.js +0 -357
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/mod.d.ts +0 -3
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/mod.d.ts.map +0 -1
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/mod.js +0 -20
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/version.d.ts +0 -2
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/version.d.ts.map +0 -1
- package/script/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/version.js +0 -5
- package/script/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts +0 -9
- package/script/deps/jsr.io/@std/bytes/1.0.5/_types.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/bytes/1.0.5/_types.js +0 -3
- package/script/deps/jsr.io/@std/bytes/1.0.5/concat.d.ts +0 -21
- package/script/deps/jsr.io/@std/bytes/1.0.5/concat.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/bytes/1.0.5/concat.js +0 -35
- package/script/deps/jsr.io/@std/bytes/1.0.5/copy.d.ts +0 -41
- package/script/deps/jsr.io/@std/bytes/1.0.5/copy.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/bytes/1.0.5/copy.js +0 -53
- package/script/deps/jsr.io/@std/io/0.225.2/_common.d.ts +0 -3
- package/script/deps/jsr.io/@std/io/0.225.2/_common.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/_common.js +0 -11
- package/script/deps/jsr.io/@std/io/0.225.2/_constants.d.ts +0 -3
- package/script/deps/jsr.io/@std/io/0.225.2/_constants.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/_constants.js +0 -7
- package/script/deps/jsr.io/@std/io/0.225.2/buffer.d.ts +0 -321
- package/script/deps/jsr.io/@std/io/0.225.2/buffer.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/buffer.js +0 -492
- package/script/deps/jsr.io/@std/io/0.225.2/copy.d.ts +0 -25
- package/script/deps/jsr.io/@std/io/0.225.2/copy.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/copy.js +0 -39
- package/script/deps/jsr.io/@std/io/0.225.2/iterate_reader.d.ts +0 -80
- package/script/deps/jsr.io/@std/io/0.225.2/iterate_reader.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/iterate_reader.js +0 -100
- package/script/deps/jsr.io/@std/io/0.225.2/mod.d.ts +0 -25
- package/script/deps/jsr.io/@std/io/0.225.2/mod.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/mod.js +0 -41
- package/script/deps/jsr.io/@std/io/0.225.2/read_all.d.ts +0 -42
- package/script/deps/jsr.io/@std/io/0.225.2/read_all.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/read_all.js +0 -76
- package/script/deps/jsr.io/@std/io/0.225.2/reader_from_stream_reader.d.ts +0 -20
- package/script/deps/jsr.io/@std/io/0.225.2/reader_from_stream_reader.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/reader_from_stream_reader.js +0 -39
- package/script/deps/jsr.io/@std/io/0.225.2/to_readable_stream.d.ts +0 -40
- package/script/deps/jsr.io/@std/io/0.225.2/to_readable_stream.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/to_readable_stream.js +0 -57
- package/script/deps/jsr.io/@std/io/0.225.2/to_writable_stream.d.ts +0 -27
- package/script/deps/jsr.io/@std/io/0.225.2/to_writable_stream.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/io/0.225.2/to_writable_stream.js +0 -47
|
@@ -1,44 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.NatsKeyValueProvider = void 0;
|
|
27
|
-
const dntShim = __importStar(require("../../../_dnt.shims.js"));
|
|
28
4
|
const mod_js_1 = require("../../../deps/jsr.io/@nats-io/jetstream/3.0.2/src/mod.js");
|
|
29
5
|
const mod_js_2 = require("../../../deps/jsr.io/@nats-io/kv/3.0.2/src/mod.js");
|
|
30
|
-
const
|
|
6
|
+
const transport_node_1 = require("@nats-io/transport-node");
|
|
31
7
|
const KeyValue_js_1 = require("../KeyValue.js");
|
|
32
8
|
const NatsKeyValue_js_1 = require("./NatsKeyValue.js");
|
|
33
9
|
function getOptionsFromEnv() {
|
|
34
|
-
const natsTlsCaFile =
|
|
10
|
+
const natsTlsCaFile = Deno.env.get('RUN_NATS_TLS_CA_FILE');
|
|
35
11
|
return {
|
|
36
|
-
organizationId:
|
|
37
|
-
projectId:
|
|
38
|
-
environment:
|
|
12
|
+
organizationId: Deno.env.get('RUN_ORGANISATION_ID'),
|
|
13
|
+
projectId: Deno.env.get('RUN_SERVICE_ID'),
|
|
14
|
+
environment: Deno.env.get('RUN_ENVIRONMENT'),
|
|
39
15
|
nats: {
|
|
40
|
-
url:
|
|
41
|
-
credsFile:
|
|
16
|
+
url: Deno.env.get('RUN_NATS_URL') || 'nats://localhost:4222',
|
|
17
|
+
credsFile: Deno.env.get('RUN_NATS_CREDS_FILE'),
|
|
42
18
|
...(natsTlsCaFile && {
|
|
43
19
|
tls: {
|
|
44
20
|
caFile: natsTlsCaFile,
|
|
@@ -111,11 +87,11 @@ class NatsKeyValueProvider {
|
|
|
111
87
|
static async newInstance(opts = {}) {
|
|
112
88
|
const parsedOpts = mergeOptions(getOptionsFromEnv(), opts);
|
|
113
89
|
const credsFile = parsedOpts.nats.credsFile
|
|
114
|
-
? await
|
|
90
|
+
? await Deno.readFile(parsedOpts.nats.credsFile)
|
|
115
91
|
: undefined;
|
|
116
|
-
const conn = await (0,
|
|
92
|
+
const conn = await (0, transport_node_1.connect)({
|
|
117
93
|
servers: [parsedOpts.nats.url],
|
|
118
|
-
authenticator: credsFile ? (0,
|
|
94
|
+
authenticator: credsFile ? (0, transport_node_1.credsAuthenticator)(credsFile) : undefined,
|
|
119
95
|
...(parsedOpts.nats.tls && {
|
|
120
96
|
tls: parsedOpts.nats.tls,
|
|
121
97
|
}),
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/connect.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAGf,MAAM,8CAA8C,CAAC;AAStD,wBAAgB,OAAO,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiB7E"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2020-2024 The NATS Authors
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
* you may not use this file except in compliance with the License.
|
|
5
|
-
* You may obtain a copy of the License at
|
|
6
|
-
*
|
|
7
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
*
|
|
9
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
* See the License for the specific language governing permissions and
|
|
13
|
-
* limitations under the License.
|
|
14
|
-
*/
|
|
15
|
-
import { denoResolveHost, DenoTransport } from "./deno_transport.js";
|
|
16
|
-
import { errors, hasWsProtocol, NatsConnectionImpl, setTransportFactory, } from "../../../nats-core/3.0.2/src/internal_mod.js";
|
|
17
|
-
export function connect(opts = {}) {
|
|
18
|
-
if (hasWsProtocol(opts)) {
|
|
19
|
-
return Promise.reject(errors.InvalidArgumentError.format(`servers`, `deno client doesn't support websockets, use the 'wsconnect' function instead`));
|
|
20
|
-
}
|
|
21
|
-
setTransportFactory({
|
|
22
|
-
factory: () => {
|
|
23
|
-
return new DenoTransport();
|
|
24
|
-
},
|
|
25
|
-
dnsResolveFn: denoResolveHost,
|
|
26
|
-
});
|
|
27
|
-
return NatsConnectionImpl.connect(opts);
|
|
28
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import * as dntShim from "../../../../../../_dnt.shims.js";
|
|
2
|
-
import type { ConnectionOptions, ServerInfo, Transport } from "../../../nats-core/3.0.2/src/internal_mod.js";
|
|
3
|
-
export declare class DenoTransport implements Transport {
|
|
4
|
-
version: string;
|
|
5
|
-
lang: string;
|
|
6
|
-
closeError?: Error;
|
|
7
|
-
private options;
|
|
8
|
-
private buf;
|
|
9
|
-
private encrypted;
|
|
10
|
-
private done;
|
|
11
|
-
private closedNotification;
|
|
12
|
-
private conn;
|
|
13
|
-
private frames;
|
|
14
|
-
private pendingWrite;
|
|
15
|
-
constructor();
|
|
16
|
-
connect(hp: {
|
|
17
|
-
hostname: string;
|
|
18
|
-
port: number;
|
|
19
|
-
tlsName: string;
|
|
20
|
-
}, options: ConnectionOptions): Promise<void>;
|
|
21
|
-
get isClosed(): boolean;
|
|
22
|
-
peekInfo(): Promise<ServerInfo>;
|
|
23
|
-
loadTlsOptions(hostname: string): Promise<dntShim.Deno.StartTlsOptions>;
|
|
24
|
-
startTLS(hostname: string): Promise<void>;
|
|
25
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<Uint8Array>;
|
|
26
|
-
maybeWriteFrame(): void;
|
|
27
|
-
send(frame: Uint8Array): void;
|
|
28
|
-
isEncrypted(): boolean;
|
|
29
|
-
close(err?: Error): Promise<void>;
|
|
30
|
-
disconnect(): void;
|
|
31
|
-
_closed(err?: Error, internal?: boolean): Promise<void>;
|
|
32
|
-
closed(): Promise<void | Error>;
|
|
33
|
-
discard(): void;
|
|
34
|
-
}
|
|
35
|
-
export declare function denoResolveHost(s: string): Promise<string[]>;
|
|
36
|
-
//# sourceMappingURL=deno_transport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deno_transport.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/deno_transport.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAe3D,OAAO,KAAK,EACV,iBAAiB,EAEjB,UAAU,EAEV,SAAS,EACV,MAAM,8CAA8C,CAAC;AAUtD,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,EAAE,MAAM,CAAW;IAC1B,IAAI,EAAE,MAAM,CAAQ;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,kBAAkB,CAAsC;IAChE,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,YAAY,CAAuB;;IAQrC,OAAO,CACX,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACvD,OAAO,EAAE,iBAAiB;IA4C5B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAgC/B,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;IAoBvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC;IA2BlE,eAAe,IAAI,IAAI;IAuBvB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAU7B,WAAW,IAAI,OAAO;IAItB,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,UAAU;IAKJ,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC1D,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;IAI/B,OAAO;CAGR;AAED,wBAAsB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAelE"}
|
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2020-2024 The NATS Authors
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
* you may not use this file except in compliance with the License.
|
|
5
|
-
* You may obtain a copy of the License at
|
|
6
|
-
*
|
|
7
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
*
|
|
9
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
* See the License for the specific language governing permissions and
|
|
13
|
-
* limitations under the License.
|
|
14
|
-
*/
|
|
15
|
-
import * as dntShim from "../../../../../../_dnt.shims.js";
|
|
16
|
-
import { checkOptions, checkUnsupportedOption, DataBuffer, deferred, Empty, errors, extractProtocolMessage, INFO, render, } from "../../../nats-core/3.0.2/src/internal_mod.js";
|
|
17
|
-
import { writeAll } from "../../../../@std/io/0.225.2/mod.js";
|
|
18
|
-
import { version } from "./version.js";
|
|
19
|
-
const VERSION = version;
|
|
20
|
-
const LANG = "nats.deno";
|
|
21
|
-
const ReadBufferSize = 1024 * 256;
|
|
22
|
-
export class DenoTransport {
|
|
23
|
-
constructor() {
|
|
24
|
-
Object.defineProperty(this, "version", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true,
|
|
27
|
-
writable: true,
|
|
28
|
-
value: VERSION
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(this, "lang", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
configurable: true,
|
|
33
|
-
writable: true,
|
|
34
|
-
value: LANG
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(this, "closeError", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
configurable: true,
|
|
39
|
-
writable: true,
|
|
40
|
-
value: void 0
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(this, "options", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
configurable: true,
|
|
45
|
-
writable: true,
|
|
46
|
-
value: void 0
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(this, "buf", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
configurable: true,
|
|
51
|
-
writable: true,
|
|
52
|
-
value: void 0
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(this, "encrypted", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
configurable: true,
|
|
57
|
-
writable: true,
|
|
58
|
-
value: false
|
|
59
|
-
});
|
|
60
|
-
Object.defineProperty(this, "done", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
configurable: true,
|
|
63
|
-
writable: true,
|
|
64
|
-
value: false
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(this, "closedNotification", {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
configurable: true,
|
|
69
|
-
writable: true,
|
|
70
|
-
value: deferred()
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(this, "conn", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
configurable: true,
|
|
75
|
-
writable: true,
|
|
76
|
-
value: void 0
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(this, "frames", {
|
|
79
|
-
enumerable: true,
|
|
80
|
-
configurable: true,
|
|
81
|
-
writable: true,
|
|
82
|
-
value: void 0
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(this, "pendingWrite", {
|
|
85
|
-
enumerable: true,
|
|
86
|
-
configurable: true,
|
|
87
|
-
writable: true,
|
|
88
|
-
value: void 0
|
|
89
|
-
});
|
|
90
|
-
this.buf = new Uint8Array(ReadBufferSize);
|
|
91
|
-
this.frames = [];
|
|
92
|
-
this.pendingWrite = null;
|
|
93
|
-
}
|
|
94
|
-
async connect(hp, options) {
|
|
95
|
-
this.options = options;
|
|
96
|
-
const { tls } = this.options;
|
|
97
|
-
const { handshakeFirst } = tls || {};
|
|
98
|
-
try {
|
|
99
|
-
if (handshakeFirst === true) {
|
|
100
|
-
const opts = await this.loadTlsOptions(hp.hostname);
|
|
101
|
-
const ctls = {
|
|
102
|
-
caCerts: opts.caCerts,
|
|
103
|
-
hostname: hp.hostname,
|
|
104
|
-
port: hp.port,
|
|
105
|
-
};
|
|
106
|
-
this.conn = await dntShim.Deno.connectTls(ctls);
|
|
107
|
-
this.encrypted = true;
|
|
108
|
-
// do nothing yet.
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
this.conn = await dntShim.Deno.connect(hp);
|
|
112
|
-
}
|
|
113
|
-
if (this.done) {
|
|
114
|
-
this.conn.close();
|
|
115
|
-
}
|
|
116
|
-
const info = await this.peekInfo();
|
|
117
|
-
checkOptions(info, this.options);
|
|
118
|
-
const { tls_required: tlsRequired, tls_available: tlsAvailable } = info;
|
|
119
|
-
const desired = tlsAvailable === true && options.tls !== null;
|
|
120
|
-
if (!handshakeFirst && (tlsRequired || desired)) {
|
|
121
|
-
const tlsn = hp.tlsName ? hp.tlsName : hp.hostname;
|
|
122
|
-
await this.startTLS(tlsn);
|
|
123
|
-
}
|
|
124
|
-
if (this.done) {
|
|
125
|
-
this.conn.close();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
this.conn?.close();
|
|
130
|
-
const _err = err;
|
|
131
|
-
throw new errors.ConnectionError(_err.message.toLowerCase(), {
|
|
132
|
-
cause: err,
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
get isClosed() {
|
|
137
|
-
return this.done;
|
|
138
|
-
}
|
|
139
|
-
async peekInfo() {
|
|
140
|
-
const inbound = new DataBuffer();
|
|
141
|
-
let pm;
|
|
142
|
-
while (true) {
|
|
143
|
-
const c = await this.conn.read(this.buf);
|
|
144
|
-
if (c === null) {
|
|
145
|
-
// EOF
|
|
146
|
-
throw new Error("socket closed while expecting INFO");
|
|
147
|
-
}
|
|
148
|
-
else if (c) {
|
|
149
|
-
const frame = this.buf.subarray(0, c);
|
|
150
|
-
if (this.options.debug) {
|
|
151
|
-
console.info(`> ${render(frame)}`);
|
|
152
|
-
}
|
|
153
|
-
inbound.fill(frame);
|
|
154
|
-
const raw = inbound.peek();
|
|
155
|
-
pm = extractProtocolMessage(raw);
|
|
156
|
-
if (pm !== "") {
|
|
157
|
-
break;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
// reset the buffer to previously read, so the client
|
|
162
|
-
// can validate the info matches the connection
|
|
163
|
-
this.buf = new Uint8Array(inbound.drain());
|
|
164
|
-
// expecting the info protocol
|
|
165
|
-
const m = INFO.exec(pm);
|
|
166
|
-
if (!m) {
|
|
167
|
-
throw new Error("unexpected response from server");
|
|
168
|
-
}
|
|
169
|
-
return JSON.parse(m[1]);
|
|
170
|
-
}
|
|
171
|
-
async loadTlsOptions(hostname) {
|
|
172
|
-
const tls = this.options && this.options.tls
|
|
173
|
-
? this.options.tls
|
|
174
|
-
: {};
|
|
175
|
-
// these options are not available in Deno
|
|
176
|
-
checkUnsupportedOption("tls.ca", tls.ca);
|
|
177
|
-
checkUnsupportedOption("tls.cert", tls.cert);
|
|
178
|
-
checkUnsupportedOption("tls.certFile", tls.certFile);
|
|
179
|
-
checkUnsupportedOption("tls.key", tls.key);
|
|
180
|
-
checkUnsupportedOption("tls.keyFile", tls.keyFile);
|
|
181
|
-
const sto = { hostname };
|
|
182
|
-
if (tls.caFile) {
|
|
183
|
-
const ca = await dntShim.Deno.readTextFile(tls.caFile);
|
|
184
|
-
sto.caCerts = [ca];
|
|
185
|
-
}
|
|
186
|
-
return sto;
|
|
187
|
-
}
|
|
188
|
-
async startTLS(hostname) {
|
|
189
|
-
const sto = await (this.loadTlsOptions(hostname));
|
|
190
|
-
this.conn = await dntShim.Deno.startTls(
|
|
191
|
-
//@ts-ignore: just the conn
|
|
192
|
-
this.conn, sto);
|
|
193
|
-
// this is necessary because the startTls process doesn't
|
|
194
|
-
// reject a bad certificate, however the next write will.
|
|
195
|
-
// to identify this as the error, we force it
|
|
196
|
-
await this.conn.write(Empty);
|
|
197
|
-
this.encrypted = true;
|
|
198
|
-
}
|
|
199
|
-
async *[Symbol.asyncIterator]() {
|
|
200
|
-
let reason;
|
|
201
|
-
// yield what we initially read
|
|
202
|
-
yield this.buf;
|
|
203
|
-
while (!this.done) {
|
|
204
|
-
try {
|
|
205
|
-
this.buf = new Uint8Array(ReadBufferSize);
|
|
206
|
-
const c = await this.conn.read(this.buf);
|
|
207
|
-
if (c === null) {
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
if (c) {
|
|
211
|
-
const frame = this.buf.subarray(0, c);
|
|
212
|
-
if (this.options.debug) {
|
|
213
|
-
console.info(`> ${render(frame)}`);
|
|
214
|
-
}
|
|
215
|
-
yield frame;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
catch (err) {
|
|
219
|
-
reason = err;
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
this._closed(reason).then().catch();
|
|
224
|
-
}
|
|
225
|
-
maybeWriteFrame() {
|
|
226
|
-
if (this.pendingWrite) {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
const frame = this.frames.shift();
|
|
230
|
-
if (!frame) {
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
this.pendingWrite = writeAll(this.conn, frame).then(() => {
|
|
234
|
-
this.pendingWrite = null;
|
|
235
|
-
this.maybeWriteFrame();
|
|
236
|
-
}).then(() => {
|
|
237
|
-
if (this.options.debug) {
|
|
238
|
-
console.info(`< ${render(frame)}`);
|
|
239
|
-
}
|
|
240
|
-
}).catch((err) => {
|
|
241
|
-
if (this.options.debug) {
|
|
242
|
-
console.error(`!!! ${render(frame)}: ${err}`);
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
send(frame) {
|
|
247
|
-
// if we are closed, don't do anything
|
|
248
|
-
if (this.done) {
|
|
249
|
-
return;
|
|
250
|
-
}
|
|
251
|
-
// push the frame
|
|
252
|
-
this.frames.push(frame);
|
|
253
|
-
this.maybeWriteFrame();
|
|
254
|
-
}
|
|
255
|
-
isEncrypted() {
|
|
256
|
-
return this.encrypted;
|
|
257
|
-
}
|
|
258
|
-
close(err) {
|
|
259
|
-
return this._closed(err, false);
|
|
260
|
-
}
|
|
261
|
-
disconnect() {
|
|
262
|
-
this._closed(undefined, true)
|
|
263
|
-
.then().catch();
|
|
264
|
-
}
|
|
265
|
-
async _closed(err, internal = true) {
|
|
266
|
-
if (this.done) {
|
|
267
|
-
// it is possible for close to be called before the connection
|
|
268
|
-
// ever happens or after the protocol requested a close (async connection/upgrade)
|
|
269
|
-
// so even if we already cleaned up, attempt to close the connection
|
|
270
|
-
try {
|
|
271
|
-
this.conn?.close();
|
|
272
|
-
}
|
|
273
|
-
catch (_err) {
|
|
274
|
-
// ignored
|
|
275
|
-
}
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
this.done = true;
|
|
279
|
-
this.closeError = err;
|
|
280
|
-
if (!err && internal) {
|
|
281
|
-
try {
|
|
282
|
-
// this is a noop but gives us a place to hang
|
|
283
|
-
// a close and ensure that we sent all before closing
|
|
284
|
-
// we wait for the operation to fail or succeed
|
|
285
|
-
this.frames.push(Empty);
|
|
286
|
-
this.maybeWriteFrame();
|
|
287
|
-
if (this.pendingWrite) {
|
|
288
|
-
await this.pendingWrite;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
catch (err) {
|
|
292
|
-
if (this.options.debug) {
|
|
293
|
-
console.log("transport close terminated with an error", err);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
try {
|
|
298
|
-
this.conn?.close();
|
|
299
|
-
}
|
|
300
|
-
catch (_err) {
|
|
301
|
-
// ignored
|
|
302
|
-
}
|
|
303
|
-
if (internal) {
|
|
304
|
-
this.closedNotification.resolve(err);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
closed() {
|
|
308
|
-
return this.closedNotification;
|
|
309
|
-
}
|
|
310
|
-
discard() {
|
|
311
|
-
// ignored - this is not required, as there's no throttling
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
export async function denoResolveHost(s) {
|
|
315
|
-
const a = dntShim.Deno.resolveDns(s, "A");
|
|
316
|
-
const aaaa = dntShim.Deno.resolveDns(s, "AAAA");
|
|
317
|
-
const ips = [];
|
|
318
|
-
const w = await Promise.allSettled([a, aaaa]);
|
|
319
|
-
if (w[0].status === "fulfilled") {
|
|
320
|
-
ips.push(...w[0].value);
|
|
321
|
-
}
|
|
322
|
-
if (w[1].status === "fulfilled") {
|
|
323
|
-
ips.push(...w[1].value);
|
|
324
|
-
}
|
|
325
|
-
if (ips.length === 0) {
|
|
326
|
-
ips.push(s);
|
|
327
|
-
}
|
|
328
|
-
return ips;
|
|
329
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,qCAAqC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@nats-io/transport-deno/3.0.2/src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Proxy type of {@code Uint8Array<ArrayBuffer} or {@code Uint8Array} in TypeScript 5.7 or below respectively.
|
|
3
|
-
*
|
|
4
|
-
* This type is internal utility type and should not be used directly.
|
|
5
|
-
*
|
|
6
|
-
* @internal @private
|
|
7
|
-
*/
|
|
8
|
-
export type Uint8Array_ = ReturnType<Uint8Array["slice"]>;
|
|
9
|
-
//# sourceMappingURL=_types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.5/_types.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Uint8Array_ } from "./_types.js";
|
|
2
|
-
export type { Uint8Array_ };
|
|
3
|
-
/**
|
|
4
|
-
* Concatenate an array of byte slices into a single slice.
|
|
5
|
-
*
|
|
6
|
-
* @param buffers Array of byte slices to concatenate.
|
|
7
|
-
* @returns A new byte slice containing all the input slices concatenated.
|
|
8
|
-
*
|
|
9
|
-
* @example Basic usage
|
|
10
|
-
* ```ts
|
|
11
|
-
* import { concat } from "@std/bytes/concat";
|
|
12
|
-
* import { assertEquals } from "@std/assert";
|
|
13
|
-
*
|
|
14
|
-
* const a = new Uint8Array([0, 1, 2]);
|
|
15
|
-
* const b = new Uint8Array([3, 4, 5]);
|
|
16
|
-
*
|
|
17
|
-
* assertEquals(concat([a, b]), new Uint8Array([0, 1, 2, 3, 4, 5]));
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export declare function concat(buffers: Uint8Array[]): Uint8Array_;
|
|
21
|
-
//# sourceMappingURL=concat.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"concat.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.5/concat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,CAazD"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
-
// This module is browser compatible.
|
|
3
|
-
/**
|
|
4
|
-
* Concatenate an array of byte slices into a single slice.
|
|
5
|
-
*
|
|
6
|
-
* @param buffers Array of byte slices to concatenate.
|
|
7
|
-
* @returns A new byte slice containing all the input slices concatenated.
|
|
8
|
-
*
|
|
9
|
-
* @example Basic usage
|
|
10
|
-
* ```ts
|
|
11
|
-
* import { concat } from "@std/bytes/concat";
|
|
12
|
-
* import { assertEquals } from "@std/assert";
|
|
13
|
-
*
|
|
14
|
-
* const a = new Uint8Array([0, 1, 2]);
|
|
15
|
-
* const b = new Uint8Array([3, 4, 5]);
|
|
16
|
-
*
|
|
17
|
-
* assertEquals(concat([a, b]), new Uint8Array([0, 1, 2, 3, 4, 5]));
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export function concat(buffers) {
|
|
21
|
-
let length = 0;
|
|
22
|
-
for (const buffer of buffers) {
|
|
23
|
-
length += buffer.length;
|
|
24
|
-
}
|
|
25
|
-
const output = new Uint8Array(length);
|
|
26
|
-
let index = 0;
|
|
27
|
-
for (const buffer of buffers) {
|
|
28
|
-
output.set(buffer, index);
|
|
29
|
-
index += buffer.length;
|
|
30
|
-
}
|
|
31
|
-
return output;
|
|
32
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copy bytes from the source array to the destination array and returns the
|
|
3
|
-
* number of bytes copied.
|
|
4
|
-
*
|
|
5
|
-
* If the source array is larger than what the `dst` array can hold, only the
|
|
6
|
-
* amount of bytes that fit in the `dst` array are copied.
|
|
7
|
-
*
|
|
8
|
-
* @param src Source array to copy from.
|
|
9
|
-
* @param dst Destination array to copy to.
|
|
10
|
-
* @param offset Offset in the destination array to start copying to. Defaults
|
|
11
|
-
* to 0.
|
|
12
|
-
* @returns Number of bytes copied.
|
|
13
|
-
*
|
|
14
|
-
* @example Basic usage
|
|
15
|
-
* ```ts
|
|
16
|
-
* import { copy } from "@std/bytes/copy";
|
|
17
|
-
* import { assertEquals } from "@std/assert";
|
|
18
|
-
*
|
|
19
|
-
* const src = new Uint8Array([9, 8, 7]);
|
|
20
|
-
* const dst = new Uint8Array([0, 1, 2, 3, 4, 5]);
|
|
21
|
-
*
|
|
22
|
-
* assertEquals(copy(src, dst), 3);
|
|
23
|
-
* assertEquals(dst, new Uint8Array([9, 8, 7, 3, 4, 5]));
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @example Copy with offset
|
|
27
|
-
* ```ts
|
|
28
|
-
* import { copy } from "@std/bytes/copy";
|
|
29
|
-
* import { assertEquals } from "@std/assert";
|
|
30
|
-
*
|
|
31
|
-
* const src = new Uint8Array([1, 1, 1, 1]);
|
|
32
|
-
* const dst = new Uint8Array([0, 0, 0, 0]);
|
|
33
|
-
*
|
|
34
|
-
* assertEquals(copy(src, dst, 1), 3);
|
|
35
|
-
* assertEquals(dst, new Uint8Array([0, 1, 1, 1]));
|
|
36
|
-
* ```
|
|
37
|
-
* Defining an offset will start copying at the specified index in the
|
|
38
|
-
* destination array.
|
|
39
|
-
*/
|
|
40
|
-
export declare function copy(src: Uint8Array, dst: Uint8Array, offset?: number): number;
|
|
41
|
-
//# sourceMappingURL=copy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.5/copy.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,SAAI,GAAG,MAAM,CAQzE"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
-
// This module is browser compatible.
|
|
3
|
-
/**
|
|
4
|
-
* Copy bytes from the source array to the destination array and returns the
|
|
5
|
-
* number of bytes copied.
|
|
6
|
-
*
|
|
7
|
-
* If the source array is larger than what the `dst` array can hold, only the
|
|
8
|
-
* amount of bytes that fit in the `dst` array are copied.
|
|
9
|
-
*
|
|
10
|
-
* @param src Source array to copy from.
|
|
11
|
-
* @param dst Destination array to copy to.
|
|
12
|
-
* @param offset Offset in the destination array to start copying to. Defaults
|
|
13
|
-
* to 0.
|
|
14
|
-
* @returns Number of bytes copied.
|
|
15
|
-
*
|
|
16
|
-
* @example Basic usage
|
|
17
|
-
* ```ts
|
|
18
|
-
* import { copy } from "@std/bytes/copy";
|
|
19
|
-
* import { assertEquals } from "@std/assert";
|
|
20
|
-
*
|
|
21
|
-
* const src = new Uint8Array([9, 8, 7]);
|
|
22
|
-
* const dst = new Uint8Array([0, 1, 2, 3, 4, 5]);
|
|
23
|
-
*
|
|
24
|
-
* assertEquals(copy(src, dst), 3);
|
|
25
|
-
* assertEquals(dst, new Uint8Array([9, 8, 7, 3, 4, 5]));
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* @example Copy with offset
|
|
29
|
-
* ```ts
|
|
30
|
-
* import { copy } from "@std/bytes/copy";
|
|
31
|
-
* import { assertEquals } from "@std/assert";
|
|
32
|
-
*
|
|
33
|
-
* const src = new Uint8Array([1, 1, 1, 1]);
|
|
34
|
-
* const dst = new Uint8Array([0, 0, 0, 0]);
|
|
35
|
-
*
|
|
36
|
-
* assertEquals(copy(src, dst, 1), 3);
|
|
37
|
-
* assertEquals(dst, new Uint8Array([0, 1, 1, 1]));
|
|
38
|
-
* ```
|
|
39
|
-
* Defining an offset will start copying at the specified index in the
|
|
40
|
-
* destination array.
|
|
41
|
-
*/
|
|
42
|
-
export function copy(src, dst, offset = 0) {
|
|
43
|
-
offset = Math.max(0, Math.min(offset, dst.byteLength));
|
|
44
|
-
const dstBytesAvailable = dst.byteLength - offset;
|
|
45
|
-
if (src.byteLength > dstBytesAvailable) {
|
|
46
|
-
src = src.subarray(0, dstBytesAvailable);
|
|
47
|
-
}
|
|
48
|
-
dst.set(src, offset);
|
|
49
|
-
return src.byteLength;
|
|
50
|
-
}
|