mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
Remove core/plugin.rs (#4824)
This simplifies the plugin interface in order to deliver op crates with a similar API
This commit is contained in:
parent
437e35ca52
commit
6e5f3453f8
11 changed files with 53 additions and 190 deletions
34
cli/js/lib.deno.ns.d.ts
vendored
34
cli/js/lib.deno.ns.d.ts
vendored
|
@ -1796,35 +1796,23 @@ declare namespace Deno {
|
|||
* Requires `allow-write` permission. */
|
||||
export function truncate(name: string, len?: number): Promise<void>;
|
||||
|
||||
export interface AsyncHandler {
|
||||
(msg: Uint8Array): void;
|
||||
}
|
||||
|
||||
export interface PluginOp {
|
||||
dispatch(
|
||||
control: Uint8Array,
|
||||
zeroCopy?: ArrayBufferView | null
|
||||
): Uint8Array | null;
|
||||
setAsyncHandler(handler: AsyncHandler): void;
|
||||
}
|
||||
|
||||
export interface Plugin {
|
||||
ops: {
|
||||
[name: string]: PluginOp;
|
||||
};
|
||||
}
|
||||
|
||||
/** **UNSTABLE**: new API, yet to be vetted.
|
||||
*
|
||||
* Open and initalize a plugin.
|
||||
*
|
||||
* const plugin = Deno.openPlugin("./path/to/some/plugin.so");
|
||||
* const some_op = plugin.ops.some_op;
|
||||
* const response = some_op.dispatch(new Uint8Array([1,2,3,4]));
|
||||
* const rid = Deno.openPlugin("./path/to/some/plugin.so");
|
||||
* const opId = Deno.core.ops()["some_op"];
|
||||
* const response = Deno.core.dispatch(opId, new Uint8Array([1,2,3,4]));
|
||||
* console.log(`Response from plugin ${response}`);
|
||||
*
|
||||
* Requires `allow-plugin` permission. */
|
||||
export function openPlugin(filename: string): Plugin;
|
||||
* Requires `allow-plugin` permission.
|
||||
*
|
||||
* The plugin system is not stable and will change in the future, hence the
|
||||
* lack of docs. For now take a look at the example
|
||||
* https://github.com/denoland/deno/tree/master/test_plugin
|
||||
*/
|
||||
export function openPlugin(filename: string): number;
|
||||
|
||||
export interface NetAddr {
|
||||
transport: "tcp" | "udp";
|
||||
hostname: string;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue