@@ -25,8 +25,9 @@ import {
25
25
} from '../model/metamodel'
26
26
27
27
const outputPath = argv . output ?? join ( __dirname , '..' , '..' , '..' , 'output' , 'schema' , 'routes.go' )
28
- const V8 = join ( __dirname , '..' , '..' , '..' , 'output' , 'schema' , 'schema.json' )
29
- const V7 = 'https://raw.githubusercontent.com/elastic/elasticsearch-specification/7.17/output/schema/schema.json'
28
+ const V8SchemaUrl = join ( __dirname , '..' , '..' , '..' , 'output' , 'schema' , 'schema.json' )
29
+ const V7SchemaUrl = 'https://raw.githubusercontent.com/elastic/elasticsearch-specification/7.17/output/schema/schema.json'
30
+ const serverlessSchemaUrl = join ( __dirname , '..' , '..' , '..' , 'output' , 'schema' , 'schema-serverless.json' )
30
31
31
32
export class Node {
32
33
path : string
@@ -69,7 +70,7 @@ export class Trees {
69
70
}
70
71
71
72
export class Forest {
72
- byVersion : Map < number , Trees >
73
+ byVersion : Map < string , Trees >
73
74
74
75
constructor ( ) {
75
76
this . byVersion = new Map ( )
@@ -279,16 +280,22 @@ function extractRoutes (inputModel: Model): Trees {
279
280
280
281
async function extractRoutesFromFiles ( outPath : string ) : Promise < void > {
281
282
const v8Spec = await readFile (
282
- V8 ,
283
+ V8SchemaUrl ,
283
284
{ encoding : 'utf8' }
284
285
)
285
286
286
- const data = await fetch ( V7 )
287
- const v7Spec = await data . text ( )
287
+ const v7Schema = await fetch ( V7SchemaUrl )
288
+ const v7Spec = await v7Schema . text ( )
288
289
289
- const versions = new Map < number , string > ( )
290
- versions . set ( 7 , v7Spec )
291
- versions . set ( 8 , v8Spec )
290
+ const serverlessSpec = await readFile (
291
+ serverlessSchemaUrl ,
292
+ { encoding : 'utf8' }
293
+ )
294
+
295
+ const versions = new Map < string , string > ( )
296
+ versions . set ( "7" , v7Spec )
297
+ versions . set ( "8" , v8Spec )
298
+ versions . set ( "serverless" , serverlessSpec )
292
299
293
300
const forest = new Forest ( )
294
301
@@ -297,7 +304,7 @@ async function extractRoutesFromFiles (outPath: string): Promise<void> {
297
304
const routes = extractRoutes ( inputModel )
298
305
forest . byVersion . set ( version , routes )
299
306
} )
300
- forest . byVersion . set ( 0 , defaultRoutes ( ) )
307
+ forest . byVersion . set ( "0" , defaultRoutes ( ) )
301
308
302
309
const str = serializeForest ( forest )
303
310
0 commit comments