Skip to content

Commit

Permalink
added nested types
Browse files Browse the repository at this point in the history
  • Loading branch information
kanekotic committed Nov 22, 2018
1 parent 665b972 commit 3860fde
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 11 deletions.
3 changes: 2 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ const mapper = {
"NumericLiteralType": content => content.value,
"UnionType": content => content.types.map(typeMapper)[Math.floor(Math.random()*content.types.length)],
"NullableType": content => [mapper[content.type.typeName](), null, undefined][Math.floor(Math.random()*3)],
"ArrayType": content => Array(faker.random.number(1000)).fill(0).map(_ => mapper[content.elementType.typeName]())
"ArrayType": content => Array(faker.random.number(1000)).fill(0).map(_ => mapper[content.elementType.typeName]()),
"TypeAlias": content => fake(content)
}

const valueGenerator = ({optional, content}) => optional
Expand Down
22 changes: 12 additions & 10 deletions test/unit/index-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,14 +113,16 @@ describe('flow generator', () => {
expect(Array.isArray(result.foo)).toBeTruthy()
});

});

// let unfold = (type) => type.properties.map(property => {
// if(property.value.typeName ==="TypeAlias")
// return {key: property.key, type: property.value.typeName, metadata : { content: unfold(property.value) }}
// else if(property.value.typeName ==="ArrayType")
// return {key: property.key, type: property.value.typeName, metadata : {type: property.value.elementType.typeName}}
// else
// return {key: property.key, type: property.value.typeName}
test('should work for type alias properties', () => {
type otherType = {
bar: number
}
type test = {
foo: otherType,
}
let result = fake(test)
expect(typeof result.foo).toBe('object')
expect(typeof result.foo.bar).toBe('number')
});

// })
});

0 comments on commit 3860fde

Please sign in to comment.