@napi-rs/cli 3.2.0 → 3.3.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/cli.mjs +3 -3
- package/dist/cli.js +791 -863
- package/dist/index.cjs +918 -753
- package/dist/index.d.cts +31 -2
- package/dist/index.d.ts +30 -3
- package/dist/index.js +889 -750
- package/package.json +5 -6
- package/src/api/artifacts.ts +1 -1
- package/src/api/build.ts +175 -108
- package/src/api/create-npm-dirs.ts +2 -2
- package/src/api/new.ts +4 -3
- package/src/api/pre-publish.ts +1 -1
- package/src/api/rename.ts +3 -4
- package/src/api/templates/js-binding.ts +5 -1
- package/src/api/universalize.ts +1 -1
- package/src/api/version.ts +4 -1
- package/src/cli.ts +1 -27
- package/src/commands/new.ts +1 -1
- package/src/index.ts +33 -0
- package/src/utils/config.ts +1 -1
- package/src/utils/target.ts +1 -0
- package/src/api/__tests__/create-npm-dirs.spec.ts +0 -210
- package/src/api/__tests__/new.spec.ts +0 -429
- package/src/utils/__tests__/__fixtures__/napi_type_def +0 -201
- package/src/utils/__tests__/__snapshots__/config.spec.ts.md +0 -97
- package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.md +0 -173
- package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +0 -1157
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/version.spec.ts.md +0 -21
- package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
- package/src/utils/__tests__/config.spec.ts +0 -81
- package/src/utils/__tests__/target.spec.ts +0 -19
- package/src/utils/__tests__/typegen.spec.ts +0 -64
- package/src/utils/__tests__/version.spec.ts +0 -13
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
{"kind": "const", "name": "DEFAULT_COST", "js_doc": "/** This is a const */\n", "def": "export const DEFAULT_COST: number", "original_name": "DEFAULT_COST"}
|
|
2
|
-
{"kind": "fn", "name": "getWords", "js_doc": "", "def": "function getWords(): Array<string>"}
|
|
3
|
-
{"kind": "fn", "name": "getNums", "js_doc": "/** Gets some numbers */\n", "def": "function getNums(): Array<number>"}
|
|
4
|
-
{"kind": "fn", "name": "sumNums", "js_doc": "", "def": "function sumNums(nums: Array<number>): number"}
|
|
5
|
-
{"kind": "fn", "name": "toJsObj", "js_doc": "", "def": "function toJsObj(): object"}
|
|
6
|
-
{"kind": "fn", "name": "getNumArr", "js_doc": "", "def": "function getNumArr(): number[]"}
|
|
7
|
-
{"kind": "fn", "name": "getNestedNumArr", "js_doc": "", "def": "function getNestedNumArr(): number[][][]"}
|
|
8
|
-
{"kind": "fn", "name": "readFileAsync", "js_doc": "", "def": "function readFileAsync(path: string): Promise<Buffer>"}
|
|
9
|
-
{"kind": "fn", "name": "asyncMultiTwo", "js_doc": "", "def": "function asyncMultiTwo(arg: number): Promise<number>"}
|
|
10
|
-
{"kind": "fn", "name": "bigintAdd", "js_doc": "", "def": "function bigintAdd(a: bigint, b: bigint): bigint"}
|
|
11
|
-
{"kind": "fn", "name": "createBigInt", "js_doc": "", "def": "function createBigInt(): bigint"}
|
|
12
|
-
{"kind": "fn", "name": "createBigIntI64", "js_doc": "", "def": "function createBigIntI64(): bigint"}
|
|
13
|
-
{"kind": "fn", "name": "bigintGetU64AsString", "js_doc": "", "def": "function bigintGetU64AsString(bi: bigint): string"}
|
|
14
|
-
{"kind": "fn", "name": "bigintFromI64", "js_doc": "", "def": "function bigintFromI64(): bigint"}
|
|
15
|
-
{"kind": "fn", "name": "bigintFromI128", "js_doc": "", "def": "function bigintFromI128(): bigint"}
|
|
16
|
-
{"kind": "fn", "name": "getCwd", "js_doc": "", "def": "function getCwd(callback: (arg0: string) => void): void"}
|
|
17
|
-
{"kind": "fn", "name": "optionEnd", "js_doc": "", "def": "function optionEnd(callback: (arg0: string, arg1?: string | undefined | null) => void): void"}
|
|
18
|
-
{"kind": "fn", "name": "optionStart", "js_doc": "", "def": "function optionStart(callback: (arg0: string | undefined | null, arg1: string) => void): void"}
|
|
19
|
-
{"kind": "fn", "name": "optionStartEnd", "js_doc": "", "def": "function optionStartEnd(callback: (arg0: string | undefined | null, arg1: string, arg2?: string | undefined | null) => void): void"}
|
|
20
|
-
{"kind": "fn", "name": "optionOnly", "js_doc": "", "def": "function optionOnly(callback: (arg0?: string | undefined | null) => void): void"}
|
|
21
|
-
{"kind": "fn", "name": "readFile", "js_doc": "/** napi = { version = 2, features = [\"serde-json\"] } */\n", "def": "function readFile(callback: (arg0: Error | undefined, arg1?: string | undefined | null) => void): void"}
|
|
22
|
-
{"kind": "fn", "name": "returnJsFunction", "js_doc": "", "def": "function returnJsFunction(): (...args: any[]) => any"}
|
|
23
|
-
{"kind": "fn", "name": "callbackReturnPromise", "js_doc": "", "def": "function callbackReturnPromise<T>(functionInput: () => T | Promise<T>, callback: (err: Error | null, result: T) => void): T | Promise<T>"}
|
|
24
|
-
{"kind": "fn", "name": "captureErrorInCallback", "js_doc": "", "def": "function captureErrorInCallback(cb1: () => void, cb2: (arg0: Error) => void): void"}
|
|
25
|
-
{"kind": "struct", "name": "Animal", "js_doc": "/**\n * `constructor` option for `struct` requires all fields to be public,\n * otherwise tag impl fn as constructor\n * #[napi(constructor)]\n */\n", "def": "/** Kind of animal */\nreadonly kind: Kind", "original_name": "Animal"}
|
|
26
|
-
{"kind": "impl", "name": "Animal", "js_doc": "", "def": "/** This is the constructor */\n constructor(kind: Kind, name: string)\n/** This is a factory method */\nstatic withKind(kind: Kind): Animal\nget name(): string\nset name(name: string)\nget type(): Kind\nset type(kind: Kind)\n/**\n * This is a\n * multi-line comment\n * with an emoji \uD83D\uDE80\n */\n whoami(): string\n/** This is static... */\nstatic getDogKind(): Kind\n/**\n * Here are some characters and character sequences\n * that should be escaped correctly:\n * \\[]{}/\\:\"\"{\n * }\n */\n returnOtherClass(): Dog\n returnOtherClassWithCustomConstructor(): Bird\n overrideIndividualArgOnMethod(normalTy: string, overriddenTy: {n: string}): Bird"}
|
|
27
|
-
{"kind": "struct", "name": "Dog", "js_doc": "", "def": "name: string\nconstructor(name: string)", "original_name": "Dog"}
|
|
28
|
-
{"kind": "struct", "name": "Bird", "js_doc": "", "def": "name: string", "original_name": "Bird"}
|
|
29
|
-
{"kind": "impl", "name": "Bird", "js_doc": "", "def": " constructor(name: string)\n getCount(): number\n getNameAsync(): Promise<string>"}
|
|
30
|
-
{"kind": "struct", "name": "Blake2BHasher", "js_doc": "/** Smoking test for type generation */\n", "def": "", "original_name": "Blake2bHasher"}
|
|
31
|
-
{"kind": "impl", "name": "Blake2BHasher", "js_doc": "", "def": "static withKey(key: Blake2bKey): Blake2BHasher"}
|
|
32
|
-
{"kind": "impl", "name": "Blake2BHasher", "js_doc": "", "def": " update(data: Buffer): void"}
|
|
33
|
-
{"kind": "struct", "name": "Blake2BKey", "js_doc": "", "def": "", "original_name": "Blake2bKey"}
|
|
34
|
-
{"kind": "struct", "name": "Context", "js_doc": "", "def": "maybeNeed?: boolean\nbuffer: Uint8Array", "original_name": "Context"}
|
|
35
|
-
{"kind": "impl", "name": "Context", "js_doc": "", "def": " constructor()\nstatic withData(data: string): Context\nstatic withBuffer(buf: Uint8Array): Context\n method(): string"}
|
|
36
|
-
{"kind": "struct", "name": "AnimalWithDefaultConstructor", "js_doc": "", "def": "name: string\nkind: number\nconstructor(name: string, kind: number)", "original_name": "AnimalWithDefaultConstructor"}
|
|
37
|
-
{"kind": "struct", "name": "NinjaTurtle", "js_doc": "", "def": "name: string", "original_name": "NinjaTurtle"}
|
|
38
|
-
{"kind": "impl", "name": "NinjaTurtle", "js_doc": "", "def": "static isInstanceOf(value: unknown): boolean\n/** Create your ninja turtle! \uD83D\uDC22 */\nstatic newRaph(): NinjaTurtle\n getMaskColor(): string\n getName(): string\n returnThis(this: this): this"}
|
|
39
|
-
{"kind": "struct", "name": "Assets", "js_doc": "", "def": "", "original_name": "JsAssets"}
|
|
40
|
-
{"kind": "impl", "name": "Assets", "js_doc": "", "def": " constructor()\n get(id: number): JsAsset | null"}
|
|
41
|
-
{"kind": "struct", "name": "Asset", "js_doc": "", "def": "", "original_name": "JsAsset"}
|
|
42
|
-
{"kind": "impl", "name": "Asset", "js_doc": "", "def": " constructor()\nget filePath(): number"}
|
|
43
|
-
{"kind": "struct", "name": "Optional", "js_doc": "", "def": "", "original_name": "Optional"}
|
|
44
|
-
{"kind": "impl", "name": "Optional", "js_doc": "", "def": "static optionEnd(required: string, optional?: string | undefined | null): string\nstatic optionStart(optional: string | undefined | null, required: string): string\nstatic optionStartEnd(optional1: string | undefined | null, required: string, optional2?: string | undefined | null): string\nstatic optionOnly(optional?: string | undefined | null): string"}
|
|
45
|
-
{"kind": "interface", "name": "ObjectFieldClassInstance", "js_doc": "", "def": "bird: Bird", "original_name": "ObjectFieldClassInstance"}
|
|
46
|
-
{"kind": "fn", "name": "createObjectWithClassField", "js_doc": "", "def": "function createObjectWithClassField(): ObjectFieldClassInstance"}
|
|
47
|
-
{"kind": "fn", "name": "receiveObjectWithClassField", "js_doc": "", "def": "function receiveObjectWithClassField(object: ObjectFieldClassInstance): Bird"}
|
|
48
|
-
{"kind": "struct", "name": "NotWritableClass", "js_doc": "", "def": "name: string\nconstructor(name: string)", "original_name": "NotWritableClass"}
|
|
49
|
-
{"kind": "impl", "name": "NotWritableClass", "js_doc": "", "def": " setName(name: string): void"}
|
|
50
|
-
{"kind": "struct", "name": "CustomFinalize", "js_doc": "", "def": "", "original_name": "CustomFinalize"}
|
|
51
|
-
{"kind": "impl", "name": "CustomFinalize", "js_doc": "", "def": " constructor(width: number, height: number)"}
|
|
52
|
-
{"kind": "struct", "name": "Width", "js_doc": "", "def": "value: number\nconstructor(value: number)", "original_name": "Width"}
|
|
53
|
-
{"kind": "fn", "name": "plusOne", "js_doc": "", "def": "function plusOne(this: Width): number"}
|
|
54
|
-
{"kind": "struct", "name": "ClassWithFactory", "js_doc": "", "def": "name: string", "original_name": "ClassWithFactory"}
|
|
55
|
-
{"kind": "impl", "name": "ClassWithFactory", "js_doc": "", "def": "static withName(name: string): ClassWithFactory\n setName(name: string): this"}
|
|
56
|
-
{"kind": "fn", "name": "dateToNumber", "js_doc": "", "def": "function dateToNumber(input: Date): number"}
|
|
57
|
-
{"kind": "fn", "name": "chronoDateToMillis", "js_doc": "", "def": "function chronoDateToMillis(input: Date): number"}
|
|
58
|
-
{"kind": "fn", "name": "chronoDateAdd1Minute", "js_doc": "", "def": "function chronoDateAdd1Minute(input: Date): Date"}
|
|
59
|
-
{"kind": "interface", "name": "Dates", "js_doc": "", "def": "start: Date\nend?: Date", "original_name": "Dates"}
|
|
60
|
-
{"kind": "fn", "name": "eitherStringOrNumber", "js_doc": "", "def": "function eitherStringOrNumber(input: string | number): number"}
|
|
61
|
-
{"kind": "fn", "name": "returnEither", "js_doc": "", "def": "function returnEither(input: number): string | number"}
|
|
62
|
-
{"kind": "fn", "name": "either3", "js_doc": "", "def": "function either3(input: string | number | boolean): number"}
|
|
63
|
-
{"kind": "interface", "name": "Obj", "js_doc": "", "def": "v: string | number", "original_name": "Obj"}
|
|
64
|
-
{"kind": "fn", "name": "either4", "js_doc": "", "def": "function either4(input: string | number | boolean | Obj): number"}
|
|
65
|
-
{"kind": "struct", "name": "JsClassForEither", "js_doc": "", "def": "", "original_name": "JsClassForEither"}
|
|
66
|
-
{"kind": "impl", "name": "JsClassForEither", "js_doc": "", "def": " constructor()"}
|
|
67
|
-
{"kind": "struct", "name": "AnotherClassForEither", "js_doc": "", "def": "", "original_name": "AnotherClassForEither"}
|
|
68
|
-
{"kind": "impl", "name": "AnotherClassForEither", "js_doc": "", "def": " constructor()"}
|
|
69
|
-
{"kind": "fn", "name": "receiveClassOrNumber", "js_doc": "", "def": "function receiveClassOrNumber(either: number | JsClassForEither): number"}
|
|
70
|
-
{"kind": "fn", "name": "receiveMutClassOrNumber", "js_doc": "", "def": "function receiveMutClassOrNumber(either: number | JsClassForEither): number"}
|
|
71
|
-
{"kind": "fn", "name": "receiveDifferentClass", "js_doc": "", "def": "function receiveDifferentClass(either: JsClassForEither | AnotherClassForEither): number"}
|
|
72
|
-
{"kind": "fn", "name": "returnEitherClass", "js_doc": "", "def": "function returnEitherClass(input: number): number | JsClassForEither"}
|
|
73
|
-
{"kind": "fn", "name": "eitherFromOption", "js_doc": "", "def": "function eitherFromOption(): JsClassForEither | undefined"}
|
|
74
|
-
{"kind": "interface", "name": "A", "js_doc": "", "def": "foo: number", "original_name": "A"}
|
|
75
|
-
{"kind": "interface", "name": "B", "js_doc": "", "def": "bar: number", "original_name": "B"}
|
|
76
|
-
{"kind": "interface", "name": "C", "js_doc": "", "def": "baz: number", "original_name": "C"}
|
|
77
|
-
{"kind": "fn", "name": "eitherFromObjects", "js_doc": "", "def": "function eitherFromObjects(input: A | B | C): string"}
|
|
78
|
-
{"kind": "fn", "name": "eitherBoolOrFunction", "js_doc": "", "def": "function eitherBoolOrFunction(input: boolean | ((...args: any[]) => any)): void"}
|
|
79
|
-
{"kind": "fn", "name": "promiseInEither", "js_doc": "", "def": "function promiseInEither(input: number | Promise<number>): Promise<boolean>"}
|
|
80
|
-
{"kind": "enum", "name": "Kind", "js_doc": "/** default enum values are continuos i32s start from 0 */\n", "def": "/** Barks */\nDog = 0,\n /** Kills birds */\nCat = 1,\n /** Tasty */\nDuck = 2", "original_name": "Kind"}
|
|
81
|
-
{"kind": "enum", "name": "Empty", "js_doc": "", "def": "", "original_name": "Empty"}
|
|
82
|
-
{"kind": "enum", "name": "CustomNumEnum", "js_doc": "/** You could break the step and for an new continuous value. */\n", "def": "One = 1,\n Two = 2,\n Three = 3,\n Four = 4,\n Six = 6,\n Eight = 8,\n Nine = 9,\n Ten = 10", "original_name": "CustomNumEnum"}
|
|
83
|
-
{"kind": "fn", "name": "enumToI32", "js_doc": "", "def": "function enumToI32(e: CustomNumEnum): number"}
|
|
84
|
-
{"kind": "fn", "name": "throwError", "js_doc": "", "def": "function throwError(): void"}
|
|
85
|
-
{"kind": "fn", "name": "panic", "js_doc": "", "def": "function panic(): void"}
|
|
86
|
-
{"kind": "fn", "name": "receiveString", "js_doc": "", "def": "function receiveString(s: string): string"}
|
|
87
|
-
{"kind": "fn", "name": "customStatusCode", "js_doc": "", "def": "function customStatusCode(): void"}
|
|
88
|
-
{"kind": "fn", "name": "createExternal", "js_doc": "", "def": "function createExternal(size: number): ExternalObject<number>"}
|
|
89
|
-
{"kind": "fn", "name": "createExternalString", "js_doc": "", "def": "function createExternalString(content: string): ExternalObject<string>"}
|
|
90
|
-
{"kind": "fn", "name": "getExternal", "js_doc": "", "def": "function getExternal(external: ExternalObject<number>): number"}
|
|
91
|
-
{"kind": "fn", "name": "mutateExternal", "js_doc": "", "def": "function mutateExternal(external: ExternalObject<number>, newVal: number): void"}
|
|
92
|
-
{"kind": "fn", "name": "validateArray", "js_doc": "", "def": "function validateArray(arr: Array<number>): number"}
|
|
93
|
-
{"kind": "fn", "name": "validateBuffer", "js_doc": "", "def": "function validateBuffer(b: Buffer): number"}
|
|
94
|
-
{"kind": "fn", "name": "validateTypedArray", "js_doc": "", "def": "function validateTypedArray(input: Uint8Array): number"}
|
|
95
|
-
{"kind": "fn", "name": "validateBigint", "js_doc": "", "def": "function validateBigint(input: bigint): bigint"}
|
|
96
|
-
{"kind": "fn", "name": "validateBoolean", "js_doc": "", "def": "function validateBoolean(i: boolean): boolean"}
|
|
97
|
-
{"kind": "fn", "name": "validateDate", "js_doc": "", "def": "function validateDate(d: Date): number"}
|
|
98
|
-
{"kind": "fn", "name": "validateDateTime", "js_doc": "", "def": "function validateDateTime(d: Date): number"}
|
|
99
|
-
{"kind": "fn", "name": "validateExternal", "js_doc": "", "def": "function validateExternal(e: ExternalObject<number>): number"}
|
|
100
|
-
{"kind": "fn", "name": "validateFunction", "js_doc": "", "def": "function validateFunction(cb: () => number): number"}
|
|
101
|
-
{"kind": "fn", "name": "validateHashMap", "js_doc": "", "def": "function validateHashMap(input: Record<string, number>): number"}
|
|
102
|
-
{"kind": "fn", "name": "validateNull", "js_doc": "", "def": "function validateNull(i: null): boolean"}
|
|
103
|
-
{"kind": "fn", "name": "validateUndefined", "js_doc": "", "def": "function validateUndefined(i: undefined): boolean"}
|
|
104
|
-
{"kind": "fn", "name": "validateNumber", "js_doc": "", "def": "function validateNumber(i: number): number"}
|
|
105
|
-
{"kind": "fn", "name": "validatePromise", "js_doc": "", "def": "function validatePromise(p: Promise<number>): Promise<number>"}
|
|
106
|
-
{"kind": "fn", "name": "validateString", "js_doc": "", "def": "function validateString(s: string): string"}
|
|
107
|
-
{"kind": "fn", "name": "validateSymbol", "js_doc": "", "def": "function validateSymbol(s: symbol): boolean"}
|
|
108
|
-
{"kind": "fn", "name": "validateOptional", "js_doc": "", "def": "function validateOptional(input1?: string | undefined | null, input2?: boolean | undefined | null): boolean"}
|
|
109
|
-
{"kind": "fn", "name": "returnUndefinedIfInvalid", "js_doc": "", "def": "function returnUndefinedIfInvalid(input: boolean): boolean"}
|
|
110
|
-
{"kind": "fn", "name": "returnUndefinedIfInvalidPromise", "js_doc": "", "def": "function returnUndefinedIfInvalidPromise(input: Promise<boolean>): Promise<boolean>"}
|
|
111
|
-
{"kind": "fn", "name": "tsRename", "js_doc": "", "def": "function tsRename(a: { foo: number }): string[]"}
|
|
112
|
-
{"kind": "fn", "name": "overrideIndividualArgOnFunction", "js_doc": "", "def": "function overrideIndividualArgOnFunction(notOverridden: string, f: () => string, notOverridden2: number): string"}
|
|
113
|
-
{"kind": "fn", "name": "overrideIndividualArgOnFunctionWithCbArg", "js_doc": "", "def": "function overrideIndividualArgOnFunctionWithCbArg(callback: (town: string, name?: string | undefined | null) => string, notOverridden: number): object"}
|
|
114
|
-
{"kind": "struct", "name": "Fib", "js_doc": "", "def": "", "original_name": "Fib"}
|
|
115
|
-
{"kind": "impl", "name": "Fib", "js_doc": "", "def": "[Symbol.iterator](): Iterator<number, void, number>"}
|
|
116
|
-
{"kind": "impl", "name": "Fib", "js_doc": "", "def": " constructor()"}
|
|
117
|
-
{"kind": "struct", "name": "Fib2", "js_doc": "", "def": "", "original_name": "Fib2"}
|
|
118
|
-
{"kind": "impl", "name": "Fib2", "js_doc": "", "def": "[Symbol.iterator](): Iterator<number, void, number>"}
|
|
119
|
-
{"kind": "impl", "name": "Fib2", "js_doc": "", "def": "static create(seed: number): Fib2"}
|
|
120
|
-
{"kind": "struct", "name": "Fib3", "js_doc": "", "def": "current: number\nnext: number\nconstructor(current: number, next: number)", "original_name": "Fib3"}
|
|
121
|
-
{"kind": "impl", "name": "Fib3", "js_doc": "", "def": "[Symbol.iterator](): Iterator<number, void, number>"}
|
|
122
|
-
{"kind": "const", "name": "ALIGNMENT", "js_doc": "", "def": "export const ALIGNMENT: number", "original_name": "ALIGNMENT", "js_mod": "xxh3"}
|
|
123
|
-
{"kind": "fn", "name": "xxh3_64", "js_doc": "", "def": "function xxh3_64(input: Buffer): bigint", "js_mod": "xxh3"}
|
|
124
|
-
{"kind": "fn", "name": "xxh128", "js_doc": "/** xxh128 function */\n", "def": "function xxh128(input: Buffer): bigint", "js_mod": "xxh3"}
|
|
125
|
-
{"kind": "struct", "name": "Xxh3", "js_doc": "/** Xxh3 class */\n", "def": "", "original_name": "Xxh3", "js_mod": "xxh3"}
|
|
126
|
-
{"kind": "impl", "name": "Xxh3", "js_doc": "", "def": " constructor()\n/** update */\n update(input: Buffer): void\n digest(): bigint", "js_mod": "xxh3"}
|
|
127
|
-
{"kind": "fn", "name": "xxh2Plus", "js_doc": "", "def": "function xxh2Plus(a: number, b: number): number", "js_mod": "xxh2"}
|
|
128
|
-
{"kind": "fn", "name": "xxh3Xxh64Alias", "js_doc": "", "def": "function xxh3Xxh64Alias(input: Buffer): bigint", "js_mod": "xxh2"}
|
|
129
|
-
{"kind": "fn", "name": "xxh64Alias", "js_doc": "", "def": "function xxh64Alias(input: Buffer): bigint"}
|
|
130
|
-
{"kind": "fn", "name": "getMapping", "js_doc": "", "def": "function getMapping(): Record<string, number>"}
|
|
131
|
-
{"kind": "fn", "name": "sumMapping", "js_doc": "", "def": "function sumMapping(nums: Record<string, number>): number"}
|
|
132
|
-
{"kind": "fn", "name": "mapOption", "js_doc": "", "def": "function mapOption(val?: number | undefined | null): number | null"}
|
|
133
|
-
{"kind": "fn", "name": "returnNull", "js_doc": "", "def": "function returnNull(): null"}
|
|
134
|
-
{"kind": "fn", "name": "returnUndefined", "js_doc": "", "def": "function returnUndefined(): void"}
|
|
135
|
-
{"kind": "fn", "name": "add", "js_doc": "", "def": "function add(a: number, b: number): number"}
|
|
136
|
-
{"kind": "fn", "name": "fibonacci", "js_doc": "", "def": "function fibonacci(n: number): number"}
|
|
137
|
-
{"kind": "fn", "name": "listObjKeys", "js_doc": "", "def": "function listObjKeys(obj: object): Array<string>"}
|
|
138
|
-
{"kind": "fn", "name": "createObj", "js_doc": "", "def": "function createObj(): object"}
|
|
139
|
-
{"kind": "fn", "name": "getGlobal", "js_doc": "", "def": "function getGlobal(): typeof global"}
|
|
140
|
-
{"kind": "fn", "name": "getUndefined", "js_doc": "", "def": "function getUndefined(): void"}
|
|
141
|
-
{"kind": "fn", "name": "getNull", "js_doc": "", "def": "function getNull(): null"}
|
|
142
|
-
{"kind": "interface", "name": "AllOptionalObject", "js_doc": "", "def": "name?: string\nage?: number", "original_name": "AllOptionalObject"}
|
|
143
|
-
{"kind": "fn", "name": "receiveAllOptionalObject", "js_doc": "", "def": "function receiveAllOptionalObject(obj?: AllOptionalObject | undefined | null): void"}
|
|
144
|
-
{"kind": "enum", "name": "ALIAS", "js_doc": "", "def": "A = 0,\n B = 1", "original_name": "AliasedEnum"}
|
|
145
|
-
{"kind": "interface", "name": "AliasedStruct", "js_doc": "", "def": "a: ALIAS\nb: number", "original_name": "StructContainsAliasedEnum"}
|
|
146
|
-
{"kind": "fn", "name": "fnReceivedAliased", "js_doc": "", "def": "function fnReceivedAliased(s: AliasedStruct, e: ALIAS): void"}
|
|
147
|
-
{"kind": "interface", "name": "StrictObject", "js_doc": "", "def": "name: string", "original_name": "StrictObject"}
|
|
148
|
-
{"kind": "fn", "name": "receiveStrictObject", "js_doc": "", "def": "function receiveStrictObject(strictObject: StrictObject): void"}
|
|
149
|
-
{"kind": "fn", "name": "getStrFromObject", "js_doc": "", "def": "function getStrFromObject(): void"}
|
|
150
|
-
{"kind": "interface", "name": "TsTypeChanged", "js_doc": "", "def": "typeOverride: object\ntypeOverrideOptional?: object", "original_name": "TsTypeChanged"}
|
|
151
|
-
{"kind": "fn", "name": "createObjWithProperty", "js_doc": "", "def": "function createObjWithProperty(): { value: ArrayBuffer, get getter(): number }"}
|
|
152
|
-
{"kind": "fn", "name": "getterFromObj", "js_doc": "", "def": "function getterFromObj(): number"}
|
|
153
|
-
{"kind": "interface", "name": "ObjectOnlyFromJs", "js_doc": "", "def": "count: number\ncallback: (err: Error | null, value: number) => any", "original_name": "ObjectOnlyFromJs"}
|
|
154
|
-
{"kind": "fn", "name": "receiveObjectOnlyFromJs", "js_doc": "", "def": "function receiveObjectOnlyFromJs(obj: { count: number, callback: (err: Error | null, count: number) => void }): void"}
|
|
155
|
-
{"kind": "fn", "name": "asyncPlus100", "js_doc": "", "def": "function asyncPlus100(p: Promise<number>): Promise<number>"}
|
|
156
|
-
{"kind": "struct", "name": "JsRepo", "js_doc": "", "def": "", "original_name": "JsRepo"}
|
|
157
|
-
{"kind": "impl", "name": "JsRepo", "js_doc": "", "def": " constructor(dir: string)\n remote(): JsRemote"}
|
|
158
|
-
{"kind": "struct", "name": "JsRemote", "js_doc": "", "def": "", "original_name": "JsRemote"}
|
|
159
|
-
{"kind": "impl", "name": "JsRemote", "js_doc": "", "def": " name(): string"}
|
|
160
|
-
{"kind": "struct", "name": "CssRuleList", "js_doc": "", "def": "", "original_name": "CSSRuleList"}
|
|
161
|
-
{"kind": "impl", "name": "CssRuleList", "js_doc": "", "def": " getRules(): Array<string>\nget parentStyleSheet(): CSSStyleSheet\nget name(): string | null"}
|
|
162
|
-
{"kind": "struct", "name": "CssStyleSheet", "js_doc": "", "def": "", "original_name": "CSSStyleSheet"}
|
|
163
|
-
{"kind": "struct", "name": "AnotherCssStyleSheet", "js_doc": "", "def": "", "original_name": "AnotherCSSStyleSheet"}
|
|
164
|
-
{"kind": "impl", "name": "AnotherCssStyleSheet", "js_doc": "", "def": "get rules(): CssRuleList"}
|
|
165
|
-
{"kind": "impl", "name": "CssStyleSheet", "js_doc": "", "def": " constructor(name: string, rules: Array<string>)\nget rules(): CssRuleList\n anotherCssStyleSheet(): AnotherCssStyleSheet"}
|
|
166
|
-
{"kind": "interface", "name": "PackageJson", "js_doc": "/** This is an interface for package.json */\n", "def": "name: string\n/** The version of the package */\nversion: string\ndependencies?: Record<string, any>\ndevDependencies?: Record<string, any>", "original_name": "PackageJson"}
|
|
167
|
-
{"kind": "fn", "name": "readPackageJson", "js_doc": "", "def": "function readPackageJson(): PackageJson"}
|
|
168
|
-
{"kind": "fn", "name": "getPackageJsonName", "js_doc": "", "def": "function getPackageJsonName(packageJson: PackageJson): string"}
|
|
169
|
-
{"kind": "fn", "name": "testSerdeRoundtrip", "js_doc": "", "def": "function testSerdeRoundtrip(data: any): any"}
|
|
170
|
-
{"kind": "fn", "name": "contains", "js_doc": "", "def": "function contains(source: string, target: string): boolean"}
|
|
171
|
-
{"kind": "fn", "name": "concatStr", "js_doc": "", "def": "function concatStr(s: string): string"}
|
|
172
|
-
{"kind": "fn", "name": "concatUtf16", "js_doc": "", "def": "function concatUtf16(s: string): string"}
|
|
173
|
-
{"kind": "fn", "name": "concatLatin1", "js_doc": "", "def": "function concatLatin1(s: string): string"}
|
|
174
|
-
{"kind": "fn", "name": "roundtripStr", "js_doc": "", "def": "function roundtripStr(s: string): string"}
|
|
175
|
-
{"kind": "fn", "name": "setSymbolInObj", "js_doc": "", "def": "function setSymbolInObj(symbol: symbol): object"}
|
|
176
|
-
{"kind": "fn", "name": "createSymbol", "js_doc": "", "def": "function createSymbol(): symbol"}
|
|
177
|
-
{"kind": "impl", "name": "DelaySum", "js_doc": "", "def": ""}
|
|
178
|
-
{"kind": "fn", "name": "withoutAbortController", "js_doc": "", "def": "function withoutAbortController(a: number, b: number): Promise<number>"}
|
|
179
|
-
{"kind": "fn", "name": "withAbortController", "js_doc": "", "def": "function withAbortController(a: number, b: number, signal: AbortSignal): Promise<number>"}
|
|
180
|
-
{"kind": "fn", "name": "callThreadsafeFunction", "js_doc": "", "def": "function callThreadsafeFunction(callback: (...args: any[]) => any): void"}
|
|
181
|
-
{"kind": "fn", "name": "threadsafeFunctionThrowError", "js_doc": "", "def": "function threadsafeFunctionThrowError(cb: (...args: any[]) => any): void"}
|
|
182
|
-
{"kind": "fn", "name": "threadsafeFunctionFatalMode", "js_doc": "", "def": "function threadsafeFunctionFatalMode(cb: (...args: any[]) => any): void"}
|
|
183
|
-
{"kind": "fn", "name": "threadsafeFunctionFatalModeError", "js_doc": "", "def": "function threadsafeFunctionFatalModeError(cb: (...args: any[]) => any): void"}
|
|
184
|
-
{"kind": "fn", "name": "threadsafeFunctionClosureCapture", "js_doc": "", "def": "function threadsafeFunctionClosureCapture(func: (...args: any[]) => any): void"}
|
|
185
|
-
{"kind": "fn", "name": "tsfnCallWithCallback", "js_doc": "", "def": "function tsfnCallWithCallback(func: (...args: any[]) => any): void"}
|
|
186
|
-
{"kind": "fn", "name": "tsfnAsyncCall", "js_doc": "", "def": "function tsfnAsyncCall(func: (...args: any[]) => any): Promise<void>"}
|
|
187
|
-
{"kind": "fn", "name": "acceptThreadsafeFunction", "js_doc": "", "def": "function acceptThreadsafeFunction(func: (err: Error | null, value: number) => any): void"}
|
|
188
|
-
{"kind": "fn", "name": "acceptThreadsafeFunctionFatal", "js_doc": "", "def": "function acceptThreadsafeFunctionFatal(func: (value: number) => any): void"}
|
|
189
|
-
{"kind": "fn", "name": "acceptThreadsafeFunctionTupleArgs", "js_doc": "", "def": "function acceptThreadsafeFunctionTupleArgs(func: (err: Error | null, arg0: number, arg1: boolean, arg2: string) => any): void"}
|
|
190
|
-
{"kind": "fn", "name": "getBuffer", "js_doc": "", "def": "function getBuffer(): Buffer"}
|
|
191
|
-
{"kind": "fn", "name": "appendBuffer", "js_doc": "", "def": "function appendBuffer(buf: Buffer): Buffer"}
|
|
192
|
-
{"kind": "fn", "name": "getEmptyBuffer", "js_doc": "", "def": "function getEmptyBuffer(): Buffer"}
|
|
193
|
-
{"kind": "fn", "name": "convertU32Array", "js_doc": "", "def": "function convertU32Array(input: Uint32Array): Array<number>"}
|
|
194
|
-
{"kind": "fn", "name": "createExternalTypedArray", "js_doc": "", "def": "function createExternalTypedArray(): Uint32Array"}
|
|
195
|
-
{"kind": "fn", "name": "mutateTypedArray", "js_doc": "", "def": "function mutateTypedArray(input: Float32Array): void"}
|
|
196
|
-
{"kind": "fn", "name": "derefUint8Array", "js_doc": "", "def": "function derefUint8Array(a: Uint8Array, b: Uint8ClampedArray): number"}
|
|
197
|
-
{"kind": "fn", "name": "bufferPassThrough", "js_doc": "", "def": "function bufferPassThrough(buf: Buffer): Promise<Buffer>"}
|
|
198
|
-
{"kind": "fn", "name": "arrayBufferPassThrough", "js_doc": "", "def": "function arrayBufferPassThrough(buf: Uint8Array): Promise<Uint8Array>"}
|
|
199
|
-
{"kind": "impl", "name": "AsyncBuffer", "js_doc": "", "def": ""}
|
|
200
|
-
{"kind": "fn", "name": "asyncReduceBuffer", "js_doc": "", "def": "function asyncReduceBuffer(buf: Buffer): Promise<number>"}
|
|
201
|
-
{"kind": "fn", "name": "runScript", "js_doc": "", "def": "function runScript(script: string): unknown"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# Snapshot report for `src/utils/__tests__/config.spec.ts`
|
|
2
|
-
|
|
3
|
-
The actual snapshot is saved in `config.spec.ts.snap`.
|
|
4
|
-
|
|
5
|
-
Generated by [AVA](https://avajs.dev).
|
|
6
|
-
|
|
7
|
-
## should be able to read config from package.json
|
|
8
|
-
|
|
9
|
-
> Snapshot 1
|
|
10
|
-
|
|
11
|
-
{
|
|
12
|
-
binaryName: 'testing',
|
|
13
|
-
npmClient: 'npm',
|
|
14
|
-
packageJson: {
|
|
15
|
-
name: '@napi-rs/testing',
|
|
16
|
-
napi: {
|
|
17
|
-
binaryName: 'testing',
|
|
18
|
-
packageName: '@napi-rs/testing',
|
|
19
|
-
targets: [
|
|
20
|
-
'x86_64-unknown-linux-gnu',
|
|
21
|
-
'x86_64-pc-windows-msvc',
|
|
22
|
-
'x86_64-apple-darwin',
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
|
-
version: '0.0.0',
|
|
26
|
-
},
|
|
27
|
-
packageName: '@napi-rs/testing',
|
|
28
|
-
targets: [
|
|
29
|
-
{
|
|
30
|
-
abi: 'gnu',
|
|
31
|
-
arch: 'x64',
|
|
32
|
-
platform: 'linux',
|
|
33
|
-
platformArchABI: 'linux-x64-gnu',
|
|
34
|
-
triple: 'x86_64-unknown-linux-gnu',
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
abi: 'msvc',
|
|
38
|
-
arch: 'x64',
|
|
39
|
-
platform: 'win32',
|
|
40
|
-
platformArchABI: 'win32-x64-msvc',
|
|
41
|
-
triple: 'x86_64-pc-windows-msvc',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
abi: null,
|
|
45
|
-
arch: 'x64',
|
|
46
|
-
platform: 'darwin',
|
|
47
|
-
platformArchABI: 'darwin-x64',
|
|
48
|
-
triple: 'x86_64-apple-darwin',
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
## should be able to read config from napi.json
|
|
54
|
-
|
|
55
|
-
> Snapshot 1
|
|
56
|
-
|
|
57
|
-
{
|
|
58
|
-
binaryName: 'testing',
|
|
59
|
-
npmClient: 'npm',
|
|
60
|
-
packageJson: {
|
|
61
|
-
name: '@napi-rs/testing',
|
|
62
|
-
napi: {
|
|
63
|
-
binaryName: 'testing',
|
|
64
|
-
packageName: '@node-rs/testing',
|
|
65
|
-
targets: [
|
|
66
|
-
'x86_64-unknown-linux-gnu',
|
|
67
|
-
'x86_64-apple-darwin',
|
|
68
|
-
'aarch64-apple-darwin',
|
|
69
|
-
],
|
|
70
|
-
},
|
|
71
|
-
version: '0.0.0',
|
|
72
|
-
},
|
|
73
|
-
packageName: '@node-rs/testing',
|
|
74
|
-
targets: [
|
|
75
|
-
{
|
|
76
|
-
abi: 'gnu',
|
|
77
|
-
arch: 'x64',
|
|
78
|
-
platform: 'linux',
|
|
79
|
-
platformArchABI: 'linux-x64-gnu',
|
|
80
|
-
triple: 'x86_64-unknown-linux-gnu',
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
abi: null,
|
|
84
|
-
arch: 'x64',
|
|
85
|
-
platform: 'darwin',
|
|
86
|
-
platformArchABI: 'darwin-x64',
|
|
87
|
-
triple: 'x86_64-apple-darwin',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
abi: null,
|
|
91
|
-
arch: 'arm64',
|
|
92
|
-
platform: 'darwin',
|
|
93
|
-
platformArchABI: 'darwin-arm64',
|
|
94
|
-
triple: 'aarch64-apple-darwin',
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
}
|
|
Binary file
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
# Snapshot report for `src/utils/__tests__/target.spec.ts`
|
|
2
|
-
|
|
3
|
-
The actual snapshot is saved in `target.spec.ts.snap`.
|
|
4
|
-
|
|
5
|
-
Generated by [AVA](https://avajs.dev).
|
|
6
|
-
|
|
7
|
-
## should parse triple correctly
|
|
8
|
-
|
|
9
|
-
> Snapshot 1
|
|
10
|
-
|
|
11
|
-
[
|
|
12
|
-
{
|
|
13
|
-
abi: null,
|
|
14
|
-
arch: 'arm64',
|
|
15
|
-
platform: 'darwin',
|
|
16
|
-
platformArchABI: 'darwin-arm64',
|
|
17
|
-
triple: 'aarch64-apple-darwin',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
abi: null,
|
|
21
|
-
arch: 'arm64',
|
|
22
|
-
platform: 'android',
|
|
23
|
-
platformArchABI: 'android-arm64',
|
|
24
|
-
triple: 'aarch64-linux-android',
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
abi: 'gnu',
|
|
28
|
-
arch: 'arm64',
|
|
29
|
-
platform: 'linux',
|
|
30
|
-
platformArchABI: 'linux-arm64-gnu',
|
|
31
|
-
triple: 'aarch64-unknown-linux-gnu',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
abi: 'musl',
|
|
35
|
-
arch: 'arm64',
|
|
36
|
-
platform: 'linux',
|
|
37
|
-
platformArchABI: 'linux-arm64-musl',
|
|
38
|
-
triple: 'aarch64-unknown-linux-musl',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
abi: null,
|
|
42
|
-
arch: 'arm64',
|
|
43
|
-
platform: 'openharmony',
|
|
44
|
-
platformArchABI: 'openharmony-arm64',
|
|
45
|
-
triple: 'aarch64-unknown-linux-ohos',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
abi: 'msvc',
|
|
49
|
-
arch: 'arm64',
|
|
50
|
-
platform: 'win32',
|
|
51
|
-
platformArchABI: 'win32-arm64-msvc',
|
|
52
|
-
triple: 'aarch64-pc-windows-msvc',
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
abi: null,
|
|
56
|
-
arch: 'x64',
|
|
57
|
-
platform: 'darwin',
|
|
58
|
-
platformArchABI: 'darwin-x64',
|
|
59
|
-
triple: 'x86_64-apple-darwin',
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
abi: 'msvc',
|
|
63
|
-
arch: 'x64',
|
|
64
|
-
platform: 'win32',
|
|
65
|
-
platformArchABI: 'win32-x64-msvc',
|
|
66
|
-
triple: 'x86_64-pc-windows-msvc',
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
abi: 'gnu',
|
|
70
|
-
arch: 'x64',
|
|
71
|
-
platform: 'linux',
|
|
72
|
-
platformArchABI: 'linux-x64-gnu',
|
|
73
|
-
triple: 'x86_64-unknown-linux-gnu',
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
abi: 'musl',
|
|
77
|
-
arch: 'x64',
|
|
78
|
-
platform: 'linux',
|
|
79
|
-
platformArchABI: 'linux-x64-musl',
|
|
80
|
-
triple: 'x86_64-unknown-linux-musl',
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
abi: null,
|
|
84
|
-
arch: 'x64',
|
|
85
|
-
platform: 'openharmony',
|
|
86
|
-
platformArchABI: 'openharmony-x64',
|
|
87
|
-
triple: 'x86_64-unknown-linux-ohos',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
abi: null,
|
|
91
|
-
arch: 'x64',
|
|
92
|
-
platform: 'freebsd',
|
|
93
|
-
platformArchABI: 'freebsd-x64',
|
|
94
|
-
triple: 'x86_64-unknown-freebsd',
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
abi: 'msvc',
|
|
98
|
-
arch: 'ia32',
|
|
99
|
-
platform: 'win32',
|
|
100
|
-
platformArchABI: 'win32-ia32-msvc',
|
|
101
|
-
triple: 'i686-pc-windows-msvc',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
abi: 'gnueabihf',
|
|
105
|
-
arch: 'arm',
|
|
106
|
-
platform: 'linux',
|
|
107
|
-
platformArchABI: 'linux-arm-gnueabihf',
|
|
108
|
-
triple: 'armv7-unknown-linux-gnueabihf',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
abi: 'musleabihf',
|
|
112
|
-
arch: 'arm',
|
|
113
|
-
platform: 'linux',
|
|
114
|
-
platformArchABI: 'linux-arm-musleabihf',
|
|
115
|
-
triple: 'armv7-unknown-linux-musleabihf',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
abi: 'eabi',
|
|
119
|
-
arch: 'arm',
|
|
120
|
-
platform: 'android',
|
|
121
|
-
platformArchABI: 'android-arm-eabi',
|
|
122
|
-
triple: 'armv7-linux-androideabi',
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
abi: null,
|
|
126
|
-
arch: 'universal',
|
|
127
|
-
platform: 'darwin',
|
|
128
|
-
platformArchABI: 'darwin-universal',
|
|
129
|
-
triple: 'universal-apple-darwin',
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
abi: 'gnu',
|
|
133
|
-
arch: 'loong64',
|
|
134
|
-
platform: 'linux',
|
|
135
|
-
platformArchABI: 'linux-loong64-gnu',
|
|
136
|
-
triple: 'loongarch64-unknown-linux-gnu',
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
abi: 'gnu',
|
|
140
|
-
arch: 'riscv64',
|
|
141
|
-
platform: 'linux',
|
|
142
|
-
platformArchABI: 'linux-riscv64-gnu',
|
|
143
|
-
triple: 'riscv64gc-unknown-linux-gnu',
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
abi: 'gnu',
|
|
147
|
-
arch: 'ppc64',
|
|
148
|
-
platform: 'linux',
|
|
149
|
-
platformArchABI: 'linux-ppc64-gnu',
|
|
150
|
-
triple: 'powerpc64le-unknown-linux-gnu',
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
abi: 'gnu',
|
|
154
|
-
arch: 's390x',
|
|
155
|
-
platform: 'linux',
|
|
156
|
-
platformArchABI: 'linux-s390x-gnu',
|
|
157
|
-
triple: 's390x-unknown-linux-gnu',
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
abi: 'wasi',
|
|
161
|
-
arch: 'wasm32',
|
|
162
|
-
platform: 'wasi',
|
|
163
|
-
platformArchABI: 'wasm32-wasi',
|
|
164
|
-
triple: 'wasm32-wasi-preview1-threads',
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
abi: 'wasi',
|
|
168
|
-
arch: 'wasm32',
|
|
169
|
-
platform: 'wasi',
|
|
170
|
-
platformArchABI: 'wasm32-wasi',
|
|
171
|
-
triple: 'wasm32-wasip1-threads',
|
|
172
|
-
},
|
|
173
|
-
]
|
|
Binary file
|