Skip to content

Commit

Permalink
less values on types
Browse files Browse the repository at this point in the history
  • Loading branch information
aexol committed Jan 11, 2024
1 parent 2126c12 commit 5f5a964
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 18 deletions.
3 changes: 0 additions & 3 deletions examples/olympus/.graphql.demeter.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,12 @@ const config = {
objects: {
Card:{
description:{
type:"values",
values:["Very powerful card", "Most fire resistant character", "Good melee fighter"]
},
name:{
type:"values",
values:["Zeus", "Athena", "Hera", "Ares", "Kronos"]
},
image:{
type:"faker",
key: "image.people"
}
}
Expand Down
4 changes: 2 additions & 2 deletions examples/olympus/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "olympus",
"version": "1.1.3",
"version": "1.1.4",
"description": "Example of using GraphQL Demeter",
"private": true,
"main": "index.js",
Expand All @@ -10,6 +10,6 @@
"author": "Aexol <[email protected]> (http://aexol.com)",
"license": "ISC",
"dependencies": {
"graphql-demeter": "^1.0.0"
"graphql-demeter": "^1.0.1"
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"url": "https://github.com/graphql-editor/graphql-demeter.git"
},
"scripts": {
"clean-packages":"rimraf packages/**/lib && rimraf packages/**/tsconfig.tsbuildinfo",
"clean-packages": "rimraf packages/**/lib && rimraf packages/**/tsconfig.tsbuildinfo",
"build": "npm run clean-packages && npm run build --ws --if-present",
"lint": "tspc && eslint \"./packages/**/src/**/*.{ts,js}\" --quiet --fix",
"cli": "node ./packages/graphql-demeter/lib/index.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql-demeter-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "graphql-demeter-core",
"version": "1.0.0",
"version": "1.0.1",
"private": false,
"main": "./lib/index.js",
"types": "./lib/index.d.ts",
Expand Down
2 changes: 0 additions & 2 deletions packages/graphql-demeter-core/src/MockServer/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,9 @@ export type AllowedFakerStrings = Exclude<Paths<Pick<FakerType, FakerFunctionKey

export type FakerConfiguratedField =
| {
type: 'values';
values: Array<string | number>;
}
| {
type: 'faker';
key: AllowedFakerStrings;
};

Expand Down
11 changes: 6 additions & 5 deletions packages/graphql-demeter-core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,12 @@ export const createFakeResolvers = (schemaString: string, fakerConfig?: FakerCon
a.name,
() => {
const resolverValues = fakerConfig?.objects?.[n.name]?.[a.name];
if (resolverValues?.type === 'values' && resolverValues.values && resolverValues.values.length) {
const valueField = resolverValues && 'values' in resolverValues ? resolverValues : undefined;
if (valueField?.values.length) {
return mockValue(a.type.fieldType, () => {
if (!resolverValues.values?.length) throw new Error('Invalid values length 0');
const chosenValue = Math.floor(Math.random() * resolverValues.values.length);
return resolverValues.values[chosenValue];
if (!valueField.values.length) throw new Error('Invalid values length 0');
const chosenValue = Math.floor(Math.random() * valueField.values.length);
return valueField.values[chosenValue];
});
}
if ([ScalarTypes.Boolean, ScalarTypes.Float, ScalarTypes.Int].includes(tName as ScalarTypes)) {
Expand All @@ -60,7 +61,7 @@ export const createFakeResolvers = (schemaString: string, fakerConfig?: FakerCon
if ([ScalarTypes.ID, ScalarTypes.String].includes(tName as ScalarTypes)) {
return mockValue(a.type.fieldType, () => {
const valueFromFaker =
resolverValues?.type === 'faker' ? fakeValue(resolverValues.key) : fakeValue(a.name);
resolverValues && 'key' in resolverValues ? fakeValue(resolverValues.key) : fakeValue(a.name);
if (typeof valueFromFaker !== 'string') {
return fakeScalar(tName)();
}
Expand Down
8 changes: 4 additions & 4 deletions packages/graphql-demeter/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "graphql-demeter",
"version": "1.0.0",
"version": "1.0.1",
"private": false,
"scripts": {
"start": "tspc --watch",
Expand All @@ -25,10 +25,10 @@
},
"dependencies": {
"cross-fetch": "^3.0.4",
"graphql-demeter-core": "^1.0.0",
"graphql": "15.4.0",
"graphql-demeter-core": "^1.0.1",
"graphql-yoga": "^5.1.1",
"yargs": "^16.1.1",
"graphql": "15.4.0"
"yargs": "^16.1.1"
},
"devDependencies": {
"@types/yargs": "^17.0.32"
Expand Down

0 comments on commit 5f5a964

Please sign in to comment.