@fluixi/compiler 1.0.0-alpha.93 → 1.0.0-alpha.95
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 +1 -1
- package/dist/analyze/intrinsics.cjs +13 -1
- package/dist/analyze/intrinsics.d.cts +14 -0
- package/dist/analyze/intrinsics.d.ts +14 -0
- package/dist/analyze/intrinsics.d.ts.map +1 -1
- package/dist/analyze/intrinsics.js +17 -0
- package/dist/analyze/intrinsics.mjs +13 -1
- package/dist/analyze/static-graph.cjs +1 -1
- package/dist/analyze/static-graph.mjs +1 -1
- package/dist/{babel-RJHJQVEM.mjs → babel-V33QLJBF.mjs} +4 -4
- package/dist/{chunk-56QSOVVL.mjs → chunk-62F2LLBM.mjs} +1 -1
- package/dist/{chunk-R7PPFBCL.mjs → chunk-7GNSGUHK.mjs} +4 -83
- package/dist/{chunk-U7HCFLZ2.mjs → chunk-B64LVPTU.mjs} +356 -24
- package/dist/{chunk-OD53TMER.mjs → chunk-C3AK5PBV.mjs} +13 -1
- package/dist/{chunk-TJIH7TLX.mjs → chunk-GLFUPZ27.mjs} +1 -1
- package/dist/chunk-HUABRVWB.mjs +92 -0
- package/dist/chunk-XCWP7WJG.mjs +584 -0
- package/dist/codegen/backends/imperative.cjs +1 -1
- package/dist/codegen/backends/imperative.d.ts.map +1 -1
- package/dist/codegen/backends/imperative.js +2 -1
- package/dist/codegen/backends/imperative.mjs +1 -1
- package/dist/frontend/babel/build-ir-lit.cjs +352 -22
- package/dist/frontend/babel/build-ir-lit.mjs +352 -22
- package/dist/frontend/babel/build-ir.cjs +352 -22
- package/dist/frontend/babel/build-ir.mjs +352 -22
- package/dist/frontend/babel/index.cjs +353 -23
- package/dist/frontend/babel/index.mjs +353 -23
- package/dist/frontend/babel/lower-template.cjs +352 -22
- package/dist/frontend/babel/lower-template.mjs +352 -22
- package/dist/frontend/babel/plugin.cjs +352 -22
- package/dist/frontend/babel/plugin.mjs +352 -22
- package/dist/index.cjs +321 -22
- package/dist/index.mjs +333 -22
- package/dist/integrations.cjs +1240 -56
- package/dist/integrations.d.ts.map +1 -1
- package/dist/integrations.js +62 -9
- package/dist/integrations.mjs +257 -26
- package/dist/lower/compile-template.cjs +315 -21
- package/dist/lower/compile-template.d.cts +13 -0
- package/dist/lower/compile-template.d.ts +13 -0
- package/dist/lower/compile-template.d.ts.map +1 -1
- package/dist/lower/compile-template.js +3 -0
- package/dist/lower/compile-template.mjs +327 -21
- package/dist/lower/entities.cjs +288 -0
- package/dist/lower/entities.d.cts +1 -0
- package/dist/lower/entities.d.ts +2 -0
- package/dist/lower/entities.d.ts.map +1 -0
- package/dist/lower/entities.js +54 -0
- package/dist/lower/entities.mjs +267 -0
- package/dist/lower/jsx.cjs +104 -47
- package/dist/lower/jsx.d.cts +8 -0
- package/dist/lower/jsx.d.ts +8 -0
- package/dist/lower/jsx.d.ts.map +1 -1
- package/dist/lower/jsx.js +92 -2
- package/dist/lower/jsx.mjs +104 -47
- package/dist/lower/template.cjs +293 -20
- package/dist/lower/template.d.ts.map +1 -1
- package/dist/lower/template.js +35 -19
- package/dist/lower/template.mjs +293 -20
- package/dist/resolve/builtins.cjs +1 -1
- package/dist/resolve/builtins.mjs +1 -1
- package/dist/resolve/component-globals.cjs +6 -1
- package/dist/resolve/component-globals.js +2 -2
- package/dist/resolve/component-globals.mjs +6 -1
- package/dist/resolve/write-globals.cjs +6 -1
- package/dist/resolve/write-globals.mjs +6 -1
- package/dist/{server-fns-ZFRDIQ2X.mjs → server-fns-N3SDJXA7.mjs} +5 -4
- package/dist/{server-functions-CTDXX67X.mjs → server-functions-LVS66Q4R.mjs} +3 -3
- package/dist/transform/index.cjs +973 -33
- package/dist/transform/index.mjs +991 -47
- package/dist/transform/props.mjs +19 -14
- package/dist/transform/server-fns.mjs +19 -14
- package/dist/transform/styles.cjs +606 -0
- package/dist/transform/styles.d.cts +237 -0
- package/dist/transform/styles.d.ts +238 -0
- package/dist/transform/styles.d.ts.map +1 -0
- package/dist/transform/styles.js +743 -0
- package/dist/transform/styles.mjs +671 -0
- package/dist/transform/templates.cjs +972 -32
- package/dist/transform/templates.d.cts +13 -0
- package/dist/transform/templates.d.ts +13 -0
- package/dist/transform/templates.d.ts.map +1 -1
- package/dist/transform/templates.js +49 -12
- package/dist/transform/templates.mjs +990 -46
- package/dist/{transform-QWWQDCXE.mjs → transform-P4AETYV4.mjs} +49 -16
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/vite-styles.cjs +223 -0
- package/dist/vite-styles.d.cts +68 -0
- package/dist/vite-styles.d.ts +69 -0
- package/dist/vite-styles.d.ts.map +1 -0
- package/dist/vite-styles.js +241 -0
- package/dist/vite-styles.mjs +214 -0
- package/package.json +5 -4
package/LICENSE
CHANGED
|
@@ -24,9 +24,11 @@ __export(intrinsics_exports, {
|
|
|
24
24
|
PRIMITIVE_MODULES: () => PRIMITIVE_MODULES,
|
|
25
25
|
REACTIVE_MODULE: () => REACTIVE_MODULE,
|
|
26
26
|
RUNTIME_PRIMITIVES: () => RUNTIME_PRIMITIVES,
|
|
27
|
+
TAG_INTRINSICS: () => TAG_INTRINSICS,
|
|
27
28
|
isIntrinsicName: () => isIntrinsicName,
|
|
28
29
|
isPrimitiveModule: () => isPrimitiveModule,
|
|
29
|
-
mayHaveIntrinsic: () => mayHaveIntrinsic
|
|
30
|
+
mayHaveIntrinsic: () => mayHaveIntrinsic,
|
|
31
|
+
tagIntrinsics: () => tagIntrinsics
|
|
30
32
|
});
|
|
31
33
|
module.exports = __toCommonJS(intrinsics_exports);
|
|
32
34
|
var REACTIVE_MODULE = "@fluixi/reactive/signal";
|
|
@@ -88,6 +90,16 @@ var PRIMITIVE_MODULES = [
|
|
|
88
90
|
"@fluixi/reactive/cached-resource",
|
|
89
91
|
"@fluixi/core"
|
|
90
92
|
];
|
|
93
|
+
var TAG_INTRINSICS = {
|
|
94
|
+
$html: { export: "html", module: "@fluixi/core" },
|
|
95
|
+
$svg: { export: "svg", module: "@fluixi/core" },
|
|
96
|
+
$css: { export: "css", module: "@fluixi/core" }
|
|
97
|
+
};
|
|
98
|
+
function tagIntrinsics(bound) {
|
|
99
|
+
const tags = /* @__PURE__ */ new Map();
|
|
100
|
+
for (const [name, tag] of Object.entries(TAG_INTRINSICS)) if (!bound.has(name)) tags.set(name, tag.export);
|
|
101
|
+
return tags;
|
|
102
|
+
}
|
|
91
103
|
var INTRINSIC_CALL = new RegExp(`\\$(?:${Object.keys(INTRINSICS).map((n) => n.slice(1)).join("|")})\\s*\\(`);
|
|
92
104
|
function mayHaveIntrinsic(code) {
|
|
93
105
|
return INTRINSIC_CALL.test(code);
|
|
@@ -60,6 +60,20 @@ export declare const INTRINSICS: Readonly<Record<string, Intrinsic>>;
|
|
|
60
60
|
export declare const RUNTIME_PRIMITIVES: Readonly<Record<string, Intrinsic['returns']>>;
|
|
61
61
|
/** Modules whose exports count as reactive primitives. */
|
|
62
62
|
export declare const PRIMITIVE_MODULES: readonly string[];
|
|
63
|
+
/**
|
|
64
|
+
* Cheap text check for the file-skipping fast path: a module with no `$` call never
|
|
65
|
+
* needs parsing. Non-global, so it has no lastIndex to carry between calls.
|
|
66
|
+
*/
|
|
67
|
+
/**
|
|
68
|
+
* Template tags an app writes without importing them. Each compiles exactly like the marker
|
|
69
|
+
* it names; a module that binds the name itself keeps its own meaning.
|
|
70
|
+
*/
|
|
71
|
+
export declare const TAG_INTRINSICS: Readonly<Record<string, {
|
|
72
|
+
export: 'html' | 'svg' | 'css';
|
|
73
|
+
module: string;
|
|
74
|
+
}>>;
|
|
75
|
+
/** The `$` tags this module can use: all of them, less the ones it binds. */
|
|
76
|
+
export declare function tagIntrinsics(bound: Set<string>): Map<string, 'html' | 'svg' | 'css'>;
|
|
63
77
|
export declare function mayHaveIntrinsic(code: string): boolean;
|
|
64
78
|
export declare function isIntrinsicName(name: string): boolean;
|
|
65
79
|
/** Whether a module path exports the reactive primitives. */
|
|
@@ -60,6 +60,20 @@ export declare const INTRINSICS: Readonly<Record<string, Intrinsic>>;
|
|
|
60
60
|
export declare const RUNTIME_PRIMITIVES: Readonly<Record<string, Intrinsic['returns']>>;
|
|
61
61
|
/** Modules whose exports count as reactive primitives. */
|
|
62
62
|
export declare const PRIMITIVE_MODULES: readonly string[];
|
|
63
|
+
/**
|
|
64
|
+
* Cheap text check for the file-skipping fast path: a module with no `$` call never
|
|
65
|
+
* needs parsing. Non-global, so it has no lastIndex to carry between calls.
|
|
66
|
+
*/
|
|
67
|
+
/**
|
|
68
|
+
* Template tags an app writes without importing them. Each compiles exactly like the marker
|
|
69
|
+
* it names; a module that binds the name itself keeps its own meaning.
|
|
70
|
+
*/
|
|
71
|
+
export declare const TAG_INTRINSICS: Readonly<Record<string, {
|
|
72
|
+
export: 'html' | 'svg' | 'css';
|
|
73
|
+
module: string;
|
|
74
|
+
}>>;
|
|
75
|
+
/** The `$` tags this module can use: all of them, less the ones it binds. */
|
|
76
|
+
export declare function tagIntrinsics(bound: Set<string>): Map<string, 'html' | 'svg' | 'css'>;
|
|
63
77
|
export declare function mayHaveIntrinsic(code: string): boolean;
|
|
64
78
|
export declare function isIntrinsicName(name: string): boolean;
|
|
65
79
|
/** Whether a module path exports the reactive primitives. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../../src/analyze/intrinsics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB,OAAO;AACT,6EAA6E;GAC3E,eAAe;AACjB,+CAA+C;GAC7C,aAAa;AACf,+DAA+D;GAC7D,cAAc;AAChB,oFAAoF;GAClF,iBAAiB;AACnB,8EAA8E;GAC5E,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,QAAQ,GACR,iBAAiB,CAAC;AAEtB,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,CAAC;CACjD;AAED,0FAA0F;AAC1F,eAAO,MAAM,eAAe,4BAA4B,CAAC;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAsC1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAiB7E,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAM9C,CAAC;
|
|
1
|
+
{"version":3,"file":"intrinsics.d.ts","sourceRoot":"","sources":["../../src/analyze/intrinsics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB,OAAO;AACT,6EAA6E;GAC3E,eAAe;AACjB,+CAA+C;GAC7C,aAAa;AACf,+DAA+D;GAC7D,cAAc;AAChB,oFAAoF;GAClF,iBAAiB;AACnB,8EAA8E;GAC5E,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,QAAQ,GACR,iBAAiB,CAAC;AAEtB,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,CAAC;CACjD;AAED,0FAA0F;AAC1F,eAAO,MAAM,eAAe,4BAA4B,CAAC;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAsC1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAiB7E,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAM9C,CAAC;AAEF;;;GAGG;AACH;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAIvG,CAAC;AAEF,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAIrF;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -96,6 +96,23 @@ export const PRIMITIVE_MODULES = [
|
|
|
96
96
|
* Cheap text check for the file-skipping fast path: a module with no `$` call never
|
|
97
97
|
* needs parsing. Non-global, so it has no lastIndex to carry between calls.
|
|
98
98
|
*/
|
|
99
|
+
/**
|
|
100
|
+
* Template tags an app writes without importing them. Each compiles exactly like the marker
|
|
101
|
+
* it names; a module that binds the name itself keeps its own meaning.
|
|
102
|
+
*/
|
|
103
|
+
export const TAG_INTRINSICS = {
|
|
104
|
+
$html: { export: 'html', module: '@fluixi/core' },
|
|
105
|
+
$svg: { export: 'svg', module: '@fluixi/core' },
|
|
106
|
+
$css: { export: 'css', module: '@fluixi/core' },
|
|
107
|
+
};
|
|
108
|
+
/** The `$` tags this module can use: all of them, less the ones it binds. */
|
|
109
|
+
export function tagIntrinsics(bound) {
|
|
110
|
+
const tags = new Map();
|
|
111
|
+
for (const [name, tag] of Object.entries(TAG_INTRINSICS))
|
|
112
|
+
if (!bound.has(name))
|
|
113
|
+
tags.set(name, tag.export);
|
|
114
|
+
return tags;
|
|
115
|
+
}
|
|
99
116
|
const INTRINSIC_CALL = new RegExp(`\\$(?:${Object.keys(INTRINSICS).map((n) => n.slice(1)).join('|')})\\s*\\(`);
|
|
100
117
|
export function mayHaveIntrinsic(code) {
|
|
101
118
|
return INTRINSIC_CALL.test(code);
|
|
@@ -58,6 +58,16 @@ var PRIMITIVE_MODULES = [
|
|
|
58
58
|
"@fluixi/reactive/cached-resource",
|
|
59
59
|
"@fluixi/core"
|
|
60
60
|
];
|
|
61
|
+
var TAG_INTRINSICS = {
|
|
62
|
+
$html: { export: "html", module: "@fluixi/core" },
|
|
63
|
+
$svg: { export: "svg", module: "@fluixi/core" },
|
|
64
|
+
$css: { export: "css", module: "@fluixi/core" }
|
|
65
|
+
};
|
|
66
|
+
function tagIntrinsics(bound) {
|
|
67
|
+
const tags = /* @__PURE__ */ new Map();
|
|
68
|
+
for (const [name, tag] of Object.entries(TAG_INTRINSICS)) if (!bound.has(name)) tags.set(name, tag.export);
|
|
69
|
+
return tags;
|
|
70
|
+
}
|
|
61
71
|
var INTRINSIC_CALL = new RegExp(`\\$(?:${Object.keys(INTRINSICS).map((n) => n.slice(1)).join("|")})\\s*\\(`);
|
|
62
72
|
function mayHaveIntrinsic(code) {
|
|
63
73
|
return INTRINSIC_CALL.test(code);
|
|
@@ -73,7 +83,9 @@ export {
|
|
|
73
83
|
PRIMITIVE_MODULES,
|
|
74
84
|
REACTIVE_MODULE,
|
|
75
85
|
RUNTIME_PRIMITIVES,
|
|
86
|
+
TAG_INTRINSICS,
|
|
76
87
|
isIntrinsicName,
|
|
77
88
|
isPrimitiveModule,
|
|
78
|
-
mayHaveIntrinsic
|
|
89
|
+
mayHaveIntrinsic,
|
|
90
|
+
tagIntrinsics
|
|
79
91
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @fluixi/compiler v1.0.0-alpha.
|
|
1
|
+
/*! @fluixi/compiler v1.0.0-alpha.95 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
|
|
2
2
|
"use strict";
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @fluixi/compiler v1.0.0-alpha.
|
|
1
|
+
/*! @fluixi/compiler v1.0.0-alpha.95 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
|
|
2
2
|
import {
|
|
3
3
|
analyzeStatic,
|
|
4
4
|
buildJsxIR,
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
lowerTemplate,
|
|
11
11
|
resolveComponentSources,
|
|
12
12
|
shapeOf
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-B64LVPTU.mjs";
|
|
14
14
|
import {
|
|
15
15
|
CORE_CONTROL_FLOW,
|
|
16
16
|
ROUTER_COMPONENTS,
|
|
17
17
|
createComponentResolver
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-C3AK5PBV.mjs";
|
|
19
|
+
import "./chunk-GLFUPZ27.mjs";
|
|
20
20
|
|
|
21
21
|
// src/frontend/babel/plugin.ts
|
|
22
22
|
import { declare } from "@babel/helper-plugin-utils";
|
|
@@ -1,86 +1,7 @@
|
|
|
1
|
-
/*! @fluixi/compiler v1.0.0-alpha.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var semicolon = ";".charCodeAt(0);
|
|
6
|
-
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
7
|
-
var intToChar = new Uint8Array(64);
|
|
8
|
-
var charToInt = new Uint8Array(128);
|
|
9
|
-
for (let i = 0; i < chars.length; i++) {
|
|
10
|
-
const c = chars.charCodeAt(i);
|
|
11
|
-
intToChar[i] = c;
|
|
12
|
-
charToInt[c] = i;
|
|
13
|
-
}
|
|
14
|
-
function encodeInteger(builder, num, relative) {
|
|
15
|
-
let delta = num - relative;
|
|
16
|
-
delta = delta < 0 ? -delta << 1 | 1 : delta << 1;
|
|
17
|
-
do {
|
|
18
|
-
let clamped = delta & 31;
|
|
19
|
-
delta >>>= 5;
|
|
20
|
-
if (delta > 0) clamped |= 32;
|
|
21
|
-
builder.write(intToChar[clamped]);
|
|
22
|
-
} while (delta > 0);
|
|
23
|
-
return num;
|
|
24
|
-
}
|
|
25
|
-
var bufLength = 1024 * 16;
|
|
26
|
-
var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? {
|
|
27
|
-
decode(buf) {
|
|
28
|
-
const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
29
|
-
return out.toString();
|
|
30
|
-
}
|
|
31
|
-
} : {
|
|
32
|
-
decode(buf) {
|
|
33
|
-
let out = "";
|
|
34
|
-
for (let i = 0; i < buf.length; i++) {
|
|
35
|
-
out += String.fromCharCode(buf[i]);
|
|
36
|
-
}
|
|
37
|
-
return out;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
var StringWriter = class {
|
|
41
|
-
constructor() {
|
|
42
|
-
this.pos = 0;
|
|
43
|
-
this.out = "";
|
|
44
|
-
this.buffer = new Uint8Array(bufLength);
|
|
45
|
-
}
|
|
46
|
-
write(v) {
|
|
47
|
-
const { buffer } = this;
|
|
48
|
-
buffer[this.pos++] = v;
|
|
49
|
-
if (this.pos === bufLength) {
|
|
50
|
-
this.out += td.decode(buffer);
|
|
51
|
-
this.pos = 0;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
flush() {
|
|
55
|
-
const { buffer, out, pos } = this;
|
|
56
|
-
return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
function encode(decoded) {
|
|
60
|
-
const writer = new StringWriter();
|
|
61
|
-
let sourcesIndex = 0;
|
|
62
|
-
let sourceLine = 0;
|
|
63
|
-
let sourceColumn = 0;
|
|
64
|
-
let namesIndex = 0;
|
|
65
|
-
for (let i = 0; i < decoded.length; i++) {
|
|
66
|
-
const line = decoded[i];
|
|
67
|
-
if (i > 0) writer.write(semicolon);
|
|
68
|
-
if (line.length === 0) continue;
|
|
69
|
-
let genColumn = 0;
|
|
70
|
-
for (let j = 0; j < line.length; j++) {
|
|
71
|
-
const segment = line[j];
|
|
72
|
-
if (j > 0) writer.write(comma);
|
|
73
|
-
genColumn = encodeInteger(writer, segment[0], genColumn);
|
|
74
|
-
if (segment.length === 1) continue;
|
|
75
|
-
sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
|
|
76
|
-
sourceLine = encodeInteger(writer, segment[2], sourceLine);
|
|
77
|
-
sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
|
|
78
|
-
if (segment.length === 4) continue;
|
|
79
|
-
namesIndex = encodeInteger(writer, segment[4], namesIndex);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return writer.flush();
|
|
83
|
-
}
|
|
1
|
+
/*! @fluixi/compiler v1.0.0-alpha.95 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
|
|
2
|
+
import {
|
|
3
|
+
encode
|
|
4
|
+
} from "./chunk-HUABRVWB.mjs";
|
|
84
5
|
|
|
85
6
|
// ../../node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs
|
|
86
7
|
var BitSet = class _BitSet {
|