goscript 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +8 -8
  2. package/cmd/go_js_wasm_exec/main.go +1 -1
  3. package/cmd/go_js_wasm_exec/main_test.go +1 -1
  4. package/cmd/goscript/cmd-compile.go +9 -1
  5. package/cmd/goscript/cmd-test.go +1 -1
  6. package/cmd/goscript/cmd_compile_test.go +44 -0
  7. package/cmd/goscript/deps.go +1 -1
  8. package/cmd/goscript-wasm/main.go +2 -2
  9. package/compiler/compile-request.go +19 -0
  10. package/compiler/compile_bench_test.go +121 -0
  11. package/compiler/compliance_test.go +17 -1
  12. package/compiler/config.go +2 -0
  13. package/compiler/gotest/result.go +1 -1
  14. package/compiler/gotest/runner.go +2 -2
  15. package/compiler/gotest/runner_test.go +4 -7
  16. package/compiler/index.test.ts +28 -0
  17. package/compiler/index.ts +32 -16
  18. package/compiler/lowering.go +1236 -143
  19. package/compiler/lowering_bench_test.go +4 -0
  20. package/compiler/override-facts.go +1 -1
  21. package/compiler/override-registry_test.go +125 -0
  22. package/compiler/package-graph.go +92 -0
  23. package/compiler/package-graph_test.go +113 -0
  24. package/compiler/runtime-contract.go +1 -1
  25. package/compiler/semantic-model.go +32 -0
  26. package/compiler/skeleton_test.go +284 -11
  27. package/compiler/wasm/compile.go +1 -1
  28. package/compiler/wasm/compile_test.go +1 -1
  29. package/dist/compiler/index.d.ts +4 -0
  30. package/dist/compiler/index.js +26 -15
  31. package/dist/compiler/index.js.map +1 -1
  32. package/dist/gs/compress/gzip/index.d.ts +41 -0
  33. package/dist/gs/compress/gzip/index.js +235 -0
  34. package/dist/gs/compress/gzip/index.js.map +1 -0
  35. package/dist/gs/database/sql/driver/index.d.ts +165 -0
  36. package/dist/gs/database/sql/driver/index.js +432 -0
  37. package/dist/gs/database/sql/driver/index.js.map +1 -0
  38. package/dist/gs/encoding/binary/index.d.ts +71 -0
  39. package/dist/gs/encoding/binary/index.js +778 -0
  40. package/dist/gs/encoding/binary/index.js.map +1 -0
  41. package/dist/gs/fmt/fmt.js +156 -57
  42. package/dist/gs/fmt/fmt.js.map +1 -1
  43. package/dist/gs/github.com/klauspost/cpuid/v2/index.d.ts +11 -0
  44. package/dist/gs/github.com/klauspost/cpuid/v2/index.js +28 -0
  45. package/dist/gs/github.com/klauspost/cpuid/v2/index.js.map +1 -0
  46. package/dist/gs/github.com/pkg/errors/errors.d.ts +0 -2
  47. package/dist/gs/github.com/pkg/errors/errors.js.map +1 -1
  48. package/dist/gs/github.com/pkg/errors/index.d.ts +2 -1
  49. package/dist/gs/github.com/pkg/errors/index.js +1 -1
  50. package/dist/gs/github.com/pkg/errors/index.js.map +1 -1
  51. package/dist/gs/github.com/pkg/errors/stack.d.ts +8 -19
  52. package/dist/gs/github.com/pkg/errors/stack.js +26 -61
  53. package/dist/gs/github.com/pkg/errors/stack.js.map +1 -1
  54. package/dist/gs/golang.org/x/crypto/cryptobyte/asn1/index.d.ts +19 -0
  55. package/dist/gs/golang.org/x/crypto/cryptobyte/asn1/index.js +25 -0
  56. package/dist/gs/golang.org/x/crypto/cryptobyte/asn1/index.js.map +1 -0
  57. package/dist/gs/golang.org/x/crypto/cryptobyte/index.d.ts +104 -0
  58. package/dist/gs/golang.org/x/crypto/cryptobyte/index.js +1107 -0
  59. package/dist/gs/golang.org/x/crypto/cryptobyte/index.js.map +1 -0
  60. package/dist/gs/golang.org/x/crypto/internal/alias/index.d.ts +3 -0
  61. package/dist/gs/golang.org/x/crypto/internal/alias/index.js +39 -0
  62. package/dist/gs/golang.org/x/crypto/internal/alias/index.js.map +1 -0
  63. package/dist/gs/io/fs/glob.js +1 -1
  64. package/dist/gs/io/fs/glob.js.map +1 -1
  65. package/dist/gs/io/fs/readlink.d.ts +1 -1
  66. package/dist/gs/io/fs/readlink.js +2 -2
  67. package/dist/gs/io/fs/readlink.js.map +1 -1
  68. package/dist/gs/io/fs/stat.d.ts +4 -2
  69. package/dist/gs/io/fs/stat.js +12 -73
  70. package/dist/gs/io/fs/stat.js.map +1 -1
  71. package/dist/gs/io/fs/sub.d.ts +2 -2
  72. package/dist/gs/io/fs/sub.js +7 -7
  73. package/dist/gs/io/fs/sub.js.map +1 -1
  74. package/dist/gs/io/fs/walk.js +1 -1
  75. package/dist/gs/io/fs/walk.js.map +1 -1
  76. package/dist/gs/net/http/index.d.ts +18 -14
  77. package/dist/gs/net/http/index.js +44 -23
  78. package/dist/gs/net/http/index.js.map +1 -1
  79. package/dist/gs/net/http/pprof/index.d.ts +5 -5
  80. package/dist/gs/net/http/pprof/index.js +21 -21
  81. package/dist/gs/net/http/pprof/index.js.map +1 -1
  82. package/dist/gs/runtime/runtime.d.ts +6 -1
  83. package/dist/gs/runtime/runtime.js +15 -8
  84. package/dist/gs/runtime/runtime.js.map +1 -1
  85. package/dist/gs/runtime/trace/index.d.ts +8 -5
  86. package/dist/gs/runtime/trace/index.js +324 -23
  87. package/dist/gs/runtime/trace/index.js.map +1 -1
  88. package/dist/gs/slices/slices.d.ts +2 -1
  89. package/dist/gs/slices/slices.js +9 -3
  90. package/dist/gs/slices/slices.js.map +1 -1
  91. package/dist/gs/sort/search.gs.d.ts +3 -1
  92. package/dist/gs/sort/search.gs.js +18 -53
  93. package/dist/gs/sort/search.gs.js.map +1 -1
  94. package/dist/gs/sync/sync.d.ts +1 -1
  95. package/dist/gs/sync/sync.js +3 -0
  96. package/dist/gs/sync/sync.js.map +1 -1
  97. package/dist/gs/time/time.d.ts +22 -29
  98. package/dist/gs/time/time.js +111 -32
  99. package/dist/gs/time/time.js.map +1 -1
  100. package/dist/gs/unsafe/unsafe.d.ts +3 -2
  101. package/dist/gs/unsafe/unsafe.js.map +1 -1
  102. package/go.mod +7 -5
  103. package/go.sum +12 -26
  104. package/gs/builtin/runtime-contract.test.ts +25 -0
  105. package/gs/compress/gzip/index.test.ts +86 -0
  106. package/gs/compress/gzip/index.ts +297 -0
  107. package/gs/compress/gzip/meta.json +6 -0
  108. package/gs/compress/gzip/parity.json +45 -0
  109. package/gs/database/sql/driver/index.test.ts +88 -0
  110. package/gs/database/sql/driver/index.ts +675 -0
  111. package/gs/database/sql/driver/meta.json +3 -0
  112. package/gs/database/sql/driver/parity.json +144 -0
  113. package/gs/embed/index.test.ts +1 -1
  114. package/gs/encoding/binary/index.test.ts +239 -0
  115. package/gs/encoding/binary/index.ts +999 -0
  116. package/gs/encoding/binary/meta.json +9 -0
  117. package/gs/encoding/binary/parity.json +72 -0
  118. package/gs/fmt/fmt.test.ts +28 -0
  119. package/gs/fmt/fmt.ts +198 -61
  120. package/gs/fmt/meta.json +2 -1
  121. package/gs/github.com/klauspost/cpuid/v2/index.ts +38 -0
  122. package/gs/github.com/klauspost/cpuid/v2/meta.json +3 -0
  123. package/gs/github.com/pkg/errors/errors.ts +1 -2
  124. package/gs/github.com/pkg/errors/index.ts +2 -1
  125. package/gs/github.com/pkg/errors/stack.ts +34 -62
  126. package/gs/golang.org/x/crypto/cryptobyte/asn1/index.test.ts +19 -0
  127. package/gs/golang.org/x/crypto/cryptobyte/asn1/index.ts +29 -0
  128. package/gs/golang.org/x/crypto/cryptobyte/index.test.ts +255 -0
  129. package/gs/golang.org/x/crypto/cryptobyte/index.ts +1441 -0
  130. package/gs/golang.org/x/crypto/cryptobyte/meta.json +3 -0
  131. package/gs/golang.org/x/crypto/internal/alias/index.test.ts +40 -0
  132. package/gs/golang.org/x/crypto/internal/alias/index.ts +40 -0
  133. package/gs/io/fs/glob.ts +1 -1
  134. package/gs/io/fs/meta.json +3 -0
  135. package/gs/io/fs/readlink.test.ts +2 -2
  136. package/gs/io/fs/readlink.ts +5 -2
  137. package/gs/io/fs/stat.test.ts +79 -0
  138. package/gs/io/fs/stat.ts +24 -10
  139. package/gs/io/fs/sub.test.ts +93 -0
  140. package/gs/io/fs/sub.ts +9 -9
  141. package/gs/io/fs/walk.ts +1 -1
  142. package/gs/net/http/index.test.ts +207 -2
  143. package/gs/net/http/index.ts +68 -37
  144. package/gs/net/http/meta.json +3 -1
  145. package/gs/net/http/pprof/index.test.ts +4 -4
  146. package/gs/net/http/pprof/index.ts +30 -27
  147. package/gs/runtime/runtime.test.ts +16 -0
  148. package/gs/runtime/runtime.ts +17 -9
  149. package/gs/runtime/trace/index.test.ts +113 -14
  150. package/gs/runtime/trace/index.ts +384 -34
  151. package/gs/runtime/trace/meta.json +1 -0
  152. package/gs/slices/slices.test.ts +24 -1
  153. package/gs/slices/slices.ts +14 -4
  154. package/gs/sort/meta.json +1 -0
  155. package/gs/sort/search.gs.ts +20 -5
  156. package/gs/sync/sync.ts +4 -1
  157. package/gs/time/time.test.ts +79 -2
  158. package/gs/time/time.ts +133 -33
  159. package/gs/unsafe/unsafe.ts +4 -2
  160. package/package.json +2 -2
