@thi.ng/wasm-api 0.7.0 → 0.8.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/CHANGELOG.md +12 -1
- package/README.md +28 -6
- package/api.d.ts +34 -6
- package/bridge.d.ts +2 -2
- package/bridge.js +1 -1
- package/cli.js +2 -2
- package/codegen/typescript.d.ts +9 -0
- package/codegen/typescript.js +53 -17
- package/codegen/utils.d.ts +5 -4
- package/codegen/utils.js +6 -5
- package/codegen/zig.d.ts +3 -0
- package/codegen/zig.js +6 -6
- package/codegen.d.ts +38 -1
- package/codegen.js +48 -16
- package/doc/assets/main.js +52 -0
- package/doc/assets/search.js +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
- **Last updated**: 2022-08-
|
|
3
|
+
- **Last updated**: 2022-08-16T16:05:07Z
|
|
4
4
|
- **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
|
|
5
5
|
|
|
6
6
|
All notable changes to this project will be documented in this file.
|
|
@@ -9,6 +9,17 @@ See [Conventional Commits](https://conventionalcommits.org/) for commit guidelin
|
|
|
9
9
|
**Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
|
|
10
10
|
and/or version bumps of transitive dependencies.
|
|
11
11
|
|
|
12
|
+
## [0.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/wasm-api@0.8.0) (2022-08-16)
|
|
13
|
+
|
|
14
|
+
#### 🚀 Features
|
|
15
|
+
|
|
16
|
+
- add preliminary string handling support ([3da4efe](https://github.com/thi-ng/umbrella/commit/3da4efe))
|
|
17
|
+
- update/rename IWasmMemoryAccess (add string getter/setter)
|
|
18
|
+
- update StructField.type (add `string`)
|
|
19
|
+
- add CodeGenOpts.stringType option
|
|
20
|
+
- update codegen fns
|
|
21
|
+
- update TS & Zig codegen impls
|
|
22
|
+
|
|
12
23
|
## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/wasm-api@0.7.0) (2022-08-15)
|
|
13
24
|
|
|
14
25
|
#### 🚀 Features
|
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ This project is part of the
|
|
|
16
16
|
- [CLI generator](#cli-generator)
|
|
17
17
|
- [Data type definitions](#data-type-definitions)
|
|
18
18
|
- [Example usage](#example-usage)
|
|
19
|
+
- [String handling](#string-handling)
|
|
19
20
|
- [Status](#status)
|
|
20
21
|
- [Installation](#installation)
|
|
21
22
|
- [Dependencies](#dependencies)
|
|
@@ -193,7 +194,7 @@ to invoke the codegenerator(s) from JSON type definitions and to write the
|
|
|
193
194
|
generated source code(s) to different files:
|
|
194
195
|
|
|
195
196
|
```text
|
|
196
|
-
$ npx
|
|
197
|
+
$ npx @thi.ng/wasm-api
|
|
197
198
|
|
|
198
199
|
█ █ █ │
|
|
199
200
|
██ █ │
|
|
@@ -261,7 +262,9 @@ further details:
|
|
|
261
262
|
Below is an example file with JSON type definitions and the resulting source
|
|
262
263
|
codes:
|
|
263
264
|
|
|
264
|
-
|
|
265
|
+
**⬇︎ CLICK TO EXPAND EACH CODE BLOCK ⬇︎**
|
|
266
|
+
|
|
267
|
+
<details><summary>types.json (Type definitions)</summary>
|
|
265
268
|
|
|
266
269
|
```json
|
|
267
270
|
[
|
|
@@ -298,7 +301,7 @@ codes:
|
|
|
298
301
|
```
|
|
299
302
|
</details>
|
|
300
303
|
|
|
301
|
-
<details><summary>generated.ts (generated TypeScript source
|
|
304
|
+
<details><summary>generated.ts (generated TypeScript source)</summary>
|
|
302
305
|
|
|
303
306
|
```ts
|
|
304
307
|
/** Generated by @thi.ng/wasm-api at 2022-08-15T22:32:21.189Z - DO NOT EDIT! */
|
|
@@ -373,7 +376,7 @@ export enum Kind {
|
|
|
373
376
|
```
|
|
374
377
|
</details>
|
|
375
378
|
|
|
376
|
-
<details><summary>generated.zig (generated Zig source
|
|
379
|
+
<details><summary>generated.zig (generated Zig source)</summary>
|
|
377
380
|
|
|
378
381
|
```zig
|
|
379
382
|
//! Generated by @thi.ng/wasm-api at 2022-08-15T22:32:21.191Z - DO NOT EDIT!
|
|
@@ -422,13 +425,32 @@ foo.color
|
|
|
422
425
|
// Float32Array(4) [0.1, 0.2, 0.3, 0.4]
|
|
423
426
|
|
|
424
427
|
// this even applies to arrays using other types
|
|
425
|
-
// (setters are currently only supported for scalar values, incl. enums)
|
|
426
428
|
foo.bars[2].kind = Kind.BEST;
|
|
427
429
|
|
|
428
430
|
// IMPORTANT: any modifications like this are directly
|
|
429
431
|
// applied to the underlying WASM memory...
|
|
430
432
|
```
|
|
431
433
|
|
|
434
|
+
**IMPORTANT:** Struct field setters are currently only supported for single
|
|
435
|
+
values, incl. enums, strings, structs. The latter 2 will always be copied by
|
|
436
|
+
value (mem copy). Arrays or slices of strings do not currently provide write
|
|
437
|
+
access...
|
|
438
|
+
|
|
439
|
+
### String handling
|
|
440
|
+
|
|
441
|
+
Most low-level languages deal with strings very differently and alas there's no
|
|
442
|
+
general standard. Some have UTF-8/16 support, others don't. In some languages
|
|
443
|
+
(incl. C & Zig), strings are stored as zero terminated, in others they aren't...
|
|
444
|
+
It's outside the scope of this package to provide an allround out-of-the-box
|
|
445
|
+
solution. However, the code generators provide the global `stringType` option to
|
|
446
|
+
interpret the `string` type of a struct field in different ways:
|
|
447
|
+
|
|
448
|
+
- `slice` (default): Considers strings as Zig-style slices (i.e. pointer + length)
|
|
449
|
+
- `ptr`: Considers strings as C-style raw `*char` pointer (without any length)
|
|
450
|
+
|
|
451
|
+
Note: If setting this global option to `ptr`, it also has to be stated for the
|
|
452
|
+
TypeScript code generator explicitly.
|
|
453
|
+
|
|
432
454
|
### Status
|
|
433
455
|
|
|
434
456
|
**ALPHA** - bleeding edge / work-in-progress
|
|
@@ -458,7 +480,7 @@ node --experimental-repl-await
|
|
|
458
480
|
> const wasmApi = await import("@thi.ng/wasm-api");
|
|
459
481
|
```
|
|
460
482
|
|
|
461
|
-
Package sizes (gzipped, pre-treeshake): ESM: 4.
|
|
483
|
+
Package sizes (gzipped, pre-treeshake): ESM: 4.32 KB
|
|
462
484
|
|
|
463
485
|
**IMPORTANT:** The package includes various code generators and supporting
|
|
464
486
|
functions which are NOT required during runtime. Hence the actual package size
|
package/api.d.ts
CHANGED
|
@@ -66,7 +66,7 @@ export interface WasmExports {
|
|
|
66
66
|
*/
|
|
67
67
|
_wasm_free(addr: number, numBytes: number): void;
|
|
68
68
|
}
|
|
69
|
-
export interface
|
|
69
|
+
export interface IWasmMemoryAccess {
|
|
70
70
|
i8: Int8Array;
|
|
71
71
|
u8: Uint8Array;
|
|
72
72
|
i16: Int16Array;
|
|
@@ -77,6 +77,31 @@ export interface WasmMemViews {
|
|
|
77
77
|
u64: BigUint64Array;
|
|
78
78
|
f32: Float32Array;
|
|
79
79
|
f64: Float64Array;
|
|
80
|
+
/**
|
|
81
|
+
* Reads UTF-8 encoded string from given address and optional byte length.
|
|
82
|
+
* The default length is 0, which will be interpreted as a zero-terminated
|
|
83
|
+
* string. Returns string.
|
|
84
|
+
*
|
|
85
|
+
* @param addr
|
|
86
|
+
* @param len
|
|
87
|
+
*/
|
|
88
|
+
getString(addr: number, len?: number): string;
|
|
89
|
+
/**
|
|
90
|
+
* Encodes given string as UTF-8 and writes it to WASM memory starting at
|
|
91
|
+
* `addr`. By default the string will be zero-terminated and only `maxBytes`
|
|
92
|
+
* will be written. Returns the number of bytes written.
|
|
93
|
+
*
|
|
94
|
+
* @remarks
|
|
95
|
+
* An error will be thrown if the encoded string doesn't fully fit into the
|
|
96
|
+
* designated memory region (also note that there might need to be space for
|
|
97
|
+
* the additional sentinel/termination byte).
|
|
98
|
+
*
|
|
99
|
+
* @param str
|
|
100
|
+
* @param addr
|
|
101
|
+
* @param maxBytes
|
|
102
|
+
* @param terminate
|
|
103
|
+
*/
|
|
104
|
+
setString(str: string, addr: number, maxBytes: number, terminate?: boolean): number;
|
|
80
105
|
}
|
|
81
106
|
/**
|
|
82
107
|
* Core API of WASM imports defined by the {@link WasmBridge}. The same
|
|
@@ -126,7 +151,7 @@ export interface WasmType<T> {
|
|
|
126
151
|
readonly size: number;
|
|
127
152
|
instance: Fn<number, T>;
|
|
128
153
|
}
|
|
129
|
-
export declare type WasmTypeConstructor<T> = Fn<
|
|
154
|
+
export declare type WasmTypeConstructor<T> = Fn<IWasmMemoryAccess, WasmType<T>>;
|
|
130
155
|
export declare type WasmInt = "i8" | "i16" | "i32" | "i64";
|
|
131
156
|
export declare type WasmUint = "u8" | "u16" | "u32" | "u64";
|
|
132
157
|
export declare type WasmFloat = FloatType;
|
|
@@ -210,13 +235,16 @@ export interface StructField extends TypeInfo {
|
|
|
210
235
|
*/
|
|
211
236
|
tag?: "scalar" | "array" | "ptr" | "slice" | "vec";
|
|
212
237
|
/**
|
|
213
|
-
* Field base type. If not a {@link WasmPrim} or `opaque`, the
|
|
214
|
-
* interpreted as another type name in the {@link TypeColl}.
|
|
238
|
+
* Field base type. If not a {@link WasmPrim}, `string` or `opaque`, the
|
|
239
|
+
* value is interpreted as another type name in the {@link TypeColl}.
|
|
240
|
+
*
|
|
241
|
+
* @remarks
|
|
242
|
+
* Please see {@link CodeGenOpts.stringType} and consult package readme for
|
|
243
|
+
* further details re: string handling.
|
|
215
244
|
*
|
|
216
245
|
* TODO `opaque` currently unsupported.
|
|
217
|
-
* TODO add string support (see {@link StructField.sentinel})
|
|
218
246
|
*/
|
|
219
|
-
type: WasmPrim | "opaque" | string;
|
|
247
|
+
type: WasmPrim | "string" | "opaque" | string;
|
|
220
248
|
/**
|
|
221
249
|
* TODO currently unsupported & ignored!
|
|
222
250
|
*/
|
package/bridge.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { NumericArray } from "@thi.ng/api";
|
|
3
3
|
import type { ILogger } from "@thi.ng/logger";
|
|
4
|
-
import type { BigIntArray, CoreAPI, IWasmAPI, WasmExports,
|
|
4
|
+
import type { BigIntArray, CoreAPI, IWasmAPI, WasmExports, IWasmMemoryAccess } from "./api.js";
|
|
5
5
|
export declare const OutOfMemoryError: {
|
|
6
6
|
new (msg?: string | undefined): {
|
|
7
7
|
name: string;
|
|
@@ -28,7 +28,7 @@ export declare const OutOfMemoryError: {
|
|
|
28
28
|
* 64bit integers are handled via JS `BigInt` and hence require the host env to
|
|
29
29
|
* support it. No polyfill is provided.
|
|
30
30
|
*/
|
|
31
|
-
export declare class WasmBridge<T extends WasmExports = WasmExports> implements
|
|
31
|
+
export declare class WasmBridge<T extends WasmExports = WasmExports> implements IWasmMemoryAccess {
|
|
32
32
|
modules: Record<string, IWasmAPI<T>>;
|
|
33
33
|
logger: ILogger;
|
|
34
34
|
i8: Int8Array;
|
package/bridge.js
CHANGED
|
@@ -386,7 +386,7 @@ export class WasmBridge {
|
|
|
386
386
|
maxBytes = Math.min(maxBytes, this.u8.length - addr);
|
|
387
387
|
const len = this.utf8Encoder.encodeInto(str, this.u8.subarray(addr, addr + maxBytes)).written;
|
|
388
388
|
if (len == null || len >= maxBytes + (terminate ? 0 : 1)) {
|
|
389
|
-
illegalArgs(`error writing string to 0x${U32(addr)}`);
|
|
389
|
+
illegalArgs(`error writing string to 0x${U32(addr)} (max. ${maxBytes} bytes, got at least ${str.length})`);
|
|
390
390
|
}
|
|
391
391
|
if (terminate) {
|
|
392
392
|
this.u8[addr + len] = 0;
|
package/cli.js
CHANGED
|
@@ -6,7 +6,7 @@ import { ConsoleLogger } from "@thi.ng/logger";
|
|
|
6
6
|
import { resolve } from "path";
|
|
7
7
|
import { generateTypes } from "./codegen.js";
|
|
8
8
|
import { TYPESCRIPT } from "./codegen/typescript.js";
|
|
9
|
-
import {
|
|
9
|
+
import { isWasmPrim, isWasmString } from "./codegen/utils.js";
|
|
10
10
|
import { ZIG } from "./codegen/zig.js";
|
|
11
11
|
const GENERATORS = { ts: TYPESCRIPT, zig: ZIG };
|
|
12
12
|
const argOpts = {
|
|
@@ -72,7 +72,7 @@ const validateTypeRefs = (coll) => {
|
|
|
72
72
|
if (spec.type !== "struct")
|
|
73
73
|
continue;
|
|
74
74
|
for (let f of spec.fields) {
|
|
75
|
-
if (!(
|
|
75
|
+
if (!(isWasmPrim(f.type) || isWasmString(f.type) || coll[f.type])) {
|
|
76
76
|
invalidSpec(spec.__path, `structfield ${spec.name}.${f.name} of unknown type: ${f.type}`);
|
|
77
77
|
}
|
|
78
78
|
}
|
package/codegen/typescript.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { ICodeGen } from "../api.js";
|
|
2
|
+
/**
|
|
3
|
+
* TypeScript code generator options.
|
|
4
|
+
*/
|
|
2
5
|
export interface TSOpts {
|
|
3
6
|
/**
|
|
4
7
|
* Indentation string
|
|
@@ -8,8 +11,14 @@ export interface TSOpts {
|
|
|
8
11
|
indent: string;
|
|
9
12
|
/**
|
|
10
13
|
* If true (default), forces uppercase enums
|
|
14
|
+
*
|
|
15
|
+
* @defaultValue true
|
|
11
16
|
*/
|
|
12
17
|
uppercaseEnums: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Same as {@link CodeGenOpts.stringType}.
|
|
20
|
+
*/
|
|
21
|
+
stringType: "slice" | "ptr";
|
|
13
22
|
}
|
|
14
23
|
/**
|
|
15
24
|
* TypeScript code generator. Call with options and then pass to
|
package/codegen/typescript.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BIGINT_ARRAY_CTORS, BIT_SHIFTS, TYPEDARRAY_CTORS, } from "@thi.ng/api/typedarray";
|
|
2
2
|
import { isString } from "@thi.ng/checks/is-string";
|
|
3
|
-
import { PKG_NAME, USIZE, } from "../api.js";
|
|
4
|
-
import { isBigNumeric, isNumeric,
|
|
3
|
+
import { PKG_NAME, USIZE, USIZE_SIZE, } from "../api.js";
|
|
4
|
+
import { isBigNumeric, isNumeric, isWasmPrim, isWasmString, prefixLines, } from "./utils.js";
|
|
5
5
|
/**
|
|
6
6
|
* TypeScript code generator. Call with options and then pass to
|
|
7
7
|
* {@link generateTypes} (see its docs for further usage).
|
|
@@ -14,8 +14,9 @@ import { isBigNumeric, isNumeric, isPrim, prefixLines } from "./utils.js";
|
|
|
14
14
|
* @param opts
|
|
15
15
|
*/
|
|
16
16
|
export const TYPESCRIPT = (opts) => {
|
|
17
|
-
const { indent, uppercaseEnums } = {
|
|
17
|
+
const { indent, stringType, uppercaseEnums } = {
|
|
18
18
|
indent: "\t",
|
|
19
|
+
stringType: "slice",
|
|
19
20
|
uppercaseEnums: true,
|
|
20
21
|
...opts,
|
|
21
22
|
};
|
|
@@ -36,7 +37,7 @@ export const TYPESCRIPT = (opts) => {
|
|
|
36
37
|
const e = type;
|
|
37
38
|
acc.push(`export enum ${e.name} {`);
|
|
38
39
|
for (let v of e.values) {
|
|
39
|
-
|
|
40
|
+
let line = indent;
|
|
40
41
|
if (!isString(v)) {
|
|
41
42
|
v.doc && gen.doc(v.doc, indent, acc);
|
|
42
43
|
line += uppercaseEnums ? v.name.toUpperCase() : v.name;
|
|
@@ -83,31 +84,60 @@ export const TYPESCRIPT = (opts) => {
|
|
|
83
84
|
for (let f of struct.fields) {
|
|
84
85
|
const offset = f.__offset || 0;
|
|
85
86
|
acc.push(`${I2}get ${f.name}(): ${returnTypes[f.name]} {`);
|
|
86
|
-
const
|
|
87
|
+
const isPrim = isWasmPrim(f.type);
|
|
88
|
+
const isStr = isWasmString(f.type);
|
|
87
89
|
if (f.tag === "ptr") {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
if (isPrim) {
|
|
91
|
+
acc.push(`${I3}return mem.${f.type}[${__ptrShift(offset, f.type)}];`);
|
|
92
|
+
}
|
|
93
|
+
else if (isStr) {
|
|
94
|
+
acc.push(
|
|
95
|
+
// double deref
|
|
96
|
+
stringType === "slice"
|
|
97
|
+
? `${I3}return mem.getString(mem.${USIZE}[${__ptr(offset)} >>> ${USIZE_SIZE}])`
|
|
98
|
+
: `${I3}return mem.getString(${__ptr(offset)})`);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
acc.push(`${I3}return $${f.type}.instance(${__ptr(offset)});`);
|
|
102
|
+
}
|
|
91
103
|
}
|
|
92
104
|
else if (f.tag === "slice") {
|
|
93
|
-
acc.push(`${I3}const len = ${__ptr(offset + 4)}
|
|
94
|
-
|
|
95
|
-
${I3}return mem.${f.type}.subarray(addr, addr + len);`
|
|
96
|
-
|
|
105
|
+
acc.push(`${I3}const len = ${__ptr(offset + 4)};`);
|
|
106
|
+
if (isPrim) {
|
|
107
|
+
acc.push(`${I3}const addr = ${__ptrShift(offset, f.type)};`, `${I3}return mem.${f.type}.subarray(addr, addr + len);`);
|
|
108
|
+
}
|
|
109
|
+
else if (isStr) {
|
|
110
|
+
acc.push(`${I3}const addr = ${__ptr(offset)};`, __mapStringArray(I3, stringType));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
acc.push(`${I3}const addr = ${__ptr(offset)};`, __mapArray(f, I3));
|
|
114
|
+
}
|
|
97
115
|
}
|
|
98
116
|
else if (f.tag === "array" || f.tag === "vec") {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
117
|
+
if (isPrim) {
|
|
118
|
+
acc.push(`${I3}const addr = ${__addrShift(offset, f.type)};`, `${I3}return mem.${f.type}.subarray(addr, addr + ${f.len});`);
|
|
119
|
+
}
|
|
120
|
+
else if (isStr) {
|
|
121
|
+
acc.push(`${I3}const addr = ${__addr(offset)};`, __mapStringArray(I3, stringType, f.len));
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
acc.push(`${I3}const addr = ${__addr(offset)};`, __mapArray(f, I3, f.len));
|
|
125
|
+
}
|
|
103
126
|
}
|
|
104
127
|
else {
|
|
105
128
|
let setter;
|
|
106
|
-
if (
|
|
129
|
+
if (isPrim) {
|
|
107
130
|
const addr = __mem(f.type, f.__offset);
|
|
108
131
|
acc.push(`${I3}return ${addr};`);
|
|
109
132
|
setter = `${addr} = x`;
|
|
110
133
|
}
|
|
134
|
+
else if (isStr) {
|
|
135
|
+
acc.push(`${I3}return mem.getString(${__ptr(offset)})`);
|
|
136
|
+
setter =
|
|
137
|
+
stringType === "slice"
|
|
138
|
+
? `mem.setString(x, ${__ptr(offset)}, ${__ptr(offset + 4)} + 1, true);`
|
|
139
|
+
: `throw new Error("unsupported for raw string pointers")`;
|
|
140
|
+
}
|
|
111
141
|
else if (types[f.type].type === "enum") {
|
|
112
142
|
const tag = types[f.type].tag;
|
|
113
143
|
const addr = __mem(tag, f.__offset);
|
|
@@ -151,3 +181,9 @@ const __mapArray = (f, indent, len = "len") => prefixLines(indent, `const inst =
|
|
|
151
181
|
const slice: ${f.type}[] = [];
|
|
152
182
|
for(let i = 0; i < ${len}; i++) slice.push(inst.instance(addr + i * ${f.__size}));
|
|
153
183
|
return slice;`);
|
|
184
|
+
/** @internal */
|
|
185
|
+
const __mapStringArray = (indent, type, len = "len") => prefixLines(indent, [
|
|
186
|
+
"const slice: string[] = [];",
|
|
187
|
+
`for(let i = 0; i < ${len}; i++) slice.push(mem.getString(mem.${USIZE}[(addr + i * ${USIZE_SIZE * (type === "slice" ? 2 : 1)}) >>> ${__shift(USIZE)}]));`,
|
|
188
|
+
"return slice;",
|
|
189
|
+
]);
|
package/codegen/utils.d.ts
CHANGED
|
@@ -17,13 +17,14 @@ export declare const isBigNumeric: (x: string) => x is BigType;
|
|
|
17
17
|
*
|
|
18
18
|
* @param x
|
|
19
19
|
*/
|
|
20
|
-
export declare const
|
|
20
|
+
export declare const isWasmPrim: (x: string) => x is WasmPrim;
|
|
21
|
+
export declare const isWasmString: (x: string) => x is "string";
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
* returns rejoined result.
|
|
23
|
+
* Takes an array of strings or splits given string into lines, prefixes each
|
|
24
|
+
* line with given `prefix` and then returns rejoined result.
|
|
24
25
|
*
|
|
25
26
|
* @param prefix
|
|
26
27
|
* @param str
|
|
27
28
|
*/
|
|
28
|
-
export declare const prefixLines: (prefix: string, str: string) => string;
|
|
29
|
+
export declare const prefixLines: (prefix: string, str: string | string[]) => string;
|
|
29
30
|
//# sourceMappingURL=utils.d.ts.map
|
package/codegen/utils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isString } from "@thi.ng/checks/is-string";
|
|
1
2
|
/**
|
|
2
3
|
* Returns true iff `x` is a {@link WasmPrim32}.
|
|
3
4
|
*
|
|
@@ -15,15 +16,15 @@ export const isBigNumeric = (x) => /^[iu]64$/.test(x);
|
|
|
15
16
|
*
|
|
16
17
|
* @param x
|
|
17
18
|
*/
|
|
18
|
-
export const
|
|
19
|
+
export const isWasmPrim = (x) => isNumeric(x) || isBigNumeric(x);
|
|
20
|
+
export const isWasmString = (x) => x === "string";
|
|
19
21
|
/**
|
|
20
|
-
*
|
|
21
|
-
* returns rejoined result.
|
|
22
|
+
* Takes an array of strings or splits given string into lines, prefixes each
|
|
23
|
+
* line with given `prefix` and then returns rejoined result.
|
|
22
24
|
*
|
|
23
25
|
* @param prefix
|
|
24
26
|
* @param str
|
|
25
27
|
*/
|
|
26
|
-
export const prefixLines = (prefix, str) => str
|
|
27
|
-
.split("\n")
|
|
28
|
+
export const prefixLines = (prefix, str) => (isString(str) ? str.split("\n") : str)
|
|
28
29
|
.map((line) => prefix + line)
|
|
29
30
|
.join("\n");
|
package/codegen/zig.d.ts
CHANGED
package/codegen/zig.js
CHANGED
|
@@ -39,23 +39,23 @@ export const ZIG = (opts) => {
|
|
|
39
39
|
const ftypes = {};
|
|
40
40
|
for (let f of struct.fields) {
|
|
41
41
|
f.doc && gen.doc(f.doc, " ", acc);
|
|
42
|
-
|
|
42
|
+
let ftype = f.type === "string" ? "[]const u8" : f.type;
|
|
43
43
|
switch (f.tag) {
|
|
44
44
|
case "array":
|
|
45
|
-
ftype = `[${f.len}]${
|
|
45
|
+
ftype = `[${f.len}]${ftype}`;
|
|
46
46
|
break;
|
|
47
47
|
case "slice":
|
|
48
|
-
ftype = `[]${f.
|
|
48
|
+
// ftype = `[]${f.const ? "const" : ""}${ftype}`; // TODO
|
|
49
|
+
ftype = `[]${ftype}`;
|
|
49
50
|
break;
|
|
50
51
|
case "vec":
|
|
51
|
-
ftype = `@Vector(${f.len}, ${
|
|
52
|
+
ftype = `@Vector(${f.len}, ${ftype})`;
|
|
52
53
|
break;
|
|
53
54
|
case "ptr":
|
|
54
|
-
ftype = `*${f.len ? `[${f.len}]` : ""}${
|
|
55
|
+
ftype = `*${f.len ? `[${f.len}]` : ""}${ftype}`;
|
|
55
56
|
break;
|
|
56
57
|
case "scalar":
|
|
57
58
|
default:
|
|
58
|
-
ftype = f.type;
|
|
59
59
|
}
|
|
60
60
|
ftypes[f.name] = ftype;
|
|
61
61
|
acc.push(` ${f.name}: ${ftype},`);
|
package/codegen.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { ICodeGen, TypeColl } from "./api.js";
|
|
2
|
+
/**
|
|
3
|
+
* Global/shared code generator options.
|
|
4
|
+
*/
|
|
2
5
|
export interface CodeGenOpts {
|
|
3
6
|
/**
|
|
4
7
|
* Optional string to be injected before generated type defs (but after
|
|
@@ -10,7 +13,41 @@ export interface CodeGenOpts {
|
|
|
10
13
|
* codegen's own epilogue, if any)
|
|
11
14
|
*/
|
|
12
15
|
post: string;
|
|
16
|
+
/**
|
|
17
|
+
* Identifier how strings are stored on WASM side, e.g. in Zig string
|
|
18
|
+
* literals are slices (8 bytes), in C just plain pointers (4 bytes).
|
|
19
|
+
*
|
|
20
|
+
* @defaultValue "slice"
|
|
21
|
+
*/
|
|
22
|
+
stringType: "slice" | "ptr";
|
|
13
23
|
}
|
|
14
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Takes a type collection and analyzes each analyzed to compute individual
|
|
26
|
+
* alignments and sizes.
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* This function is idempotent and called automatically by
|
|
30
|
+
* {@link generateTypes}. Only exported for dev/debug purposes.
|
|
31
|
+
*
|
|
32
|
+
* @param types
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export declare const prepareTypes: (types: TypeColl, opts: CodeGenOpts) => void;
|
|
37
|
+
/**
|
|
38
|
+
* Code generator main entry point. Takes an object of {@link TopLevelType}
|
|
39
|
+
* definitions, an actual code generator implementation for a single target
|
|
40
|
+
* language and (optional) global codegen options. Returns generated source code
|
|
41
|
+
* for all given types as a single string.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* Before actual code generation the types are first analyzed to compute their
|
|
45
|
+
* alignments and sizes. This is only ever done once (idempotent), even if
|
|
46
|
+
* `generateTypes()` is called multiple times for different target langs.
|
|
47
|
+
*
|
|
48
|
+
* @param types
|
|
49
|
+
* @param codegen
|
|
50
|
+
* @param opts
|
|
51
|
+
*/
|
|
15
52
|
export declare const generateTypes: (types: TypeColl, codegen: ICodeGen, opts?: Partial<CodeGenOpts>) => string;
|
|
16
53
|
//# sourceMappingURL=codegen.d.ts.map
|
package/codegen.js
CHANGED
|
@@ -5,9 +5,9 @@ import { compareByKey } from "@thi.ng/compare/keys";
|
|
|
5
5
|
import { compareNumDesc } from "@thi.ng/compare/numeric";
|
|
6
6
|
import { DEFAULT, defmulti } from "@thi.ng/defmulti/defmulti";
|
|
7
7
|
import { PKG_NAME, USIZE_SIZE, } from "./api.js";
|
|
8
|
-
import { isNumeric } from "./codegen/utils.js";
|
|
8
|
+
import { isNumeric, isWasmString } from "./codegen/utils.js";
|
|
9
9
|
const sizeOf = defmulti((x) => x.type, {}, {
|
|
10
|
-
[DEFAULT]: (field, types) => {
|
|
10
|
+
[DEFAULT]: (field, types, opts) => {
|
|
11
11
|
if (field.__size)
|
|
12
12
|
return field.__size;
|
|
13
13
|
let size = 0;
|
|
@@ -20,7 +20,9 @@ const sizeOf = defmulti((x) => x.type, {}, {
|
|
|
20
20
|
else {
|
|
21
21
|
size = isNumeric(field.type)
|
|
22
22
|
? SIZEOF[field.type]
|
|
23
|
-
:
|
|
23
|
+
: isWasmString(field.type)
|
|
24
|
+
? USIZE_SIZE * (opts.stringType === "slice" ? 2 : 1)
|
|
25
|
+
: sizeOf(types[field.type], types, opts);
|
|
24
26
|
if (field.tag == "array" || field.tag === "vec") {
|
|
25
27
|
size *= field.len;
|
|
26
28
|
}
|
|
@@ -32,7 +34,7 @@ const sizeOf = defmulti((x) => x.type, {}, {
|
|
|
32
34
|
return type.__size;
|
|
33
35
|
return (type.__size = SIZEOF[type.tag]);
|
|
34
36
|
},
|
|
35
|
-
struct: (type, types) => {
|
|
37
|
+
struct: (type, types, opts) => {
|
|
36
38
|
if (type.__size)
|
|
37
39
|
return type.__size;
|
|
38
40
|
const struct = type;
|
|
@@ -40,7 +42,7 @@ const sizeOf = defmulti((x) => x.type, {}, {
|
|
|
40
42
|
for (let f of struct.fields) {
|
|
41
43
|
size = align(size, f.__align);
|
|
42
44
|
f.__offset = size;
|
|
43
|
-
size += sizeOf(f, types);
|
|
45
|
+
size += sizeOf(f, types, opts);
|
|
44
46
|
}
|
|
45
47
|
return (type.__size = align(size, type.__align));
|
|
46
48
|
},
|
|
@@ -51,7 +53,9 @@ const alignOf = defmulti((x) => x.type, {}, {
|
|
|
51
53
|
return field.__align;
|
|
52
54
|
let align = isNumeric(field.type)
|
|
53
55
|
? SIZEOF[field.type]
|
|
54
|
-
:
|
|
56
|
+
: isWasmString(field.type)
|
|
57
|
+
? USIZE_SIZE
|
|
58
|
+
: alignOf(types[field.type], types);
|
|
55
59
|
if (field.tag === "vec") {
|
|
56
60
|
align *= ceilPow2(field.len);
|
|
57
61
|
}
|
|
@@ -71,13 +75,13 @@ const alignOf = defmulti((x) => x.type, {}, {
|
|
|
71
75
|
},
|
|
72
76
|
});
|
|
73
77
|
const prepareType = defmulti((x) => x.type, {}, {
|
|
74
|
-
[DEFAULT]: (x, types) => {
|
|
78
|
+
[DEFAULT]: (x, types, opts) => {
|
|
75
79
|
if (x.__align && x.__size)
|
|
76
80
|
return;
|
|
77
81
|
alignOf(x, types);
|
|
78
|
-
sizeOf(x, types);
|
|
82
|
+
sizeOf(x, types, opts);
|
|
79
83
|
},
|
|
80
|
-
struct: (x, types) => {
|
|
84
|
+
struct: (x, types, opts) => {
|
|
81
85
|
if (x.__align && x.__size)
|
|
82
86
|
return;
|
|
83
87
|
const struct = x;
|
|
@@ -87,30 +91,58 @@ const prepareType = defmulti((x) => x.type, {}, {
|
|
|
87
91
|
}
|
|
88
92
|
for (let f of struct.fields) {
|
|
89
93
|
if (types[f.type]) {
|
|
90
|
-
prepareType(types[f.type], types);
|
|
94
|
+
prepareType(types[f.type], types, opts);
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
|
-
sizeOf(struct, types);
|
|
97
|
+
sizeOf(struct, types, opts);
|
|
94
98
|
},
|
|
95
99
|
});
|
|
96
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Takes a type collection and analyzes each analyzed to compute individual
|
|
102
|
+
* alignments and sizes.
|
|
103
|
+
*
|
|
104
|
+
* @remarks
|
|
105
|
+
* This function is idempotent and called automatically by
|
|
106
|
+
* {@link generateTypes}. Only exported for dev/debug purposes.
|
|
107
|
+
*
|
|
108
|
+
* @param types
|
|
109
|
+
*
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
export const prepareTypes = (types, opts) => {
|
|
97
113
|
for (let id in types) {
|
|
98
|
-
prepareType(types[id], types);
|
|
114
|
+
prepareType(types[id], types, opts);
|
|
99
115
|
}
|
|
100
116
|
};
|
|
117
|
+
/**
|
|
118
|
+
* Code generator main entry point. Takes an object of {@link TopLevelType}
|
|
119
|
+
* definitions, an actual code generator implementation for a single target
|
|
120
|
+
* language and (optional) global codegen options. Returns generated source code
|
|
121
|
+
* for all given types as a single string.
|
|
122
|
+
*
|
|
123
|
+
* @remarks
|
|
124
|
+
* Before actual code generation the types are first analyzed to compute their
|
|
125
|
+
* alignments and sizes. This is only ever done once (idempotent), even if
|
|
126
|
+
* `generateTypes()` is called multiple times for different target langs.
|
|
127
|
+
*
|
|
128
|
+
* @param types
|
|
129
|
+
* @param codegen
|
|
130
|
+
* @param opts
|
|
131
|
+
*/
|
|
101
132
|
export const generateTypes = (types, codegen, opts = {}) => {
|
|
102
|
-
|
|
133
|
+
const $opts = { stringType: "slice", ...opts };
|
|
134
|
+
prepareTypes(types, $opts);
|
|
103
135
|
const res = [];
|
|
104
136
|
codegen.doc(`Generated by ${PKG_NAME} at ${new Date().toISOString()} - DO NOT EDIT!`, "", res, true);
|
|
105
137
|
res.push("");
|
|
106
138
|
codegen.pre && res.push(codegen.pre, "");
|
|
107
|
-
opts.pre && res.push(opts.pre, "");
|
|
139
|
+
$opts.pre && res.push($opts.pre, "");
|
|
108
140
|
for (let id in types) {
|
|
109
141
|
const type = types[id];
|
|
110
142
|
type.doc && codegen.doc(type.doc, "", res);
|
|
111
143
|
codegen[type.type](type, types, res);
|
|
112
144
|
}
|
|
113
|
-
opts.post && res.push("", opts.post);
|
|
145
|
+
$opts.post && res.push("", $opts.post);
|
|
114
146
|
codegen.post && res.push("", codegen.post);
|
|
115
147
|
return res.join("\n");
|
|
116
148
|
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
(()=>{var Ce=Object.create;var ue=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!_e.call(t,i)&&i!==r&&ue(t,i,{get:()=>e[i],enumerable:!(n=Pe(e,i))||n.enumerable});return t};var Fe=(t,e,r)=>(r=t!=null?Ce(Re(t)):{},De(e||!t||!t.__esModule?ue(r,"default",{value:t,enumerable:!0}):r,t));var pe=Me((de,fe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var s=n[i],o=e[s];if(Array.isArray(o)){r[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return r},t.FieldRef=function(e,r,n){this.docRef=e,this.fieldName=r,this._stringValue=n},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var r=e.indexOf(t.FieldRef.joiner);if(r===-1)throw"malformed field ref string";var n=e.slice(0,r),i=e.slice(r+1);return new t.FieldRef(i,n,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var r=0;r<this.length;r++)this.elements[e[r]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var r,n,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(r=this,n=e):(r=e,n=this),i=Object.keys(r.elements);for(var o=0;o<i.length;o++){var a=i[o];a in n.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,r){var n=0;for(var i in e)i!="_index"&&(n+=Object.keys(e[i]).length);var s=(r-n+.5)/(n+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,r){this.str=e||"",this.metadata=r||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(r){return r},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,r){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(f){return new t.Token(t.utils.asString(f).toLowerCase(),t.utils.clone(r))});for(var n=e.toString().toLowerCase(),i=n.length,s=[],o=0,a=0;o<=i;o++){var l=n.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var h=t.utils.clone(r)||{};h.position=[a,u],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
|
|
2
|
+
`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n<r;n++){for(var i=this._stack[n],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,r){var n=new t.Token(e,r);return this.run([n]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var r=0,n=this.elements.length/2,i=n-r,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(r=s),o>e&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,r){this.upsert(e,r,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,r,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],r):this.elements.splice(i,0,e,r)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,r=this.elements.length,n=1;n<r;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var r=0,n=this.elements,i=e.elements,s=n.length,o=i.length,a=0,l=0,u=0,h=0;u<s&&h<o;)a=n[u],l=i[h],a<l?u+=2:a>l?h+=2:a==l&&(r+=n[u+1]*i[h+1],u+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r<this.elements.length;r+=2,n++)e[n]=this.elements[r];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},r={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",s=n+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,h="^("+s+")?"+i,f=new RegExp(a),p=new RegExp(u),E=new RegExp(l),y=new RegExp(h),b=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,T=/^(.+?)(ed|ing)$/,w=/.$/,I=/(at|bl|iz)$/,M=new RegExp("([^aeiouylsz])\\1$"),B=new RegExp("^"+s+i+"[^aeiouwxy]$"),V=/^(.+?[^aeiou])y$/,q=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,$=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,H=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,W=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,U=/ll$/,G=new RegExp("^"+s+i+"[^aeiouwxy]$"),z=function(c){var g,O,S,d,x,R,F;if(c.length<3)return c;if(S=c.substr(0,1),S=="y"&&(c=S.toUpperCase()+c.substr(1)),d=b,x=m,d.test(c)?c=c.replace(d,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),d=v,x=T,d.test(c)){var L=d.exec(c);d=f,d.test(L[1])&&(d=w,c=c.replace(d,""))}else if(x.test(c)){var L=x.exec(c);g=L[1],x=y,x.test(g)&&(c=g,x=I,R=M,F=B,x.test(c)?c=c+"e":R.test(c)?(d=w,c=c.replace(d,"")):F.test(c)&&(c=c+"e"))}if(d=V,d.test(c)){var L=d.exec(c);g=L[1],c=g+"i"}if(d=q,d.test(c)){var L=d.exec(c);g=L[1],O=L[2],d=f,d.test(g)&&(c=g+e[O])}if(d=$,d.test(c)){var L=d.exec(c);g=L[1],O=L[2],d=f,d.test(g)&&(c=g+r[O])}if(d=H,x=W,d.test(c)){var L=d.exec(c);g=L[1],d=p,d.test(g)&&(c=g)}else if(x.test(c)){var L=x.exec(c);g=L[1]+L[2],x=p,x.test(g)&&(c=g)}if(d=P,d.test(c)){var L=d.exec(c);g=L[1],d=p,x=E,R=G,(d.test(g)||x.test(g)&&!R.test(g))&&(c=g)}return d=U,x=p,d.test(c)&&x.test(c)&&(d=w,c=c.replace(d,"")),S=="y"&&(c=S.toLowerCase()+c.substr(1)),c};return function(D){return D.update(z)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var r=e.reduce(function(n,i){return n[i]=i,n},{});return function(n){if(n&&r[n.toString()]!==n.toString())return n}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(r){return r.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var r=new t.TokenSet.Builder,n=0,i=e.length;n<i;n++)r.insert(e[n]);return r.finish(),r.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,r){for(var n=new t.TokenSet,i=[{node:n,editsRemaining:r,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),p;f in s.node.edges?p=s.node.edges[f]:(p=new t.TokenSet,s.node.edges[f]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")r.edges[o]=r,r.final=a;else{var l=new t.TokenSet;l.final=a,r.edges[o]=l,r=l}}return n},t.TokenSet.prototype.toArray=function(){for(var e=[],r=[{prefix:"",node:this}];r.length;){var n=r.pop(),i=Object.keys(n.node.edges),s=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<s;o++){var a=i[o];r.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",r=Object.keys(this.edges).sort(),n=r.length,i=0;i<n;i++){var s=r[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var r=new t.TokenSet,n=void 0,i=[{qNode:e,output:r,node:this}];i.length;){n=i.pop();for(var s=Object.keys(n.qNode.edges),o=s.length,a=Object.keys(n.node.edges),l=a.length,u=0;u<o;u++)for(var h=s[u],f=0;f<l;f++){var p=a[f];if(p==h||h=="*"){var E=n.node.edges[p],y=n.qNode.edges[h],b=E.final&&y.final,m=void 0;p in n.output.edges?(m=n.output.edges[p],m.final=m.final||b):(m=new t.TokenSet,m.final=b,n.output.edges[p]=m),i.push({qNode:y,output:m,node:E})}}}return r},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var r,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),this.uncheckedNodes.length==0?r=this.root:r=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=n;i<e.length;i++){var s=new t.TokenSet,o=e[i];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var r=this.uncheckedNodes.length-1;r>=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(r,r);for(var l=0;l<r.clauses.length;l++){var u=r.clauses[l],h=null,f=t.Set.empty;u.usePipeline?h=this.pipeline.runString(u.term,{fields:u.fields}):h=[u.term];for(var p=0;p<h.length;p++){var E=h[p];u.term=E;var y=t.TokenSet.fromClause(u),b=this.tokenSet.intersect(y).toArray();if(b.length===0&&u.presence===t.Query.presence.REQUIRED){for(var m=0;m<u.fields.length;m++){var v=u.fields[m];o[v]=t.Set.empty}break}for(var T=0;T<b.length;T++)for(var w=b[T],I=this.invertedIndex[w],M=I._index,m=0;m<u.fields.length;m++){var v=u.fields[m],B=I[v],V=Object.keys(B),q=w+"/"+v,$=new t.Set(V);if(u.presence==t.Query.presence.REQUIRED&&(f=f.union($),o[v]===void 0&&(o[v]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[v]===void 0&&(a[v]=t.Set.empty),a[v]=a[v].union($);continue}if(i[v].upsert(M,u.boost,function(Qe,Ie){return Qe+Ie}),!s[q]){for(var H=0;H<V.length;H++){var W=V[H],P=new t.FieldRef(W,v),U=B[W],G;(G=n[P])===void 0?n[P]=new t.MatchData(w,v,U):G.add(w,v,U)}s[q]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var m=0;m<u.fields.length;m++){var v=u.fields[m];o[v]=o[v].intersect(f)}}for(var z=t.Set.complete,D=t.Set.empty,l=0;l<this.fields.length;l++){var v=this.fields[l];o[v]&&(z=z.intersect(o[v])),a[v]&&(D=D.union(a[v]))}var c=Object.keys(n),g=[],O=Object.create(null);if(r.isNegated()){c=Object.keys(this.fieldVectors);for(var l=0;l<c.length;l++){var P=c[l],S=t.FieldRef.fromString(P);n[P]=new t.MatchData}}for(var l=0;l<c.length;l++){var S=t.FieldRef.fromString(c[l]),d=S.docRef;if(!!z.contains(d)&&!D.contains(d)){var x=this.fieldVectors[S],R=i[S.fieldName].similarity(x),F;if((F=O[d])!==void 0)F.score+=R,F.matchData.combine(n[S]);else{var L={ref:d,score:R,matchData:n[S]};O[d]=L,g.push(L)}}}return g.sort(function(Se,ke){return ke.score-Se.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(n){return[n,this.invertedIndex[n]]},this),r=Object.keys(this.fieldVectors).map(function(n){return[n,this.fieldVectors[n].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:r,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var r={},n={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var h=i[u],f=h[0],p=h[1];n[f]=new t.Vector(p)}for(var u=0;u<o.length;u++){var h=o[u],E=h[0],y=h[1];a.insert(E),s[E]=y}return a.finish(),r.fields=e.fields,r.fieldVectors=n,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=l,new t.Index(r)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,r){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=r||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),h=this.pipeline.run(u),f=new t.FieldRef(n,o),p=Object.create(null);this.fieldTermFrequencies[f]=p,this.fieldLengths[f]=0,this.fieldLengths[f]+=h.length;for(var E=0;E<h.length;E++){var y=h[E];if(p[y]==null&&(p[y]=0),p[y]+=1,this.invertedIndex[y]==null){var b=Object.create(null);b._index=this.termIndex,this.termIndex+=1;for(var m=0;m<i.length;m++)b[i[m]]=Object.create(null);this.invertedIndex[y]=b}this.invertedIndex[y][o][n]==null&&(this.invertedIndex[y][o][n]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var T=this.metadataWhitelist[v],w=y.metadata[T];this.invertedIndex[y][o][n][T]==null&&(this.invertedIndex[y][o][n][T]=[]),this.invertedIndex[y][o][n][T].push(w)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),r=e.length,n={},i={},s=0;s<r;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];n[u]=n[u]/i[u]}this.averageFieldLength=n},t.Builder.prototype.createFieldVectors=function(){for(var e={},r=Object.keys(this.fieldTermFrequencies),n=r.length,i=Object.create(null),s=0;s<n;s++){for(var o=t.FieldRef.fromString(r[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,h=this.fieldTermFrequencies[o],f=Object.keys(h),p=f.length,E=this._fields[a].boost||1,y=this._documents[o.docRef].boost||1,b=0;b<p;b++){var m=f[b],v=h[m],T=this.invertedIndex[m]._index,w,I,M;i[m]===void 0?(w=t.idf(this.invertedIndex[m],this.documentCount),i[m]=w):w=i[m],I=w*((this._k1+1)*v)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+v),I*=E,I*=y,M=Math.round(I*1e3)/1e3,u.insert(T,M)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var r=Array.prototype.slice.call(arguments,1);r.unshift(this),e.apply(this,r)},t.MatchData=function(e,r,n){for(var i=Object.create(null),s=Object.keys(n||{}),o=0;o<s.length;o++){var a=s[o];i[a]=n[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][r]=i)},t.MatchData.prototype.combine=function(e){for(var r=Object.keys(e.metadata),n=0;n<r.length;n++){var i=r[n],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var h=l[u];this.metadata[i][a][h]==null?this.metadata[i][a][h]=e.metadata[i][a][h]:this.metadata[i][a][h]=this.metadata[i][a][h].concat(e.metadata[i][a][h])}}}},t.MatchData.prototype.add=function(e,r,n){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][r]=n;return}if(!(r in this.metadata[e])){this.metadata[e][r]=n;return}for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][r]?this.metadata[e][r][o]=this.metadata[e][r][o].concat(n[o]):this.metadata[e][r][o]=n[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,r){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(r))},this),this;var n=r||{};return n.term=e.toString(),this.clause(n),this},t.QueryParseError=function(e,r,n){this.name="QueryParseError",this.message=e,this.start=r,this.end=n},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],r=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(r,n)),r=n+1;return e.push(this.str.slice(r,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof de=="object"?fe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ce=[];function N(t,e){ce.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){ce.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i<s;i++)if(n[i]===r){n.splice(i,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return!0;let r=this.listeners[e.type].slice();for(let n=0,i=r.length;n<i;n++)r[n].call(this,e);return!e.defaultPrevented}};var ne=(t,e=100)=>{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ie=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onScroll(){this.scrollTop=window.scrollY||0;let r=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(r),this.hideShowToolbar()}hideShowToolbar(){var n;let r=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,r!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(n=this.secondaryNav)==null||n.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},Q=ie;Q.instance=new ie;var X=class extends k{constructor(r){super(r);this.anchors=[];this.index=-1;Q.instance.addEventListener("resize",()=>this.onResize()),Q.instance.addEventListener("scroll",n=>this.onScroll(n)),this.createAnchors()}createAnchors(){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substr(0,r.indexOf("#"))),this.el.querySelectorAll("a").forEach(n=>{let i=n.href;if(i.indexOf("#")==-1||i.substr(0,r.length)!=r)return;let s=i.substr(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=n.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let r;for(let i=0,s=this.anchors.length;i<s;i++){r=this.anchors[i];let o=r.anchor.getBoundingClientRect();r.position=o.top+document.body.scrollTop}this.anchors.sort((i,s)=>i.position-s.position);let n=new CustomEvent("scroll",{detail:{scrollTop:Q.instance.scrollTop}});this.onScroll(n)}onScroll(r){let n=r.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>n;)o-=1;for(;o<s&&i[o+1].position<n;)o+=1;this.index!=o&&(this.index>-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var he=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var ge=Fe(pe());function ye(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ae(t,n,r,s)}function Ae(t,e,r,n){r.addEventListener("input",he(()=>{He(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?ze(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function Ve(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ge.Index.load(window.searchData.index))}function He(t,e,r,n){var o,a;if(Ve(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let l=0;l<s.length;l++){let u=s[l],h=n.data.rows[Number(u.ref)],f=1;h.name.toLowerCase().startsWith(i.toLowerCase())&&(f*=1+1/(Math.abs(h.name.length-i.length)*10)),f*=(o=h.boost)!=null?o:1,u.score*=f}s.sort((l,u)=>u.score-l.score);for(let l=0,u=Math.min(10,s.length);l<u;l++){let h=n.data.rows[Number(s[l].ref)],f=ve(h.name,i);h.parent&&(f=`<span class="parent">${ve(h.parent,i)}.</span>${f}`);let p=document.createElement("li");p.classList.value=(a=h.classes)!=null?a:"";let E=document.createElement("a");E.href=n.base+h.url,E.classList.add("tsd-kind-icon"),E.innerHTML=f,p.append(E),e.appendChild(p)}}function me(t,e){var n,i;let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let s=r;if(e===1)do s=(n=s.nextElementSibling)!=null?n:void 0;while(s instanceof HTMLElement&&s.offsetParent==null);else do s=(i=s.previousElementSibling)!=null?i:void 0;while(s instanceof HTMLElement&&s.offsetParent==null);s&&(r.classList.remove("current"),s.classList.add("current"))}}function ze(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(se(t.substring(s,o)),`<b>${se(t.substring(o,o+n.length))}</b>`),s=o+n.length,o=r.indexOf(n,s);return i.push(se(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function se(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var oe=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},Z=class extends k{constructor(r){super(r);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(n=>{n.addEventListener("touchstart",i=>this.onClick(i)),n.addEventListener("click",i=>this.onClick(i))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(r){if(r<0&&(r=0),r>this.groups.length-1&&(r=this.groups.length-1),this.index==r)return;let n=this.groups[r];if(this.index>-1){let i=this.groups[this.index];i.removeClass("current").addClass("fade-out"),n.addClass("current"),n.addClass("fade-in"),Q.instance.triggerResize(),setTimeout(()=>{i.removeClass("fade-out"),n.removeClass("fade-in")},300)}else n.addClass("current"),Q.instance.triggerResize();this.index=r}createGroups(){let r=this.el.children;if(r.length<2)return;this.container=this.el.nextElementSibling;let n=this.container.children;this.groups=[];for(let i=0;i<r.length;i++)this.groups.push(new oe(r[i],n[i]))}onClick(r){this.groups.forEach((n,i)=>{n.signature===r.currentTarget&&this.setIndex(i)})}};var C="mousedown",Le="mousemove",_="mouseup",K={x:0,y:0},xe=!1,ae=!1,je=!1,A=!1,Ee=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Ee?"is-mobile":"not-mobile");Ee&&"ontouchstart"in document.documentElement&&(je=!0,C="touchstart",Le="touchmove",_="touchend");document.addEventListener(C,t=>{ae=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;K.y=e.pageY||0,K.x=e.pageX||0});document.addEventListener(Le,t=>{if(!!ae&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=K.x-(e.pageX||0),n=K.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ae=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var ee=class extends k{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(C,n=>this.onDocumentPointerDown(n)),document.addEventListener(_,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){A||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!A&&this.active&&r.target.closest(".col-menu")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substr(0,i.indexOf("#"))),n.href.substr(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},re=class extends te{initialize(){let r=document.querySelector("#tsd-filter-"+this.key);!r||(this.checkbox=r,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(r,n){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(r){return r=="true"}toLocalStorage(r){return r?"true":"false"}},le=class extends te{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let r=document.querySelector("#tsd-filter-"+this.key);if(!r)return;this.select=r;let n=()=>{this.select.classList.add("active")},i=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,n),this.select.addEventListener("mouseover",n),this.select.addEventListener("mouseleave",i),this.select.querySelectorAll("li").forEach(s=>{s.addEventListener(_,o=>{r.classList.remove("active"),this.setValue(o.target.dataset.value||"")})}),document.addEventListener(C,s=>{this.select.contains(s.target)||this.select.classList.remove("active")})}handleValueChange(r,n){this.select.querySelectorAll("li.selected").forEach(o=>{o.classList.remove("selected")});let i=this.select.querySelector('li[data-value="'+n+'"]'),s=this.select.querySelector(".tsd-select-label");i&&s&&(i.classList.add("selected"),s.textContent=i.textContent),document.documentElement.classList.remove("toggle-"+r),document.documentElement.classList.add("toggle-"+n)}fromLocalStorage(r){return r}toLocalStorage(r){return r}},j=class extends k{constructor(r){super(r);this.optionVisibility=new le("visibility","private"),this.optionInherited=new re("inherited",!0),this.optionExternals=new re("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function we(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,be(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),be(t.value)})}function be(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}ye();N(X,".menu-highlight");N(Z,".tsd-signatures");N(ee,"a[data-toggle]");j.isSupported()?N(j,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&we(Te);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})();
|
|
3
|
+
/*!
|
|
4
|
+
* lunr.Builder
|
|
5
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
6
|
+
*/
|
|
7
|
+
/*!
|
|
8
|
+
* lunr.Index
|
|
9
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
10
|
+
*/
|
|
11
|
+
/*!
|
|
12
|
+
* lunr.Pipeline
|
|
13
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
14
|
+
*/
|
|
15
|
+
/*!
|
|
16
|
+
* lunr.Set
|
|
17
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
18
|
+
*/
|
|
19
|
+
/*!
|
|
20
|
+
* lunr.TokenSet
|
|
21
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
22
|
+
*/
|
|
23
|
+
/*!
|
|
24
|
+
* lunr.Vector
|
|
25
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
26
|
+
*/
|
|
27
|
+
/*!
|
|
28
|
+
* lunr.stemmer
|
|
29
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
30
|
+
* Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
|
|
31
|
+
*/
|
|
32
|
+
/*!
|
|
33
|
+
* lunr.stopWordFilter
|
|
34
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
35
|
+
*/
|
|
36
|
+
/*!
|
|
37
|
+
* lunr.tokenizer
|
|
38
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
39
|
+
*/
|
|
40
|
+
/*!
|
|
41
|
+
* lunr.trimmer
|
|
42
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
43
|
+
*/
|
|
44
|
+
/*!
|
|
45
|
+
* lunr.utils
|
|
46
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
|
|
50
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
51
|
+
* @license MIT
|
|
52
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
window.searchData = JSON.parse("{\"kinds\":{\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"4194304\":\"Type alias\"},\"rows\":[{\"id\":0,\"kind\":32,\"name\":\"PKG_NAME\",\"url\":\"modules.html#PKG_NAME\",\"classes\":\"tsd-kind-variable\"},{\"id\":1,\"kind\":4194304,\"name\":\"BigIntArray\",\"url\":\"modules.html#BigIntArray\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":2,\"kind\":256,\"name\":\"IWasmAPI\",\"url\":\"interfaces/IWasmAPI.html\",\"classes\":\"tsd-kind-interface tsd-has-type-parameter\"},{\"id\":3,\"kind\":2048,\"name\":\"init\",\"url\":\"interfaces/IWasmAPI.html#init\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IWasmAPI\"},{\"id\":4,\"kind\":2048,\"name\":\"getImports\",\"url\":\"interfaces/IWasmAPI.html#getImports\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IWasmAPI\"},{\"id\":5,\"kind\":256,\"name\":\"WasmExports\",\"url\":\"interfaces/WasmExports.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":6,\"kind\":1024,\"name\":\"memory\",\"url\":\"interfaces/WasmExports.html#memory\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WasmExports\"},{\"id\":7,\"kind\":2048,\"name\":\"_wasm_allocate\",\"url\":\"interfaces/WasmExports.html#_wasm_allocate\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"WasmExports\"},{\"id\":8,\"kind\":2048,\"name\":\"_wasm_free\",\"url\":\"interfaces/WasmExports.html#_wasm_free\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"WasmExports\"},{\"id\":9,\"kind\":256,\"name\":\"IWasmMemoryAccess\",\"url\":\"interfaces/IWasmMemoryAccess.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":10,\"kind\":1024,\"name\":\"i8\",\"url\":\"interfaces/IWasmMemoryAccess.html#i8\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":11,\"kind\":1024,\"name\":\"u8\",\"url\":\"interfaces/IWasmMemoryAccess.html#u8\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":12,\"kind\":1024,\"name\":\"i16\",\"url\":\"interfaces/IWasmMemoryAccess.html#i16\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":13,\"kind\":1024,\"name\":\"u16\",\"url\":\"interfaces/IWasmMemoryAccess.html#u16\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":14,\"kind\":1024,\"name\":\"i32\",\"url\":\"interfaces/IWasmMemoryAccess.html#i32\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":15,\"kind\":1024,\"name\":\"u32\",\"url\":\"interfaces/IWasmMemoryAccess.html#u32\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":16,\"kind\":1024,\"name\":\"i64\",\"url\":\"interfaces/IWasmMemoryAccess.html#i64\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":17,\"kind\":1024,\"name\":\"u64\",\"url\":\"interfaces/IWasmMemoryAccess.html#u64\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":18,\"kind\":1024,\"name\":\"f32\",\"url\":\"interfaces/IWasmMemoryAccess.html#f32\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":19,\"kind\":1024,\"name\":\"f64\",\"url\":\"interfaces/IWasmMemoryAccess.html#f64\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":20,\"kind\":2048,\"name\":\"getString\",\"url\":\"interfaces/IWasmMemoryAccess.html#getString\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":21,\"kind\":2048,\"name\":\"setString\",\"url\":\"interfaces/IWasmMemoryAccess.html#setString\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IWasmMemoryAccess\"},{\"id\":22,\"kind\":256,\"name\":\"CoreAPI\",\"url\":\"interfaces/CoreAPI.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":23,\"kind\":1024,\"name\":\"printI8\",\"url\":\"interfaces/CoreAPI.html#printI8\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":24,\"kind\":1024,\"name\":\"printU8\",\"url\":\"interfaces/CoreAPI.html#printU8\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":25,\"kind\":1024,\"name\":\"printU8Hex\",\"url\":\"interfaces/CoreAPI.html#printU8Hex\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":26,\"kind\":1024,\"name\":\"printI16\",\"url\":\"interfaces/CoreAPI.html#printI16\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":27,\"kind\":1024,\"name\":\"printU16\",\"url\":\"interfaces/CoreAPI.html#printU16\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":28,\"kind\":1024,\"name\":\"printU16Hex\",\"url\":\"interfaces/CoreAPI.html#printU16Hex\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":29,\"kind\":1024,\"name\":\"printI32\",\"url\":\"interfaces/CoreAPI.html#printI32\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":30,\"kind\":1024,\"name\":\"printU32\",\"url\":\"interfaces/CoreAPI.html#printU32\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":31,\"kind\":1024,\"name\":\"printU32Hex\",\"url\":\"interfaces/CoreAPI.html#printU32Hex\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":32,\"kind\":1024,\"name\":\"_printI64\",\"url\":\"interfaces/CoreAPI.html#_printI64\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":33,\"kind\":1024,\"name\":\"_printU64\",\"url\":\"interfaces/CoreAPI.html#_printU64\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":34,\"kind\":1024,\"name\":\"_printU64Hex\",\"url\":\"interfaces/CoreAPI.html#_printU64Hex\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":35,\"kind\":1024,\"name\":\"printF32\",\"url\":\"interfaces/CoreAPI.html#printF32\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":36,\"kind\":1024,\"name\":\"printF64\",\"url\":\"interfaces/CoreAPI.html#printF64\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":37,\"kind\":2048,\"name\":\"_printI8Array\",\"url\":\"interfaces/CoreAPI.html#_printI8Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":38,\"kind\":2048,\"name\":\"_printU8Array\",\"url\":\"interfaces/CoreAPI.html#_printU8Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":39,\"kind\":2048,\"name\":\"_printI16Array\",\"url\":\"interfaces/CoreAPI.html#_printI16Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":40,\"kind\":2048,\"name\":\"_printU16Array\",\"url\":\"interfaces/CoreAPI.html#_printU16Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":41,\"kind\":2048,\"name\":\"_printI32Array\",\"url\":\"interfaces/CoreAPI.html#_printI32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":42,\"kind\":2048,\"name\":\"_printU32Array\",\"url\":\"interfaces/CoreAPI.html#_printU32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":43,\"kind\":2048,\"name\":\"_printI64Array\",\"url\":\"interfaces/CoreAPI.html#_printI64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":44,\"kind\":2048,\"name\":\"_printU64Array\",\"url\":\"interfaces/CoreAPI.html#_printU64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":45,\"kind\":2048,\"name\":\"_printF32Array\",\"url\":\"interfaces/CoreAPI.html#_printF32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":46,\"kind\":2048,\"name\":\"_printF64Array\",\"url\":\"interfaces/CoreAPI.html#_printF64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":47,\"kind\":2048,\"name\":\"_printStr0\",\"url\":\"interfaces/CoreAPI.html#_printStr0\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":48,\"kind\":2048,\"name\":\"_printStr\",\"url\":\"interfaces/CoreAPI.html#_printStr\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"CoreAPI\"},{\"id\":49,\"kind\":256,\"name\":\"WasmTypeBase\",\"url\":\"interfaces/WasmTypeBase.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":50,\"kind\":1024,\"name\":\"__base\",\"url\":\"interfaces/WasmTypeBase.html#__base\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WasmTypeBase\"},{\"id\":51,\"kind\":1024,\"name\":\"__bytes\",\"url\":\"interfaces/WasmTypeBase.html#__bytes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WasmTypeBase\"},{\"id\":52,\"kind\":256,\"name\":\"WasmType\",\"url\":\"interfaces/WasmType.html\",\"classes\":\"tsd-kind-interface tsd-has-type-parameter\"},{\"id\":53,\"kind\":1024,\"name\":\"align\",\"url\":\"interfaces/WasmType.html#align\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WasmType\"},{\"id\":54,\"kind\":1024,\"name\":\"size\",\"url\":\"interfaces/WasmType.html#size\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WasmType\"},{\"id\":55,\"kind\":1024,\"name\":\"instance\",\"url\":\"interfaces/WasmType.html#instance\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WasmType\"},{\"id\":56,\"kind\":4194304,\"name\":\"WasmTypeConstructor\",\"url\":\"modules.html#WasmTypeConstructor\",\"classes\":\"tsd-kind-type-alias tsd-has-type-parameter\"},{\"id\":57,\"kind\":4194304,\"name\":\"WasmInt\",\"url\":\"modules.html#WasmInt\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":58,\"kind\":4194304,\"name\":\"WasmUint\",\"url\":\"modules.html#WasmUint\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":59,\"kind\":4194304,\"name\":\"WasmFloat\",\"url\":\"modules.html#WasmFloat\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":60,\"kind\":4194304,\"name\":\"WasmPrim\",\"url\":\"modules.html#WasmPrim\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":61,\"kind\":4194304,\"name\":\"WasmPrim32\",\"url\":\"modules.html#WasmPrim32\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":62,\"kind\":4194304,\"name\":\"TypeColl\",\"url\":\"modules.html#TypeColl\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":63,\"kind\":256,\"name\":\"TypeInfo\",\"url\":\"interfaces/TypeInfo.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":64,\"kind\":256,\"name\":\"TopLevelType\",\"url\":\"interfaces/TopLevelType.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":65,\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/TopLevelType.html#name\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TopLevelType\"},{\"id\":66,\"kind\":1024,\"name\":\"doc\",\"url\":\"interfaces/TopLevelType.html#doc\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TopLevelType\"},{\"id\":67,\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/TopLevelType.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TopLevelType\"},{\"id\":68,\"kind\":256,\"name\":\"Struct\",\"url\":\"interfaces/Struct.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":69,\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Struct.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite\",\"parent\":\"Struct\"},{\"id\":70,\"kind\":1024,\"name\":\"fields\",\"url\":\"interfaces/Struct.html#fields\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Struct\"},{\"id\":71,\"kind\":1024,\"name\":\"auto\",\"url\":\"interfaces/Struct.html#auto\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Struct\"},{\"id\":72,\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/Struct.html#name\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Struct\"},{\"id\":73,\"kind\":1024,\"name\":\"doc\",\"url\":\"interfaces/Struct.html#doc\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Struct\"},{\"id\":74,\"kind\":256,\"name\":\"StructField\",\"url\":\"interfaces/StructField.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":75,\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/StructField.html#name\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StructField\"},{\"id\":76,\"kind\":1024,\"name\":\"doc\",\"url\":\"interfaces/StructField.html#doc\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StructField\"},{\"id\":77,\"kind\":1024,\"name\":\"tag\",\"url\":\"interfaces/StructField.html#tag\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StructField\"},{\"id\":78,\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/StructField.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StructField\"},{\"id\":79,\"kind\":1024,\"name\":\"sentinel\",\"url\":\"interfaces/StructField.html#sentinel\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StructField\"},{\"id\":80,\"kind\":1024,\"name\":\"len\",\"url\":\"interfaces/StructField.html#len\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StructField\"},{\"id\":81,\"kind\":1024,\"name\":\"default\",\"url\":\"interfaces/StructField.html#default\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StructField\"},{\"id\":82,\"kind\":256,\"name\":\"Enum\",\"url\":\"interfaces/Enum.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":83,\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Enum.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite\",\"parent\":\"Enum\"},{\"id\":84,\"kind\":1024,\"name\":\"tag\",\"url\":\"interfaces/Enum.html#tag\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Enum\"},{\"id\":85,\"kind\":1024,\"name\":\"values\",\"url\":\"interfaces/Enum.html#values\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Enum\"},{\"id\":86,\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/Enum.html#name\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Enum\"},{\"id\":87,\"kind\":1024,\"name\":\"doc\",\"url\":\"interfaces/Enum.html#doc\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Enum\"},{\"id\":88,\"kind\":256,\"name\":\"EnumValue\",\"url\":\"interfaces/EnumValue.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":89,\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/EnumValue.html#name\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"EnumValue\"},{\"id\":90,\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/EnumValue.html#value\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"EnumValue\"},{\"id\":91,\"kind\":1024,\"name\":\"doc\",\"url\":\"interfaces/EnumValue.html#doc\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"EnumValue\"},{\"id\":92,\"kind\":256,\"name\":\"ICodeGen\",\"url\":\"interfaces/ICodeGen.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":93,\"kind\":1024,\"name\":\"pre\",\"url\":\"interfaces/ICodeGen.html#pre\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ICodeGen\"},{\"id\":94,\"kind\":1024,\"name\":\"post\",\"url\":\"interfaces/ICodeGen.html#post\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ICodeGen\"},{\"id\":95,\"kind\":2048,\"name\":\"doc\",\"url\":\"interfaces/ICodeGen.html#doc\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ICodeGen\"},{\"id\":96,\"kind\":2048,\"name\":\"enum\",\"url\":\"interfaces/ICodeGen.html#enum\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ICodeGen\"},{\"id\":97,\"kind\":2048,\"name\":\"struct\",\"url\":\"interfaces/ICodeGen.html#struct\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ICodeGen\"},{\"id\":98,\"kind\":32,\"name\":\"USIZE\",\"url\":\"modules.html#USIZE\",\"classes\":\"tsd-kind-variable\"},{\"id\":99,\"kind\":32,\"name\":\"USIZE_SIZE\",\"url\":\"modules.html#USIZE_SIZE\",\"classes\":\"tsd-kind-variable\"},{\"id\":100,\"kind\":32,\"name\":\"OutOfMemoryError\",\"url\":\"modules.html#OutOfMemoryError\",\"classes\":\"tsd-kind-variable\"},{\"id\":101,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules.html#OutOfMemoryError.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-variable\",\"parent\":\"OutOfMemoryError\"},{\"id\":102,\"kind\":2048,\"name\":\"captureStackTrace\",\"url\":\"modules.html#OutOfMemoryError.__type.captureStackTrace\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"OutOfMemoryError.__type\"},{\"id\":103,\"kind\":1024,\"name\":\"prepareStackTrace\",\"url\":\"modules.html#OutOfMemoryError.__type.prepareStackTrace\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"OutOfMemoryError.__type\"},{\"id\":104,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules.html#OutOfMemoryError.__type.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"OutOfMemoryError.__type\"},{\"id\":105,\"kind\":1024,\"name\":\"stackTraceLimit\",\"url\":\"modules.html#OutOfMemoryError.__type.stackTraceLimit\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"OutOfMemoryError.__type\"},{\"id\":106,\"kind\":128,\"name\":\"WasmBridge\",\"url\":\"classes/WasmBridge.html\",\"classes\":\"tsd-kind-class tsd-has-type-parameter\"},{\"id\":107,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/WasmBridge.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter\",\"parent\":\"WasmBridge\"},{\"id\":108,\"kind\":1024,\"name\":\"i8\",\"url\":\"classes/WasmBridge.html#i8\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":109,\"kind\":1024,\"name\":\"u8\",\"url\":\"classes/WasmBridge.html#u8\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":110,\"kind\":1024,\"name\":\"i16\",\"url\":\"classes/WasmBridge.html#i16\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":111,\"kind\":1024,\"name\":\"u16\",\"url\":\"classes/WasmBridge.html#u16\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":112,\"kind\":1024,\"name\":\"i32\",\"url\":\"classes/WasmBridge.html#i32\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":113,\"kind\":1024,\"name\":\"u32\",\"url\":\"classes/WasmBridge.html#u32\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":114,\"kind\":1024,\"name\":\"i64\",\"url\":\"classes/WasmBridge.html#i64\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":115,\"kind\":1024,\"name\":\"u64\",\"url\":\"classes/WasmBridge.html#u64\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":116,\"kind\":1024,\"name\":\"f32\",\"url\":\"classes/WasmBridge.html#f32\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":117,\"kind\":1024,\"name\":\"f64\",\"url\":\"classes/WasmBridge.html#f64\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":118,\"kind\":1024,\"name\":\"utf8Decoder\",\"url\":\"classes/WasmBridge.html#utf8Decoder\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":119,\"kind\":1024,\"name\":\"utf8Encoder\",\"url\":\"classes/WasmBridge.html#utf8Encoder\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":120,\"kind\":1024,\"name\":\"imports\",\"url\":\"classes/WasmBridge.html#imports\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":121,\"kind\":1024,\"name\":\"exports\",\"url\":\"classes/WasmBridge.html#exports\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":122,\"kind\":1024,\"name\":\"api\",\"url\":\"classes/WasmBridge.html#api\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":123,\"kind\":1024,\"name\":\"modules\",\"url\":\"classes/WasmBridge.html#modules\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":124,\"kind\":1024,\"name\":\"logger\",\"url\":\"classes/WasmBridge.html#logger\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":125,\"kind\":2048,\"name\":\"instantiate\",\"url\":\"classes/WasmBridge.html#instantiate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":126,\"kind\":2048,\"name\":\"init\",\"url\":\"classes/WasmBridge.html#init\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":127,\"kind\":2048,\"name\":\"ensureMemory\",\"url\":\"classes/WasmBridge.html#ensureMemory\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":128,\"kind\":2048,\"name\":\"getImports\",\"url\":\"classes/WasmBridge.html#getImports\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":129,\"kind\":2048,\"name\":\"growMemory\",\"url\":\"classes/WasmBridge.html#growMemory\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":130,\"kind\":2048,\"name\":\"allocate\",\"url\":\"classes/WasmBridge.html#allocate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":131,\"kind\":2048,\"name\":\"free\",\"url\":\"classes/WasmBridge.html#free\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":132,\"kind\":2048,\"name\":\"getI8\",\"url\":\"classes/WasmBridge.html#getI8\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":133,\"kind\":2048,\"name\":\"getU8\",\"url\":\"classes/WasmBridge.html#getU8\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":134,\"kind\":2048,\"name\":\"getI16\",\"url\":\"classes/WasmBridge.html#getI16\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":135,\"kind\":2048,\"name\":\"getU16\",\"url\":\"classes/WasmBridge.html#getU16\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":136,\"kind\":2048,\"name\":\"getI32\",\"url\":\"classes/WasmBridge.html#getI32\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":137,\"kind\":2048,\"name\":\"getU32\",\"url\":\"classes/WasmBridge.html#getU32\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":138,\"kind\":2048,\"name\":\"getI64\",\"url\":\"classes/WasmBridge.html#getI64\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":139,\"kind\":2048,\"name\":\"getU64\",\"url\":\"classes/WasmBridge.html#getU64\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":140,\"kind\":2048,\"name\":\"getF32\",\"url\":\"classes/WasmBridge.html#getF32\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":141,\"kind\":2048,\"name\":\"getF64\",\"url\":\"classes/WasmBridge.html#getF64\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":142,\"kind\":2048,\"name\":\"setI8\",\"url\":\"classes/WasmBridge.html#setI8\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":143,\"kind\":2048,\"name\":\"setU8\",\"url\":\"classes/WasmBridge.html#setU8\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":144,\"kind\":2048,\"name\":\"setI16\",\"url\":\"classes/WasmBridge.html#setI16\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":145,\"kind\":2048,\"name\":\"setU16\",\"url\":\"classes/WasmBridge.html#setU16\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":146,\"kind\":2048,\"name\":\"setI32\",\"url\":\"classes/WasmBridge.html#setI32\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":147,\"kind\":2048,\"name\":\"setU32\",\"url\":\"classes/WasmBridge.html#setU32\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":148,\"kind\":2048,\"name\":\"setI64\",\"url\":\"classes/WasmBridge.html#setI64\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":149,\"kind\":2048,\"name\":\"setU64\",\"url\":\"classes/WasmBridge.html#setU64\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":150,\"kind\":2048,\"name\":\"setF32\",\"url\":\"classes/WasmBridge.html#setF32\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":151,\"kind\":2048,\"name\":\"setF64\",\"url\":\"classes/WasmBridge.html#setF64\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":152,\"kind\":2048,\"name\":\"getI8Array\",\"url\":\"classes/WasmBridge.html#getI8Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":153,\"kind\":2048,\"name\":\"getU8Array\",\"url\":\"classes/WasmBridge.html#getU8Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":154,\"kind\":2048,\"name\":\"getI16Array\",\"url\":\"classes/WasmBridge.html#getI16Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":155,\"kind\":2048,\"name\":\"getU16Array\",\"url\":\"classes/WasmBridge.html#getU16Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":156,\"kind\":2048,\"name\":\"getI32Array\",\"url\":\"classes/WasmBridge.html#getI32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":157,\"kind\":2048,\"name\":\"getU32Array\",\"url\":\"classes/WasmBridge.html#getU32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":158,\"kind\":2048,\"name\":\"getI64Array\",\"url\":\"classes/WasmBridge.html#getI64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":159,\"kind\":2048,\"name\":\"getU64Array\",\"url\":\"classes/WasmBridge.html#getU64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":160,\"kind\":2048,\"name\":\"getF32Array\",\"url\":\"classes/WasmBridge.html#getF32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":161,\"kind\":2048,\"name\":\"getF64Array\",\"url\":\"classes/WasmBridge.html#getF64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":162,\"kind\":2048,\"name\":\"setI8Array\",\"url\":\"classes/WasmBridge.html#setI8Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":163,\"kind\":2048,\"name\":\"setU8Array\",\"url\":\"classes/WasmBridge.html#setU8Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":164,\"kind\":2048,\"name\":\"setI16Array\",\"url\":\"classes/WasmBridge.html#setI16Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":165,\"kind\":2048,\"name\":\"setU16Array\",\"url\":\"classes/WasmBridge.html#setU16Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":166,\"kind\":2048,\"name\":\"setI32Array\",\"url\":\"classes/WasmBridge.html#setI32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":167,\"kind\":2048,\"name\":\"setU32Array\",\"url\":\"classes/WasmBridge.html#setU32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":168,\"kind\":2048,\"name\":\"setI64Array\",\"url\":\"classes/WasmBridge.html#setI64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":169,\"kind\":2048,\"name\":\"setU64Array\",\"url\":\"classes/WasmBridge.html#setU64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":170,\"kind\":2048,\"name\":\"setF32Array\",\"url\":\"classes/WasmBridge.html#setF32Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":171,\"kind\":2048,\"name\":\"setF64Array\",\"url\":\"classes/WasmBridge.html#setF64Array\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":172,\"kind\":2048,\"name\":\"getString\",\"url\":\"classes/WasmBridge.html#getString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":173,\"kind\":2048,\"name\":\"setString\",\"url\":\"classes/WasmBridge.html#setString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":174,\"kind\":2048,\"name\":\"getElementById\",\"url\":\"classes/WasmBridge.html#getElementById\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"WasmBridge\"},{\"id\":175,\"kind\":256,\"name\":\"CodeGenOpts\",\"url\":\"interfaces/CodeGenOpts.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":176,\"kind\":1024,\"name\":\"pre\",\"url\":\"interfaces/CodeGenOpts.html#pre\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CodeGenOpts\"},{\"id\":177,\"kind\":1024,\"name\":\"post\",\"url\":\"interfaces/CodeGenOpts.html#post\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CodeGenOpts\"},{\"id\":178,\"kind\":1024,\"name\":\"stringType\",\"url\":\"interfaces/CodeGenOpts.html#stringType\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CodeGenOpts\"},{\"id\":179,\"kind\":64,\"name\":\"generateTypes\",\"url\":\"modules.html#generateTypes\",\"classes\":\"tsd-kind-function\"},{\"id\":180,\"kind\":256,\"name\":\"ObjectIndexOpts\",\"url\":\"interfaces/ObjectIndexOpts.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":181,\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/ObjectIndexOpts.html#name\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ObjectIndexOpts\"},{\"id\":182,\"kind\":1024,\"name\":\"logger\",\"url\":\"interfaces/ObjectIndexOpts.html#logger\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ObjectIndexOpts\"},{\"id\":183,\"kind\":1024,\"name\":\"bits\",\"url\":\"interfaces/ObjectIndexOpts.html#bits\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ObjectIndexOpts\"},{\"id\":184,\"kind\":128,\"name\":\"ObjectIndex\",\"url\":\"classes/ObjectIndex.html\",\"classes\":\"tsd-kind-class tsd-has-type-parameter\"},{\"id\":185,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ObjectIndex.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter\",\"parent\":\"ObjectIndex\"},{\"id\":186,\"kind\":1024,\"name\":\"name\",\"url\":\"classes/ObjectIndex.html#name\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":187,\"kind\":1024,\"name\":\"logger\",\"url\":\"classes/ObjectIndex.html#logger\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":188,\"kind\":1024,\"name\":\"idgen\",\"url\":\"classes/ObjectIndex.html#idgen\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ObjectIndex\"},{\"id\":189,\"kind\":1024,\"name\":\"items\",\"url\":\"classes/ObjectIndex.html#items\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ObjectIndex\"},{\"id\":190,\"kind\":2048,\"name\":\"keys\",\"url\":\"classes/ObjectIndex.html#keys\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":191,\"kind\":2048,\"name\":\"values\",\"url\":\"classes/ObjectIndex.html#values\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":192,\"kind\":2048,\"name\":\"add\",\"url\":\"classes/ObjectIndex.html#add\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":193,\"kind\":2048,\"name\":\"has\",\"url\":\"classes/ObjectIndex.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":194,\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/ObjectIndex.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":195,\"kind\":2048,\"name\":\"get\",\"url\":\"classes/ObjectIndex.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":196,\"kind\":2048,\"name\":\"find\",\"url\":\"classes/ObjectIndex.html#find\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ObjectIndex\"},{\"id\":197,\"kind\":256,\"name\":\"TSOpts\",\"url\":\"interfaces/TSOpts.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":198,\"kind\":1024,\"name\":\"indent\",\"url\":\"interfaces/TSOpts.html#indent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TSOpts\"},{\"id\":199,\"kind\":1024,\"name\":\"uppercaseEnums\",\"url\":\"interfaces/TSOpts.html#uppercaseEnums\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TSOpts\"},{\"id\":200,\"kind\":1024,\"name\":\"stringType\",\"url\":\"interfaces/TSOpts.html#stringType\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TSOpts\"},{\"id\":201,\"kind\":64,\"name\":\"TYPESCRIPT\",\"url\":\"modules.html#TYPESCRIPT\",\"classes\":\"tsd-kind-function\"},{\"id\":202,\"kind\":256,\"name\":\"ZigOpts\",\"url\":\"interfaces/ZigOpts.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":203,\"kind\":1024,\"name\":\"debug\",\"url\":\"interfaces/ZigOpts.html#debug\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ZigOpts\"},{\"id\":204,\"kind\":64,\"name\":\"ZIG\",\"url\":\"modules.html#ZIG\",\"classes\":\"tsd-kind-function\"},{\"id\":205,\"kind\":64,\"name\":\"isNumeric\",\"url\":\"modules.html#isNumeric\",\"classes\":\"tsd-kind-function\"},{\"id\":206,\"kind\":64,\"name\":\"isBigNumeric\",\"url\":\"modules.html#isBigNumeric\",\"classes\":\"tsd-kind-function\"},{\"id\":207,\"kind\":64,\"name\":\"isWasmPrim\",\"url\":\"modules.html#isWasmPrim\",\"classes\":\"tsd-kind-function\"},{\"id\":208,\"kind\":64,\"name\":\"isWasmString\",\"url\":\"modules.html#isWasmString\",\"classes\":\"tsd-kind-function\"},{\"id\":209,\"kind\":64,\"name\":\"prefixLines\",\"url\":\"modules.html#prefixLines\",\"classes\":\"tsd-kind-function\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"parent\"],\"fieldVectors\":[[\"name/0\",[0,49.464]],[\"parent/0\",[]],[\"name/1\",[1,49.464]],[\"parent/1\",[]],[\"name/2\",[2,40.991]],[\"parent/2\",[]],[\"name/3\",[3,44.356]],[\"parent/3\",[2,3.749]],[\"name/4\",[4,44.356]],[\"parent/4\",[2,3.749]],[\"name/5\",[5,38.478]],[\"parent/5\",[]],[\"name/6\",[6,49.464]],[\"parent/6\",[5,3.519]],[\"name/7\",[7,49.464]],[\"parent/7\",[5,3.519]],[\"name/8\",[8,49.464]],[\"parent/8\",[5,3.519]],[\"name/9\",[9,27.492]],[\"parent/9\",[]],[\"name/10\",[10,44.356]],[\"parent/10\",[9,2.515]],[\"name/11\",[11,44.356]],[\"parent/11\",[9,2.515]],[\"name/12\",[12,44.356]],[\"parent/12\",[9,2.515]],[\"name/13\",[13,44.356]],[\"parent/13\",[9,2.515]],[\"name/14\",[14,44.356]],[\"parent/14\",[9,2.515]],[\"name/15\",[15,44.356]],[\"parent/15\",[9,2.515]],[\"name/16\",[16,44.356]],[\"parent/16\",[9,2.515]],[\"name/17\",[17,44.356]],[\"parent/17\",[9,2.515]],[\"name/18\",[18,44.356]],[\"parent/18\",[9,2.515]],[\"name/19\",[19,44.356]],[\"parent/19\",[9,2.515]],[\"name/20\",[20,44.356]],[\"parent/20\",[9,2.515]],[\"name/21\",[21,44.356]],[\"parent/21\",[9,2.515]],[\"name/22\",[22,20.377]],[\"parent/22\",[]],[\"name/23\",[23,49.464]],[\"parent/23\",[22,1.864]],[\"name/24\",[24,49.464]],[\"parent/24\",[22,1.864]],[\"name/25\",[25,49.464]],[\"parent/25\",[22,1.864]],[\"name/26\",[26,49.464]],[\"parent/26\",[22,1.864]],[\"name/27\",[27,49.464]],[\"parent/27\",[22,1.864]],[\"name/28\",[28,49.464]],[\"parent/28\",[22,1.864]],[\"name/29\",[29,49.464]],[\"parent/29\",[22,1.864]],[\"name/30\",[30,49.464]],[\"parent/30\",[22,1.864]],[\"name/31\",[31,49.464]],[\"parent/31\",[22,1.864]],[\"name/32\",[32,49.464]],[\"parent/32\",[22,1.864]],[\"name/33\",[33,49.464]],[\"parent/33\",[22,1.864]],[\"name/34\",[34,49.464]],[\"parent/34\",[22,1.864]],[\"name/35\",[35,49.464]],[\"parent/35\",[22,1.864]],[\"name/36\",[36,49.464]],[\"parent/36\",[22,1.864]],[\"name/37\",[37,49.464]],[\"parent/37\",[22,1.864]],[\"name/38\",[38,49.464]],[\"parent/38\",[22,1.864]],[\"name/39\",[39,49.464]],[\"parent/39\",[22,1.864]],[\"name/40\",[40,49.464]],[\"parent/40\",[22,1.864]],[\"name/41\",[41,49.464]],[\"parent/41\",[22,1.864]],[\"name/42\",[42,49.464]],[\"parent/42\",[22,1.864]],[\"name/43\",[43,49.464]],[\"parent/43\",[22,1.864]],[\"name/44\",[44,49.464]],[\"parent/44\",[22,1.864]],[\"name/45\",[45,49.464]],[\"parent/45\",[22,1.864]],[\"name/46\",[46,49.464]],[\"parent/46\",[22,1.864]],[\"name/47\",[47,49.464]],[\"parent/47\",[22,1.864]],[\"name/48\",[48,49.464]],[\"parent/48\",[22,1.864]],[\"name/49\",[49,40.991]],[\"parent/49\",[]],[\"name/50\",[50,49.464]],[\"parent/50\",[49,3.749]],[\"name/51\",[51,49.464]],[\"parent/51\",[49,3.749]],[\"name/52\",[52,38.478]],[\"parent/52\",[]],[\"name/53\",[53,49.464]],[\"parent/53\",[52,3.519]],[\"name/54\",[54,49.464]],[\"parent/54\",[52,3.519]],[\"name/55\",[55,49.464]],[\"parent/55\",[52,3.519]],[\"name/56\",[56,49.464]],[\"parent/56\",[]],[\"name/57\",[57,49.464]],[\"parent/57\",[]],[\"name/58\",[58,49.464]],[\"parent/58\",[]],[\"name/59\",[59,49.464]],[\"parent/59\",[]],[\"name/60\",[60,49.464]],[\"parent/60\",[]],[\"name/61\",[61,49.464]],[\"parent/61\",[]],[\"name/62\",[62,49.464]],[\"parent/62\",[]],[\"name/63\",[63,49.464]],[\"parent/63\",[]],[\"name/64\",[64,38.478]],[\"parent/64\",[]],[\"name/65\",[65,33.37]],[\"parent/65\",[64,3.519]],[\"name/66\",[66,34.801]],[\"parent/66\",[64,3.519]],[\"name/67\",[67,38.478]],[\"parent/67\",[64,3.519]],[\"name/68\",[68,33.37]],[\"parent/68\",[]],[\"name/69\",[67,38.478]],[\"parent/69\",[68,3.052]],[\"name/70\",[69,49.464]],[\"parent/70\",[68,3.052]],[\"name/71\",[70,49.464]],[\"parent/71\",[68,3.052]],[\"name/72\",[65,33.37]],[\"parent/72\",[68,3.052]],[\"name/73\",[66,34.801]],[\"parent/73\",[68,3.052]],[\"name/74\",[71,32.118]],[\"parent/74\",[]],[\"name/75\",[65,33.37]],[\"parent/75\",[71,2.938]],[\"name/76\",[66,34.801]],[\"parent/76\",[71,2.938]],[\"name/77\",[72,44.356]],[\"parent/77\",[71,2.938]],[\"name/78\",[67,38.478]],[\"parent/78\",[71,2.938]],[\"name/79\",[73,49.464]],[\"parent/79\",[71,2.938]],[\"name/80\",[74,49.464]],[\"parent/80\",[71,2.938]],[\"name/81\",[75,49.464]],[\"parent/81\",[71,2.938]],[\"name/82\",[76,33.37]],[\"parent/82\",[]],[\"name/83\",[67,38.478]],[\"parent/83\",[76,3.052]],[\"name/84\",[72,44.356]],[\"parent/84\",[76,3.052]],[\"name/85\",[77,44.356]],[\"parent/85\",[76,3.052]],[\"name/86\",[65,33.37]],[\"parent/86\",[76,3.052]],[\"name/87\",[66,34.801]],[\"parent/87\",[76,3.052]],[\"name/88\",[78,38.478]],[\"parent/88\",[]],[\"name/89\",[65,33.37]],[\"parent/89\",[78,3.519]],[\"name/90\",[79,49.464]],[\"parent/90\",[78,3.519]],[\"name/91\",[66,34.801]],[\"parent/91\",[78,3.519]],[\"name/92\",[80,34.801]],[\"parent/92\",[]],[\"name/93\",[81,44.356]],[\"parent/93\",[80,3.183]],[\"name/94\",[82,44.356]],[\"parent/94\",[80,3.183]],[\"name/95\",[66,34.801]],[\"parent/95\",[80,3.183]],[\"name/96\",[76,33.37]],[\"parent/96\",[80,3.183]],[\"name/97\",[68,33.37]],[\"parent/97\",[80,3.183]],[\"name/98\",[83,49.464]],[\"parent/98\",[]],[\"name/99\",[84,49.464]],[\"parent/99\",[]],[\"name/100\",[85,44.356]],[\"parent/100\",[]],[\"name/101\",[86,44.356]],[\"parent/101\",[85,4.057]],[\"name/102\",[87,49.464]],[\"parent/102\",[88,3.519]],[\"name/103\",[89,49.464]],[\"parent/103\",[88,3.519]],[\"name/104\",[86,44.356]],[\"parent/104\",[88,3.519]],[\"name/105\",[90,49.464]],[\"parent/105\",[88,3.519]],[\"name/106\",[91,11.105]],[\"parent/106\",[]],[\"name/107\",[92,44.356]],[\"parent/107\",[91,1.016]],[\"name/108\",[10,44.356]],[\"parent/108\",[91,1.016]],[\"name/109\",[11,44.356]],[\"parent/109\",[91,1.016]],[\"name/110\",[12,44.356]],[\"parent/110\",[91,1.016]],[\"name/111\",[13,44.356]],[\"parent/111\",[91,1.016]],[\"name/112\",[14,44.356]],[\"parent/112\",[91,1.016]],[\"name/113\",[15,44.356]],[\"parent/113\",[91,1.016]],[\"name/114\",[16,44.356]],[\"parent/114\",[91,1.016]],[\"name/115\",[17,44.356]],[\"parent/115\",[91,1.016]],[\"name/116\",[18,44.356]],[\"parent/116\",[91,1.016]],[\"name/117\",[19,44.356]],[\"parent/117\",[91,1.016]],[\"name/118\",[93,49.464]],[\"parent/118\",[91,1.016]],[\"name/119\",[94,49.464]],[\"parent/119\",[91,1.016]],[\"name/120\",[95,49.464]],[\"parent/120\",[91,1.016]],[\"name/121\",[96,49.464]],[\"parent/121\",[91,1.016]],[\"name/122\",[97,49.464]],[\"parent/122\",[91,1.016]],[\"name/123\",[98,49.464]],[\"parent/123\",[91,1.016]],[\"name/124\",[99,40.991]],[\"parent/124\",[91,1.016]],[\"name/125\",[100,49.464]],[\"parent/125\",[91,1.016]],[\"name/126\",[3,44.356]],[\"parent/126\",[91,1.016]],[\"name/127\",[101,49.464]],[\"parent/127\",[91,1.016]],[\"name/128\",[4,44.356]],[\"parent/128\",[91,1.016]],[\"name/129\",[102,49.464]],[\"parent/129\",[91,1.016]],[\"name/130\",[103,49.464]],[\"parent/130\",[91,1.016]],[\"name/131\",[104,49.464]],[\"parent/131\",[91,1.016]],[\"name/132\",[105,49.464]],[\"parent/132\",[91,1.016]],[\"name/133\",[106,49.464]],[\"parent/133\",[91,1.016]],[\"name/134\",[107,49.464]],[\"parent/134\",[91,1.016]],[\"name/135\",[108,49.464]],[\"parent/135\",[91,1.016]],[\"name/136\",[109,49.464]],[\"parent/136\",[91,1.016]],[\"name/137\",[110,49.464]],[\"parent/137\",[91,1.016]],[\"name/138\",[111,49.464]],[\"parent/138\",[91,1.016]],[\"name/139\",[112,49.464]],[\"parent/139\",[91,1.016]],[\"name/140\",[113,49.464]],[\"parent/140\",[91,1.016]],[\"name/141\",[114,49.464]],[\"parent/141\",[91,1.016]],[\"name/142\",[115,49.464]],[\"parent/142\",[91,1.016]],[\"name/143\",[116,49.464]],[\"parent/143\",[91,1.016]],[\"name/144\",[117,49.464]],[\"parent/144\",[91,1.016]],[\"name/145\",[118,49.464]],[\"parent/145\",[91,1.016]],[\"name/146\",[119,49.464]],[\"parent/146\",[91,1.016]],[\"name/147\",[120,49.464]],[\"parent/147\",[91,1.016]],[\"name/148\",[121,49.464]],[\"parent/148\",[91,1.016]],[\"name/149\",[122,49.464]],[\"parent/149\",[91,1.016]],[\"name/150\",[123,49.464]],[\"parent/150\",[91,1.016]],[\"name/151\",[124,49.464]],[\"parent/151\",[91,1.016]],[\"name/152\",[125,49.464]],[\"parent/152\",[91,1.016]],[\"name/153\",[126,49.464]],[\"parent/153\",[91,1.016]],[\"name/154\",[127,49.464]],[\"parent/154\",[91,1.016]],[\"name/155\",[128,49.464]],[\"parent/155\",[91,1.016]],[\"name/156\",[129,49.464]],[\"parent/156\",[91,1.016]],[\"name/157\",[130,49.464]],[\"parent/157\",[91,1.016]],[\"name/158\",[131,49.464]],[\"parent/158\",[91,1.016]],[\"name/159\",[132,49.464]],[\"parent/159\",[91,1.016]],[\"name/160\",[133,49.464]],[\"parent/160\",[91,1.016]],[\"name/161\",[134,49.464]],[\"parent/161\",[91,1.016]],[\"name/162\",[135,49.464]],[\"parent/162\",[91,1.016]],[\"name/163\",[136,49.464]],[\"parent/163\",[91,1.016]],[\"name/164\",[137,49.464]],[\"parent/164\",[91,1.016]],[\"name/165\",[138,49.464]],[\"parent/165\",[91,1.016]],[\"name/166\",[139,49.464]],[\"parent/166\",[91,1.016]],[\"name/167\",[140,49.464]],[\"parent/167\",[91,1.016]],[\"name/168\",[141,49.464]],[\"parent/168\",[91,1.016]],[\"name/169\",[142,49.464]],[\"parent/169\",[91,1.016]],[\"name/170\",[143,49.464]],[\"parent/170\",[91,1.016]],[\"name/171\",[144,49.464]],[\"parent/171\",[91,1.016]],[\"name/172\",[20,44.356]],[\"parent/172\",[91,1.016]],[\"name/173\",[21,44.356]],[\"parent/173\",[91,1.016]],[\"name/174\",[145,49.464]],[\"parent/174\",[91,1.016]],[\"name/175\",[146,38.478]],[\"parent/175\",[]],[\"name/176\",[81,44.356]],[\"parent/176\",[146,3.519]],[\"name/177\",[82,44.356]],[\"parent/177\",[146,3.519]],[\"name/178\",[147,44.356]],[\"parent/178\",[146,3.519]],[\"name/179\",[148,49.464]],[\"parent/179\",[]],[\"name/180\",[149,38.478]],[\"parent/180\",[]],[\"name/181\",[65,33.37]],[\"parent/181\",[149,3.519]],[\"name/182\",[99,40.991]],[\"parent/182\",[149,3.519]],[\"name/183\",[150,49.464]],[\"parent/183\",[149,3.519]],[\"name/184\",[151,27.492]],[\"parent/184\",[]],[\"name/185\",[92,44.356]],[\"parent/185\",[151,2.515]],[\"name/186\",[65,33.37]],[\"parent/186\",[151,2.515]],[\"name/187\",[99,40.991]],[\"parent/187\",[151,2.515]],[\"name/188\",[152,49.464]],[\"parent/188\",[151,2.515]],[\"name/189\",[153,49.464]],[\"parent/189\",[151,2.515]],[\"name/190\",[154,49.464]],[\"parent/190\",[151,2.515]],[\"name/191\",[77,44.356]],[\"parent/191\",[151,2.515]],[\"name/192\",[155,49.464]],[\"parent/192\",[151,2.515]],[\"name/193\",[156,49.464]],[\"parent/193\",[151,2.515]],[\"name/194\",[157,49.464]],[\"parent/194\",[151,2.515]],[\"name/195\",[158,49.464]],[\"parent/195\",[151,2.515]],[\"name/196\",[159,49.464]],[\"parent/196\",[151,2.515]],[\"name/197\",[160,38.478]],[\"parent/197\",[]],[\"name/198\",[161,49.464]],[\"parent/198\",[160,3.519]],[\"name/199\",[162,49.464]],[\"parent/199\",[160,3.519]],[\"name/200\",[147,44.356]],[\"parent/200\",[160,3.519]],[\"name/201\",[163,49.464]],[\"parent/201\",[]],[\"name/202\",[164,44.356]],[\"parent/202\",[]],[\"name/203\",[165,49.464]],[\"parent/203\",[164,4.057]],[\"name/204\",[166,49.464]],[\"parent/204\",[]],[\"name/205\",[167,49.464]],[\"parent/205\",[]],[\"name/206\",[168,49.464]],[\"parent/206\",[]],[\"name/207\",[169,49.464]],[\"parent/207\",[]],[\"name/208\",[170,49.464]],[\"parent/208\",[]],[\"name/209\",[171,49.464]],[\"parent/209\",[]]],\"invertedIndex\":[[\"__base\",{\"_index\":50,\"name\":{\"50\":{}},\"parent\":{}}],[\"__bytes\",{\"_index\":51,\"name\":{\"51\":{}},\"parent\":{}}],[\"__type\",{\"_index\":86,\"name\":{\"101\":{},\"104\":{}},\"parent\":{}}],[\"_printf32array\",{\"_index\":45,\"name\":{\"45\":{}},\"parent\":{}}],[\"_printf64array\",{\"_index\":46,\"name\":{\"46\":{}},\"parent\":{}}],[\"_printi16array\",{\"_index\":39,\"name\":{\"39\":{}},\"parent\":{}}],[\"_printi32array\",{\"_index\":41,\"name\":{\"41\":{}},\"parent\":{}}],[\"_printi64\",{\"_index\":32,\"name\":{\"32\":{}},\"parent\":{}}],[\"_printi64array\",{\"_index\":43,\"name\":{\"43\":{}},\"parent\":{}}],[\"_printi8array\",{\"_index\":37,\"name\":{\"37\":{}},\"parent\":{}}],[\"_printstr\",{\"_index\":48,\"name\":{\"48\":{}},\"parent\":{}}],[\"_printstr0\",{\"_index\":47,\"name\":{\"47\":{}},\"parent\":{}}],[\"_printu16array\",{\"_index\":40,\"name\":{\"40\":{}},\"parent\":{}}],[\"_printu32array\",{\"_index\":42,\"name\":{\"42\":{}},\"parent\":{}}],[\"_printu64\",{\"_index\":33,\"name\":{\"33\":{}},\"parent\":{}}],[\"_printu64array\",{\"_index\":44,\"name\":{\"44\":{}},\"parent\":{}}],[\"_printu64hex\",{\"_index\":34,\"name\":{\"34\":{}},\"parent\":{}}],[\"_printu8array\",{\"_index\":38,\"name\":{\"38\":{}},\"parent\":{}}],[\"_wasm_allocate\",{\"_index\":7,\"name\":{\"7\":{}},\"parent\":{}}],[\"_wasm_free\",{\"_index\":8,\"name\":{\"8\":{}},\"parent\":{}}],[\"add\",{\"_index\":155,\"name\":{\"192\":{}},\"parent\":{}}],[\"align\",{\"_index\":53,\"name\":{\"53\":{}},\"parent\":{}}],[\"allocate\",{\"_index\":103,\"name\":{\"130\":{}},\"parent\":{}}],[\"api\",{\"_index\":97,\"name\":{\"122\":{}},\"parent\":{}}],[\"auto\",{\"_index\":70,\"name\":{\"71\":{}},\"parent\":{}}],[\"bigintarray\",{\"_index\":1,\"name\":{\"1\":{}},\"parent\":{}}],[\"bits\",{\"_index\":150,\"name\":{\"183\":{}},\"parent\":{}}],[\"capturestacktrace\",{\"_index\":87,\"name\":{\"102\":{}},\"parent\":{}}],[\"codegenopts\",{\"_index\":146,\"name\":{\"175\":{}},\"parent\":{\"176\":{},\"177\":{},\"178\":{}}}],[\"constructor\",{\"_index\":92,\"name\":{\"107\":{},\"185\":{}},\"parent\":{}}],[\"coreapi\",{\"_index\":22,\"name\":{\"22\":{}},\"parent\":{\"23\":{},\"24\":{},\"25\":{},\"26\":{},\"27\":{},\"28\":{},\"29\":{},\"30\":{},\"31\":{},\"32\":{},\"33\":{},\"34\":{},\"35\":{},\"36\":{},\"37\":{},\"38\":{},\"39\":{},\"40\":{},\"41\":{},\"42\":{},\"43\":{},\"44\":{},\"45\":{},\"46\":{},\"47\":{},\"48\":{}}}],[\"debug\",{\"_index\":165,\"name\":{\"203\":{}},\"parent\":{}}],[\"default\",{\"_index\":75,\"name\":{\"81\":{}},\"parent\":{}}],[\"delete\",{\"_index\":157,\"name\":{\"194\":{}},\"parent\":{}}],[\"doc\",{\"_index\":66,\"name\":{\"66\":{},\"73\":{},\"76\":{},\"87\":{},\"91\":{},\"95\":{}},\"parent\":{}}],[\"ensurememory\",{\"_index\":101,\"name\":{\"127\":{}},\"parent\":{}}],[\"enum\",{\"_index\":76,\"name\":{\"82\":{},\"96\":{}},\"parent\":{\"83\":{},\"84\":{},\"85\":{},\"86\":{},\"87\":{}}}],[\"enumvalue\",{\"_index\":78,\"name\":{\"88\":{}},\"parent\":{\"89\":{},\"90\":{},\"91\":{}}}],[\"exports\",{\"_index\":96,\"name\":{\"121\":{}},\"parent\":{}}],[\"f32\",{\"_index\":18,\"name\":{\"18\":{},\"116\":{}},\"parent\":{}}],[\"f64\",{\"_index\":19,\"name\":{\"19\":{},\"117\":{}},\"parent\":{}}],[\"fields\",{\"_index\":69,\"name\":{\"70\":{}},\"parent\":{}}],[\"find\",{\"_index\":159,\"name\":{\"196\":{}},\"parent\":{}}],[\"free\",{\"_index\":104,\"name\":{\"131\":{}},\"parent\":{}}],[\"generatetypes\",{\"_index\":148,\"name\":{\"179\":{}},\"parent\":{}}],[\"get\",{\"_index\":158,\"name\":{\"195\":{}},\"parent\":{}}],[\"getelementbyid\",{\"_index\":145,\"name\":{\"174\":{}},\"parent\":{}}],[\"getf32\",{\"_index\":113,\"name\":{\"140\":{}},\"parent\":{}}],[\"getf32array\",{\"_index\":133,\"name\":{\"160\":{}},\"parent\":{}}],[\"getf64\",{\"_index\":114,\"name\":{\"141\":{}},\"parent\":{}}],[\"getf64array\",{\"_index\":134,\"name\":{\"161\":{}},\"parent\":{}}],[\"geti16\",{\"_index\":107,\"name\":{\"134\":{}},\"parent\":{}}],[\"geti16array\",{\"_index\":127,\"name\":{\"154\":{}},\"parent\":{}}],[\"geti32\",{\"_index\":109,\"name\":{\"136\":{}},\"parent\":{}}],[\"geti32array\",{\"_index\":129,\"name\":{\"156\":{}},\"parent\":{}}],[\"geti64\",{\"_index\":111,\"name\":{\"138\":{}},\"parent\":{}}],[\"geti64array\",{\"_index\":131,\"name\":{\"158\":{}},\"parent\":{}}],[\"geti8\",{\"_index\":105,\"name\":{\"132\":{}},\"parent\":{}}],[\"geti8array\",{\"_index\":125,\"name\":{\"152\":{}},\"parent\":{}}],[\"getimports\",{\"_index\":4,\"name\":{\"4\":{},\"128\":{}},\"parent\":{}}],[\"getstring\",{\"_index\":20,\"name\":{\"20\":{},\"172\":{}},\"parent\":{}}],[\"getu16\",{\"_index\":108,\"name\":{\"135\":{}},\"parent\":{}}],[\"getu16array\",{\"_index\":128,\"name\":{\"155\":{}},\"parent\":{}}],[\"getu32\",{\"_index\":110,\"name\":{\"137\":{}},\"parent\":{}}],[\"getu32array\",{\"_index\":130,\"name\":{\"157\":{}},\"parent\":{}}],[\"getu64\",{\"_index\":112,\"name\":{\"139\":{}},\"parent\":{}}],[\"getu64array\",{\"_index\":132,\"name\":{\"159\":{}},\"parent\":{}}],[\"getu8\",{\"_index\":106,\"name\":{\"133\":{}},\"parent\":{}}],[\"getu8array\",{\"_index\":126,\"name\":{\"153\":{}},\"parent\":{}}],[\"growmemory\",{\"_index\":102,\"name\":{\"129\":{}},\"parent\":{}}],[\"has\",{\"_index\":156,\"name\":{\"193\":{}},\"parent\":{}}],[\"i16\",{\"_index\":12,\"name\":{\"12\":{},\"110\":{}},\"parent\":{}}],[\"i32\",{\"_index\":14,\"name\":{\"14\":{},\"112\":{}},\"parent\":{}}],[\"i64\",{\"_index\":16,\"name\":{\"16\":{},\"114\":{}},\"parent\":{}}],[\"i8\",{\"_index\":10,\"name\":{\"10\":{},\"108\":{}},\"parent\":{}}],[\"icodegen\",{\"_index\":80,\"name\":{\"92\":{}},\"parent\":{\"93\":{},\"94\":{},\"95\":{},\"96\":{},\"97\":{}}}],[\"idgen\",{\"_index\":152,\"name\":{\"188\":{}},\"parent\":{}}],[\"imports\",{\"_index\":95,\"name\":{\"120\":{}},\"parent\":{}}],[\"indent\",{\"_index\":161,\"name\":{\"198\":{}},\"parent\":{}}],[\"init\",{\"_index\":3,\"name\":{\"3\":{},\"126\":{}},\"parent\":{}}],[\"instance\",{\"_index\":55,\"name\":{\"55\":{}},\"parent\":{}}],[\"instantiate\",{\"_index\":100,\"name\":{\"125\":{}},\"parent\":{}}],[\"isbignumeric\",{\"_index\":168,\"name\":{\"206\":{}},\"parent\":{}}],[\"isnumeric\",{\"_index\":167,\"name\":{\"205\":{}},\"parent\":{}}],[\"iswasmprim\",{\"_index\":169,\"name\":{\"207\":{}},\"parent\":{}}],[\"iswasmstring\",{\"_index\":170,\"name\":{\"208\":{}},\"parent\":{}}],[\"items\",{\"_index\":153,\"name\":{\"189\":{}},\"parent\":{}}],[\"iwasmapi\",{\"_index\":2,\"name\":{\"2\":{}},\"parent\":{\"3\":{},\"4\":{}}}],[\"iwasmmemoryaccess\",{\"_index\":9,\"name\":{\"9\":{}},\"parent\":{\"10\":{},\"11\":{},\"12\":{},\"13\":{},\"14\":{},\"15\":{},\"16\":{},\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{}}}],[\"keys\",{\"_index\":154,\"name\":{\"190\":{}},\"parent\":{}}],[\"len\",{\"_index\":74,\"name\":{\"80\":{}},\"parent\":{}}],[\"logger\",{\"_index\":99,\"name\":{\"124\":{},\"182\":{},\"187\":{}},\"parent\":{}}],[\"memory\",{\"_index\":6,\"name\":{\"6\":{}},\"parent\":{}}],[\"modules\",{\"_index\":98,\"name\":{\"123\":{}},\"parent\":{}}],[\"name\",{\"_index\":65,\"name\":{\"65\":{},\"72\":{},\"75\":{},\"86\":{},\"89\":{},\"181\":{},\"186\":{}},\"parent\":{}}],[\"objectindex\",{\"_index\":151,\"name\":{\"184\":{}},\"parent\":{\"185\":{},\"186\":{},\"187\":{},\"188\":{},\"189\":{},\"190\":{},\"191\":{},\"192\":{},\"193\":{},\"194\":{},\"195\":{},\"196\":{}}}],[\"objectindexopts\",{\"_index\":149,\"name\":{\"180\":{}},\"parent\":{\"181\":{},\"182\":{},\"183\":{}}}],[\"outofmemoryerror\",{\"_index\":85,\"name\":{\"100\":{}},\"parent\":{\"101\":{}}}],[\"outofmemoryerror.__type\",{\"_index\":88,\"name\":{},\"parent\":{\"102\":{},\"103\":{},\"104\":{},\"105\":{}}}],[\"pkg_name\",{\"_index\":0,\"name\":{\"0\":{}},\"parent\":{}}],[\"post\",{\"_index\":82,\"name\":{\"94\":{},\"177\":{}},\"parent\":{}}],[\"pre\",{\"_index\":81,\"name\":{\"93\":{},\"176\":{}},\"parent\":{}}],[\"prefixlines\",{\"_index\":171,\"name\":{\"209\":{}},\"parent\":{}}],[\"preparestacktrace\",{\"_index\":89,\"name\":{\"103\":{}},\"parent\":{}}],[\"printf32\",{\"_index\":35,\"name\":{\"35\":{}},\"parent\":{}}],[\"printf64\",{\"_index\":36,\"name\":{\"36\":{}},\"parent\":{}}],[\"printi16\",{\"_index\":26,\"name\":{\"26\":{}},\"parent\":{}}],[\"printi32\",{\"_index\":29,\"name\":{\"29\":{}},\"parent\":{}}],[\"printi8\",{\"_index\":23,\"name\":{\"23\":{}},\"parent\":{}}],[\"printu16\",{\"_index\":27,\"name\":{\"27\":{}},\"parent\":{}}],[\"printu16hex\",{\"_index\":28,\"name\":{\"28\":{}},\"parent\":{}}],[\"printu32\",{\"_index\":30,\"name\":{\"30\":{}},\"parent\":{}}],[\"printu32hex\",{\"_index\":31,\"name\":{\"31\":{}},\"parent\":{}}],[\"printu8\",{\"_index\":24,\"name\":{\"24\":{}},\"parent\":{}}],[\"printu8hex\",{\"_index\":25,\"name\":{\"25\":{}},\"parent\":{}}],[\"sentinel\",{\"_index\":73,\"name\":{\"79\":{}},\"parent\":{}}],[\"setf32\",{\"_index\":123,\"name\":{\"150\":{}},\"parent\":{}}],[\"setf32array\",{\"_index\":143,\"name\":{\"170\":{}},\"parent\":{}}],[\"setf64\",{\"_index\":124,\"name\":{\"151\":{}},\"parent\":{}}],[\"setf64array\",{\"_index\":144,\"name\":{\"171\":{}},\"parent\":{}}],[\"seti16\",{\"_index\":117,\"name\":{\"144\":{}},\"parent\":{}}],[\"seti16array\",{\"_index\":137,\"name\":{\"164\":{}},\"parent\":{}}],[\"seti32\",{\"_index\":119,\"name\":{\"146\":{}},\"parent\":{}}],[\"seti32array\",{\"_index\":139,\"name\":{\"166\":{}},\"parent\":{}}],[\"seti64\",{\"_index\":121,\"name\":{\"148\":{}},\"parent\":{}}],[\"seti64array\",{\"_index\":141,\"name\":{\"168\":{}},\"parent\":{}}],[\"seti8\",{\"_index\":115,\"name\":{\"142\":{}},\"parent\":{}}],[\"seti8array\",{\"_index\":135,\"name\":{\"162\":{}},\"parent\":{}}],[\"setstring\",{\"_index\":21,\"name\":{\"21\":{},\"173\":{}},\"parent\":{}}],[\"setu16\",{\"_index\":118,\"name\":{\"145\":{}},\"parent\":{}}],[\"setu16array\",{\"_index\":138,\"name\":{\"165\":{}},\"parent\":{}}],[\"setu32\",{\"_index\":120,\"name\":{\"147\":{}},\"parent\":{}}],[\"setu32array\",{\"_index\":140,\"name\":{\"167\":{}},\"parent\":{}}],[\"setu64\",{\"_index\":122,\"name\":{\"149\":{}},\"parent\":{}}],[\"setu64array\",{\"_index\":142,\"name\":{\"169\":{}},\"parent\":{}}],[\"setu8\",{\"_index\":116,\"name\":{\"143\":{}},\"parent\":{}}],[\"setu8array\",{\"_index\":136,\"name\":{\"163\":{}},\"parent\":{}}],[\"size\",{\"_index\":54,\"name\":{\"54\":{}},\"parent\":{}}],[\"stacktracelimit\",{\"_index\":90,\"name\":{\"105\":{}},\"parent\":{}}],[\"stringtype\",{\"_index\":147,\"name\":{\"178\":{},\"200\":{}},\"parent\":{}}],[\"struct\",{\"_index\":68,\"name\":{\"68\":{},\"97\":{}},\"parent\":{\"69\":{},\"70\":{},\"71\":{},\"72\":{},\"73\":{}}}],[\"structfield\",{\"_index\":71,\"name\":{\"74\":{}},\"parent\":{\"75\":{},\"76\":{},\"77\":{},\"78\":{},\"79\":{},\"80\":{},\"81\":{}}}],[\"tag\",{\"_index\":72,\"name\":{\"77\":{},\"84\":{}},\"parent\":{}}],[\"topleveltype\",{\"_index\":64,\"name\":{\"64\":{}},\"parent\":{\"65\":{},\"66\":{},\"67\":{}}}],[\"tsopts\",{\"_index\":160,\"name\":{\"197\":{}},\"parent\":{\"198\":{},\"199\":{},\"200\":{}}}],[\"type\",{\"_index\":67,\"name\":{\"67\":{},\"69\":{},\"78\":{},\"83\":{}},\"parent\":{}}],[\"typecoll\",{\"_index\":62,\"name\":{\"62\":{}},\"parent\":{}}],[\"typeinfo\",{\"_index\":63,\"name\":{\"63\":{}},\"parent\":{}}],[\"typescript\",{\"_index\":163,\"name\":{\"201\":{}},\"parent\":{}}],[\"u16\",{\"_index\":13,\"name\":{\"13\":{},\"111\":{}},\"parent\":{}}],[\"u32\",{\"_index\":15,\"name\":{\"15\":{},\"113\":{}},\"parent\":{}}],[\"u64\",{\"_index\":17,\"name\":{\"17\":{},\"115\":{}},\"parent\":{}}],[\"u8\",{\"_index\":11,\"name\":{\"11\":{},\"109\":{}},\"parent\":{}}],[\"uppercaseenums\",{\"_index\":162,\"name\":{\"199\":{}},\"parent\":{}}],[\"usize\",{\"_index\":83,\"name\":{\"98\":{}},\"parent\":{}}],[\"usize_size\",{\"_index\":84,\"name\":{\"99\":{}},\"parent\":{}}],[\"utf8decoder\",{\"_index\":93,\"name\":{\"118\":{}},\"parent\":{}}],[\"utf8encoder\",{\"_index\":94,\"name\":{\"119\":{}},\"parent\":{}}],[\"value\",{\"_index\":79,\"name\":{\"90\":{}},\"parent\":{}}],[\"values\",{\"_index\":77,\"name\":{\"85\":{},\"191\":{}},\"parent\":{}}],[\"wasmbridge\",{\"_index\":91,\"name\":{\"106\":{}},\"parent\":{\"107\":{},\"108\":{},\"109\":{},\"110\":{},\"111\":{},\"112\":{},\"113\":{},\"114\":{},\"115\":{},\"116\":{},\"117\":{},\"118\":{},\"119\":{},\"120\":{},\"121\":{},\"122\":{},\"123\":{},\"124\":{},\"125\":{},\"126\":{},\"127\":{},\"128\":{},\"129\":{},\"130\":{},\"131\":{},\"132\":{},\"133\":{},\"134\":{},\"135\":{},\"136\":{},\"137\":{},\"138\":{},\"139\":{},\"140\":{},\"141\":{},\"142\":{},\"143\":{},\"144\":{},\"145\":{},\"146\":{},\"147\":{},\"148\":{},\"149\":{},\"150\":{},\"151\":{},\"152\":{},\"153\":{},\"154\":{},\"155\":{},\"156\":{},\"157\":{},\"158\":{},\"159\":{},\"160\":{},\"161\":{},\"162\":{},\"163\":{},\"164\":{},\"165\":{},\"166\":{},\"167\":{},\"168\":{},\"169\":{},\"170\":{},\"171\":{},\"172\":{},\"173\":{},\"174\":{}}}],[\"wasmexports\",{\"_index\":5,\"name\":{\"5\":{}},\"parent\":{\"6\":{},\"7\":{},\"8\":{}}}],[\"wasmfloat\",{\"_index\":59,\"name\":{\"59\":{}},\"parent\":{}}],[\"wasmint\",{\"_index\":57,\"name\":{\"57\":{}},\"parent\":{}}],[\"wasmprim\",{\"_index\":60,\"name\":{\"60\":{}},\"parent\":{}}],[\"wasmprim32\",{\"_index\":61,\"name\":{\"61\":{}},\"parent\":{}}],[\"wasmtype\",{\"_index\":52,\"name\":{\"52\":{}},\"parent\":{\"53\":{},\"54\":{},\"55\":{}}}],[\"wasmtypebase\",{\"_index\":49,\"name\":{\"49\":{}},\"parent\":{\"50\":{},\"51\":{}}}],[\"wasmtypeconstructor\",{\"_index\":56,\"name\":{\"56\":{}},\"parent\":{}}],[\"wasmuint\",{\"_index\":58,\"name\":{\"58\":{}},\"parent\":{}}],[\"zig\",{\"_index\":166,\"name\":{\"204\":{}},\"parent\":{}}],[\"zigopts\",{\"_index\":164,\"name\":{\"202\":{}},\"parent\":{\"203\":{}}}]],\"pipeline\":[]}}");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thi.ng/wasm-api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Generic, modular, extensible API bridge, glue code and bindings code generator for hybrid JS & WebAssembly projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -117,5 +117,5 @@
|
|
|
117
117
|
"status": "alpha",
|
|
118
118
|
"year": 2022
|
|
119
119
|
},
|
|
120
|
-
"gitHead": "
|
|
120
|
+
"gitHead": "4383dd462ecbafabbb7ae7ba567e3b3738abb9ab\n"
|
|
121
121
|
}
|