Files
airllm-fork-nodejs/node_modules/node-llama-cpp/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js
2026-02-05 15:27:49 +08:00

11 lines
815 B
JavaScript

import { getGbnfJsonTerminalForGbnfJsonSchema } from "./utils/getGbnfJsonTerminalForGbnfJsonSchema.js";
import { GbnfGrammarGenerator } from "./GbnfGrammarGenerator.js";
import { GbnfJsonScopeState } from "./utils/GbnfJsonScopeState.js";
export function getGbnfGrammarForGbnfJsonSchema(schema, { allowNewLines = true, scopePadSpaces = 4 } = {}) {
const grammarGenerator = new GbnfGrammarGenerator();
const scopeState = new GbnfJsonScopeState({ allowNewLines, scopePadSpaces });
const rootTerminal = getGbnfJsonTerminalForGbnfJsonSchema(schema, grammarGenerator, scopeState);
const rootGrammar = rootTerminal.resolve(grammarGenerator, true);
return grammarGenerator.generateGbnfFile(rootGrammar + ` "${"\\n".repeat(4)}"` + " [\\n]*");
}
//# sourceMappingURL=getGbnfGrammarForGbnfJsonSchema.js.map