6 changed files with 398 additions and 6 deletions
@ -0,0 +1,7 @@ |
|||
|
|||
declare namespace DotNet { |
|||
interface DotNetObjectReference extends DotNet.DotNetObject { |
|||
_id: number; |
|||
dispose(); |
|||
} |
|||
} |
|||
@ -0,0 +1,56 @@ |
|||
// Type definitions for non-npm package @blazor/javascript-interop 3.1
|
|||
// Project: https://docs.microsoft.com/en-us/aspnet/core/blazor/javascript-interop?view=aspnetcore-3.1
|
|||
// Definitions by: Piotr Błażejewicz (Peter Blazejewicz) <https://github.com/peterblazejewicz>
|
|||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|||
// Minimum TypeScript Version: 3.0
|
|||
|
|||
// Here be dragons!
|
|||
// This is community-maintained definition file intended to ease the process of developing
|
|||
// high quality JavaScript interop code to be used in Blazor application from your C# .Net code.
|
|||
// Could be removed without a notice in case official definition types ships with Blazor itself.
|
|||
|
|||
// tslint:disable:no-unnecessary-generics
|
|||
|
|||
declare namespace DotNet { |
|||
/** |
|||
* Invokes the specified .NET public method synchronously. Not all hosting scenarios support |
|||
* synchronous invocation, so if possible use invokeMethodAsync instead. |
|||
* |
|||
* @param assemblyName The short name (without key/version or .dll extension) of the .NET assembly containing the method. |
|||
* @param methodIdentifier The identifier of the method to invoke. The method must have a [JSInvokable] attribute specifying this identifier. |
|||
* @param args Arguments to pass to the method, each of which must be JSON-serializable. |
|||
* @returns The result of the operation. |
|||
*/ |
|||
function invokeMethod<T>(assemblyName: string, methodIdentifier: string, ...args: any[]): T; |
|||
/** |
|||
* Invokes the specified .NET public method asynchronously. |
|||
* |
|||
* @param assemblyName The short name (without key/version or .dll extension) of the .NET assembly containing the method. |
|||
* @param methodIdentifier The identifier of the method to invoke. The method must have a [JSInvokable] attribute specifying this identifier. |
|||
* @param args Arguments to pass to the method, each of which must be JSON-serializable. |
|||
* @returns A promise representing the result of the operation. |
|||
*/ |
|||
function invokeMethodAsync<T>(assemblyName: string, methodIdentifier: string, ...args: any[]): Promise<T>; |
|||
/** |
|||
* Represents the .NET instance passed by reference to JavaScript. |
|||
*/ |
|||
interface DotNetObject { |
|||
/** |
|||
* Invokes the specified .NET instance public method synchronously. Not all hosting scenarios support |
|||
* synchronous invocation, so if possible use invokeMethodAsync instead. |
|||
* |
|||
* @param methodIdentifier The identifier of the method to invoke. The method must have a [JSInvokable] attribute specifying this identifier. |
|||
* @param args Arguments to pass to the method, each of which must be JSON-serializable. |
|||
* @returns The result of the operation. |
|||
*/ |
|||
invokeMethod<T>(methodIdentifier: string, ...args: any[]): T; |
|||
/** |
|||
* Invokes the specified .NET instance public method asynchronously. |
|||
* |
|||
* @param methodIdentifier The identifier of the method to invoke. The method must have a [JSInvokable] attribute specifying this identifier. |
|||
* @param args Arguments to pass to the method, each of which must be JSON-serializable. |
|||
* @returns A promise representing the result of the operation. |
|||
*/ |
|||
invokeMethodAsync<T>(methodIdentifier: string, ...args: any[]): Promise<T>; |
|||
} |
|||
} |
|||
@ -0,0 +1,326 @@ |
|||
// Type definitions for Emscripten 1.39.16
|
|||
// Project: https://emscripten.org
|
|||
// Definitions by: Kensuke Matsuzaki <https://github.com/zakki>
|
|||
// Periklis Tsirakidis <https://github.com/periklis>
|
|||
// Bumsik Kim <https://github.com/kbumsik>
|
|||
// Louis DeScioli <https://github.com/lourd>
|
|||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|||
// TypeScript Version: 2.2
|
|||
|
|||
/** Other WebAssembly declarations, for compatibility with older versions of Typescript */ |
|||
declare namespace WebAssembly { |
|||
interface Module {} |
|||
} |
|||
|
|||
declare namespace Emscripten { |
|||
interface FileSystemType {} |
|||
type EnvironmentType = 'WEB' | 'NODE' | 'SHELL' | 'WORKER'; |
|||
|
|||
type JSType = 'number' | 'string' | 'array' | 'boolean'; |
|||
type TypeCompatibleWithC = number | string | any[] | boolean; |
|||
|
|||
type CIntType = 'i8' | 'i16' | 'i32' | 'i64'; |
|||
type CFloatType = 'float' | 'double'; |
|||
type CPointerType = 'i8*' | 'i16*' | 'i32*' | 'i64*' | 'float*' | 'double*' | '*'; |
|||
type CType = CIntType | CFloatType | CPointerType; |
|||
|
|||
type WebAssemblyImports = Array<{ |
|||
name: string; |
|||
kind: string; |
|||
}>; |
|||
|
|||
type WebAssemblyExports = Array<{ |
|||
module: string; |
|||
name: string; |
|||
kind: string; |
|||
}>; |
|||
|
|||
interface CCallOpts { |
|||
async?: boolean | undefined; |
|||
} |
|||
} |
|||
|
|||
interface EmscriptenModule { |
|||
print(str: string): void; |
|||
printErr(str: string): void; |
|||
arguments: string[]; |
|||
environment: Emscripten.EnvironmentType; |
|||
preInit: Array<{ (): void }>; |
|||
preRun: Array<{ (): void }>; |
|||
postRun: Array<{ (): void }>; |
|||
onAbort: { (what: any): void }; |
|||
onRuntimeInitialized: { (): void }; |
|||
preinitializedWebGLContext: WebGLRenderingContext; |
|||
noInitialRun: boolean; |
|||
noExitRuntime: boolean; |
|||
logReadFiles: boolean; |
|||
filePackagePrefixURL: string; |
|||
wasmBinary: ArrayBuffer; |
|||
|
|||
destroy(object: object): void; |
|||
getPreloadedPackage(remotePackageName: string, remotePackageSize: number): ArrayBuffer; |
|||
instantiateWasm( |
|||
imports: Emscripten.WebAssemblyImports, |
|||
successCallback: (module: WebAssembly.Module) => void, |
|||
): Emscripten.WebAssemblyExports; |
|||
locateFile(url: string, scriptDirectory: string): string; |
|||
onCustomMessage(event: MessageEvent): void; |
|||
|
|||
// USE_TYPED_ARRAYS == 1
|
|||
HEAP: Int32Array; |
|||
IHEAP: Int32Array; |
|||
FHEAP: Float64Array; |
|||
|
|||
// USE_TYPED_ARRAYS == 2
|
|||
HEAP8: Int8Array; |
|||
HEAP16: Int16Array; |
|||
HEAP32: Int32Array; |
|||
HEAPU8: Uint8Array; |
|||
HEAPU16: Uint16Array; |
|||
HEAPU32: Uint32Array; |
|||
HEAPF32: Float32Array; |
|||
HEAPF64: Float64Array; |
|||
|
|||
TOTAL_STACK: number; |
|||
TOTAL_MEMORY: number; |
|||
FAST_MEMORY: number; |
|||
|
|||
addOnPreRun(cb: () => any): void; |
|||
addOnInit(cb: () => any): void; |
|||
addOnPreMain(cb: () => any): void; |
|||
addOnExit(cb: () => any): void; |
|||
addOnPostRun(cb: () => any): void; |
|||
|
|||
preloadedImages: any; |
|||
preloadedAudios: any; |
|||
|
|||
_malloc(size: number): number; |
|||
_free(ptr: number): void; |
|||
} |
|||
|
|||
/** |
|||
* A factory function is generated when setting the `MODULARIZE` build option |
|||
* to `1` in your Emscripten build. It return a Promise that resolves to an |
|||
* initialized, ready-to-call `EmscriptenModule` instance. |
|||
* |
|||
* By default, the factory function will be named `Module`. It's recommended to |
|||
* use the `EXPORT_ES6` option, in which the factory function will be the |
|||
* default export. If used without `EXPORT_ES6`, the factory function will be a |
|||
* global variable. You can rename the variable using the `EXPORT_NAME` build |
|||
* option. It's left to you to declare any global variables as needed in your |
|||
* application's types. |
|||
* @param moduleOverrides Default properties for the initialized module. |
|||
*/ |
|||
type EmscriptenModuleFactory<T extends EmscriptenModule = EmscriptenModule> = ( |
|||
moduleOverrides?: Partial<T>, |
|||
) => Promise<T>; |
|||
|
|||
declare namespace FS { |
|||
interface Lookup { |
|||
path: string; |
|||
node: FSNode; |
|||
} |
|||
|
|||
interface FSStream {} |
|||
interface FSNode {} |
|||
interface ErrnoError {} |
|||
|
|||
let ignorePermissions: boolean; |
|||
let trackingDelegate: any; |
|||
let tracking: any; |
|||
let genericErrors: any; |
|||
|
|||
//
|
|||
// paths
|
|||
//
|
|||
function lookupPath(path: string, opts: any): Lookup; |
|||
function getPath(node: FSNode): string; |
|||
|
|||
//
|
|||
// nodes
|
|||
//
|
|||
function isFile(mode: number): boolean; |
|||
function isDir(mode: number): boolean; |
|||
function isLink(mode: number): boolean; |
|||
function isChrdev(mode: number): boolean; |
|||
function isBlkdev(mode: number): boolean; |
|||
function isFIFO(mode: number): boolean; |
|||
function isSocket(mode: number): boolean; |
|||
|
|||
//
|
|||
// devices
|
|||
//
|
|||
function major(dev: number): number; |
|||
function minor(dev: number): number; |
|||
function makedev(ma: number, mi: number): number; |
|||
function registerDevice(dev: number, ops: any): void; |
|||
|
|||
//
|
|||
// core
|
|||
//
|
|||
function syncfs(populate: boolean, callback: (e: any) => any): void; |
|||
function syncfs(callback: (e: any) => any, populate?: boolean): void; |
|||
function mount(type: Emscripten.FileSystemType, opts: any, mountpoint: string): any; |
|||
function unmount(mountpoint: string): void; |
|||
|
|||
function mkdir(path: string, mode?: number): any; |
|||
function mkdev(path: string, mode?: number, dev?: number): any; |
|||
function symlink(oldpath: string, newpath: string): any; |
|||
function rename(old_path: string, new_path: string): void; |
|||
function rmdir(path: string): void; |
|||
function readdir(path: string): any; |
|||
function unlink(path: string): void; |
|||
function readlink(path: string): string; |
|||
function stat(path: string, dontFollow?: boolean): any; |
|||
function lstat(path: string): any; |
|||
function chmod(path: string, mode: number, dontFollow?: boolean): void; |
|||
function lchmod(path: string, mode: number): void; |
|||
function fchmod(fd: number, mode: number): void; |
|||
function chown(path: string, uid: number, gid: number, dontFollow?: boolean): void; |
|||
function lchown(path: string, uid: number, gid: number): void; |
|||
function fchown(fd: number, uid: number, gid: number): void; |
|||
function truncate(path: string, len: number): void; |
|||
function ftruncate(fd: number, len: number): void; |
|||
function utime(path: string, atime: number, mtime: number): void; |
|||
function open(path: string, flags: string, mode?: number, fd_start?: number, fd_end?: number): FSStream; |
|||
function close(stream: FSStream): void; |
|||
function llseek(stream: FSStream, offset: number, whence: number): any; |
|||
function read(stream: FSStream, buffer: ArrayBufferView, offset: number, length: number, position?: number): number; |
|||
function write( |
|||
stream: FSStream, |
|||
buffer: ArrayBufferView, |
|||
offset: number, |
|||
length: number, |
|||
position?: number, |
|||
canOwn?: boolean, |
|||
): number; |
|||
function allocate(stream: FSStream, offset: number, length: number): void; |
|||
function mmap( |
|||
stream: FSStream, |
|||
buffer: ArrayBufferView, |
|||
offset: number, |
|||
length: number, |
|||
position: number, |
|||
prot: number, |
|||
flags: number, |
|||
): any; |
|||
function ioctl(stream: FSStream, cmd: any, arg: any): any; |
|||
function readFile(path: string, opts: { encoding: 'binary'; flags?: string | undefined }): Uint8Array; |
|||
function readFile(path: string, opts: { encoding: 'utf8'; flags?: string | undefined }): string; |
|||
function readFile(path: string, opts?: { flags?: string | undefined }): Uint8Array; |
|||
function writeFile(path: string, data: string | ArrayBufferView, opts?: { flags?: string | undefined }): void; |
|||
|
|||
//
|
|||
// module-level FS code
|
|||
//
|
|||
function cwd(): string; |
|||
function chdir(path: string): void; |
|||
function init( |
|||
input: null | (() => number | null), |
|||
output: null | ((c: number) => any), |
|||
error: null | ((c: number) => any), |
|||
): void; |
|||
|
|||
function createLazyFile( |
|||
parent: string | FSNode, |
|||
name: string, |
|||
url: string, |
|||
canRead: boolean, |
|||
canWrite: boolean, |
|||
): FSNode; |
|||
function createPreloadedFile( |
|||
parent: string | FSNode, |
|||
name: string, |
|||
url: string, |
|||
canRead: boolean, |
|||
canWrite: boolean, |
|||
onload?: () => void, |
|||
onerror?: () => void, |
|||
dontCreateFile?: boolean, |
|||
canOwn?: boolean, |
|||
): void; |
|||
function createDataFile( |
|||
parent: string | FSNode, |
|||
name: string, |
|||
data: ArrayBufferView, |
|||
canRead: boolean, |
|||
canWrite: boolean, |
|||
canOwn: boolean, |
|||
): FSNode; |
|||
} |
|||
|
|||
declare var MEMFS: Emscripten.FileSystemType; |
|||
declare var NODEFS: Emscripten.FileSystemType; |
|||
declare var IDBFS: Emscripten.FileSystemType; |
|||
|
|||
// Below runtime function/variable declarations are exportable by
|
|||
// -s EXTRA_EXPORTED_RUNTIME_METHODS. You can extend or merge
|
|||
// EmscriptenModule interface to add runtime functions.
|
|||
//
|
|||
// For example, by using -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ccall']"
|
|||
// You can access ccall() via Module["ccall"]. In this case, you should
|
|||
// extend EmscriptenModule to pass the compiler check like the following:
|
|||
//
|
|||
// interface YourOwnEmscriptenModule extends EmscriptenModule {
|
|||
// ccall: typeof ccall;
|
|||
// }
|
|||
//
|
|||
// See: https://emscripten.org/docs/getting_started/FAQ.html#why-do-i-get-typeerror-module-something-is-not-a-function
|
|||
|
|||
declare function ccall( |
|||
ident: string, |
|||
returnType: Emscripten.JSType | null, |
|||
argTypes: Emscripten.JSType[], |
|||
args: Emscripten.TypeCompatibleWithC[], |
|||
opts?: Emscripten.CCallOpts, |
|||
): any; |
|||
declare function cwrap( |
|||
ident: string, |
|||
returnType: Emscripten.JSType | null, |
|||
argTypes: Emscripten.JSType[], |
|||
opts?: Emscripten.CCallOpts, |
|||
): (...args: any[]) => any; |
|||
|
|||
declare function setValue(ptr: number, value: any, type: Emscripten.CType, noSafe?: boolean): void; |
|||
declare function getValue(ptr: number, type: Emscripten.CType, noSafe?: boolean): number; |
|||
|
|||
declare function allocate( |
|||
slab: number[] | ArrayBufferView | number, |
|||
types: Emscripten.CType | Emscripten.CType[], |
|||
allocator: number, |
|||
ptr?: number, |
|||
): number; |
|||
|
|||
declare function stackAlloc(size: number): number; |
|||
declare function stackSave(): number; |
|||
declare function stackRestore(ptr: number): void; |
|||
|
|||
declare function UTF8ToString(ptr: number, maxBytesToRead?: number): string; |
|||
declare function stringToUTF8(str: string, outPtr: number, maxBytesToRead?: number): void; |
|||
declare function lengthBytesUTF8(str: string): number; |
|||
declare function allocateUTF8(str: string): number; |
|||
declare function allocateUTF8OnStack(str: string): number; |
|||
declare function UTF16ToString(ptr: number): string; |
|||
declare function stringToUTF16(str: string, outPtr: number, maxBytesToRead?: number): void; |
|||
declare function lengthBytesUTF16(str: string): number; |
|||
declare function UTF32ToString(ptr: number): string; |
|||
declare function stringToUTF32(str: string, outPtr: number, maxBytesToRead?: number): void; |
|||
declare function lengthBytesUTF32(str: string): number; |
|||
|
|||
declare function intArrayFromString(stringy: string, dontAddNull?: boolean, length?: number): number[]; |
|||
declare function intArrayToString(array: number[]): string; |
|||
declare function writeStringToMemory(str: string, buffer: number, dontAddNull: boolean): void; |
|||
declare function writeArrayToMemory(array: number[], buffer: number): void; |
|||
declare function writeAsciiToMemory(str: string, buffer: number, dontAddNull: boolean): void; |
|||
|
|||
declare function addRunDependency(id: any): void; |
|||
declare function removeRunDependency(id: any): void; |
|||
|
|||
declare function addFunction(func: (...args: any[]) => any, signature?: string): number; |
|||
declare function removeFunction(funcPtr: number): void; |
|||
|
|||
declare var ALLOC_NORMAL: number; |
|||
declare var ALLOC_STACK: number; |
|||
declare var ALLOC_STATIC: number; |
|||
declare var ALLOC_DYNAMIC: number; |
|||
declare var ALLOC_NONE: number; |
|||
Loading…
Reference in new issue