UNPKG

@open-audio-stack/core

Version:
25 lines (24 loc) 851 B
import path from 'path'; import { Registry } from './Registry.js'; import { dirCreate, fileCreateJson, fileCreateYaml } from '../helpers/file.js'; export class RegistryLocal extends Registry { managers; constructor(name, url, version) { super(name, url, version); this.managers = {}; } export(dir, ext = 'json') { const saveFile = ext === 'yaml' ? fileCreateYaml : fileCreateJson; for (const [, manager] of Object.entries(this.managers)) { manager.export(path.join(dir, manager.type), ext); } dirCreate(dir); saveFile(path.join(dir, `index.${ext}`), this.toJSON()); return true; } scan(ext = 'json', installable = true) { for (const [, manager] of Object.entries(this.managers)) { manager.scan(ext, installable); } } }