Merge pull request #62 from zenhack/typescript-declaration-file

Add a typescript declaration file.
This commit is contained in:
Kenton Varda authored and GitHub committed 2020-11-30 16:05:15 -06:00
commit d75642d0e8
2 files changed
+36

No files matched your search

+1
View File
@@ -19,6 +19,7 @@
}
],
"main": "src/node-capnp/capnp.js",
"types": "src/node-capnp/capnp.d.ts",
"scripts": {
"install": "node ./build.js",
"test": "node src/node-capnp/capnp-test.js"
+35
View File
@@ -0,0 +1,35 @@
declare module Capnp {
type Id = string;
abstract class StructSchema<Builder, Reader> {
typeId: Id;
}
abstract class InterfaceSchema<Server, Client> {
typeId: Id;
}
interface AnyServer {
close?: () => void;
}
interface AnyClient {
close(): void;
closed: boolean;
castAs<Server, Client>(schema: InterfaceSchema<Server, Client>): Client;
}
const Capability: {
new<Server, Client>(server: Server, schema: InterfaceSchema<Server, Client>): Client;
}
abstract class Connection {
restore<Server, Client>(exportName: string, type: InterfaceSchema<Server, Client>): Client;
close(): void;
}
function parse<Builder, Reader>(type: StructSchema<Builder, Reader>, buffer: Buffer): Reader;
function serialize<Builder, Reader>(type: StructSchema<Builder, Reader>, reader: Reader): Buffer;
function connect(addr: string): Connection;
}
export default Capnp;