在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):creditkarma/graphql-loader开源软件地址(OpenSource Url):https://github.com/creditkarma/graphql-loader开源编程语言(OpenSource Language):TypeScript 100.0%开源软件介绍(OpenSource Introduction):graphql-loaderInstantiate a GraphQL Schema by loading GraphQL Schema Language files based on a glob pattern
Installationnpm install --save graphql @creditkarma/graphql-loader UsageGiven the following files schema/schema.graphql
schema/rootQuery.graphql
loadSchemaGiven a GLOB pattern, it will load all the content of the files matching the GLOB, combine them together and return a GraphQL Schema Create a schema using promises: const loader = require('@creditkarma/graphql-loader')
loader.loadSchema('./schema/*.graphql').then((schema) => {
console.log(schema.getQueryType().toString())
}) Create a schema with a callback: const loader = require('@creditkarma/graphql-loader')
loader.loadSchema('./schema/*.graphql', (err, schema) => {
console.log(schema.getQueryType().toString())
}) Create a schema using sync: const loader = require('@creditkarma/graphql-loader')
const schema = loader.loadSchema.sync('./schema/*.graphql')
console.log(schema.getQueryType().toString()) executableSchemaFromModulesGiven an array of GraphQL Modules or functions that returns a GraphQL Module or Promise, merge the documents and resolvers together and return an executable GraphQL Schema GraphQL modules are comprised of a document node and resolvers to provide away to decompose a GraphQL server into stand alone Node.js modules. These modules expose a DocumentNode because document nodes are valid GraphQL segments that are not required to be a complete valid schema. It is required that the combination of GraphQLModules results in a completely valid GraphQLSchema. const modules = [
() => loadDocument('./fixtures/user/**/*.graphql').then((document) => ({ document, resolvers: {}})),
() => loadDocument('./fixtures/swapi/**/*.graphql').then((document) => ({ document, resolvers: {}})),
]
executableSchemaFromModules(modules).then((schema) => {
console.log(schema.getQueryType().toString())
}) loadDocumentGiven a GLOB pattern, load the matching files, combine them together and return a GraphQL AST in the form of a DocumentNode. The document node will be parsed and validate but doesn't have to meet all the requirements of a full schema definition. For example, it is possible to just load several files with only types defined. NOTE: You must use a DocumentNode with the combineDocuments function Load several GraphQL files into a single DocumentNode const loader = require('@creditkarma/graphql-loader')
loader.loadDocument('./schema/*.graphql').then((doc) => {
console.log(doc)
}) combineDocumentsGiven an array of DocumentNodes, merge them together and return a GraphQLSchema
Combine several documents into a GraphqlSchema const loader = require('@creditkarma/graphql-loader')
Promise.all(
loader.loadDocument('./ships/graphql/**/*.graphql'),
loader.loadDocument('./planets/graphql/**/*.graphql')
).then((docs) => {
const schema = combineDocuments(docs)
console.log(schema.getQueryType().toString())
}) DevelopmentInstall dependencies with npm install Buildnpm run build Run test in watch modenpm run test:watch ContributingFor more information about contributing new features and bug fixes, see our Contribution Guidelines. External contributors must sign Contributor License Agreement (CLA) LicenseThis project is licensed under Apache License Version 2.0 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论