From 5f5a9648c7853639e0ad6f6bd9eafbb620d6e89a Mon Sep 17 00:00:00 2001 From: aexol Date: Fri, 12 Jan 2024 00:00:25 +0100 Subject: [PATCH] less values on types --- examples/olympus/.graphql.demeter.js | 3 --- examples/olympus/package.json | 4 ++-- package.json | 2 +- packages/graphql-demeter-core/package.json | 2 +- .../graphql-demeter-core/src/MockServer/models.ts | 2 -- packages/graphql-demeter-core/src/index.ts | 11 ++++++----- packages/graphql-demeter/package.json | 8 ++++---- 7 files changed, 14 insertions(+), 18 deletions(-) diff --git a/examples/olympus/.graphql.demeter.js b/examples/olympus/.graphql.demeter.js index 4f86790..dc2af6b 100644 --- a/examples/olympus/.graphql.demeter.js +++ b/examples/olympus/.graphql.demeter.js @@ -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" } } diff --git a/examples/olympus/package.json b/examples/olympus/package.json index 28ffc9f..4c75b7a 100644 --- a/examples/olympus/package.json +++ b/examples/olympus/package.json @@ -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", @@ -10,6 +10,6 @@ "author": "Aexol (http://aexol.com)", "license": "ISC", "dependencies": { - "graphql-demeter": "^1.0.0" + "graphql-demeter": "^1.0.1" } } diff --git a/package.json b/package.json index d0f74a8..f8fb920 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/packages/graphql-demeter-core/package.json b/packages/graphql-demeter-core/package.json index 8b9726d..b99fec0 100644 --- a/packages/graphql-demeter-core/package.json +++ b/packages/graphql-demeter-core/package.json @@ -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", diff --git a/packages/graphql-demeter-core/src/MockServer/models.ts b/packages/graphql-demeter-core/src/MockServer/models.ts index 242def8..4a3c131 100644 --- a/packages/graphql-demeter-core/src/MockServer/models.ts +++ b/packages/graphql-demeter-core/src/MockServer/models.ts @@ -40,11 +40,9 @@ export type AllowedFakerStrings = Exclude; } | { - type: 'faker'; key: AllowedFakerStrings; }; diff --git a/packages/graphql-demeter-core/src/index.ts b/packages/graphql-demeter-core/src/index.ts index 0ec4631..8cf174c 100644 --- a/packages/graphql-demeter-core/src/index.ts +++ b/packages/graphql-demeter-core/src/index.ts @@ -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)) { @@ -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)(); } diff --git a/packages/graphql-demeter/package.json b/packages/graphql-demeter/package.json index f80f3f8..59943b1 100644 --- a/packages/graphql-demeter/package.json +++ b/packages/graphql-demeter/package.json @@ -1,6 +1,6 @@ { "name": "graphql-demeter", - "version": "1.0.0", + "version": "1.0.1", "private": false, "scripts": { "start": "tspc --watch", @@ -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"