aboutsummaryrefslogtreecommitdiff
path: root/src/services/neumeta.ts
diff options
context:
space:
mode:
authornea <romangraef@gmail.com>2022-10-18 00:44:04 +0200
committernea <romangraef@gmail.com>2022-10-18 00:44:04 +0200
commit76e9d147ac5b67aa5ad38e98fe0cce3334d44b8f (patch)
tree89c26fb297b881cf56d3c8ce2186821197241be2 /src/services/neumeta.ts
parent46d087e17a549a3b1bb9797714d5c3df440b67f5 (diff)
downloadtanzanite-76e9d147ac5b67aa5ad38e98fe0cce3334d44b8f.tar.gz
tanzanite-76e9d147ac5b67aa5ad38e98fe0cce3334d44b8f.tar.bz2
tanzanite-76e9d147ac5b67aa5ad38e98fe0cce3334d44b8f.zip
[WIP] Please help, Mooniefeature/neaconfig
Diffstat (limited to 'src/services/neumeta.ts')
-rw-r--r--src/services/neumeta.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/services/neumeta.ts b/src/services/neumeta.ts
new file mode 100644
index 0000000..0077a44
--- /dev/null
+++ b/src/services/neumeta.ts
@@ -0,0 +1,43 @@
+export declare interface JavaReference {
+ class: string
+ member: string | null
+}
+
+export declare interface ClassReference extends JavaReference {
+ member: null
+}
+
+export declare interface MemberReference extends JavaReference {
+ member: string
+}
+
+export declare interface NEUFileLocation {
+ filename: string
+ line: number | null
+}
+
+export declare interface ConfigOption {
+ name: string
+ description: string
+ reference: MemberReference
+ location: NEUFileLocation
+}
+
+export declare interface ConfigCategory {
+ name: string
+ description: string
+ useReference: MemberReference
+ useLocation: NEUFileLocation
+ structReference: ClassReference
+ structLocation: NEUFileLocation
+ options: [ConfigOption]
+}
+
+export declare interface ConfigMeta {
+ categories: [ConfigCategory]
+}
+
+// TODO: multi version / introduced semantics
+export const latestData = require('./config-meta.json') as ConfigMeta;
+
+