// Copyright (c) 2026 Chris Pressey, Cat's Eye Technologies.
//
// SPDX-License-Identifier: LicenseRef-MIT-X-Jaft
import { concoct } from "../concoctor-0.2/concoctor.js"; // TODO: use import map
import { Scanner, Parser, compile } from "./jaftCompiler.js";
function concoctJaft(ctx, body, attributes) {
const extraAttributes = {
parseFunDefn: function (body) {
const scanner = new Scanner(body);
const parser = new Parser(scanner);
const ast = parser.parseFunDefn();
const params = ast.type === "fun-defn" ? ast.params : [];
return [ast, params];
},
compile: compile,
};
return concoct(ctx, body, { ...attributes, ...extraAttributes });
}
export { concoctJaft };