aboutsummaryrefslogtreecommitdiff
path: root/src/services/neumeta.ts
diff options
context:
space:
mode:
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;
+
+