@@ -1,24 +1,13 @@
1
1
  import * as $ from '@goscript/builtin/index.js';
2
2
  export type uintptr = number;
3
- export declare class Frame {
4
- private _value;
5
- constructor(_value: uintptr);
6
- valueOf(): uintptr;
7
- toString(): string;
8
- static from(value: uintptr): Frame;
9
- pc(): uintptr;
10
- file(): string;
11
- line(): number;
12
- name(): string;
13
- MarshalText(): [$.Bytes, $.GoError];
14
- }
15
- export declare class StackTrace {
16
- private _value;
17
- constructor(_value: Frame[] | null);
18
- valueOf(): Frame[] | null;
19
- toString(): string;
20
- static from(value: Frame[] | null): StackTrace;
21
- }
3
+ export type Frame = uintptr;
4
+ export type StackTrace = $.Slice<Frame>;
5
+ export declare function Frame_pc(receiver: Frame): uintptr;
6
+ export declare function Frame_file(_receiver: Frame): string;
7
+ export declare function Frame_line(_receiver: Frame): number;
8
+ export declare function Frame_name(_receiver: Frame): string;
9
+ export declare function Frame_MarshalText(receiver: Frame): [$.Bytes, $.GoError];
10
+ export declare function StackTrace_Format(_receiver: StackTrace, _state: any, _verb: number): void;
22
11
  declare class stack {
23
12
  private _value;
24
13
  constructor(_value: uintptr[]);
@@ -1,63 +1,28 @@
1
1
  import * as $ from '@goscript/builtin/index.js';
2
- export class Frame {
3
- _value;
4
- constructor(_value) {
5
- this._value = _value;
6
- }
7
- valueOf() {
8
- return this._value;
9
- }
10
- toString() {
11
- return String(this._value);
12
- }
13
- static from(value) {
14
- return new Frame(value);
15
- }
16
- // pc returns the program counter for this frame;
17
- // multiple frames may have the same PC value.
18
- pc() {
19
- return this._value - 1;
20
- }
21
- // file returns the full path to the file that contains the
22
- // function for this Frame's pc.
23
- file() {
24
- return 'unknown';
25
- }
26
- // line returns the line number of source code of the
27
- // function for this Frame's pc.
28
- line() {
29
- return 0;
30
- }
31
- // name returns the name of this function, if known.
32
- name() {
33
- return 'unknown';
34
- }
35
- // MarshalText formats a stacktrace Frame as a text string.
36
- MarshalText() {
37
- const name = this.name();
38
- if (name == 'unknown') {
39
- return [new TextEncoder().encode(name), null];
40
- }
41
- return [
42
- new TextEncoder().encode(`${name} ${this.file()}:${this.line()}`),
43
- null,
44
- ];
45
- }
2
+ export function Frame_pc(receiver) {
3
+ return receiver - 1;
46
4
  }
47
- export class StackTrace {
48
- _value;
49
- constructor(_value) {
50
- this._value = _value;
51
- }
52
- valueOf() {
53
- return this._value;
54
- }
55
- toString() {
56
- return String(this._value);
57
- }
58
- static from(value) {
59
- return new StackTrace(value);
60
- }
5
+ export function Frame_file(_receiver) {
6
+ return 'unknown';
7
+ }
8
+ export function Frame_line(_receiver) {
9
+ return 0;
10
+ }
11
+ export function Frame_name(_receiver) {
12
+ return 'unknown';
13
+ }
14
+ export function Frame_MarshalText(receiver) {
15
+ const name = Frame_name(receiver);
16
+ if (name == 'unknown') {
17
+ return [new TextEncoder().encode(name), null];
18
+ }
19
+ return [
20
+ new TextEncoder().encode(`${name} ${Frame_file(receiver)}:${Frame_line(receiver)}`),
21
+ null,
22
+ ];
23
+ }
24
+ export function StackTrace_Format(_receiver, _state, _verb) {
25
+ // Stack frame formatting is informational in the JavaScript target.
61
26
  }
62
27
  class stack {
63
28
  _value;
@@ -76,13 +41,13 @@ class stack {
76
41
  StackTrace() {
77
42
  const s = this._value;
78
43
  if (!s || s.length === 0) {
79
- return new StackTrace(null);
44
+ return null;
80
45
  }
81
46
  const frames = [];
82
47
  for (let i = 0; i < s.length; i++) {
83
- frames.push(new Frame(s[i]));
48
+ frames.push(s[i]);
84
49
  }
85
- return new StackTrace(frames);
50
+ return $.arrayToSlice(frames);
86
51
  }
87
52
  }
88
53
  // callers returns a simplified stack trace using JavaScript's native stack
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../../gs/github.com/pkg/errors/stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../../gs/github.com/pkg/errors/stack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export type Tag = number;
2
+ export declare function Tag_Constructed(t: Tag): Tag;
3
+ export declare function Tag_ContextSpecific(t: Tag): Tag;
4
+ export declare const BOOLEAN: Tag;
5
+ export declare const INTEGER: Tag;
6
+ export declare const BIT_STRING: Tag;
7
+ export declare const OCTET_STRING: Tag;
8
+ export declare const NULL: Tag;
9
+ export declare const OBJECT_IDENTIFIER: Tag;
10
+ export declare const ENUM: Tag;
11
+ export declare const UTF8String: Tag;
12
+ export declare const SEQUENCE: Tag;
13
+ export declare const SET: Tag;
14
+ export declare const PrintableString: Tag;
15
+ export declare const T61String: Tag;
16
+ export declare const IA5String: Tag;
17
+ export declare const UTCTime: Tag;
18
+ export declare const GeneralizedTime: Tag;
19
+ export declare const GeneralString: Tag;
@@ -0,0 +1,25 @@
1
+ const classConstructed = 0x20;
2
+ const classContextSpecific = 0x80;
3
+ export function Tag_Constructed(t) {
4
+ return (t | classConstructed) & 0xff;
5
+ }
6
+ export function Tag_ContextSpecific(t) {
7
+ return (t | classContextSpecific) & 0xff;
8
+ }
9
+ export const BOOLEAN = 1;
10
+ export const INTEGER = 2;
11
+ export const BIT_STRING = 3;
12
+ export const OCTET_STRING = 4;
13
+ export const NULL = 5;
14
+ export const OBJECT_IDENTIFIER = 6;
15
+ export const ENUM = 10;
16
+ export const UTF8String = 12;
17
+ export const SEQUENCE = 16 | classConstructed;
18
+ export const SET = 17 | classConstructed;
19
+ export const PrintableString = 19;
20
+ export const T61String = 20;
21
+ export const IA5String = 22;
22
+ export const UTCTime = 23;
23
+ export const GeneralizedTime = 24;
24
+ export const GeneralString = 27;
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../gs/golang.org/x/crypto/cryptobyte/asn1/index.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAC7B,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,MAAM,UAAU,eAAe,CAAC,CAAM;IACpC,OAAO,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAM;IACxC,OAAO,CAAC,CAAC,GAAG,oBAAoB,CAAC,GAAG,IAAI,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAQ,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAQ,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,UAAU,GAAQ,CAAC,CAAA;AAChC,MAAM,CAAC,MAAM,YAAY,GAAQ,CAAC,CAAA;AAClC,MAAM,CAAC,MAAM,IAAI,GAAQ,CAAC,CAAA;AAC1B,MAAM,CAAC,MAAM,iBAAiB,GAAQ,CAAC,CAAA;AACvC,MAAM,CAAC,MAAM,IAAI,GAAQ,EAAE,CAAA;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAQ,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAQ,EAAE,GAAG,gBAAgB,CAAA;AAClD,MAAM,CAAC,MAAM,GAAG,GAAQ,EAAE,GAAG,gBAAgB,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAQ,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,SAAS,GAAQ,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,SAAS,GAAQ,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,OAAO,GAAQ,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,eAAe,GAAQ,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,aAAa,GAAQ,EAAE,CAAA"}
@@ -0,0 +1,104 @@
1
+ import * as $ from '@goscript/builtin/index.js';
2
+ import * as asn1 from '@goscript/golang.org/x/crypto/cryptobyte/asn1/index.js';
3
+ import * as time from '@goscript/time/index.js';
4
+ export type String = $.Bytes;
5
+ export type BuilderContinuation = ((child: Builder | null) => void) | null;
6
+ export type MarshalingValue = {
7
+ Marshal(builder: Builder | $.VarRef<Builder> | null): $.GoError;
8
+ };
9
+ export declare function String_Skip(s: $.VarRef<String> | null, n: number): boolean;
10
+ export declare function String_ReadUint8(s: $.VarRef<String> | null, out: $.VarRef<number> | null): boolean;
11
+ export declare function String_ReadUint16(s: $.VarRef<String> | null, out: $.VarRef<number> | null): boolean;
12
+ export declare function String_ReadUint24(s: $.VarRef<String> | null, out: $.VarRef<number> | null): boolean;
13
+ export declare function String_ReadUint32(s: $.VarRef<String> | null, out: $.VarRef<number> | null): boolean;
14
+ export declare function String_ReadUint48(s: $.VarRef<String> | null, out: $.VarRef<number> | null): boolean;
15
+ export declare function String_ReadUint64(s: $.VarRef<String> | null, out: $.VarRef<number> | null): boolean;
16
+ export declare function String_ReadUint8LengthPrefixed(s: $.VarRef<String> | null, out: $.VarRef<String> | null): boolean;
17
+ export declare function String_ReadUint16LengthPrefixed(s: $.VarRef<String> | null, out: $.VarRef<String> | null): boolean;
18
+ export declare function String_ReadUint24LengthPrefixed(s: $.VarRef<String> | null, out: $.VarRef<String> | null): boolean;
19
+ export declare function String_ReadBytes(s: $.VarRef<String> | null, out: $.VarRef<$.Bytes> | null, n: number): boolean;
20
+ export declare function String_CopyBytes(s: $.VarRef<String> | null, out: $.Bytes): boolean;
21
+ export declare function String_Empty(s: String): boolean;
22
+ export declare class BuildError {
23
+ Err: $.GoError;
24
+ constructor(init?: Partial<{
25
+ Err: $.GoError;
26
+ }>);
27
+ Error(): string;
28
+ }
29
+ export declare class Builder {
30
+ private err;
31
+ private result;
32
+ private fixedSize;
33
+ private capacityLimit;
34
+ private child;
35
+ private offset;
36
+ private pendingLenLen;
37
+ private pendingIsASN1;
38
+ constructor(init?: Partial<{
39
+ err: $.GoError;
40
+ result: $.Bytes;
41
+ resultArray: number[];
42
+ fixedSize: boolean;
43
+ capacityLimit: number;
44
+ }>);
45
+ SetError(err: $.GoError): void;
46
+ Bytes(): [$.Bytes, $.GoError];
47
+ BytesOrPanic(): $.Bytes;
48
+ AddUint8(v: number): void;
49
+ AddUint16(v: number): void;
50
+ AddUint24(v: number): void;
51
+ AddUint32(v: number): void;
52
+ AddUint48(v: number): void;
53
+ AddUint64(v: number): void;
54
+ AddBytes(v: $.Bytes): void;
55
+ AddUint8LengthPrefixed(f: BuilderContinuation): void;
56
+ AddUint16LengthPrefixed(f: BuilderContinuation): void;
57
+ AddUint24LengthPrefixed(f: BuilderContinuation): void;
58
+ AddUint32LengthPrefixed(f: BuilderContinuation): void;
59
+ AddValue(v: MarshalingValue | null): void;
60
+ Unwrite(n: number): void;
61
+ AddASN1Int64(v: number): void;
62
+ AddASN1Int64WithTag(v: number, tag: asn1.Tag): void;
63
+ AddASN1Enum(v: number): void;
64
+ AddASN1Uint64(v: number): void;
65
+ AddASN1BigInt(n: unknown): void;
66
+ AddASN1OctetString(bytes: $.Bytes): void;
67
+ AddASN1GeneralizedTime(t: time.Time | $.VarRef<time.Time> | null): void;
68
+ AddASN1UTCTime(t: time.Time | $.VarRef<time.Time> | null): void;
69
+ AddASN1BitString(bitString: unknown): void;
70
+ AddASN1ObjectIdentifier(oid: $.Slice<number> | null): void;
71
+ AddASN1Boolean(v: boolean): void;
72
+ AddASN1NULL(): void;
73
+ MarshalASN1(_v: unknown): void;
74
+ AddASN1(tag: asn1.Tag, f: BuilderContinuation): void;
75
+ private addASN1Signed;
76
+ private addBase128Int;
77
+ private addLengthPrefixed;
78
+ private flushChild;
79
+ private flushASN1Length;
80
+ private add;
81
+ }
82
+ export declare function NewBuilder(buffer?: $.Bytes | null): Builder;
83
+ export declare function NewFixedBuilder(buffer: $.Bytes): Builder;
84
+ export declare function String_ReadASN1Boolean(s: $.VarRef<String> | null, out: $.VarRef<boolean> | null): boolean;
85
+ export declare function String_ReadASN1Integer(s: $.VarRef<String> | null, out: unknown): boolean;
86
+ export declare function String_ReadASN1Int64WithTag(s: $.VarRef<String> | null, out: $.VarRef<number> | null, tag: asn1.Tag): boolean;
87
+ export declare function String_ReadASN1Enum(s: $.VarRef<String> | null, out: $.VarRef<number> | null): boolean;
88
+ export declare function String_ReadASN1ObjectIdentifier(s: $.VarRef<String> | null, out: $.VarRef<$.Slice<number> | null> | null): boolean;
89
+ export declare function String_ReadASN1GeneralizedTime(s: $.VarRef<String> | null, out: $.VarRef<time.Time> | null): boolean;
90
+ export declare function String_ReadASN1UTCTime(s: $.VarRef<String> | null, out: $.VarRef<time.Time> | null): boolean;
91
+ export declare function String_ReadASN1BitString(s: $.VarRef<String> | null, out: unknown): boolean;
92
+ export declare function String_ReadASN1BitStringAsBytes(s: $.VarRef<String> | null, out: $.VarRef<$.Bytes> | null, paddingBits: $.VarRef<number> | null): boolean;
93
+ export declare function String_ReadASN1Bytes(s: $.VarRef<String> | null, out: $.VarRef<$.Bytes> | null, tag: asn1.Tag): boolean;
94
+ export declare function String_ReadASN1(s: $.VarRef<String> | null, out: $.VarRef<String> | null, tag: asn1.Tag): boolean;
95
+ export declare function String_ReadASN1Element(s: $.VarRef<String> | null, out: $.VarRef<String> | null, tag: asn1.Tag): boolean;
96
+ export declare function String_ReadAnyASN1(s: $.VarRef<String> | null, out: $.VarRef<String> | null, outTag: $.VarRef<asn1.Tag> | null): boolean;
97
+ export declare function String_ReadAnyASN1Element(s: $.VarRef<String> | null, out: $.VarRef<String> | null, outTag: $.VarRef<asn1.Tag> | null): boolean;
98
+ export declare function String_PeekASN1Tag(s: String, tag: asn1.Tag): boolean;
99
+ export declare function String_SkipASN1(s: $.VarRef<String> | null, tag: asn1.Tag): boolean;
100
+ export declare function String_ReadOptionalASN1(s: $.VarRef<String> | null, out: $.VarRef<String> | null, tag: asn1.Tag, defaultValue: String): boolean;
101
+ export declare function String_SkipOptionalASN1(s: $.VarRef<String> | null, tag: asn1.Tag): boolean;
102
+ export declare function String_ReadOptionalASN1Integer(s: $.VarRef<String> | null, out: unknown, tag: asn1.Tag, defaultValue: unknown): boolean;
103
+ export declare function String_ReadOptionalASN1OctetString(s: $.VarRef<String> | null, out: $.VarRef<$.Bytes> | null, tag: asn1.Tag, defaultValue: $.Bytes): boolean;
104
+ export declare function String_ReadOptionalASN1Boolean(s: $.VarRef<String> | null, out: $.VarRef<boolean> | null, tag: asn1.Tag, defaultValue: boolean): boolean;