buildAll() builder macro

This commit is contained in:
2021-01-24 12:12:14 -07:00
parent f02e596d24
commit 832f925594
2 changed files with 17 additions and 2 deletions

View File

@@ -133,6 +133,22 @@ class Kiss {
});
}
/**
* Build macro: add fields to a Haxe class by compiling multiple Kiss files in order with the same KissState
*/
public static function buildAll(kissFiles:Array<String>, ?k:KissState, useClassFields = true):Array<Field> {
if (k == null)
k = defaultKissState();
var fields = [];
for (file in kissFiles) {
fields = fields.concat(build(file, k, useClassFields));
}
return fields;
}
public static function readerExpToField(exp:ReaderExp, k:KissState, errorIfNot = true):Null<Field> {
var fieldForms = k.fieldForms;

View File

@@ -6,6 +6,5 @@ import js.lib.Promise;
typedef Command = (?String) -> Void;
@:build(kiss.Kiss.build("Config.kiss"))
@:build(kiss.Kiss.build("KissConfig.kiss"))
@:build(kiss.Kiss.buildAll(["KissConfig.kiss", "Config.kiss"]))
class KissConfig {}