import { type Editor } from "./main";
import { introduction } from "./documentation/introduction";
import { samples } from "./documentation/samples";
import { chaining } from "./documentation/chaining";
import { software_interface } from "./documentation/interface";
import { interaction } from "./documentation/interaction";
import { time } from "./documentation/time";
import { midi } from "./documentation/midi";
import { code } from "./documentation/code";
import { about } from "./documentation/about";
import { sound } from "./documentation/engine";
import { shortcuts } from "./documentation/keyboard";
import { patterns } from "./documentation/patterns";
import { functions } from "./documentation/functions";
import { ziffers } from "./documentation/ziffers";
import { reference } from "./documentation/reference";
import { synths } from "./documentation/synths";
import { bonus } from "./documentation/bonus";
export const key_shortcut = (shortcut: string): string => {
return `${shortcut}`;
};
export const makeExampleFactory = (application: Editor): Function => {
const make_example = (
description: string,
code: string,
open: boolean = false
) => {
const codeId = `codeExample${application.exampleCounter++}`;
// Store the code snippet in the data structure
application.api.codeExamples[codeId] = code;
return `
${description}
\`\`\`javascript
${code}
\`\`\`
`;
};
return make_example;
};
export const documentation_factory = (application: Editor) => {
// Initialize a data structure to store code examples by their unique IDs
application.api.codeExamples = {};
return {
introduction: introduction(application),
interface: software_interface(application),
interaction: interaction(application),
code: code(application),
time: time(application),
sound: sound(application),
samples: samples(application),
synths: synths(application),
chaining: chaining(application),
patterns: patterns(application),
ziffers: ziffers(application),
midi: midi(application),
functions: functions(application),
reference: reference(),
shortcuts: shortcuts(),
bonus: bonus(application),
about: about(),
};
};