Restructuring the tests
parent
7d8e9fbf64
commit
76ca89e500
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "flow2avro",
|
||||
"version": "0.1.0",
|
||||
"description": "Generate avro schemes for flowtype definitions",
|
||||
"description": "Generate avro schemas for flowtype definitions",
|
||||
"author": "Paul Loyd <pavelko95@gmail.com>",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
|
|
@ -9,34 +9,3 @@ interface Interface {
|
|||
class Class {
|
||||
a: number[];
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'arrays',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: {type: 'array', items: 'double'},
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'arrays',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: {type: 'array', items: 'double'},
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'arrays',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: {type: 'array', items: 'double'},
|
||||
}],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "arrays",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": {"type": "array", "items": "double"}
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "arrays",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": {"type": "array", "items": "double"}
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "arrays",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": {"type": "array", "items": "double"}
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -7,24 +7,3 @@ type Y = {
|
|||
};
|
||||
|
||||
type Z = string;
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'string',
|
||||
name: 'Z',
|
||||
namespace: 'disorder',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'disorder',
|
||||
fields: [{name: 'z', type: 'Z'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'X',
|
||||
namespace: 'disorder',
|
||||
fields: [{name: 'y', type: 'Y'}],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "string",
|
||||
"name": "Z",
|
||||
"namespace": "disorder"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "disorder",
|
||||
"fields": [{"name": "z", "type": "Z"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "X",
|
||||
"namespace": "disorder",
|
||||
"fields": [{"name": "y", "type": "Y"}]
|
||||
}
|
||||
]
|
||||
}
|
34
tests/do
34
tests/do
|
@ -13,7 +13,7 @@ function filter(name) {
|
|||
return true;
|
||||
}
|
||||
|
||||
const match = part => name.indexOf(part) >= 0;
|
||||
const match = part => name.includes(part);
|
||||
const negate = process.argv[2] === '!';
|
||||
const argv = process.argv.slice(negate ? 3 : 2);
|
||||
|
||||
|
@ -26,10 +26,10 @@ function run(name) {
|
|||
console.log(`${title}...`);
|
||||
|
||||
const code = fs.readFileSync(name, 'utf8');
|
||||
const {schemas: actual} = collect(name);
|
||||
const expected = eval(code.split('// ###')[1]);
|
||||
const actual = collect(name);
|
||||
const expected = JSON.parse(fs.readFileSync(name + 'on', 'utf8'));
|
||||
|
||||
const delta = jsondiffpatch.diff(actual, expected);
|
||||
const delta = jsondiffpatch.diff(actual.schemas, expected.schemas);
|
||||
|
||||
if (delta) {
|
||||
jsondiffpatch.console.log(delta);
|
||||
|
@ -46,26 +46,14 @@ function run(name) {
|
|||
function main() {
|
||||
process.chdir(__dirname);
|
||||
|
||||
const runner = path.basename(__filename);
|
||||
const success = fs.readdirSync(__dirname)
|
||||
.filter(name => path.extname(name) === '.js')
|
||||
.filter(filter)
|
||||
.reduce((success, name) => {
|
||||
const ok = run(name);
|
||||
|
||||
const list = fs.readdirSync(__dirname)
|
||||
.filter(fname => fname !== runner);
|
||||
|
||||
let success = true;
|
||||
|
||||
for (const name of list) {
|
||||
if (!filter(name)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (fs.lstatSync(name).isDirectory()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const ok = run(name);
|
||||
|
||||
success = success && ok;
|
||||
}
|
||||
return success && ok;
|
||||
}, true);
|
||||
|
||||
process.exit(success ? 0 : 1);
|
||||
}
|
||||
|
|
|
@ -9,34 +9,3 @@ interface Interface {
|
|||
class Class {
|
||||
a: 'one' | 'two';
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'enums',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: {type: 'enum', symbols: ['one', 'two']},
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'enums',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: {type: 'enum', symbols: ['one', 'two']},
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'enums',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: {type: 'enum', symbols: ['one', 'two']},
|
||||
}],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "enums",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": {"type": "enum", "symbols": ["one", "two"]}
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "enums",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": {"type": "enum", "symbols": ["one", "two"]}
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "enums",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": {"type": "enum", "symbols": ["one", "two"]}
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,77 +21,3 @@ type Y = {
|
|||
k: T,
|
||||
p: P,
|
||||
};
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'A',
|
||||
namespace: 'externals.first',
|
||||
fields: [{name: 'a', type: 'boolean'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'B',
|
||||
namespace: 'externals.first',
|
||||
fields: [{name: 'b', type: 'string'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'CC',
|
||||
namespace: 'externals.first',
|
||||
fields: [{name: 'c', type: 'double'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'D',
|
||||
namespace: 'externals.first',
|
||||
fields: [{name: 'd', type: 'double'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'N',
|
||||
namespace: 'externals.second',
|
||||
fields: [{name: 'n', type: 'boolean'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'M',
|
||||
namespace: 'externals.second',
|
||||
fields: [{name: 'm', type: 'string'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'KK',
|
||||
namespace: 'externals.second',
|
||||
fields: [{name: 'k', type: 'double'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'P',
|
||||
namespace: 'externals.second',
|
||||
fields: [{name: 'p', type: 'double'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'X',
|
||||
namespace: 'externals',
|
||||
fields: [
|
||||
{name: 'a', type: 'externals.first.A'},
|
||||
{name: 'b', type: 'externals.first.B'},
|
||||
{name: 'c', type: 'externals.first.CC'},
|
||||
{name: 'd', type: 'externals.first.D'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'externals',
|
||||
fields: [
|
||||
{name: 'n', type: 'externals.second.N'},
|
||||
{name: 'm', type: 'externals.second.M'},
|
||||
{name: 'k', type: 'externals.second.KK'},
|
||||
{name: 'p', type: 'externals.second.P'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "A",
|
||||
"namespace": "externals.first",
|
||||
"fields": [{"name": "a", "type": "boolean"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "B",
|
||||
"namespace": "externals.first",
|
||||
"fields": [{"name": "b", "type": "string"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "CC",
|
||||
"namespace": "externals.first",
|
||||
"fields": [{"name": "c", "type": "double"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "D",
|
||||
"namespace": "externals.first",
|
||||
"fields": [{"name": "d", "type": "double"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "N",
|
||||
"namespace": "externals.second",
|
||||
"fields": [{"name": "n", "type": "boolean"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "M",
|
||||
"namespace": "externals.second",
|
||||
"fields": [{"name": "m", "type": "string"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "KK",
|
||||
"namespace": "externals.second",
|
||||
"fields": [{"name": "k", "type": "double"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "P",
|
||||
"namespace": "externals.second",
|
||||
"fields": [{"name": "p", "type": "double"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "X",
|
||||
"namespace": "externals",
|
||||
"fields": [
|
||||
{"name": "a", "type": "externals.first.A"},
|
||||
{"name": "b", "type": "externals.first.B"},
|
||||
{"name": "c", "type": "externals.first.CC"},
|
||||
{"name": "d", "type": "externals.first.D"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "externals",
|
||||
"fields": [
|
||||
{"name": "n", "type": "externals.second.N"},
|
||||
{"name": "m", "type": "externals.second.M"},
|
||||
{"name": "k", "type": "externals.second.KK"},
|
||||
{"name": "p", "type": "externals.second.P"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,57 +21,3 @@ interface Y extends X {
|
|||
interface Z extends Y {
|
||||
z: boolean;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'A',
|
||||
namespace: 'inheritance',
|
||||
fields: [{name: 'a', type: 'double'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'B',
|
||||
namespace: 'inheritance',
|
||||
fields: [
|
||||
{name: 'a', type: 'double'},
|
||||
{name: 'b', type: 'string'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'C',
|
||||
namespace: 'inheritance',
|
||||
fields: [
|
||||
{name: 'a', type: 'double'},
|
||||
{name: 'b', type: 'string'},
|
||||
{name: 'c', type: 'boolean'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'X',
|
||||
namespace: 'inheritance',
|
||||
fields: [{name: 'x', type: 'double'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'inheritance',
|
||||
fields: [
|
||||
{name: 'x', type: 'double'},
|
||||
{name: 'y', type: 'string'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Z',
|
||||
namespace: 'inheritance',
|
||||
fields: [
|
||||
{name: 'x', type: 'double'},
|
||||
{name: 'y', type: 'string'},
|
||||
{name: 'z', type: 'boolean'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "A",
|
||||
"namespace": "inheritance",
|
||||
"fields": [{"name": "a", "type": "double"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "B",
|
||||
"namespace": "inheritance",
|
||||
"fields": [
|
||||
{"name": "a", "type": "double"},
|
||||
{"name": "b", "type": "string"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "C",
|
||||
"namespace": "inheritance",
|
||||
"fields": [
|
||||
{"name": "a", "type": "double"},
|
||||
{"name": "b", "type": "string"},
|
||||
{"name": "c", "type": "boolean"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "X",
|
||||
"namespace": "inheritance",
|
||||
"fields": [{"name": "x", "type": "double"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "inheritance",
|
||||
"fields": [
|
||||
{"name": "x", "type": "double"},
|
||||
{"name": "y", "type": "string"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Z",
|
||||
"namespace": "inheritance",
|
||||
"fields": [
|
||||
{"name": "x", "type": "double"},
|
||||
{"name": "y", "type": "string"},
|
||||
{"name": "z", "type": "boolean"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -11,69 +11,3 @@ type Y = {
|
|||
class Z {
|
||||
z: A & C;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'A',
|
||||
namespace: 'intersections',
|
||||
fields: [{name: 'a', type: 'double'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'B',
|
||||
namespace: 'intersections',
|
||||
fields: [{name: 'b', type: 'string'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'C',
|
||||
namespace: 'intersections',
|
||||
fields: [{name: 'c', type: 'boolean'}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'X',
|
||||
namespace: 'intersections',
|
||||
fields: [
|
||||
{name: 'a', type: 'double'},
|
||||
{name: 'b', type: 'string'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: '_A_B_C',
|
||||
namespace: 'intersections',
|
||||
fields: [
|
||||
{name: 'a', type: 'double'},
|
||||
{name: 'b', type: 'string'},
|
||||
{name: 'c', type: 'boolean'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'intersections',
|
||||
fields: [
|
||||
{name: 'y', type: '_A_B_C'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: '_A_C',
|
||||
namespace: 'intersections',
|
||||
fields: [
|
||||
{name: 'a', type: 'double'},
|
||||
{name: 'c', type: 'boolean'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Z',
|
||||
namespace: 'intersections',
|
||||
fields: [
|
||||
{name: 'z', type: '_A_C'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "A",
|
||||
"namespace": "intersections",
|
||||
"fields": [{"name": "a", "type": "double"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "B",
|
||||
"namespace": "intersections",
|
||||
"fields": [{"name": "b", "type": "string"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "C",
|
||||
"namespace": "intersections",
|
||||
"fields": [{"name": "c", "type": "boolean"}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "X",
|
||||
"namespace": "intersections",
|
||||
"fields": [
|
||||
{"name": "a", "type": "double"},
|
||||
{"name": "b", "type": "string"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "_A_B_C",
|
||||
"namespace": "intersections",
|
||||
"fields": [
|
||||
{"name": "a", "type": "double"},
|
||||
{"name": "b", "type": "string"},
|
||||
{"name": "c", "type": "boolean"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "intersections",
|
||||
"fields": [
|
||||
{"name": "y", "type": "_A_B_C"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "_A_C",
|
||||
"namespace": "intersections",
|
||||
"fields": [
|
||||
{"name": "a", "type": "double"},
|
||||
{"name": "c", "type": "boolean"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Z",
|
||||
"namespace": "intersections",
|
||||
"fields": [
|
||||
{"name": "z", "type": "_A_C"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -5,19 +5,3 @@ type Type = {
|
|||
interface Interface {
|
||||
[string]: number;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'map',
|
||||
name: 'Type',
|
||||
namespace: 'maps',
|
||||
values: 'double',
|
||||
},
|
||||
{
|
||||
type: 'map',
|
||||
name: 'Interface',
|
||||
namespace: 'maps',
|
||||
values: 'double',
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "map",
|
||||
"name": "Type",
|
||||
"namespace": "maps",
|
||||
"values": "double"
|
||||
},
|
||||
{
|
||||
"type": "map",
|
||||
"name": "Interface",
|
||||
"namespace": "maps",
|
||||
"values": "double"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -36,43 +36,3 @@ class Class {
|
|||
/* $avro fixed 10 */
|
||||
e: Buffer;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'pragmas',
|
||||
fields: [
|
||||
{name: 'a', type: 'int'},
|
||||
{name: 'b', type: 'long'},
|
||||
{name: 'c', type: 'float'},
|
||||
{name: 'd', type: 'double'},
|
||||
{name: 'e', type: {type: 'fixed', size: 10}},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'pragmas',
|
||||
fields: [
|
||||
{name: 'a', type: 'int'},
|
||||
{name: 'b', type: 'long'},
|
||||
{name: 'c', type: 'float'},
|
||||
{name: 'd', type: 'double'},
|
||||
{name: 'e', type: {type: 'fixed', size: 10}},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'pragmas',
|
||||
fields: [
|
||||
{name: 'a', type: 'int'},
|
||||
{name: 'b', type: 'long'},
|
||||
{name: 'c', type: 'float'},
|
||||
{name: 'd', type: 'double'},
|
||||
{name: 'e', type: {type: 'fixed', size: 10}},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "pragmas",
|
||||
"fields": [
|
||||
{"name": "a", "type": "int"},
|
||||
{"name": "b", "type": "long"},
|
||||
{"name": "c", "type": "float"},
|
||||
{"name": "d", "type": "double"},
|
||||
{"name": "e", "type": {"type": "fixed", "size": 10}}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "pragmas",
|
||||
"fields": [
|
||||
{"name": "a", "type": "int"},
|
||||
{"name": "b", "type": "long"},
|
||||
{"name": "c", "type": "float"},
|
||||
{"name": "d", "type": "double"},
|
||||
{"name": "e", "type": {"type": "fixed", "size": 10}}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "pragmas",
|
||||
"fields": [
|
||||
{"name": "a", "type": "int"},
|
||||
{"name": "b", "type": "long"},
|
||||
{"name": "c", "type": "float"},
|
||||
{"name": "d", "type": "double"},
|
||||
{"name": "e", "type": {"type": "fixed", "size": 10}}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -21,43 +21,3 @@ class Class {
|
|||
d: null;
|
||||
e: Buffer;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'primitives',
|
||||
fields: [
|
||||
{name: 'a', type: 'string'},
|
||||
{name: 'b', type: 'double'},
|
||||
{name: 'c', type: 'boolean'},
|
||||
{name: 'd', type: 'null'},
|
||||
{name: 'e', type: 'bytes'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'primitives',
|
||||
fields: [
|
||||
{name: 'a', type: 'string'},
|
||||
{name: 'b', type: 'double'},
|
||||
{name: 'c', type: 'boolean'},
|
||||
{name: 'd', type: 'null'},
|
||||
{name: 'e', type: 'bytes'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'primitives',
|
||||
fields: [
|
||||
{name: 'a', type: 'string'},
|
||||
{name: 'b', type: 'double'},
|
||||
{name: 'c', type: 'boolean'},
|
||||
{name: 'd', type: 'null'},
|
||||
{name: 'e', type: 'bytes'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "primitives",
|
||||
"fields": [
|
||||
{"name": "a", "type": "string"},
|
||||
{"name": "b", "type": "double"},
|
||||
{"name": "c", "type": "boolean"},
|
||||
{"name": "d", "type": "null"},
|
||||
{"name": "e", "type": "bytes"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "primitives",
|
||||
"fields": [
|
||||
{"name": "a", "type": "string"},
|
||||
{"name": "b", "type": "double"},
|
||||
{"name": "c", "type": "boolean"},
|
||||
{"name": "d", "type": "null"},
|
||||
{"name": "e", "type": "bytes"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "primitives",
|
||||
"fields": [
|
||||
{"name": "a", "type": "string"},
|
||||
{"name": "b", "type": "double"},
|
||||
{"name": "c", "type": "boolean"},
|
||||
{"name": "d", "type": "null"},
|
||||
{"name": "e", "type": "bytes"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -17,42 +17,3 @@ class Class {
|
|||
b: A[];
|
||||
c: A<number>;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'string',
|
||||
name: 'A',
|
||||
namespace: 'references',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'references',
|
||||
fields: [
|
||||
{name: 'a', type: 'A'},
|
||||
{name: 'b', type: {type: 'array', items: 'A'}},
|
||||
{name: 'c', type: 'A'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'references',
|
||||
fields: [
|
||||
{name: 'a', type: 'A'},
|
||||
{name: 'b', type: {type: 'array', items: 'A'}},
|
||||
{name: 'c', type: 'A'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'references',
|
||||
fields: [
|
||||
{name: 'a', type: 'A'},
|
||||
{name: 'b', type: {type: 'array', items: 'A'}},
|
||||
{name: 'c', type: 'A'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "string",
|
||||
"name": "A",
|
||||
"namespace": "references"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "references",
|
||||
"fields": [
|
||||
{"name": "a", "type": "A"},
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}},
|
||||
{"name": "c", "type": "A"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "references",
|
||||
"fields": [
|
||||
{"name": "a", "type": "A"},
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}},
|
||||
{"name": "c", "type": "A"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "references",
|
||||
"fields": [
|
||||
{"name": "a", "type": "A"},
|
||||
{"name": "b", "type": {"type": "array", "items": "A"}},
|
||||
{"name": "c", "type": "A"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -42,82 +42,3 @@ type Y = {
|
|||
}
|
||||
}
|
||||
})();
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'string',
|
||||
name: 'X',
|
||||
namespace: 'scopes',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'scopes',
|
||||
fields: [{name: 'x', type: 'X'}],
|
||||
},
|
||||
{
|
||||
type: 'double',
|
||||
name: 'X',
|
||||
namespace: 'scopes._1',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'scopes._1',
|
||||
fields: [{name: 'x', type: 'X'}],
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
name: 'Z',
|
||||
namespace: 'scopes._1',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Test',
|
||||
namespace: 'scopes._1',
|
||||
fields: [],
|
||||
},
|
||||
{
|
||||
type: 'boolean',
|
||||
name: 'X',
|
||||
namespace: 'scopes._2',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'scopes._2',
|
||||
fields: [
|
||||
{name: 'x', type: 'X'},
|
||||
{name: 'z', type: 'scopes._1.Z'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'double',
|
||||
name: 'X',
|
||||
namespace: 'scopes._3',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'scopes._3',
|
||||
fields: [
|
||||
{name: 'x', type: 'X'},
|
||||
{name: 'z', type: 'scopes._1.Z'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
name: 'X',
|
||||
namespace: 'scopes._4',
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Y',
|
||||
namespace: 'scopes._4',
|
||||
fields: [
|
||||
{name: 'x', type: 'X'},
|
||||
{name: 'z', type: 'scopes._1.Z'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "string",
|
||||
"name": "X",
|
||||
"namespace": "scopes"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "scopes",
|
||||
"fields": [{"name": "x", "type": "X"}]
|
||||
},
|
||||
{
|
||||
"type": "double",
|
||||
"name": "X",
|
||||
"namespace": "scopes._1"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "scopes._1",
|
||||
"fields": [{"name": "x", "type": "X"}]
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "Z",
|
||||
"namespace": "scopes._1"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Test",
|
||||
"namespace": "scopes._1",
|
||||
"fields": []
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "X",
|
||||
"namespace": "scopes._2"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "scopes._2",
|
||||
"fields": [
|
||||
{"name": "x", "type": "X"},
|
||||
{"name": "z", "type": "scopes._1.Z"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "double",
|
||||
"name": "X",
|
||||
"namespace": "scopes._3"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "scopes._3",
|
||||
"fields": [
|
||||
{"name": "x", "type": "X"},
|
||||
{"name": "z", "type": "scopes._1.Z"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "X",
|
||||
"namespace": "scopes._4"
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Y",
|
||||
"namespace": "scopes._4",
|
||||
"fields": [
|
||||
{"name": "x", "type": "X"},
|
||||
{"name": "z", "type": "scopes._1.Z"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -29,34 +29,3 @@ class Class {
|
|||
|
||||
baz: () => void;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'skipFunctions',
|
||||
fields: [
|
||||
{name: 'a', type: 'string'},
|
||||
{name: 'b', type: 'double'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'skipFunctions',
|
||||
fields: [
|
||||
{name: 'a', type: 'string'},
|
||||
{name: 'b', type: 'double'},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'skipFunctions',
|
||||
fields: [
|
||||
{name: 'a', type: 'string'},
|
||||
{name: 'b', type: 'double'},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "skipFunctions",
|
||||
"fields": [
|
||||
{"name": "a", "type": "string"},
|
||||
{"name": "b", "type": "double"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "skipFunctions",
|
||||
"fields": [
|
||||
{"name": "a", "type": "string"},
|
||||
{"name": "b", "type": "double"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "skipFunctions",
|
||||
"fields": [
|
||||
{"name": "a", "type": "string"},
|
||||
{"name": "b", "type": "double"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -5,19 +5,3 @@ class Test {
|
|||
};
|
||||
}
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Test',
|
||||
namespace: 'typeInMethod',
|
||||
fields: [],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'X',
|
||||
namespace: 'typeInMethod._1',
|
||||
fields: [{name: 't', type: 'typeInMethod.Test'}],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Test",
|
||||
"namespace": "typeInMethod",
|
||||
"fields": []
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "X",
|
||||
"namespace": "typeInMethod._1",
|
||||
"fields": [{"name": "t", "type": "typeInMethod.Test"}]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -12,43 +12,3 @@ class Class {
|
|||
a: string | number;
|
||||
b: ?string;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'unions',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: ['string', 'double'],
|
||||
}, {
|
||||
name: 'b',
|
||||
type: ['null', 'string'],
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'unions',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: ['string', 'double'],
|
||||
}, {
|
||||
name: 'b',
|
||||
type: ['null', 'string'],
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'unions',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: ['string', 'double'],
|
||||
}, {
|
||||
name: 'b',
|
||||
type: ['null', 'string'],
|
||||
}],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "unions",
|
||||
"fields": [
|
||||
{
|
||||
"name": "a",
|
||||
"type": ["string", "double"]
|
||||
},
|
||||
{
|
||||
"name": "b",
|
||||
"type": ["null", "string"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "unions",
|
||||
"fields": [
|
||||
{
|
||||
"name": "a",
|
||||
"type": ["string", "double"]
|
||||
},
|
||||
{
|
||||
"name": "b",
|
||||
"type": ["null", "string"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "unions",
|
||||
"fields": [
|
||||
{
|
||||
"name": "a",
|
||||
"type": ["string", "double"]
|
||||
},
|
||||
{
|
||||
"name": "b",
|
||||
"type": ["null", "string"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -9,43 +9,3 @@ interface Interface {
|
|||
class Class {
|
||||
a: 'one' | 'two' | number;
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'unionsAndEnums',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: [
|
||||
'double',
|
||||
{type: 'enum', symbols: ['one', 'two']},
|
||||
],
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'unionsAndEnums',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: [
|
||||
'double',
|
||||
{type: 'enum', symbols: ['one', 'two']},
|
||||
],
|
||||
}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'unionsAndEnums',
|
||||
fields: [{
|
||||
name: 'a',
|
||||
type: [
|
||||
'double',
|
||||
{type: 'enum', symbols: ['one', 'two']},
|
||||
],
|
||||
}],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "unionsAndEnums",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": [
|
||||
"double",
|
||||
{"type": "enum", "symbols": ["one", "two"]}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "unionsAndEnums",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": [
|
||||
"double",
|
||||
{"type": "enum", "symbols": ["one", "two"]}
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "unionsAndEnums",
|
||||
"fields": [{
|
||||
"name": "a",
|
||||
"type": [
|
||||
"double",
|
||||
{"type": "enum", "symbols": ["one", "two"]}
|
||||
]
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -9,25 +9,3 @@ interface Interface {
|
|||
class Class {
|
||||
a: 'one';
|
||||
}
|
||||
|
||||
// ###
|
||||
[
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Type',
|
||||
namespace: 'valueAsType',
|
||||
fields: [{name: 'a', type: {type: 'enum', symbols: ['one']}}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Interface',
|
||||
namespace: 'valueAsType',
|
||||
fields: [{name: 'a', type: {type: 'enum', symbols: ['one']}}],
|
||||
},
|
||||
{
|
||||
type: 'record',
|
||||
name: 'Class',
|
||||
namespace: 'valueAsType',
|
||||
fields: [{name: 'a', type: {type: 'enum', symbols: ['one']}}],
|
||||
},
|
||||
]
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"schemas": [
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Type",
|
||||
"namespace": "valueAsType",
|
||||
"fields": [
|
||||
{"name": "a", "type": {"type": "enum", "symbols": ["one"]}}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Interface",
|
||||
"namespace": "valueAsType",
|
||||
"fields": [
|
||||
{"name": "a", "type": {"type": "enum", "symbols": ["one"]}}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "record",
|
||||
"name": "Class",
|
||||
"namespace": "valueAsType",
|
||||
"fields": [
|
||||
{"name": "a", "type": {"type": "enum", "symbols": ["one"]}}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue