mirror of
https://github.com/mashirozx/sakura.git
synced 2024-11-22 23:08:14 +08:00
32 lines
883 B
TypeScript
32 lines
883 B
TypeScript
import options from './options'
|
|
import { writeFileSync } from 'fs'
|
|
|
|
const exportOptions: { [key: string]: any } = {}
|
|
|
|
const optionTypesTemplate = (fill: string) => {
|
|
return `
|
|
// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
// Generated by scripts/options-export/dump-options.ts
|
|
export interface SakuraOptions {
|
|
${fill}
|
|
}
|
|
`
|
|
}
|
|
|
|
let types = ''
|
|
|
|
Object.keys(options).forEach((tab) => {
|
|
options[tab].options.forEach((option) => {
|
|
if (option.depends) delete option.depends // remove function
|
|
exportOptions[option.namespace] = option
|
|
types += `'${option.namespace}': any, `
|
|
})
|
|
})
|
|
|
|
console.dir(exportOptions)
|
|
|
|
const optionTypes = optionTypesTemplate(types)
|
|
|
|
writeFileSync('./app/configs/options.json', JSON.stringify(exportOptions, null, 2), { flag: 'w+' })
|
|
writeFileSync('./src/admin/optionsType.ts', optionTypes, { flag: 'w+' })
|