Small refactoring
parent
cbb64206d2
commit
16632df5ed
|
@ -134,11 +134,11 @@ class Collector {
|
|||
if (value instanceof Command) {
|
||||
switch (value.name) {
|
||||
case 'declare':
|
||||
scope.addDeclaration(value.data[0], value.data[1]);
|
||||
scope.addDeclaration(...value.data);
|
||||
|
||||
break;
|
||||
case 'define':
|
||||
scope.addDefinition(value.data[0], value.data[1]);
|
||||
scope.addDefinition(...value.data);
|
||||
this.schemas.push(value.data[0]);
|
||||
|
||||
break;
|
||||
|
@ -147,7 +147,7 @@ class Collector {
|
|||
|
||||
break;
|
||||
case 'provide':
|
||||
scope.addExport(value.data[0], value.data[1]);
|
||||
scope.addExport(...value.data);
|
||||
|
||||
break;
|
||||
case 'query':
|
||||
|
|
|
@ -13,7 +13,7 @@ class Command {
|
|||
return new Command('external', external);
|
||||
}
|
||||
|
||||
static provide(name, reference) {
|
||||
static provide(name, reference = name) {
|
||||
return new Command('provide', [name, reference]);
|
||||
}
|
||||
|
||||
|
|
|
@ -364,7 +364,7 @@ const declaration = {
|
|||
const reference = yield node.declaration;
|
||||
|
||||
if (reference) {
|
||||
yield provide(reference, reference);
|
||||
yield provide(reference);
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ class Scope {
|
|||
});
|
||||
}
|
||||
|
||||
addDefinition(schema, declared = true) {
|
||||
addDefinition(schema, declared) {
|
||||
if (declared) {
|
||||
assert.equal((this.entries.get(schema.name) || {}).type, 'declaration');
|
||||
} else {
|
||||
|
|
|
@ -3,19 +3,16 @@ type A = string;
|
|||
type Type = {
|
||||
a: A,
|
||||
b: A[],
|
||||
c: A<number>,
|
||||
};
|
||||
|
||||
interface Interface {
|
||||
a: A;
|
||||
b: A[];
|
||||
c: A<number>;
|
||||
}
|
||||
|
||||
class Class {
|
||||
a: A;
|
||||
b: A[];
|
||||
c: A<number>;
|
||||
}
|
||||
|
||||
export {Type, Interface, Class};
|
||||
|
|
|
@ -11,8 +11,7 @@
|
|||
"namespace": "references",
|
||||
"fields": [
|
||||
{"name": "a", "type": "A"},
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}},
|
||||
{"name": "c", "type": "A"}
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -21,8 +20,7 @@
|
|||
"namespace": "references",
|
||||
"fields": [
|
||||
{"name": "a", "type": "A"},
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}},
|
||||
{"name": "c", "type": "A"}
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -31,8 +29,7 @@
|
|||
"namespace": "references",
|
||||
"fields": [
|
||||
{"name": "a", "type": "A"},
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}},
|
||||
{"name": "c", "type": "A"}
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}}
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
Loading…
Reference in New Issue