aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/schema.ts')
-rw-r--r--src/api/schema.ts184
1 files changed, 184 insertions, 0 deletions
diff --git a/src/api/schema.ts b/src/api/schema.ts
new file mode 100644
index 000000000..9d1c44c51
--- /dev/null
+++ b/src/api/schema.ts
@@ -0,0 +1,184 @@
+import type {ByteBuffer} from "peechy";
+
+type byte = number;
+type float = number;
+type int = number;
+type alphanumeric = string;
+type uint = number;
+type int8 = number;
+type lowp = number;
+type int16 = number;
+type int32 = number;
+type float32 = number;
+type uint16 = number;
+type uint32 = number;
+ export enum Loader {
+ jsx = 1,
+ js = 2,
+ ts = 3,
+ tsx = 4,
+ css = 5,
+ file = 6,
+ json = 7
+ }
+ export const LoaderKeys = {
+ 1: "jsx",
+ jsx: "jsx",
+ 2: "js",
+ js: "js",
+ 3: "ts",
+ ts: "ts",
+ 4: "tsx",
+ tsx: "tsx",
+ 5: "css",
+ css: "css",
+ 6: "file",
+ file: "file",
+ 7: "json",
+ json: "json"
+ }
+ export enum ResolveMode {
+ disable = 1,
+ lazy = 2
+ }
+ export const ResolveModeKeys = {
+ 1: "disable",
+ disable: "disable",
+ 2: "lazy",
+ lazy: "lazy"
+ }
+ export enum JSXRuntime {
+ automatic = 1,
+ classic = 2
+ }
+ export const JSXRuntimeKeys = {
+ 1: "automatic",
+ automatic: "automatic",
+ 2: "classic",
+ classic: "classic"
+ }
+ export enum TransformResponseStatus {
+ success = 1,
+ fail = 2
+ }
+ export const TransformResponseStatusKeys = {
+ 1: "success",
+ success: "success",
+ 2: "fail",
+ fail: "fail"
+ }
+ export enum MessageKind {
+ err = 1,
+ warn = 2,
+ note = 3,
+ debug = 4
+ }
+ export const MessageKindKeys = {
+ 1: "err",
+ err: "err",
+ 2: "warn",
+ warn: "warn",
+ 3: "note",
+ note: "note",
+ 4: "debug",
+ debug: "debug"
+ }
+ export interface JSX {
+ factory: string;
+ runtime: JSXRuntime;
+ fragment: string;
+ development: boolean;
+ import_source: string;
+ react_fast_refresh: boolean;
+ loader_keys: string[];
+ loader_values: Loader[];
+ }
+
+ export interface TransformOptions {
+ jsx?: JSX;
+ tsconfig_override?: string;
+ resolve?: ResolveMode;
+ public_url?: string;
+ absolute_working_dir?: string;
+ define_keys?: string[];
+ define_values?: string[];
+ preserve_symlinks?: boolean;
+ entry_points?: string[];
+ write?: boolean;
+ inject?: string[];
+ output_dir?: string;
+ externals?: string[];
+ }
+
+ export interface FileHandle {
+ path: string;
+ size: uint;
+ fd: uint;
+ }
+
+ export interface Transform {
+ handle?: FileHandle;
+ path?: string;
+ contents?: Uint8Array;
+ loader?: Loader;
+ options?: TransformOptions;
+ }
+
+ export interface OutputFile {
+ data: Uint8Array;
+ path: string;
+ }
+
+ export interface TransformResponse {
+ status: TransformResponseStatus;
+ files: OutputFile[];
+ errors: Message[];
+ }
+
+ export interface Location {
+ file: string;
+ namespace: string;
+ line: int32;
+ column: int32;
+ line_text: string;
+ suggestion: string;
+ offset: uint;
+ }
+
+ export interface MessageData {
+ text?: string;
+ location?: Location;
+ }
+
+ export interface Message {
+ kind: MessageKind;
+ data: MessageData;
+ notes: MessageData[];
+ }
+
+ export interface Log {
+ warnings: uint32;
+ errors: uint32;
+ msgs: Message[];
+ }
+
+ export declare function encodeJSX(message: JSX, bb: ByteBuffer): void;
+ export declare function decodeJSX(buffer: ByteBuffer): JSX;
+ export declare function encodeTransformOptions(message: TransformOptions, bb: ByteBuffer): void;
+ export declare function decodeTransformOptions(buffer: ByteBuffer): TransformOptions;
+ export declare function encodeFileHandle(message: FileHandle, bb: ByteBuffer): void;
+ export declare function decodeFileHandle(buffer: ByteBuffer): FileHandle;
+ export declare function encodeTransform(message: Transform, bb: ByteBuffer): void;
+ export declare function decodeTransform(buffer: ByteBuffer): Transform;
+ export declare function encodeOutputFile(message: OutputFile, bb: ByteBuffer): void;
+ export declare function decodeOutputFile(buffer: ByteBuffer): OutputFile;
+ export declare function encodeTransformResponse(message: TransformResponse, bb: ByteBuffer): void;
+ export declare function decodeTransformResponse(buffer: ByteBuffer): TransformResponse;
+ export declare function encodeLocation(message: Location, bb: ByteBuffer): void;
+ export declare function decodeLocation(buffer: ByteBuffer): Location;
+ export declare function encodeMessageData(message: MessageData, bb: ByteBuffer): void;
+ export declare function decodeMessageData(buffer: ByteBuffer): MessageData;
+ export declare function encodeMessage(message: Message, bb: ByteBuffer): void;
+ export declare function decodeMessage(buffer: ByteBuffer): Message;
+ export declare function encodeLog(message: Log, bb: ByteBuffer): void;
+ export declare function decodeLog(buffer: ByteBuffer): Log;