Skip to content

Commit

Permalink
Merge pull request #39 from apollostack/remove-casual
Browse files Browse the repository at this point in the history
remove casual dependency
  • Loading branch information
helfer committed Apr 21, 2016
2 parents 1e03242 + c54ff7b commit f11df8b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
1 change: 0 additions & 1 deletion package.json
Expand Up @@ -32,7 +32,6 @@
"homepage": "https://github.com/apollostack/apollo-proxy#readme",
"dependencies": {
"babel-polyfill": "^6.5.0",
"casual-browserify": "^1.5.2",
"express-graphql": "^0.5.1",
"fs": "0.0.2",
"graphql": "^0.5.0",
Expand Down
19 changes: 12 additions & 7 deletions src/mock.js
Expand Up @@ -7,7 +7,6 @@ import {
getNullableType,
getNamedType,
} from 'graphql/type';
import casual from 'casual-browserify';
import { graphql } from 'graphql';
import uuid from 'node-uuid';
import { forEachField, buildSchemaFromTypeDefinitions } from './schemaGenerator';
Expand Down Expand Up @@ -52,16 +51,22 @@ function addMockFunctionsToSchema({ schema, mocks = {}, preserveResolvers = fals
});

const defaultMockMap = new Map();
defaultMockMap.set('Int', () => casual.integer());
defaultMockMap.set('Float', () => casual.double());
defaultMockMap.set('String', () => casual.words(2));
defaultMockMap.set('Boolean', () => casual.coin_flip);
defaultMockMap.set('Int', () => Math.round(Math.random * 200) - 100);
defaultMockMap.set('Float', () => Math.random * 200 - 100);
defaultMockMap.set('String', () => 'Hello World');
defaultMockMap.set('Boolean', () => Math.random > 0.5);
defaultMockMap.set('ID', () => uuid.v4());

function mergeObjects(a, b) {
return Object.assign(a, b);
}

// returns a random element from that ary
function getRandomElement(ary) {
const sample = Math.floor(Math.random() * ary.length);
return ary[sample];
}

// takes either an object or a (possibly nested) array
// and completes the customMock object with any fields
// defined on genericMock
Expand Down Expand Up @@ -129,10 +134,10 @@ function addMockFunctionsToSchema({ schema, mocks = {}, preserveResolvers = fals
if (fieldType instanceof GraphQLUnionType) {
// TODO: if a union type doesn't implement resolveType, we could overwrite
// it with a default that works with what's below.
return { typename: casual.random_element(fieldType.getTypes()) };
return { typename: getRandomElement(fieldType.getTypes()) };
}
if (fieldType instanceof GraphQLEnumType) {
return casual.random_element(fieldType.getValues()).value;
return getRandomElement(fieldType.getValues()).value;
}
if (defaultMockMap.has(fieldType.name)) {
return defaultMockMap.get(fieldType.name)(o, a, c, r);
Expand Down

0 comments on commit f11df8b

Please sign in to comment.