MapComplete/src/UI/Studio/configMeta.ts
2023-09-15 01:16:33 +02:00

43 lines
1.1 KiB
TypeScript

import { JsonSchema, JsonSchemaType } from "./jsonSchema"
export interface ConfigMeta {
path: string[]
type: JsonSchemaType | JsonSchema[]
hints: {
group?: string
typehint?: string
/**
* If multiple subcategories can be chosen
*/
types?: string
question?: string
iftrue?: string
iffalse?: string
ifunset?: string
inline?: string
default?: string
typesdefault?: string
suggestions?: []
}
required: boolean
description: string
}
export class ConfigMetaUtils {
static isTranslation(configMeta: ConfigMeta) {
/* {
"$ref": "#/definitions/Record<string,string>"
},
{
"type": "string"
}*/
if (!configMeta.type) {
return false
}
if (Array.isArray(configMeta.type)) {
return configMeta.type.some((t) => t["$ref"] === "#/definitions/Record<string,string>")
} else {
return configMeta.type["$ref"] === "#/definitions/Record<string,string>"
}
}
}