@opentui/core 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Renderable.d.ts +2 -7
- package/audio-stream/demuxer.d.ts +19 -0
- package/audio-stream/icy/demuxer.d.ts +21 -0
- package/audio-stream/icy/metadata.d.ts +1 -0
- package/audio.d.ts +201 -1
- package/{index-6xr3rbbe.js → index-7z5n7k9m.js} +148 -136
- package/index-7z5n7k9m.js.map +32 -0
- package/{index-x7n320jr.js → index-za1krqsf.js} +314 -72
- package/index-za1krqsf.js.map +58 -0
- package/index.d.ts +3 -0
- package/index.js +1489 -92
- package/index.js.map +14 -10
- package/package.json +10 -10
- package/renderables/EditBufferRenderable.d.ts +2 -1
- package/renderables/LineNumberRenderable.d.ts +2 -2
- package/renderables/ScrollBox.d.ts +3 -2
- package/renderables/Select.d.ts +5 -0
- package/renderables/Text.d.ts +1 -1
- package/renderables/TextBufferRenderable.d.ts +3 -2
- package/renderables/TextNode.d.ts +2 -1
- package/renderables/text-table-width.d.ts +1 -0
- package/testing/bun-test-node.d.ts +1 -0
- package/testing.js +2 -2
- package/yoga.d.ts +1 -4
- package/yoga.js +1 -1
- package/zig-structs.d.ts +50 -3
- package/zig.d.ts +55 -5
- package/index-6xr3rbbe.js.map +0 -32
- package/index-x7n320jr.js.map +0 -58
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "0.4.
|
|
7
|
+
"version": "0.4.4",
|
|
8
8
|
"description": "OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"bun-ffi-structs": "0.2.
|
|
58
|
+
"bun-ffi-structs": "0.2.4",
|
|
59
59
|
"diff": "9.0.0",
|
|
60
60
|
"marked": "17.0.1",
|
|
61
61
|
"string-width": "7.2.0",
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
"web-tree-sitter": "0.25.10"
|
|
66
66
|
},
|
|
67
67
|
"optionalDependencies": {
|
|
68
|
-
"@opentui/core-darwin-x64": "0.4.
|
|
69
|
-
"@opentui/core-darwin-arm64": "0.4.
|
|
70
|
-
"@opentui/core-linux-x64": "0.4.
|
|
71
|
-
"@opentui/core-linux-arm64": "0.4.
|
|
72
|
-
"@opentui/core-win32-x64": "0.4.
|
|
73
|
-
"@opentui/core-win32-arm64": "0.4.
|
|
74
|
-
"@opentui/core-linux-x64-musl": "0.4.
|
|
75
|
-
"@opentui/core-linux-arm64-musl": "0.4.
|
|
68
|
+
"@opentui/core-darwin-x64": "0.4.4",
|
|
69
|
+
"@opentui/core-darwin-arm64": "0.4.4",
|
|
70
|
+
"@opentui/core-linux-x64": "0.4.4",
|
|
71
|
+
"@opentui/core-linux-arm64": "0.4.4",
|
|
72
|
+
"@opentui/core-win32-x64": "0.4.4",
|
|
73
|
+
"@opentui/core-win32-arm64": "0.4.4",
|
|
74
|
+
"@opentui/core-linux-x64-musl": "0.4.4",
|
|
75
|
+
"@opentui/core-linux-arm64-musl": "0.4.4"
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -68,6 +68,7 @@ export declare abstract class EditBufferRenderable extends Renderable implements
|
|
|
68
68
|
private _keyboardSelectionActive;
|
|
69
69
|
readonly editBuffer: EditBuffer;
|
|
70
70
|
readonly editorView: EditorView;
|
|
71
|
+
private nativeRenderable;
|
|
71
72
|
protected _defaultOptions: {
|
|
72
73
|
textColor: RGBA;
|
|
73
74
|
backgroundColor: string;
|
|
@@ -198,7 +199,7 @@ export declare abstract class EditBufferRenderable extends Renderable implements
|
|
|
198
199
|
}): boolean;
|
|
199
200
|
deleteWordForward(): boolean;
|
|
200
201
|
deleteWordBackward(): boolean;
|
|
201
|
-
private
|
|
202
|
+
private setupNativeRenderable;
|
|
202
203
|
render(buffer: OptimizedBuffer, deltaTime: number): void;
|
|
203
204
|
protected renderSelf(buffer: OptimizedBuffer): void;
|
|
204
205
|
protected renderCursor(buffer: OptimizedBuffer): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Renderable, type RenderableOptions } from "../Renderable.js";
|
|
1
|
+
import { Renderable, type BaseRenderable, type RenderableOptions } from "../Renderable.js";
|
|
2
2
|
import { OptimizedBuffer } from "../buffer.js";
|
|
3
3
|
import type { RenderContext, LineInfoProvider } from "../types.js";
|
|
4
4
|
import { RGBA } from "../lib/RGBA.js";
|
|
@@ -44,7 +44,7 @@ export declare class LineNumberRenderable extends Renderable {
|
|
|
44
44
|
constructor(ctx: RenderContext, options: LineNumberOptions);
|
|
45
45
|
private setTarget;
|
|
46
46
|
add(child: Renderable): number;
|
|
47
|
-
remove(
|
|
47
|
+
remove(child: BaseRenderable): void;
|
|
48
48
|
destroyRecursively(): void;
|
|
49
49
|
clearTarget(): void;
|
|
50
50
|
protected renderSelf(buffer: OptimizedBuffer): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type KeyEvent } from "../lib/index.js";
|
|
2
2
|
import { type ScrollAcceleration } from "../lib/scroll-acceleration.js";
|
|
3
|
-
import type { Renderable, RenderableOptions } from "../Renderable.js";
|
|
3
|
+
import type { BaseRenderable, Renderable, RenderableOptions } from "../Renderable.js";
|
|
4
4
|
import type { MouseEvent } from "../renderer.js";
|
|
5
5
|
import type { RenderContext } from "../types.js";
|
|
6
6
|
import { BoxRenderable, type BoxOptions } from "./Box.js";
|
|
@@ -90,8 +90,9 @@ export declare class ScrollBoxRenderable extends BoxRenderable {
|
|
|
90
90
|
private isAtStickyReengagePoint;
|
|
91
91
|
add(obj: Renderable | VNode<any, any[]>, index?: number): number;
|
|
92
92
|
insertBefore(obj: Renderable | VNode<any, any[]> | unknown, anchor?: Renderable | unknown): number;
|
|
93
|
-
remove(
|
|
93
|
+
remove(child: BaseRenderable): void;
|
|
94
94
|
getChildren(): Renderable[];
|
|
95
|
+
getRenderable(id: string): Renderable | undefined;
|
|
95
96
|
protected onMouseEvent(event: MouseEvent): void;
|
|
96
97
|
handleKeyPress(key: KeyEvent): boolean;
|
|
97
98
|
private resetScrollAccumulators;
|
package/renderables/Select.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export interface SelectRenderableOptions extends RenderableOptions<SelectRendera
|
|
|
27
27
|
showScrollIndicator?: boolean;
|
|
28
28
|
wrapSelection?: boolean;
|
|
29
29
|
showDescription?: boolean;
|
|
30
|
+
showSelectionIndicator?: boolean;
|
|
30
31
|
font?: keyof typeof fonts;
|
|
31
32
|
itemSpacing?: number;
|
|
32
33
|
fastScrollStep?: number;
|
|
@@ -54,6 +55,7 @@ export declare class SelectRenderable extends Renderable {
|
|
|
54
55
|
private _showScrollIndicator;
|
|
55
56
|
private _wrapSelection;
|
|
56
57
|
private _showDescription;
|
|
58
|
+
private _showSelectionIndicator;
|
|
57
59
|
private _font?;
|
|
58
60
|
private _itemSpacing;
|
|
59
61
|
private linesPerItem;
|
|
@@ -75,6 +77,7 @@ export declare class SelectRenderable extends Renderable {
|
|
|
75
77
|
showScrollIndicator: false;
|
|
76
78
|
wrapSelection: false;
|
|
77
79
|
showDescription: true;
|
|
80
|
+
showSelectionIndicator: true;
|
|
78
81
|
itemSpacing: number;
|
|
79
82
|
fastScrollStep: number;
|
|
80
83
|
};
|
|
@@ -97,6 +100,8 @@ export declare class SelectRenderable extends Renderable {
|
|
|
97
100
|
set showScrollIndicator(show: boolean);
|
|
98
101
|
get showDescription(): boolean;
|
|
99
102
|
set showDescription(show: boolean);
|
|
103
|
+
get showSelectionIndicator(): boolean;
|
|
104
|
+
set showSelectionIndicator(show: boolean | null | undefined);
|
|
100
105
|
get wrapSelection(): boolean;
|
|
101
106
|
set wrapSelection(wrap: boolean);
|
|
102
107
|
set backgroundColor(value: ColorInput);
|
package/renderables/Text.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export declare class TextRenderable extends TextBufferRenderable {
|
|
|
24
24
|
set content(value: StyledText | string);
|
|
25
25
|
private updateTextFromNodes;
|
|
26
26
|
add(obj: TextNodeRenderable | StyledText | string, index?: number): number;
|
|
27
|
-
remove(
|
|
27
|
+
remove(child: BaseRenderable): void;
|
|
28
28
|
insertBefore(obj: BaseRenderable | any, anchor?: TextNodeRenderable): number;
|
|
29
29
|
getTextChildren(): BaseRenderable[];
|
|
30
30
|
clear(): void;
|
|
@@ -5,7 +5,7 @@ import { TextBufferView } from "../text-buffer-view.js";
|
|
|
5
5
|
import { RGBA } from "../lib/RGBA.js";
|
|
6
6
|
import { type RenderContext, type LineInfoProvider } from "../types.js";
|
|
7
7
|
import type { OptimizedBuffer } from "../buffer.js";
|
|
8
|
-
import type
|
|
8
|
+
import { type LineInfo } from "../zig.js";
|
|
9
9
|
import { SyntaxStyle } from "../syntax-style.js";
|
|
10
10
|
export interface TextBufferOptions extends RenderableOptions<TextBufferRenderable> {
|
|
11
11
|
fg?: string | RGBA;
|
|
@@ -37,6 +37,7 @@ export declare abstract class TextBufferRenderable extends Renderable implements
|
|
|
37
37
|
protected textBuffer: TextBuffer;
|
|
38
38
|
protected textBufferView: TextBufferView;
|
|
39
39
|
protected _textBufferSyntaxStyle: SyntaxStyle;
|
|
40
|
+
private nativeRenderable;
|
|
40
41
|
protected _defaultOptions: {
|
|
41
42
|
fg: RGBA;
|
|
42
43
|
bg: RGBA;
|
|
@@ -88,7 +89,7 @@ export declare abstract class TextBufferRenderable extends Renderable implements
|
|
|
88
89
|
protected refreshLocalSelection(): boolean;
|
|
89
90
|
private updateLocalSelection;
|
|
90
91
|
protected updateTextInfo(): void;
|
|
91
|
-
private
|
|
92
|
+
private setupNativeRenderable;
|
|
92
93
|
shouldStartSelection(x: number, y: number): boolean;
|
|
93
94
|
onSelectionChanged(selection: Selection | null): boolean;
|
|
94
95
|
getSelectedText(): string;
|
|
@@ -27,9 +27,10 @@ export declare class TextNodeRenderable extends BaseRenderable {
|
|
|
27
27
|
set children(children: (string | TextNodeRenderable)[]);
|
|
28
28
|
requestRender(): void;
|
|
29
29
|
add(obj: TextNodeRenderable | StyledText | string, index?: number): number;
|
|
30
|
+
private prepareChildInsert;
|
|
30
31
|
replace(obj: TextNodeRenderable | string, index: number): void;
|
|
31
32
|
insertBefore(child: string | TextNodeRenderable | StyledText, anchorNode: TextNodeRenderable | string | unknown): this;
|
|
32
|
-
remove(
|
|
33
|
+
remove(child: BaseRenderable): void;
|
|
33
34
|
clear(): void;
|
|
34
35
|
mergeStyles(parentStyle: {
|
|
35
36
|
fg?: RGBA;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function allocateProportionalColumnWidths(widths: number[], targetWidth: number, minWidth: number): number[];
|
|
@@ -27,6 +27,7 @@ declare class AsyncExpectation<T> {
|
|
|
27
27
|
toBeNull(): Promise<void>;
|
|
28
28
|
toBeUndefined(): Promise<void>;
|
|
29
29
|
toContain(expected: unknown): Promise<void>;
|
|
30
|
+
toHaveProperty(property: PropertyKey, expectedValue?: unknown): Promise<void>;
|
|
30
31
|
toMatchSnapshot(snapshotName?: string): Promise<void>;
|
|
31
32
|
toMatchInlineSnapshot(snapshot: string): Promise<void>;
|
|
32
33
|
toThrow(expected?: ThrowMatcher): Promise<void>;
|
package/testing.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ANSI,
|
|
3
3
|
CliRenderer
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-7z5n7k9m.js";
|
|
5
5
|
import {
|
|
6
6
|
SystemClock,
|
|
7
7
|
TreeSitterClient
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-za1krqsf.js";
|
|
9
9
|
|
|
10
10
|
// src/testing/mock-keys.ts
|
|
11
11
|
import { Buffer as Buffer2 } from "node:buffer";
|
package/yoga.d.ts
CHANGED
|
@@ -218,8 +218,6 @@ export declare class Config {
|
|
|
218
218
|
export declare class Node {
|
|
219
219
|
readonly ptr: Pointer;
|
|
220
220
|
private freed;
|
|
221
|
-
private measureCallback;
|
|
222
|
-
private dirtiedCallback;
|
|
223
221
|
private constructor();
|
|
224
222
|
static create(config?: Config): Node;
|
|
225
223
|
static createForOpenTUI(): Node;
|
|
@@ -339,8 +337,7 @@ export declare class Node {
|
|
|
339
337
|
private setValue;
|
|
340
338
|
private getValue;
|
|
341
339
|
private collectSubtree;
|
|
342
|
-
private
|
|
343
|
-
private closeDirtiedCallback;
|
|
340
|
+
private unregisterCallbacks;
|
|
344
341
|
private markFreed;
|
|
345
342
|
}
|
|
346
343
|
declare const Yoga: {
|
package/yoga.js
CHANGED
package/zig-structs.d.ts
CHANGED
|
@@ -13,11 +13,11 @@ export declare const StyledChunkStruct: import("bun-ffi-structs").DefineStructRe
|
|
|
13
13
|
readonly lengthOf: "text";
|
|
14
14
|
}], readonly ["fg", "pointer", {
|
|
15
15
|
readonly optional: true;
|
|
16
|
-
readonly packTransform: (rgba?: RGBA) =>
|
|
16
|
+
readonly packTransform: (rgba?: RGBA) => Uint16Array<ArrayBufferLike> | null;
|
|
17
17
|
readonly unpackTransform: (ptr?: Pointer) => RGBA | undefined;
|
|
18
18
|
}], readonly ["bg", "pointer", {
|
|
19
19
|
readonly optional: true;
|
|
20
|
-
readonly packTransform: (rgba?: RGBA) =>
|
|
20
|
+
readonly packTransform: (rgba?: RGBA) => Uint16Array<ArrayBufferLike> | null;
|
|
21
21
|
readonly unpackTransform: (ptr?: Pointer) => RGBA | undefined;
|
|
22
22
|
}], readonly ["attributes", "u32", {
|
|
23
23
|
readonly default: 0;
|
|
@@ -71,7 +71,7 @@ export declare const CursorStyleOptionsStruct: import("bun-ffi-structs").DefineS
|
|
|
71
71
|
readonly default: 255;
|
|
72
72
|
}], readonly ["color", "pointer", {
|
|
73
73
|
readonly optional: true;
|
|
74
|
-
readonly packTransform: (rgba?: RGBA) =>
|
|
74
|
+
readonly packTransform: (rgba?: RGBA) => Uint16Array<ArrayBufferLike> | null;
|
|
75
75
|
readonly unpackTransform: (ptr?: Pointer) => RGBA | undefined;
|
|
76
76
|
}], readonly ["cursor", "u8", {
|
|
77
77
|
readonly default: 255;
|
|
@@ -199,6 +199,51 @@ export type AudioVoiceOptions = {
|
|
|
199
199
|
loop?: boolean;
|
|
200
200
|
groupId?: number;
|
|
201
201
|
};
|
|
202
|
+
export declare const NativeAudioStreamFormat: {
|
|
203
|
+
readonly Mp3: 1;
|
|
204
|
+
readonly Flac: 2;
|
|
205
|
+
};
|
|
206
|
+
export type NativeAudioStreamFormat = (typeof NativeAudioStreamFormat)[keyof typeof NativeAudioStreamFormat];
|
|
207
|
+
export type AudioStreamCreateOptions = {
|
|
208
|
+
capacityMs: number;
|
|
209
|
+
startupMs: number;
|
|
210
|
+
resumeMs: number;
|
|
211
|
+
volume: number;
|
|
212
|
+
pan: number;
|
|
213
|
+
groupId: number;
|
|
214
|
+
maxProbeBytes: number;
|
|
215
|
+
format: NativeAudioStreamFormat;
|
|
216
|
+
};
|
|
217
|
+
export type NativeAudioStreamStats = {
|
|
218
|
+
bytesReceived: bigint;
|
|
219
|
+
framesDecoded: bigint;
|
|
220
|
+
framesPlayed: bigint;
|
|
221
|
+
state: number;
|
|
222
|
+
sampleRate: number;
|
|
223
|
+
channels: number;
|
|
224
|
+
bufferedFrames: number;
|
|
225
|
+
capacityFrames: number;
|
|
226
|
+
underruns: number;
|
|
227
|
+
errorCode: number;
|
|
228
|
+
readyGeneration: number;
|
|
229
|
+
};
|
|
230
|
+
export declare const NativeAudioStreamState: {
|
|
231
|
+
readonly Initializing: 0;
|
|
232
|
+
readonly Buffering: 1;
|
|
233
|
+
readonly Playing: 2;
|
|
234
|
+
readonly Ended: 3;
|
|
235
|
+
readonly Failed: 4;
|
|
236
|
+
readonly Cancelled: 5;
|
|
237
|
+
readonly Reconnecting: 6;
|
|
238
|
+
};
|
|
239
|
+
export type NativeAudioStreamState = (typeof NativeAudioStreamState)[keyof typeof NativeAudioStreamState];
|
|
240
|
+
export declare const NativeAudioStreamStateNames: readonly ["initializing", "buffering", "playing", "ended", "errored", "disposed", "reconnecting"];
|
|
241
|
+
export declare const NativeAudioStreamCloseReason: {
|
|
242
|
+
readonly PreserveNativeTerminal: 0;
|
|
243
|
+
readonly TransportError: 1;
|
|
244
|
+
readonly Disposed: 2;
|
|
245
|
+
};
|
|
246
|
+
export type NativeAudioStreamCloseReason = (typeof NativeAudioStreamCloseReason)[keyof typeof NativeAudioStreamCloseReason];
|
|
202
247
|
export type AudioStats = {
|
|
203
248
|
soundsLoaded: number;
|
|
204
249
|
voicesActive: number;
|
|
@@ -252,5 +297,7 @@ export declare const AudioVoiceOptionsStruct: import("bun-ffi-structs").DefineSt
|
|
|
252
297
|
}], readonly ["groupId", "u32", {
|
|
253
298
|
readonly default: 0;
|
|
254
299
|
}]], {}>;
|
|
300
|
+
export declare const AudioStreamCreateOptionsStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["capacityMs", "u32"], readonly ["startupMs", "u32"], readonly ["resumeMs", "u32"], readonly ["volume", "f32"], readonly ["pan", "f32"], readonly ["groupId", "u32"], readonly ["maxProbeBytes", "u32"], readonly ["format", "u32"]], {}>;
|
|
301
|
+
export declare const AudioStreamStatsStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["bytesReceived", "u64"], readonly ["framesDecoded", "u64"], readonly ["framesPlayed", "u64"], readonly ["state", "u32"], readonly ["sampleRate", "u32"], readonly ["channels", "u32"], readonly ["bufferedFrames", "u32"], readonly ["capacityFrames", "u32"], readonly ["underruns", "u32"], readonly ["errorCode", "i32"], readonly ["readyGeneration", "u32"]], {}>;
|
|
255
302
|
export declare const AudioStatsStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["soundsLoaded", "u32"], readonly ["voicesActive", "u32"], readonly ["framesMixed", "u64"], readonly ["lockMisses", "u32"], readonly ["lastPeak", "f32"], readonly ["lastRms", "f32"]], {}>;
|
|
256
303
|
export {};
|
package/zig.d.ts
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
import { type FFICallbackInstance, type Pointer } from "./platform/ffi.js";
|
|
2
2
|
import { type CursorStyle, type CursorStyleOptions, type TargetChannel, type DebugOverlayCorner, type WidthMethod, type TerminalCapabilities, type Highlight, type LineInfo } from "./types.js";
|
|
3
|
-
export type { LineInfo, AllocatorStats, BuildOptions, NativeRenderStats };
|
|
3
|
+
export type { LineInfo, AllocatorStats, AudioStreamCreateOptions, BuildOptions, NativeAudioStreamStats, NativeRenderStats, };
|
|
4
4
|
import { RGBA } from "./lib/RGBA.js";
|
|
5
5
|
import { OptimizedBuffer } from "./buffer.js";
|
|
6
6
|
import { TextBuffer } from "./text-buffer.js";
|
|
7
|
-
import type { NativeSpanFeedOptions, NativeSpanFeedStats, ReserveInfo, AudioCreateOptions, AudioStartOptions, AudioVoiceOptions, AudioStats, BuildOptions, AllocatorStats, NativeRenderStats } from "./zig-structs.js";
|
|
7
|
+
import type { NativeSpanFeedOptions, NativeSpanFeedStats, ReserveInfo, AudioCreateOptions, AudioStartOptions, AudioVoiceOptions, AudioStreamCreateOptions, NativeAudioStreamCloseReason as NativeAudioStreamCloseReasonType, NativeAudioStreamFormat as NativeAudioStreamFormatType, NativeAudioStreamState as NativeAudioStreamStateType, NativeAudioStreamStats, AudioStats, BuildOptions, AllocatorStats, NativeRenderStats } from "./zig-structs.js";
|
|
8
|
+
export declare const NativeAudioStreamState: {
|
|
9
|
+
readonly Initializing: 0;
|
|
10
|
+
readonly Buffering: 1;
|
|
11
|
+
readonly Playing: 2;
|
|
12
|
+
readonly Ended: 3;
|
|
13
|
+
readonly Failed: 4;
|
|
14
|
+
readonly Cancelled: 5;
|
|
15
|
+
readonly Reconnecting: 6;
|
|
16
|
+
};
|
|
17
|
+
export type NativeAudioStreamState = NativeAudioStreamStateType;
|
|
18
|
+
export declare const NativeAudioStreamCloseReason: {
|
|
19
|
+
readonly PreserveNativeTerminal: 0;
|
|
20
|
+
readonly TransportError: 1;
|
|
21
|
+
readonly Disposed: 2;
|
|
22
|
+
};
|
|
23
|
+
export type NativeAudioStreamCloseReason = NativeAudioStreamCloseReasonType;
|
|
24
|
+
export declare const NativeAudioStreamFormat: {
|
|
25
|
+
readonly Mp3: 1;
|
|
26
|
+
readonly Flac: 2;
|
|
27
|
+
};
|
|
28
|
+
export type NativeAudioStreamFormat = NativeAudioStreamFormatType;
|
|
8
29
|
export type NativeHandle<T extends string> = Pointer & {
|
|
9
30
|
readonly __nativeHandle: T;
|
|
10
31
|
};
|
|
@@ -17,6 +38,7 @@ export type EditorViewHandle = NativeHandle<"editor_view">;
|
|
|
17
38
|
export type SyntaxStyleHandle = NativeHandle<"syntax_style">;
|
|
18
39
|
export type EventSinkHandle = NativeHandle<"event_sink">;
|
|
19
40
|
export type AudioEngineHandle = NativeHandle<"audio_engine">;
|
|
41
|
+
export type NativeRenderableHandle = NativeHandle<"native_renderable">;
|
|
20
42
|
export declare enum LogLevel {
|
|
21
43
|
Error = 0,
|
|
22
44
|
Warn = 1,
|
|
@@ -69,7 +91,14 @@ export interface NativeYogaLayout {
|
|
|
69
91
|
height: number;
|
|
70
92
|
}
|
|
71
93
|
export type NativeYogaMeasureCallback = (node: Pointer | null, width: number, widthMode: number, height: number, heightMode: number) => void;
|
|
72
|
-
export type NativeYogaDirtiedCallback = () => void;
|
|
94
|
+
export type NativeYogaDirtiedCallback = (node: Pointer | null) => void;
|
|
95
|
+
export declare const NativeMeasureTargetKind: {
|
|
96
|
+
readonly None: 0;
|
|
97
|
+
readonly TextBufferView: 1;
|
|
98
|
+
readonly EditorView: 2;
|
|
99
|
+
};
|
|
100
|
+
export type NativeMeasureTargetKind = (typeof NativeMeasureTargetKind)[keyof typeof NativeMeasureTargetKind];
|
|
101
|
+
export type NativeMeasureTargetHandle = TextBufferViewHandle | EditorViewHandle;
|
|
73
102
|
export interface AudioEngineLib {
|
|
74
103
|
createAudioEngine: (options?: AudioCreateOptions | null) => AudioEngineHandle | null;
|
|
75
104
|
destroyAudioEngine: (engine: AudioEngineHandle) => void;
|
|
@@ -82,6 +111,21 @@ export interface AudioEngineLib {
|
|
|
82
111
|
audioStart: (engine: AudioEngineHandle, options?: AudioStartOptions | null) => number;
|
|
83
112
|
audioStartMixer: (engine: AudioEngineHandle) => number;
|
|
84
113
|
audioStop: (engine: AudioEngineHandle) => number;
|
|
114
|
+
audioCreateStream: (engine: AudioEngineHandle, options: AudioStreamCreateOptions) => {
|
|
115
|
+
status: number;
|
|
116
|
+
streamId: number | null;
|
|
117
|
+
};
|
|
118
|
+
audioWriteStream: (engine: AudioEngineHandle, streamId: number, data: Uint8Array) => number;
|
|
119
|
+
audioEndStream: (engine: AudioEngineHandle, streamId: number) => number;
|
|
120
|
+
audioRestartStream: (engine: AudioEngineHandle, streamId: number) => number;
|
|
121
|
+
audioSetStreamVolume: (engine: AudioEngineHandle, streamId: number, volume: number) => number;
|
|
122
|
+
audioSetStreamPan: (engine: AudioEngineHandle, streamId: number, pan: number) => number;
|
|
123
|
+
audioSetStreamGroup: (engine: AudioEngineHandle, streamId: number, groupId: number) => number;
|
|
124
|
+
audioGetStreamStats: (engine: AudioEngineHandle, streamId: number) => NativeAudioStreamStats | null;
|
|
125
|
+
audioCloseStream: (engine: AudioEngineHandle, streamId: number, reason: NativeAudioStreamCloseReason) => {
|
|
126
|
+
status: number;
|
|
127
|
+
stats: NativeAudioStreamStats | null;
|
|
128
|
+
};
|
|
85
129
|
audioLoad: (engine: AudioEngineHandle, data: Uint8Array) => {
|
|
86
130
|
status: number;
|
|
87
131
|
soundId: number | null;
|
|
@@ -237,12 +281,14 @@ export interface RenderLib extends AudioEngineLib {
|
|
|
237
281
|
yogaNodeStyleGetBorder: (node: Pointer, edge: number) => number;
|
|
238
282
|
yogaNodeStyleSetValue: (node: Pointer, kind: number, edgeOrGutter: number, unit: number, value: number) => void;
|
|
239
283
|
yogaNodeStyleGetValue: (node: Pointer, kind: number, edgeOrGutter: number) => number | bigint;
|
|
240
|
-
yogaNodeSetMeasureFunc: (node: Pointer,
|
|
284
|
+
yogaNodeSetMeasureFunc: (node: Pointer, enabled: boolean) => void;
|
|
241
285
|
yogaNodeUnsetMeasureFunc: (node: Pointer) => void;
|
|
242
286
|
yogaNodeHasMeasureFunc: (node: Pointer) => boolean;
|
|
243
|
-
yogaNodeSetDirtiedFunc: (node: Pointer,
|
|
287
|
+
yogaNodeSetDirtiedFunc: (node: Pointer, enabled: boolean) => void;
|
|
244
288
|
yogaNodeUnsetDirtiedFunc: (node: Pointer) => void;
|
|
245
289
|
yogaStoreMeasureResult: (width: number, height: number) => void;
|
|
290
|
+
yogaSetMeasureCallback: (callback: Pointer | null) => void;
|
|
291
|
+
yogaSetDirtiedCallback: (callback: Pointer | null) => void;
|
|
246
292
|
createYogaMeasureCallback: (callback: NativeYogaMeasureCallback) => FFICallbackInstance;
|
|
247
293
|
createYogaDirtiedCallback: (callback: NativeYogaDirtiedCallback) => FFICallbackInstance;
|
|
248
294
|
createTextBuffer: (widthMethod: WidthMethod) => TextBuffer;
|
|
@@ -473,6 +519,10 @@ export interface RenderLib extends AudioEngineLib {
|
|
|
473
519
|
info: ReserveInfo | null;
|
|
474
520
|
};
|
|
475
521
|
streamCommitReserved: (stream: Pointer, length: number) => number;
|
|
522
|
+
createNativeRenderable: () => NativeRenderableHandle;
|
|
523
|
+
destroyNativeRenderable: (handle: NativeRenderableHandle) => void;
|
|
524
|
+
nativeRenderableAttachYogaNode: (handle: NativeRenderableHandle, node: Pointer) => boolean;
|
|
525
|
+
nativeRenderableSetMeasureTarget: (handle: NativeRenderableHandle, kind: NativeMeasureTargetKind, target: NativeMeasureTargetHandle | 0) => boolean;
|
|
476
526
|
onNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
|
|
477
527
|
onceNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
|
|
478
528
|
offNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
|