goscript 0.2.1 → 0.2.3
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/compiler/gotest/runner.go +98 -0
- package/compiler/gotest/runner_test.go +45 -0
- package/compiler/gotest/testdata/browserapi/browserapi_test.go +36 -0
- package/compiler/lowering.go +227 -11
- package/compiler/override-registry_test.go +50 -0
- package/compiler/protobuf-ts-binding.go +155 -7
- package/compiler/protobuf-ts-binding_test.go +116 -2
- package/compiler/runtime-contract.go +2 -0
- package/compiler/runtime-contract_test.go +1 -0
- package/compiler/semantic-model.go +16 -0
- package/compiler/semantic-model_test.go +38 -0
- package/compiler/skeleton_test.go +477 -16
- package/compiler/typescript-emitter.go +4 -0
- package/dist/gs/builtin/builtin.js +7 -9
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/defer.js +2 -2
- package/dist/gs/builtin/hostio.js +5 -5
- package/dist/gs/builtin/hostio.js.map +1 -1
- package/dist/gs/builtin/map.js +2 -1
- package/dist/gs/builtin/map.js.map +1 -1
- package/dist/gs/builtin/slice.d.ts +3 -0
- package/dist/gs/builtin/slice.js +39 -0
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.js +49 -0
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/compress/zlib/index.js +5 -2
- package/dist/gs/compress/zlib/index.js.map +1 -1
- package/dist/gs/crypto/aes/index.d.ts +15 -0
- package/dist/gs/crypto/aes/index.js +57 -0
- package/dist/gs/crypto/aes/index.js.map +1 -0
- package/dist/gs/crypto/cipher/index.d.ts +41 -0
- package/dist/gs/crypto/cipher/index.js +255 -0
- package/dist/gs/crypto/cipher/index.js.map +1 -0
- package/dist/gs/crypto/ecdh/index.js +27 -8
- package/dist/gs/crypto/ecdh/index.js.map +1 -1
- package/dist/gs/crypto/ed25519/index.js +3 -3
- package/dist/gs/crypto/ed25519/index.js.map +1 -1
- package/dist/gs/crypto/rand/index.js +6 -3
- package/dist/gs/crypto/rand/index.js.map +1 -1
- package/dist/gs/embed/index.js +9 -3
- package/dist/gs/embed/index.js.map +1 -1
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.d.ts +1 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js +33 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js.map +1 -1
- package/dist/gs/github.com/mr-tron/base58/base58/index.js +4 -1
- package/dist/gs/github.com/mr-tron/base58/base58/index.js.map +1 -1
- package/dist/gs/golang.org/x/crypto/chacha20poly1305/index.d.ts +31 -0
- package/dist/gs/golang.org/x/crypto/chacha20poly1305/index.js +117 -0
- package/dist/gs/golang.org/x/crypto/chacha20poly1305/index.js.map +1 -0
- package/dist/gs/golang.org/x/crypto/scrypt/index.d.ts +2 -0
- package/dist/gs/golang.org/x/crypto/scrypt/index.js +39 -0
- package/dist/gs/golang.org/x/crypto/scrypt/index.js.map +1 -0
- package/dist/gs/hash/fnv/index.js +13 -5
- package/dist/gs/hash/fnv/index.js.map +1 -1
- package/dist/gs/io/fs/glob.d.ts +3 -3
- package/dist/gs/io/fs/glob.js +8 -8
- package/dist/gs/io/fs/glob.js.map +1 -1
- package/dist/gs/io/fs/readdir.d.ts +2 -2
- package/dist/gs/io/fs/readdir.js +13 -74
- package/dist/gs/io/fs/readdir.js.map +1 -1
- package/dist/gs/io/fs/sub.js +4 -4
- package/dist/gs/io/fs/sub.js.map +1 -1
- package/dist/gs/io/fs/walk.js +1 -1
- package/dist/gs/io/fs/walk.js.map +1 -1
- package/dist/gs/io/io.js +18 -2
- package/dist/gs/io/io.js.map +1 -1
- package/dist/gs/maps/iter.js.map +1 -1
- package/dist/gs/maps/maps.js.map +1 -1
- package/dist/gs/mime/index.js +5 -2
- package/dist/gs/mime/index.js.map +1 -1
- package/dist/gs/net/http/httptest/index.js +6 -3
- package/dist/gs/net/http/httptest/index.js.map +1 -1
- package/dist/gs/net/http/index.d.ts +16 -4
- package/dist/gs/net/http/index.js +236 -40
- package/dist/gs/net/http/index.js.map +1 -1
- package/dist/gs/net/http/pprof/index.js.map +1 -1
- package/dist/gs/reflect/iter.js +1 -1
- package/dist/gs/reflect/iter.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +2 -0
- package/dist/gs/reflect/type.js +53 -21
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/runtime/debug/index.js +2 -1
- package/dist/gs/runtime/debug/index.js.map +1 -1
- package/dist/gs/runtime/pprof/index.js.map +1 -1
- package/dist/gs/runtime/runtime.js +2 -2
- package/dist/gs/runtime/runtime.js.map +1 -1
- package/dist/gs/runtime/trace/index.js.map +1 -1
- package/dist/gs/slices/slices.d.ts +1 -1
- package/dist/gs/slices/slices.js +37 -4
- package/dist/gs/slices/slices.js.map +1 -1
- package/go.mod +2 -2
- package/go.sum +2 -0
- package/gs/builtin/builtin.ts +11 -14
- package/gs/builtin/defer.ts +2 -2
- package/gs/builtin/hostio.test.ts +8 -3
- package/gs/builtin/hostio.ts +5 -7
- package/gs/builtin/map.ts +4 -1
- package/gs/builtin/slice.test.ts +14 -0
- package/gs/builtin/slice.ts +64 -0
- package/gs/builtin/type.ts +72 -0
- package/gs/bytes/bytes.test.ts +14 -13
- package/gs/compress/zlib/index.test.ts +19 -5
- package/gs/compress/zlib/index.ts +16 -7
- package/gs/context/context.test.ts +3 -1
- package/gs/crypto/aes/index.test.ts +120 -0
- package/gs/crypto/aes/index.ts +76 -0
- package/gs/crypto/cipher/index.ts +345 -0
- package/gs/crypto/cipher/meta.json +6 -0
- package/gs/crypto/ecdh/index.test.ts +6 -2
- package/gs/crypto/ecdh/index.ts +49 -12
- package/gs/crypto/ed25519/index.ts +20 -7
- package/gs/crypto/rand/index.ts +6 -3
- package/gs/embed/index.test.ts +3 -3
- package/gs/embed/index.ts +9 -3
- package/gs/fmt/fmt.test.ts +29 -4
- package/gs/github.com/aperturerobotics/protobuf-go-lite/index.test.ts +126 -0
- package/gs/github.com/aperturerobotics/protobuf-go-lite/index.ts +46 -0
- package/gs/github.com/mr-tron/base58/base58/index.ts +9 -3
- package/gs/github.com/zeebo/blake3/internal/consts/index.test.ts +2 -8
- package/gs/golang.org/x/crypto/chacha20poly1305/index.test.ts +91 -0
- package/gs/golang.org/x/crypto/chacha20poly1305/index.ts +245 -0
- package/gs/golang.org/x/crypto/scrypt/index.test.ts +81 -0
- package/gs/golang.org/x/crypto/scrypt/index.ts +54 -0
- package/gs/golang.org/x/crypto/scrypt/meta.json +5 -0
- package/gs/hash/fnv/index.test.ts +1 -8
- package/gs/hash/fnv/index.ts +27 -10
- package/gs/io/fs/glob.ts +13 -10
- package/gs/io/fs/meta.json +2 -0
- package/gs/io/fs/readdir.test.ts +63 -2
- package/gs/io/fs/readdir.ts +33 -30
- package/gs/io/fs/sub.ts +4 -4
- package/gs/io/fs/walk.ts +1 -1
- package/gs/io/io.test.ts +56 -1
- package/gs/io/io.ts +19 -2
- package/gs/maps/iter.ts +9 -9
- package/gs/maps/maps.ts +4 -4
- package/gs/math/bits/index.test.ts +10 -1
- package/gs/mime/index.test.ts +33 -15
- package/gs/mime/index.ts +9 -2
- package/gs/net/http/httptest/index.test.ts +17 -3
- package/gs/net/http/httptest/index.ts +8 -3
- package/gs/net/http/index.test.ts +645 -123
- package/gs/net/http/index.ts +548 -113
- package/gs/net/http/pprof/index.ts +24 -6
- package/gs/os/file_unix_js.test.ts +22 -0
- package/gs/reflect/iter.ts +4 -2
- package/gs/reflect/map.test.ts +56 -1
- package/gs/reflect/type.ts +76 -37
- package/gs/runtime/debug/index.test.ts +32 -4
- package/gs/runtime/debug/index.ts +5 -2
- package/gs/runtime/pprof/index.test.ts +7 -1
- package/gs/runtime/pprof/index.ts +5 -1
- package/gs/runtime/runtime.test.ts +7 -0
- package/gs/runtime/runtime.ts +2 -4
- package/gs/runtime/trace/index.test.ts +9 -1
- package/gs/runtime/trace/index.ts +5 -1
- package/gs/slices/meta.json +3 -0
- package/gs/slices/slices.test.ts +59 -21
- package/gs/slices/slices.ts +61 -20
- package/gs/strconv/complex.test.ts +17 -3
- package/gs/sync/atomic/doc_64.test.ts +2 -9
- package/gs/sync/sync.test.ts +18 -8
- package/gs/syscall/js/index.test.ts +9 -4
- package/package.json +13 -5
package/dist/gs/builtin/type.js
CHANGED
|
@@ -442,6 +442,13 @@ function matchesInterfaceType(value, info) {
|
|
|
442
442
|
// Strict arity checking can be problematic in JS, so we'll be lenient
|
|
443
443
|
// A method with fewer params than required is definitely incompatible
|
|
444
444
|
if (declaredParamCount < requiredParamCount) {
|
|
445
|
+
if (!methodWrapperMatchesSignature(actualMethod, requiredMethodSig)) {
|
|
446
|
+
return false;
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
const wrappedMethodSignature = methodWrapperSignature(actualMethod);
|
|
450
|
+
if (wrappedMethodSignature &&
|
|
451
|
+
!methodSignaturesMatch(wrappedMethodSignature, requiredMethodSig)) {
|
|
445
452
|
return false;
|
|
446
453
|
}
|
|
447
454
|
// Check return types if we can determine them
|
|
@@ -489,6 +496,24 @@ function matchesInterfaceType(value, info) {
|
|
|
489
496
|
return true;
|
|
490
497
|
});
|
|
491
498
|
}
|
|
499
|
+
function methodWrapperMatchesSignature(method, requiredMethodSig) {
|
|
500
|
+
const signature = methodWrapperSignature(method);
|
|
501
|
+
return (signature != null && methodSignaturesMatch(signature, requiredMethodSig));
|
|
502
|
+
}
|
|
503
|
+
function methodWrapperSignature(method) {
|
|
504
|
+
if (typeof method !== 'function') {
|
|
505
|
+
return null;
|
|
506
|
+
}
|
|
507
|
+
const wrapper = method;
|
|
508
|
+
if (wrapper.__goscriptMethodWrapper !== true) {
|
|
509
|
+
return null;
|
|
510
|
+
}
|
|
511
|
+
return wrapper.__goscriptMethodSignature ?? null;
|
|
512
|
+
}
|
|
513
|
+
function methodSignaturesMatch(actual, required) {
|
|
514
|
+
return (actual.args.length === required.args.length &&
|
|
515
|
+
actual.returns.length === required.returns.length);
|
|
516
|
+
}
|
|
492
517
|
/**
|
|
493
518
|
* Checks if a value matches a map type info.
|
|
494
519
|
*
|
|
@@ -1129,9 +1154,33 @@ export function namedValueInterfaceValue(value, typeName, methods, typeInfo) {
|
|
|
1129
1154
|
};
|
|
1130
1155
|
for (const [name, method] of Object.entries(methods)) {
|
|
1131
1156
|
boxed[name] = (...args) => method(value, ...args);
|
|
1157
|
+
boxed[name].__goscriptMethodWrapper = true;
|
|
1158
|
+
const signature = wrapperMethodSignatureFromTypeInfo(name, typeInfo);
|
|
1159
|
+
if (signature) {
|
|
1160
|
+
boxed[name].__goscriptMethodSignature = signature;
|
|
1161
|
+
}
|
|
1132
1162
|
}
|
|
1133
1163
|
return boxed;
|
|
1134
1164
|
}
|
|
1165
|
+
function wrapperMethodSignatureFromTypeInfo(name, typeInfo) {
|
|
1166
|
+
if (typeof typeInfo === 'string') {
|
|
1167
|
+
typeInfo = typeRegistry.get(typeInfo);
|
|
1168
|
+
}
|
|
1169
|
+
if (!typeInfo) {
|
|
1170
|
+
return null;
|
|
1171
|
+
}
|
|
1172
|
+
if (isFunctionTypeInfo(typeInfo)) {
|
|
1173
|
+
return {
|
|
1174
|
+
name,
|
|
1175
|
+
args: (typeInfo.params ?? []).map((type) => ({ type })),
|
|
1176
|
+
returns: (typeInfo.results ?? []).map((type) => ({ type })),
|
|
1177
|
+
};
|
|
1178
|
+
}
|
|
1179
|
+
if (isStructTypeInfo(typeInfo) || isInterfaceTypeInfo(typeInfo)) {
|
|
1180
|
+
return typeInfo.methods.find((method) => method.name === name) ?? null;
|
|
1181
|
+
}
|
|
1182
|
+
return null;
|
|
1183
|
+
}
|
|
1135
1184
|
export function namedFunction(fn, typeName, typeInfo) {
|
|
1136
1185
|
if (typeof fn !== 'function') {
|
|
1137
1186
|
return fn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../gs/builtin/type.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../gs/builtin/type.ts"],"names":[],"mappings":"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"}
|
|
@@ -154,7 +154,9 @@ function deflate(data, dict, level) {
|
|
|
154
154
|
}
|
|
155
155
|
function inflate(data, dict) {
|
|
156
156
|
const zlib = nodeZlib();
|
|
157
|
-
const opts = dict != null && $.len(dict) > 0 ?
|
|
157
|
+
const opts = dict != null && $.len(dict) > 0 ?
|
|
158
|
+
{ dictionary: $.bytesToUint8Array(dict) }
|
|
159
|
+
: undefined;
|
|
158
160
|
return new Uint8Array(zlib.inflateSync(data, opts));
|
|
159
161
|
}
|
|
160
162
|
function nodeZlib() {
|
|
@@ -243,7 +245,8 @@ function classifyInflateError(err) {
|
|
|
243
245
|
if (zerr?.code === 'Z_NEED_DICT') {
|
|
244
246
|
return ErrDictionary;
|
|
245
247
|
}
|
|
246
|
-
if (zerr?.code === 'Z_DATA_ERROR' &&
|
|
248
|
+
if (zerr?.code === 'Z_DATA_ERROR' &&
|
|
249
|
+
zerr.message.includes('incorrect data check')) {
|
|
247
250
|
return ErrChecksum;
|
|
248
251
|
}
|
|
249
252
|
return ErrHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/compress/zlib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAU3C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAA;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,CAAA;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,CAAA;AAE7B,MAAM,CAAC,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AAC7D,MAAM,CAAC,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AACjE,MAAM,CAAC,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAIzD,MAAM,UAAU,0BAA0B,CAAC,KAAgB;IACzD,WAAW,GAAG,KAAK,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAgB;IAC3D,aAAa,GAAG,KAAK,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAgB;IACvD,SAAS,GAAG,KAAK,CAAA;AACnB,CAAC;AAED,MAAM,UAAU;IACN,IAAI,GAAe,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IACpC,MAAM,GAAG,CAAC,CAAA;IACV,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/compress/zlib/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
+
import type * as cipher from '@goscript/crypto/cipher/index.js';
|
|
3
|
+
export declare const BlockSize = 16;
|
|
4
|
+
export type KeySizeError = number;
|
|
5
|
+
export declare class AESBlock implements cipher.Block {
|
|
6
|
+
private readonly key;
|
|
7
|
+
private keyPromise;
|
|
8
|
+
constructor(key: Uint8Array);
|
|
9
|
+
BlockSize(): number;
|
|
10
|
+
Encrypt(dst: $.Bytes, src: $.Bytes): void;
|
|
11
|
+
Decrypt(dst: $.Bytes, src: $.Bytes): void;
|
|
12
|
+
webCryptoKey(): Promise<CryptoKey>;
|
|
13
|
+
}
|
|
14
|
+
export declare function KeySizeError_Error(k: KeySizeError): string;
|
|
15
|
+
export declare function NewCipher(key: $.Bytes): [cipher.Block | null, $.GoError];
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
+
import { ecb } from '@noble/ciphers/aes.js';
|
|
3
|
+
export const BlockSize = 16;
|
|
4
|
+
export class AESBlock {
|
|
5
|
+
key;
|
|
6
|
+
keyPromise = null;
|
|
7
|
+
constructor(key) {
|
|
8
|
+
this.key = key;
|
|
9
|
+
}
|
|
10
|
+
BlockSize() {
|
|
11
|
+
return BlockSize;
|
|
12
|
+
}
|
|
13
|
+
Encrypt(dst, src) {
|
|
14
|
+
const srcBytes = $.bytesToUint8Array(src);
|
|
15
|
+
if (srcBytes.length < BlockSize) {
|
|
16
|
+
$.panic('crypto/aes: input not full block');
|
|
17
|
+
}
|
|
18
|
+
if ($.len(dst) < BlockSize) {
|
|
19
|
+
$.panic('crypto/aes: output not full block');
|
|
20
|
+
}
|
|
21
|
+
const out = ecb(this.key, { disablePadding: true }).encrypt(srcBytes.subarray(0, BlockSize));
|
|
22
|
+
$.copy(dst, out);
|
|
23
|
+
}
|
|
24
|
+
Decrypt(dst, src) {
|
|
25
|
+
const srcBytes = $.bytesToUint8Array(src);
|
|
26
|
+
if (srcBytes.length < BlockSize) {
|
|
27
|
+
$.panic('crypto/aes: input not full block');
|
|
28
|
+
}
|
|
29
|
+
if ($.len(dst) < BlockSize) {
|
|
30
|
+
$.panic('crypto/aes: output not full block');
|
|
31
|
+
}
|
|
32
|
+
const out = ecb(this.key, { disablePadding: true }).decrypt(srcBytes.subarray(0, BlockSize));
|
|
33
|
+
$.copy(dst, out);
|
|
34
|
+
}
|
|
35
|
+
async webCryptoKey() {
|
|
36
|
+
this.keyPromise ??= subtleCrypto().importKey('raw', this.key, 'AES-GCM', false, ['encrypt', 'decrypt']);
|
|
37
|
+
return this.keyPromise;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export function KeySizeError_Error(k) {
|
|
41
|
+
return `crypto/aes: invalid key size ${k}`;
|
|
42
|
+
}
|
|
43
|
+
export function NewCipher(key) {
|
|
44
|
+
const k = $.len(key);
|
|
45
|
+
if (k !== 16 && k !== 24 && k !== 32) {
|
|
46
|
+
return [null, $.newError(KeySizeError_Error(k))];
|
|
47
|
+
}
|
|
48
|
+
return [new AESBlock($.bytesToUint8Array(key).slice()), null];
|
|
49
|
+
}
|
|
50
|
+
function subtleCrypto() {
|
|
51
|
+
const subtle = globalThis.crypto?.subtle;
|
|
52
|
+
if (subtle == null) {
|
|
53
|
+
throw new Error('crypto/aes: WebCrypto AES-GCM is unavailable');
|
|
54
|
+
}
|
|
55
|
+
return subtle;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/crypto/aes/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
+
export type Block = {
|
|
3
|
+
BlockSize(): number;
|
|
4
|
+
Decrypt(dst: $.Bytes, src: $.Bytes): void;
|
|
5
|
+
Encrypt(dst: $.Bytes, src: $.Bytes): void;
|
|
6
|
+
};
|
|
7
|
+
export type AEAD = {
|
|
8
|
+
NonceSize(): number;
|
|
9
|
+
Open(dst: $.Bytes, nonce: $.Bytes, ciphertext: $.Bytes, additionalData: $.Bytes): [$.Bytes, $.GoError] | Promise<[$.Bytes, $.GoError]>;
|
|
10
|
+
Overhead(): number;
|
|
11
|
+
Seal(dst: $.Bytes, nonce: $.Bytes, plaintext: $.Bytes, additionalData: $.Bytes): $.Bytes | Promise<$.Bytes>;
|
|
12
|
+
};
|
|
13
|
+
export type Stream = {
|
|
14
|
+
XORKeyStream(dst: $.Bytes, src: $.Bytes): void;
|
|
15
|
+
};
|
|
16
|
+
export type BlockMode = {
|
|
17
|
+
BlockSize(): number;
|
|
18
|
+
CryptBlocks(dst: $.Bytes, src: $.Bytes): void;
|
|
19
|
+
};
|
|
20
|
+
export declare function NewGCM(block: Block | null): [AEAD | null, $.GoError];
|
|
21
|
+
export declare function NewGCMWithNonceSize(block: Block | null, size: number): [AEAD | null, $.GoError];
|
|
22
|
+
export declare function NewGCMWithTagSize(block: Block | null, tagSize: number): [AEAD | null, $.GoError];
|
|
23
|
+
export declare function NewGCMWithRandomNonce(_block: Block | null): [AEAD | null, $.GoError];
|
|
24
|
+
export declare function NewCBCDecrypter(_b: Block | null, _iv: $.Bytes): BlockMode;
|
|
25
|
+
export declare function NewCBCEncrypter(_b: Block | null, _iv: $.Bytes): BlockMode;
|
|
26
|
+
export declare function NewCFBDecrypter(_b: Block | null, _iv: $.Bytes): Stream;
|
|
27
|
+
export declare function NewCFBEncrypter(_b: Block | null, _iv: $.Bytes): Stream;
|
|
28
|
+
export declare function NewCTR(_b: Block | null, _iv: $.Bytes): Stream;
|
|
29
|
+
export declare function NewOFB(_b: Block | null, _iv: $.Bytes): Stream;
|
|
30
|
+
export declare class StreamReader {
|
|
31
|
+
constructor(_init?: Partial<{
|
|
32
|
+
S: Stream;
|
|
33
|
+
R: unknown;
|
|
34
|
+
}>);
|
|
35
|
+
}
|
|
36
|
+
export declare class StreamWriter {
|
|
37
|
+
constructor(_init?: Partial<{
|
|
38
|
+
S: Stream;
|
|
39
|
+
W: unknown;
|
|
40
|
+
}>);
|
|
41
|
+
}
|