summaryrefslogtreecommitdiff
path: root/core/core.d.ts
blob: b1d1ac57f486b31ed87c1c0915133a2bc1442050 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.

// This file contains APIs that are introduced into the global namespace by
// Deno core.  These are not intended to be used directly by runtime users of
// Deno and therefore do not flow through to the runtime type library.

declare interface MessageCallback {
  (msg: Uint8Array): void;
}

declare interface DenoCore {
  dispatch(
    control: Uint8Array,
    zeroCopy?: ArrayBufferView | null
  ): Uint8Array | null;
  setAsyncHandler(cb: MessageCallback): void;
  sharedQueue: {
    head(): number;
    numRecords(): number;
    size(): number;
    push(buf: Uint8Array): boolean;
    reset(): void;
    shift(): Uint8Array | null;
  };
}