mirror of
https://github.com/denoland/deno.git
synced 2024-11-26 16:09:27 -05:00
3d6fa64f19
This commit adds support for unstable FFI callbacks. A callback is registered using the `Deno.UnsafeCallback` API. The backing memory for the callback can be disposed of using `Deno.UnsafeCallback#close`. It is not safe to pass the callback after calling close. Callbacks from other than the isolate thread are not supported. Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com> Co-authored-by: Bert Belder <bertbelder@gmail.com>
157 lines
6.3 KiB
JavaScript
157 lines
6.3 KiB
JavaScript
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
|
|
"use strict";
|
|
|
|
((window) => {
|
|
const core = window.Deno.core;
|
|
const __bootstrap = window.__bootstrap;
|
|
__bootstrap.denoNs = {
|
|
metrics: core.metrics,
|
|
test: __bootstrap.testing.test,
|
|
bench: __bootstrap.testing.bench,
|
|
Process: __bootstrap.process.Process,
|
|
run: __bootstrap.process.run,
|
|
isatty: __bootstrap.tty.isatty,
|
|
writeFileSync: __bootstrap.writeFile.writeFileSync,
|
|
writeFile: __bootstrap.writeFile.writeFile,
|
|
writeTextFileSync: __bootstrap.writeFile.writeTextFileSync,
|
|
writeTextFile: __bootstrap.writeFile.writeTextFile,
|
|
readTextFile: __bootstrap.readFile.readTextFile,
|
|
readTextFileSync: __bootstrap.readFile.readTextFileSync,
|
|
readFile: __bootstrap.readFile.readFile,
|
|
readFileSync: __bootstrap.readFile.readFileSync,
|
|
watchFs: __bootstrap.fsEvents.watchFs,
|
|
chmodSync: __bootstrap.fs.chmodSync,
|
|
chmod: __bootstrap.fs.chmod,
|
|
chown: __bootstrap.fs.chown,
|
|
chownSync: __bootstrap.fs.chownSync,
|
|
copyFileSync: __bootstrap.fs.copyFileSync,
|
|
cwd: __bootstrap.fs.cwd,
|
|
makeTempDirSync: __bootstrap.fs.makeTempDirSync,
|
|
makeTempDir: __bootstrap.fs.makeTempDir,
|
|
makeTempFileSync: __bootstrap.fs.makeTempFileSync,
|
|
makeTempFile: __bootstrap.fs.makeTempFile,
|
|
memoryUsage: core.memoryUsage,
|
|
mkdirSync: __bootstrap.fs.mkdirSync,
|
|
mkdir: __bootstrap.fs.mkdir,
|
|
chdir: __bootstrap.fs.chdir,
|
|
copyFile: __bootstrap.fs.copyFile,
|
|
readDirSync: __bootstrap.fs.readDirSync,
|
|
readDir: __bootstrap.fs.readDir,
|
|
readLinkSync: __bootstrap.fs.readLinkSync,
|
|
readLink: __bootstrap.fs.readLink,
|
|
realPathSync: __bootstrap.fs.realPathSync,
|
|
realPath: __bootstrap.fs.realPath,
|
|
removeSync: __bootstrap.fs.removeSync,
|
|
remove: __bootstrap.fs.remove,
|
|
renameSync: __bootstrap.fs.renameSync,
|
|
rename: __bootstrap.fs.rename,
|
|
version: __bootstrap.version.version,
|
|
build: __bootstrap.build.build,
|
|
statSync: __bootstrap.fs.statSync,
|
|
lstatSync: __bootstrap.fs.lstatSync,
|
|
stat: __bootstrap.fs.stat,
|
|
lstat: __bootstrap.fs.lstat,
|
|
truncateSync: __bootstrap.fs.truncateSync,
|
|
truncate: __bootstrap.fs.truncate,
|
|
ftruncateSync: __bootstrap.fs.ftruncateSync,
|
|
ftruncate: __bootstrap.fs.ftruncate,
|
|
errors: __bootstrap.errors.errors,
|
|
// TODO(kt3k): Remove this export at v2
|
|
// See https://github.com/denoland/deno/issues/9294
|
|
customInspect: __bootstrap.console.customInspect,
|
|
inspect: __bootstrap.console.inspect,
|
|
env: __bootstrap.os.env,
|
|
exit: __bootstrap.os.exit,
|
|
execPath: __bootstrap.os.execPath,
|
|
Buffer: __bootstrap.buffer.Buffer,
|
|
readAll: __bootstrap.buffer.readAll,
|
|
readAllSync: __bootstrap.buffer.readAllSync,
|
|
writeAll: __bootstrap.buffer.writeAll,
|
|
writeAllSync: __bootstrap.buffer.writeAllSync,
|
|
copy: __bootstrap.io.copy,
|
|
iter: __bootstrap.io.iter,
|
|
iterSync: __bootstrap.io.iterSync,
|
|
SeekMode: __bootstrap.io.SeekMode,
|
|
read: __bootstrap.io.read,
|
|
readSync: __bootstrap.io.readSync,
|
|
write: __bootstrap.io.write,
|
|
writeSync: __bootstrap.io.writeSync,
|
|
File: __bootstrap.files.File,
|
|
FsFile: __bootstrap.files.FsFile,
|
|
open: __bootstrap.files.open,
|
|
openSync: __bootstrap.files.openSync,
|
|
create: __bootstrap.files.create,
|
|
createSync: __bootstrap.files.createSync,
|
|
stdin: __bootstrap.files.stdin,
|
|
stdout: __bootstrap.files.stdout,
|
|
stderr: __bootstrap.files.stderr,
|
|
seek: __bootstrap.files.seek,
|
|
seekSync: __bootstrap.files.seekSync,
|
|
connect: __bootstrap.net.connect,
|
|
listen: __bootstrap.net.listen,
|
|
connectTls: __bootstrap.tls.connectTls,
|
|
listenTls: __bootstrap.tls.listenTls,
|
|
startTls: __bootstrap.tls.startTls,
|
|
shutdown: __bootstrap.net.shutdown,
|
|
fstatSync: __bootstrap.fs.fstatSync,
|
|
fstat: __bootstrap.fs.fstat,
|
|
fsyncSync: __bootstrap.fs.fsyncSync,
|
|
fsync: __bootstrap.fs.fsync,
|
|
fdatasyncSync: __bootstrap.fs.fdatasyncSync,
|
|
fdatasync: __bootstrap.fs.fdatasync,
|
|
symlink: __bootstrap.fs.symlink,
|
|
symlinkSync: __bootstrap.fs.symlinkSync,
|
|
link: __bootstrap.fs.link,
|
|
linkSync: __bootstrap.fs.linkSync,
|
|
permissions: __bootstrap.permissions.permissions,
|
|
Permissions: __bootstrap.permissions.Permissions,
|
|
PermissionStatus: __bootstrap.permissions.PermissionStatus,
|
|
serveHttp: __bootstrap.http.serveHttp,
|
|
resolveDns: __bootstrap.net.resolveDns,
|
|
upgradeWebSocket: __bootstrap.http.upgradeWebSocket,
|
|
upgradeHttp: __bootstrap.http.upgradeHttp,
|
|
kill: __bootstrap.process.kill,
|
|
addSignalListener: __bootstrap.signals.addSignalListener,
|
|
removeSignalListener: __bootstrap.signals.removeSignalListener,
|
|
};
|
|
|
|
__bootstrap.denoNsUnstable = {
|
|
setRaw: __bootstrap.tty.setRaw,
|
|
consoleSize: __bootstrap.tty.consoleSize,
|
|
DiagnosticCategory: __bootstrap.diagnostics.DiagnosticCategory,
|
|
loadavg: __bootstrap.os.loadavg,
|
|
hostname: __bootstrap.os.hostname,
|
|
osRelease: __bootstrap.os.osRelease,
|
|
systemMemoryInfo: __bootstrap.os.systemMemoryInfo,
|
|
networkInterfaces: __bootstrap.os.networkInterfaces,
|
|
getGid: __bootstrap.os.getGid,
|
|
getUid: __bootstrap.os.getUid,
|
|
listen: __bootstrap.netUnstable.listen,
|
|
connect: __bootstrap.netUnstable.connect,
|
|
listenDatagram: __bootstrap.netUnstable.listenDatagram,
|
|
Listener: __bootstrap.netUnstable.Listener,
|
|
umask: __bootstrap.fs.umask,
|
|
futime: __bootstrap.fs.futime,
|
|
futimeSync: __bootstrap.fs.futimeSync,
|
|
utime: __bootstrap.fs.utime,
|
|
utimeSync: __bootstrap.fs.utimeSync,
|
|
HttpClient: __bootstrap.fetch.HttpClient,
|
|
createHttpClient: __bootstrap.fetch.createHttpClient,
|
|
http: __bootstrap.http,
|
|
dlopen: __bootstrap.ffi.dlopen,
|
|
UnsafeCallback: __bootstrap.ffi.UnsafeCallback,
|
|
UnsafePointer: __bootstrap.ffi.UnsafePointer,
|
|
UnsafePointerView: __bootstrap.ffi.UnsafePointerView,
|
|
UnsafeFnPointer: __bootstrap.ffi.UnsafeFnPointer,
|
|
flock: __bootstrap.fs.flock,
|
|
flockSync: __bootstrap.fs.flockSync,
|
|
funlock: __bootstrap.fs.funlock,
|
|
funlockSync: __bootstrap.fs.funlockSync,
|
|
refTimer: __bootstrap.timers.refTimer,
|
|
unrefTimer: __bootstrap.timers.unrefTimer,
|
|
Child: __bootstrap.spawn.Child,
|
|
spawnChild: __bootstrap.spawn.spawnChild,
|
|
spawn: __bootstrap.spawn.spawn,
|
|
spawnSync: __bootstrap.spawn.spawnSync,
|
|
};
|
|
})(this);
|