Now schemas is represented as array

master
Paul Loyd 2017-11-02 21:30:51 +03:00
parent b836d2ef8c
commit 8cbfcdcdec
12 changed files with 53 additions and 53 deletions

View File

@ -11,7 +11,7 @@ const {log} = require('./utils');
class Collector {
constructor(parser) {
this.parser = parser;
this.schemas = Object.create(null); // TODO: use `Map`.
this.schemas = [];
this.scope = null;
}
@ -88,7 +88,7 @@ class Collector {
case 'provide':
assert(this.scope);
this.scope.addSchema(value.data);
this.schemas[value.data.name] = value.data;
this.schemas.push(value.data);
break;
case 'query':
const schema = this.scope.query(value.data);

View File

@ -2,9 +2,9 @@
class Scope {
constructor(parent) {
this.parent = parent;
this.schemas = new Map;
this.externals = new Map;
this.parent = parent;
}
addSchema(schema) {

View File

@ -11,8 +11,8 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [{
@ -20,7 +20,7 @@ class Class {
type: {type: 'array', items: 'double'},
}],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [{
@ -28,7 +28,7 @@ class Class {
type: {type: 'array', items: 'double'},
}],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [{
@ -36,4 +36,4 @@ class Class {
type: {type: 'array', items: 'double'},
}],
},
});
]

View File

@ -11,8 +11,8 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [{
@ -20,7 +20,7 @@ class Class {
type: {type: 'enum', symbols: ['one', 'two']},
}],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [{
@ -28,7 +28,7 @@ class Class {
type: {type: 'enum', symbols: ['one', 'two']},
}],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [{
@ -36,4 +36,4 @@ class Class {
type: {type: 'enum', symbols: ['one', 'two']},
}],
},
});
]

View File

@ -7,15 +7,15 @@ interface Interface {
}
// ###
({
Type: {
[
{
type: 'map',
name: 'Type',
values: 'double',
},
Interface: {
{
type: 'map',
name: 'Interface',
values: 'double',
},
});
]

View File

@ -38,8 +38,8 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [
@ -50,7 +50,7 @@ class Class {
{name: 'e', type: {type: 'fixed', size: 10}},
],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [
@ -61,7 +61,7 @@ class Class {
{name: 'e', type: {type: 'fixed', size: 10}},
],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [
@ -72,4 +72,4 @@ class Class {
{name: 'e', type: {type: 'fixed', size: 10}},
],
},
});
]

View File

@ -23,8 +23,8 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [
@ -35,7 +35,7 @@ class Class {
{name: 'e', type: 'bytes'},
],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [
@ -46,7 +46,7 @@ class Class {
{name: 'e', type: 'bytes'},
],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [
@ -57,4 +57,4 @@ class Class {
{name: 'e', type: 'bytes'},
],
},
});
]

View File

@ -19,12 +19,12 @@ class Class {
}
// ###
({
A: {
[
{
type: 'string',
name: 'A',
},
Type: {
{
type: 'record',
name: 'Type',
fields: [
@ -33,7 +33,7 @@ class Class {
{name: 'c', type: 'A'},
],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [
@ -42,7 +42,7 @@ class Class {
{name: 'c', type: 'A'},
],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [
@ -51,4 +51,4 @@ class Class {
{name: 'c', type: 'A'},
],
},
});
]

View File

@ -25,8 +25,8 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [
@ -34,7 +34,7 @@ class Class {
{name: 'b', type: 'double'},
],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [
@ -42,7 +42,7 @@ class Class {
{name: 'b', type: 'double'},
],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [
@ -50,4 +50,4 @@ class Class {
{name: 'b', type: 'double'},
],
},
});
]

View File

@ -14,8 +14,8 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [{
@ -26,7 +26,7 @@ class Class {
type: ['null', 'string'],
}],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [{
@ -37,7 +37,7 @@ class Class {
type: ['null', 'string'],
}],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [{
@ -48,4 +48,4 @@ class Class {
type: ['null', 'string'],
}],
},
});
]

View File

@ -11,8 +11,8 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [{
@ -23,7 +23,7 @@ class Class {
],
}],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [{
@ -34,7 +34,7 @@ class Class {
],
}],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [{
@ -45,4 +45,4 @@ class Class {
],
}],
},
});
]

View File

@ -11,20 +11,20 @@ class Class {
}
// ###
({
Type: {
[
{
type: 'record',
name: 'Type',
fields: [{name: 'a', type: {type: 'enum', symbols: ['one']}}],
},
Interface: {
{
type: 'record',
name: 'Interface',
fields: [{name: 'a', type: {type: 'enum', symbols: ['one']}}],
},
Class: {
{
type: 'record',
name: 'Class',
fields: [{name: 'a', type: {type: 'enum', symbols: ['one']}}],
},
});
]