buildAll() builder macro
This commit is contained in:
@@ -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> {
|
public static function readerExpToField(exp:ReaderExp, k:KissState, errorIfNot = true):Null<Field> {
|
||||||
var fieldForms = k.fieldForms;
|
var fieldForms = k.fieldForms;
|
||||||
|
|
||||||
|
@@ -6,6 +6,5 @@ import js.lib.Promise;
|
|||||||
|
|
||||||
typedef Command = (?String) -> Void;
|
typedef Command = (?String) -> Void;
|
||||||
|
|
||||||
@:build(kiss.Kiss.build("Config.kiss"))
|
@:build(kiss.Kiss.buildAll(["KissConfig.kiss", "Config.kiss"]))
|
||||||
@:build(kiss.Kiss.build("KissConfig.kiss"))
|
|
||||||
class KissConfig {}
|
class KissConfig {}
|
||||||
|
Reference in New Issue
Block a user