@@ -47,10 +47,11 @@ if (!ecsRepo) {
4747const ecsSchemasDir = path . join ( ecsRepo , 'schemas' )
4848
4949// Build the JSON schema properties from the ECS schema YAML files.
50- const properties = getAllFiles ( ecsSchemasDir )
50+ var properties = getAllFiles ( ecsSchemasDir )
5151 . filter ( file => ! file . includes ( 'README.md' ) )
5252 . map ( file => fs . readFileSync ( file , 'utf8' ) )
5353 . map ( yaml . safeLoad )
54+ . filter ( entry => Array . isArray ( entry ) ) // filter out weird `{name: 'main', ...}` entry
5455 . reduce ( ( acc , [ val ] ) => {
5556 let properties = { }
5657 for ( const prop of val . fields ) {
@@ -121,6 +122,7 @@ function set (object, objPath, value, customizer) {
121122function jsonSchemaTypeFromEcsType ( type ) {
122123 switch ( type ) {
123124 case 'keyword' :
125+ case 'constant_keyword' :
124126 return { type : 'string' }
125127 case 'boolean' :
126128 return { type : 'boolean' }
@@ -134,11 +136,14 @@ function jsonSchemaTypeFromEcsType (type) {
134136 ]
135137 }
136138 case 'text' :
139+ case 'match_only_text' :
140+ case 'wildcard' :
137141 return { type : 'string' }
138142 case 'integer' :
139143 return { type : 'integer' }
140144 case 'long' :
141145 case 'float' :
146+ case 'scaled_float' :
142147 return { type : 'number' }
143148 case 'geo_point' :
144149 return {
@@ -149,6 +154,9 @@ function jsonSchemaTypeFromEcsType (type) {
149154 }
150155 }
151156 case 'object' :
157+ case 'flattened' :
158+ case 'nested' :
159+ case 'source' :
152160 return {
153161 type : 'object' ,
154162 additionalProperties : true
0 commit comments