@opentui/core 0.0.0-20251128-0889a764 → 0.0.0-20251202-71dcabc4
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/3d.js +1 -1
- package/Renderable.d.ts +2 -2
- package/{index-rhx7c7kj.js → index-r6acnfwr.js} +1474 -1776
- package/index-r6acnfwr.js.map +55 -0
- package/index.d.ts +1 -1
- package/index.js +702 -338
- package/index.js.map +13 -12
- package/lib/KeyHandler.d.ts +1 -1
- package/lib/parse.keypress.d.ts +1 -0
- package/lib/terminal-palette.d.ts +7 -2
- package/lib/yoga.options.d.ts +1 -1
- package/libyoga-2ksztx35.dylib +0 -0
- package/libyoga-gh2tjwb7.so +0 -0
- package/libyoga-j5nt7np1.dylib +0 -0
- package/libyoga-wnbqxxhv.so +0 -0
- package/package.json +10 -10
- package/renderables/Diff.d.ts +66 -1
- package/renderables/EditBufferRenderable.d.ts +1 -0
- package/renderables/LineNumberRenderable.d.ts +1 -0
- package/renderables/TextBufferRenderable.d.ts +13 -0
- package/testing/mock-tree-sitter-client.d.ts +4 -1
- package/testing.js +25 -6
- package/testing.js.map +3 -3
- package/text-buffer-view.d.ts +2 -0
- package/types.d.ts +1 -0
- package/yoga-jkgc6c1f.dll +0 -0
- package/zig.d.ts +2 -0
- package/index-rhx7c7kj.js.map +0 -58
|
@@ -25,1645 +25,1190 @@ var __export = (target, all) => {
|
|
|
25
25
|
set: (newValue) => all[name] = () => newValue
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
28
29
|
var __require = import.meta.require;
|
|
29
30
|
|
|
30
|
-
// ../../node_modules/yoga
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
33
|
-
default: () =>
|
|
34
|
-
Wrap: () => Wrap,
|
|
35
|
-
Unit: () => Unit,
|
|
36
|
-
PositionType: () => PositionType,
|
|
37
|
-
Overflow: () => Overflow,
|
|
38
|
-
NodeType: () => NodeType,
|
|
39
|
-
MeasureMode: () => MeasureMode,
|
|
40
|
-
LogLevel: () => LogLevel,
|
|
41
|
-
Justify: () => Justify,
|
|
42
|
-
Gutter: () => Gutter,
|
|
43
|
-
FlexDirection: () => FlexDirection,
|
|
44
|
-
ExperimentalFeature: () => ExperimentalFeature,
|
|
45
|
-
Errata: () => Errata,
|
|
46
|
-
Edge: () => Edge,
|
|
47
|
-
Display: () => Display,
|
|
48
|
-
Direction: () => Direction,
|
|
49
|
-
Dimension: () => Dimension,
|
|
50
|
-
BoxSizing: () => BoxSizing,
|
|
51
|
-
Align: () => Align
|
|
31
|
+
// ../../node_modules/bun-yoga/dist/darwin-arm64/libyoga.dylib
|
|
32
|
+
var exports_libyoga = {};
|
|
33
|
+
__export(exports_libyoga, {
|
|
34
|
+
default: () => libyoga_default
|
|
52
35
|
});
|
|
36
|
+
var libyoga_default = "./libyoga-j5nt7np1.dylib";
|
|
37
|
+
var init_libyoga = () => {};
|
|
53
38
|
|
|
54
|
-
// ../../node_modules/yoga
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
var oa, pa = [], qa = [], ra = [];
|
|
112
|
-
function sa() {
|
|
113
|
-
var a = h.preRun.shift();
|
|
114
|
-
pa.unshift(a);
|
|
115
|
-
}
|
|
116
|
-
var F = 0, ta = null, G = null;
|
|
117
|
-
function x(a) {
|
|
118
|
-
if (h.onAbort)
|
|
119
|
-
h.onAbort(a);
|
|
120
|
-
a = "Aborted(" + a + ")";
|
|
121
|
-
v(a);
|
|
122
|
-
ha = true;
|
|
123
|
-
a = new WebAssembly.RuntimeError(a + ". Build with -sASSERTIONS for more info.");
|
|
124
|
-
ca(a);
|
|
125
|
-
throw a;
|
|
126
|
-
}
|
|
127
|
-
function ua(a) {
|
|
128
|
-
return a.startsWith("data:application/octet-stream;base64,");
|
|
129
|
-
}
|
|
130
|
-
var H;
|
|
131
|
-
H = "data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMkAEEBIQQgA0EIaiAAQfwAaiIFIAAgAUEBdGpB8gBqIgEvAQAQHwJAAkAgAyoCCCIHIAIqAgAiBlwEQCAHIAdbBEAgAi0ABCECDAILIAYgBlwhBAsgAi0ABCECIARFDQAgAy0ADCACQf8BcUYNAQsgBSABIAYgAhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgA0EQaiQACwoAIABBMGtBCkkLBQAQAgALBAAgAAsUACAABEAgACAAKAIAKAIEEQAACwsrAQF/IAAoAgwiAQRAIAEQIwsgACgCACIBBEAgACABNgIEIAEQIwsgABAjC4EEAQN/IwBBEGsiAyQAIABCADcCBCAAQcEgOwAVIABCADcCDCAAQoCAgICAgIACNwIYIAAgAC0AF0HgAXE6ABcgACAALQAAQeABcUEFcjoAACAAIAAtABRBgAFxOgAUIABBIGpBAEHOABAqGiAAQgA3AXIgAEGEgBA2AW4gAEEANgF6IABCADcCgAEgAEIANwKIASAAQgA3ApABIABCADcCoAEgAEKAgICAgICA4P8ANwKYASAAQQA6AKgBIABBrAFqQQBBxAEQKhogAEHwAmohBCAAQbABaiECA0AgAkKAgID8i4CAwL9/NwIQIAJCgYCAgBA3AgggAkKAgID8i4CAwL9/NwIAIAJBGGoiAiAERw0ACyAAQoCAgPyLgIDAv383AvACIABCgICA/IuAgMC/fzcCgAMgAEKBgICAEDcC+AIgAEKAgID+h4CA4P8ANwKUAyAAQoCAgP6HgIDg/wA3AowDIABBiANqIgIgAi0AAEH4AXE6AAAgAEGcA2pBAEHYABAqGiAAQQA6AIQEIABBgICA/gc2AoAEIABBADoA/AMgAEGAgID+BzYC+AMgACABNgL0AyABBEAgAS0ACEEBcQRAIAAgAC0AFEHzAXFBCHI6ABQgACAALwAVQfD/A3FBBHI7ABULIANBEGokACAADwsgA0GiGjYCACADEHIQJAALMwAgACABQQJ0QfwlaigCAEECdGoqApQDIABBFGoiACABQQEgAhAiIAAgAUEBIAIQIZKSC44DAQp/IwBB0AJrIgEkACAAKALoAyIDIAAoAuwDIgVHBEAgAUGMAmohBiABQeABaiEHIAFBIGohCCABQRxqIQkgAUEQaiEEA0AgAygCACICLQAXQRB0QYCAMHFBgIAgRgRAIAFBCGpBAEHEAhAqGiABQYCAgP4HNgIMIARBADoACCAEQgA3AgAgCUEAQcQBECoaIAghAANAIABCgICA/IuAgMC/fzcCECAAQoGAgIAQNwIIIABCgICA/IuAgMC/fzcCACAAQRhqIgAgB0cNAAsgAUKAgID8i4CAwL9/NwPwASABQoGAgIAQNwPoASABQoCAgPyLgIDAv383A+ABIAFCgICA/oeAgOD/ADcChAIgAUKAgID+h4CA4P8ANwL8ASABIAEtAPgBQfgBcToA+AEgBkEAQcAAECoaIAJBmAFqIAFBCGpBxAIQKxogAkIANwKMAyACIAItAAAiAEEBciIKQfsBcSAKIABBBHEbOgAAIAIQTyACEF4LIANBBGoiAyAFRw0ACwsgAUHQAmokAAtMAQF/QQEhAQJAIAAtAB5BB3ENACAALQAiQQdxDQAgAC0ALkEHcQ0AIAAtACpBB3ENACAALQAmQQdxDQAgAC0AKEEHcUEARyEBCyABC3YCAX8BfSMAQRBrIgQkACAEQQhqIAAgAUECdEHcJWooAgAgAhBQQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAACXQwAAAAAgBSAFWxsLogQCBn8CfgJ/QQghBAJAAkAgAEFHSw0AA0BBCCAEIARBCE0bIQRB6DopAwAiBwJ/QQggAEEDakF8cSAAQQhNGyIAQf8ATQRAIABBA3ZBAWsMAQsgAEEdIABnIgFrdkEEcyABQQJ0a0HuAGogAEH/H00NABpBPyAAQR4gAWt2QQJzIAFBAXRrQccAaiIBIAFBP08bCyIDrYgiCFBFBEADQCAIIAh6IgiIIQcCfiADIAinaiIDQQR0IgJB6DJqKAIAIgEgAkHgMmoiBkcEQCABIAQgABBjIgUNBSABKAIEIgUgASgCCDYCCCABKAIIIAU2AgQgASAGNgIIIAEgAkHkMmoiAigCADYCBCACIAE2AgAgASgCBCABNgIIIANBAWohAyAHQgGIDAELQeg6Qeg6KQMAQn4gA62JgzcDACAHQgGFCyIIQgBSDQALQeg6KQMAIQcLAkAgB1BFBEBBPyAHeadrIgZBBHQiAkHoMmooAgAhAQJAIAdCgICAgARUDQBB4wAhAyABIAJB4DJqIgJGDQADQCADRQ0BIAEgBCAAEGMiBQ0FIANBAWshAyABKAIIIgEgAkcNAAsgAiEBCyAAQTBqEGQNASABRQ0EIAEgBkEEdEHgMmoiAkYNBANAIAEgBCAAEGMiBQ0EIAEoAggiASACRw0ACwwECyAAQTBqEGRFDQMLQQAhBSAEIARBAWtxDQEgAEFHTQ0ACwsgBQwBC0EACwtwAgF/AX0jAEEQayIEJAAgBEEIaiAAIAFBAnRB7CVqKAIAIAIQKEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAIAUgBVsbC6ADAQN/IAEgAEEEaiIEakEBa0EAIAFrcSIFIAJqIAAgACgCACIBakEEa00EfyAAKAIEIgMgACgCCDYCCCAAKAIIIAM2AgQgBCAFRwRAIAAgAEEEaygCAEF+cWsiAyAFIARrIgQgAygCAGoiBTYCACAFQXxxIANqQQRrIAU2AgAgACAEaiIAIAEgBGsiATYCAAsCQCABIAJBGGpPBEAgACACakEIaiIDIAEgAmtBCGsiATYCACABQXxxIANqQQRrIAFBAXI2AgAgAwJ/IAMoAgBBCGsiAUH/AE0EQCABQQN2QQFrDAELIAFnIQQgAUEdIARrdkEEcyAEQQJ0a0HuAGogAUH/H00NABpBPyABQR4gBGt2QQJzIARBAXRrQccAaiIBIAFBP08bCyIBQQR0IgRB4DJqNgIEIAMgBEHoMmoiBCgCADYCCCAEIAM2AgAgAygCCCADNgIEQeg6Qeg6KQMAQgEgAa2GhDcDACAAIAJBCGoiATYCACABQXxxIABqQQRrIAE2AgAMAQsgACABakEEayABNgIACyAAQQRqBSADCwvmAwEFfwJ/QbAwKAIAIgEgAEEHakF4cSIDaiECAkAgA0EAIAEgAk8bDQAgAj8AQRB0SwRAIAIQFkUNAQtBsDAgAjYCACABDAELQfw7QTA2AgBBfwsiAkF/RwRAIAAgAmoiA0EQayIBQRA2AgwgAUEQNgIAAkACf0HgOigCACIABH8gACgCCAVBAAsgAkYEQCACIAJBBGsoAgBBfnFrIgRBBGsoAgAhBSAAIAM2AghBcCAEIAVBfnFrIgAgACgCAGpBBGstAABBAXFFDQEaIAAoAgQiAyAAKAIINgIIIAAoAgggAzYCBCAAIAEgAGsiATYCAAwCCyACQRA2AgwgAkEQNgIAIAIgAzYCCCACIAA2AgRB4DogAjYCAEEQCyACaiIAIAEgAGsiATYCAAsgAUF8cSAAakEEayABQQFyNgIAIAACfyAAKAIAQQhrIgFB/wBNBEAgAUEDdkEBawwBCyABQR0gAWciA2t2QQRzIANBAnRrQe4AaiABQf8fTQ0AGkE/IAFBHiADa3ZBAnMgA0EBdGtBxwBqIgEgAUE/TxsLIgFBBHQiA0HgMmo2AgQgACADQegyaiIDKAIANgIIIAMgADYCACAAKAIIIAA2AgRB6DpB6DopAwBCASABrYaENwMACyACQX9HC80BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQSBqIgEvAQAQHwJAAkAgAyoCCCIHIAIqAgAiBlwEQCAHIAdbBEAgAi0ABCECDAILIAYgBlwhBAsgAi0ABCECIARFDQAgAy0ADCACQf8BcUYNAQsgBSABIAYgAhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgA0EQaiQAC0ABAX8CQEGsOy0AAEEBcQRAQag7KAIAIQIMAQtBAUGAJxAMIQJBrDtBAToAAEGoOyACNgIACyACIAAgAUEAEBMLzQECA38CfSMAQRBrIgMkAEEBIQQgA0EIaiAAQfwAaiIFIAAgAUEBdGpBMmoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALDwAgASAAKAIAaiACOQMACw0AIAEgACgCAGorAwALCwAgAARAIAAQIwsLxwECBH8CfSMAQRBrIgIkACACQQhqIABB/ABqIgQgAEEeaiIFLwEAEB9BASEDAkACQCACKgIIIgcgASoCACIGXARAIAcgB1sEQCABLQAEIQEMAgsgBiAGXCEDCyABLQAEIQEgA0UNACACLQAMIAFB/wFxRg0BCyAEIAUgBiABEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyACQRBqJAALlgMCA34CfyAAvSICQjSIp0H/D3EiBEH/D0YEQCAARAAAAAAAAPA/oiIAIACjDwsgAkIBhiIBQoCAgICAgIDw/wBYBEAgAEQAAAAAAAAAAKIgACABQoCAgICAgIDw/wBRGw8LAn4gBEUEQEEAIQQgAkIMhiIBQgBZBEADQCAEQQFrIQQgAUIBhiIBQgBZDQALCyACQQEgBGuthgwBCyACQv////////8Hg0KAgICAgICACIQLIQEgBEH/B0oEQANAAkAgAUKAgICAgICACH0iA0IAUw0AIAMiAUIAUg0AIABEAAAAAAAAAACiDwsgAUIBhiEBIARBAWsiBEH/B0oNAAtB/wchBAsCQCABQoCAgICAgIAIfSIDQgBTDQAgAyIBQgBSDQAgAEQAAAAAAAAAAKIPCyABQv////////8HWARAA0AgBEEBayEEIAFCgICAgICAgARUIQUgAUIBhiEBIAUNAAsLIAJCgICAgICAgICAf4MgAUKAgICAgICACH0gBK1CNIaEIAFBASAEa62IIARBAEobhL8LiwEBA38DQCAAQQR0IgFB5DJqIAFB4DJqIgI2AgAgAUHoMmogAjYCACAAQQFqIgBBwABHDQALQTAQZBpBmDtBBjYCAEGcO0EANgIAEJwBQZw7Qcg7KAIANgIAQcg7QZg7NgIAQcw7QcMBNgIAQdA7QQA2AgAQjwFB0DtByDsoAgA2AgBByDtBzDs2AgALjwEBAn8jAEEQayIEJAACfUMAAAAAIAAvABVBgOAAcUUNABogBEEIaiAAQRRqIgBBASACQQJGQQF0IAFB/gFxQQJHGyIFIAIQNgJAIAQtAAxFDQAgBEEIaiAAIAUgAhA2IAQtAAxBA0YNACAAIAEgAiADEIEBDAELIAAgASACIAMQgAGMCyEDIARBEGokACADC4QBAQJ/AkACQCAAKALoAyICIAAoAuwDIgNGDQADQCACKAIAIAFGDQEgAkEEaiICIANHDQALDAELIAIgA0YNACABLQAXQRB0QYCAMHFBgIAgRgRAIAAgACgC4ANBAWs2AuADCyACIAJBBGoiASADIAFrEDMaIAAgA0EEazYC7ANBAQ8LQQALCwBByDEgACABEEkLPAAgAEUEQCACQQVHQQAgAhtFBEBBuDAgAyAEEEkaDwsgAyAEEHAaDwsgACABIAIgAyAEIAAoAgQRDQAaCyYBAX8jAEEQayIBJAAgASAANgIMQbgwQdglIAAQSRogAUEQaiQAC4cDAwN/BXwCfSAAKgKgA7siBiACoCECIAAqApwDuyIHIAGgIQggACgC9AMqAhgiC0MAAAAAXARAIAAqApADuyEJIAAqAowDIQwgACAHIAu7IgFBACAALQAAQRBxIgNBBHYiBBA0OAKcAyAAIAYgAUEAIAQQNDgCoAMgASAMuyIHohBsIgYgBmIiBEUgBplELUMc6+I2Gj9jcUUEQCAEIAZEAAAAAAAA8L+gmUQtQxzr4jYaP2NFciEFCyACIAmgIQogCCAHoCEHAn8gASAJohBsIgYgBmIiBEUEQEEAIAaZRC1DHOviNho/Yw0BGgsgBCAGRAAAAAAAAPC/oJlELUMc6+I2Gj9jRXILIQQgACAHIAEgA0EARyIDIAVxIAMgBUEBc3EQNCAIIAFBACADEDSTOAKMAyAAIAogASADIARxIAMgBEEBc3EQNCACIAFBACADEDSTOAKQAwsgACgC6AMiAyAAKALsAyIARwRAA0AgAygCACAIIAIQcyADQQRqIgMgAEcNAAsLC1UBAX0gAEEUaiIAIAEgAkECSSICIAQgBRA1IQYgACABIAIgBCAFEC0iBUMAAAAAYCADIAVecQR9IAUFIAZDAAAAAGBFBEAgAw8LIAYgAyADIAZdGwsLeAEBfwJAIAAoAgAiAgRAA0AgAUUNAiACIAEoAgQ2AgQgAiABKAIINgIIIAEoAgAhASAAKAIAIQAgAigCACICDQALCyAAIAEQPA8LAkAgAEUNACAAKAIAIgFFDQAgAEEANgIAA0AgASgCACEAIAEQIyAAIgENAAsLC5kCAgZ/AX0gAEEUaiEHQQMhBCAALQAUQQJ2QQNxIQUCQAJ/AkAgAUEBIAAoAuQDGyIIQQJGBEACQCAFQQJrDgIEAAILQQIhBAwDC0ECIQRBACAFQQFLDQEaCyAECyEGIAUhBAsgACAEIAggAyACIARBAkkiBRsQbiEKIAAgBiAIIAIgAyAFGxBuIQMgAEGcA2oiAEEBIAFBAkZBAXQiCCAFG0ECdGogCiAHIAQgASACECKSOAIAIABBAyABQQJHQQF0IgkgBRtBAnRqIAogByAEIAEgAhAhkjgCACAAIAhBASAGQQF2IgQbQQJ0aiADIAcgBiABIAIQIpI4AgAgACAJQQMgBBtBAnRqIAMgByAGIAEgAhAhkjgCAAvUAgEDfyMAQdACayIBJAAgAUEIakEAQcQCECoaIAFBADoAGCABQgA3AxAgAUGAgID+BzYCDCABQRxqQQBBxAEQKhogAUHgAWohAyABQSBqIQIDQCACQoCAgPyLgIDAv383AhAgAkKBgICAEDcCCCACQoCAgPyLgIDAv383AgAgAkEYaiICIANHDQALIAFCgICA/IuAgMC/fzcD8AEgAUKBgICAEDcD6AEgAUKAgID8i4CAwL9/NwPgASABQoCAgP6HgIDg/wA3AoQCIAFCgICA/oeAgOD/ADcC/AEgASABLQD4AUH4AXE6APgBIAFBjAJqQQBBwAAQKhogAEGYAWogAUEIakHEAhArGiAAQgA3AowDIAAgAC0AAEEBcjoAACAAEE8gACgC6AMiAiAAKALsAyIARwRAA0AgAigCABB3IAJBBGoiAiAARw0ACwsgAUHQAmokAAuuAgIKfwJ9IwBBIGsiASQAIAFBgAI7AB4gAEHuAGohByAAQfgDaiEFIABB8gBqIQggAEH2AGohCSAAQfwAaiEDQQAhAANAIAFBEGogAyAJIAFBHmogBGotAAAiAkEBdCIEaiIGLwEAEB8CQAJAIAEtABRFDQAgAUEIaiADIAYvAQAQHyABIAMgBCAIai8BABAfIAEtAAwgAS0ABEcNAAJAIAEqAggiDCAMXCIKIAEqAgAiCyALXHJFBEAgDCALk4tDF7fROF0NAQwCCyAKRSALIAtbcg0BCyABQRBqIAMgBi8BABAfDAELIAFBEGogAyAEIAdqLwEAEB8LIAUgAkEDdGoiAiABLQAUOgAEIAIgASgCEDYCAEEBIQQgACECQQEhACACRQ0ACyABQSBqJAALMgACf0EAIAAvABVBgOAAcUGAwABGDQAaQQEgABA7QwAAAABcDQAaIAAQQEMAAAAAXAsLewEBfSADIASTIgMgA1sEfUMAAAAAIABBFGoiACABIAIgBSAGEDUiByAEkyAHIAdcGyIHQ///f38gACABIAIgBSAGEC0iBSAEkyAFIAVcGyIEIAMgAyAEXhsiAyADIAddGyAHIAMgAyADXBsgAyADWyAHIAdbcRsFIAMLC98FAwR/BX0BfCAJQwAAAABdIAhDAAAAAF1yBH8gDQUgBSESIAEhEyADIRQgByERIAwqAhgiFUMAAAAAXARAIAG7IBW7IhZBAEEAEDQhEyADuyAWQQBBABA0IRQgBbsgFkEAQQAQNCESIAe7IBZBAEEAEDQhEQsCf0EAIAAgBEcNABogEiATk4tDF7fROF0gEyATXCINIBIgElxyRQ0AGkEAIBIgElsNABogDQshDAJAIAIgBkcNACAUIBRcIg0gESARXHJFBEAgESAUk4tDF7fROF0hDwwBCyARIBFbDQAgDSEPC0EBIQ5BASENAkAgDA0AIAEgCpMhAQJAIABFBEAgASABXCIAIAggCFxyRQRAQQAhDCABIAiTi0MXt9E4XUUNAgwDC0EAIQwgCCAIWw0BIAANAgwBCyAAQQJGIQwgAEECRw0AIARBAUcNACABIAhgDQECQCAIIAhcIgAgASABXHJFBEAgASAIk4tDF7fROF1FDQEMAwtBACENIAEgAVsNAkEBIQ0gAA0CC0EAIQ0MAQtBACENIAggCFwiACABIAVdRXINACAMRSABIAFcIhAgBSAFXHIgBEECR3JyDQBBASENIAEgCGANAEEAIQ0gACAQcg0AIAEgCJOLQxe30ThdIQ0LAkAgDw0AIAMgC5MhAQJAAkAgAkUEQCABIAFcIgIgCSAJXHJFBEBBACEAIAEgCZOLQxe30ThdRQ0CDAQLQQAhACAJIAlbDQEgAg0DDAELIAJBAkYhACACQQJHIAZBAUdyDQAgASAJYARADAMLIAkgCVwiACABIAFcckUEQCABIAmTi0MXt9E4XUUNAgwDC0EAIQ4gASABWw0CQQEhDiAADQIMAQsgCSAJXCICIAEgB11Fcg0AIABFIAEgAVwiBCAHIAdcciAGQQJHcnINACABIAlgDQFBACEOIAIgBHINASABIAmTi0MXt9E4XSEODAELQQAhDgsgDSAOcQsL4wEBA38jAEEQayIBJAACQAJAIAAtABRBCHFFDQBBASEDIAAvABVB8AFxQdAARg0AIAEgABAyIAEoAgQhAAJAIAEoAgAiAkUEQEEAIQMgAEUNAQsDQCACKALsAyACKALoAyICa0ECdSAATQ0DIAIgAEECdGooAgAiAC8AFSAALQAXQRB0ciIAQYDgAHFBgMAARyAAQYAecUGACkZxIgMNASABEC4gASgCBCIAIAEoAgAiAnINAAsLIAEoAggiAEUNAANAIAAoAgAhAiAAECMgAiIADQALCyABQRBqJAAgAw8LEAIAC7IBAQR/AkACQCAAKAIEIgMgACgCACIEKALsAyAEKALoAyIBa0ECdUkEQCABIANBAnRqIQIDQCACKAIAIgEtABdBEHRBgIAwcUGAgCBHDQMgASgC7AMgASgC6ANGDQJBDBAeIgIgBDYCBCACIAM2AgggAiAAKAIINgIAQQAhAyAAQQA2AgQgACABNgIAIAAgAjYCCCABIQQgASgC6AMiAiABKALsA0cNAAsLEAIACyAAEC4LC4wQAgx/B30jAEEgayINJAAgDUEIaiABEDIgDSgCCCIOIA0oAgwiDHIEQCADQQEgAxshFSAAQRRqIRQgBUEBaiEWA0ACQAJAAn8CQAJAAkACQAJAIAwgDigC7AMgDigC6AMiDmtBAnVJBEAgDiAMQQJ0aigCACILLwAVIAstABdBEHRyIgxBgIAwcUGAgBBGDQgCQAJAIAxBDHZBA3EOAwEKAAoLIAkhFyAKIRogASgC9AMtABRBBHFFBEAgACoClAMgFEECQQEQMCAUQQJBARAvkpMhFyAAKgKYAyAUQQBBARAwIBRBAEEBEC+SkyEaCyALQRRqIQ8gAS0AFEECdkEDcSEQAkACfwJAIANBAkciE0UEQEEAIQ5BAyEMAkAgEEECaw4CBAACC0ECIQwMAwtBAiEMQQAgEEEBSw0BGgsgDAshDiAQIQwLIA9BAkEBIBcQIiAPQQJBASAXECGSIR0gD0EAQQEgFxAiIRwgD0EAQQEgFxAhIRsgCyoC+AMhGAJAAkACQAJAIAstAPwDQQFrDgIBAAILIBggF5RDCtcjPJQhGAsgGEMAAAAAYEUNACAdIAsgA0EAIBcgFxAxkiEYDAELIA1BGGogDyALQTJqIhAgAxBFQwAAwH8hGCANLQAcRQ0AIA1BGGogDyAQIAMQRCANLQAcRQ0AIA1BGGogDyAQIAMQRSANLQAcQQNGDQAgDUEYaiAPIBAgAxBEIA0tABxBA0YNACALQQIgAyAAKgKUAyAUQQIgAxBLIBRBAiADEFKSkyAPQQIgAyAXEFEgD0ECIAMgFxCDAZKTIBcgFxAlIRgLIBwgG5IhHCALKgKABCEZAkACQAJAIAstAIQEQQFrDgIBAAILIBkgGpRDCtcjPJQhGQsgGUMAAAAAYEUNACAcIAsgA0EBIBogFxAxkiEZDAMLIA1BGGogDyALQTJqIhAQQwJAIA0tABxFDQAgDUEYaiAPIBAQQiANLQAcRQ0AIA1BGGogDyAQEEMgDS0AHEEDRg0AIA1BGGogDyAQEEIgDS0AHEEDRg0AIAtBACADIAAqApgDIBRBACADEEsgFEEAIAMQUpKTIA9BACADIBoQUSAPQQAgAyAaEIMBkpMgGiAXECUhGQwDC0MAAMB/IRkgGCAYXA0GIAtB/ABqIhAgC0H6AGoiEi8BABAgIhsgG1sNAwwFCyALLQAAQQhxDQggCxBPIAAgCyACIAstABRBA3EiDCAVIAwbIAQgFiAGIAsqApwDIAeSIAsqAqADIAiSIAkgChB+IBFyIQxBACERIAxBAXFFDQhBASERIAsgCy0AAEEBcjoAAAwICxACAAsgGCAYXCAZIBlcRg0BIAtB/ABqIhAgC0H6AGoiEi8BABAgIhsgG1wNASAYIBhcBEAgGSAckyAQIAsvAXoQIJQgHZIhGAwCCyAZIBlbDQELIBwgGCAdkyAQIBIvAQAQIJWSIRkLIBggGFwNASAZIBlbDQMLQQAMAQtBAQshEiALIBcgGCACQQFHIAxBAklxIBdDAAAAAF5xIBJxIhAbIBkgA0ECIBIgEBsgGSAZXCAXIBpBAEEGIAQgBSAGED0aIAsqApQDIA9BAkEBIBcQIiAPQQJBASAXECGSkiEYIAsqApgDIA9BAEEBIBcQIiAPQQBBASAXECGSkiEZC0EBIRAgCyAYIBkgA0EAQQAgFyAaQQFBASAEIAUgBhA9GiAAIAEgCyADIAxBASAXIBoQggEgACABIAsgAyAOQQAgFyAaEIIBIBFBAXFFBEAgCy0AAEEBcSEQCyABLQAUIhJBAnZBA3EhDAJAAn8CQAJAAkACQAJAAkACQAJAAkACfwJAIBNFBEBBACERQQMhDiAMQQJrDgIDDQELQQIhDkEAIAxBAUsNARoLIA4LIREgEkEEcUUNBCASQQhxRQ0BIAwhDgsgASEMIA8QXw0BDAILAkAgCy0ANEEHcQ0AIAstADhBB3ENACALLQBCQQdxDQAgDCEOIAEhDCALQUBrLwEAQQdxRQ0CDAELIAwhDgsgACEMCwJ/AkACQAJAIA5BAWsOAwABAgULIAtBmANqIQ4gC0GoA2ohE0EBIRIgDEGYA2oMAgsgC0GUA2ohDiALQZwDaiETQQIhEiAMQZQDagwBCyALQZQDaiEOIAtBpANqIRNBACESIAxBlANqCyEMIAsgEkECdGogDCoCACAOKgIAkyATKgIAkzgCnAMLIBFBAXFFDQUCQAJAIBFBAnEEQCABIQwgDxBfDQEMAgsgCy0ANEEHcQ0AIAstADhBB3ENACALLQBCQQdxDQAgASEMIAtBQGsvAQBBB3FFDQELIAAhDAsgEUEBaw4DAQIDAAsQJAALIAtBmANqIREgC0GoA2ohDkEBIRMgDEGYA2oMAgsgC0GUA2ohESALQZwDaiEOQQIhEyAMQZQDagwBCyALQZQDaiERIAtBpANqIQ5BACETIAxBlANqCyEMIAsgE0ECdGogDCoCACARKgIAkyAOKgIAkzgCnAMLIAsqAqADIRsgCyoCnAMgB0MAAAAAIA8QXxuTIRcCfQJAIAstADRBB3ENACALLQA4QQdxDQAgCy0AQkEHcQ0AIAtBQGsvAQBBB3ENAEMAAAAADAELIAgLIRogCyAXOAKcAyALIBsgGpM4AqADIBAhEQsgDUEIahAuIA0oAgwiDCANKAIIIg5yDQALCyANKAIQIgwEQANAIAwoAgAhACAMECMgACIMDQALCyANQSBqJAAgEUEBcQt2AgF/AX0jAEEQayIEJAAgBEEIaiAAIAFBAnRB7CVqKAIAIAIQUEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAl0MAAAAAIAUgBVsbC3gCAX8BfSMAQRBrIgQkACAEQQhqIABBAyACQQJHQQF0IAFB/gFxQQJHGyACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt4AgF/AX0jAEEQayIEJAAgBEEIaiAAQQEgAkECRkEBdCABQf4BcUECRxsgAhA2QwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLoA0BBH8jAEEQayIJJAAgCUEIaiACQRRqIgggA0ECRkEBdEEBIARB/gFxQQJGIgobIgsgAxA2IAYgByAKGyEHAkACQAJAAkACQAJAIAktAAxFDQAgCUEIaiAIIAsgAxA2IAktAAxBA0YNACAIIAQgAyAHEIEBIABBFGogBCADEDCSIAggBCADIAcQIpIhBkEBIQMCQAJ/AkACQAJAAkAgBA4EAgMBAAcLQQIhAwwBC0EAIQMLIAMgC0YNAgJAAkAgBA4EAgIAAQYLIABBlANqIQNBAAwCCyAAQZQDaiEDQQAMAQsgAEGYA2ohA0EBCyEAIAMqAgAgAiAAQQJ0aioClAOTIAaTIQYLIAIgBEECdEHcJWooAgBBAnRqIAY4ApwDDAULIAlBCGogCCADQQJHQQF0QQMgChsiCiADEDYCQCAJLQAMRQ0AIAlBCGogCCAKIAMQNiAJLQAMQQNGDQACfwJAAkACQCAEDgQCAgABBQsgAEGUA2ohBUEADAILIABBlANqIQVBAAwBCyAAQZgDaiEFQQELIQEgBSoCACACQZQDaiIFIAFBAnRqKgIAkyAAQRRqIAQgAxAvkyAIIAQgAyAHECGTIAggBCADIAcQgAGTIQZBASEDAkACfwJAAkACQAJAIAQOBAIDAQAHC0ECIQMMAQtBACEDCyADIAtGDQICQAJAIAQOBAICAAEGCyAAQZQDaiEDQQAMAgsgAEGUA2ohA0EADAELIABBmANqIQNBAQshACADKgIAIAUgAEECdGoqAgCTIAaTIQYLIAIgBEECdEHcJWooAgBBAnRqIAY4ApwDDAULAkACQAJAIAUEQCABLQAUQQR2QQdxIgBBBUsNCEEBIAB0IgBBMnENASAAQQlxBEAgBEECdEHcJWooAgAhACAIIAQgAyAGEEEgASAAQQJ0IgBqIgEqArwDkiEGIAAgAmogAigC9AMtABRBAnEEfSAGBSAGIAEqAswDkgs4ApwDDAkLIAEgBEECdEHsJWooAgBBAnRqIgAqArwDIAggBCADIAYQYpIhBiACKAL0Ay0AFEECcUUEQCAGIAAqAswDkiEGCwJAAkACQAJAIAQOBAEBAgAICyABKgKUAyACKgKUA5MhB0ECIQMMAgsgASoCmAMgAioCmAOTIQdBASEDAkAgBA4CAgAHC0EDIQMMAQsgASoClAMgAioClAOTIQdBACEDCyACIANBAnRqIAcgBpM4ApwDDAgLIAIvABZBD3EiBUUEQCABLQAVQQR2IQULIAVBBUYEQCABLQAUQQhxRQ0CCyABLwAVQYCAA3FBgIACRgRAIAVBAmsOAgEHAwsgBUEISw0HQQEgBXRB8wNxDQYgBUECRw0CC0EAIQACfQJ/AkACQAJAAkACfwJAAkACQCAEDgQCAgABBAsgASoClAMhB0ECIQAgAUG8A2oMAgsgASoClAMhByABQcQDagwBCyABKgKYAyEHAkACQCAEDgIAAQMLQQMhACABQcADagwBC0EBIQAgAUHIA2oLIQUgByAFKgIAkyABQbwDaiIIIABBAnRqKgIAkyIHIAIoAvQDLQAUQQJxDQUaAkAgBA4EAAIDBAELQQMhACABQdADagwECxAkAAtBASEAIAFB2ANqDAILQQIhACABQcwDagwBC0EAIQAgAUHUA2oLIQUgByAFKgIAkyABIABBAnRqKgLMA5MLIAIgBEECdCIFQfwlaigCAEECdGoqApQDIAJBFGoiACAEQQEgBhAiIAAgBEEBIAYQIZKSk0MAAAA/lCAIIAVB3CVqKAIAIgVBAnRqKgIAkiAAIAQgAyAGEEGSIQYgAiAFQQJ0aiACKAL0Ay0AFEECcQR9IAYFIAYgASAFQQJ0aioCzAOSCzgCnAMMBgsgAS8AFUGAgANxQYCAAkcNBAsgASAEQQJ0QewlaigCAEECdGoiACoCvAMgCCAEIAMgBhBikiEGIAIoAvQDLQAUQQJxRQRAIAYgACoCzAOSIQYLAkACQCAEDgQBAQMAAgsgASoClAMgAioClAOTIQdBAiEDDAMLIAEqApgDIAIqApgDkyEHQQEhAwJAIAQOAgMAAQtBAyEDDAILECQACyABKgKUAyACKgKUA5MhB0EAIQMLIAIgA0ECdGogByAGkzgCnAMMAQsgBEECdEHcJWooAgAhACAIIAQgAyAGEEEgASAAQQJ0IgBqIgEqArwDkiEGIAAgAmogAigC9AMtABRBAnEEfSAGBSAGIAEqAswDkgs4ApwDCyAJQRBqJAALcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QewlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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";
|
|
132
|
-
if (!ua(H)) {
|
|
133
|
-
var va = H;
|
|
134
|
-
H = h.locateFile ? h.locateFile(va, q) : q + va;
|
|
135
|
-
}
|
|
136
|
-
function wa() {
|
|
137
|
-
var a = H;
|
|
138
|
-
try {
|
|
139
|
-
if (a == H && w)
|
|
140
|
-
return new Uint8Array(w);
|
|
141
|
-
if (ua(a))
|
|
142
|
-
try {
|
|
143
|
-
var b = xa(a.slice(37)), c = new Uint8Array(b.length);
|
|
144
|
-
for (a = 0;a < b.length; ++a)
|
|
145
|
-
c[a] = b.charCodeAt(a);
|
|
146
|
-
var d = c;
|
|
147
|
-
} catch (f) {
|
|
148
|
-
throw Error("Converting base64 string to bytes failed.");
|
|
149
|
-
}
|
|
150
|
-
else
|
|
151
|
-
d = undefined;
|
|
152
|
-
var e = d;
|
|
153
|
-
if (e)
|
|
154
|
-
return e;
|
|
155
|
-
throw "both async and sync fetching of the wasm failed";
|
|
156
|
-
} catch (f) {
|
|
157
|
-
x(f);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
function ya() {
|
|
161
|
-
return w || typeof fetch != "function" ? Promise.resolve().then(function() {
|
|
162
|
-
return wa();
|
|
163
|
-
}) : fetch(H, { credentials: "same-origin" }).then(function(a) {
|
|
164
|
-
if (!a.ok)
|
|
165
|
-
throw "failed to load wasm binary file at '" + H + "'";
|
|
166
|
-
return a.arrayBuffer();
|
|
167
|
-
}).catch(function() {
|
|
168
|
-
return wa();
|
|
169
|
-
});
|
|
39
|
+
// ../../node_modules/bun-yoga/dist/darwin-x64/libyoga.dylib
|
|
40
|
+
var exports_libyoga2 = {};
|
|
41
|
+
__export(exports_libyoga2, {
|
|
42
|
+
default: () => libyoga_default2
|
|
43
|
+
});
|
|
44
|
+
var libyoga_default2 = "./libyoga-2ksztx35.dylib";
|
|
45
|
+
var init_libyoga2 = () => {};
|
|
46
|
+
|
|
47
|
+
// ../../node_modules/bun-yoga/dist/linux-x64/libyoga.so
|
|
48
|
+
var exports_libyoga3 = {};
|
|
49
|
+
__export(exports_libyoga3, {
|
|
50
|
+
default: () => libyoga_default3
|
|
51
|
+
});
|
|
52
|
+
var libyoga_default3 = "./libyoga-wnbqxxhv.so";
|
|
53
|
+
var init_libyoga3 = () => {};
|
|
54
|
+
|
|
55
|
+
// ../../node_modules/bun-yoga/dist/linux-arm64/libyoga.so
|
|
56
|
+
var exports_libyoga4 = {};
|
|
57
|
+
__export(exports_libyoga4, {
|
|
58
|
+
default: () => libyoga_default4
|
|
59
|
+
});
|
|
60
|
+
var libyoga_default4 = "./libyoga-gh2tjwb7.so";
|
|
61
|
+
var init_libyoga4 = () => {};
|
|
62
|
+
|
|
63
|
+
// ../../node_modules/bun-yoga/dist/windows-x64/yoga.dll
|
|
64
|
+
var exports_yoga = {};
|
|
65
|
+
__export(exports_yoga, {
|
|
66
|
+
default: () => yoga_default
|
|
67
|
+
});
|
|
68
|
+
var yoga_default = "./yoga-jkgc6c1f.dll";
|
|
69
|
+
var init_yoga = () => {};
|
|
70
|
+
|
|
71
|
+
// ../../node_modules/bun-yoga/dist/index.js
|
|
72
|
+
var require_dist = __commonJS((exports) => {
|
|
73
|
+
var __dirname = "/Users/runner/work/opentui/opentui/node_modules/bun-yoga/dist";
|
|
74
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
75
|
+
exports.OVERFLOW_VISIBLE = exports.WRAP_WRAP_REVERSE = exports.WRAP_WRAP = exports.WRAP_NO_WRAP = exports.ALIGN_SPACE_EVENLY = exports.ALIGN_SPACE_AROUND = exports.ALIGN_SPACE_BETWEEN = exports.ALIGN_BASELINE = exports.ALIGN_STRETCH = exports.ALIGN_FLEX_END = exports.ALIGN_CENTER = exports.ALIGN_FLEX_START = exports.ALIGN_AUTO = exports.JUSTIFY_SPACE_EVENLY = exports.JUSTIFY_SPACE_AROUND = exports.JUSTIFY_SPACE_BETWEEN = exports.JUSTIFY_FLEX_END = exports.JUSTIFY_CENTER = exports.JUSTIFY_FLEX_START = exports.FLEX_DIRECTION_ROW_REVERSE = exports.FLEX_DIRECTION_ROW = exports.FLEX_DIRECTION_COLUMN_REVERSE = exports.FLEX_DIRECTION_COLUMN = exports.EDGE_ALL = exports.EDGE_VERTICAL = exports.EDGE_HORIZONTAL = exports.EDGE_END = exports.EDGE_START = exports.EDGE_BOTTOM = exports.EDGE_RIGHT = exports.EDGE_TOP = exports.EDGE_LEFT = exports.Wrap = exports.Unit = exports.PositionType = exports.Overflow = exports.NodeType = exports.MeasureMode = exports.LogLevel = exports.Justify = exports.Gutter = exports.FlexDirection = exports.ExperimentalFeature = exports.Errata = exports.Edge = exports.Display = exports.Direction = exports.Dimension = exports.BoxSizing = exports.Align = undefined;
|
|
76
|
+
exports.Config = exports.Node = exports.DIRECTION_RTL = exports.DIRECTION_LTR = exports.DIRECTION_INHERIT = exports.POSITION_TYPE_ABSOLUTE = exports.POSITION_TYPE_RELATIVE = exports.POSITION_TYPE_STATIC = exports.DISPLAY_NONE = exports.DISPLAY_FLEX = exports.OVERFLOW_SCROLL = exports.OVERFLOW_HIDDEN = undefined;
|
|
77
|
+
var bun_ffi_1 = __require("bun:ffi");
|
|
78
|
+
var path_1 = __require("path");
|
|
79
|
+
var fs_1 = __require("fs");
|
|
80
|
+
function getEmbeddedLib() {
|
|
81
|
+
try {
|
|
82
|
+
if (process.platform === "darwin" && process.arch === "arm64") {
|
|
83
|
+
return __require.resolve("/Users/runner/work/opentui/opentui/node_modules/bun-yoga/dist/darwin-arm64/libyoga.dylib");
|
|
84
|
+
} else if (process.platform === "darwin" && process.arch === "x64") {
|
|
85
|
+
return __require.resolve("/Users/runner/work/opentui/opentui/node_modules/bun-yoga/dist/darwin-x64/libyoga.dylib");
|
|
86
|
+
} else if (process.platform === "linux" && process.arch === "x64") {
|
|
87
|
+
return __require.resolve("/Users/runner/work/opentui/opentui/node_modules/bun-yoga/dist/linux-x64/libyoga.so");
|
|
88
|
+
} else if (process.platform === "linux" && process.arch === "arm64") {
|
|
89
|
+
return __require.resolve("/Users/runner/work/opentui/opentui/node_modules/bun-yoga/dist/linux-arm64/libyoga.so");
|
|
90
|
+
} else if (process.platform === "win32") {
|
|
91
|
+
return __require.resolve("/Users/runner/work/opentui/opentui/node_modules/bun-yoga/dist/windows-x64/yoga.dll");
|
|
92
|
+
}
|
|
93
|
+
return;
|
|
94
|
+
} catch {
|
|
95
|
+
return;
|
|
170
96
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
return function() {
|
|
185
|
-
return b.apply(this, arguments);
|
|
186
|
-
};
|
|
97
|
+
}
|
|
98
|
+
function getLibPath() {
|
|
99
|
+
if (process.platform === "win32") {
|
|
100
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "zig-out", "lib", `yoga.${bun_ffi_1.suffix}`))) {
|
|
101
|
+
return (0, path_1.join)(__dirname, "..", "zig-out", "lib", `yoga.${bun_ffi_1.suffix}`);
|
|
102
|
+
}
|
|
103
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "zig-out", "bin", `yoga.${bun_ffi_1.suffix}`))) {
|
|
104
|
+
return (0, path_1.join)(__dirname, "..", "zig-out", "bin", `yoga.${bun_ffi_1.suffix}`);
|
|
105
|
+
}
|
|
106
|
+
} else {
|
|
107
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "zig-out", "lib", `libyoga.${bun_ffi_1.suffix}`))) {
|
|
108
|
+
return (0, path_1.join)(__dirname, "..", "zig-out", "lib", `libyoga.${bun_ffi_1.suffix}`);
|
|
109
|
+
}
|
|
187
110
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
111
|
+
const embedded = getEmbeddedLib();
|
|
112
|
+
if (embedded) {
|
|
113
|
+
return embedded;
|
|
114
|
+
}
|
|
115
|
+
if (process.platform === "darwin" && process.arch === "arm64") {
|
|
116
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "dist", "darwin-arm64", `libyoga.${bun_ffi_1.suffix}`))) {
|
|
117
|
+
return (0, path_1.join)(__dirname, "..", "dist", "darwin-arm64", `libyoga.${bun_ffi_1.suffix}`);
|
|
118
|
+
}
|
|
119
|
+
} else if (process.platform === "darwin" && process.arch === "x64") {
|
|
120
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "dist", "darwin-x64", `libyoga.${bun_ffi_1.suffix}`))) {
|
|
121
|
+
return (0, path_1.join)(__dirname, "..", "dist", "darwin-x64", `libyoga.${bun_ffi_1.suffix}`);
|
|
122
|
+
}
|
|
123
|
+
} else if (process.platform === "linux" && process.arch === "x64") {
|
|
124
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "dist", "linux-x64", `libyoga.${bun_ffi_1.suffix}`))) {
|
|
125
|
+
return (0, path_1.join)(__dirname, "..", "dist", "linux-x64", `libyoga.${bun_ffi_1.suffix}`);
|
|
126
|
+
}
|
|
127
|
+
} else if (process.platform === "linux" && process.arch === "arm64") {
|
|
128
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "dist", "linux-arm64", `libyoga.${bun_ffi_1.suffix}`))) {
|
|
129
|
+
return (0, path_1.join)(__dirname, "..", "dist", "linux-arm64", `libyoga.${bun_ffi_1.suffix}`);
|
|
130
|
+
}
|
|
131
|
+
} else if (process.platform === "win32") {
|
|
132
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(__dirname, "..", "dist", "windows-x64", `yoga.${bun_ffi_1.suffix}`))) {
|
|
133
|
+
return (0, path_1.join)(__dirname, "..", "dist", "windows-x64", `yoga.${bun_ffi_1.suffix}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
throw new Error(`Could not find native library. ` + `Platform: ${process.platform}-${process.arch}
|
|
137
|
+
` + `Make sure to run 'zig build' or install the package with binaries.`);
|
|
138
|
+
}
|
|
139
|
+
exports.Align = {
|
|
140
|
+
Auto: 0,
|
|
141
|
+
FlexStart: 1,
|
|
142
|
+
Center: 2,
|
|
143
|
+
FlexEnd: 3,
|
|
144
|
+
Stretch: 4,
|
|
145
|
+
Baseline: 5,
|
|
146
|
+
SpaceBetween: 6,
|
|
147
|
+
SpaceAround: 7,
|
|
148
|
+
SpaceEvenly: 8
|
|
149
|
+
};
|
|
150
|
+
exports.BoxSizing = {
|
|
151
|
+
BorderBox: 0,
|
|
152
|
+
ContentBox: 1
|
|
153
|
+
};
|
|
154
|
+
exports.Dimension = {
|
|
155
|
+
Width: 0,
|
|
156
|
+
Height: 1
|
|
157
|
+
};
|
|
158
|
+
exports.Direction = {
|
|
159
|
+
Inherit: 0,
|
|
160
|
+
LTR: 1,
|
|
161
|
+
RTL: 2
|
|
162
|
+
};
|
|
163
|
+
exports.Display = {
|
|
164
|
+
Flex: 0,
|
|
165
|
+
None: 1,
|
|
166
|
+
Contents: 2
|
|
167
|
+
};
|
|
168
|
+
exports.Edge = {
|
|
169
|
+
Left: 0,
|
|
170
|
+
Top: 1,
|
|
171
|
+
Right: 2,
|
|
172
|
+
Bottom: 3,
|
|
173
|
+
Start: 4,
|
|
174
|
+
End: 5,
|
|
175
|
+
Horizontal: 6,
|
|
176
|
+
Vertical: 7,
|
|
177
|
+
All: 8
|
|
178
|
+
};
|
|
179
|
+
exports.Errata = {
|
|
180
|
+
None: 0,
|
|
181
|
+
StretchFlexBasis: 1,
|
|
182
|
+
AbsolutePositionWithoutInsetsExcludesPadding: 2,
|
|
183
|
+
AbsolutePercentAgainstInnerSize: 4,
|
|
184
|
+
All: 2147483647,
|
|
185
|
+
Classic: 2147483646
|
|
186
|
+
};
|
|
187
|
+
exports.ExperimentalFeature = {
|
|
188
|
+
WebFlexBasis: 0
|
|
189
|
+
};
|
|
190
|
+
exports.FlexDirection = {
|
|
191
|
+
Column: 0,
|
|
192
|
+
ColumnReverse: 1,
|
|
193
|
+
Row: 2,
|
|
194
|
+
RowReverse: 3
|
|
195
|
+
};
|
|
196
|
+
exports.Gutter = {
|
|
197
|
+
Column: 0,
|
|
198
|
+
Row: 1,
|
|
199
|
+
All: 2
|
|
200
|
+
};
|
|
201
|
+
exports.Justify = {
|
|
202
|
+
FlexStart: 0,
|
|
203
|
+
Center: 1,
|
|
204
|
+
FlexEnd: 2,
|
|
205
|
+
SpaceBetween: 3,
|
|
206
|
+
SpaceAround: 4,
|
|
207
|
+
SpaceEvenly: 5
|
|
208
|
+
};
|
|
209
|
+
exports.LogLevel = {
|
|
210
|
+
Error: 0,
|
|
211
|
+
Warn: 1,
|
|
212
|
+
Info: 2,
|
|
213
|
+
Debug: 3,
|
|
214
|
+
Verbose: 4,
|
|
215
|
+
Fatal: 5
|
|
216
|
+
};
|
|
217
|
+
exports.MeasureMode = {
|
|
218
|
+
Undefined: 0,
|
|
219
|
+
Exactly: 1,
|
|
220
|
+
AtMost: 2
|
|
221
|
+
};
|
|
222
|
+
exports.NodeType = {
|
|
223
|
+
Default: 0,
|
|
224
|
+
Text: 1
|
|
225
|
+
};
|
|
226
|
+
exports.Overflow = {
|
|
227
|
+
Visible: 0,
|
|
228
|
+
Hidden: 1,
|
|
229
|
+
Scroll: 2
|
|
230
|
+
};
|
|
231
|
+
exports.PositionType = {
|
|
232
|
+
Static: 0,
|
|
233
|
+
Relative: 1,
|
|
234
|
+
Absolute: 2
|
|
235
|
+
};
|
|
236
|
+
exports.Unit = {
|
|
237
|
+
Undefined: 0,
|
|
238
|
+
Point: 1,
|
|
239
|
+
Percent: 2,
|
|
240
|
+
Auto: 3
|
|
241
|
+
};
|
|
242
|
+
exports.Wrap = {
|
|
243
|
+
NoWrap: 0,
|
|
244
|
+
Wrap: 1,
|
|
245
|
+
WrapReverse: 2
|
|
246
|
+
};
|
|
247
|
+
exports.EDGE_LEFT = exports.Edge.Left;
|
|
248
|
+
exports.EDGE_TOP = exports.Edge.Top;
|
|
249
|
+
exports.EDGE_RIGHT = exports.Edge.Right;
|
|
250
|
+
exports.EDGE_BOTTOM = exports.Edge.Bottom;
|
|
251
|
+
exports.EDGE_START = exports.Edge.Start;
|
|
252
|
+
exports.EDGE_END = exports.Edge.End;
|
|
253
|
+
exports.EDGE_HORIZONTAL = exports.Edge.Horizontal;
|
|
254
|
+
exports.EDGE_VERTICAL = exports.Edge.Vertical;
|
|
255
|
+
exports.EDGE_ALL = exports.Edge.All;
|
|
256
|
+
exports.FLEX_DIRECTION_COLUMN = exports.FlexDirection.Column;
|
|
257
|
+
exports.FLEX_DIRECTION_COLUMN_REVERSE = exports.FlexDirection.ColumnReverse;
|
|
258
|
+
exports.FLEX_DIRECTION_ROW = exports.FlexDirection.Row;
|
|
259
|
+
exports.FLEX_DIRECTION_ROW_REVERSE = exports.FlexDirection.RowReverse;
|
|
260
|
+
exports.JUSTIFY_FLEX_START = exports.Justify.FlexStart;
|
|
261
|
+
exports.JUSTIFY_CENTER = exports.Justify.Center;
|
|
262
|
+
exports.JUSTIFY_FLEX_END = exports.Justify.FlexEnd;
|
|
263
|
+
exports.JUSTIFY_SPACE_BETWEEN = exports.Justify.SpaceBetween;
|
|
264
|
+
exports.JUSTIFY_SPACE_AROUND = exports.Justify.SpaceAround;
|
|
265
|
+
exports.JUSTIFY_SPACE_EVENLY = exports.Justify.SpaceEvenly;
|
|
266
|
+
exports.ALIGN_AUTO = exports.Align.Auto;
|
|
267
|
+
exports.ALIGN_FLEX_START = exports.Align.FlexStart;
|
|
268
|
+
exports.ALIGN_CENTER = exports.Align.Center;
|
|
269
|
+
exports.ALIGN_FLEX_END = exports.Align.FlexEnd;
|
|
270
|
+
exports.ALIGN_STRETCH = exports.Align.Stretch;
|
|
271
|
+
exports.ALIGN_BASELINE = exports.Align.Baseline;
|
|
272
|
+
exports.ALIGN_SPACE_BETWEEN = exports.Align.SpaceBetween;
|
|
273
|
+
exports.ALIGN_SPACE_AROUND = exports.Align.SpaceAround;
|
|
274
|
+
exports.ALIGN_SPACE_EVENLY = exports.Align.SpaceEvenly;
|
|
275
|
+
exports.WRAP_NO_WRAP = exports.Wrap.NoWrap;
|
|
276
|
+
exports.WRAP_WRAP = exports.Wrap.Wrap;
|
|
277
|
+
exports.WRAP_WRAP_REVERSE = exports.Wrap.WrapReverse;
|
|
278
|
+
exports.OVERFLOW_VISIBLE = exports.Overflow.Visible;
|
|
279
|
+
exports.OVERFLOW_HIDDEN = exports.Overflow.Hidden;
|
|
280
|
+
exports.OVERFLOW_SCROLL = exports.Overflow.Scroll;
|
|
281
|
+
exports.DISPLAY_FLEX = exports.Display.Flex;
|
|
282
|
+
exports.DISPLAY_NONE = exports.Display.None;
|
|
283
|
+
exports.POSITION_TYPE_STATIC = exports.PositionType.Static;
|
|
284
|
+
exports.POSITION_TYPE_RELATIVE = exports.PositionType.Relative;
|
|
285
|
+
exports.POSITION_TYPE_ABSOLUTE = exports.PositionType.Absolute;
|
|
286
|
+
exports.DIRECTION_INHERIT = exports.Direction.Inherit;
|
|
287
|
+
exports.DIRECTION_LTR = exports.Direction.LTR;
|
|
288
|
+
exports.DIRECTION_RTL = exports.Direction.RTL;
|
|
289
|
+
function parseValue(value) {
|
|
290
|
+
if (value === undefined) {
|
|
291
|
+
return { unit: exports.Unit.Undefined, asNumber: undefined };
|
|
292
|
+
}
|
|
293
|
+
if (value === "auto") {
|
|
294
|
+
return { unit: exports.Unit.Auto, asNumber: undefined };
|
|
295
|
+
}
|
|
296
|
+
if (typeof value === "string" && value.endsWith("%")) {
|
|
297
|
+
return { unit: exports.Unit.Percent, asNumber: parseFloat(value) };
|
|
298
|
+
}
|
|
299
|
+
return { unit: exports.Unit.Point, asNumber: value };
|
|
300
|
+
}
|
|
301
|
+
function unpackValue(packed) {
|
|
302
|
+
const p = BigInt(packed);
|
|
303
|
+
const unit = Number(p & 0xffffffffn);
|
|
304
|
+
const valueBits = Number(p >> 32n & 0xffffffffn);
|
|
305
|
+
const buffer = new ArrayBuffer(4);
|
|
306
|
+
const view = new DataView(buffer);
|
|
307
|
+
view.setUint32(0, valueBits, true);
|
|
308
|
+
const value = view.getFloat32(0, true);
|
|
309
|
+
return { unit, value };
|
|
310
|
+
}
|
|
311
|
+
var lib = (0, bun_ffi_1.dlopen)(getLibPath(), {
|
|
312
|
+
ygConfigNew: { args: [], returns: "ptr" },
|
|
313
|
+
ygConfigFree: { args: ["ptr"], returns: "void" },
|
|
314
|
+
ygConfigGetDefault: { args: [], returns: "ptr" },
|
|
315
|
+
ygConfigSetUseWebDefaults: { args: ["ptr", "bool"], returns: "void" },
|
|
316
|
+
ygConfigGetUseWebDefaults: { args: ["ptr"], returns: "bool" },
|
|
317
|
+
ygConfigSetPointScaleFactor: { args: ["ptr", "f32"], returns: "void" },
|
|
318
|
+
ygConfigGetPointScaleFactor: { args: ["ptr"], returns: "f32" },
|
|
319
|
+
ygConfigSetErrata: { args: ["ptr", "i32"], returns: "void" },
|
|
320
|
+
ygConfigGetErrata: { args: ["ptr"], returns: "i32" },
|
|
321
|
+
ygConfigSetExperimentalFeatureEnabled: {
|
|
322
|
+
args: ["ptr", "i32", "bool"],
|
|
323
|
+
returns: "void"
|
|
324
|
+
},
|
|
325
|
+
ygConfigIsExperimentalFeatureEnabled: {
|
|
326
|
+
args: ["ptr", "i32"],
|
|
327
|
+
returns: "bool"
|
|
328
|
+
},
|
|
329
|
+
ygNodeNew: { args: [], returns: "ptr" },
|
|
330
|
+
ygNodeNewWithConfig: { args: ["ptr"], returns: "ptr" },
|
|
331
|
+
ygNodeClone: { args: ["ptr"], returns: "ptr" },
|
|
332
|
+
ygNodeFree: { args: ["ptr"], returns: "void" },
|
|
333
|
+
ygNodeFreeRecursive: { args: ["ptr"], returns: "void" },
|
|
334
|
+
ygNodeReset: { args: ["ptr"], returns: "void" },
|
|
335
|
+
ygNodeCopyStyle: { args: ["ptr", "ptr"], returns: "void" },
|
|
336
|
+
ygNodeSetIsReferenceBaseline: { args: ["ptr", "bool"], returns: "void" },
|
|
337
|
+
ygNodeIsReferenceBaseline: { args: ["ptr"], returns: "bool" },
|
|
338
|
+
ygNodeSetAlwaysFormsContainingBlock: {
|
|
339
|
+
args: ["ptr", "bool"],
|
|
340
|
+
returns: "void"
|
|
341
|
+
},
|
|
342
|
+
ygNodeInsertChild: { args: ["ptr", "ptr", "u64"], returns: "void" },
|
|
343
|
+
ygNodeRemoveChild: { args: ["ptr", "ptr"], returns: "void" },
|
|
344
|
+
ygNodeRemoveAllChildren: { args: ["ptr"], returns: "void" },
|
|
345
|
+
ygNodeGetChild: { args: ["ptr", "u64"], returns: "ptr" },
|
|
346
|
+
ygNodeGetChildCount: { args: ["ptr"], returns: "u64" },
|
|
347
|
+
ygNodeGetParent: { args: ["ptr"], returns: "ptr" },
|
|
348
|
+
ygNodeCalculateLayout: { args: ["ptr", "f32", "f32", "i32"], returns: "void" },
|
|
349
|
+
ygNodeGetHasNewLayout: { args: ["ptr"], returns: "bool" },
|
|
350
|
+
ygNodeSetHasNewLayout: { args: ["ptr", "bool"], returns: "void" },
|
|
351
|
+
ygNodeMarkDirty: { args: ["ptr"], returns: "void" },
|
|
352
|
+
ygNodeIsDirty: { args: ["ptr"], returns: "bool" },
|
|
353
|
+
ygNodeLayoutGetLeft: { args: ["ptr"], returns: "f32" },
|
|
354
|
+
ygNodeLayoutGetTop: { args: ["ptr"], returns: "f32" },
|
|
355
|
+
ygNodeLayoutGetRight: { args: ["ptr"], returns: "f32" },
|
|
356
|
+
ygNodeLayoutGetBottom: { args: ["ptr"], returns: "f32" },
|
|
357
|
+
ygNodeLayoutGetWidth: { args: ["ptr"], returns: "f32" },
|
|
358
|
+
ygNodeLayoutGetHeight: { args: ["ptr"], returns: "f32" },
|
|
359
|
+
ygNodeLayoutGetBorder: { args: ["ptr", "i32"], returns: "f32" },
|
|
360
|
+
ygNodeLayoutGetMargin: { args: ["ptr", "i32"], returns: "f32" },
|
|
361
|
+
ygNodeLayoutGetPadding: { args: ["ptr", "i32"], returns: "f32" },
|
|
362
|
+
ygNodeStyleSetDirection: { args: ["ptr", "i32"], returns: "void" },
|
|
363
|
+
ygNodeStyleGetDirection: { args: ["ptr"], returns: "i32" },
|
|
364
|
+
ygNodeStyleSetFlexDirection: { args: ["ptr", "i32"], returns: "void" },
|
|
365
|
+
ygNodeStyleGetFlexDirection: { args: ["ptr"], returns: "i32" },
|
|
366
|
+
ygNodeStyleSetJustifyContent: { args: ["ptr", "i32"], returns: "void" },
|
|
367
|
+
ygNodeStyleGetJustifyContent: { args: ["ptr"], returns: "i32" },
|
|
368
|
+
ygNodeStyleSetAlignContent: { args: ["ptr", "i32"], returns: "void" },
|
|
369
|
+
ygNodeStyleGetAlignContent: { args: ["ptr"], returns: "i32" },
|
|
370
|
+
ygNodeStyleSetAlignItems: { args: ["ptr", "i32"], returns: "void" },
|
|
371
|
+
ygNodeStyleGetAlignItems: { args: ["ptr"], returns: "i32" },
|
|
372
|
+
ygNodeStyleSetAlignSelf: { args: ["ptr", "i32"], returns: "void" },
|
|
373
|
+
ygNodeStyleGetAlignSelf: { args: ["ptr"], returns: "i32" },
|
|
374
|
+
ygNodeStyleSetPositionType: { args: ["ptr", "i32"], returns: "void" },
|
|
375
|
+
ygNodeStyleGetPositionType: { args: ["ptr"], returns: "i32" },
|
|
376
|
+
ygNodeStyleSetFlexWrap: { args: ["ptr", "i32"], returns: "void" },
|
|
377
|
+
ygNodeStyleGetFlexWrap: { args: ["ptr"], returns: "i32" },
|
|
378
|
+
ygNodeStyleSetOverflow: { args: ["ptr", "i32"], returns: "void" },
|
|
379
|
+
ygNodeStyleGetOverflow: { args: ["ptr"], returns: "i32" },
|
|
380
|
+
ygNodeStyleSetDisplay: { args: ["ptr", "i32"], returns: "void" },
|
|
381
|
+
ygNodeStyleGetDisplay: { args: ["ptr"], returns: "i32" },
|
|
382
|
+
ygNodeStyleSetBoxSizing: { args: ["ptr", "i32"], returns: "void" },
|
|
383
|
+
ygNodeStyleGetBoxSizing: { args: ["ptr"], returns: "i32" },
|
|
384
|
+
ygNodeStyleSetFlex: { args: ["ptr", "f32"], returns: "void" },
|
|
385
|
+
ygNodeStyleGetFlex: { args: ["ptr"], returns: "f32" },
|
|
386
|
+
ygNodeStyleSetFlexGrow: { args: ["ptr", "f32"], returns: "void" },
|
|
387
|
+
ygNodeStyleGetFlexGrow: { args: ["ptr"], returns: "f32" },
|
|
388
|
+
ygNodeStyleSetFlexShrink: { args: ["ptr", "f32"], returns: "void" },
|
|
389
|
+
ygNodeStyleGetFlexShrink: { args: ["ptr"], returns: "f32" },
|
|
390
|
+
ygNodeStyleSetFlexBasis: { args: ["ptr", "f32"], returns: "void" },
|
|
391
|
+
ygNodeStyleSetFlexBasisPercent: { args: ["ptr", "f32"], returns: "void" },
|
|
392
|
+
ygNodeStyleSetFlexBasisAuto: { args: ["ptr"], returns: "void" },
|
|
393
|
+
ygNodeStyleSetPosition: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
394
|
+
ygNodeStyleSetPositionPercent: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
395
|
+
ygNodeStyleSetPositionAuto: { args: ["ptr", "i32"], returns: "void" },
|
|
396
|
+
ygNodeStyleSetMargin: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
397
|
+
ygNodeStyleSetMarginPercent: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
398
|
+
ygNodeStyleSetMarginAuto: { args: ["ptr", "i32"], returns: "void" },
|
|
399
|
+
ygNodeStyleSetPadding: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
400
|
+
ygNodeStyleSetPaddingPercent: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
401
|
+
ygNodeStyleSetBorder: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
402
|
+
ygNodeStyleGetBorder: { args: ["ptr", "i32"], returns: "f32" },
|
|
403
|
+
ygNodeStyleSetGap: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
404
|
+
ygNodeStyleSetGapPercent: { args: ["ptr", "i32", "f32"], returns: "void" },
|
|
405
|
+
ygNodeStyleSetWidth: { args: ["ptr", "f32"], returns: "void" },
|
|
406
|
+
ygNodeStyleSetWidthPercent: { args: ["ptr", "f32"], returns: "void" },
|
|
407
|
+
ygNodeStyleSetWidthAuto: { args: ["ptr"], returns: "void" },
|
|
408
|
+
ygNodeStyleSetHeight: { args: ["ptr", "f32"], returns: "void" },
|
|
409
|
+
ygNodeStyleSetHeightPercent: { args: ["ptr", "f32"], returns: "void" },
|
|
410
|
+
ygNodeStyleSetHeightAuto: { args: ["ptr"], returns: "void" },
|
|
411
|
+
ygNodeStyleSetMinWidth: { args: ["ptr", "f32"], returns: "void" },
|
|
412
|
+
ygNodeStyleSetMinWidthPercent: { args: ["ptr", "f32"], returns: "void" },
|
|
413
|
+
ygNodeStyleSetMinHeight: { args: ["ptr", "f32"], returns: "void" },
|
|
414
|
+
ygNodeStyleSetMinHeightPercent: { args: ["ptr", "f32"], returns: "void" },
|
|
415
|
+
ygNodeStyleSetMaxWidth: { args: ["ptr", "f32"], returns: "void" },
|
|
416
|
+
ygNodeStyleSetMaxWidthPercent: { args: ["ptr", "f32"], returns: "void" },
|
|
417
|
+
ygNodeStyleSetMaxHeight: { args: ["ptr", "f32"], returns: "void" },
|
|
418
|
+
ygNodeStyleSetMaxHeightPercent: { args: ["ptr", "f32"], returns: "void" },
|
|
419
|
+
ygNodeStyleSetAspectRatio: { args: ["ptr", "f32"], returns: "void" },
|
|
420
|
+
ygNodeStyleGetAspectRatio: { args: ["ptr"], returns: "f32" },
|
|
421
|
+
ygNodeSetContext: { args: ["ptr", "ptr"], returns: "void" },
|
|
422
|
+
ygNodeGetContext: { args: ["ptr"], returns: "ptr" },
|
|
423
|
+
ygNodeSetMeasureFunc: { args: ["ptr", "ptr"], returns: "void" },
|
|
424
|
+
ygNodeUnsetMeasureFunc: { args: ["ptr"], returns: "void" },
|
|
425
|
+
ygNodeHasMeasureFunc: { args: ["ptr"], returns: "bool" },
|
|
426
|
+
ygNodeSetBaselineFunc: { args: ["ptr", "ptr"], returns: "void" },
|
|
427
|
+
ygNodeUnsetBaselineFunc: { args: ["ptr"], returns: "void" },
|
|
428
|
+
ygNodeHasBaselineFunc: { args: ["ptr"], returns: "bool" },
|
|
429
|
+
ygNodeSetDirtiedFunc: { args: ["ptr", "ptr"], returns: "void" },
|
|
430
|
+
ygNodeUnsetDirtiedFunc: { args: ["ptr"], returns: "void" },
|
|
431
|
+
ygNodeGetDirtiedFunc: { args: ["ptr"], returns: "ptr" },
|
|
432
|
+
ygCreateSize: { args: ["f32", "f32"], returns: "u64" },
|
|
433
|
+
ygStoreMeasureResult: { args: ["f32", "f32"], returns: "void" },
|
|
434
|
+
ygStoreBaselineResult: { args: ["f32"], returns: "void" },
|
|
435
|
+
ygNodeSetMeasureFuncTrampoline: { args: ["ptr", "ptr"], returns: "void" },
|
|
436
|
+
ygNodeUnsetMeasureFuncTrampoline: { args: ["ptr"], returns: "void" },
|
|
437
|
+
ygNodeSetBaselineFuncTrampoline: { args: ["ptr", "ptr"], returns: "void" },
|
|
438
|
+
ygNodeUnsetBaselineFuncTrampoline: { args: ["ptr"], returns: "void" },
|
|
439
|
+
ygNodeFreeCallbacks: { args: ["ptr"], returns: "void" },
|
|
440
|
+
ygNodeStyleGetWidthPacked: { args: ["ptr"], returns: "u64" },
|
|
441
|
+
ygNodeStyleGetHeightPacked: { args: ["ptr"], returns: "u64" },
|
|
442
|
+
ygNodeStyleGetMinWidthPacked: { args: ["ptr"], returns: "u64" },
|
|
443
|
+
ygNodeStyleGetMinHeightPacked: { args: ["ptr"], returns: "u64" },
|
|
444
|
+
ygNodeStyleGetMaxWidthPacked: { args: ["ptr"], returns: "u64" },
|
|
445
|
+
ygNodeStyleGetMaxHeightPacked: { args: ["ptr"], returns: "u64" },
|
|
446
|
+
ygNodeStyleGetMarginPacked: { args: ["ptr", "i32"], returns: "u64" },
|
|
447
|
+
ygNodeStyleGetPaddingPacked: { args: ["ptr", "i32"], returns: "u64" },
|
|
448
|
+
ygNodeStyleGetPositionPacked: { args: ["ptr", "i32"], returns: "u64" },
|
|
449
|
+
ygNodeStyleGetGapPacked: { args: ["ptr", "i32"], returns: "u64" },
|
|
450
|
+
ygNodeStyleGetFlexBasisPacked: { args: ["ptr"], returns: "u64" }
|
|
451
|
+
});
|
|
452
|
+
var yg = lib.symbols;
|
|
453
|
+
|
|
454
|
+
class Node {
|
|
455
|
+
ptr;
|
|
456
|
+
_freed = false;
|
|
457
|
+
measureCallback = null;
|
|
458
|
+
baselineCallback = null;
|
|
459
|
+
dirtiedCallback = null;
|
|
460
|
+
constructor(ptr) {
|
|
461
|
+
this.ptr = ptr;
|
|
462
|
+
}
|
|
463
|
+
isFreed() {
|
|
464
|
+
return this._freed;
|
|
465
|
+
}
|
|
466
|
+
assertNotFreed() {
|
|
467
|
+
if (this._freed) {
|
|
468
|
+
throw new Error("Cannot access freed Yoga node");
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
static create(config) {
|
|
472
|
+
const ptr = config ? yg.ygNodeNewWithConfig(config["ptr"]) : yg.ygNodeNew();
|
|
473
|
+
if (!ptr)
|
|
474
|
+
throw new Error("Failed to create node");
|
|
475
|
+
return new Node(ptr);
|
|
476
|
+
}
|
|
477
|
+
static createDefault() {
|
|
478
|
+
return Node.create();
|
|
479
|
+
}
|
|
480
|
+
static createWithConfig(config) {
|
|
481
|
+
return Node.create(config);
|
|
482
|
+
}
|
|
483
|
+
static destroy(node) {
|
|
484
|
+
node.free();
|
|
485
|
+
}
|
|
486
|
+
free() {
|
|
487
|
+
if (this._freed)
|
|
488
|
+
return;
|
|
489
|
+
this.unsetMeasureFunc();
|
|
490
|
+
this.unsetBaselineFunc();
|
|
491
|
+
this.unsetDirtiedFunc();
|
|
492
|
+
yg.ygNodeFree(this.ptr);
|
|
493
|
+
this._freed = true;
|
|
494
|
+
}
|
|
495
|
+
freeRecursive() {
|
|
496
|
+
if (this._freed)
|
|
497
|
+
return;
|
|
498
|
+
this.cleanupCallbacks();
|
|
499
|
+
yg.ygNodeFreeRecursive(this.ptr);
|
|
500
|
+
this._freed = true;
|
|
501
|
+
}
|
|
502
|
+
reset() {
|
|
503
|
+
this.assertNotFreed();
|
|
504
|
+
this.cleanupCallbacks();
|
|
505
|
+
yg.ygNodeReset(this.ptr);
|
|
506
|
+
}
|
|
507
|
+
cleanupCallbacks() {
|
|
508
|
+
if (this.measureCallback) {
|
|
509
|
+
this.measureCallback.close();
|
|
510
|
+
this.measureCallback = null;
|
|
511
|
+
}
|
|
512
|
+
if (this.baselineCallback) {
|
|
513
|
+
this.baselineCallback.close();
|
|
514
|
+
this.baselineCallback = null;
|
|
515
|
+
}
|
|
516
|
+
if (this.dirtiedCallback) {
|
|
517
|
+
this.dirtiedCallback.close();
|
|
518
|
+
this.dirtiedCallback = null;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
clone() {
|
|
522
|
+
this.assertNotFreed();
|
|
523
|
+
const ptr = yg.ygNodeClone(this.ptr);
|
|
524
|
+
if (!ptr)
|
|
525
|
+
throw new Error("Failed to clone node");
|
|
526
|
+
return new Node(ptr);
|
|
527
|
+
}
|
|
528
|
+
copyStyle(node) {
|
|
529
|
+
this.assertNotFreed();
|
|
530
|
+
yg.ygNodeCopyStyle(this.ptr, node.ptr);
|
|
531
|
+
}
|
|
532
|
+
setIsReferenceBaseline(isReferenceBaseline) {
|
|
533
|
+
this.assertNotFreed();
|
|
534
|
+
yg.ygNodeSetIsReferenceBaseline(this.ptr, isReferenceBaseline);
|
|
535
|
+
}
|
|
536
|
+
isReferenceBaseline() {
|
|
537
|
+
this.assertNotFreed();
|
|
538
|
+
return yg.ygNodeIsReferenceBaseline(this.ptr);
|
|
539
|
+
}
|
|
540
|
+
setAlwaysFormsContainingBlock(alwaysFormsContainingBlock) {
|
|
541
|
+
this.assertNotFreed();
|
|
542
|
+
yg.ygNodeSetAlwaysFormsContainingBlock(this.ptr, alwaysFormsContainingBlock);
|
|
543
|
+
}
|
|
544
|
+
insertChild(child, index) {
|
|
545
|
+
this.assertNotFreed();
|
|
546
|
+
yg.ygNodeInsertChild(this.ptr, child.ptr, index);
|
|
547
|
+
}
|
|
548
|
+
removeChild(child) {
|
|
549
|
+
this.assertNotFreed();
|
|
550
|
+
yg.ygNodeRemoveChild(this.ptr, child.ptr);
|
|
551
|
+
}
|
|
552
|
+
removeAllChildren() {
|
|
553
|
+
this.assertNotFreed();
|
|
554
|
+
yg.ygNodeRemoveAllChildren(this.ptr);
|
|
555
|
+
}
|
|
556
|
+
getChild(index) {
|
|
557
|
+
this.assertNotFreed();
|
|
558
|
+
const ptr = yg.ygNodeGetChild(this.ptr, index);
|
|
559
|
+
return ptr ? new Node(ptr) : null;
|
|
560
|
+
}
|
|
561
|
+
getChildCount() {
|
|
562
|
+
this.assertNotFreed();
|
|
563
|
+
return Number(yg.ygNodeGetChildCount(this.ptr));
|
|
564
|
+
}
|
|
565
|
+
getParent() {
|
|
566
|
+
this.assertNotFreed();
|
|
567
|
+
const ptr = yg.ygNodeGetParent(this.ptr);
|
|
568
|
+
return ptr ? new Node(ptr) : null;
|
|
569
|
+
}
|
|
570
|
+
calculateLayout(width, height, direction = exports.Direction.LTR) {
|
|
571
|
+
this.assertNotFreed();
|
|
572
|
+
const w = width === "auto" || width === undefined ? NaN : width;
|
|
573
|
+
const h = height === "auto" || height === undefined ? NaN : height;
|
|
574
|
+
yg.ygNodeCalculateLayout(this.ptr, w, h, direction);
|
|
575
|
+
}
|
|
576
|
+
hasNewLayout() {
|
|
577
|
+
this.assertNotFreed();
|
|
578
|
+
return yg.ygNodeGetHasNewLayout(this.ptr);
|
|
579
|
+
}
|
|
580
|
+
markLayoutSeen() {
|
|
581
|
+
this.assertNotFreed();
|
|
582
|
+
yg.ygNodeSetHasNewLayout(this.ptr, false);
|
|
583
|
+
}
|
|
584
|
+
markDirty() {
|
|
585
|
+
this.assertNotFreed();
|
|
586
|
+
yg.ygNodeMarkDirty(this.ptr);
|
|
587
|
+
}
|
|
588
|
+
isDirty() {
|
|
589
|
+
this.assertNotFreed();
|
|
590
|
+
return yg.ygNodeIsDirty(this.ptr);
|
|
591
|
+
}
|
|
592
|
+
getComputedLayout() {
|
|
593
|
+
this.assertNotFreed();
|
|
594
|
+
return {
|
|
595
|
+
left: yg.ygNodeLayoutGetLeft(this.ptr),
|
|
596
|
+
top: yg.ygNodeLayoutGetTop(this.ptr),
|
|
597
|
+
right: yg.ygNodeLayoutGetRight(this.ptr),
|
|
598
|
+
bottom: yg.ygNodeLayoutGetBottom(this.ptr),
|
|
599
|
+
width: yg.ygNodeLayoutGetWidth(this.ptr),
|
|
600
|
+
height: yg.ygNodeLayoutGetHeight(this.ptr)
|
|
300
601
|
};
|
|
301
|
-
return T(a);
|
|
302
602
|
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
603
|
+
getComputedLeft() {
|
|
604
|
+
this.assertNotFreed();
|
|
605
|
+
return yg.ygNodeLayoutGetLeft(this.ptr);
|
|
606
|
+
}
|
|
607
|
+
getComputedTop() {
|
|
608
|
+
this.assertNotFreed();
|
|
609
|
+
return yg.ygNodeLayoutGetTop(this.ptr);
|
|
610
|
+
}
|
|
611
|
+
getComputedRight() {
|
|
612
|
+
this.assertNotFreed();
|
|
613
|
+
return yg.ygNodeLayoutGetRight(this.ptr);
|
|
614
|
+
}
|
|
615
|
+
getComputedBottom() {
|
|
616
|
+
this.assertNotFreed();
|
|
617
|
+
return yg.ygNodeLayoutGetBottom(this.ptr);
|
|
618
|
+
}
|
|
619
|
+
getComputedWidth() {
|
|
620
|
+
this.assertNotFreed();
|
|
621
|
+
return yg.ygNodeLayoutGetWidth(this.ptr);
|
|
622
|
+
}
|
|
623
|
+
getComputedHeight() {
|
|
624
|
+
this.assertNotFreed();
|
|
625
|
+
return yg.ygNodeLayoutGetHeight(this.ptr);
|
|
626
|
+
}
|
|
627
|
+
getComputedBorder(edge) {
|
|
628
|
+
this.assertNotFreed();
|
|
629
|
+
return yg.ygNodeLayoutGetBorder(this.ptr, edge);
|
|
630
|
+
}
|
|
631
|
+
getComputedMargin(edge) {
|
|
632
|
+
this.assertNotFreed();
|
|
633
|
+
return yg.ygNodeLayoutGetMargin(this.ptr, edge);
|
|
634
|
+
}
|
|
635
|
+
getComputedPadding(edge) {
|
|
636
|
+
this.assertNotFreed();
|
|
637
|
+
return yg.ygNodeLayoutGetPadding(this.ptr, edge);
|
|
638
|
+
}
|
|
639
|
+
setDirection(direction) {
|
|
640
|
+
this.assertNotFreed();
|
|
641
|
+
yg.ygNodeStyleSetDirection(this.ptr, direction);
|
|
642
|
+
}
|
|
643
|
+
getDirection() {
|
|
644
|
+
this.assertNotFreed();
|
|
645
|
+
return yg.ygNodeStyleGetDirection(this.ptr);
|
|
646
|
+
}
|
|
647
|
+
setFlexDirection(flexDirection) {
|
|
648
|
+
this.assertNotFreed();
|
|
649
|
+
yg.ygNodeStyleSetFlexDirection(this.ptr, flexDirection);
|
|
650
|
+
}
|
|
651
|
+
getFlexDirection() {
|
|
652
|
+
this.assertNotFreed();
|
|
653
|
+
return yg.ygNodeStyleGetFlexDirection(this.ptr);
|
|
654
|
+
}
|
|
655
|
+
setJustifyContent(justifyContent) {
|
|
656
|
+
this.assertNotFreed();
|
|
657
|
+
yg.ygNodeStyleSetJustifyContent(this.ptr, justifyContent);
|
|
658
|
+
}
|
|
659
|
+
getJustifyContent() {
|
|
660
|
+
this.assertNotFreed();
|
|
661
|
+
return yg.ygNodeStyleGetJustifyContent(this.ptr);
|
|
662
|
+
}
|
|
663
|
+
setAlignContent(alignContent) {
|
|
664
|
+
this.assertNotFreed();
|
|
665
|
+
yg.ygNodeStyleSetAlignContent(this.ptr, alignContent);
|
|
666
|
+
}
|
|
667
|
+
getAlignContent() {
|
|
668
|
+
this.assertNotFreed();
|
|
669
|
+
return yg.ygNodeStyleGetAlignContent(this.ptr);
|
|
670
|
+
}
|
|
671
|
+
setAlignItems(alignItems) {
|
|
672
|
+
this.assertNotFreed();
|
|
673
|
+
yg.ygNodeStyleSetAlignItems(this.ptr, alignItems);
|
|
674
|
+
}
|
|
675
|
+
getAlignItems() {
|
|
676
|
+
this.assertNotFreed();
|
|
677
|
+
return yg.ygNodeStyleGetAlignItems(this.ptr);
|
|
678
|
+
}
|
|
679
|
+
setAlignSelf(alignSelf) {
|
|
680
|
+
this.assertNotFreed();
|
|
681
|
+
yg.ygNodeStyleSetAlignSelf(this.ptr, alignSelf);
|
|
682
|
+
}
|
|
683
|
+
getAlignSelf() {
|
|
684
|
+
this.assertNotFreed();
|
|
685
|
+
return yg.ygNodeStyleGetAlignSelf(this.ptr);
|
|
686
|
+
}
|
|
687
|
+
setPositionType(positionType) {
|
|
688
|
+
this.assertNotFreed();
|
|
689
|
+
yg.ygNodeStyleSetPositionType(this.ptr, positionType);
|
|
690
|
+
}
|
|
691
|
+
getPositionType() {
|
|
692
|
+
this.assertNotFreed();
|
|
693
|
+
return yg.ygNodeStyleGetPositionType(this.ptr);
|
|
694
|
+
}
|
|
695
|
+
setFlexWrap(flexWrap) {
|
|
696
|
+
this.assertNotFreed();
|
|
697
|
+
yg.ygNodeStyleSetFlexWrap(this.ptr, flexWrap);
|
|
698
|
+
}
|
|
699
|
+
getFlexWrap() {
|
|
700
|
+
this.assertNotFreed();
|
|
701
|
+
return yg.ygNodeStyleGetFlexWrap(this.ptr);
|
|
702
|
+
}
|
|
703
|
+
setOverflow(overflow) {
|
|
704
|
+
this.assertNotFreed();
|
|
705
|
+
yg.ygNodeStyleSetOverflow(this.ptr, overflow);
|
|
706
|
+
}
|
|
707
|
+
getOverflow() {
|
|
708
|
+
this.assertNotFreed();
|
|
709
|
+
return yg.ygNodeStyleGetOverflow(this.ptr);
|
|
710
|
+
}
|
|
711
|
+
setDisplay(display) {
|
|
712
|
+
this.assertNotFreed();
|
|
713
|
+
yg.ygNodeStyleSetDisplay(this.ptr, display);
|
|
714
|
+
}
|
|
715
|
+
getDisplay() {
|
|
716
|
+
this.assertNotFreed();
|
|
717
|
+
return yg.ygNodeStyleGetDisplay(this.ptr);
|
|
718
|
+
}
|
|
719
|
+
setBoxSizing(boxSizing) {
|
|
720
|
+
this.assertNotFreed();
|
|
721
|
+
yg.ygNodeStyleSetBoxSizing(this.ptr, boxSizing);
|
|
722
|
+
}
|
|
723
|
+
getBoxSizing() {
|
|
724
|
+
this.assertNotFreed();
|
|
725
|
+
return yg.ygNodeStyleGetBoxSizing(this.ptr);
|
|
726
|
+
}
|
|
727
|
+
setFlex(flex) {
|
|
728
|
+
this.assertNotFreed();
|
|
729
|
+
yg.ygNodeStyleSetFlex(this.ptr, flex);
|
|
730
|
+
}
|
|
731
|
+
getFlex() {
|
|
732
|
+
this.assertNotFreed();
|
|
733
|
+
return yg.ygNodeStyleGetFlex(this.ptr);
|
|
734
|
+
}
|
|
735
|
+
setFlexGrow(flexGrow) {
|
|
736
|
+
this.assertNotFreed();
|
|
737
|
+
yg.ygNodeStyleSetFlexGrow(this.ptr, flexGrow);
|
|
738
|
+
}
|
|
739
|
+
getFlexGrow() {
|
|
740
|
+
this.assertNotFreed();
|
|
741
|
+
return yg.ygNodeStyleGetFlexGrow(this.ptr);
|
|
742
|
+
}
|
|
743
|
+
setFlexShrink(flexShrink) {
|
|
744
|
+
this.assertNotFreed();
|
|
745
|
+
yg.ygNodeStyleSetFlexShrink(this.ptr, flexShrink);
|
|
746
|
+
}
|
|
747
|
+
getFlexShrink() {
|
|
748
|
+
this.assertNotFreed();
|
|
749
|
+
return yg.ygNodeStyleGetFlexShrink(this.ptr);
|
|
750
|
+
}
|
|
751
|
+
setFlexBasis(flexBasis) {
|
|
752
|
+
this.assertNotFreed();
|
|
753
|
+
const { unit, asNumber } = parseValue(flexBasis);
|
|
754
|
+
if (unit === exports.Unit.Auto) {
|
|
755
|
+
yg.ygNodeStyleSetFlexBasisAuto(this.ptr);
|
|
756
|
+
} else if (unit === exports.Unit.Percent) {
|
|
757
|
+
yg.ygNodeStyleSetFlexBasisPercent(this.ptr, asNumber);
|
|
758
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
759
|
+
yg.ygNodeStyleSetFlexBasis(this.ptr, asNumber);
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
setFlexBasisPercent(flexBasis) {
|
|
763
|
+
this.assertNotFreed();
|
|
764
|
+
if (flexBasis !== undefined) {
|
|
765
|
+
yg.ygNodeStyleSetFlexBasisPercent(this.ptr, flexBasis);
|
|
308
766
|
}
|
|
309
767
|
}
|
|
310
|
-
|
|
311
|
-
|
|
768
|
+
setFlexBasisAuto() {
|
|
769
|
+
this.assertNotFreed();
|
|
770
|
+
yg.ygNodeStyleSetFlexBasisAuto(this.ptr);
|
|
312
771
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
772
|
+
setPosition(edge, position) {
|
|
773
|
+
this.assertNotFreed();
|
|
774
|
+
const { unit, asNumber } = parseValue(position);
|
|
775
|
+
if (unit === exports.Unit.Percent) {
|
|
776
|
+
yg.ygNodeStyleSetPositionPercent(this.ptr, edge, asNumber);
|
|
777
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
778
|
+
yg.ygNodeStyleSetPosition(this.ptr, edge, asNumber);
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
setPositionPercent(edge, position) {
|
|
782
|
+
this.assertNotFreed();
|
|
783
|
+
if (position !== undefined) {
|
|
784
|
+
yg.ygNodeStyleSetPositionPercent(this.ptr, edge, position);
|
|
320
785
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
})
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
return 2;
|
|
342
|
-
case 8:
|
|
343
|
-
return 3;
|
|
344
|
-
default:
|
|
345
|
-
throw new TypeError("Unknown type size: " + a);
|
|
786
|
+
}
|
|
787
|
+
setPositionAuto(edge) {
|
|
788
|
+
this.assertNotFreed();
|
|
789
|
+
yg.ygNodeStyleSetPositionAuto(this.ptr, edge);
|
|
790
|
+
}
|
|
791
|
+
setMargin(edge, margin) {
|
|
792
|
+
this.assertNotFreed();
|
|
793
|
+
const { unit, asNumber } = parseValue(margin);
|
|
794
|
+
if (unit === exports.Unit.Auto) {
|
|
795
|
+
yg.ygNodeStyleSetMarginAuto(this.ptr, edge);
|
|
796
|
+
} else if (unit === exports.Unit.Percent) {
|
|
797
|
+
yg.ygNodeStyleSetMarginPercent(this.ptr, edge, asNumber);
|
|
798
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
799
|
+
yg.ygNodeStyleSetMargin(this.ptr, edge, asNumber);
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
setMarginPercent(edge, margin) {
|
|
803
|
+
this.assertNotFreed();
|
|
804
|
+
if (margin !== undefined) {
|
|
805
|
+
yg.ygNodeStyleSetMarginPercent(this.ptr, edge, margin);
|
|
346
806
|
}
|
|
347
807
|
}
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
var d = b.name;
|
|
352
|
-
a || L('type "' + d + '" must have a positive integer typeid pointer');
|
|
353
|
-
if (R.hasOwnProperty(a)) {
|
|
354
|
-
if (c.ua)
|
|
355
|
-
return;
|
|
356
|
-
L("Cannot register type '" + d + "' twice");
|
|
357
|
-
}
|
|
358
|
-
R[a] = b;
|
|
359
|
-
delete Ya[a];
|
|
360
|
-
U.hasOwnProperty(a) && (b = U[a], delete U[a], b.forEach((e) => e()));
|
|
361
|
-
}
|
|
362
|
-
function $a(a) {
|
|
363
|
-
L(a.M.P.N.name + " instance already deleted");
|
|
364
|
-
}
|
|
365
|
-
function X() {}
|
|
366
|
-
function ab(a, b, c) {
|
|
367
|
-
if (a[b].S === undefined) {
|
|
368
|
-
var d = a[b];
|
|
369
|
-
a[b] = function() {
|
|
370
|
-
a[b].S.hasOwnProperty(arguments.length) || L("Function '" + c + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + a[b].S + ")!");
|
|
371
|
-
return a[b].S[arguments.length].apply(this, arguments);
|
|
372
|
-
};
|
|
373
|
-
a[b].S = [];
|
|
374
|
-
a[b].S[d.Z] = d;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
function bb(a, b) {
|
|
378
|
-
h.hasOwnProperty(a) ? (L("Cannot register public name '" + a + "' twice"), ab(h, a, a), h.hasOwnProperty(undefined) && L("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"), h[a].S[undefined] = b) : h[a] = b;
|
|
379
|
-
}
|
|
380
|
-
function cb(a, b, c, d, e, f, g, k) {
|
|
381
|
-
this.name = a;
|
|
382
|
-
this.constructor = b;
|
|
383
|
-
this.X = c;
|
|
384
|
-
this.W = d;
|
|
385
|
-
this.R = e;
|
|
386
|
-
this.pa = f;
|
|
387
|
-
this.ba = g;
|
|
388
|
-
this.na = k;
|
|
389
|
-
this.ja = [];
|
|
390
|
-
}
|
|
391
|
-
function db(a, b, c) {
|
|
392
|
-
for (;b !== c; )
|
|
393
|
-
b.ba || L("Expected null or instance of " + c.name + ", got an instance of " + b.name), a = b.ba(a), b = b.R;
|
|
394
|
-
return a;
|
|
395
|
-
}
|
|
396
|
-
function eb(a, b) {
|
|
397
|
-
if (b === null)
|
|
398
|
-
return this.ea && L("null is not a valid " + this.name), 0;
|
|
399
|
-
b.M || L('Cannot pass "' + fb(b) + '" as a ' + this.name);
|
|
400
|
-
b.M.O || L("Cannot pass deleted object as a pointer of type " + this.name);
|
|
401
|
-
return db(b.M.O, b.M.P.N, this.N);
|
|
402
|
-
}
|
|
403
|
-
function gb(a, b) {
|
|
404
|
-
if (b === null) {
|
|
405
|
-
this.ea && L("null is not a valid " + this.name);
|
|
406
|
-
if (this.da) {
|
|
407
|
-
var c = this.fa();
|
|
408
|
-
a !== null && a.push(this.W, c);
|
|
409
|
-
return c;
|
|
410
|
-
}
|
|
411
|
-
return 0;
|
|
412
|
-
}
|
|
413
|
-
b.M || L('Cannot pass "' + fb(b) + '" as a ' + this.name);
|
|
414
|
-
b.M.O || L("Cannot pass deleted object as a pointer of type " + this.name);
|
|
415
|
-
!this.ca && b.M.P.ca && L("Cannot convert argument of type " + (b.M.U ? b.M.U.name : b.M.P.name) + " to parameter type " + this.name);
|
|
416
|
-
c = db(b.M.O, b.M.P.N, this.N);
|
|
417
|
-
if (this.da)
|
|
418
|
-
switch (b.M.T === undefined && L("Passing raw pointer to smart pointer is illegal"), this.Ba) {
|
|
419
|
-
case 0:
|
|
420
|
-
b.M.U === this ? c = b.M.T : L("Cannot convert argument of type " + (b.M.U ? b.M.U.name : b.M.P.name) + " to parameter type " + this.name);
|
|
421
|
-
break;
|
|
422
|
-
case 1:
|
|
423
|
-
c = b.M.T;
|
|
424
|
-
break;
|
|
425
|
-
case 2:
|
|
426
|
-
if (b.M.U === this)
|
|
427
|
-
c = b.M.T;
|
|
428
|
-
else {
|
|
429
|
-
var d = b.clone();
|
|
430
|
-
c = this.xa(c, Ea(function() {
|
|
431
|
-
d["delete"]();
|
|
432
|
-
}));
|
|
433
|
-
a !== null && a.push(this.W, c);
|
|
434
|
-
}
|
|
435
|
-
break;
|
|
436
|
-
default:
|
|
437
|
-
L("Unsupporting sharing policy");
|
|
438
|
-
}
|
|
439
|
-
return c;
|
|
440
|
-
}
|
|
441
|
-
function hb(a, b) {
|
|
442
|
-
if (b === null)
|
|
443
|
-
return this.ea && L("null is not a valid " + this.name), 0;
|
|
444
|
-
b.M || L('Cannot pass "' + fb(b) + '" as a ' + this.name);
|
|
445
|
-
b.M.O || L("Cannot pass deleted object as a pointer of type " + this.name);
|
|
446
|
-
b.M.P.ca && L("Cannot convert argument of type " + b.M.P.name + " to parameter type " + this.name);
|
|
447
|
-
return db(b.M.O, b.M.P.N, this.N);
|
|
448
|
-
}
|
|
449
|
-
function Y(a, b, c, d) {
|
|
450
|
-
this.name = a;
|
|
451
|
-
this.N = b;
|
|
452
|
-
this.ea = c;
|
|
453
|
-
this.ca = d;
|
|
454
|
-
this.da = false;
|
|
455
|
-
this.W = this.xa = this.fa = this.ka = this.Ba = this.wa = undefined;
|
|
456
|
-
b.R !== undefined ? this.toWireType = gb : (this.toWireType = d ? eb : hb, this.V = null);
|
|
457
|
-
}
|
|
458
|
-
function ib(a, b) {
|
|
459
|
-
h.hasOwnProperty(a) || Ta("Replacing nonexistant public symbol");
|
|
460
|
-
h[a] = b;
|
|
461
|
-
h[a].Z = undefined;
|
|
462
|
-
}
|
|
463
|
-
function jb(a, b) {
|
|
464
|
-
var c = [];
|
|
465
|
-
return function() {
|
|
466
|
-
c.length = 0;
|
|
467
|
-
Object.assign(c, arguments);
|
|
468
|
-
if (a.includes("j")) {
|
|
469
|
-
var d = h["dynCall_" + a];
|
|
470
|
-
d = c && c.length ? d.apply(null, [b].concat(c)) : d.call(null, b);
|
|
471
|
-
} else
|
|
472
|
-
d = oa.get(b).apply(null, c);
|
|
473
|
-
return d;
|
|
474
|
-
};
|
|
808
|
+
setMarginAuto(edge) {
|
|
809
|
+
this.assertNotFreed();
|
|
810
|
+
yg.ygNodeStyleSetMarginAuto(this.ptr, edge);
|
|
475
811
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
function c(f) {
|
|
485
|
-
e[f] || R[f] || (Ya[f] ? Ya[f].forEach(c) : (d.push(f), e[f] = true));
|
|
486
|
-
}
|
|
487
|
-
var d = [], e = {};
|
|
488
|
-
b.forEach(c);
|
|
489
|
-
throw new mb(a + ": " + d.map(Ja).join([", "]));
|
|
490
|
-
}
|
|
491
|
-
function ob(a, b, c, d, e) {
|
|
492
|
-
var f = b.length;
|
|
493
|
-
2 > f && L("argTypes array size mismatch! Must at least get return value and 'this' types!");
|
|
494
|
-
var g = b[1] !== null && c !== null, k = false;
|
|
495
|
-
for (c = 1;c < b.length; ++c)
|
|
496
|
-
if (b[c] !== null && b[c].V === undefined) {
|
|
497
|
-
k = true;
|
|
498
|
-
break;
|
|
499
|
-
}
|
|
500
|
-
var m = b[0].name !== "void", l = f - 2, n = Array(l), p = [], r = [];
|
|
501
|
-
return function() {
|
|
502
|
-
arguments.length !== l && L("function " + a + " called with " + arguments.length + " arguments, expected " + l + " args!");
|
|
503
|
-
r.length = 0;
|
|
504
|
-
p.length = g ? 2 : 1;
|
|
505
|
-
p[0] = e;
|
|
506
|
-
if (g) {
|
|
507
|
-
var u = b[1].toWireType(r, this);
|
|
508
|
-
p[1] = u;
|
|
509
|
-
}
|
|
510
|
-
for (var t = 0;t < l; ++t)
|
|
511
|
-
n[t] = b[t + 2].toWireType(r, arguments[t]), p.push(n[t]);
|
|
512
|
-
t = d.apply(null, p);
|
|
513
|
-
if (k)
|
|
514
|
-
Wa(r);
|
|
515
|
-
else
|
|
516
|
-
for (var y = g ? 1 : 2;y < b.length; y++) {
|
|
517
|
-
var B = y === 1 ? u : n[y - 2];
|
|
518
|
-
b[y].V !== null && b[y].V(B);
|
|
519
|
-
}
|
|
520
|
-
u = m ? b[0].fromWireType(t) : undefined;
|
|
521
|
-
return u;
|
|
522
|
-
};
|
|
812
|
+
setPadding(edge, padding) {
|
|
813
|
+
this.assertNotFreed();
|
|
814
|
+
const { unit, asNumber } = parseValue(padding);
|
|
815
|
+
if (unit === exports.Unit.Percent) {
|
|
816
|
+
yg.ygNodeStyleSetPaddingPercent(this.ptr, edge, asNumber);
|
|
817
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
818
|
+
yg.ygNodeStyleSetPadding(this.ptr, edge, asNumber);
|
|
819
|
+
}
|
|
523
820
|
}
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
}
|
|
529
|
-
function qb(a) {
|
|
530
|
-
4 < a && --J[a].ga === 0 && (J[a] = undefined, Ca.push(a));
|
|
531
|
-
}
|
|
532
|
-
function fb(a) {
|
|
533
|
-
if (a === null)
|
|
534
|
-
return "null";
|
|
535
|
-
var b = typeof a;
|
|
536
|
-
return b === "object" || b === "array" || b === "function" ? a.toString() : "" + a;
|
|
537
|
-
}
|
|
538
|
-
function rb(a, b) {
|
|
539
|
-
switch (b) {
|
|
540
|
-
case 2:
|
|
541
|
-
return function(c) {
|
|
542
|
-
return this.fromWireType(la[c >> 2]);
|
|
543
|
-
};
|
|
544
|
-
case 3:
|
|
545
|
-
return function(c) {
|
|
546
|
-
return this.fromWireType(ma[c >> 3]);
|
|
547
|
-
};
|
|
548
|
-
default:
|
|
549
|
-
throw new TypeError("Unknown float type: " + a);
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
function sb(a, b, c) {
|
|
553
|
-
switch (b) {
|
|
554
|
-
case 0:
|
|
555
|
-
return c ? function(d) {
|
|
556
|
-
return ja[d];
|
|
557
|
-
} : function(d) {
|
|
558
|
-
return A[d];
|
|
559
|
-
};
|
|
560
|
-
case 1:
|
|
561
|
-
return c ? function(d) {
|
|
562
|
-
return C[d >> 1];
|
|
563
|
-
} : function(d) {
|
|
564
|
-
return ka[d >> 1];
|
|
565
|
-
};
|
|
566
|
-
case 2:
|
|
567
|
-
return c ? function(d) {
|
|
568
|
-
return D[d >> 2];
|
|
569
|
-
} : function(d) {
|
|
570
|
-
return E[d >> 2];
|
|
571
|
-
};
|
|
572
|
-
default:
|
|
573
|
-
throw new TypeError("Unknown integer type: " + a);
|
|
821
|
+
setPaddingPercent(edge, padding) {
|
|
822
|
+
this.assertNotFreed();
|
|
823
|
+
if (padding !== undefined) {
|
|
824
|
+
yg.ygNodeStyleSetPaddingPercent(this.ptr, edge, padding);
|
|
574
825
|
}
|
|
575
826
|
}
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
break;
|
|
581
|
-
c += String.fromCharCode(e);
|
|
582
|
-
}
|
|
583
|
-
return c;
|
|
584
|
-
}
|
|
585
|
-
function ub(a, b, c) {
|
|
586
|
-
c === undefined && (c = 2147483647);
|
|
587
|
-
if (2 > c)
|
|
588
|
-
return 0;
|
|
589
|
-
c -= 2;
|
|
590
|
-
var d = b;
|
|
591
|
-
c = c < 2 * a.length ? c / 2 : a.length;
|
|
592
|
-
for (var e = 0;e < c; ++e)
|
|
593
|
-
C[b >> 1] = a.charCodeAt(e), b += 2;
|
|
594
|
-
C[b >> 1] = 0;
|
|
595
|
-
return b - d;
|
|
596
|
-
}
|
|
597
|
-
function vb(a) {
|
|
598
|
-
return 2 * a.length;
|
|
599
|
-
}
|
|
600
|
-
function wb(a, b) {
|
|
601
|
-
for (var c = 0, d = "";!(c >= b / 4); ) {
|
|
602
|
-
var e = D[a + 4 * c >> 2];
|
|
603
|
-
if (e == 0)
|
|
604
|
-
break;
|
|
605
|
-
++c;
|
|
606
|
-
65536 <= e ? (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023)) : d += String.fromCharCode(e);
|
|
607
|
-
}
|
|
608
|
-
return d;
|
|
609
|
-
}
|
|
610
|
-
function xb(a, b, c) {
|
|
611
|
-
c === undefined && (c = 2147483647);
|
|
612
|
-
if (4 > c)
|
|
613
|
-
return 0;
|
|
614
|
-
var d = b;
|
|
615
|
-
c = d + c - 4;
|
|
616
|
-
for (var e = 0;e < a.length; ++e) {
|
|
617
|
-
var f = a.charCodeAt(e);
|
|
618
|
-
if (55296 <= f && 57343 >= f) {
|
|
619
|
-
var g = a.charCodeAt(++e);
|
|
620
|
-
f = 65536 + ((f & 1023) << 10) | g & 1023;
|
|
621
|
-
}
|
|
622
|
-
D[b >> 2] = f;
|
|
623
|
-
b += 4;
|
|
624
|
-
if (b + 4 > c)
|
|
625
|
-
break;
|
|
827
|
+
setBorder(edge, border) {
|
|
828
|
+
this.assertNotFreed();
|
|
829
|
+
if (border !== undefined) {
|
|
830
|
+
yg.ygNodeStyleSetBorder(this.ptr, edge, border);
|
|
626
831
|
}
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
function Ab(a) {
|
|
640
|
-
var b = zb[a];
|
|
641
|
-
return b === undefined ? N(a) : b;
|
|
642
|
-
}
|
|
643
|
-
var Bb = [];
|
|
644
|
-
function Cb(a) {
|
|
645
|
-
var b = Bb.length;
|
|
646
|
-
Bb.push(a);
|
|
647
|
-
return b;
|
|
648
|
-
}
|
|
649
|
-
function Db(a, b) {
|
|
650
|
-
for (var c = Array(a), d = 0;d < a; ++d)
|
|
651
|
-
c[d] = La(E[b + 4 * d >> 2], "parameter " + d);
|
|
652
|
-
return c;
|
|
653
|
-
}
|
|
654
|
-
var Eb = [], Fb = [null, [], []];
|
|
655
|
-
K = h.BindingError = Da("BindingError");
|
|
656
|
-
h.count_emval_handles = function() {
|
|
657
|
-
for (var a = 0, b = 5;b < J.length; ++b)
|
|
658
|
-
J[b] !== undefined && ++a;
|
|
659
|
-
return a;
|
|
660
|
-
};
|
|
661
|
-
h.get_first_emval = function() {
|
|
662
|
-
for (var a = 5;a < J.length; ++a)
|
|
663
|
-
if (J[a] !== undefined)
|
|
664
|
-
return J[a];
|
|
665
|
-
return null;
|
|
666
|
-
};
|
|
667
|
-
Fa = h.PureVirtualError = Da("PureVirtualError");
|
|
668
|
-
for (var Gb = Array(256), Hb = 0;256 > Hb; ++Hb)
|
|
669
|
-
Gb[Hb] = String.fromCharCode(Hb);
|
|
670
|
-
Ga = Gb;
|
|
671
|
-
h.getInheritedInstanceCount = function() {
|
|
672
|
-
return Object.keys(Q).length;
|
|
673
|
-
};
|
|
674
|
-
h.getLiveInheritedInstances = function() {
|
|
675
|
-
var a = [], b;
|
|
676
|
-
for (b in Q)
|
|
677
|
-
Q.hasOwnProperty(b) && a.push(Q[b]);
|
|
678
|
-
return a;
|
|
679
|
-
};
|
|
680
|
-
h.flushPendingDeletes = Ha;
|
|
681
|
-
h.setDelayFunction = function(a) {
|
|
682
|
-
P = a;
|
|
683
|
-
O.length && P && P(Ha);
|
|
684
|
-
};
|
|
685
|
-
Sa = h.InternalError = Da("InternalError");
|
|
686
|
-
X.prototype.isAliasOf = function(a) {
|
|
687
|
-
if (!(this instanceof X && a instanceof X))
|
|
688
|
-
return false;
|
|
689
|
-
var b = this.M.P.N, c = this.M.O, d = a.M.P.N;
|
|
690
|
-
for (a = a.M.O;b.R; )
|
|
691
|
-
c = b.ba(c), b = b.R;
|
|
692
|
-
for (;d.R; )
|
|
693
|
-
a = d.ba(a), d = d.R;
|
|
694
|
-
return b === d && c === a;
|
|
695
|
-
};
|
|
696
|
-
X.prototype.clone = function() {
|
|
697
|
-
this.M.O || $a(this);
|
|
698
|
-
if (this.M.aa)
|
|
699
|
-
return this.M.count.value += 1, this;
|
|
700
|
-
var a = T, b = Object, c = b.create, d = Object.getPrototypeOf(this), e = this.M;
|
|
701
|
-
a = a(c.call(b, d, { M: { value: { count: e.count, $: e.$, aa: e.aa, O: e.O, P: e.P, T: e.T, U: e.U } } }));
|
|
702
|
-
a.M.count.value += 1;
|
|
703
|
-
a.M.$ = false;
|
|
704
|
-
return a;
|
|
705
|
-
};
|
|
706
|
-
X.prototype["delete"] = function() {
|
|
707
|
-
this.M.O || $a(this);
|
|
708
|
-
this.M.$ && !this.M.aa && L("Object already scheduled for deletion");
|
|
709
|
-
Ma(this);
|
|
710
|
-
Oa(this.M);
|
|
711
|
-
this.M.aa || (this.M.T = undefined, this.M.O = undefined);
|
|
712
|
-
};
|
|
713
|
-
X.prototype.isDeleted = function() {
|
|
714
|
-
return !this.M.O;
|
|
715
|
-
};
|
|
716
|
-
X.prototype.deleteLater = function() {
|
|
717
|
-
this.M.O || $a(this);
|
|
718
|
-
this.M.$ && !this.M.aa && L("Object already scheduled for deletion");
|
|
719
|
-
O.push(this);
|
|
720
|
-
O.length === 1 && P && P(Ha);
|
|
721
|
-
this.M.$ = true;
|
|
722
|
-
return this;
|
|
723
|
-
};
|
|
724
|
-
Y.prototype.qa = function(a) {
|
|
725
|
-
this.ka && (a = this.ka(a));
|
|
726
|
-
return a;
|
|
727
|
-
};
|
|
728
|
-
Y.prototype.ha = function(a) {
|
|
729
|
-
this.W && this.W(a);
|
|
730
|
-
};
|
|
731
|
-
Y.prototype.argPackAdvance = 8;
|
|
732
|
-
Y.prototype.readValueFromPointer = Xa;
|
|
733
|
-
Y.prototype.deleteObject = function(a) {
|
|
734
|
-
if (a !== null)
|
|
735
|
-
a["delete"]();
|
|
736
|
-
};
|
|
737
|
-
Y.prototype.fromWireType = function(a) {
|
|
738
|
-
function b() {
|
|
739
|
-
return this.da ? Ua(this.N.X, { P: this.wa, O: c, U: this, T: a }) : Ua(this.N.X, { P: this, O: a });
|
|
740
|
-
}
|
|
741
|
-
var c = this.qa(a);
|
|
742
|
-
if (!c)
|
|
743
|
-
return this.ha(a), null;
|
|
744
|
-
var d = Ra(this.N, c);
|
|
745
|
-
if (d !== undefined) {
|
|
746
|
-
if (d.M.count.value === 0)
|
|
747
|
-
return d.M.O = c, d.M.T = a, d.clone();
|
|
748
|
-
d = d.clone();
|
|
749
|
-
this.ha(a);
|
|
750
|
-
return d;
|
|
751
|
-
}
|
|
752
|
-
d = this.N.pa(c);
|
|
753
|
-
d = Qa[d];
|
|
754
|
-
if (!d)
|
|
755
|
-
return b.call(this);
|
|
756
|
-
d = this.ca ? d.la : d.pointerType;
|
|
757
|
-
var e = Pa(c, this.N, d.N);
|
|
758
|
-
return e === null ? b.call(this) : this.da ? Ua(d.N.X, { P: d, O: e, U: this, T: a }) : Ua(d.N.X, { P: d, O: e });
|
|
759
|
-
};
|
|
760
|
-
mb = h.UnboundTypeError = Da("UnboundTypeError");
|
|
761
|
-
var xa = typeof atob == "function" ? atob : function(a) {
|
|
762
|
-
var b = "", c = 0;
|
|
763
|
-
a = a.replace(/[^A-Za-z0-9\+\/=]/g, "");
|
|
764
|
-
do {
|
|
765
|
-
var d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
|
766
|
-
var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
|
767
|
-
var f = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
|
768
|
-
var g = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
|
769
|
-
d = d << 2 | e >> 4;
|
|
770
|
-
e = (e & 15) << 4 | f >> 2;
|
|
771
|
-
var k = (f & 3) << 6 | g;
|
|
772
|
-
b += String.fromCharCode(d);
|
|
773
|
-
f !== 64 && (b += String.fromCharCode(e));
|
|
774
|
-
g !== 64 && (b += String.fromCharCode(k));
|
|
775
|
-
} while (c < a.length);
|
|
776
|
-
return b;
|
|
777
|
-
}, Jb = {
|
|
778
|
-
l: function(a, b, c, d) {
|
|
779
|
-
x("Assertion failed: " + (a ? z(A, a) : "") + ", at: " + [b ? b ? z(A, b) : "" : "unknown filename", c, d ? d ? z(A, d) : "" : "unknown function"]);
|
|
780
|
-
},
|
|
781
|
-
q: function(a, b, c) {
|
|
782
|
-
a = N(a);
|
|
783
|
-
b = La(b, "wrapper");
|
|
784
|
-
c = M(c);
|
|
785
|
-
var d = [].slice, e = b.N, f = e.X, g = e.R.X, k = e.R.constructor;
|
|
786
|
-
a = Ba(a, function() {
|
|
787
|
-
e.R.ja.forEach(function(l) {
|
|
788
|
-
if (this[l] === g[l])
|
|
789
|
-
throw new Fa("Pure virtual function " + l + " must be implemented in JavaScript");
|
|
790
|
-
}.bind(this));
|
|
791
|
-
Object.defineProperty(this, "__parent", { value: f });
|
|
792
|
-
this.__construct.apply(this, d.call(arguments));
|
|
793
|
-
});
|
|
794
|
-
f.__construct = function() {
|
|
795
|
-
this === f && L("Pass correct 'this' to __construct");
|
|
796
|
-
var l = k.implement.apply(undefined, [this].concat(d.call(arguments)));
|
|
797
|
-
Ma(l);
|
|
798
|
-
var n = l.M;
|
|
799
|
-
l.notifyOnDestruction();
|
|
800
|
-
n.aa = true;
|
|
801
|
-
Object.defineProperties(this, { M: { value: n } });
|
|
802
|
-
T(this);
|
|
803
|
-
l = n.O;
|
|
804
|
-
l = Ia(e, l);
|
|
805
|
-
Q.hasOwnProperty(l) ? L("Tried to register registered instance: " + l) : Q[l] = this;
|
|
806
|
-
};
|
|
807
|
-
f.__destruct = function() {
|
|
808
|
-
this === f && L("Pass correct 'this' to __destruct");
|
|
809
|
-
Ma(this);
|
|
810
|
-
var l = this.M.O;
|
|
811
|
-
l = Ia(e, l);
|
|
812
|
-
Q.hasOwnProperty(l) ? delete Q[l] : L("Tried to unregister unregistered instance: " + l);
|
|
813
|
-
};
|
|
814
|
-
a.prototype = Object.create(f);
|
|
815
|
-
for (var m in c)
|
|
816
|
-
a.prototype[m] = c[m];
|
|
817
|
-
return Ea(a);
|
|
818
|
-
},
|
|
819
|
-
j: function(a) {
|
|
820
|
-
var b = Va[a];
|
|
821
|
-
delete Va[a];
|
|
822
|
-
var { fa: c, W: d, ia: e } = b, f = e.map((g) => g.ta).concat(e.map((g) => g.za));
|
|
823
|
-
V([a], f, (g) => {
|
|
824
|
-
var k = {};
|
|
825
|
-
e.forEach((m, l) => {
|
|
826
|
-
var n = g[l], p = m.ra, r = m.sa, u = g[l + e.length], t = m.ya, y = m.Aa;
|
|
827
|
-
k[m.oa] = { read: (B) => n.fromWireType(p(r, B)), write: (B, ba) => {
|
|
828
|
-
var I = [];
|
|
829
|
-
t(y, B, u.toWireType(I, ba));
|
|
830
|
-
Wa(I);
|
|
831
|
-
} };
|
|
832
|
-
});
|
|
833
|
-
return [{ name: b.name, fromWireType: function(m) {
|
|
834
|
-
var l = {}, n;
|
|
835
|
-
for (n in k)
|
|
836
|
-
l[n] = k[n].read(m);
|
|
837
|
-
d(m);
|
|
838
|
-
return l;
|
|
839
|
-
}, toWireType: function(m, l) {
|
|
840
|
-
for (var n in k)
|
|
841
|
-
if (!(n in l))
|
|
842
|
-
throw new TypeError('Missing field: "' + n + '"');
|
|
843
|
-
var p = c();
|
|
844
|
-
for (n in k)
|
|
845
|
-
k[n].write(p, l[n]);
|
|
846
|
-
m !== null && m.push(d, p);
|
|
847
|
-
return p;
|
|
848
|
-
}, argPackAdvance: 8, readValueFromPointer: Xa, V: d }];
|
|
849
|
-
});
|
|
850
|
-
},
|
|
851
|
-
v: function() {},
|
|
852
|
-
B: function(a, b, c, d, e) {
|
|
853
|
-
var f = Za(c);
|
|
854
|
-
b = N(b);
|
|
855
|
-
W(a, {
|
|
856
|
-
name: b,
|
|
857
|
-
fromWireType: function(g) {
|
|
858
|
-
return !!g;
|
|
859
|
-
},
|
|
860
|
-
toWireType: function(g, k) {
|
|
861
|
-
return k ? d : e;
|
|
862
|
-
},
|
|
863
|
-
argPackAdvance: 8,
|
|
864
|
-
readValueFromPointer: function(g) {
|
|
865
|
-
if (c === 1)
|
|
866
|
-
var k = ja;
|
|
867
|
-
else if (c === 2)
|
|
868
|
-
k = C;
|
|
869
|
-
else if (c === 4)
|
|
870
|
-
k = D;
|
|
871
|
-
else
|
|
872
|
-
throw new TypeError("Unknown boolean type size: " + b);
|
|
873
|
-
return this.fromWireType(k[g >> f]);
|
|
874
|
-
},
|
|
875
|
-
V: null
|
|
876
|
-
});
|
|
877
|
-
},
|
|
878
|
-
f: function(a, b, c, d, e, f, g, k, m, l, n, p, r) {
|
|
879
|
-
n = N(n);
|
|
880
|
-
f = Z(e, f);
|
|
881
|
-
k && (k = Z(g, k));
|
|
882
|
-
l && (l = Z(m, l));
|
|
883
|
-
r = Z(p, r);
|
|
884
|
-
var u = Aa(n);
|
|
885
|
-
bb(u, function() {
|
|
886
|
-
nb("Cannot construct " + n + " due to unbound types", [d]);
|
|
887
|
-
});
|
|
888
|
-
V([a, b, c], d ? [d] : [], function(t) {
|
|
889
|
-
t = t[0];
|
|
890
|
-
if (d) {
|
|
891
|
-
var y = t.N;
|
|
892
|
-
var B = y.X;
|
|
893
|
-
} else
|
|
894
|
-
B = X.prototype;
|
|
895
|
-
t = Ba(u, function() {
|
|
896
|
-
if (Object.getPrototypeOf(this) !== ba)
|
|
897
|
-
throw new K("Use 'new' to construct " + n);
|
|
898
|
-
if (I.Y === undefined)
|
|
899
|
-
throw new K(n + " has no accessible constructor");
|
|
900
|
-
var kb = I.Y[arguments.length];
|
|
901
|
-
if (kb === undefined)
|
|
902
|
-
throw new K("Tried to invoke ctor of " + n + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(I.Y).toString() + ") parameters instead!");
|
|
903
|
-
return kb.apply(this, arguments);
|
|
904
|
-
});
|
|
905
|
-
var ba = Object.create(B, { constructor: { value: t } });
|
|
906
|
-
t.prototype = ba;
|
|
907
|
-
var I = new cb(n, t, ba, r, y, f, k, l);
|
|
908
|
-
y = new Y(n, I, true, false);
|
|
909
|
-
B = new Y(n + "*", I, false, false);
|
|
910
|
-
var lb = new Y(n + " const*", I, false, true);
|
|
911
|
-
Qa[a] = {
|
|
912
|
-
pointerType: B,
|
|
913
|
-
la: lb
|
|
914
|
-
};
|
|
915
|
-
ib(u, t);
|
|
916
|
-
return [y, B, lb];
|
|
917
|
-
});
|
|
918
|
-
},
|
|
919
|
-
d: function(a, b, c, d, e, f, g) {
|
|
920
|
-
var k = pb(c, d);
|
|
921
|
-
b = N(b);
|
|
922
|
-
f = Z(e, f);
|
|
923
|
-
V([], [a], function(m) {
|
|
924
|
-
function l() {
|
|
925
|
-
nb("Cannot call " + n + " due to unbound types", k);
|
|
926
|
-
}
|
|
927
|
-
m = m[0];
|
|
928
|
-
var n = m.name + "." + b;
|
|
929
|
-
b.startsWith("@@") && (b = Symbol[b.substring(2)]);
|
|
930
|
-
var p = m.N.constructor;
|
|
931
|
-
p[b] === undefined ? (l.Z = c - 1, p[b] = l) : (ab(p, b, n), p[b].S[c - 1] = l);
|
|
932
|
-
V([], k, function(r) {
|
|
933
|
-
r = ob(n, [r[0], null].concat(r.slice(1)), null, f, g);
|
|
934
|
-
p[b].S === undefined ? (r.Z = c - 1, p[b] = r) : p[b].S[c - 1] = r;
|
|
935
|
-
return [];
|
|
936
|
-
});
|
|
937
|
-
return [];
|
|
938
|
-
});
|
|
939
|
-
},
|
|
940
|
-
p: function(a, b, c, d, e, f) {
|
|
941
|
-
0 < b || x();
|
|
942
|
-
var g = pb(b, c);
|
|
943
|
-
e = Z(d, e);
|
|
944
|
-
V([], [a], function(k) {
|
|
945
|
-
k = k[0];
|
|
946
|
-
var m = "constructor " + k.name;
|
|
947
|
-
k.N.Y === undefined && (k.N.Y = []);
|
|
948
|
-
if (k.N.Y[b - 1] !== undefined)
|
|
949
|
-
throw new K("Cannot register multiple constructors with identical number of parameters (" + (b - 1) + ") for class '" + k.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
|
|
950
|
-
k.N.Y[b - 1] = () => {
|
|
951
|
-
nb("Cannot construct " + k.name + " due to unbound types", g);
|
|
952
|
-
};
|
|
953
|
-
V([], g, function(l) {
|
|
954
|
-
l.splice(1, 0, null);
|
|
955
|
-
k.N.Y[b - 1] = ob(m, l, null, e, f);
|
|
956
|
-
return [];
|
|
957
|
-
});
|
|
958
|
-
return [];
|
|
959
|
-
});
|
|
960
|
-
},
|
|
961
|
-
a: function(a, b, c, d, e, f, g, k) {
|
|
962
|
-
var m = pb(c, d);
|
|
963
|
-
b = N(b);
|
|
964
|
-
f = Z(e, f);
|
|
965
|
-
V([], [a], function(l) {
|
|
966
|
-
function n() {
|
|
967
|
-
nb("Cannot call " + p + " due to unbound types", m);
|
|
968
|
-
}
|
|
969
|
-
l = l[0];
|
|
970
|
-
var p = l.name + "." + b;
|
|
971
|
-
b.startsWith("@@") && (b = Symbol[b.substring(2)]);
|
|
972
|
-
k && l.N.ja.push(b);
|
|
973
|
-
var r = l.N.X, u = r[b];
|
|
974
|
-
u === undefined || u.S === undefined && u.className !== l.name && u.Z === c - 2 ? (n.Z = c - 2, n.className = l.name, r[b] = n) : (ab(r, b, p), r[b].S[c - 2] = n);
|
|
975
|
-
V([], m, function(t) {
|
|
976
|
-
t = ob(p, t, l, f, g);
|
|
977
|
-
r[b].S === undefined ? (t.Z = c - 2, r[b] = t) : r[b].S[c - 2] = t;
|
|
978
|
-
return [];
|
|
979
|
-
});
|
|
980
|
-
return [];
|
|
981
|
-
});
|
|
982
|
-
},
|
|
983
|
-
A: function(a, b) {
|
|
984
|
-
b = N(b);
|
|
985
|
-
W(a, { name: b, fromWireType: function(c) {
|
|
986
|
-
var d = M(c);
|
|
987
|
-
qb(c);
|
|
988
|
-
return d;
|
|
989
|
-
}, toWireType: function(c, d) {
|
|
990
|
-
return Ea(d);
|
|
991
|
-
}, argPackAdvance: 8, readValueFromPointer: Xa, V: null });
|
|
992
|
-
},
|
|
993
|
-
n: function(a, b, c) {
|
|
994
|
-
c = Za(c);
|
|
995
|
-
b = N(b);
|
|
996
|
-
W(a, { name: b, fromWireType: function(d) {
|
|
997
|
-
return d;
|
|
998
|
-
}, toWireType: function(d, e) {
|
|
999
|
-
return e;
|
|
1000
|
-
}, argPackAdvance: 8, readValueFromPointer: rb(b, c), V: null });
|
|
1001
|
-
},
|
|
1002
|
-
e: function(a, b, c, d, e) {
|
|
1003
|
-
b = N(b);
|
|
1004
|
-
e === -1 && (e = 4294967295);
|
|
1005
|
-
e = Za(c);
|
|
1006
|
-
var f = (k) => k;
|
|
1007
|
-
if (d === 0) {
|
|
1008
|
-
var g = 32 - 8 * c;
|
|
1009
|
-
f = (k) => k << g >>> g;
|
|
1010
|
-
}
|
|
1011
|
-
c = b.includes("unsigned") ? function(k, m) {
|
|
1012
|
-
return m >>> 0;
|
|
1013
|
-
} : function(k, m) {
|
|
1014
|
-
return m;
|
|
1015
|
-
};
|
|
1016
|
-
W(a, { name: b, fromWireType: f, toWireType: c, argPackAdvance: 8, readValueFromPointer: sb(b, e, d !== 0), V: null });
|
|
1017
|
-
},
|
|
1018
|
-
b: function(a, b, c) {
|
|
1019
|
-
function d(f) {
|
|
1020
|
-
f >>= 2;
|
|
1021
|
-
var g = E;
|
|
1022
|
-
return new e(ia, g[f + 1], g[f]);
|
|
1023
|
-
}
|
|
1024
|
-
var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][b];
|
|
1025
|
-
c = N(c);
|
|
1026
|
-
W(a, { name: c, fromWireType: d, argPackAdvance: 8, readValueFromPointer: d }, { ua: true });
|
|
1027
|
-
},
|
|
1028
|
-
o: function(a, b) {
|
|
1029
|
-
b = N(b);
|
|
1030
|
-
var c = b === "std::string";
|
|
1031
|
-
W(a, { name: b, fromWireType: function(d) {
|
|
1032
|
-
var e = E[d >> 2], f = d + 4;
|
|
1033
|
-
if (c)
|
|
1034
|
-
for (var g = f, k = 0;k <= e; ++k) {
|
|
1035
|
-
var m = f + k;
|
|
1036
|
-
if (k == e || A[m] == 0) {
|
|
1037
|
-
g = g ? z(A, g, m - g) : "";
|
|
1038
|
-
if (l === undefined)
|
|
1039
|
-
var l = g;
|
|
1040
|
-
else
|
|
1041
|
-
l += String.fromCharCode(0), l += g;
|
|
1042
|
-
g = m + 1;
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
else {
|
|
1046
|
-
l = Array(e);
|
|
1047
|
-
for (k = 0;k < e; ++k)
|
|
1048
|
-
l[k] = String.fromCharCode(A[f + k]);
|
|
1049
|
-
l = l.join("");
|
|
1050
|
-
}
|
|
1051
|
-
S(d);
|
|
1052
|
-
return l;
|
|
1053
|
-
}, toWireType: function(d, e) {
|
|
1054
|
-
e instanceof ArrayBuffer && (e = new Uint8Array(e));
|
|
1055
|
-
var f, g = typeof e == "string";
|
|
1056
|
-
g || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array || L("Cannot pass non-string to std::string");
|
|
1057
|
-
if (c && g) {
|
|
1058
|
-
var k = 0;
|
|
1059
|
-
for (f = 0;f < e.length; ++f) {
|
|
1060
|
-
var m = e.charCodeAt(f);
|
|
1061
|
-
127 >= m ? k++ : 2047 >= m ? k += 2 : 55296 <= m && 57343 >= m ? (k += 4, ++f) : k += 3;
|
|
1062
|
-
}
|
|
1063
|
-
f = k;
|
|
1064
|
-
} else
|
|
1065
|
-
f = e.length;
|
|
1066
|
-
k = Ib(4 + f + 1);
|
|
1067
|
-
m = k + 4;
|
|
1068
|
-
E[k >> 2] = f;
|
|
1069
|
-
if (c && g) {
|
|
1070
|
-
if (g = m, m = f + 1, f = A, 0 < m) {
|
|
1071
|
-
m = g + m - 1;
|
|
1072
|
-
for (var l = 0;l < e.length; ++l) {
|
|
1073
|
-
var n = e.charCodeAt(l);
|
|
1074
|
-
if (55296 <= n && 57343 >= n) {
|
|
1075
|
-
var p = e.charCodeAt(++l);
|
|
1076
|
-
n = 65536 + ((n & 1023) << 10) | p & 1023;
|
|
1077
|
-
}
|
|
1078
|
-
if (127 >= n) {
|
|
1079
|
-
if (g >= m)
|
|
1080
|
-
break;
|
|
1081
|
-
f[g++] = n;
|
|
1082
|
-
} else {
|
|
1083
|
-
if (2047 >= n) {
|
|
1084
|
-
if (g + 1 >= m)
|
|
1085
|
-
break;
|
|
1086
|
-
f[g++] = 192 | n >> 6;
|
|
1087
|
-
} else {
|
|
1088
|
-
if (65535 >= n) {
|
|
1089
|
-
if (g + 2 >= m)
|
|
1090
|
-
break;
|
|
1091
|
-
f[g++] = 224 | n >> 12;
|
|
1092
|
-
} else {
|
|
1093
|
-
if (g + 3 >= m)
|
|
1094
|
-
break;
|
|
1095
|
-
f[g++] = 240 | n >> 18;
|
|
1096
|
-
f[g++] = 128 | n >> 12 & 63;
|
|
1097
|
-
}
|
|
1098
|
-
f[g++] = 128 | n >> 6 & 63;
|
|
1099
|
-
}
|
|
1100
|
-
f[g++] = 128 | n & 63;
|
|
1101
|
-
}
|
|
1102
|
-
}
|
|
1103
|
-
f[g] = 0;
|
|
1104
|
-
}
|
|
1105
|
-
} else if (g)
|
|
1106
|
-
for (g = 0;g < f; ++g)
|
|
1107
|
-
l = e.charCodeAt(g), 255 < l && (S(m), L("String has UTF-16 code units that do not fit in 8 bits")), A[m + g] = l;
|
|
1108
|
-
else
|
|
1109
|
-
for (g = 0;g < f; ++g)
|
|
1110
|
-
A[m + g] = e[g];
|
|
1111
|
-
d !== null && d.push(S, k);
|
|
1112
|
-
return k;
|
|
1113
|
-
}, argPackAdvance: 8, readValueFromPointer: Xa, V: function(d) {
|
|
1114
|
-
S(d);
|
|
1115
|
-
} });
|
|
1116
|
-
},
|
|
1117
|
-
i: function(a, b, c) {
|
|
1118
|
-
c = N(c);
|
|
1119
|
-
if (b === 2) {
|
|
1120
|
-
var d = tb;
|
|
1121
|
-
var e = ub;
|
|
1122
|
-
var f = vb;
|
|
1123
|
-
var g = () => ka;
|
|
1124
|
-
var k = 1;
|
|
1125
|
-
} else
|
|
1126
|
-
b === 4 && (d = wb, e = xb, f = yb, g = () => E, k = 2);
|
|
1127
|
-
W(a, { name: c, fromWireType: function(m) {
|
|
1128
|
-
for (var l = E[m >> 2], n = g(), p, r = m + 4, u = 0;u <= l; ++u) {
|
|
1129
|
-
var t = m + 4 + u * b;
|
|
1130
|
-
if (u == l || n[t >> k] == 0)
|
|
1131
|
-
r = d(r, t - r), p === undefined ? p = r : (p += String.fromCharCode(0), p += r), r = t + b;
|
|
1132
|
-
}
|
|
1133
|
-
S(m);
|
|
1134
|
-
return p;
|
|
1135
|
-
}, toWireType: function(m, l) {
|
|
1136
|
-
typeof l != "string" && L("Cannot pass non-string to C++ string type " + c);
|
|
1137
|
-
var n = f(l), p = Ib(4 + n + b);
|
|
1138
|
-
E[p >> 2] = n >> k;
|
|
1139
|
-
e(l, p + 4, n + b);
|
|
1140
|
-
m !== null && m.push(S, p);
|
|
1141
|
-
return p;
|
|
1142
|
-
}, argPackAdvance: 8, readValueFromPointer: Xa, V: function(m) {
|
|
1143
|
-
S(m);
|
|
1144
|
-
} });
|
|
1145
|
-
},
|
|
1146
|
-
k: function(a, b, c, d, e, f) {
|
|
1147
|
-
Va[a] = { name: N(b), fa: Z(c, d), W: Z(e, f), ia: [] };
|
|
1148
|
-
},
|
|
1149
|
-
h: function(a, b, c, d, e, f, g, k, m, l) {
|
|
1150
|
-
Va[a].ia.push({ oa: N(b), ta: c, ra: Z(d, e), sa: f, za: g, ya: Z(k, m), Aa: l });
|
|
1151
|
-
},
|
|
1152
|
-
C: function(a, b) {
|
|
1153
|
-
b = N(b);
|
|
1154
|
-
W(a, {
|
|
1155
|
-
va: true,
|
|
1156
|
-
name: b,
|
|
1157
|
-
argPackAdvance: 0,
|
|
1158
|
-
fromWireType: function() {},
|
|
1159
|
-
toWireType: function() {}
|
|
1160
|
-
});
|
|
1161
|
-
},
|
|
1162
|
-
s: function(a, b, c, d, e) {
|
|
1163
|
-
a = Bb[a];
|
|
1164
|
-
b = M(b);
|
|
1165
|
-
c = Ab(c);
|
|
1166
|
-
var f = [];
|
|
1167
|
-
E[d >> 2] = Ea(f);
|
|
1168
|
-
return a(b, c, f, e);
|
|
1169
|
-
},
|
|
1170
|
-
t: function(a, b, c, d) {
|
|
1171
|
-
a = Bb[a];
|
|
1172
|
-
b = M(b);
|
|
1173
|
-
c = Ab(c);
|
|
1174
|
-
a(b, c, null, d);
|
|
1175
|
-
},
|
|
1176
|
-
g: qb,
|
|
1177
|
-
m: function(a, b) {
|
|
1178
|
-
var c = Db(a, b), d = c[0];
|
|
1179
|
-
b = d.name + "_$" + c.slice(1).map(function(g) {
|
|
1180
|
-
return g.name;
|
|
1181
|
-
}).join("_") + "$";
|
|
1182
|
-
var e = Eb[b];
|
|
1183
|
-
if (e !== undefined)
|
|
1184
|
-
return e;
|
|
1185
|
-
var f = Array(a - 1);
|
|
1186
|
-
e = Cb((g, k, m, l) => {
|
|
1187
|
-
for (var n = 0, p = 0;p < a - 1; ++p)
|
|
1188
|
-
f[p] = c[p + 1].readValueFromPointer(l + n), n += c[p + 1].argPackAdvance;
|
|
1189
|
-
g = g[k].apply(g, f);
|
|
1190
|
-
for (p = 0;p < a - 1; ++p)
|
|
1191
|
-
c[p + 1].ma && c[p + 1].ma(f[p]);
|
|
1192
|
-
if (!d.va)
|
|
1193
|
-
return d.toWireType(m, g);
|
|
1194
|
-
});
|
|
1195
|
-
return Eb[b] = e;
|
|
1196
|
-
},
|
|
1197
|
-
D: function(a) {
|
|
1198
|
-
4 < a && (J[a].ga += 1);
|
|
1199
|
-
},
|
|
1200
|
-
r: function(a) {
|
|
1201
|
-
var b = M(a);
|
|
1202
|
-
Wa(b);
|
|
1203
|
-
qb(a);
|
|
1204
|
-
},
|
|
1205
|
-
c: function() {
|
|
1206
|
-
x("");
|
|
1207
|
-
},
|
|
1208
|
-
x: function(a, b, c) {
|
|
1209
|
-
A.copyWithin(a, b, b + c);
|
|
1210
|
-
},
|
|
1211
|
-
w: function(a) {
|
|
1212
|
-
var b = A.length;
|
|
1213
|
-
a >>>= 0;
|
|
1214
|
-
if (2147483648 < a)
|
|
1215
|
-
return false;
|
|
1216
|
-
for (var c = 1;4 >= c; c *= 2) {
|
|
1217
|
-
var d = b * (1 + 0.2 / c);
|
|
1218
|
-
d = Math.min(d, a + 100663296);
|
|
1219
|
-
var e = Math;
|
|
1220
|
-
d = Math.max(a, d);
|
|
1221
|
-
e = e.min.call(e, 2147483648, d + (65536 - d % 65536) % 65536);
|
|
1222
|
-
a: {
|
|
1223
|
-
try {
|
|
1224
|
-
fa.grow(e - ia.byteLength + 65535 >>> 16);
|
|
1225
|
-
na();
|
|
1226
|
-
var f = 1;
|
|
1227
|
-
break a;
|
|
1228
|
-
} catch (g) {}
|
|
1229
|
-
f = undefined;
|
|
1230
|
-
}
|
|
1231
|
-
if (f)
|
|
1232
|
-
return true;
|
|
1233
|
-
}
|
|
1234
|
-
return false;
|
|
1235
|
-
},
|
|
1236
|
-
z: function() {
|
|
1237
|
-
return 52;
|
|
1238
|
-
},
|
|
1239
|
-
u: function() {
|
|
1240
|
-
return 70;
|
|
1241
|
-
},
|
|
1242
|
-
y: function(a, b, c, d) {
|
|
1243
|
-
for (var e = 0, f = 0;f < c; f++) {
|
|
1244
|
-
var g = E[b >> 2], k = E[b + 4 >> 2];
|
|
1245
|
-
b += 8;
|
|
1246
|
-
for (var m = 0;m < k; m++) {
|
|
1247
|
-
var l = A[g + m], n = Fb[a];
|
|
1248
|
-
l === 0 || l === 10 ? ((a === 1 ? ea : v)(z(n, 0)), n.length = 0) : n.push(l);
|
|
1249
|
-
}
|
|
1250
|
-
e += k;
|
|
1251
|
-
}
|
|
1252
|
-
E[d >> 2] = e;
|
|
1253
|
-
return 0;
|
|
832
|
+
}
|
|
833
|
+
getBorder(edge) {
|
|
834
|
+
this.assertNotFreed();
|
|
835
|
+
return yg.ygNodeStyleGetBorder(this.ptr, edge);
|
|
836
|
+
}
|
|
837
|
+
setGap(gutter, gap) {
|
|
838
|
+
this.assertNotFreed();
|
|
839
|
+
const { unit, asNumber } = parseValue(gap);
|
|
840
|
+
if (unit === exports.Unit.Percent) {
|
|
841
|
+
yg.ygNodeStyleSetGapPercent(this.ptr, gutter, asNumber);
|
|
842
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
843
|
+
yg.ygNodeStyleSetGap(this.ptr, gutter, asNumber);
|
|
1254
844
|
}
|
|
1255
|
-
}
|
|
1256
|
-
(
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
na();
|
|
1261
|
-
oa = h.asm.J;
|
|
1262
|
-
qa.unshift(h.asm.F);
|
|
1263
|
-
F--;
|
|
1264
|
-
h.monitorRunDependencies && h.monitorRunDependencies(F);
|
|
1265
|
-
F == 0 && (ta !== null && (clearInterval(ta), ta = null), G && (e = G, G = null, e()));
|
|
1266
|
-
}
|
|
1267
|
-
function b(e) {
|
|
1268
|
-
a(e.instance);
|
|
1269
|
-
}
|
|
1270
|
-
function c(e) {
|
|
1271
|
-
return ya().then(function(f) {
|
|
1272
|
-
return WebAssembly.instantiate(f, d);
|
|
1273
|
-
}).then(function(f) {
|
|
1274
|
-
return f;
|
|
1275
|
-
}).then(e, function(f) {
|
|
1276
|
-
v("failed to asynchronously prepare wasm: " + f);
|
|
1277
|
-
x(f);
|
|
1278
|
-
});
|
|
845
|
+
}
|
|
846
|
+
setGapPercent(gutter, gap) {
|
|
847
|
+
this.assertNotFreed();
|
|
848
|
+
if (gap !== undefined) {
|
|
849
|
+
yg.ygNodeStyleSetGapPercent(this.ptr, gutter, gap);
|
|
1279
850
|
}
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
851
|
+
}
|
|
852
|
+
setWidth(width) {
|
|
853
|
+
this.assertNotFreed();
|
|
854
|
+
const { unit, asNumber } = parseValue(width);
|
|
855
|
+
if (unit === exports.Unit.Auto) {
|
|
856
|
+
yg.ygNodeStyleSetWidthAuto(this.ptr);
|
|
857
|
+
} else if (unit === exports.Unit.Percent) {
|
|
858
|
+
yg.ygNodeStyleSetWidthPercent(this.ptr, asNumber);
|
|
859
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
860
|
+
yg.ygNodeStyleSetWidth(this.ptr, asNumber);
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
setWidthPercent(width) {
|
|
864
|
+
this.assertNotFreed();
|
|
865
|
+
if (width !== undefined) {
|
|
866
|
+
yg.ygNodeStyleSetWidthPercent(this.ptr, width);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
setWidthAuto() {
|
|
870
|
+
this.assertNotFreed();
|
|
871
|
+
yg.ygNodeStyleSetWidthAuto(this.ptr);
|
|
872
|
+
}
|
|
873
|
+
setHeight(height) {
|
|
874
|
+
this.assertNotFreed();
|
|
875
|
+
const { unit, asNumber } = parseValue(height);
|
|
876
|
+
if (unit === exports.Unit.Auto) {
|
|
877
|
+
yg.ygNodeStyleSetHeightAuto(this.ptr);
|
|
878
|
+
} else if (unit === exports.Unit.Percent) {
|
|
879
|
+
yg.ygNodeStyleSetHeightPercent(this.ptr, asNumber);
|
|
880
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
881
|
+
yg.ygNodeStyleSetHeight(this.ptr, asNumber);
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
setHeightPercent(height) {
|
|
885
|
+
this.assertNotFreed();
|
|
886
|
+
if (height !== undefined) {
|
|
887
|
+
yg.ygNodeStyleSetHeightPercent(this.ptr, height);
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
setHeightAuto() {
|
|
891
|
+
this.assertNotFreed();
|
|
892
|
+
yg.ygNodeStyleSetHeightAuto(this.ptr);
|
|
893
|
+
}
|
|
894
|
+
setMinWidth(minWidth) {
|
|
895
|
+
this.assertNotFreed();
|
|
896
|
+
const { unit, asNumber } = parseValue(minWidth);
|
|
897
|
+
if (unit === exports.Unit.Percent) {
|
|
898
|
+
yg.ygNodeStyleSetMinWidthPercent(this.ptr, asNumber);
|
|
899
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
900
|
+
yg.ygNodeStyleSetMinWidth(this.ptr, asNumber);
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
setMinWidthPercent(minWidth) {
|
|
904
|
+
this.assertNotFreed();
|
|
905
|
+
if (minWidth !== undefined) {
|
|
906
|
+
yg.ygNodeStyleSetMinWidthPercent(this.ptr, minWidth);
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
setMinHeight(minHeight) {
|
|
910
|
+
this.assertNotFreed();
|
|
911
|
+
const { unit, asNumber } = parseValue(minHeight);
|
|
912
|
+
if (unit === exports.Unit.Percent) {
|
|
913
|
+
yg.ygNodeStyleSetMinHeightPercent(this.ptr, asNumber);
|
|
914
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
915
|
+
yg.ygNodeStyleSetMinHeight(this.ptr, asNumber);
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
setMinHeightPercent(minHeight) {
|
|
919
|
+
this.assertNotFreed();
|
|
920
|
+
if (minHeight !== undefined) {
|
|
921
|
+
yg.ygNodeStyleSetMinHeightPercent(this.ptr, minHeight);
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
setMaxWidth(maxWidth) {
|
|
925
|
+
this.assertNotFreed();
|
|
926
|
+
const { unit, asNumber } = parseValue(maxWidth);
|
|
927
|
+
if (unit === exports.Unit.Percent) {
|
|
928
|
+
yg.ygNodeStyleSetMaxWidthPercent(this.ptr, asNumber);
|
|
929
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
930
|
+
yg.ygNodeStyleSetMaxWidth(this.ptr, asNumber);
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
setMaxWidthPercent(maxWidth) {
|
|
934
|
+
this.assertNotFreed();
|
|
935
|
+
if (maxWidth !== undefined) {
|
|
936
|
+
yg.ygNodeStyleSetMaxWidthPercent(this.ptr, maxWidth);
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
setMaxHeight(maxHeight) {
|
|
940
|
+
this.assertNotFreed();
|
|
941
|
+
const { unit, asNumber } = parseValue(maxHeight);
|
|
942
|
+
if (unit === exports.Unit.Percent) {
|
|
943
|
+
yg.ygNodeStyleSetMaxHeightPercent(this.ptr, asNumber);
|
|
944
|
+
} else if (unit === exports.Unit.Point && asNumber !== undefined) {
|
|
945
|
+
yg.ygNodeStyleSetMaxHeight(this.ptr, asNumber);
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
setMaxHeightPercent(maxHeight) {
|
|
949
|
+
this.assertNotFreed();
|
|
950
|
+
if (maxHeight !== undefined) {
|
|
951
|
+
yg.ygNodeStyleSetMaxHeightPercent(this.ptr, maxHeight);
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
setAspectRatio(aspectRatio) {
|
|
955
|
+
this.assertNotFreed();
|
|
956
|
+
if (aspectRatio !== undefined) {
|
|
957
|
+
yg.ygNodeStyleSetAspectRatio(this.ptr, aspectRatio);
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
getAspectRatio() {
|
|
961
|
+
this.assertNotFreed();
|
|
962
|
+
return yg.ygNodeStyleGetAspectRatio(this.ptr);
|
|
963
|
+
}
|
|
964
|
+
getWidth() {
|
|
965
|
+
this.assertNotFreed();
|
|
966
|
+
return unpackValue(yg.ygNodeStyleGetWidthPacked(this.ptr));
|
|
967
|
+
}
|
|
968
|
+
getHeight() {
|
|
969
|
+
this.assertNotFreed();
|
|
970
|
+
return unpackValue(yg.ygNodeStyleGetHeightPacked(this.ptr));
|
|
971
|
+
}
|
|
972
|
+
getMinWidth() {
|
|
973
|
+
this.assertNotFreed();
|
|
974
|
+
return unpackValue(yg.ygNodeStyleGetMinWidthPacked(this.ptr));
|
|
975
|
+
}
|
|
976
|
+
getMinHeight() {
|
|
977
|
+
this.assertNotFreed();
|
|
978
|
+
return unpackValue(yg.ygNodeStyleGetMinHeightPacked(this.ptr));
|
|
979
|
+
}
|
|
980
|
+
getMaxWidth() {
|
|
981
|
+
this.assertNotFreed();
|
|
982
|
+
return unpackValue(yg.ygNodeStyleGetMaxWidthPacked(this.ptr));
|
|
983
|
+
}
|
|
984
|
+
getMaxHeight() {
|
|
985
|
+
this.assertNotFreed();
|
|
986
|
+
return unpackValue(yg.ygNodeStyleGetMaxHeightPacked(this.ptr));
|
|
987
|
+
}
|
|
988
|
+
getMargin(edge) {
|
|
989
|
+
this.assertNotFreed();
|
|
990
|
+
return unpackValue(yg.ygNodeStyleGetMarginPacked(this.ptr, edge));
|
|
991
|
+
}
|
|
992
|
+
getPadding(edge) {
|
|
993
|
+
this.assertNotFreed();
|
|
994
|
+
return unpackValue(yg.ygNodeStyleGetPaddingPacked(this.ptr, edge));
|
|
995
|
+
}
|
|
996
|
+
getPosition(edge) {
|
|
997
|
+
this.assertNotFreed();
|
|
998
|
+
return unpackValue(yg.ygNodeStyleGetPositionPacked(this.ptr, edge));
|
|
999
|
+
}
|
|
1000
|
+
getGap(gutter) {
|
|
1001
|
+
this.assertNotFreed();
|
|
1002
|
+
return unpackValue(yg.ygNodeStyleGetGapPacked(this.ptr, gutter));
|
|
1003
|
+
}
|
|
1004
|
+
getFlexBasis() {
|
|
1005
|
+
this.assertNotFreed();
|
|
1006
|
+
return unpackValue(yg.ygNodeStyleGetFlexBasisPacked(this.ptr));
|
|
1007
|
+
}
|
|
1008
|
+
setMeasureFunc(measureFunc) {
|
|
1009
|
+
this.assertNotFreed();
|
|
1010
|
+
this.unsetMeasureFunc();
|
|
1011
|
+
if (measureFunc) {
|
|
1012
|
+
this.measureCallback = new bun_ffi_1.JSCallback((nodePtr, width, widthMode, height, heightMode) => {
|
|
1013
|
+
const result = measureFunc(width, widthMode, height, heightMode);
|
|
1014
|
+
yg.ygStoreMeasureResult(result.width, result.height);
|
|
1015
|
+
}, {
|
|
1016
|
+
args: [
|
|
1017
|
+
bun_ffi_1.FFIType.ptr,
|
|
1018
|
+
bun_ffi_1.FFIType.f32,
|
|
1019
|
+
bun_ffi_1.FFIType.u32,
|
|
1020
|
+
bun_ffi_1.FFIType.f32,
|
|
1021
|
+
bun_ffi_1.FFIType.u32
|
|
1022
|
+
],
|
|
1023
|
+
returns: bun_ffi_1.FFIType.void
|
|
1296
1024
|
});
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
})();
|
|
1300
|
-
h.___wasm_call_ctors = function() {
|
|
1301
|
-
return (h.___wasm_call_ctors = h.asm.F).apply(null, arguments);
|
|
1302
|
-
};
|
|
1303
|
-
var Ka = h.___getTypeName = function() {
|
|
1304
|
-
return (Ka = h.___getTypeName = h.asm.G).apply(null, arguments);
|
|
1305
|
-
};
|
|
1306
|
-
h.__embind_initialize_bindings = function() {
|
|
1307
|
-
return (h.__embind_initialize_bindings = h.asm.H).apply(null, arguments);
|
|
1308
|
-
};
|
|
1309
|
-
var Ib = h._malloc = function() {
|
|
1310
|
-
return (Ib = h._malloc = h.asm.I).apply(null, arguments);
|
|
1311
|
-
}, S = h._free = function() {
|
|
1312
|
-
return (S = h._free = h.asm.K).apply(null, arguments);
|
|
1313
|
-
};
|
|
1314
|
-
h.dynCall_jiji = function() {
|
|
1315
|
-
return (h.dynCall_jiji = h.asm.L).apply(null, arguments);
|
|
1316
|
-
};
|
|
1317
|
-
var Kb;
|
|
1318
|
-
G = function Lb() {
|
|
1319
|
-
Kb || Mb();
|
|
1320
|
-
Kb || (G = Lb);
|
|
1321
|
-
};
|
|
1322
|
-
function Mb() {
|
|
1323
|
-
function a() {
|
|
1324
|
-
if (!Kb && (Kb = true, h.calledRun = true, !ha)) {
|
|
1325
|
-
za(qa);
|
|
1326
|
-
aa(h);
|
|
1327
|
-
if (h.onRuntimeInitialized)
|
|
1328
|
-
h.onRuntimeInitialized();
|
|
1329
|
-
if (h.postRun)
|
|
1330
|
-
for (typeof h.postRun == "function" && (h.postRun = [h.postRun]);h.postRun.length; ) {
|
|
1331
|
-
var b = h.postRun.shift();
|
|
1332
|
-
ra.unshift(b);
|
|
1333
|
-
}
|
|
1334
|
-
za(ra);
|
|
1025
|
+
if (this.measureCallback.ptr) {
|
|
1026
|
+
yg.ygNodeSetMeasureFuncTrampoline(this.ptr, this.measureCallback.ptr);
|
|
1335
1027
|
}
|
|
1336
1028
|
}
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
Align2[Align2["FlexEnd"] = 3] = "FlexEnd";
|
|
1365
|
-
Align2[Align2["Stretch"] = 4] = "Stretch";
|
|
1366
|
-
Align2[Align2["Baseline"] = 5] = "Baseline";
|
|
1367
|
-
Align2[Align2["SpaceBetween"] = 6] = "SpaceBetween";
|
|
1368
|
-
Align2[Align2["SpaceAround"] = 7] = "SpaceAround";
|
|
1369
|
-
Align2[Align2["SpaceEvenly"] = 8] = "SpaceEvenly";
|
|
1370
|
-
return Align2;
|
|
1371
|
-
}({});
|
|
1372
|
-
var BoxSizing = /* @__PURE__ */ function(BoxSizing2) {
|
|
1373
|
-
BoxSizing2[BoxSizing2["BorderBox"] = 0] = "BorderBox";
|
|
1374
|
-
BoxSizing2[BoxSizing2["ContentBox"] = 1] = "ContentBox";
|
|
1375
|
-
return BoxSizing2;
|
|
1376
|
-
}({});
|
|
1377
|
-
var Dimension = /* @__PURE__ */ function(Dimension2) {
|
|
1378
|
-
Dimension2[Dimension2["Width"] = 0] = "Width";
|
|
1379
|
-
Dimension2[Dimension2["Height"] = 1] = "Height";
|
|
1380
|
-
return Dimension2;
|
|
1381
|
-
}({});
|
|
1382
|
-
var Direction = /* @__PURE__ */ function(Direction2) {
|
|
1383
|
-
Direction2[Direction2["Inherit"] = 0] = "Inherit";
|
|
1384
|
-
Direction2[Direction2["LTR"] = 1] = "LTR";
|
|
1385
|
-
Direction2[Direction2["RTL"] = 2] = "RTL";
|
|
1386
|
-
return Direction2;
|
|
1387
|
-
}({});
|
|
1388
|
-
var Display = /* @__PURE__ */ function(Display2) {
|
|
1389
|
-
Display2[Display2["Flex"] = 0] = "Flex";
|
|
1390
|
-
Display2[Display2["None"] = 1] = "None";
|
|
1391
|
-
Display2[Display2["Contents"] = 2] = "Contents";
|
|
1392
|
-
return Display2;
|
|
1393
|
-
}({});
|
|
1394
|
-
var Edge = /* @__PURE__ */ function(Edge2) {
|
|
1395
|
-
Edge2[Edge2["Left"] = 0] = "Left";
|
|
1396
|
-
Edge2[Edge2["Top"] = 1] = "Top";
|
|
1397
|
-
Edge2[Edge2["Right"] = 2] = "Right";
|
|
1398
|
-
Edge2[Edge2["Bottom"] = 3] = "Bottom";
|
|
1399
|
-
Edge2[Edge2["Start"] = 4] = "Start";
|
|
1400
|
-
Edge2[Edge2["End"] = 5] = "End";
|
|
1401
|
-
Edge2[Edge2["Horizontal"] = 6] = "Horizontal";
|
|
1402
|
-
Edge2[Edge2["Vertical"] = 7] = "Vertical";
|
|
1403
|
-
Edge2[Edge2["All"] = 8] = "All";
|
|
1404
|
-
return Edge2;
|
|
1405
|
-
}({});
|
|
1406
|
-
var Errata = /* @__PURE__ */ function(Errata2) {
|
|
1407
|
-
Errata2[Errata2["None"] = 0] = "None";
|
|
1408
|
-
Errata2[Errata2["StretchFlexBasis"] = 1] = "StretchFlexBasis";
|
|
1409
|
-
Errata2[Errata2["AbsolutePositionWithoutInsetsExcludesPadding"] = 2] = "AbsolutePositionWithoutInsetsExcludesPadding";
|
|
1410
|
-
Errata2[Errata2["AbsolutePercentAgainstInnerSize"] = 4] = "AbsolutePercentAgainstInnerSize";
|
|
1411
|
-
Errata2[Errata2["All"] = 2147483647] = "All";
|
|
1412
|
-
Errata2[Errata2["Classic"] = 2147483646] = "Classic";
|
|
1413
|
-
return Errata2;
|
|
1414
|
-
}({});
|
|
1415
|
-
var ExperimentalFeature = /* @__PURE__ */ function(ExperimentalFeature2) {
|
|
1416
|
-
ExperimentalFeature2[ExperimentalFeature2["WebFlexBasis"] = 0] = "WebFlexBasis";
|
|
1417
|
-
return ExperimentalFeature2;
|
|
1418
|
-
}({});
|
|
1419
|
-
var FlexDirection = /* @__PURE__ */ function(FlexDirection2) {
|
|
1420
|
-
FlexDirection2[FlexDirection2["Column"] = 0] = "Column";
|
|
1421
|
-
FlexDirection2[FlexDirection2["ColumnReverse"] = 1] = "ColumnReverse";
|
|
1422
|
-
FlexDirection2[FlexDirection2["Row"] = 2] = "Row";
|
|
1423
|
-
FlexDirection2[FlexDirection2["RowReverse"] = 3] = "RowReverse";
|
|
1424
|
-
return FlexDirection2;
|
|
1425
|
-
}({});
|
|
1426
|
-
var Gutter = /* @__PURE__ */ function(Gutter2) {
|
|
1427
|
-
Gutter2[Gutter2["Column"] = 0] = "Column";
|
|
1428
|
-
Gutter2[Gutter2["Row"] = 1] = "Row";
|
|
1429
|
-
Gutter2[Gutter2["All"] = 2] = "All";
|
|
1430
|
-
return Gutter2;
|
|
1431
|
-
}({});
|
|
1432
|
-
var Justify = /* @__PURE__ */ function(Justify2) {
|
|
1433
|
-
Justify2[Justify2["FlexStart"] = 0] = "FlexStart";
|
|
1434
|
-
Justify2[Justify2["Center"] = 1] = "Center";
|
|
1435
|
-
Justify2[Justify2["FlexEnd"] = 2] = "FlexEnd";
|
|
1436
|
-
Justify2[Justify2["SpaceBetween"] = 3] = "SpaceBetween";
|
|
1437
|
-
Justify2[Justify2["SpaceAround"] = 4] = "SpaceAround";
|
|
1438
|
-
Justify2[Justify2["SpaceEvenly"] = 5] = "SpaceEvenly";
|
|
1439
|
-
return Justify2;
|
|
1440
|
-
}({});
|
|
1441
|
-
var LogLevel = /* @__PURE__ */ function(LogLevel2) {
|
|
1442
|
-
LogLevel2[LogLevel2["Error"] = 0] = "Error";
|
|
1443
|
-
LogLevel2[LogLevel2["Warn"] = 1] = "Warn";
|
|
1444
|
-
LogLevel2[LogLevel2["Info"] = 2] = "Info";
|
|
1445
|
-
LogLevel2[LogLevel2["Debug"] = 3] = "Debug";
|
|
1446
|
-
LogLevel2[LogLevel2["Verbose"] = 4] = "Verbose";
|
|
1447
|
-
LogLevel2[LogLevel2["Fatal"] = 5] = "Fatal";
|
|
1448
|
-
return LogLevel2;
|
|
1449
|
-
}({});
|
|
1450
|
-
var MeasureMode = /* @__PURE__ */ function(MeasureMode2) {
|
|
1451
|
-
MeasureMode2[MeasureMode2["Undefined"] = 0] = "Undefined";
|
|
1452
|
-
MeasureMode2[MeasureMode2["Exactly"] = 1] = "Exactly";
|
|
1453
|
-
MeasureMode2[MeasureMode2["AtMost"] = 2] = "AtMost";
|
|
1454
|
-
return MeasureMode2;
|
|
1455
|
-
}({});
|
|
1456
|
-
var NodeType = /* @__PURE__ */ function(NodeType2) {
|
|
1457
|
-
NodeType2[NodeType2["Default"] = 0] = "Default";
|
|
1458
|
-
NodeType2[NodeType2["Text"] = 1] = "Text";
|
|
1459
|
-
return NodeType2;
|
|
1460
|
-
}({});
|
|
1461
|
-
var Overflow = /* @__PURE__ */ function(Overflow2) {
|
|
1462
|
-
Overflow2[Overflow2["Visible"] = 0] = "Visible";
|
|
1463
|
-
Overflow2[Overflow2["Hidden"] = 1] = "Hidden";
|
|
1464
|
-
Overflow2[Overflow2["Scroll"] = 2] = "Scroll";
|
|
1465
|
-
return Overflow2;
|
|
1466
|
-
}({});
|
|
1467
|
-
var PositionType = /* @__PURE__ */ function(PositionType2) {
|
|
1468
|
-
PositionType2[PositionType2["Static"] = 0] = "Static";
|
|
1469
|
-
PositionType2[PositionType2["Relative"] = 1] = "Relative";
|
|
1470
|
-
PositionType2[PositionType2["Absolute"] = 2] = "Absolute";
|
|
1471
|
-
return PositionType2;
|
|
1472
|
-
}({});
|
|
1473
|
-
var Unit = /* @__PURE__ */ function(Unit2) {
|
|
1474
|
-
Unit2[Unit2["Undefined"] = 0] = "Undefined";
|
|
1475
|
-
Unit2[Unit2["Point"] = 1] = "Point";
|
|
1476
|
-
Unit2[Unit2["Percent"] = 2] = "Percent";
|
|
1477
|
-
Unit2[Unit2["Auto"] = 3] = "Auto";
|
|
1478
|
-
return Unit2;
|
|
1479
|
-
}({});
|
|
1480
|
-
var Wrap = /* @__PURE__ */ function(Wrap2) {
|
|
1481
|
-
Wrap2[Wrap2["NoWrap"] = 0] = "NoWrap";
|
|
1482
|
-
Wrap2[Wrap2["Wrap"] = 1] = "Wrap";
|
|
1483
|
-
Wrap2[Wrap2["WrapReverse"] = 2] = "WrapReverse";
|
|
1484
|
-
return Wrap2;
|
|
1485
|
-
}({});
|
|
1486
|
-
var constants = {
|
|
1487
|
-
ALIGN_AUTO: Align.Auto,
|
|
1488
|
-
ALIGN_FLEX_START: Align.FlexStart,
|
|
1489
|
-
ALIGN_CENTER: Align.Center,
|
|
1490
|
-
ALIGN_FLEX_END: Align.FlexEnd,
|
|
1491
|
-
ALIGN_STRETCH: Align.Stretch,
|
|
1492
|
-
ALIGN_BASELINE: Align.Baseline,
|
|
1493
|
-
ALIGN_SPACE_BETWEEN: Align.SpaceBetween,
|
|
1494
|
-
ALIGN_SPACE_AROUND: Align.SpaceAround,
|
|
1495
|
-
ALIGN_SPACE_EVENLY: Align.SpaceEvenly,
|
|
1496
|
-
BOX_SIZING_BORDER_BOX: BoxSizing.BorderBox,
|
|
1497
|
-
BOX_SIZING_CONTENT_BOX: BoxSizing.ContentBox,
|
|
1498
|
-
DIMENSION_WIDTH: Dimension.Width,
|
|
1499
|
-
DIMENSION_HEIGHT: Dimension.Height,
|
|
1500
|
-
DIRECTION_INHERIT: Direction.Inherit,
|
|
1501
|
-
DIRECTION_LTR: Direction.LTR,
|
|
1502
|
-
DIRECTION_RTL: Direction.RTL,
|
|
1503
|
-
DISPLAY_FLEX: Display.Flex,
|
|
1504
|
-
DISPLAY_NONE: Display.None,
|
|
1505
|
-
DISPLAY_CONTENTS: Display.Contents,
|
|
1506
|
-
EDGE_LEFT: Edge.Left,
|
|
1507
|
-
EDGE_TOP: Edge.Top,
|
|
1508
|
-
EDGE_RIGHT: Edge.Right,
|
|
1509
|
-
EDGE_BOTTOM: Edge.Bottom,
|
|
1510
|
-
EDGE_START: Edge.Start,
|
|
1511
|
-
EDGE_END: Edge.End,
|
|
1512
|
-
EDGE_HORIZONTAL: Edge.Horizontal,
|
|
1513
|
-
EDGE_VERTICAL: Edge.Vertical,
|
|
1514
|
-
EDGE_ALL: Edge.All,
|
|
1515
|
-
ERRATA_NONE: Errata.None,
|
|
1516
|
-
ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis,
|
|
1517
|
-
ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING: Errata.AbsolutePositionWithoutInsetsExcludesPadding,
|
|
1518
|
-
ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE: Errata.AbsolutePercentAgainstInnerSize,
|
|
1519
|
-
ERRATA_ALL: Errata.All,
|
|
1520
|
-
ERRATA_CLASSIC: Errata.Classic,
|
|
1521
|
-
EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS: ExperimentalFeature.WebFlexBasis,
|
|
1522
|
-
FLEX_DIRECTION_COLUMN: FlexDirection.Column,
|
|
1523
|
-
FLEX_DIRECTION_COLUMN_REVERSE: FlexDirection.ColumnReverse,
|
|
1524
|
-
FLEX_DIRECTION_ROW: FlexDirection.Row,
|
|
1525
|
-
FLEX_DIRECTION_ROW_REVERSE: FlexDirection.RowReverse,
|
|
1526
|
-
GUTTER_COLUMN: Gutter.Column,
|
|
1527
|
-
GUTTER_ROW: Gutter.Row,
|
|
1528
|
-
GUTTER_ALL: Gutter.All,
|
|
1529
|
-
JUSTIFY_FLEX_START: Justify.FlexStart,
|
|
1530
|
-
JUSTIFY_CENTER: Justify.Center,
|
|
1531
|
-
JUSTIFY_FLEX_END: Justify.FlexEnd,
|
|
1532
|
-
JUSTIFY_SPACE_BETWEEN: Justify.SpaceBetween,
|
|
1533
|
-
JUSTIFY_SPACE_AROUND: Justify.SpaceAround,
|
|
1534
|
-
JUSTIFY_SPACE_EVENLY: Justify.SpaceEvenly,
|
|
1535
|
-
LOG_LEVEL_ERROR: LogLevel.Error,
|
|
1536
|
-
LOG_LEVEL_WARN: LogLevel.Warn,
|
|
1537
|
-
LOG_LEVEL_INFO: LogLevel.Info,
|
|
1538
|
-
LOG_LEVEL_DEBUG: LogLevel.Debug,
|
|
1539
|
-
LOG_LEVEL_VERBOSE: LogLevel.Verbose,
|
|
1540
|
-
LOG_LEVEL_FATAL: LogLevel.Fatal,
|
|
1541
|
-
MEASURE_MODE_UNDEFINED: MeasureMode.Undefined,
|
|
1542
|
-
MEASURE_MODE_EXACTLY: MeasureMode.Exactly,
|
|
1543
|
-
MEASURE_MODE_AT_MOST: MeasureMode.AtMost,
|
|
1544
|
-
NODE_TYPE_DEFAULT: NodeType.Default,
|
|
1545
|
-
NODE_TYPE_TEXT: NodeType.Text,
|
|
1546
|
-
OVERFLOW_VISIBLE: Overflow.Visible,
|
|
1547
|
-
OVERFLOW_HIDDEN: Overflow.Hidden,
|
|
1548
|
-
OVERFLOW_SCROLL: Overflow.Scroll,
|
|
1549
|
-
POSITION_TYPE_STATIC: PositionType.Static,
|
|
1550
|
-
POSITION_TYPE_RELATIVE: PositionType.Relative,
|
|
1551
|
-
POSITION_TYPE_ABSOLUTE: PositionType.Absolute,
|
|
1552
|
-
UNIT_UNDEFINED: Unit.Undefined,
|
|
1553
|
-
UNIT_POINT: Unit.Point,
|
|
1554
|
-
UNIT_PERCENT: Unit.Percent,
|
|
1555
|
-
UNIT_AUTO: Unit.Auto,
|
|
1556
|
-
WRAP_NO_WRAP: Wrap.NoWrap,
|
|
1557
|
-
WRAP_WRAP: Wrap.Wrap,
|
|
1558
|
-
WRAP_WRAP_REVERSE: Wrap.WrapReverse
|
|
1559
|
-
};
|
|
1560
|
-
var YGEnums_default = constants;
|
|
1561
|
-
|
|
1562
|
-
// ../../node_modules/yoga-layout/dist/src/wrapAssembly.js
|
|
1563
|
-
function wrapAssembly(lib) {
|
|
1564
|
-
function patch(prototype, name, fn) {
|
|
1565
|
-
const original = prototype[name];
|
|
1566
|
-
prototype[name] = function() {
|
|
1567
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0;_key < _len; _key++) {
|
|
1568
|
-
args[_key] = arguments[_key];
|
|
1569
|
-
}
|
|
1570
|
-
return fn.call(this, original, ...args);
|
|
1571
|
-
};
|
|
1572
|
-
}
|
|
1573
|
-
for (const fnName of ["setPosition", "setMargin", "setFlexBasis", "setWidth", "setHeight", "setMinWidth", "setMinHeight", "setMaxWidth", "setMaxHeight", "setPadding", "setGap"]) {
|
|
1574
|
-
const methods = {
|
|
1575
|
-
[Unit.Point]: lib.Node.prototype[fnName],
|
|
1576
|
-
[Unit.Percent]: lib.Node.prototype[`${fnName}Percent`],
|
|
1577
|
-
[Unit.Auto]: lib.Node.prototype[`${fnName}Auto`]
|
|
1578
|
-
};
|
|
1579
|
-
patch(lib.Node.prototype, fnName, function(original) {
|
|
1580
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1;_key2 < _len2; _key2++) {
|
|
1581
|
-
args[_key2 - 1] = arguments[_key2];
|
|
1582
|
-
}
|
|
1583
|
-
const value = args.pop();
|
|
1584
|
-
let unit, asNumber;
|
|
1585
|
-
if (value === "auto") {
|
|
1586
|
-
unit = Unit.Auto;
|
|
1587
|
-
asNumber = undefined;
|
|
1588
|
-
} else if (typeof value === "object") {
|
|
1589
|
-
unit = value.unit;
|
|
1590
|
-
asNumber = value.valueOf();
|
|
1591
|
-
} else {
|
|
1592
|
-
unit = typeof value === "string" && value.endsWith("%") ? Unit.Percent : Unit.Point;
|
|
1593
|
-
asNumber = parseFloat(value);
|
|
1594
|
-
if (value !== undefined && !Number.isNaN(value) && Number.isNaN(asNumber)) {
|
|
1595
|
-
throw new Error(`Invalid value ${value} for ${fnName}`);
|
|
1029
|
+
}
|
|
1030
|
+
unsetMeasureFunc() {
|
|
1031
|
+
if (this._freed)
|
|
1032
|
+
return;
|
|
1033
|
+
if (this.measureCallback) {
|
|
1034
|
+
this.measureCallback.close();
|
|
1035
|
+
this.measureCallback = null;
|
|
1036
|
+
}
|
|
1037
|
+
yg.ygNodeUnsetMeasureFuncTrampoline(this.ptr);
|
|
1038
|
+
}
|
|
1039
|
+
hasMeasureFunc() {
|
|
1040
|
+
this.assertNotFreed();
|
|
1041
|
+
return yg.ygNodeHasMeasureFunc(this.ptr);
|
|
1042
|
+
}
|
|
1043
|
+
setBaselineFunc(baselineFunc) {
|
|
1044
|
+
this.assertNotFreed();
|
|
1045
|
+
this.unsetBaselineFunc();
|
|
1046
|
+
if (baselineFunc) {
|
|
1047
|
+
this.baselineCallback = new bun_ffi_1.JSCallback((nodePtr, width, height) => {
|
|
1048
|
+
const result = baselineFunc(width, height);
|
|
1049
|
+
yg.ygStoreBaselineResult(result);
|
|
1050
|
+
}, {
|
|
1051
|
+
args: [bun_ffi_1.FFIType.ptr, bun_ffi_1.FFIType.f32, bun_ffi_1.FFIType.f32],
|
|
1052
|
+
returns: bun_ffi_1.FFIType.void
|
|
1053
|
+
});
|
|
1054
|
+
if (this.baselineCallback.ptr) {
|
|
1055
|
+
yg.ygNodeSetBaselineFuncTrampoline(this.ptr, this.baselineCallback.ptr);
|
|
1596
1056
|
}
|
|
1597
1057
|
}
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
if (
|
|
1601
|
-
return
|
|
1602
|
-
|
|
1603
|
-
|
|
1058
|
+
}
|
|
1059
|
+
unsetBaselineFunc() {
|
|
1060
|
+
if (this._freed)
|
|
1061
|
+
return;
|
|
1062
|
+
if (this.baselineCallback) {
|
|
1063
|
+
this.baselineCallback.close();
|
|
1064
|
+
this.baselineCallback = null;
|
|
1065
|
+
}
|
|
1066
|
+
yg.ygNodeUnsetBaselineFuncTrampoline(this.ptr);
|
|
1067
|
+
}
|
|
1068
|
+
hasBaselineFunc() {
|
|
1069
|
+
this.assertNotFreed();
|
|
1070
|
+
return yg.ygNodeHasBaselineFunc(this.ptr);
|
|
1071
|
+
}
|
|
1072
|
+
setDirtiedFunc(dirtiedFunc) {
|
|
1073
|
+
this.assertNotFreed();
|
|
1074
|
+
this.unsetDirtiedFunc();
|
|
1075
|
+
if (dirtiedFunc) {
|
|
1076
|
+
const node = this;
|
|
1077
|
+
this.dirtiedCallback = new bun_ffi_1.JSCallback((nodePtr) => {
|
|
1078
|
+
dirtiedFunc(node);
|
|
1079
|
+
}, {
|
|
1080
|
+
args: [bun_ffi_1.FFIType.ptr],
|
|
1081
|
+
returns: bun_ffi_1.FFIType.void
|
|
1082
|
+
});
|
|
1083
|
+
if (this.dirtiedCallback.ptr) {
|
|
1084
|
+
yg.ygNodeSetDirtiedFunc(this.ptr, this.dirtiedCallback.ptr);
|
|
1085
|
+
}
|
|
1604
1086
|
}
|
|
1605
|
-
}
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
height
|
|
1613
|
-
} = measureFunction(...arguments);
|
|
1614
|
-
return {
|
|
1615
|
-
width: width ?? NaN,
|
|
1616
|
-
height: height ?? NaN
|
|
1617
|
-
};
|
|
1087
|
+
}
|
|
1088
|
+
unsetDirtiedFunc() {
|
|
1089
|
+
if (this._freed)
|
|
1090
|
+
return;
|
|
1091
|
+
if (this.dirtiedCallback) {
|
|
1092
|
+
this.dirtiedCallback.close();
|
|
1093
|
+
this.dirtiedCallback = null;
|
|
1618
1094
|
}
|
|
1619
|
-
|
|
1620
|
-
}
|
|
1621
|
-
patch(lib.Node.prototype, "setMeasureFunc", function(original, measureFunc) {
|
|
1622
|
-
if (measureFunc) {
|
|
1623
|
-
return original.call(this, wrapMeasureFunction(measureFunc));
|
|
1624
|
-
} else {
|
|
1625
|
-
return this.unsetMeasureFunc();
|
|
1095
|
+
yg.ygNodeUnsetDirtiedFunc(this.ptr);
|
|
1626
1096
|
}
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
dirtied: dirtiedFunction
|
|
1631
|
-
});
|
|
1632
|
-
}
|
|
1633
|
-
patch(lib.Node.prototype, "setDirtiedFunc", function(original, dirtiedFunc) {
|
|
1634
|
-
original.call(this, wrapDirtiedFunc(dirtiedFunc));
|
|
1635
|
-
});
|
|
1636
|
-
patch(lib.Config.prototype, "free", function() {
|
|
1637
|
-
lib.Config.destroy(this);
|
|
1638
|
-
});
|
|
1639
|
-
patch(lib.Node, "create", (_, config) => {
|
|
1640
|
-
return config ? lib.Node.createWithConfig(config) : lib.Node.createDefault();
|
|
1641
|
-
});
|
|
1642
|
-
patch(lib.Node.prototype, "free", function() {
|
|
1643
|
-
lib.Node.destroy(this);
|
|
1644
|
-
});
|
|
1645
|
-
patch(lib.Node.prototype, "freeRecursive", function() {
|
|
1646
|
-
for (let t = 0, T = this.getChildCount();t < T; ++t) {
|
|
1647
|
-
this.getChild(0).freeRecursive();
|
|
1097
|
+
hasDirtiedFunc() {
|
|
1098
|
+
this.assertNotFreed();
|
|
1099
|
+
return yg.ygNodeGetDirtiedFunc(this.ptr) !== null;
|
|
1648
1100
|
}
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
patch(lib.Node.prototype, "calculateLayout", function(original) {
|
|
1652
|
-
let width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;
|
|
1653
|
-
let height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NaN;
|
|
1654
|
-
let direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Direction.LTR;
|
|
1655
|
-
return original.call(this, width, height, direction);
|
|
1656
|
-
});
|
|
1657
|
-
return {
|
|
1658
|
-
Config: lib.Config,
|
|
1659
|
-
Node: lib.Node,
|
|
1660
|
-
...YGEnums_default
|
|
1661
|
-
};
|
|
1662
|
-
}
|
|
1101
|
+
}
|
|
1102
|
+
exports.Node = Node;
|
|
1663
1103
|
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1104
|
+
class Config {
|
|
1105
|
+
ptr;
|
|
1106
|
+
constructor(ptr) {
|
|
1107
|
+
this.ptr = ptr;
|
|
1108
|
+
}
|
|
1109
|
+
static create() {
|
|
1110
|
+
const ptr = yg.ygConfigNew();
|
|
1111
|
+
if (!ptr)
|
|
1112
|
+
throw new Error("Failed to create config");
|
|
1113
|
+
return new Config(ptr);
|
|
1114
|
+
}
|
|
1115
|
+
static destroy(config) {
|
|
1116
|
+
config.free();
|
|
1117
|
+
}
|
|
1118
|
+
free() {
|
|
1119
|
+
yg.ygConfigFree(this.ptr);
|
|
1120
|
+
}
|
|
1121
|
+
setUseWebDefaults(useWebDefaults) {
|
|
1122
|
+
yg.ygConfigSetUseWebDefaults(this.ptr, useWebDefaults);
|
|
1123
|
+
}
|
|
1124
|
+
useWebDefaults() {
|
|
1125
|
+
return yg.ygConfigGetUseWebDefaults(this.ptr);
|
|
1126
|
+
}
|
|
1127
|
+
setPointScaleFactor(pointScaleFactor) {
|
|
1128
|
+
yg.ygConfigSetPointScaleFactor(this.ptr, pointScaleFactor);
|
|
1129
|
+
}
|
|
1130
|
+
getPointScaleFactor() {
|
|
1131
|
+
return yg.ygConfigGetPointScaleFactor(this.ptr);
|
|
1132
|
+
}
|
|
1133
|
+
setErrata(errata) {
|
|
1134
|
+
yg.ygConfigSetErrata(this.ptr, errata);
|
|
1135
|
+
}
|
|
1136
|
+
getErrata() {
|
|
1137
|
+
return yg.ygConfigGetErrata(this.ptr);
|
|
1138
|
+
}
|
|
1139
|
+
setExperimentalFeatureEnabled(feature, enabled) {
|
|
1140
|
+
yg.ygConfigSetExperimentalFeatureEnabled(this.ptr, feature, enabled);
|
|
1141
|
+
}
|
|
1142
|
+
isExperimentalFeatureEnabled(feature) {
|
|
1143
|
+
return yg.ygConfigIsExperimentalFeatureEnabled(this.ptr, feature);
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
exports.Config = Config;
|
|
1147
|
+
exports.default = {
|
|
1148
|
+
Node,
|
|
1149
|
+
Config,
|
|
1150
|
+
Align: exports.Align,
|
|
1151
|
+
BoxSizing: exports.BoxSizing,
|
|
1152
|
+
Dimension: exports.Dimension,
|
|
1153
|
+
Direction: exports.Direction,
|
|
1154
|
+
Display: exports.Display,
|
|
1155
|
+
Edge: exports.Edge,
|
|
1156
|
+
Errata: exports.Errata,
|
|
1157
|
+
ExperimentalFeature: exports.ExperimentalFeature,
|
|
1158
|
+
FlexDirection: exports.FlexDirection,
|
|
1159
|
+
Gutter: exports.Gutter,
|
|
1160
|
+
Justify: exports.Justify,
|
|
1161
|
+
LogLevel: exports.LogLevel,
|
|
1162
|
+
MeasureMode: exports.MeasureMode,
|
|
1163
|
+
NodeType: exports.NodeType,
|
|
1164
|
+
Overflow: exports.Overflow,
|
|
1165
|
+
PositionType: exports.PositionType,
|
|
1166
|
+
Unit: exports.Unit,
|
|
1167
|
+
Wrap: exports.Wrap,
|
|
1168
|
+
EDGE_LEFT: exports.EDGE_LEFT,
|
|
1169
|
+
EDGE_TOP: exports.EDGE_TOP,
|
|
1170
|
+
EDGE_RIGHT: exports.EDGE_RIGHT,
|
|
1171
|
+
EDGE_BOTTOM: exports.EDGE_BOTTOM,
|
|
1172
|
+
EDGE_START: exports.EDGE_START,
|
|
1173
|
+
EDGE_END: exports.EDGE_END,
|
|
1174
|
+
EDGE_HORIZONTAL: exports.EDGE_HORIZONTAL,
|
|
1175
|
+
EDGE_VERTICAL: exports.EDGE_VERTICAL,
|
|
1176
|
+
EDGE_ALL: exports.EDGE_ALL,
|
|
1177
|
+
FLEX_DIRECTION_COLUMN: exports.FLEX_DIRECTION_COLUMN,
|
|
1178
|
+
FLEX_DIRECTION_COLUMN_REVERSE: exports.FLEX_DIRECTION_COLUMN_REVERSE,
|
|
1179
|
+
FLEX_DIRECTION_ROW: exports.FLEX_DIRECTION_ROW,
|
|
1180
|
+
FLEX_DIRECTION_ROW_REVERSE: exports.FLEX_DIRECTION_ROW_REVERSE,
|
|
1181
|
+
JUSTIFY_FLEX_START: exports.JUSTIFY_FLEX_START,
|
|
1182
|
+
JUSTIFY_CENTER: exports.JUSTIFY_CENTER,
|
|
1183
|
+
JUSTIFY_FLEX_END: exports.JUSTIFY_FLEX_END,
|
|
1184
|
+
JUSTIFY_SPACE_BETWEEN: exports.JUSTIFY_SPACE_BETWEEN,
|
|
1185
|
+
JUSTIFY_SPACE_AROUND: exports.JUSTIFY_SPACE_AROUND,
|
|
1186
|
+
JUSTIFY_SPACE_EVENLY: exports.JUSTIFY_SPACE_EVENLY,
|
|
1187
|
+
ALIGN_AUTO: exports.ALIGN_AUTO,
|
|
1188
|
+
ALIGN_FLEX_START: exports.ALIGN_FLEX_START,
|
|
1189
|
+
ALIGN_CENTER: exports.ALIGN_CENTER,
|
|
1190
|
+
ALIGN_FLEX_END: exports.ALIGN_FLEX_END,
|
|
1191
|
+
ALIGN_STRETCH: exports.ALIGN_STRETCH,
|
|
1192
|
+
ALIGN_BASELINE: exports.ALIGN_BASELINE,
|
|
1193
|
+
ALIGN_SPACE_BETWEEN: exports.ALIGN_SPACE_BETWEEN,
|
|
1194
|
+
ALIGN_SPACE_AROUND: exports.ALIGN_SPACE_AROUND,
|
|
1195
|
+
ALIGN_SPACE_EVENLY: exports.ALIGN_SPACE_EVENLY,
|
|
1196
|
+
WRAP_NO_WRAP: exports.WRAP_NO_WRAP,
|
|
1197
|
+
WRAP_WRAP: exports.WRAP_WRAP,
|
|
1198
|
+
WRAP_WRAP_REVERSE: exports.WRAP_WRAP_REVERSE,
|
|
1199
|
+
OVERFLOW_VISIBLE: exports.OVERFLOW_VISIBLE,
|
|
1200
|
+
OVERFLOW_HIDDEN: exports.OVERFLOW_HIDDEN,
|
|
1201
|
+
OVERFLOW_SCROLL: exports.OVERFLOW_SCROLL,
|
|
1202
|
+
DISPLAY_FLEX: exports.DISPLAY_FLEX,
|
|
1203
|
+
DISPLAY_NONE: exports.DISPLAY_NONE,
|
|
1204
|
+
POSITION_TYPE_STATIC: exports.POSITION_TYPE_STATIC,
|
|
1205
|
+
POSITION_TYPE_RELATIVE: exports.POSITION_TYPE_RELATIVE,
|
|
1206
|
+
POSITION_TYPE_ABSOLUTE: exports.POSITION_TYPE_ABSOLUTE,
|
|
1207
|
+
DIRECTION_INHERIT: exports.DIRECTION_INHERIT,
|
|
1208
|
+
DIRECTION_LTR: exports.DIRECTION_LTR,
|
|
1209
|
+
DIRECTION_RTL: exports.DIRECTION_RTL
|
|
1210
|
+
};
|
|
1211
|
+
});
|
|
1667
1212
|
|
|
1668
1213
|
// src/lib/border.ts
|
|
1669
1214
|
var BorderChars = {
|
|
@@ -1877,7 +1422,103 @@ function fromKittyMods(mod) {
|
|
|
1877
1422
|
numLock: !!(mod & 128)
|
|
1878
1423
|
};
|
|
1879
1424
|
}
|
|
1425
|
+
var functionalKeyMap = {
|
|
1426
|
+
A: "up",
|
|
1427
|
+
B: "down",
|
|
1428
|
+
C: "right",
|
|
1429
|
+
D: "left",
|
|
1430
|
+
H: "home",
|
|
1431
|
+
F: "end",
|
|
1432
|
+
P: "f1",
|
|
1433
|
+
Q: "f2",
|
|
1434
|
+
R: "f3",
|
|
1435
|
+
S: "f4"
|
|
1436
|
+
};
|
|
1437
|
+
var tildeKeyMap = {
|
|
1438
|
+
"1": "home",
|
|
1439
|
+
"2": "insert",
|
|
1440
|
+
"3": "delete",
|
|
1441
|
+
"4": "end",
|
|
1442
|
+
"5": "pageup",
|
|
1443
|
+
"6": "pagedown",
|
|
1444
|
+
"7": "home",
|
|
1445
|
+
"8": "end",
|
|
1446
|
+
"11": "f1",
|
|
1447
|
+
"12": "f2",
|
|
1448
|
+
"13": "f3",
|
|
1449
|
+
"14": "f4",
|
|
1450
|
+
"15": "f5",
|
|
1451
|
+
"17": "f6",
|
|
1452
|
+
"18": "f7",
|
|
1453
|
+
"19": "f8",
|
|
1454
|
+
"20": "f9",
|
|
1455
|
+
"21": "f10",
|
|
1456
|
+
"23": "f11",
|
|
1457
|
+
"24": "f12"
|
|
1458
|
+
};
|
|
1459
|
+
function parseKittySpecialKey(sequence) {
|
|
1460
|
+
const specialKeyRe = /^\x1b\[(\d+);(\d+):(\d+)([A-Z~])$/;
|
|
1461
|
+
const match = specialKeyRe.exec(sequence);
|
|
1462
|
+
if (!match)
|
|
1463
|
+
return null;
|
|
1464
|
+
const keyNumOrOne = match[1];
|
|
1465
|
+
const modifierStr = match[2];
|
|
1466
|
+
const eventTypeStr = match[3];
|
|
1467
|
+
const terminator = match[4];
|
|
1468
|
+
let keyName;
|
|
1469
|
+
if (terminator === "~") {
|
|
1470
|
+
keyName = tildeKeyMap[keyNumOrOne];
|
|
1471
|
+
} else {
|
|
1472
|
+
if (keyNumOrOne !== "1")
|
|
1473
|
+
return null;
|
|
1474
|
+
keyName = functionalKeyMap[terminator];
|
|
1475
|
+
}
|
|
1476
|
+
if (!keyName)
|
|
1477
|
+
return null;
|
|
1478
|
+
const key = {
|
|
1479
|
+
name: keyName,
|
|
1480
|
+
ctrl: false,
|
|
1481
|
+
meta: false,
|
|
1482
|
+
shift: false,
|
|
1483
|
+
option: false,
|
|
1484
|
+
number: false,
|
|
1485
|
+
sequence,
|
|
1486
|
+
raw: sequence,
|
|
1487
|
+
eventType: "press",
|
|
1488
|
+
source: "kitty",
|
|
1489
|
+
super: false,
|
|
1490
|
+
hyper: false,
|
|
1491
|
+
capsLock: false,
|
|
1492
|
+
numLock: false
|
|
1493
|
+
};
|
|
1494
|
+
if (modifierStr) {
|
|
1495
|
+
const modifierMask = parseInt(modifierStr, 10);
|
|
1496
|
+
if (!isNaN(modifierMask) && modifierMask > 1) {
|
|
1497
|
+
const mods = fromKittyMods(modifierMask - 1);
|
|
1498
|
+
key.shift = mods.shift;
|
|
1499
|
+
key.ctrl = mods.ctrl;
|
|
1500
|
+
key.meta = mods.alt || mods.meta;
|
|
1501
|
+
key.option = mods.alt;
|
|
1502
|
+
key.super = mods.super;
|
|
1503
|
+
key.hyper = mods.hyper;
|
|
1504
|
+
key.capsLock = mods.capsLock;
|
|
1505
|
+
key.numLock = mods.numLock;
|
|
1506
|
+
}
|
|
1507
|
+
}
|
|
1508
|
+
if (eventTypeStr === "1" || !eventTypeStr) {
|
|
1509
|
+
key.eventType = "press";
|
|
1510
|
+
} else if (eventTypeStr === "2") {
|
|
1511
|
+
key.eventType = "press";
|
|
1512
|
+
key.repeated = true;
|
|
1513
|
+
} else if (eventTypeStr === "3") {
|
|
1514
|
+
key.eventType = "release";
|
|
1515
|
+
}
|
|
1516
|
+
return key;
|
|
1517
|
+
}
|
|
1880
1518
|
function parseKittyKeyboard(sequence) {
|
|
1519
|
+
const specialResult = parseKittySpecialKey(sequence);
|
|
1520
|
+
if (specialResult)
|
|
1521
|
+
return specialResult;
|
|
1881
1522
|
const kittyRe = /^\x1b\[([^\x1b]+)u$/;
|
|
1882
1523
|
const match = kittyRe.exec(sequence);
|
|
1883
1524
|
if (!match)
|
|
@@ -1960,7 +1601,8 @@ function parseKittyKeyboard(sequence) {
|
|
|
1960
1601
|
if (eventTypeStr === "1" || !eventTypeStr) {
|
|
1961
1602
|
key.eventType = "press";
|
|
1962
1603
|
} else if (eventTypeStr === "2") {
|
|
1963
|
-
key.eventType = "
|
|
1604
|
+
key.eventType = "press";
|
|
1605
|
+
key.repeated = true;
|
|
1964
1606
|
} else if (eventTypeStr === "3") {
|
|
1965
1607
|
key.eventType = "release";
|
|
1966
1608
|
} else {
|
|
@@ -2264,6 +1906,7 @@ class KeyEvent {
|
|
|
2264
1906
|
capsLock;
|
|
2265
1907
|
numLock;
|
|
2266
1908
|
baseCode;
|
|
1909
|
+
repeated;
|
|
2267
1910
|
_defaultPrevented = false;
|
|
2268
1911
|
constructor(key) {
|
|
2269
1912
|
this.name = key.name;
|
|
@@ -2282,6 +1925,7 @@ class KeyEvent {
|
|
|
2282
1925
|
this.capsLock = key.capsLock;
|
|
2283
1926
|
this.numLock = key.numLock;
|
|
2284
1927
|
this.baseCode = key.baseCode;
|
|
1928
|
+
this.repeated = key.repeated;
|
|
2285
1929
|
}
|
|
2286
1930
|
get defaultPrevented() {
|
|
2287
1931
|
return this._defaultPrevented;
|
|
@@ -2321,9 +1965,6 @@ class KeyHandler extends EventEmitter {
|
|
|
2321
1965
|
case "press":
|
|
2322
1966
|
this.emit("keypress", new KeyEvent(parsedKey));
|
|
2323
1967
|
break;
|
|
2324
|
-
case "repeat":
|
|
2325
|
-
this.emit("keyrepeat", new KeyEvent(parsedKey));
|
|
2326
|
-
break;
|
|
2327
1968
|
case "release":
|
|
2328
1969
|
this.emit("keyrelease", new KeyEvent(parsedKey));
|
|
2329
1970
|
break;
|
|
@@ -2367,7 +2008,7 @@ class InternalKeyHandler extends KeyHandler {
|
|
|
2367
2008
|
let hasRenderableListeners = false;
|
|
2368
2009
|
if (renderableSet && renderableSet.size > 0) {
|
|
2369
2010
|
hasRenderableListeners = true;
|
|
2370
|
-
if (event === "keypress" || event === "
|
|
2011
|
+
if (event === "keypress" || event === "keyrelease" || event === "paste") {
|
|
2371
2012
|
const keyEvent = args[0];
|
|
2372
2013
|
if (keyEvent.defaultPrevented)
|
|
2373
2014
|
return hasGlobalListeners || hasRenderableListeners;
|
|
@@ -5997,265 +5638,266 @@ class StdinBuffer extends EventEmitter2 {
|
|
|
5997
5638
|
}
|
|
5998
5639
|
|
|
5999
5640
|
// src/lib/yoga.options.ts
|
|
5641
|
+
var import_bun_yoga = __toESM(require_dist(), 1);
|
|
6000
5642
|
function parseAlign(value) {
|
|
6001
5643
|
if (value == null) {
|
|
6002
|
-
return Align.Auto;
|
|
5644
|
+
return import_bun_yoga.Align.Auto;
|
|
6003
5645
|
}
|
|
6004
5646
|
switch (value.toLowerCase()) {
|
|
6005
5647
|
case "auto":
|
|
6006
|
-
return Align.Auto;
|
|
5648
|
+
return import_bun_yoga.Align.Auto;
|
|
6007
5649
|
case "flex-start":
|
|
6008
|
-
return Align.FlexStart;
|
|
5650
|
+
return import_bun_yoga.Align.FlexStart;
|
|
6009
5651
|
case "center":
|
|
6010
|
-
return Align.Center;
|
|
5652
|
+
return import_bun_yoga.Align.Center;
|
|
6011
5653
|
case "flex-end":
|
|
6012
|
-
return Align.FlexEnd;
|
|
5654
|
+
return import_bun_yoga.Align.FlexEnd;
|
|
6013
5655
|
case "stretch":
|
|
6014
|
-
return Align.Stretch;
|
|
5656
|
+
return import_bun_yoga.Align.Stretch;
|
|
6015
5657
|
case "baseline":
|
|
6016
|
-
return Align.Baseline;
|
|
5658
|
+
return import_bun_yoga.Align.Baseline;
|
|
6017
5659
|
case "space-between":
|
|
6018
|
-
return Align.SpaceBetween;
|
|
5660
|
+
return import_bun_yoga.Align.SpaceBetween;
|
|
6019
5661
|
case "space-around":
|
|
6020
|
-
return Align.SpaceAround;
|
|
5662
|
+
return import_bun_yoga.Align.SpaceAround;
|
|
6021
5663
|
case "space-evenly":
|
|
6022
|
-
return Align.SpaceEvenly;
|
|
5664
|
+
return import_bun_yoga.Align.SpaceEvenly;
|
|
6023
5665
|
default:
|
|
6024
|
-
return Align.Auto;
|
|
5666
|
+
return import_bun_yoga.Align.Auto;
|
|
6025
5667
|
}
|
|
6026
5668
|
}
|
|
6027
5669
|
function parseBoxSizing(value) {
|
|
6028
5670
|
if (value == null) {
|
|
6029
|
-
return BoxSizing.BorderBox;
|
|
5671
|
+
return import_bun_yoga.BoxSizing.BorderBox;
|
|
6030
5672
|
}
|
|
6031
5673
|
switch (value.toLowerCase()) {
|
|
6032
5674
|
case "border-box":
|
|
6033
|
-
return BoxSizing.BorderBox;
|
|
5675
|
+
return import_bun_yoga.BoxSizing.BorderBox;
|
|
6034
5676
|
case "content-box":
|
|
6035
|
-
return BoxSizing.ContentBox;
|
|
5677
|
+
return import_bun_yoga.BoxSizing.ContentBox;
|
|
6036
5678
|
default:
|
|
6037
|
-
return BoxSizing.BorderBox;
|
|
5679
|
+
return import_bun_yoga.BoxSizing.BorderBox;
|
|
6038
5680
|
}
|
|
6039
5681
|
}
|
|
6040
5682
|
function parseDimension(value) {
|
|
6041
5683
|
if (value == null) {
|
|
6042
|
-
return Dimension.Width;
|
|
5684
|
+
return import_bun_yoga.Dimension.Width;
|
|
6043
5685
|
}
|
|
6044
5686
|
switch (value.toLowerCase()) {
|
|
6045
5687
|
case "width":
|
|
6046
|
-
return Dimension.Width;
|
|
5688
|
+
return import_bun_yoga.Dimension.Width;
|
|
6047
5689
|
case "height":
|
|
6048
|
-
return Dimension.Height;
|
|
5690
|
+
return import_bun_yoga.Dimension.Height;
|
|
6049
5691
|
default:
|
|
6050
|
-
return Dimension.Width;
|
|
5692
|
+
return import_bun_yoga.Dimension.Width;
|
|
6051
5693
|
}
|
|
6052
5694
|
}
|
|
6053
5695
|
function parseDirection(value) {
|
|
6054
5696
|
if (value == null) {
|
|
6055
|
-
return Direction.LTR;
|
|
5697
|
+
return import_bun_yoga.Direction.LTR;
|
|
6056
5698
|
}
|
|
6057
5699
|
switch (value.toLowerCase()) {
|
|
6058
5700
|
case "inherit":
|
|
6059
|
-
return Direction.Inherit;
|
|
5701
|
+
return import_bun_yoga.Direction.Inherit;
|
|
6060
5702
|
case "ltr":
|
|
6061
|
-
return Direction.LTR;
|
|
5703
|
+
return import_bun_yoga.Direction.LTR;
|
|
6062
5704
|
case "rtl":
|
|
6063
|
-
return Direction.RTL;
|
|
5705
|
+
return import_bun_yoga.Direction.RTL;
|
|
6064
5706
|
default:
|
|
6065
|
-
return Direction.LTR;
|
|
5707
|
+
return import_bun_yoga.Direction.LTR;
|
|
6066
5708
|
}
|
|
6067
5709
|
}
|
|
6068
5710
|
function parseDisplay(value) {
|
|
6069
5711
|
if (value == null) {
|
|
6070
|
-
return Display.Flex;
|
|
5712
|
+
return import_bun_yoga.Display.Flex;
|
|
6071
5713
|
}
|
|
6072
5714
|
switch (value.toLowerCase()) {
|
|
6073
5715
|
case "flex":
|
|
6074
|
-
return Display.Flex;
|
|
5716
|
+
return import_bun_yoga.Display.Flex;
|
|
6075
5717
|
case "none":
|
|
6076
|
-
return Display.None;
|
|
5718
|
+
return import_bun_yoga.Display.None;
|
|
6077
5719
|
case "contents":
|
|
6078
|
-
return Display.Contents;
|
|
5720
|
+
return import_bun_yoga.Display.Contents;
|
|
6079
5721
|
default:
|
|
6080
|
-
return Display.Flex;
|
|
5722
|
+
return import_bun_yoga.Display.Flex;
|
|
6081
5723
|
}
|
|
6082
5724
|
}
|
|
6083
5725
|
function parseEdge(value) {
|
|
6084
5726
|
if (value == null) {
|
|
6085
|
-
return Edge.All;
|
|
5727
|
+
return import_bun_yoga.Edge.All;
|
|
6086
5728
|
}
|
|
6087
5729
|
switch (value.toLowerCase()) {
|
|
6088
5730
|
case "left":
|
|
6089
|
-
return Edge.Left;
|
|
5731
|
+
return import_bun_yoga.Edge.Left;
|
|
6090
5732
|
case "top":
|
|
6091
|
-
return Edge.Top;
|
|
5733
|
+
return import_bun_yoga.Edge.Top;
|
|
6092
5734
|
case "right":
|
|
6093
|
-
return Edge.Right;
|
|
5735
|
+
return import_bun_yoga.Edge.Right;
|
|
6094
5736
|
case "bottom":
|
|
6095
|
-
return Edge.Bottom;
|
|
5737
|
+
return import_bun_yoga.Edge.Bottom;
|
|
6096
5738
|
case "start":
|
|
6097
|
-
return Edge.Start;
|
|
5739
|
+
return import_bun_yoga.Edge.Start;
|
|
6098
5740
|
case "end":
|
|
6099
|
-
return Edge.End;
|
|
5741
|
+
return import_bun_yoga.Edge.End;
|
|
6100
5742
|
case "horizontal":
|
|
6101
|
-
return Edge.Horizontal;
|
|
5743
|
+
return import_bun_yoga.Edge.Horizontal;
|
|
6102
5744
|
case "vertical":
|
|
6103
|
-
return Edge.Vertical;
|
|
5745
|
+
return import_bun_yoga.Edge.Vertical;
|
|
6104
5746
|
case "all":
|
|
6105
|
-
return Edge.All;
|
|
5747
|
+
return import_bun_yoga.Edge.All;
|
|
6106
5748
|
default:
|
|
6107
|
-
return Edge.All;
|
|
5749
|
+
return import_bun_yoga.Edge.All;
|
|
6108
5750
|
}
|
|
6109
5751
|
}
|
|
6110
5752
|
function parseFlexDirection(value) {
|
|
6111
5753
|
if (value == null) {
|
|
6112
|
-
return FlexDirection.Column;
|
|
5754
|
+
return import_bun_yoga.FlexDirection.Column;
|
|
6113
5755
|
}
|
|
6114
5756
|
switch (value.toLowerCase()) {
|
|
6115
5757
|
case "column":
|
|
6116
|
-
return FlexDirection.Column;
|
|
5758
|
+
return import_bun_yoga.FlexDirection.Column;
|
|
6117
5759
|
case "column-reverse":
|
|
6118
|
-
return FlexDirection.ColumnReverse;
|
|
5760
|
+
return import_bun_yoga.FlexDirection.ColumnReverse;
|
|
6119
5761
|
case "row":
|
|
6120
|
-
return FlexDirection.Row;
|
|
5762
|
+
return import_bun_yoga.FlexDirection.Row;
|
|
6121
5763
|
case "row-reverse":
|
|
6122
|
-
return FlexDirection.RowReverse;
|
|
5764
|
+
return import_bun_yoga.FlexDirection.RowReverse;
|
|
6123
5765
|
default:
|
|
6124
|
-
return FlexDirection.Column;
|
|
5766
|
+
return import_bun_yoga.FlexDirection.Column;
|
|
6125
5767
|
}
|
|
6126
5768
|
}
|
|
6127
5769
|
function parseGutter(value) {
|
|
6128
5770
|
if (value == null) {
|
|
6129
|
-
return Gutter.All;
|
|
5771
|
+
return import_bun_yoga.Gutter.All;
|
|
6130
5772
|
}
|
|
6131
5773
|
switch (value.toLowerCase()) {
|
|
6132
5774
|
case "column":
|
|
6133
|
-
return Gutter.Column;
|
|
5775
|
+
return import_bun_yoga.Gutter.Column;
|
|
6134
5776
|
case "row":
|
|
6135
|
-
return Gutter.Row;
|
|
5777
|
+
return import_bun_yoga.Gutter.Row;
|
|
6136
5778
|
case "all":
|
|
6137
|
-
return Gutter.All;
|
|
5779
|
+
return import_bun_yoga.Gutter.All;
|
|
6138
5780
|
default:
|
|
6139
|
-
return Gutter.All;
|
|
5781
|
+
return import_bun_yoga.Gutter.All;
|
|
6140
5782
|
}
|
|
6141
5783
|
}
|
|
6142
5784
|
function parseJustify(value) {
|
|
6143
5785
|
if (value == null) {
|
|
6144
|
-
return Justify.FlexStart;
|
|
5786
|
+
return import_bun_yoga.Justify.FlexStart;
|
|
6145
5787
|
}
|
|
6146
5788
|
switch (value.toLowerCase()) {
|
|
6147
5789
|
case "flex-start":
|
|
6148
|
-
return Justify.FlexStart;
|
|
5790
|
+
return import_bun_yoga.Justify.FlexStart;
|
|
6149
5791
|
case "center":
|
|
6150
|
-
return Justify.Center;
|
|
5792
|
+
return import_bun_yoga.Justify.Center;
|
|
6151
5793
|
case "flex-end":
|
|
6152
|
-
return Justify.FlexEnd;
|
|
5794
|
+
return import_bun_yoga.Justify.FlexEnd;
|
|
6153
5795
|
case "space-between":
|
|
6154
|
-
return Justify.SpaceBetween;
|
|
5796
|
+
return import_bun_yoga.Justify.SpaceBetween;
|
|
6155
5797
|
case "space-around":
|
|
6156
|
-
return Justify.SpaceAround;
|
|
5798
|
+
return import_bun_yoga.Justify.SpaceAround;
|
|
6157
5799
|
case "space-evenly":
|
|
6158
|
-
return Justify.SpaceEvenly;
|
|
5800
|
+
return import_bun_yoga.Justify.SpaceEvenly;
|
|
6159
5801
|
default:
|
|
6160
|
-
return Justify.FlexStart;
|
|
5802
|
+
return import_bun_yoga.Justify.FlexStart;
|
|
6161
5803
|
}
|
|
6162
5804
|
}
|
|
6163
5805
|
function parseLogLevel(value) {
|
|
6164
5806
|
if (value == null) {
|
|
6165
|
-
return LogLevel.Info;
|
|
5807
|
+
return import_bun_yoga.LogLevel.Info;
|
|
6166
5808
|
}
|
|
6167
5809
|
switch (value.toLowerCase()) {
|
|
6168
5810
|
case "error":
|
|
6169
|
-
return LogLevel.Error;
|
|
5811
|
+
return import_bun_yoga.LogLevel.Error;
|
|
6170
5812
|
case "warn":
|
|
6171
|
-
return LogLevel.Warn;
|
|
5813
|
+
return import_bun_yoga.LogLevel.Warn;
|
|
6172
5814
|
case "info":
|
|
6173
|
-
return LogLevel.Info;
|
|
5815
|
+
return import_bun_yoga.LogLevel.Info;
|
|
6174
5816
|
case "debug":
|
|
6175
|
-
return LogLevel.Debug;
|
|
5817
|
+
return import_bun_yoga.LogLevel.Debug;
|
|
6176
5818
|
case "verbose":
|
|
6177
|
-
return LogLevel.Verbose;
|
|
5819
|
+
return import_bun_yoga.LogLevel.Verbose;
|
|
6178
5820
|
case "fatal":
|
|
6179
|
-
return LogLevel.Fatal;
|
|
5821
|
+
return import_bun_yoga.LogLevel.Fatal;
|
|
6180
5822
|
default:
|
|
6181
|
-
return LogLevel.Info;
|
|
5823
|
+
return import_bun_yoga.LogLevel.Info;
|
|
6182
5824
|
}
|
|
6183
5825
|
}
|
|
6184
5826
|
function parseMeasureMode(value) {
|
|
6185
5827
|
if (value == null) {
|
|
6186
|
-
return MeasureMode.Undefined;
|
|
5828
|
+
return import_bun_yoga.MeasureMode.Undefined;
|
|
6187
5829
|
}
|
|
6188
5830
|
switch (value.toLowerCase()) {
|
|
6189
5831
|
case "undefined":
|
|
6190
|
-
return MeasureMode.Undefined;
|
|
5832
|
+
return import_bun_yoga.MeasureMode.Undefined;
|
|
6191
5833
|
case "exactly":
|
|
6192
|
-
return MeasureMode.Exactly;
|
|
5834
|
+
return import_bun_yoga.MeasureMode.Exactly;
|
|
6193
5835
|
case "at-most":
|
|
6194
|
-
return MeasureMode.AtMost;
|
|
5836
|
+
return import_bun_yoga.MeasureMode.AtMost;
|
|
6195
5837
|
default:
|
|
6196
|
-
return MeasureMode.Undefined;
|
|
5838
|
+
return import_bun_yoga.MeasureMode.Undefined;
|
|
6197
5839
|
}
|
|
6198
5840
|
}
|
|
6199
5841
|
function parseOverflow(value) {
|
|
6200
5842
|
if (value == null) {
|
|
6201
|
-
return Overflow.Visible;
|
|
5843
|
+
return import_bun_yoga.Overflow.Visible;
|
|
6202
5844
|
}
|
|
6203
5845
|
switch (value.toLowerCase()) {
|
|
6204
5846
|
case "visible":
|
|
6205
|
-
return Overflow.Visible;
|
|
5847
|
+
return import_bun_yoga.Overflow.Visible;
|
|
6206
5848
|
case "hidden":
|
|
6207
|
-
return Overflow.Hidden;
|
|
5849
|
+
return import_bun_yoga.Overflow.Hidden;
|
|
6208
5850
|
case "scroll":
|
|
6209
|
-
return Overflow.Scroll;
|
|
5851
|
+
return import_bun_yoga.Overflow.Scroll;
|
|
6210
5852
|
default:
|
|
6211
|
-
return Overflow.Visible;
|
|
5853
|
+
return import_bun_yoga.Overflow.Visible;
|
|
6212
5854
|
}
|
|
6213
5855
|
}
|
|
6214
5856
|
function parsePositionType(value) {
|
|
6215
5857
|
if (value == null) {
|
|
6216
|
-
return PositionType.Relative;
|
|
5858
|
+
return import_bun_yoga.PositionType.Relative;
|
|
6217
5859
|
}
|
|
6218
5860
|
switch (value.toLowerCase()) {
|
|
6219
5861
|
case "static":
|
|
6220
|
-
return PositionType.Static;
|
|
5862
|
+
return import_bun_yoga.PositionType.Static;
|
|
6221
5863
|
case "relative":
|
|
6222
|
-
return PositionType.Relative;
|
|
5864
|
+
return import_bun_yoga.PositionType.Relative;
|
|
6223
5865
|
case "absolute":
|
|
6224
|
-
return PositionType.Absolute;
|
|
5866
|
+
return import_bun_yoga.PositionType.Absolute;
|
|
6225
5867
|
default:
|
|
6226
|
-
return PositionType.Static;
|
|
5868
|
+
return import_bun_yoga.PositionType.Static;
|
|
6227
5869
|
}
|
|
6228
5870
|
}
|
|
6229
5871
|
function parseUnit(value) {
|
|
6230
5872
|
if (value == null) {
|
|
6231
|
-
return Unit.Point;
|
|
5873
|
+
return import_bun_yoga.Unit.Point;
|
|
6232
5874
|
}
|
|
6233
5875
|
switch (value.toLowerCase()) {
|
|
6234
5876
|
case "undefined":
|
|
6235
|
-
return Unit.Undefined;
|
|
5877
|
+
return import_bun_yoga.Unit.Undefined;
|
|
6236
5878
|
case "point":
|
|
6237
|
-
return Unit.Point;
|
|
5879
|
+
return import_bun_yoga.Unit.Point;
|
|
6238
5880
|
case "percent":
|
|
6239
|
-
return Unit.Percent;
|
|
5881
|
+
return import_bun_yoga.Unit.Percent;
|
|
6240
5882
|
case "auto":
|
|
6241
|
-
return Unit.Auto;
|
|
5883
|
+
return import_bun_yoga.Unit.Auto;
|
|
6242
5884
|
default:
|
|
6243
|
-
return Unit.Point;
|
|
5885
|
+
return import_bun_yoga.Unit.Point;
|
|
6244
5886
|
}
|
|
6245
5887
|
}
|
|
6246
5888
|
function parseWrap(value) {
|
|
6247
5889
|
if (value == null) {
|
|
6248
|
-
return Wrap.NoWrap;
|
|
5890
|
+
return import_bun_yoga.Wrap.NoWrap;
|
|
6249
5891
|
}
|
|
6250
5892
|
switch (value.toLowerCase()) {
|
|
6251
5893
|
case "no-wrap":
|
|
6252
|
-
return Wrap.NoWrap;
|
|
5894
|
+
return import_bun_yoga.Wrap.NoWrap;
|
|
6253
5895
|
case "wrap":
|
|
6254
|
-
return Wrap.Wrap;
|
|
5896
|
+
return import_bun_yoga.Wrap.Wrap;
|
|
6255
5897
|
case "wrap-reverse":
|
|
6256
|
-
return Wrap.WrapReverse;
|
|
5898
|
+
return import_bun_yoga.Wrap.WrapReverse;
|
|
6257
5899
|
default:
|
|
6258
|
-
return Wrap.NoWrap;
|
|
5900
|
+
return import_bun_yoga.Wrap.NoWrap;
|
|
6259
5901
|
}
|
|
6260
5902
|
}
|
|
6261
5903
|
|
|
@@ -8800,6 +8442,10 @@ function toHex(r, g, b, hex6) {
|
|
|
8800
8442
|
return `#${scaleComponent(r)}${scaleComponent(g)}${scaleComponent(b)}`;
|
|
8801
8443
|
return "#000000";
|
|
8802
8444
|
}
|
|
8445
|
+
function wrapForTmux(osc) {
|
|
8446
|
+
const escaped = osc.replace(/\x1b/g, "\x1B\x1B");
|
|
8447
|
+
return `\x1BPtmux;${escaped}\x1B\\`;
|
|
8448
|
+
}
|
|
8803
8449
|
|
|
8804
8450
|
class TerminalPalette {
|
|
8805
8451
|
stdin;
|
|
@@ -8807,10 +8453,16 @@ class TerminalPalette {
|
|
|
8807
8453
|
writeFn;
|
|
8808
8454
|
activeListeners = [];
|
|
8809
8455
|
activeTimers = [];
|
|
8810
|
-
|
|
8456
|
+
inLegacyTmux;
|
|
8457
|
+
constructor(stdin, stdout, writeFn, isLegacyTmux) {
|
|
8811
8458
|
this.stdin = stdin;
|
|
8812
8459
|
this.stdout = stdout;
|
|
8813
8460
|
this.writeFn = writeFn || ((data) => stdout.write(data));
|
|
8461
|
+
this.inLegacyTmux = isLegacyTmux ?? false;
|
|
8462
|
+
}
|
|
8463
|
+
writeOsc(osc) {
|
|
8464
|
+
const data = this.inLegacyTmux ? wrapForTmux(osc) : osc;
|
|
8465
|
+
return this.writeFn(data);
|
|
8814
8466
|
}
|
|
8815
8467
|
cleanup() {
|
|
8816
8468
|
for (const { event, handler } of this.activeListeners) {
|
|
@@ -8855,7 +8507,7 @@ class TerminalPalette {
|
|
|
8855
8507
|
this.activeTimers.push(timer);
|
|
8856
8508
|
inp.on("data", onData);
|
|
8857
8509
|
this.activeListeners.push({ event: "data", handler: onData });
|
|
8858
|
-
this.
|
|
8510
|
+
this.writeOsc("\x1B]4;0;?\x07");
|
|
8859
8511
|
});
|
|
8860
8512
|
}
|
|
8861
8513
|
async queryPalette(indices, timeoutMs = 1200) {
|
|
@@ -8922,7 +8574,7 @@ class TerminalPalette {
|
|
|
8922
8574
|
this.activeTimers.push(timer);
|
|
8923
8575
|
inp.on("data", onData);
|
|
8924
8576
|
this.activeListeners.push({ event: "data", handler: onData });
|
|
8925
|
-
this.
|
|
8577
|
+
this.writeOsc(indices.map((i) => `\x1B]4;${i};?\x07`).join(""));
|
|
8926
8578
|
});
|
|
8927
8579
|
}
|
|
8928
8580
|
async querySpecialColors(timeoutMs = 1200) {
|
|
@@ -8997,7 +8649,7 @@ class TerminalPalette {
|
|
|
8997
8649
|
this.activeTimers.push(timer);
|
|
8998
8650
|
inp.on("data", onData);
|
|
8999
8651
|
this.activeListeners.push({ event: "data", handler: onData });
|
|
9000
|
-
this.
|
|
8652
|
+
this.writeOsc([
|
|
9001
8653
|
"\x1B]10;?\x07",
|
|
9002
8654
|
"\x1B]11;?\x07",
|
|
9003
8655
|
"\x1B]12;?\x07",
|
|
@@ -9046,8 +8698,8 @@ class TerminalPalette {
|
|
|
9046
8698
|
};
|
|
9047
8699
|
}
|
|
9048
8700
|
}
|
|
9049
|
-
function createTerminalPalette(stdin, stdout, writeFn) {
|
|
9050
|
-
return new TerminalPalette(stdin, stdout, writeFn);
|
|
8701
|
+
function createTerminalPalette(stdin, stdout, writeFn, isLegacyTmux) {
|
|
8702
|
+
return new TerminalPalette(stdin, stdout, writeFn, isLegacyTmux);
|
|
9051
8703
|
}
|
|
9052
8704
|
// src/zig.ts
|
|
9053
8705
|
import { dlopen, toArrayBuffer as toArrayBuffer4, JSCallback, ptr as ptr3 } from "bun:ffi";
|
|
@@ -10415,6 +10067,10 @@ function getOpenTUILib(libPath) {
|
|
|
10415
10067
|
args: ["ptr", "u32", "u32"],
|
|
10416
10068
|
returns: "void"
|
|
10417
10069
|
},
|
|
10070
|
+
textBufferViewSetViewport: {
|
|
10071
|
+
args: ["ptr", "u32", "u32", "u32", "u32"],
|
|
10072
|
+
returns: "void"
|
|
10073
|
+
},
|
|
10418
10074
|
textBufferViewGetVirtualLineCount: {
|
|
10419
10075
|
args: ["ptr"],
|
|
10420
10076
|
returns: "u32"
|
|
@@ -11400,7 +11056,12 @@ class FFIRenderLib {
|
|
|
11400
11056
|
textBufferViewSetViewportSize(view, width, height) {
|
|
11401
11057
|
this.opentui.symbols.textBufferViewSetViewportSize(view, width, height);
|
|
11402
11058
|
}
|
|
11403
|
-
|
|
11059
|
+
textBufferViewSetViewport(view, x, y, width, height) {
|
|
11060
|
+
this.opentui.symbols.textBufferViewSetViewport(view, x, y, width, height);
|
|
11061
|
+
}
|
|
11062
|
+
textBufferViewGetLineInfo(view) {
|
|
11063
|
+
const outBuffer = new ArrayBuffer(LineInfoStruct.size);
|
|
11064
|
+
this.textBufferViewGetLineInfoDirect(view, ptr3(outBuffer));
|
|
11404
11065
|
const struct = LineInfoStruct.unpack(outBuffer);
|
|
11405
11066
|
return {
|
|
11406
11067
|
maxLineWidth: struct.maxWidth,
|
|
@@ -11410,17 +11071,19 @@ class FFIRenderLib {
|
|
|
11410
11071
|
lineWraps: struct.wraps
|
|
11411
11072
|
};
|
|
11412
11073
|
}
|
|
11413
|
-
textBufferViewGetLineInfo(view) {
|
|
11414
|
-
const outBuffer = new ArrayBuffer(LineInfoStruct.size);
|
|
11415
|
-
this.textBufferViewGetLineInfoDirect(view, ptr3(outBuffer));
|
|
11416
|
-
return this.unpackLineInfo(outBuffer);
|
|
11417
|
-
}
|
|
11418
11074
|
textBufferViewGetLogicalLineInfo(view) {
|
|
11419
11075
|
const outBuffer = new ArrayBuffer(LineInfoStruct.size);
|
|
11420
11076
|
this.textBufferViewGetLogicalLineInfoDirect(view, ptr3(outBuffer));
|
|
11421
|
-
|
|
11077
|
+
const struct = LineInfoStruct.unpack(outBuffer);
|
|
11078
|
+
return {
|
|
11079
|
+
maxLineWidth: struct.maxWidth,
|
|
11080
|
+
lineStarts: struct.starts,
|
|
11081
|
+
lineWidths: struct.widths,
|
|
11082
|
+
lineSources: struct.sources,
|
|
11083
|
+
lineWraps: struct.wraps
|
|
11084
|
+
};
|
|
11422
11085
|
}
|
|
11423
|
-
|
|
11086
|
+
textBufferViewGetVirtualLineCount(view) {
|
|
11424
11087
|
return this.opentui.symbols.textBufferViewGetVirtualLineCount(view);
|
|
11425
11088
|
}
|
|
11426
11089
|
textBufferViewGetLineInfoDirect(view, outPtr) {
|
|
@@ -11563,12 +11226,26 @@ class FFIRenderLib {
|
|
|
11563
11226
|
editorViewGetLineInfo(view) {
|
|
11564
11227
|
const outBuffer = new ArrayBuffer(LineInfoStruct.size);
|
|
11565
11228
|
this.opentui.symbols.editorViewGetLineInfoDirect(view, ptr3(outBuffer));
|
|
11566
|
-
|
|
11229
|
+
const struct = LineInfoStruct.unpack(outBuffer);
|
|
11230
|
+
return {
|
|
11231
|
+
maxLineWidth: struct.maxWidth,
|
|
11232
|
+
lineStarts: struct.starts,
|
|
11233
|
+
lineWidths: struct.widths,
|
|
11234
|
+
lineSources: struct.sources,
|
|
11235
|
+
lineWraps: struct.wraps
|
|
11236
|
+
};
|
|
11567
11237
|
}
|
|
11568
11238
|
editorViewGetLogicalLineInfo(view) {
|
|
11569
11239
|
const outBuffer = new ArrayBuffer(LineInfoStruct.size);
|
|
11570
11240
|
this.opentui.symbols.editorViewGetLogicalLineInfoDirect(view, ptr3(outBuffer));
|
|
11571
|
-
|
|
11241
|
+
const struct = LineInfoStruct.unpack(outBuffer);
|
|
11242
|
+
return {
|
|
11243
|
+
maxLineWidth: struct.maxWidth,
|
|
11244
|
+
lineStarts: struct.starts,
|
|
11245
|
+
lineWidths: struct.widths,
|
|
11246
|
+
lineSources: struct.sources,
|
|
11247
|
+
lineWraps: struct.wraps
|
|
11248
|
+
};
|
|
11572
11249
|
}
|
|
11573
11250
|
createEditBuffer(widthMethod) {
|
|
11574
11251
|
const widthMethodCode = widthMethod === "wcwidth" ? 0 : 1;
|
|
@@ -12147,6 +11824,7 @@ class TextBuffer {
|
|
|
12147
11824
|
}
|
|
12148
11825
|
|
|
12149
11826
|
// src/Renderable.ts
|
|
11827
|
+
var import_bun_yoga2 = __toESM(require_dist(), 1);
|
|
12150
11828
|
import { EventEmitter as EventEmitter6 } from "events";
|
|
12151
11829
|
|
|
12152
11830
|
// src/lib/renderable.validations.ts
|
|
@@ -12277,7 +11955,7 @@ class BaseRenderable extends EventEmitter6 {
|
|
|
12277
11955
|
this._visible = value;
|
|
12278
11956
|
}
|
|
12279
11957
|
}
|
|
12280
|
-
var yogaConfig =
|
|
11958
|
+
var yogaConfig = import_bun_yoga2.default.Config.create();
|
|
12281
11959
|
yogaConfig.setUseWebDefaults(false);
|
|
12282
11960
|
yogaConfig.setPointScaleFactor(1);
|
|
12283
11961
|
|
|
@@ -12343,8 +12021,8 @@ class Renderable extends BaseRenderable {
|
|
|
12343
12021
|
this.buffered = options.buffered ?? false;
|
|
12344
12022
|
this._live = options.live ?? false;
|
|
12345
12023
|
this._liveCount = this._live && this._visible ? 1 : 0;
|
|
12346
|
-
this.yogaNode =
|
|
12347
|
-
this.yogaNode.setDisplay(this._visible ? Display.Flex : Display.None);
|
|
12024
|
+
this.yogaNode = import_bun_yoga2.default.Node.create(yogaConfig);
|
|
12025
|
+
this.yogaNode.setDisplay(this._visible ? import_bun_yoga2.Display.Flex : import_bun_yoga2.Display.None);
|
|
12348
12026
|
this.setupYogaProperties(options);
|
|
12349
12027
|
this.applyEventOptions(options);
|
|
12350
12028
|
if (this.buffered) {
|
|
@@ -12379,7 +12057,7 @@ class Renderable extends BaseRenderable {
|
|
|
12379
12057
|
return;
|
|
12380
12058
|
const wasVisible = this._visible;
|
|
12381
12059
|
this._visible = value;
|
|
12382
|
-
this.yogaNode.setDisplay(value ? Display.Flex : Display.None);
|
|
12060
|
+
this.yogaNode.setDisplay(value ? import_bun_yoga2.Display.Flex : import_bun_yoga2.Display.None);
|
|
12383
12061
|
if (this._live) {
|
|
12384
12062
|
if (!wasVisible && value) {
|
|
12385
12063
|
this.propagateLiveCount(1);
|
|
@@ -12405,19 +12083,27 @@ class Renderable extends BaseRenderable {
|
|
|
12405
12083
|
return false;
|
|
12406
12084
|
}
|
|
12407
12085
|
focus() {
|
|
12408
|
-
if (this._focused || !this._focusable)
|
|
12086
|
+
if (this._isDestroyed || this._focused || !this._focusable)
|
|
12409
12087
|
return;
|
|
12410
12088
|
this._ctx.focusRenderable(this);
|
|
12411
12089
|
this._focused = true;
|
|
12412
12090
|
this.requestRender();
|
|
12413
12091
|
this.keypressHandler = (key) => {
|
|
12092
|
+
if (this._isDestroyed)
|
|
12093
|
+
return;
|
|
12414
12094
|
this._keyListeners["down"]?.(key);
|
|
12095
|
+
if (this._isDestroyed)
|
|
12096
|
+
return;
|
|
12415
12097
|
if (!key.defaultPrevented && this.handleKeyPress) {
|
|
12416
12098
|
this.handleKeyPress(key);
|
|
12417
12099
|
}
|
|
12418
12100
|
};
|
|
12419
12101
|
this.pasteHandler = (event) => {
|
|
12102
|
+
if (this._isDestroyed)
|
|
12103
|
+
return;
|
|
12420
12104
|
this._pasteListener?.call(this, event);
|
|
12105
|
+
if (this._isDestroyed)
|
|
12106
|
+
return;
|
|
12421
12107
|
if (!event.defaultPrevented && this.handlePaste) {
|
|
12422
12108
|
this.handlePaste(event);
|
|
12423
12109
|
}
|
|
@@ -12690,40 +12376,40 @@ class Renderable extends BaseRenderable {
|
|
|
12690
12376
|
setupMarginAndPadding(options) {
|
|
12691
12377
|
const node = this.yogaNode;
|
|
12692
12378
|
if (isMarginType(options.margin)) {
|
|
12693
|
-
node.setMargin(Edge.Top, options.margin);
|
|
12694
|
-
node.setMargin(Edge.Right, options.margin);
|
|
12695
|
-
node.setMargin(Edge.Bottom, options.margin);
|
|
12696
|
-
node.setMargin(Edge.Left, options.margin);
|
|
12379
|
+
node.setMargin(import_bun_yoga2.Edge.Top, options.margin);
|
|
12380
|
+
node.setMargin(import_bun_yoga2.Edge.Right, options.margin);
|
|
12381
|
+
node.setMargin(import_bun_yoga2.Edge.Bottom, options.margin);
|
|
12382
|
+
node.setMargin(import_bun_yoga2.Edge.Left, options.margin);
|
|
12697
12383
|
}
|
|
12698
12384
|
if (isMarginType(options.marginTop)) {
|
|
12699
|
-
node.setMargin(Edge.Top, options.marginTop);
|
|
12385
|
+
node.setMargin(import_bun_yoga2.Edge.Top, options.marginTop);
|
|
12700
12386
|
}
|
|
12701
12387
|
if (isMarginType(options.marginRight)) {
|
|
12702
|
-
node.setMargin(Edge.Right, options.marginRight);
|
|
12388
|
+
node.setMargin(import_bun_yoga2.Edge.Right, options.marginRight);
|
|
12703
12389
|
}
|
|
12704
12390
|
if (isMarginType(options.marginBottom)) {
|
|
12705
|
-
node.setMargin(Edge.Bottom, options.marginBottom);
|
|
12391
|
+
node.setMargin(import_bun_yoga2.Edge.Bottom, options.marginBottom);
|
|
12706
12392
|
}
|
|
12707
12393
|
if (isMarginType(options.marginLeft)) {
|
|
12708
|
-
node.setMargin(Edge.Left, options.marginLeft);
|
|
12394
|
+
node.setMargin(import_bun_yoga2.Edge.Left, options.marginLeft);
|
|
12709
12395
|
}
|
|
12710
12396
|
if (isPaddingType(options.padding)) {
|
|
12711
|
-
node.setPadding(Edge.Top, options.padding);
|
|
12712
|
-
node.setPadding(Edge.Right, options.padding);
|
|
12713
|
-
node.setPadding(Edge.Bottom, options.padding);
|
|
12714
|
-
node.setPadding(Edge.Left, options.padding);
|
|
12397
|
+
node.setPadding(import_bun_yoga2.Edge.Top, options.padding);
|
|
12398
|
+
node.setPadding(import_bun_yoga2.Edge.Right, options.padding);
|
|
12399
|
+
node.setPadding(import_bun_yoga2.Edge.Bottom, options.padding);
|
|
12400
|
+
node.setPadding(import_bun_yoga2.Edge.Left, options.padding);
|
|
12715
12401
|
}
|
|
12716
12402
|
if (isPaddingType(options.paddingTop)) {
|
|
12717
|
-
node.setPadding(Edge.Top, options.paddingTop);
|
|
12403
|
+
node.setPadding(import_bun_yoga2.Edge.Top, options.paddingTop);
|
|
12718
12404
|
}
|
|
12719
12405
|
if (isPaddingType(options.paddingRight)) {
|
|
12720
|
-
node.setPadding(Edge.Right, options.paddingRight);
|
|
12406
|
+
node.setPadding(import_bun_yoga2.Edge.Right, options.paddingRight);
|
|
12721
12407
|
}
|
|
12722
12408
|
if (isPaddingType(options.paddingBottom)) {
|
|
12723
|
-
node.setPadding(Edge.Bottom, options.paddingBottom);
|
|
12409
|
+
node.setPadding(import_bun_yoga2.Edge.Bottom, options.paddingBottom);
|
|
12724
12410
|
}
|
|
12725
12411
|
if (isPaddingType(options.paddingLeft)) {
|
|
12726
|
-
node.setPadding(Edge.Left, options.paddingLeft);
|
|
12412
|
+
node.setPadding(import_bun_yoga2.Edge.Left, options.paddingLeft);
|
|
12727
12413
|
}
|
|
12728
12414
|
}
|
|
12729
12415
|
set position(positionType) {
|
|
@@ -12752,30 +12438,30 @@ class Renderable extends BaseRenderable {
|
|
|
12752
12438
|
const { top, right, bottom, left } = position;
|
|
12753
12439
|
if (isPositionType(top)) {
|
|
12754
12440
|
if (top === "auto") {
|
|
12755
|
-
node.setPositionAuto(Edge.Top);
|
|
12441
|
+
node.setPositionAuto(import_bun_yoga2.Edge.Top);
|
|
12756
12442
|
} else {
|
|
12757
|
-
node.setPosition(Edge.Top, top);
|
|
12443
|
+
node.setPosition(import_bun_yoga2.Edge.Top, top);
|
|
12758
12444
|
}
|
|
12759
12445
|
}
|
|
12760
12446
|
if (isPositionType(right)) {
|
|
12761
12447
|
if (right === "auto") {
|
|
12762
|
-
node.setPositionAuto(Edge.Right);
|
|
12448
|
+
node.setPositionAuto(import_bun_yoga2.Edge.Right);
|
|
12763
12449
|
} else {
|
|
12764
|
-
node.setPosition(Edge.Right, right);
|
|
12450
|
+
node.setPosition(import_bun_yoga2.Edge.Right, right);
|
|
12765
12451
|
}
|
|
12766
12452
|
}
|
|
12767
12453
|
if (isPositionType(bottom)) {
|
|
12768
12454
|
if (bottom === "auto") {
|
|
12769
|
-
node.setPositionAuto(Edge.Bottom);
|
|
12455
|
+
node.setPositionAuto(import_bun_yoga2.Edge.Bottom);
|
|
12770
12456
|
} else {
|
|
12771
|
-
node.setPosition(Edge.Bottom, bottom);
|
|
12457
|
+
node.setPosition(import_bun_yoga2.Edge.Bottom, bottom);
|
|
12772
12458
|
}
|
|
12773
12459
|
}
|
|
12774
12460
|
if (isPositionType(left)) {
|
|
12775
12461
|
if (left === "auto") {
|
|
12776
|
-
node.setPositionAuto(Edge.Left);
|
|
12462
|
+
node.setPositionAuto(import_bun_yoga2.Edge.Left);
|
|
12777
12463
|
} else {
|
|
12778
|
-
node.setPosition(Edge.Left, left);
|
|
12464
|
+
node.setPosition(import_bun_yoga2.Edge.Left, left);
|
|
12779
12465
|
}
|
|
12780
12466
|
}
|
|
12781
12467
|
this.requestRender();
|
|
@@ -12847,68 +12533,68 @@ class Renderable extends BaseRenderable {
|
|
|
12847
12533
|
set margin(margin) {
|
|
12848
12534
|
if (isMarginType(margin)) {
|
|
12849
12535
|
const node = this.yogaNode;
|
|
12850
|
-
node.setMargin(Edge.Top, margin);
|
|
12851
|
-
node.setMargin(Edge.Right, margin);
|
|
12852
|
-
node.setMargin(Edge.Bottom, margin);
|
|
12853
|
-
node.setMargin(Edge.Left, margin);
|
|
12536
|
+
node.setMargin(import_bun_yoga2.Edge.Top, margin);
|
|
12537
|
+
node.setMargin(import_bun_yoga2.Edge.Right, margin);
|
|
12538
|
+
node.setMargin(import_bun_yoga2.Edge.Bottom, margin);
|
|
12539
|
+
node.setMargin(import_bun_yoga2.Edge.Left, margin);
|
|
12854
12540
|
this.requestRender();
|
|
12855
12541
|
}
|
|
12856
12542
|
}
|
|
12857
12543
|
set marginTop(margin) {
|
|
12858
12544
|
if (isMarginType(margin)) {
|
|
12859
|
-
this.yogaNode.setMargin(Edge.Top, margin);
|
|
12545
|
+
this.yogaNode.setMargin(import_bun_yoga2.Edge.Top, margin);
|
|
12860
12546
|
this.requestRender();
|
|
12861
12547
|
}
|
|
12862
12548
|
}
|
|
12863
12549
|
set marginRight(margin) {
|
|
12864
12550
|
if (isMarginType(margin)) {
|
|
12865
|
-
this.yogaNode.setMargin(Edge.Right, margin);
|
|
12551
|
+
this.yogaNode.setMargin(import_bun_yoga2.Edge.Right, margin);
|
|
12866
12552
|
this.requestRender();
|
|
12867
12553
|
}
|
|
12868
12554
|
}
|
|
12869
12555
|
set marginBottom(margin) {
|
|
12870
12556
|
if (isMarginType(margin)) {
|
|
12871
|
-
this.yogaNode.setMargin(Edge.Bottom, margin);
|
|
12557
|
+
this.yogaNode.setMargin(import_bun_yoga2.Edge.Bottom, margin);
|
|
12872
12558
|
this.requestRender();
|
|
12873
12559
|
}
|
|
12874
12560
|
}
|
|
12875
12561
|
set marginLeft(margin) {
|
|
12876
12562
|
if (isMarginType(margin)) {
|
|
12877
|
-
this.yogaNode.setMargin(Edge.Left, margin);
|
|
12563
|
+
this.yogaNode.setMargin(import_bun_yoga2.Edge.Left, margin);
|
|
12878
12564
|
this.requestRender();
|
|
12879
12565
|
}
|
|
12880
12566
|
}
|
|
12881
12567
|
set padding(padding) {
|
|
12882
12568
|
if (isPaddingType(padding)) {
|
|
12883
12569
|
const node = this.yogaNode;
|
|
12884
|
-
node.setPadding(Edge.Top, padding);
|
|
12885
|
-
node.setPadding(Edge.Right, padding);
|
|
12886
|
-
node.setPadding(Edge.Bottom, padding);
|
|
12887
|
-
node.setPadding(Edge.Left, padding);
|
|
12570
|
+
node.setPadding(import_bun_yoga2.Edge.Top, padding);
|
|
12571
|
+
node.setPadding(import_bun_yoga2.Edge.Right, padding);
|
|
12572
|
+
node.setPadding(import_bun_yoga2.Edge.Bottom, padding);
|
|
12573
|
+
node.setPadding(import_bun_yoga2.Edge.Left, padding);
|
|
12888
12574
|
this.requestRender();
|
|
12889
12575
|
}
|
|
12890
12576
|
}
|
|
12891
12577
|
set paddingTop(padding) {
|
|
12892
12578
|
if (isPaddingType(padding)) {
|
|
12893
|
-
this.yogaNode.setPadding(Edge.Top, padding);
|
|
12579
|
+
this.yogaNode.setPadding(import_bun_yoga2.Edge.Top, padding);
|
|
12894
12580
|
this.requestRender();
|
|
12895
12581
|
}
|
|
12896
12582
|
}
|
|
12897
12583
|
set paddingRight(padding) {
|
|
12898
12584
|
if (isPaddingType(padding)) {
|
|
12899
|
-
this.yogaNode.setPadding(Edge.Right, padding);
|
|
12585
|
+
this.yogaNode.setPadding(import_bun_yoga2.Edge.Right, padding);
|
|
12900
12586
|
this.requestRender();
|
|
12901
12587
|
}
|
|
12902
12588
|
}
|
|
12903
12589
|
set paddingBottom(padding) {
|
|
12904
12590
|
if (isPaddingType(padding)) {
|
|
12905
|
-
this.yogaNode.setPadding(Edge.Bottom, padding);
|
|
12591
|
+
this.yogaNode.setPadding(import_bun_yoga2.Edge.Bottom, padding);
|
|
12906
12592
|
this.requestRender();
|
|
12907
12593
|
}
|
|
12908
12594
|
}
|
|
12909
12595
|
set paddingLeft(padding) {
|
|
12910
12596
|
if (isPaddingType(padding)) {
|
|
12911
|
-
this.yogaNode.setPadding(Edge.Left, padding);
|
|
12597
|
+
this.yogaNode.setPadding(import_bun_yoga2.Edge.Left, padding);
|
|
12912
12598
|
this.requestRender();
|
|
12913
12599
|
}
|
|
12914
12600
|
}
|
|
@@ -13113,7 +12799,11 @@ class Renderable extends BaseRenderable {
|
|
|
13113
12799
|
if (!this.visible)
|
|
13114
12800
|
return;
|
|
13115
12801
|
this.onUpdate(deltaTime);
|
|
12802
|
+
if (this._isDestroyed)
|
|
12803
|
+
return;
|
|
13116
12804
|
this.updateFromLayout();
|
|
12805
|
+
if (this._isDestroyed)
|
|
12806
|
+
return;
|
|
13117
12807
|
renderList.push({ action: "render", renderable: this });
|
|
13118
12808
|
this.ensureZIndexSorted();
|
|
13119
12809
|
const shouldPushScissor = this._overflow !== "visible" && this.width > 0 && this.height > 0;
|
|
@@ -13320,10 +13010,10 @@ class RootRenderable extends Renderable {
|
|
|
13320
13010
|
if (this.yogaNode) {
|
|
13321
13011
|
this.yogaNode.free();
|
|
13322
13012
|
}
|
|
13323
|
-
this.yogaNode =
|
|
13013
|
+
this.yogaNode = import_bun_yoga2.default.Node.create(yogaConfig);
|
|
13324
13014
|
this.yogaNode.setWidth(ctx.width);
|
|
13325
13015
|
this.yogaNode.setHeight(ctx.height);
|
|
13326
|
-
this.yogaNode.setFlexDirection(FlexDirection.Column);
|
|
13016
|
+
this.yogaNode.setFlexDirection(import_bun_yoga2.FlexDirection.Column);
|
|
13327
13017
|
this.calculateLayout();
|
|
13328
13018
|
}
|
|
13329
13019
|
render(buffer, deltaTime) {
|
|
@@ -13341,7 +13031,9 @@ class RootRenderable extends Renderable {
|
|
|
13341
13031
|
const command = this.renderList[i];
|
|
13342
13032
|
switch (command.action) {
|
|
13343
13033
|
case "render":
|
|
13344
|
-
command.renderable.
|
|
13034
|
+
if (!command.renderable.isDestroyed) {
|
|
13035
|
+
command.renderable.render(buffer, deltaTime);
|
|
13036
|
+
}
|
|
13345
13037
|
break;
|
|
13346
13038
|
case "pushScissorRect":
|
|
13347
13039
|
buffer.pushScissorRect(command.x, command.y, command.width, command.height);
|
|
@@ -13362,7 +13054,7 @@ class RootRenderable extends Renderable {
|
|
|
13362
13054
|
}
|
|
13363
13055
|
}
|
|
13364
13056
|
calculateLayout() {
|
|
13365
|
-
this.yogaNode.calculateLayout(this.width, this.height, Direction.LTR);
|
|
13057
|
+
this.yogaNode.calculateLayout(this.width, this.height, import_bun_yoga2.Direction.LTR);
|
|
13366
13058
|
this.emit("layout-changed" /* LAYOUT_CHANGED */);
|
|
13367
13059
|
}
|
|
13368
13060
|
resize(width, height) {
|
|
@@ -14904,7 +14596,7 @@ Captured output:
|
|
|
14904
14596
|
this.mouseParser.reset();
|
|
14905
14597
|
this.lib.disableMouse(this.rendererPtr);
|
|
14906
14598
|
}
|
|
14907
|
-
enableKittyKeyboard(flags =
|
|
14599
|
+
enableKittyKeyboard(flags = 3) {
|
|
14908
14600
|
this.lib.enableKittyKeyboard(this.rendererPtr, flags);
|
|
14909
14601
|
}
|
|
14910
14602
|
disableKittyKeyboard() {
|
|
@@ -14947,6 +14639,7 @@ Captured output:
|
|
|
14947
14639
|
if (isCapabilityResponse(sequence)) {
|
|
14948
14640
|
this.lib.processCapabilityResponse(this.rendererPtr, sequence);
|
|
14949
14641
|
this._capabilities = this.lib.getTerminalCapabilities(this.rendererPtr);
|
|
14642
|
+
this.emit("capabilities", this._capabilities);
|
|
14950
14643
|
return true;
|
|
14951
14644
|
}
|
|
14952
14645
|
return false;
|
|
@@ -15469,6 +15162,10 @@ Captured output:
|
|
|
15469
15162
|
} catch (error) {
|
|
15470
15163
|
console.error("Error in frame callback:", error);
|
|
15471
15164
|
}
|
|
15165
|
+
if (this._isDestroyed) {
|
|
15166
|
+
this.rendering = false;
|
|
15167
|
+
return;
|
|
15168
|
+
}
|
|
15472
15169
|
}
|
|
15473
15170
|
const end = performance.now();
|
|
15474
15171
|
this.renderStats.frameCallbackTime = end - start;
|
|
@@ -15671,7 +15368,8 @@ Captured output:
|
|
|
15671
15368
|
return this._paletteDetectionPromise;
|
|
15672
15369
|
}
|
|
15673
15370
|
if (!this._paletteDetector) {
|
|
15674
|
-
|
|
15371
|
+
const isLegacyTmux = this.capabilities?.terminal?.name?.toLowerCase()?.includes("tmux") && this.capabilities?.terminal?.version?.localeCompare("3.6") < 0;
|
|
15372
|
+
this._paletteDetector = createTerminalPalette(this.stdin, this.stdout, this.writeOut.bind(this), isLegacyTmux);
|
|
15675
15373
|
}
|
|
15676
15374
|
this._paletteDetectionPromise = this._paletteDetector.detect(options).then((result) => {
|
|
15677
15375
|
this._cachedPalette = result;
|
|
@@ -15682,7 +15380,7 @@ Captured output:
|
|
|
15682
15380
|
}
|
|
15683
15381
|
}
|
|
15684
15382
|
|
|
15685
|
-
export { __toESM, __commonJS, __export, __require,
|
|
15383
|
+
export { __toESM, __commonJS, __export, __require, require_dist, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, visualizeRenderableTree, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
|
|
15686
15384
|
|
|
15687
|
-
//# debugId=
|
|
15688
|
-
//# sourceMappingURL=index-
|
|
15385
|
+
//# debugId=4463EA6925DD17AC64756E2164756E21
|
|
15386
|
+
//# sourceMappingURL=index-r6acnfwr.js.map
|