@holoscript/core 6.0.4 → 7.0.0
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/LICENSE +21 -0
- package/README.md +1 -1
- package/dist/compiler/index.d.ts +82 -0
- package/dist/constants.d.ts +3 -2
- package/dist/coordinators/index.d.ts +189 -0
- package/dist/index.d.ts +501 -19
- package/dist/paper-0c-spike/index.d.ts +29 -0
- package/dist/reconstruction/index.d.ts +78 -0
- package/dist/tools/index.d.ts +22 -1
- package/dist/traitDocs/traitDocs.d.ts +69 -0
- package/dist/traits/index.d.ts +61 -0
- package/package.json +105 -57
- package/dist/GLTFPipeline-DEN36VNK.js +0 -12
- package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
- package/dist/HoloScriptPlusParser-BN6KVRCM.js +0 -692
- package/dist/HoloScriptPlusParser-NC5FE6AL.cjs +0 -697
- package/dist/USDZExporter-NTMBNTDB.js +0 -707
- package/dist/USDZExporter-UWGWNMMD.cjs +0 -709
- package/dist/chunk-27LWW5FU.cjs +0 -410
- package/dist/chunk-2CWOLHTE.js +0 -69
- package/dist/chunk-33LSUQDD.cjs +0 -835
- package/dist/chunk-3FJCK5XA.js +0 -2232
- package/dist/chunk-3FXV5S25.cjs +0 -633
- package/dist/chunk-3FYZOR7S.cjs +0 -69
- package/dist/chunk-3SAK5KFL.cjs +0 -83
- package/dist/chunk-4XSNJCLC.cjs +0 -1859
- package/dist/chunk-54FHG2MX.js +0 -655
- package/dist/chunk-56IF4NTA.js +0 -56
- package/dist/chunk-5BGSECRJ.cjs +0 -2237
- package/dist/chunk-5GLCTO44.js +0 -161
- package/dist/chunk-5O6TQC6M.cjs +0 -1871
- package/dist/chunk-5OEOHAAW.cjs +0 -682
- package/dist/chunk-5TOFIR6L.js +0 -407
- package/dist/chunk-5WUNN6ZN.cjs +0 -428
- package/dist/chunk-6TZPZCOJ.cjs +0 -1404
- package/dist/chunk-6UEHYZ7V.cjs +0 -773
- package/dist/chunk-6XSERL6L.js +0 -5678
- package/dist/chunk-72EQECGT.cjs +0 -908
- package/dist/chunk-7AGYRWKW.cjs +0 -507
- package/dist/chunk-7LCYLPW2.cjs +0 -663
- package/dist/chunk-A7PIMZGU.js +0 -263
- package/dist/chunk-ATSKSYVE.cjs +0 -51683
- package/dist/chunk-B5TCIAPQ.cjs +0 -117
- package/dist/chunk-BF2235SI.cjs +0 -5714
- package/dist/chunk-BKIGPPVM.js +0 -629
- package/dist/chunk-BND3ST2K.cjs +0 -662
- package/dist/chunk-BU7VWW2K.js +0 -2522
- package/dist/chunk-BWFJEM5A.js +0 -5419
- package/dist/chunk-CAUCGUEA.cjs +0 -130
- package/dist/chunk-CBJSLA2E.cjs +0 -5423
- package/dist/chunk-CDPGV4DN.js +0 -114
- package/dist/chunk-CLYEIWA5.cjs +0 -408
- package/dist/chunk-CS2EMTGF.js +0 -1966
- package/dist/chunk-DMG7C4H2.js +0 -975
- package/dist/chunk-DXJQDCFL.js +0 -468
- package/dist/chunk-E3FWRT3Z.js +0 -608
- package/dist/chunk-E3UALNFA.js +0 -421
- package/dist/chunk-EONILVMF.js +0 -762
- package/dist/chunk-EQV4R3EV.cjs +0 -769
- package/dist/chunk-F3HH56EB.cjs +0 -5538
- package/dist/chunk-F4IULT7N.js +0 -1488
- package/dist/chunk-FF3Q7ADR.js +0 -380
- package/dist/chunk-FFKU7BTK.cjs +0 -1046
- package/dist/chunk-FHQVYCH2.js +0 -70
- package/dist/chunk-FSF7EQVA.cjs +0 -1974
- package/dist/chunk-G4VZTCIB.js +0 -659
- package/dist/chunk-G7CT3EMP.cjs +0 -1002
- package/dist/chunk-GGHSW2NN.js +0 -51334
- package/dist/chunk-GVUR45UF.cjs +0 -777
- package/dist/chunk-H5Z7NASB.js +0 -9662
- package/dist/chunk-HE7ULERA.cjs +0 -697
- package/dist/chunk-HJJLD366.js +0 -1169
- package/dist/chunk-HPS76H7Q.js +0 -309
- package/dist/chunk-HQUEA5R6.cjs +0 -424
- package/dist/chunk-HYNTS5CP.js +0 -422
- package/dist/chunk-I6XZ5DZF.cjs +0 -488
- package/dist/chunk-IBDG74G2.cjs +0 -1219
- package/dist/chunk-IFNQFCTM.js +0 -3098
- package/dist/chunk-IHOUYQIA.js +0 -406
- package/dist/chunk-ILRBGFVD.cjs +0 -72
- package/dist/chunk-IWI6J7FX.js +0 -421
- package/dist/chunk-K3JDKWGI.cjs +0 -270
- package/dist/chunk-K6EKD26I.js +0 -630
- package/dist/chunk-KCQ5NDYC.cjs +0 -3172
- package/dist/chunk-KED34ILP.js +0 -832
- package/dist/chunk-KSGXLT74.cjs +0 -457
- package/dist/chunk-L4G4RLXX.js +0 -767
- package/dist/chunk-LDP5OK6G.js +0 -1216
- package/dist/chunk-LGGRPKTV.cjs +0 -735
- package/dist/chunk-LK5IAVH6.cjs +0 -1173
- package/dist/chunk-LSW7P7ML.js +0 -3675
- package/dist/chunk-LXJ4667L.cjs +0 -3874
- package/dist/chunk-LZ266PCM.cjs +0 -4499
- package/dist/chunk-MD6KDHVE.cjs +0 -237
- package/dist/chunk-MEASWI2Y.js +0 -126
- package/dist/chunk-MPXBVFHQ.js +0 -768
- package/dist/chunk-N5FTS757.cjs +0 -415
- package/dist/chunk-NCUKG4SK.cjs +0 -3075
- package/dist/chunk-NDQNIJEH.js +0 -1715
- package/dist/chunk-NOZZ46QU.js +0 -168
- package/dist/chunk-OFKWH2IP.js +0 -449
- package/dist/chunk-PHENW4MQ.js +0 -65
- package/dist/chunk-PMGODDJA.cjs +0 -319
- package/dist/chunk-Q4QX3AET.cjs +0 -1505
- package/dist/chunk-Q56TT7IL.js +0 -483
- package/dist/chunk-Q5JT3YML.cjs +0 -129
- package/dist/chunk-Q5SJOGHQ.cjs +0 -4256
- package/dist/chunk-QGKNANZ3.js +0 -3071
- package/dist/chunk-QLEAOI3Q.cjs +0 -424
- package/dist/chunk-R7MA7QWV.js +0 -732
- package/dist/chunk-RVYPEYPX.js +0 -678
- package/dist/chunk-S2N5TNMA.js +0 -1855
- package/dist/chunk-S565K7NK.js +0 -752
- package/dist/chunk-SDAMZIRE.js +0 -765
- package/dist/chunk-T36DDXSF.js +0 -4250
- package/dist/chunk-T4NKMBDL.js +0 -5474
- package/dist/chunk-T7LEXZUZ.cjs +0 -2526
- package/dist/chunk-TEWCN33Y.js +0 -694
- package/dist/chunk-TQSZUOW5.cjs +0 -793
- package/dist/chunk-TSH3MSQU.cjs +0 -129
- package/dist/chunk-UERJ3YJV.js +0 -504
- package/dist/chunk-UPJBDCVF.js +0 -1395
- package/dist/chunk-V3NN3HPP.js +0 -4462
- package/dist/chunk-VJ3L7CHT.cjs +0 -169
- package/dist/chunk-WB4Z63GG.js +0 -229
- package/dist/chunk-WDW67DZB.cjs +0 -9728
- package/dist/chunk-WGMEAYBG.js +0 -126
- package/dist/chunk-X4ZF6CNE.cjs +0 -473
- package/dist/chunk-X6SEAXAX.cjs +0 -3681
- package/dist/chunk-XCWFGZAA.js +0 -1043
- package/dist/chunk-XD6IYDUX.js +0 -903
- package/dist/chunk-XG23EUQX.cjs +0 -1717
- package/dist/chunk-XRKWN5PL.cjs +0 -173
- package/dist/chunk-XUILI4KB.cjs +0 -430
- package/dist/chunk-XUTX5CBW.js +0 -126
- package/dist/chunk-XWPNTWDN.cjs +0 -755
- package/dist/chunk-XXINBTZK.cjs +0 -633
- package/dist/chunk-YCXFCXDS.js +0 -1868
- package/dist/chunk-YQK5JNFK.js +0 -3725
- package/dist/chunk-YYXH45E2.js +0 -426
- package/dist/chunk-Z34RLXRA.cjs +0 -612
- package/dist/chunk-ZP4D3CSX.cjs +0 -72
- package/dist/cli/holoscript-runner.cjs +0 -2259
- package/dist/cli/holoscript-runner.js +0 -2234
- package/dist/codebase/index.cjs +0 -336
- package/dist/codebase/index.js +0 -331
- package/dist/compiler/agent-inference.cjs +0 -28
- package/dist/compiler/agent-inference.js +0 -5
- package/dist/compiler/android-xr.cjs +0 -19
- package/dist/compiler/android-xr.js +0 -9
- package/dist/compiler/android.cjs +0 -20
- package/dist/compiler/android.js +0 -10
- package/dist/compiler/ar.cjs +0 -20
- package/dist/compiler/ar.js +0 -8
- package/dist/compiler/babylon.cjs +0 -17
- package/dist/compiler/babylon.js +0 -11
- package/dist/compiler/coco.cjs +0 -27
- package/dist/compiler/coco.js +0 -4
- package/dist/compiler/domain-block-utils.cjs +0 -602
- package/dist/compiler/domain-block-utils.js +0 -8
- package/dist/compiler/dtdl.cjs +0 -24
- package/dist/compiler/dtdl.js +0 -8
- package/dist/compiler/gltf-pipeline.cjs +0 -39
- package/dist/compiler/gltf-pipeline.js +0 -4
- package/dist/compiler/godot.cjs +0 -15
- package/dist/compiler/godot.js +0 -9
- package/dist/compiler/incremental.cjs +0 -29
- package/dist/compiler/incremental.js +0 -4
- package/dist/compiler/index.cjs +0 -2578
- package/dist/compiler/index.js +0 -2383
- package/dist/compiler/ios.cjs +0 -20
- package/dist/compiler/ios.js +0 -10
- package/dist/compiler/multi-layer.cjs +0 -20
- package/dist/compiler/multi-layer.js +0 -11
- package/dist/compiler/nodetoy.cjs +0 -23
- package/dist/compiler/nodetoy.js +0 -4
- package/dist/compiler/openxr.cjs +0 -15
- package/dist/compiler/openxr.js +0 -9
- package/dist/compiler/playcanvas.cjs +0 -16
- package/dist/compiler/playcanvas.js +0 -10
- package/dist/compiler/r3f.cjs +0 -34
- package/dist/compiler/r3f.js +0 -12
- package/dist/compiler/remotion.cjs +0 -23
- package/dist/compiler/remotion.js +0 -4
- package/dist/compiler/reproducibility.cjs +0 -39
- package/dist/compiler/reproducibility.js +0 -4
- package/dist/compiler/sdf.cjs +0 -21
- package/dist/compiler/sdf.js +0 -9
- package/dist/compiler/semantic-scene.cjs +0 -31
- package/dist/compiler/semantic-scene.js +0 -4
- package/dist/compiler/state.cjs +0 -17
- package/dist/compiler/state.js +0 -7
- package/dist/compiler/trait-composition.cjs +0 -26
- package/dist/compiler/trait-composition.js +0 -5
- package/dist/compiler/unity.cjs +0 -15
- package/dist/compiler/unity.js +0 -9
- package/dist/compiler/unreal.cjs +0 -19
- package/dist/compiler/unreal.js +0 -9
- package/dist/compiler/urdf.cjs +0 -45
- package/dist/compiler/urdf.js +0 -9
- package/dist/compiler/usd-physics.cjs +0 -23
- package/dist/compiler/usd-physics.js +0 -6
- package/dist/compiler/visionos.cjs +0 -15
- package/dist/compiler/visionos.js +0 -9
- package/dist/compiler/vrchat.cjs +0 -19
- package/dist/compiler/vrchat.js +0 -9
- package/dist/compiler/vrr.cjs +0 -21
- package/dist/compiler/vrr.js +0 -9
- package/dist/compiler/wasm.cjs +0 -33
- package/dist/compiler/wasm.js +0 -9
- package/dist/compiler/webgpu.cjs +0 -15
- package/dist/compiler/webgpu.js +0 -9
- package/dist/debugger.cjs +0 -21
- package/dist/debugger.js +0 -8
- package/dist/entries/interop.cjs +0 -62
- package/dist/entries/interop.js +0 -5
- package/dist/entries/scripting.cjs +0 -68
- package/dist/entries/scripting.js +0 -11
- package/dist/index.cjs +0 -40921
- package/dist/index.js +0 -37763
- package/dist/math/vec3.cjs +0 -57
- package/dist/math/vec3.js +0 -4
- package/dist/ml-dsa-PHCWUBPX.cjs +0 -1178
- package/dist/ml-dsa-WYLJHJO6.js +0 -1178
- package/dist/parser.cjs +0 -27
- package/dist/parser.js +0 -10
- package/dist/playwright-5OSAPTNH.js +0 -98660
- package/dist/playwright-RL6GY4F7.cjs +0 -98673
- package/dist/runtime.cjs +0 -16
- package/dist/runtime.js +0 -7
- package/dist/storage/index.cjs +0 -37
- package/dist/storage/index.js +0 -4
- package/dist/traits/index.cjs +0 -14649
- package/dist/traits/index.js +0 -12243
- package/dist/type-checker.cjs +0 -18
- package/dist/type-checker.js +0 -5
package/dist/chunk-FF3Q7ADR.js
DELETED
|
@@ -1,380 +0,0 @@
|
|
|
1
|
-
import * as path from 'path';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
|
|
4
|
-
// src/interop/Interoperability.ts
|
|
5
|
-
var ModuleResolver = class {
|
|
6
|
-
constructor(basePath = process.cwd()) {
|
|
7
|
-
this.cache = /* @__PURE__ */ new Map();
|
|
8
|
-
this.resolvedPaths = /* @__PURE__ */ new Map();
|
|
9
|
-
this.basePath = basePath;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Resolve module path
|
|
13
|
-
*/
|
|
14
|
-
resolveModule(modulePath, fromPath) {
|
|
15
|
-
const cacheKey = `${modulePath}:${fromPath || "root"}`;
|
|
16
|
-
if (this.resolvedPaths.has(cacheKey)) {
|
|
17
|
-
return this.resolvedPaths.get(cacheKey);
|
|
18
|
-
}
|
|
19
|
-
const resolved = this.performResolve(modulePath, fromPath);
|
|
20
|
-
this.resolvedPaths.set(cacheKey, resolved);
|
|
21
|
-
return resolved;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Perform actual module resolution
|
|
25
|
-
*/
|
|
26
|
-
performResolve(modulePath, fromPath) {
|
|
27
|
-
if (this.isBuiltinModule(modulePath)) {
|
|
28
|
-
return modulePath;
|
|
29
|
-
}
|
|
30
|
-
if (modulePath.startsWith(".")) {
|
|
31
|
-
const basePath = fromPath ? path.dirname(fromPath) : this.basePath;
|
|
32
|
-
const resolved = path.resolve(basePath, modulePath);
|
|
33
|
-
return this.findModuleFile(resolved);
|
|
34
|
-
}
|
|
35
|
-
if (modulePath.startsWith("@")) {
|
|
36
|
-
return this.resolveNodeModule(modulePath);
|
|
37
|
-
}
|
|
38
|
-
return this.resolveNodeModule(modulePath);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Check if built-in module
|
|
42
|
-
*/
|
|
43
|
-
isBuiltinModule(modulePath) {
|
|
44
|
-
const builtins = ["fs", "path", "crypto", "util", "stream", "events"];
|
|
45
|
-
return builtins.includes(modulePath);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Resolve from node_modules
|
|
49
|
-
*/
|
|
50
|
-
resolveNodeModule(modulePath) {
|
|
51
|
-
let current = this.basePath;
|
|
52
|
-
while (current !== path.dirname(current)) {
|
|
53
|
-
const nodeModulesPath = path.join(current, "node_modules", modulePath);
|
|
54
|
-
if (fs.existsSync(nodeModulesPath)) {
|
|
55
|
-
return nodeModulesPath;
|
|
56
|
-
}
|
|
57
|
-
const packageJsonPath = path.join(nodeModulesPath, "package.json");
|
|
58
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
59
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
60
|
-
return this.findModuleFile(path.join(nodeModulesPath, packageJson.main || "index.js"));
|
|
61
|
-
}
|
|
62
|
-
current = path.dirname(current);
|
|
63
|
-
}
|
|
64
|
-
throw new Error(`Module not found: ${modulePath}`);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Find module file with various extensions
|
|
68
|
-
*/
|
|
69
|
-
findModuleFile(basePath) {
|
|
70
|
-
const extensions = [".ts", ".tsx", ".js", ".jsx", ".json"];
|
|
71
|
-
if (fs.existsSync(basePath)) {
|
|
72
|
-
return basePath;
|
|
73
|
-
}
|
|
74
|
-
for (const ext of extensions) {
|
|
75
|
-
const withExt = basePath + ext;
|
|
76
|
-
if (fs.existsSync(withExt)) {
|
|
77
|
-
return withExt;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
const indexPath = path.join(basePath, "index");
|
|
81
|
-
for (const ext of extensions) {
|
|
82
|
-
const withExt = indexPath + ext;
|
|
83
|
-
if (fs.existsSync(withExt)) {
|
|
84
|
-
return withExt;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
throw new Error(`Cannot resolve file: ${basePath}`);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Load module (with caching)
|
|
91
|
-
*/
|
|
92
|
-
loadModule(modulePath, fromPath) {
|
|
93
|
-
const resolved = this.resolveModule(modulePath, fromPath);
|
|
94
|
-
const cacheKey = resolved;
|
|
95
|
-
if (this.cache.has(cacheKey)) {
|
|
96
|
-
return this.cache.get(cacheKey);
|
|
97
|
-
}
|
|
98
|
-
const module = {
|
|
99
|
-
path: resolved,
|
|
100
|
-
exports: {}
|
|
101
|
-
};
|
|
102
|
-
this.cache.set(cacheKey, module);
|
|
103
|
-
return module;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Clear cache
|
|
107
|
-
*/
|
|
108
|
-
clearCache() {
|
|
109
|
-
this.cache.clear();
|
|
110
|
-
this.resolvedPaths.clear();
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
var ExportImportHandler = class {
|
|
114
|
-
constructor() {
|
|
115
|
-
this.exports = /* @__PURE__ */ new Map();
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Define named export
|
|
119
|
-
*/
|
|
120
|
-
defineExport(modulePath, name, value) {
|
|
121
|
-
if (!this.exports.has(modulePath)) {
|
|
122
|
-
this.exports.set(modulePath, /* @__PURE__ */ new Map());
|
|
123
|
-
}
|
|
124
|
-
this.exports.get(modulePath).set(name, value);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Get named export
|
|
128
|
-
*/
|
|
129
|
-
getExport(modulePath, name) {
|
|
130
|
-
const moduleExports = this.exports.get(modulePath);
|
|
131
|
-
if (!moduleExports) {
|
|
132
|
-
throw new Error(`Module not found: ${modulePath}`);
|
|
133
|
-
}
|
|
134
|
-
if (!moduleExports.has(name)) {
|
|
135
|
-
throw new Error(`Named export '${name}' not found in ${modulePath}`);
|
|
136
|
-
}
|
|
137
|
-
return moduleExports.get(name);
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Get all exports from module
|
|
141
|
-
*/
|
|
142
|
-
getAllExports(modulePath) {
|
|
143
|
-
const moduleExports = this.exports.get(modulePath);
|
|
144
|
-
if (!moduleExports) {
|
|
145
|
-
return {};
|
|
146
|
-
}
|
|
147
|
-
const result = {};
|
|
148
|
-
for (const [name, value] of moduleExports) {
|
|
149
|
-
result[name] = value;
|
|
150
|
-
}
|
|
151
|
-
return result;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Check if export exists
|
|
155
|
-
*/
|
|
156
|
-
hasExport(modulePath, name) {
|
|
157
|
-
return this.exports.has(modulePath) && this.exports.get(modulePath).has(name);
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
var AsyncFunctionHandler = class {
|
|
161
|
-
/**
|
|
162
|
-
* Wrap async function for HoloScript
|
|
163
|
-
*/
|
|
164
|
-
wrapAsyncFunction(fn) {
|
|
165
|
-
return async (...args) => {
|
|
166
|
-
try {
|
|
167
|
-
return await fn(...args);
|
|
168
|
-
} catch (error) {
|
|
169
|
-
throw this.normalizeError(error);
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Check if function is async
|
|
175
|
-
*/
|
|
176
|
-
isAsync(fn) {
|
|
177
|
-
if (typeof fn !== "function") {
|
|
178
|
-
return false;
|
|
179
|
-
}
|
|
180
|
-
const fnStr = fn.toString().trim();
|
|
181
|
-
return fnStr.startsWith("async ") || fn.constructor.name === "AsyncFunction";
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Convert callback to promise
|
|
185
|
-
*/
|
|
186
|
-
callbackToPromise(fn) {
|
|
187
|
-
return new Promise((resolve2, reject) => {
|
|
188
|
-
fn((err, result) => {
|
|
189
|
-
if (err) {
|
|
190
|
-
reject(err);
|
|
191
|
-
} else {
|
|
192
|
-
resolve2(result);
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Normalize error from async function
|
|
199
|
-
*/
|
|
200
|
-
normalizeError(error) {
|
|
201
|
-
if (error instanceof Error) {
|
|
202
|
-
return error;
|
|
203
|
-
}
|
|
204
|
-
if (typeof error === "string") {
|
|
205
|
-
return new Error(error);
|
|
206
|
-
}
|
|
207
|
-
return new Error(JSON.stringify(error));
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
var ErrorBoundary = class {
|
|
211
|
-
constructor(onError) {
|
|
212
|
-
this.errors = [];
|
|
213
|
-
this.onError = onError;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Wrap function with error boundary
|
|
217
|
-
*/
|
|
218
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
219
|
-
wrap(fn) {
|
|
220
|
-
return ((...args) => {
|
|
221
|
-
try {
|
|
222
|
-
const result = fn(...args);
|
|
223
|
-
if (result instanceof Promise) {
|
|
224
|
-
return result.catch((error) => {
|
|
225
|
-
this.handleError(error);
|
|
226
|
-
throw error;
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
return result;
|
|
230
|
-
} catch (error) {
|
|
231
|
-
this.handleError(error);
|
|
232
|
-
throw error;
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Wrap async function with error boundary
|
|
238
|
-
*/
|
|
239
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
240
|
-
wrapAsync(fn) {
|
|
241
|
-
return (async (...args) => {
|
|
242
|
-
try {
|
|
243
|
-
return await fn(...args);
|
|
244
|
-
} catch (error) {
|
|
245
|
-
this.handleError(error);
|
|
246
|
-
throw error;
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Execute function in boundary
|
|
252
|
-
*/
|
|
253
|
-
execute(fn) {
|
|
254
|
-
try {
|
|
255
|
-
return fn();
|
|
256
|
-
} catch (error) {
|
|
257
|
-
this.handleError(error);
|
|
258
|
-
throw error;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Execute async function in boundary
|
|
263
|
-
*/
|
|
264
|
-
async executeAsync(fn) {
|
|
265
|
-
try {
|
|
266
|
-
return await fn();
|
|
267
|
-
} catch (error) {
|
|
268
|
-
this.handleError(error);
|
|
269
|
-
throw error;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Handle error
|
|
274
|
-
*/
|
|
275
|
-
handleError(error) {
|
|
276
|
-
const normalized = this.normalizeError(error);
|
|
277
|
-
this.errors.push(normalized);
|
|
278
|
-
if (this.onError) {
|
|
279
|
-
this.onError(normalized);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Get errors
|
|
284
|
-
*/
|
|
285
|
-
getErrors() {
|
|
286
|
-
return [...this.errors];
|
|
287
|
-
}
|
|
288
|
-
/**
|
|
289
|
-
* Clear errors
|
|
290
|
-
*/
|
|
291
|
-
clearErrors() {
|
|
292
|
-
this.errors = [];
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Normalize error
|
|
296
|
-
*/
|
|
297
|
-
normalizeError(error) {
|
|
298
|
-
if (error instanceof Error) {
|
|
299
|
-
return error;
|
|
300
|
-
}
|
|
301
|
-
if (typeof error === "string") {
|
|
302
|
-
return new Error(error);
|
|
303
|
-
}
|
|
304
|
-
return new Error(JSON.stringify(error));
|
|
305
|
-
}
|
|
306
|
-
};
|
|
307
|
-
var TypeScriptTypeLoader = class {
|
|
308
|
-
/**
|
|
309
|
-
* Load types from TypeScript declaration file
|
|
310
|
-
*/
|
|
311
|
-
loadTypes(_filePath) {
|
|
312
|
-
const types = /* @__PURE__ */ new Map();
|
|
313
|
-
return types;
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Convert TypeScript type to HoloScript type
|
|
317
|
-
*/
|
|
318
|
-
convertType(tsType) {
|
|
319
|
-
const mapping = {
|
|
320
|
-
string: "text",
|
|
321
|
-
number: "numeric",
|
|
322
|
-
boolean: "logical",
|
|
323
|
-
void: "void",
|
|
324
|
-
any: "dynamic",
|
|
325
|
-
unknown: "dynamic",
|
|
326
|
-
null: "null",
|
|
327
|
-
undefined: "void"
|
|
328
|
-
};
|
|
329
|
-
if (typeof tsType === "string") {
|
|
330
|
-
return mapping[tsType] || tsType;
|
|
331
|
-
}
|
|
332
|
-
if (Array.isArray(tsType)) {
|
|
333
|
-
return {
|
|
334
|
-
kind: "array",
|
|
335
|
-
elementType: this.convertType(tsType[0])
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
if (typeof tsType === "object") {
|
|
339
|
-
return {
|
|
340
|
-
kind: "object",
|
|
341
|
-
properties: Object.entries(tsType).reduce(
|
|
342
|
-
(acc, [key, val]) => {
|
|
343
|
-
acc[key] = this.convertType(val);
|
|
344
|
-
return acc;
|
|
345
|
-
},
|
|
346
|
-
{}
|
|
347
|
-
)
|
|
348
|
-
};
|
|
349
|
-
}
|
|
350
|
-
return tsType;
|
|
351
|
-
}
|
|
352
|
-
};
|
|
353
|
-
var InteropContext = class {
|
|
354
|
-
constructor(basePath) {
|
|
355
|
-
this.moduleResolver = new ModuleResolver(basePath);
|
|
356
|
-
this.exportImportHandler = new ExportImportHandler();
|
|
357
|
-
this.asyncHandler = new AsyncFunctionHandler();
|
|
358
|
-
this.errorBoundary = new ErrorBoundary();
|
|
359
|
-
this.typeLoader = new TypeScriptTypeLoader();
|
|
360
|
-
}
|
|
361
|
-
getModuleResolver() {
|
|
362
|
-
return this.moduleResolver;
|
|
363
|
-
}
|
|
364
|
-
getExportImportHandler() {
|
|
365
|
-
return this.exportImportHandler;
|
|
366
|
-
}
|
|
367
|
-
getAsyncHandler() {
|
|
368
|
-
return this.asyncHandler;
|
|
369
|
-
}
|
|
370
|
-
getErrorBoundary() {
|
|
371
|
-
return this.errorBoundary;
|
|
372
|
-
}
|
|
373
|
-
getTypeLoader() {
|
|
374
|
-
return this.typeLoader;
|
|
375
|
-
}
|
|
376
|
-
};
|
|
377
|
-
|
|
378
|
-
export { AsyncFunctionHandler, ErrorBoundary, ExportImportHandler, InteropContext, ModuleResolver, TypeScriptTypeLoader };
|
|
379
|
-
//# sourceMappingURL=chunk-FF3Q7ADR.js.map
|
|
380
|
-
//# sourceMappingURL=chunk-FF3Q7ADR.js.map
|