43415251b8
As of before this commit, there was a lock in the codegen preventing Reference from being used as a function argument outside of a Reference<Self>. This changes it, allowing Reference of any class to be added as a class method argument anywhere. It has the same limitations as reference, as in it requires the class to have been created with a factory or constructor. This change implements FromNapiValue on Reference, which will unwrap the class and call the existing from_value_ptr method. It also updated typegen so that we only emit the reference type if we're in an impl block that doesn't match the Reference we're getting. This ensures that typegen works as expected with the previous behaviour.
670 lines
18 KiB
TypeScript
670 lines
18 KiB
TypeScript
/* auto-generated by NAPI-RS */
|
|
/* eslint-disable */
|
|
|
|
|
|
export class ExternalObject<T> {
|
|
readonly '': {
|
|
readonly '': unique symbol
|
|
[K: symbol]: T
|
|
}
|
|
}
|
|
/**
|
|
* `constructor` option for `struct` requires all fields to be public,
|
|
* otherwise tag impl fn as constructor
|
|
* #[napi(constructor)]
|
|
*/
|
|
export class Animal {
|
|
/** Kind of animal */
|
|
readonly kind: Kind
|
|
/** This is the constructor */
|
|
constructor(kind: Kind, name: string)
|
|
/** This is a factory method */
|
|
static withKind(kind: Kind): Animal
|
|
get name(): string
|
|
set name(name: string)
|
|
get type(): Kind
|
|
set type(kind: Kind)
|
|
/**
|
|
* This is a
|
|
* multi-line comment
|
|
* with an emoji 🚀
|
|
*/
|
|
whoami(): string
|
|
/** This is static... */
|
|
static getDogKind(): Kind
|
|
/**
|
|
* Here are some characters and character sequences
|
|
* that should be escaped correctly:
|
|
* \[]{}/\:""{
|
|
* }
|
|
*/
|
|
returnOtherClass(): Dog
|
|
returnOtherClassWithCustomConstructor(): Bird
|
|
overrideIndividualArgOnMethod(normalTy: string, overriddenTy: {n: string}): Bird
|
|
}
|
|
|
|
export class AnimalWithDefaultConstructor {
|
|
name: string
|
|
kind: number
|
|
constructor(name: string, kind: number)
|
|
}
|
|
|
|
export class AnotherClassForEither {
|
|
constructor()
|
|
}
|
|
|
|
export class AnotherCssStyleSheet {
|
|
get rules(): CssRuleList
|
|
}
|
|
export type AnotherCSSStyleSheet = AnotherCssStyleSheet
|
|
|
|
export class Asset {
|
|
constructor()
|
|
get filePath(): number
|
|
}
|
|
export type JsAsset = Asset
|
|
|
|
export class Assets {
|
|
constructor()
|
|
get(id: number): JsAsset | null
|
|
}
|
|
export type JsAssets = Assets
|
|
|
|
export class Bird {
|
|
name: string
|
|
constructor(name: string)
|
|
getCount(): number
|
|
getNameAsync(): Promise<string>
|
|
acceptSliceMethod(slice: any): number
|
|
}
|
|
|
|
/** Smoking test for type generation */
|
|
export class Blake2BHasher {
|
|
static withKey(key: Blake2bKey): Blake2BHasher
|
|
update(data: Buffer): void
|
|
}
|
|
export type Blake2bHasher = Blake2BHasher
|
|
|
|
export class Blake2BKey {
|
|
|
|
}
|
|
export type Blake2bKey = Blake2BKey
|
|
|
|
export class CatchOnConstructor {
|
|
constructor()
|
|
}
|
|
|
|
export class CatchOnConstructor2 {
|
|
constructor()
|
|
}
|
|
|
|
export class ClassWithFactory {
|
|
name: string
|
|
static withName(name: string): ClassWithFactory
|
|
static with4Name(name: string): Promise<ClassWithFactory>
|
|
static with4NameResult(name: string): Promise<ClassWithFactory>
|
|
setName(name: string): this
|
|
}
|
|
|
|
export class Context {
|
|
maybeNeed?: boolean
|
|
buffer: Uint8Array
|
|
constructor()
|
|
static withData(data: string): Context
|
|
static withBuffer(buf: Uint8Array): Context
|
|
method(): string
|
|
}
|
|
|
|
export class CssRuleList {
|
|
getRules(): Array<string>
|
|
get parentStyleSheet(): CSSStyleSheet
|
|
get name(): string | null
|
|
}
|
|
export type CSSRuleList = CssRuleList
|
|
|
|
export class CssStyleSheet {
|
|
constructor(name: string, rules: Array<string>)
|
|
get rules(): CssRuleList
|
|
anotherCssStyleSheet(): AnotherCssStyleSheet
|
|
}
|
|
export type CSSStyleSheet = CssStyleSheet
|
|
|
|
export class CustomFinalize {
|
|
constructor(width: number, height: number)
|
|
}
|
|
|
|
export class Dog {
|
|
name: string
|
|
constructor(name: string)
|
|
}
|
|
|
|
export class Fib {
|
|
[Symbol.iterator](): Iterator<number, void, number>
|
|
constructor()
|
|
}
|
|
|
|
export class Fib2 {
|
|
[Symbol.iterator](): Iterator<number, void, number>
|
|
static create(seed: number): Fib2
|
|
}
|
|
|
|
export class Fib3 {
|
|
current: number
|
|
next: number
|
|
constructor(current: number, next: number)
|
|
[Symbol.iterator](): Iterator<number, void, number>
|
|
}
|
|
|
|
export class GetterSetterWithClosures {
|
|
constructor()
|
|
}
|
|
|
|
export class JsClassForEither {
|
|
constructor()
|
|
}
|
|
|
|
export class JsRemote {
|
|
constructor(repo: JsRepo)
|
|
name(): string
|
|
}
|
|
|
|
export class JsRepo {
|
|
constructor(dir: string)
|
|
remote(): JsRemote
|
|
}
|
|
|
|
export class NinjaTurtle {
|
|
name: string
|
|
static isInstanceOf(value: unknown): boolean
|
|
/** Create your ninja turtle! 🐢 */
|
|
static newRaph(): NinjaTurtle
|
|
getMaskColor(): string
|
|
getName(): string
|
|
returnThis(this: this): this
|
|
}
|
|
|
|
export class NotWritableClass {
|
|
name: string
|
|
constructor(name: string)
|
|
setName(name: string): void
|
|
}
|
|
|
|
export class Optional {
|
|
static optionEnd(required: string, optional?: string | undefined | null): string
|
|
static optionStart(optional: string | undefined | null, required: string): string
|
|
static optionStartEnd(optional1: string | undefined | null, required: string, optional2?: string | undefined | null): string
|
|
static optionOnly(optional?: string | undefined | null): string
|
|
}
|
|
|
|
export class Selector {
|
|
orderBy: Array<string>
|
|
select: Array<string>
|
|
struct: string
|
|
where?: string
|
|
constructor(orderBy: Array<string>, select: Array<string>, struct: string, where?: string)
|
|
}
|
|
|
|
export class Width {
|
|
value: number
|
|
constructor(value: number)
|
|
}
|
|
|
|
export interface A {
|
|
foo: number
|
|
}
|
|
|
|
export function acceptSlice(fixture: any): bigint
|
|
|
|
export function acceptThreadsafeFunction(func: (err: Error | null, arg: number) => any): void
|
|
|
|
export function acceptThreadsafeFunctionFatal(func: (arg: number) => any): void
|
|
|
|
export function acceptThreadsafeFunctionTupleArgs(func: (err: Error | null, arg0: number, arg1: boolean, arg2: string) => any): void
|
|
|
|
export function add(a: number, b: number): number
|
|
|
|
export const enum ALIAS {
|
|
A = 0,
|
|
B = 1
|
|
}
|
|
|
|
export interface AliasedStruct {
|
|
a: ALIAS
|
|
b: number
|
|
}
|
|
|
|
export interface AllOptionalObject {
|
|
name?: string
|
|
age?: number
|
|
}
|
|
|
|
export function appendBuffer(buf: Buffer): Buffer
|
|
|
|
export function apply0(ctx: Animal, callback: (...args: any[]) => any): void
|
|
|
|
export function apply1(ctx: Animal, callback: (...args: any[]) => any, name: string): void
|
|
|
|
export function arrayBufferPassThrough(buf: Uint8Array): Promise<Uint8Array>
|
|
|
|
export function asyncBufferToArray(buf: ArrayBuffer): Array<number>
|
|
|
|
export function asyncMultiTwo(arg: number): Promise<number>
|
|
|
|
export function asyncPlus100(p: Promise<number>): Promise<number>
|
|
|
|
export function asyncReduceBuffer(buf: Buffer): Promise<number>
|
|
|
|
export function asyncTaskOptionalReturn(): Promise<number | null>
|
|
|
|
export function asyncTaskVoidReturn(): Promise<void>
|
|
|
|
export interface B {
|
|
bar: number
|
|
}
|
|
|
|
export function bigintAdd(a: bigint, b: bigint): bigint
|
|
|
|
export function bigintFromI128(): bigint
|
|
|
|
export function bigintFromI64(): bigint
|
|
|
|
export function bigintGetU64AsString(bi: bigint): string
|
|
|
|
export function bufferPassThrough(buf: Buffer): Promise<Buffer>
|
|
|
|
export interface C {
|
|
baz: number
|
|
}
|
|
|
|
export function call0(callback: (...args: any[]) => any): number
|
|
|
|
export function call1(callback: (...args: any[]) => any, arg: number): number
|
|
|
|
export function call2(callback: (...args: any[]) => any, arg1: number, arg2: number): number
|
|
|
|
export function callbackReturnPromise<T>(functionInput: () => T | Promise<T>, callback: (err: Error | null, result: T) => void): T | Promise<T>
|
|
|
|
export function callbackReturnPromiseAndSpawn(jsFunc: (arg0: string) => Promise<string>): Promise<string>
|
|
|
|
export function callFunction(cb: () => number): number
|
|
|
|
export function callFunctionWithArg(cb: (arg0: number, arg1: number) => number, arg0: number, arg1: number): number
|
|
|
|
export function callFunctionWithArgAndCtx(ctx: Animal, cb: (arg: string) => void, name: string): void
|
|
|
|
export function callLongThreadsafeFunction(callback: (...args: any[]) => any): void
|
|
|
|
export function callThreadsafeFunction(callback: (...args: any[]) => any): void
|
|
|
|
export function captureErrorInCallback(cb1: () => void, cb2: (arg0: Error) => void): void
|
|
|
|
export function chronoDateAdd1Minute(input: Date): Date
|
|
|
|
export function chronoDateToMillis(input: Date): number
|
|
|
|
export function chronoNativeDateTime(date: Date): number
|
|
|
|
export function chronoNativeDateTimeReturn(): Date | null
|
|
|
|
export function concatLatin1(s: string): string
|
|
|
|
export function concatStr(s: string): string
|
|
|
|
export function concatUtf16(s: string): string
|
|
|
|
export function contains(source: string, target: string): boolean
|
|
|
|
export function convertU32Array(input: Uint32Array): Array<number>
|
|
|
|
export function createBigInt(): bigint
|
|
|
|
export function createBigIntI64(): bigint
|
|
|
|
export function createExternal(size: number): ExternalObject<number>
|
|
|
|
export function createExternalString(content: string): ExternalObject<string>
|
|
|
|
export function createExternalTypedArray(): Uint32Array
|
|
|
|
export function createObj(): object
|
|
|
|
export function createObjectWithClassField(): ObjectFieldClassInstance
|
|
|
|
export function createObjWithProperty(): { value: ArrayBuffer, get getter(): number }
|
|
|
|
export function createReferenceOnFunction(cb: () => void): object
|
|
|
|
export function createSymbol(): symbol
|
|
|
|
export function createSymbolFor(desc: string): symbol
|
|
|
|
/** You could break the step and for an new continuous value. */
|
|
export const enum CustomNumEnum {
|
|
One = 1,
|
|
Two = 2,
|
|
Three = 3,
|
|
Four = 4,
|
|
Six = 6,
|
|
Eight = 8,
|
|
Nine = 9,
|
|
Ten = 10
|
|
}
|
|
|
|
export function customStatusCode(): void
|
|
|
|
export interface Dates {
|
|
start: Date
|
|
end?: Date
|
|
}
|
|
|
|
export function dateToNumber(input: Date): number
|
|
|
|
/** This is a const */
|
|
export const DEFAULT_COST: number
|
|
|
|
export function derefUint8Array(a: Uint8Array, b: Uint8ClampedArray): number
|
|
|
|
export function either3(input: string | number | boolean): number
|
|
|
|
export function either4(input: string | number | boolean | Obj): number
|
|
|
|
export function eitherBoolOrFunction(input: boolean | ((...args: any[]) => any)): void
|
|
|
|
export function eitherFromObjects(input: A | B | C): string
|
|
|
|
export function eitherFromOption(): JsClassForEither | undefined
|
|
|
|
export function eitherStringOrNumber(input: string | number): number
|
|
|
|
export const enum Empty {
|
|
|
|
}
|
|
|
|
export function enumToI32(e: CustomNumEnum): number
|
|
|
|
export function f32ArrayToArray(input: any): Array<number>
|
|
|
|
export function f64ArrayToArray(input: any): Array<number>
|
|
|
|
export function fibonacci(n: number): number
|
|
|
|
export function fnReceivedAliased(s: AliasedStruct, e: ALIAS): void
|
|
|
|
export function getBtreeMapping(): BTreeMap
|
|
|
|
export function getBuffer(): Buffer
|
|
|
|
export function getCwd(callback: (arg0: string) => void): void
|
|
|
|
export function getEmptyBuffer(): Buffer
|
|
|
|
export function getExternal(external: ExternalObject<number>): number
|
|
|
|
export function getGlobal(): typeof global
|
|
|
|
export function getIndexMapping(): IndexMap
|
|
|
|
export function getMapping(): Record<string, number>
|
|
|
|
export function getModuleFileName(): string
|
|
|
|
export function getNestedNumArr(): number[][][]
|
|
|
|
export function getNull(): null
|
|
|
|
export function getNumArr(): number[]
|
|
|
|
/** Gets some numbers */
|
|
export function getNums(): Array<number>
|
|
|
|
export function getPackageJsonName(packageJson: PackageJson): string
|
|
|
|
export function getStrFromObject(): void
|
|
|
|
export function getterFromObj(): number
|
|
|
|
export function getUndefined(): void
|
|
|
|
export function getWords(): Array<string>
|
|
|
|
export function i16ArrayToArray(input: any): Array<number>
|
|
|
|
export function i32ArrayToArray(input: any): Array<number>
|
|
|
|
export function i64ArrayToArray(input: any): Array<number>
|
|
|
|
export function i8ArrayToArray(input: any): Array<number>
|
|
|
|
export function indexmapPassthrough(fixture: IndexMap): IndexMap
|
|
|
|
/** default enum values are continuos i32s start from 0 */
|
|
export const enum Kind {
|
|
/** Barks */
|
|
Dog = 0,
|
|
/** Kills birds */
|
|
Cat = 1,
|
|
/** Tasty */
|
|
Duck = 2
|
|
}
|
|
|
|
export function listObjKeys(obj: object): Array<string>
|
|
|
|
export function mapOption(val?: number | undefined | null): number | null
|
|
|
|
export function mutateExternal(external: ExternalObject<number>, newVal: number): void
|
|
|
|
export function mutateTypedArray(input: Float32Array): void
|
|
|
|
export interface Obj {
|
|
v: string | number
|
|
}
|
|
|
|
export interface ObjectFieldClassInstance {
|
|
bird: Bird
|
|
}
|
|
|
|
export interface ObjectOnlyFromJs {
|
|
count: number
|
|
callback: (err: Error | null, arg: number) => any
|
|
}
|
|
|
|
export function optionEnd(callback: (arg0: string, arg1?: string | undefined | null) => void): void
|
|
|
|
export function optionOnly(callback: (arg0?: string | undefined | null) => void): void
|
|
|
|
export function optionStart(callback: (arg0: string | undefined | null, arg1: string) => void): void
|
|
|
|
export function optionStartEnd(callback: (arg0: string | undefined | null, arg1: string, arg2?: string | undefined | null) => void): void
|
|
|
|
export function overrideIndividualArgOnFunction(notOverridden: string, f: () => string, notOverridden2: number): string
|
|
|
|
export function overrideIndividualArgOnFunctionWithCbArg(callback: (town: string, name?: string | undefined | null) => string, notOverridden: number): object
|
|
|
|
/** This is an interface for package.json */
|
|
export interface PackageJson {
|
|
name: string
|
|
/** The version of the package */
|
|
version: string
|
|
dependencies?: Record<string, any>
|
|
devDependencies?: Record<string, any>
|
|
}
|
|
|
|
export function panic(): void
|
|
|
|
export function plusOne(this: Width): number
|
|
|
|
export function promiseInEither(input: number | Promise<number>): Promise<boolean>
|
|
|
|
/** napi = { version = 2, features = ["serde-json"] } */
|
|
export function readFile(callback: (arg0: Error | undefined, arg1?: string | undefined | null) => void): void
|
|
|
|
export function readFileAsync(path: string): Promise<Buffer>
|
|
|
|
export function readPackageJson(): PackageJson
|
|
|
|
export function receiveAllOptionalObject(obj?: AllOptionalObject | undefined | null): void
|
|
|
|
export function receiveClassOrNumber(either: number | JsClassForEither): number
|
|
|
|
export function receiveDifferentClass(either: JsClassForEither | AnotherClassForEither): number
|
|
|
|
export function receiveMutClassOrNumber(either: number | JsClassForEither): number
|
|
|
|
export function receiveObjectOnlyFromJs(obj: { count: number, callback: (err: Error | null, count: number) => void }): void
|
|
|
|
export function receiveObjectWithClassField(object: ObjectFieldClassInstance): Bird
|
|
|
|
export function receiveStrictObject(strictObject: StrictObject): void
|
|
|
|
export function receiveString(s: string): string
|
|
|
|
export function referenceAsCallback(callback: (arg0: number, arg1: number) => number, arg0: number, arg1: number): number
|
|
|
|
export function returnEither(input: number): string | number
|
|
|
|
export function returnEitherClass(input: number): number | JsClassForEither
|
|
|
|
export function returnFromSharedCrate(): Shared
|
|
|
|
export function returnJsFunction(): (...args: any[]) => any
|
|
|
|
export function returnNull(): null
|
|
|
|
export function returnUndefined(): void
|
|
|
|
export function returnUndefinedIfInvalid(input: boolean): boolean
|
|
|
|
export function returnUndefinedIfInvalidPromise(input: Promise<boolean>): Promise<boolean>
|
|
|
|
export function roundtripStr(s: string): string
|
|
|
|
export function runScript(script: string): unknown
|
|
|
|
export function setSymbolInObj(symbol: symbol): object
|
|
|
|
export interface Shared {
|
|
value: number
|
|
}
|
|
|
|
export const enum Status {
|
|
Pristine = 'Pristine',
|
|
Loading = 'Loading',
|
|
Ready = 'Ready'
|
|
}
|
|
|
|
export interface StrictObject {
|
|
name: string
|
|
}
|
|
|
|
export function sumBtreeMapping(nums: BTreeMap): number
|
|
|
|
export function sumIndexMapping(nums: IndexMap): number
|
|
|
|
export function sumMapping(nums: Record<string, number>): number
|
|
|
|
export function sumNums(nums: Array<number>): number
|
|
|
|
export function testSerdeBigNumberPrecision(number: string): any
|
|
|
|
export function testSerdeRoundtrip(data: any): any
|
|
|
|
export function threadsafeFunctionClosureCapture(func: (...args: any[]) => any): void
|
|
|
|
export function threadsafeFunctionFatalMode(cb: (...args: any[]) => any): void
|
|
|
|
export function threadsafeFunctionFatalModeError(cb: (...args: any[]) => any): void
|
|
|
|
export function threadsafeFunctionThrowError(cb: (...args: any[]) => any): void
|
|
|
|
export function throwAsyncError(): Promise<void>
|
|
|
|
export function throwError(): void
|
|
|
|
export function throwSyntaxError(error: string, code?: string | undefined | null): void
|
|
|
|
export function toJsObj(): object
|
|
|
|
export function tsfnAsyncCall(func: (...args: any[]) => any): Promise<void>
|
|
|
|
export function tsfnCallWithCallback(func: (...args: any[]) => any): void
|
|
|
|
export function tsfnReturnPromise(func: (err: Error | null, arg: number) => any): Promise<number>
|
|
|
|
export function tsfnReturnPromiseTimeout(func: (err: Error | null, arg: number) => any): Promise<number>
|
|
|
|
export function tsfnThrowFromJs(tsfn: (err: Error | null, arg: number) => any): Promise<number>
|
|
|
|
export function tsRename(a: { foo: number }): string[]
|
|
|
|
export interface TsTypeChanged {
|
|
typeOverride: object
|
|
typeOverrideOptional?: object
|
|
}
|
|
|
|
export function u16ArrayToArray(input: any): Array<number>
|
|
|
|
export function u32ArrayToArray(input: any): Array<number>
|
|
|
|
export function u64ArrayToArray(input: any): Array<bigint>
|
|
|
|
export function u8ArrayToArray(input: any): Array<number>
|
|
|
|
export function validateArray(arr: Array<number>): number
|
|
|
|
export function validateBigint(input: bigint): bigint
|
|
|
|
export function validateBoolean(i: boolean): boolean
|
|
|
|
export function validateBuffer(b: Buffer): number
|
|
|
|
export function validateDate(d: Date): number
|
|
|
|
export function validateDateTime(d: Date): number
|
|
|
|
export function validateExternal(e: ExternalObject<number>): number
|
|
|
|
export function validateFunction(cb: () => number): number
|
|
|
|
export function validateHashMap(input: Record<string, number>): number
|
|
|
|
export function validateNull(i: null): boolean
|
|
|
|
export function validateNumber(i: number): number
|
|
|
|
export function validateOptional(input1?: string | undefined | null, input2?: boolean | undefined | null): boolean
|
|
|
|
export function validatePromise(p: Promise<number>): Promise<number>
|
|
|
|
export function validateString(s: string): string
|
|
|
|
export function validateSymbol(s: symbol): boolean
|
|
|
|
export function validateTypedArray(input: Uint8Array): number
|
|
|
|
export function validateUndefined(i: undefined): boolean
|
|
|
|
export function withAbortController(a: number, b: number, signal: AbortSignal): Promise<number>
|
|
|
|
export function withoutAbortController(a: number, b: number): Promise<number>
|
|
|
|
export function xxh64Alias(input: Buffer): bigint
|
|
|
|
export namespace xxh2 {
|
|
export function xxh2Plus(a: number, b: number): number
|
|
export function xxh3Xxh64Alias(input: Buffer): bigint
|
|
}
|
|
|
|
export namespace xxh3 {
|
|
/** Xxh3 class */
|
|
export class Xxh3 {
|
|
constructor()
|
|
/** update */
|
|
update(input: Buffer): void
|
|
digest(): bigint
|
|
}
|
|
export const ALIGNMENT: number
|
|
/** xxh128 function */
|
|
export function xxh128(input: Buffer): bigint
|
|
export function xxh3_64(input: Buffer): bigint
|
|
}
|
|
|