ed0c0ed028
This adds some initial features for generating the ambient namespace files (the TS equivalent of .h files) for the C++ binding files. There are a few tests and it works on the sample code in tskit. I split the bindings/ folder into bindings/ and interface/ (for C++ and TS code, respectively). This can be tested locally by running make generate && make debug && make serve and verifying that everything compiles and runs in the browser. One thing I changed for easier parsing was making a @type annotation required, with an @optional tag for making a field or constant optional. Change-Id: If9c5a664e84fac4c734277cddd7774989a1f7bf8 Bug: skia:11826 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407476 Reviewed-by: Nathaniel Nifong <nifong@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
23 lines
505 B
TypeScript
23 lines
505 B
TypeScript
/// <reference path="embind.d.ts" />
|
|
/* This file is autogenerated using gen_types.go and make generate */
|
|
declare namespace core {
|
|
export interface Bindings {
|
|
_privateFunction(x: number, y: number): number;
|
|
|
|
publicFunction(input: string): void;
|
|
|
|
readonly Something: SomethingConstructor;
|
|
|
|
}
|
|
|
|
export interface SomethingConstructor {
|
|
new(name: string): Something;
|
|
}
|
|
|
|
export interface Something extends embind.EmbindObject<Something> {
|
|
setName(name: string): void;
|
|
|
|
getName(): string;
|
|
}
|
|
}
|