import type { CategoryData, ScriptData, CategoryOrScriptData, InstructionHolder, } from '@/application/collections/'; import { Script } from '@/domain/Script'; import { Category } from '@/domain/Category'; import { parseDocUrls } from './DocumentationParser'; import { ICategoryCollectionParseContext } from './Script/ICategoryCollectionParseContext'; import { parseScript } from './Script/ScriptParser'; let categoryIdCounter = 0; export function parseCategory( category: CategoryData, context: ICategoryCollectionParseContext, ): Category { if (!context) { throw new Error('missing context'); } ensureValid(category); const children: ICategoryChildren = { subCategories: new Array(), subScripts: new Array