Skip to content

Commit c71e9ed

Browse files
committed
Automatically add as-bind source files
1 parent 2b4fc71 commit c71e9ed

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

transform.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
const fs = require("fs");
12
const { Transform } = require("assemblyscript/cli/transform");
23
const assemblyscript = require("assemblyscript");
34

@@ -13,9 +14,17 @@ function typeName(type) {
1314
return type.name.text ?? type.name.identifier.text;
1415
}
1516

16-
const marker = "__asbind_type_data";
17+
const MARKER = "__asbind_type_data";
18+
const AS_BIND_SRC = "lib/assembly/as-bind.ts";
1719

1820
class AsBindTransform extends Transform {
21+
afterParse(parser) {
22+
const bindSrc = fs.readFileSync(
23+
require.resolve("./" + AS_BIND_SRC),
24+
"utf8"
25+
);
26+
parser.parseFile(bindSrc, "~as-bind/" + AS_BIND_SRC, true);
27+
}
1928
afterInitialize(program) {
2029
const exportedFunctions = [...program.elementsByDeclaration.values()]
2130
.filter(el =>
@@ -57,7 +66,7 @@ class AsBindTransform extends Transform {
5766
)
5867
};
5968
const typeDataExport = [...program.elementsByDeclaration.values()].find(
60-
v => v.name === marker
69+
v => v.name === MARKER
6170
);
6271
if (!typeDataExport) {
6372
throw Error("Could not find type data export");

0 commit comments

Comments
 (0)