mirror of
https://github.com/denoland/deno.git
synced 2025-09-24 19:32:30 +00:00
workers: proper TS libs, more spec-compliant APIs (#3812)
* split lib.deno_main.d.ts into: - lib.deno.shared_globals.d.ts - lib.deno.window.d.ts - lib.deno.worker.d.ts * remove no longer used libs: - lib.deno_main.d.ts - lib.deno_worker.d.ts * change module loading to use proper TS library for compilation * align to Worker API spec: - Worker.terminate() - self.close() - self.name
This commit is contained in:
parent
d14864c57c
commit
161adfc51b
24 changed files with 449 additions and 287 deletions
45
cli/js/lib.deno.worker.d.ts
vendored
Normal file
45
cli/js/lib.deno.worker.d.ts
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-interface, @typescript-eslint/no-explicit-any */
|
||||
|
||||
/// <reference no-default-lib="true" />
|
||||
/// <reference lib="deno_shared_globals" />
|
||||
/// <reference lib="esnext" />
|
||||
|
||||
declare interface DedicatedWorkerGlobalScope extends WindowOrWorkerGlobalScope {
|
||||
self: DedicatedWorkerGlobalScope &
|
||||
WindowOrWorkerGlobalScope &
|
||||
typeof globalThis;
|
||||
onmessage: (e: { data: any }) => void;
|
||||
onerror: undefined | typeof onerror;
|
||||
name: typeof __workerMain.name;
|
||||
close: typeof __workerMain.close;
|
||||
postMessage: typeof __workerMain.postMessage;
|
||||
}
|
||||
|
||||
declare const self: DedicatedWorkerGlobalScope &
|
||||
WindowOrWorkerGlobalScope &
|
||||
typeof globalThis;
|
||||
declare let onmessage: ((e: { data: any }) => Promise<void> | void) | undefined;
|
||||
declare let onerror:
|
||||
| ((
|
||||
msg: string,
|
||||
source: string,
|
||||
lineno: number,
|
||||
colno: number,
|
||||
e: Event
|
||||
) => boolean | void)
|
||||
| undefined;
|
||||
declare const close: typeof __workerMain.close;
|
||||
declare const name: typeof __workerMain.name;
|
||||
declare const postMessage: typeof __workerMain.postMessage;
|
||||
|
||||
declare namespace __workerMain {
|
||||
export let onmessage: (e: { data: any }) => void;
|
||||
export function postMessage(data: any): void;
|
||||
export function getMessage(): Promise<any>;
|
||||
export function close(): void;
|
||||
export const name: string;
|
||||
}
|
||||
|
||||
/* eslint-enable @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-interface, @typescript-eslint/no-explicit-any */
|
Loading…
Add table
Add a link
Reference in a new issue