added field countries for continents

This commit is contained in:
unknown
2019-01-09 14:41:26 +09:00
parent d66640ff01
commit dc32ba9d34
4 changed files with 31 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
import resolvers from './resolvers'; import resolvers from './resolvers.js';
import typeDefs from './schema'; import typeDefs from './schema.js';
import {ApolloServer} from 'apollo-server'; import {ApolloServer} from 'apollo-server';
import {continents, countries, languages} from 'countries-list'; import {continents, countries, languages} from 'countries-list';
@@ -15,14 +15,14 @@ const server = new ApolloServer({
resolvers, resolvers,
introspection: true, introspection: true,
playground: true, playground: true,
engine: {
apiKey: process.env.ENGINE_API_KEY
},
context: { context: {
continents: Object.entries(continents).map(([code, name]) => ({ continents: Object.entries(continents).map(([code, name]) => ({
code, code,
name name
})), })),
engine: {
apiKey: process.env.ENGINE_API_KEY
},
countries: toArray(countries), countries: toArray(countries),
languages: toArray(languages) languages: toArray(languages)
} }

28
package-lock.json generated
View File

@@ -3227,12 +3227,14 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
@@ -3247,17 +3249,20 @@
"code-point-at": { "code-point-at": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
@@ -3374,7 +3379,8 @@
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
@@ -3386,6 +3392,7 @@
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"number-is-nan": "^1.0.0" "number-is-nan": "^1.0.0"
} }
@@ -3400,6 +3407,7 @@
"version": "3.0.4", "version": "3.0.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
@@ -3407,12 +3415,14 @@
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"minipass": { "minipass": {
"version": "2.2.4", "version": "2.2.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"safe-buffer": "^5.1.1", "safe-buffer": "^5.1.1",
"yallist": "^3.0.0" "yallist": "^3.0.0"
@@ -3431,6 +3441,7 @@
"version": "0.5.1", "version": "0.5.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"minimist": "0.0.8" "minimist": "0.0.8"
} }
@@ -3511,7 +3522,8 @@
"number-is-nan": { "number-is-nan": {
"version": "1.0.1", "version": "1.0.1",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
@@ -3523,6 +3535,7 @@
"version": "1.4.0", "version": "1.4.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
@@ -3644,6 +3657,7 @@
"version": "1.0.2", "version": "1.0.2",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"code-point-at": "^1.0.0", "code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0", "is-fullwidth-code-point": "^1.0.0",

View File

@@ -9,6 +9,10 @@ export default {
languages: (country, args, {languages}) => languages: (country, args, {languages}) =>
languages.filter(language => country.languages.includes(language.code)) languages.filter(language => country.languages.includes(language.code))
}, },
Continent: {
countries: (continent, args, {countries}) =>
countries.filter(country => country.continent === continent.code)
},
Query: { Query: {
continent: (parent, args, {continents}) => continent: (parent, args, {continents}) =>
continents.find(byCode(args.code)), continents.find(byCode(args.code)),

View File

@@ -4,6 +4,7 @@ export default gql`
type Continent { type Continent {
code: String code: String
name: String name: String
countries: [Country]
} }
type Country { type Country {