diff --git a/src/definitions/queryField.ts b/src/definitions/queryField.ts index a5c642fe..5784347f 100644 --- a/src/definitions/queryField.ts +++ b/src/definitions/queryField.ts @@ -19,6 +19,7 @@ export function queryField(...args: any[]) { if (typeof args[0] === 'function') { return args[0](t) } + const [fieldName, config] = args as [string, QueryFieldConfig] const finalConfig = typeof config === 'function' ? config() : config t.field(fieldName, finalConfig) diff --git a/src/definitions/subscriptionField.ts b/src/definitions/subscriptionField.ts index 0add1d0d..0d30bc72 100644 --- a/src/definitions/subscriptionField.ts +++ b/src/definitions/subscriptionField.ts @@ -1,16 +1,31 @@ -import { extendType } from './extendType' -import { SubscriptionTypeConfig } from './subscriptionType' +import { extendType, NexusExtendTypeDef } from './extendType' +import { SubscriptionBuilder, SubscriptionTypeConfig } from './subscriptionType' + +export type SubscriptionFieldConfig = + | SubscriptionTypeConfig + | (() => SubscriptionTypeConfig) + +export function subscriptionField( + fieldFn: (t: SubscriptionBuilder) => void +): NexusExtendTypeDef<'Subscription'> + +export function subscriptionField( + fieldName: FieldName, + config: SubscriptionFieldConfig +): NexusExtendTypeDef<'Subscription'> /** * Add one field to the Subscription type */ -export function subscriptionField( - fieldName: FieldName, - config: SubscriptionTypeConfig | (() => SubscriptionTypeConfig) -) { +export function subscriptionField(...args: any[]) { return extendType({ type: 'Subscription', definition(t) { + if (typeof args[0] === 'function') { + return args[0](t) + } + + const [fieldName, config] = args as [string, SubscriptionFieldConfig] const finalConfig = typeof config === 'function' ? config() : config t.field(fieldName, finalConfig as any) }, diff --git a/tests/__helpers/testApp.ts b/tests/__helpers/testApp.ts index 8fee40c4..e52b723c 100644 --- a/tests/__helpers/testApp.ts +++ b/tests/__helpers/testApp.ts @@ -11,11 +11,12 @@ type HookSettings = { } export async function generateTypegen(settings: HookSettings) { - const rootDir = settings.rootDir + const projectDir = settings.rootDir - const typegenModulePath = join(rootDir, '__typegen.ts') - const entrypointModulePath = join(rootDir, '__app.ts') - const importPath = relative(rootDir, join(__dirname, '..', '..', 'src')).replace(/\\/g, '/') + const typegenModulePath = join(projectDir, '__typegen.ts') + const sdlFilePath = join(projectDir, '__schema.graphql') + const entrypointModulePath = join(projectDir, '__app.ts') + const importPath = relative(projectDir, join(__dirname, '..', '..', 'src')).replace(/\\/g, '/') const entrypoint = require(entrypointModulePath) const { plugins, ...types } = entrypoint @@ -24,7 +25,7 @@ export async function generateTypegen(settings: HookSettings) { types: types, outputs: { typegen: typegenModulePath, - schema: false, + schema: sdlFilePath, }, shouldGenerateArtifacts: true, plugins: plugins || [], diff --git a/tests/integrations/abstractTypes/allStrategiesOptionalWhenTypeNameEnabled/__schema.graphql b/tests/integrations/abstractTypes/allStrategiesOptionalWhenTypeNameEnabled/__schema.graphql new file mode 100644 index 00000000..b64fbbd3 --- /dev/null +++ b/tests/integrations/abstractTypes/allStrategiesOptionalWhenTypeNameEnabled/__schema.graphql @@ -0,0 +1,16 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type A { + name: String +} + +type B { + age: Int +} + +type Query { + union: Union +} + +union Union = A | B diff --git a/tests/integrations/abstractTypes/isTypeOfsImplemented/__schema.graphql b/tests/integrations/abstractTypes/isTypeOfsImplemented/__schema.graphql new file mode 100644 index 00000000..b64fbbd3 --- /dev/null +++ b/tests/integrations/abstractTypes/isTypeOfsImplemented/__schema.graphql @@ -0,0 +1,16 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type A { + name: String +} + +type B { + age: Int +} + +type Query { + union: Union +} + +union Union = A | B diff --git a/tests/integrations/abstractTypes/missingIsTypeOf/__schema.graphql b/tests/integrations/abstractTypes/missingIsTypeOf/__schema.graphql new file mode 100644 index 00000000..b64fbbd3 --- /dev/null +++ b/tests/integrations/abstractTypes/missingIsTypeOf/__schema.graphql @@ -0,0 +1,16 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type A { + name: String +} + +type B { + age: Int +} + +type Query { + union: Union +} + +union Union = A | B diff --git a/tests/integrations/abstractTypes/missingResolveType/__schema.graphql b/tests/integrations/abstractTypes/missingResolveType/__schema.graphql new file mode 100644 index 00000000..b64fbbd3 --- /dev/null +++ b/tests/integrations/abstractTypes/missingResolveType/__schema.graphql @@ -0,0 +1,16 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type A { + name: String +} + +type B { + age: Int +} + +type Query { + union: Union +} + +union Union = A | B diff --git a/tests/integrations/abstractTypes/missingResolveTypeOrIsTypeOf/__schema.graphql b/tests/integrations/abstractTypes/missingResolveTypeOrIsTypeOf/__schema.graphql new file mode 100644 index 00000000..f305fcc6 --- /dev/null +++ b/tests/integrations/abstractTypes/missingResolveTypeOrIsTypeOf/__schema.graphql @@ -0,0 +1,14 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type A { + name: String +} + +type Query { + ok: Boolean! +} + +union U1 = A + +union U2 = A diff --git a/tests/integrations/abstractTypes/missingTypenameDiscriminant/__schema.graphql b/tests/integrations/abstractTypes/missingTypenameDiscriminant/__schema.graphql new file mode 100644 index 00000000..b64fbbd3 --- /dev/null +++ b/tests/integrations/abstractTypes/missingTypenameDiscriminant/__schema.graphql @@ -0,0 +1,16 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type A { + name: String +} + +type B { + age: Int +} + +type Query { + union: Union +} + +union Union = A | B diff --git a/tests/integrations/abstractTypes/resolveTypeImplemented/__schema.graphql b/tests/integrations/abstractTypes/resolveTypeImplemented/__schema.graphql new file mode 100644 index 00000000..b64fbbd3 --- /dev/null +++ b/tests/integrations/abstractTypes/resolveTypeImplemented/__schema.graphql @@ -0,0 +1,16 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type A { + name: String +} + +type B { + age: Int +} + +type Query { + union: Union +} + +union Union = A | B diff --git a/tests/integrations/declarativeWrappingPlugin/__schema.graphql b/tests/integrations/declarativeWrappingPlugin/__schema.graphql new file mode 100644 index 00000000..b09af86b --- /dev/null +++ b/tests/integrations/declarativeWrappingPlugin/__schema.graphql @@ -0,0 +1,17 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type DeclarativeWrappingOutput { + someList: [String] + someListOfLists(int: Int!): [[String!]!] + someNullField(input: InlineInputType): String + someRequiredField: String! +} + +input InlineInputType { + abc: Int! +} + +type Query { + someField: DeclarativeWrappingOutput! +} diff --git a/tests/integrations/kitchenSink/__app.ts b/tests/integrations/kitchenSink/__app.ts index f6524ea7..4a59260e 100644 --- a/tests/integrations/kitchenSink/__app.ts +++ b/tests/integrations/kitchenSink/__app.ts @@ -13,6 +13,7 @@ import { queryType, scalarType, stringArg, + subscriptionField, subscriptionType, } from '../../../src' import { mockStream } from '../../__helpers' @@ -154,7 +155,7 @@ export const Mutation = mutationType({ export const Subscription2 = extendType({ type: 'Subscription', definition(t) { - t.boolean('someBooleanFromExtend', { + t.boolean('someBooleanFromExtendType', { subscribe() { return mockStream(10, true, (b) => b) }, @@ -165,6 +166,17 @@ export const Subscription2 = extendType({ }, }) +export const Subscription3 = subscriptionField((t) => { + t.boolean('someBooleanFromSubscriptionField', { + subscribe() { + return mockStream(10, true, (b) => b) + }, + resolve: (event: boolean) => { + return event + }, + }) +}) + export const Subscription = subscriptionType({ definition(t) { // lists diff --git a/tests/integrations/kitchenSink/__schema.graphql b/tests/integrations/kitchenSink/__schema.graphql new file mode 100644 index 00000000..85340c82 --- /dev/null +++ b/tests/integrations/kitchenSink/__schema.graphql @@ -0,0 +1,129 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +interface I { + hello: String +} + +type Mutation { + createUser(firstName: String, lastName: String): User +} + +""" +No-Op scalar for testing purposes only +""" +scalar MyCustomScalar + +type OfI implements I { + hello: String +} + +type OfI2 implements I { + hello: String +} + +""" +PageInfo cursor, as defined in https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo +""" +type PageInfo { + """ + The cursor corresponding to the last nodes in edges. Null if the connection is empty. + """ + endCursor: String + + """ + Used to indicate whether more edges exist following the set defined by the clients arguments. + """ + hasNextPage: Boolean! + + """ + Used to indicate whether more edges exist prior to the set defined by the clients arguments. + """ + hasPreviousPage: Boolean! + + """ + The cursor corresponding to the first nodes in edges. Null if the connection is empty. + """ + startCursor: String +} + +type Post { + body: String + title: String +} + +type PostConnection { + """ + https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types + """ + edges: [PostEdge] + + """ + https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo + """ + pageInfo: PageInfo! +} + +type PostEdge { + """ + https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor + """ + cursor: String! + delta: Int + + """ + https://facebook.github.io/relay/graphql/connections.htm#sec-Node + """ + node: Post +} + +input PostSearchInput { + body: String + title: String +} + +type Query { + customScalar: MyCustomScalar + foo: String + searchPosts(input: PostSearchInput): [Post] + user(id: ID): User +} + +type Subscription { + someBoolean: Boolean + someBooleanFromExtendType: Boolean + someBooleanFromSubscriptionField: Boolean + someField: Int + someFields: [Int] + someFloat: Float + someID: ID + someInt: Int + someInts: [Int] + someString: String +} + +type User { + firstName: String + lastName: String + posts( + """ + Returns the elements in the list that come after the specified cursor + """ + after: String + + """ + Returns the elements in the list that come before the specified cursor + """ + before: String + + """ + Returns the first n elements from the list. + """ + first: Int + + """ + Returns the last n elements from the list. + """ + last: Int + ): PostConnection +} diff --git a/tests/integrations/kitchenSink/__typegen.ts b/tests/integrations/kitchenSink/__typegen.ts index ebbf8ed3..018d5e65 100644 --- a/tests/integrations/kitchenSink/__typegen.ts +++ b/tests/integrations/kitchenSink/__typegen.ts @@ -167,7 +167,8 @@ export interface NexusGenFieldTypes { Subscription: { // field return type someBoolean: boolean | null // Boolean - someBooleanFromExtend: boolean | null // Boolean + someBooleanFromExtendType: boolean | null // Boolean + someBooleanFromSubscriptionField: boolean | null // Boolean someField: number | null // Int someFields: Array | null // [Int] someFloat: number | null // Float @@ -234,7 +235,8 @@ export interface NexusGenFieldTypeNames { Subscription: { // field return type name someBoolean: 'Boolean' - someBooleanFromExtend: 'Boolean' + someBooleanFromExtendType: 'Boolean' + someBooleanFromSubscriptionField: 'Boolean' someField: 'Int' someFields: 'Int' someFloat: 'Float' diff --git a/tests/integrations/unionTooComplexToRepresent/__schema.graphql b/tests/integrations/unionTooComplexToRepresent/__schema.graphql new file mode 100644 index 00000000..9abff816 --- /dev/null +++ b/tests/integrations/unionTooComplexToRepresent/__schema.graphql @@ -0,0 +1,1712 @@ +### This file was generated by Nexus Schema +### Do not make changes to this file directly + +type aEOOAAKG { + id166: ID +} + +type ahctkrlN { + id222: ID +} + +type aKYfIihK { + id212: ID +} + +type ALXAXBKq { + id41: ID +} + +type AOogKhAD { + id53: ID +} + +type ApAniugk { + id51: ID +} + +type AQDzZPsI { + id193: ID +} + +type arOfyZvi { + id194: ID +} + +type AuMxHAoX { + id146: ID +} + +type awDoUlrM { + id119: ID +} + +type BAzfAeMR { + id191: ID +} + +type bdmjhrZP { + id36: ID +} + +type BFohGIGQ { + id286: ID +} + +type bGRbQdGF { + id143: ID +} + +union BigUnion = + aEOOAAKG + | ahctkrlN + | aKYfIihK + | ALXAXBKq + | AOogKhAD + | ApAniugk + | AQDzZPsI + | arOfyZvi + | AuMxHAoX + | awDoUlrM + | BAzfAeMR + | bdmjhrZP + | BFohGIGQ + | bGRbQdGF + | BiZjyuaY + | Bjgguvhd + | bLcHZPpX + | bNaHPVhI + | bndWrLAg + | bpcReAKs + | bsuhpkhX + | BTIsXTrL + | BWwxnXpM + | BXowGvwZ + | BYPWzETJ + | CCXSFsMn + | cEORMlXC + | CgAQHanX + | cGxDWUGD + | cMxjKIfV + | ctfzshTJ + | cXAmxvqv + | CXumheDD + | dAmPEeQn + | dbFplbat + | DbgPTfDo + | DBZLsxpr + | deqJYjdv + | DGxuhtpo + | dHKrfYNo + | DKEJFUiy + | DkoAlvGn + | DMggicLd + | dnjGpfIS + | DNohRdIN + | dnutiEie + | dOWdqEud + | DpnWHIJW + | ECChhDfK + | eemljdwg + | eggnlUYr + | EhpNnQJw + | EjIQIfmv + | eJSSQaaC + | EqEZXLCy + | eROeesVg + | EtPHwkkm + | ETUiuOHD + | euCWAGET + | eWlLfMzi + | EzcWBhIv + | FaJAYKqm + | faKaQEBn + | FcFlCNAk + | fDAloqko + | FDouQoXO + | fFyvwcxZ + | FHLtgKoA + | fPXYtcbT + | FvftqquW + | fvXQFkRb + | fXnweaVk + | GcpbGXTn + | GDATeumz + | GdxXCAak + | gfyuMPLk + | GhHKLcZe + | gQDQWruj + | gqhvwsiF + | GsbHZkLK + | gvxFkejN + | GwkBnXKj + | GYbaqoRT + | GzglazdH + | hAfKmdaD + | hBCadJbD + | HdiyXGxs + | hDsbddpo + | HENcJewx + | hEyyqHvv + | hgsVEiUk + | HgYVPDgm + | hIjYlIps + | HIPZQFdS + | HJmsvtgX + | HjRDJhnX + | hLptFSis + | HLRWzsTU + | HNLQTErw + | hOqSbuBE + | hQiYNmDV + | hqweSGgf + | hTNuohNQ + | HwkXtjRP + | HWMyawvm + | HxCkBUxv + | HXZUTyvG + | HZbsVdoX + | IAOEaBfb + | IBZxPcZb + | ICrkovFe + | IGibGxHO + | IhSGxaNc + | IhtaZNUi + | iqXgPwiC + | IqZAiUKE + | ISayJMYD + | IuVQPFJN + | iVjcPoMw + | IWhegzTM + | iWpPsvNV + | ixwjWVvf + | Iypygftg + | IZERvBgk + | iZJAoMWm + | jAUaKDuu + | JbsCxxcE + | jciWswYD + | jCnSiJOq + | JjkgZKrV + | jkcwiNhe + | jmnxoYAy + | jnFMLyxL + | jrmLpsfT + | JsAPYbRs + | JuaucwDY + | JXAbemqC + | JZMQpjQv + | kAFbqgpE + | kAqRlGFR + | KbTYPbTr + | kEhnOaCH + | KGbJMfhO + | kHLLmfcE + | kkQiMyOg + | kKQNulhi + | klkPkaYU + | KoKtAqbt + | kQUqAggO + | KsPfaUFr + | KvHHVcPa + | KVIgujkc + | kXMItaoE + | laqqtHJN + | LBePcCkW + | ldqzvWyd + | lFbOnWGE + | lhdysNNV + | LHxWkxKq + | lifwEmKz + | LMnZbpCI + | lPtHeBuR + | lsDifAmH + | LtvKCzwe + | lVumUBIa + | mFSUfTPi + | mKbKQhyO + | mooFGlVS + | MPQLFUho + | mQIYoGzu + | mtikMWMb + | muuoinyp + | MvpRfuhb + | mZmlDoBs + | NbTtwcUU + | NczZcGdE + | NefQmhqG + | NETQHyFQ + | newdlmuf + | NlMnyCgu + | NrrBYDim + | NwPaWUGr + | OBnGIgyZ + | OehdOjXt + | OfyEZrPd + | ogOIrhgb + | OjwpvBGH + | oLLKSNvK + | OwZeKGSU + | OZfGULVa + | PBGQfXYx + | PGcwRfdb + | phBMkPER + | PHltFHbS + | PNeiVzWR + | pnfpWCgc + | PNgZWWwo + | PpTuFbFz + | ptQOpnjR + | PTtcHGFZ + | PVCfSccj + | PWOXDRzE + | PwzFJfRE + | PYCDIQQc + | qBIjdcrW + | qCzvlwRD + | QelISHAj + | QKdnhgbW + | QMkOOMdT + | QmPQoOZh + | QxHzTNGy + | qXlhbRwq + | QXSXwpMN + | RCZmHSOp + | rDLkvRXw + | rKZaCTrp + | RMBiaCdu + | RNSfiIOi + | rsrjXXbp + | RTcWEgoC + | RVbkKVjJ + | RydRYmBj + | SBNNVkRr + | ShqdAPLQ + | sOPJOCHV + | SsKBGyvg + | Stydvxig + | sYmZSZhS + | TbgzaUgu + | tBRvILTt + | TDURJGny + | TDztrYLm + | TeZWMTzw + | tfdcstkI + | tgBSTWuP + | tHuINsQQ + | TKzetlpb + | tndtDdZP + | TppFHtyg + | TWLZYGzk + | tWYLhGmP + | TZHgNTAO + | uaVbWYYy + | ubXmVvgH + | UGJqdGDT + | unjJMyow + | uqAoXisC + | UuNFAnQg + | uxqOEIwV + | VAvPoGEb + | vKNwRocJ + | vmWUXlxn + | vveXjotS + | vWCRSMfI + | VynhbqCL + | WaVLDFqC + | WhUVndTD + | WMsrUAGp + | WoCNZkWp + | WsneBHrs + | WsNuPHEi + | wtjYwstX + | WurxotQy + | wvbxCjzQ + | wYUTmKCU + | XdzKjpVP + | XFYbFCkA + | xHmRwgeG + | XHvdKJbC + | xnxcQfWx + | Xqkpjqni + | xUqWuwDO + | XvyULguR + | XwweqpQZ + | YBZmfmWn + | yJNnsHEj + | yJubHpPP + | yMjEoECr + | YNnosqXJ + | yNNQUmqa + | yNumRBxd + | yPDuKVOh + | yrGYxJeE + | yvlysvTB + | YwFARARB + | YxNVEAVR + | YZpErVkH + | ZbrxBPat + | ZElcDXRS + | ZeyczKBv + | ZEyINaeG + | zjnLruIQ + | zlPOFwWi + | zLwooCNa + | zpZvbHAk + | ZrPlFevQ + | zUQFahzk + | ZVaYkAdb + | zvGUhtyF + | ZzRSmAyf + +type BiZjyuaY { + id25: ID +} + +type Bjgguvhd { + id170: ID +} + +type bLcHZPpX { + id230: ID +} + +type bNaHPVhI { + id234: ID +} + +type bndWrLAg { + id180: ID +} + +type bpcReAKs { + id48: ID +} + +type bsuhpkhX { + id67: ID +} + +type BTIsXTrL { + id250: ID +} + +type BWwxnXpM { + id294: ID +} + +type BXowGvwZ { + id63: ID +} + +type BYPWzETJ { + id266: ID +} + +type CCXSFsMn { + id268: ID +} + +type cEORMlXC { + id169: ID +} + +type CgAQHanX { + id96: ID +} + +type cGxDWUGD { + id247: ID +} + +type cMxjKIfV { + id132: ID +} + +type ctfzshTJ { + id197: ID +} + +type cXAmxvqv { + id81: ID +} + +type CXumheDD { + id172: ID +} + +type dAmPEeQn { + id98: ID +} + +type dbFplbat { + id184: ID +} + +type DbgPTfDo { + id254: ID +} + +type DBZLsxpr { + id137: ID +} + +type deqJYjdv { + id107: ID +} + +type DGxuhtpo { + id219: ID +} + +type dHKrfYNo { + id29: ID +} + +type DKEJFUiy { + id295: ID +} + +type DkoAlvGn { + id282: ID +} + +type DMggicLd { + id239: ID +} + +type dnjGpfIS { + id118: ID +} + +type DNohRdIN { + id203: ID +} + +type dnutiEie { + id60: ID +} + +type dOWdqEud { + id66: ID +} + +type DpnWHIJW { + id7: ID +} + +type ECChhDfK { + id79: ID +} + +type eemljdwg { + id1: ID +} + +type eggnlUYr { + id109: ID +} + +type EhpNnQJw { + id121: ID +} + +type EjIQIfmv { + id126: ID +} + +type eJSSQaaC { + id140: ID +} + +type EqEZXLCy { + id30: ID +} + +type eROeesVg { + id38: ID +} + +type EtPHwkkm { + id57: ID +} + +type ETUiuOHD { + id35: ID +} + +type euCWAGET { + id158: ID +} + +type eWlLfMzi { + id270: ID +} + +type EzcWBhIv { + id214: ID +} + +type FaJAYKqm { + id93: ID +} + +type faKaQEBn { + id284: ID +} + +type FcFlCNAk { + id228: ID +} + +type fDAloqko { + id16: ID +} + +type FDouQoXO { + id173: ID +} + +type fFyvwcxZ { + id274: ID +} + +type FHLtgKoA { + id258: ID +} + +type fPXYtcbT { + id276: ID +} + +type FvftqquW { + id281: ID +} + +type fvXQFkRb { + id115: ID +} + +type fXnweaVk { + id52: ID +} + +type GcpbGXTn { + id218: ID +} + +type GDATeumz { + id256: ID +} + +type GdxXCAak { + id13: ID +} + +type gfyuMPLk { + id189: ID +} + +type GhHKLcZe { + id199: ID +} + +type gQDQWruj { + id22: ID +} + +type gqhvwsiF { + id23: ID +} + +type GsbHZkLK { + id34: ID +} + +type gvxFkejN { + id290: ID +} + +type GwkBnXKj { + id207: ID +} + +type GYbaqoRT { + id105: ID +} + +type GzglazdH { + id95: ID +} + +type hAfKmdaD { + id168: ID +} + +type hBCadJbD { + id138: ID +} + +type HdiyXGxs { + id178: ID +} + +type hDsbddpo { + id237: ID +} + +type HENcJewx { + id185: ID +} + +type hEyyqHvv { + id252: ID +} + +type hgsVEiUk { + id240: ID +} + +type HgYVPDgm { + id87: ID +} + +type hIjYlIps { + id210: ID +} + +type HIPZQFdS { + id251: ID +} + +type HJmsvtgX { + id151: ID +} + +type HjRDJhnX { + id133: ID +} + +type hLptFSis { + id91: ID +} + +type HLRWzsTU { + id182: ID +} + +type HNLQTErw { + id155: ID +} + +type hOqSbuBE { + id27: ID +} + +type hQiYNmDV { + id127: ID +} + +type hqweSGgf { + id65: ID +} + +type hTNuohNQ { + id271: ID +} + +type HwkXtjRP { + id84: ID +} + +type HWMyawvm { + id187: ID +} + +type HxCkBUxv { + id192: ID +} + +type HXZUTyvG { + id46: ID +} + +type HZbsVdoX { + id68: ID +} + +type IAOEaBfb { + id120: ID +} + +type IBZxPcZb { + id205: ID +} + +type ICrkovFe { + id73: ID +} + +type IGibGxHO { + id204: ID +} + +type IhSGxaNc { + id103: ID +} + +type IhtaZNUi { + id238: ID +} + +type iqXgPwiC { + id293: ID +} + +type IqZAiUKE { + id223: ID +} + +type ISayJMYD { + id129: ID +} + +type IuVQPFJN { + id152: ID +} + +type iVjcPoMw { + id100: ID +} + +type IWhegzTM { + id43: ID +} + +type iWpPsvNV { + id259: ID +} + +type ixwjWVvf { + id97: ID +} + +type Iypygftg { + id77: ID +} + +type IZERvBgk { + id32: ID +} + +type iZJAoMWm { + id141: ID +} + +type jAUaKDuu { + id260: ID +} + +type JbsCxxcE { + id8: ID +} + +type jciWswYD { + id208: ID +} + +type jCnSiJOq { + id188: ID +} + +type JjkgZKrV { + id202: ID +} + +type jkcwiNhe { + id74: ID +} + +type jmnxoYAy { + id287: ID +} + +type jnFMLyxL { + id277: ID +} + +type jrmLpsfT { + id201: ID +} + +type JsAPYbRs { + id156: ID +} + +type JuaucwDY { + id134: ID +} + +type JXAbemqC { + id153: ID +} + +type JZMQpjQv { + id125: ID +} + +type kAFbqgpE { + id102: ID +} + +type kAqRlGFR { + id299: ID +} + +type KbTYPbTr { + id92: ID +} + +type kEhnOaCH { + id111: ID +} + +type KGbJMfhO { + id159: ID +} + +type kHLLmfcE { + id164: ID +} + +type kkQiMyOg { + id33: ID +} + +type kKQNulhi { + id5: ID +} + +type klkPkaYU { + id272: ID +} + +type KoKtAqbt { + id213: ID +} + +type kQUqAggO { + id17: ID +} + +type KsPfaUFr { + id86: ID +} + +type KvHHVcPa { + id147: ID +} + +type KVIgujkc { + id157: ID +} + +type kXMItaoE { + id154: ID +} + +type laqqtHJN { + id206: ID +} + +type LBePcCkW { + id112: ID +} + +type ldqzvWyd { + id235: ID +} + +type lFbOnWGE { + id280: ID +} + +type lhdysNNV { + id71: ID +} + +type LHxWkxKq { + id64: ID +} + +type lifwEmKz { + id246: ID +} + +type LMnZbpCI { + id106: ID +} + +type lPtHeBuR { + id160: ID +} + +type lsDifAmH { + id298: ID +} + +type LtvKCzwe { + id19: ID +} + +type lVumUBIa { + id174: ID +} + +union MediumUnionType = + AOogKhAD + | ApAniugk + | AuMxHAoX + | awDoUlrM + | bGRbQdGF + | bsuhpkhX + | BXowGvwZ + | CgAQHanX + | cMxjKIfV + | cXAmxvqv + | dAmPEeQn + | DBZLsxpr + | deqJYjdv + | dnjGpfIS + | dnutiEie + | dOWdqEud + | ECChhDfK + | eggnlUYr + | EhpNnQJw + | EjIQIfmv + | eJSSQaaC + | EtPHwkkm + | FaJAYKqm + | fvXQFkRb + | fXnweaVk + | GYbaqoRT + | GzglazdH + | hBCadJbD + | HgYVPDgm + | HjRDJhnX + | hLptFSis + | hQiYNmDV + | hqweSGgf + | HwkXtjRP + | HZbsVdoX + | IAOEaBfb + | ICrkovFe + | IhSGxaNc + | ISayJMYD + | iVjcPoMw + | ixwjWVvf + | Iypygftg + | iZJAoMWm + | jkcwiNhe + | JuaucwDY + | JZMQpjQv + | kAFbqgpE + | KbTYPbTr + | kEhnOaCH + | KsPfaUFr + | KvHHVcPa + | LBePcCkW + | lhdysNNV + | LHxWkxKq + | LMnZbpCI + | mFSUfTPi + | muuoinyp + | NefQmhqG + | NETQHyFQ + | OwZeKGSU + | PBGQfXYx + | PGcwRfdb + | PNeiVzWR + | pnfpWCgc + | PNgZWWwo + | PTtcHGFZ + | PWOXDRzE + | PwzFJfRE + | qBIjdcrW + | qCzvlwRD + | QelISHAj + | QMkOOMdT + | qXlhbRwq + | rKZaCTrp + | RMBiaCdu + | RNSfiIOi + | sOPJOCHV + | SsKBGyvg + | TbgzaUgu + | tHuINsQQ + | TppFHtyg + | TWLZYGzk + | uaVbWYYy + | ubXmVvgH + | UGJqdGDT + | WaVLDFqC + | WhUVndTD + | WoCNZkWp + | WsneBHrs + | wtjYwstX + | WurxotQy + | wvbxCjzQ + | XFYbFCkA + | xnxcQfWx + | XvyULguR + | YBZmfmWn + | yJNnsHEj + | yrGYxJeE + | ZEyINaeG + | zpZvbHAk + +union MediumUnionTypes = + ALXAXBKq + | AOogKhAD + | ApAniugk + | bdmjhrZP + | BiZjyuaY + | bpcReAKs + | bsuhpkhX + | BXowGvwZ + | CgAQHanX + | cXAmxvqv + | dAmPEeQn + | dHKrfYNo + | dnutiEie + | dOWdqEud + | DpnWHIJW + | ECChhDfK + | eemljdwg + | EqEZXLCy + | eROeesVg + | EtPHwkkm + | ETUiuOHD + | FaJAYKqm + | fDAloqko + | fXnweaVk + | GdxXCAak + | gQDQWruj + | gqhvwsiF + | GsbHZkLK + | GzglazdH + | HgYVPDgm + | hLptFSis + | hOqSbuBE + | hqweSGgf + | HwkXtjRP + | HXZUTyvG + | HZbsVdoX + | ICrkovFe + | IWhegzTM + | ixwjWVvf + | Iypygftg + | IZERvBgk + | JbsCxxcE + | jkcwiNhe + | KbTYPbTr + | kkQiMyOg + | kKQNulhi + | kQUqAggO + | KsPfaUFr + | lhdysNNV + | LHxWkxKq + | LtvKCzwe + | mooFGlVS + | MPQLFUho + | mQIYoGzu + | muuoinyp + | NbTtwcUU + | NETQHyFQ + | newdlmuf + | OfyEZrPd + | ogOIrhgb + | PBGQfXYx + | PGcwRfdb + | pnfpWCgc + | PpTuFbFz + | PWOXDRzE + | PwzFJfRE + | PYCDIQQc + | qCzvlwRD + | QelISHAj + | QKdnhgbW + | qXlhbRwq + | RCZmHSOp + | rKZaCTrp + | RMBiaCdu + | RNSfiIOi + | RTcWEgoC + | SsKBGyvg + | sYmZSZhS + | TDURJGny + | TDztrYLm + | tgBSTWuP + | tndtDdZP + | TppFHtyg + | TWLZYGzk + | uaVbWYYy + | UGJqdGDT + | uqAoXisC + | uxqOEIwV + | vveXjotS + | vWCRSMfI + | VynhbqCL + | WurxotQy + | XdzKjpVP + | XFYbFCkA + | xHmRwgeG + | xnxcQfWx + | Xqkpjqni + | YBZmfmWn + | ZeyczKBv + | ZEyINaeG + +type mFSUfTPi { + id116: ID +} + +type mKbKQhyO { + id167: ID +} + +type mooFGlVS { + id14: ID +} + +type MPQLFUho { + id31: ID +} + +type mQIYoGzu { + id28: ID +} + +type mtikMWMb { + id261: ID +} + +type muuoinyp { + id70: ID +} + +type MvpRfuhb { + id198: ID +} + +type mZmlDoBs { + id273: ID +} + +type NbTtwcUU { + id0: ID +} + +type NczZcGdE { + id209: ID +} + +type NefQmhqG { + id149: ID +} + +type NETQHyFQ { + id55: ID +} + +type newdlmuf { + id39: ID +} + +type NlMnyCgu { + id162: ID +} + +type NrrBYDim { + id163: ID +} + +type NwPaWUGr { + id292: ID +} + +type OBnGIgyZ { + id242: ID +} + +type OehdOjXt { + id278: ID +} + +type OfyEZrPd { + id21: ID +} + +type ogOIrhgb { + id47: ID +} + +type OjwpvBGH { + id227: ID +} + +type oLLKSNvK { + id176: ID +} + +type OwZeKGSU { + id128: ID +} + +type OZfGULVa { + id195: ID +} + +type PBGQfXYx { + id83: ID +} + +type PGcwRfdb { + id62: ID +} + +type phBMkPER { + id236: ID +} + +type PHltFHbS { + id226: ID +} + +type PNeiVzWR { + id113: ID +} + +type pnfpWCgc { + id99: ID +} + +type PNgZWWwo { + id148: ID +} + +type PpTuFbFz { + id6: ID +} + +type ptQOpnjR { + id190: ID +} + +type PTtcHGFZ { + id114: ID +} + +type PVCfSccj { + id224: ID +} + +type PWOXDRzE { + id56: ID +} + +type PwzFJfRE { + id90: ID +} + +type PYCDIQQc { + id24: ID +} + +type qBIjdcrW { + id142: ID +} + +type qCzvlwRD { + id80: ID +} + +type QelISHAj { + id58: ID +} + +type QKdnhgbW { + id3: ID +} + +type QMkOOMdT { + id122: ID +} + +type QmPQoOZh { + id220: ID +} + +type Query { + ok: Boolean! +} + +type QxHzTNGy { + id265: ID +} + +type qXlhbRwq { + id78: ID +} + +type QXSXwpMN { + id211: ID +} + +type RCZmHSOp { + id10: ID +} + +type rDLkvRXw { + id296: ID +} + +type rKZaCTrp { + id89: ID +} + +type RMBiaCdu { + id75: ID +} + +type RNSfiIOi { + id61: ID +} + +type rsrjXXbp { + id267: ID +} + +type RTcWEgoC { + id44: ID +} + +type RVbkKVjJ { + id231: ID +} + +type RydRYmBj { + id255: ID +} + +type SBNNVkRr { + id257: ID +} + +type ShqdAPLQ { + id297: ID +} + +type sOPJOCHV { + id108: ID +} + +type SsKBGyvg { + id50: ID +} + +type Stydvxig { + id245: ID +} + +type sYmZSZhS { + id45: ID +} + +type TbgzaUgu { + id123: ID +} + +type tBRvILTt { + id177: ID +} + +type TDURJGny { + id2: ID +} + +type TDztrYLm { + id20: ID +} + +type TeZWMTzw { + id175: ID +} + +type tfdcstkI { + id262: ID +} + +type tgBSTWuP { + id40: ID +} + +type tHuINsQQ { + id117: ID +} + +type TKzetlpb { + id171: ID +} + +type tndtDdZP { + id18: ID +} + +type TppFHtyg { + id82: ID +} + +type TWLZYGzk { + id59: ID +} + +type tWYLhGmP { + id253: ID +} + +type TZHgNTAO { + id215: ID +} + +type uaVbWYYy { + id94: ID +} + +type ubXmVvgH { + id139: ID +} + +type UGJqdGDT { + id54: ID +} + +type unjJMyow { + id249: ID +} + +type uqAoXisC { + id9: ID +} + +type UuNFAnQg { + id263: ID +} + +type uxqOEIwV { + id49: ID +} + +type VAvPoGEb { + id217: ID +} + +type vKNwRocJ { + id229: ID +} + +type vmWUXlxn { + id233: ID +} + +type vveXjotS { + id11: ID +} + +type vWCRSMfI { + id37: ID +} + +type VynhbqCL { + id26: ID +} + +type WaVLDFqC { + id136: ID +} + +type WhUVndTD { + id145: ID +} + +type WMsrUAGp { + id181: ID +} + +type WoCNZkWp { + id144: ID +} + +type WsneBHrs { + id101: ID +} + +type WsNuPHEi { + id225: ID +} + +type wtjYwstX { + id110: ID +} + +type WurxotQy { + id72: ID +} + +type wvbxCjzQ { + id131: ID +} + +type wYUTmKCU { + id291: ID +} + +type XdzKjpVP { + id4: ID +} + +type XFYbFCkA { + id69: ID +} + +type xHmRwgeG { + id42: ID +} + +type XHvdKJbC { + id285: ID +} + +type xnxcQfWx { + id76: ID +} + +type Xqkpjqni { + id15: ID +} + +type xUqWuwDO { + id288: ID +} + +type XvyULguR { + id104: ID +} + +type XwweqpQZ { + id275: ID +} + +type YBZmfmWn { + id88: ID +} + +type yJNnsHEj { + id135: ID +} + +type yJubHpPP { + id243: ID +} + +type yMjEoECr { + id196: ID +} + +type YNnosqXJ { + id244: ID +} + +type yNNQUmqa { + id150: ID +} + +type yNumRBxd { + id200: ID +} + +type yPDuKVOh { + id241: ID +} + +type yrGYxJeE { + id130: ID +} + +type yvlysvTB { + id269: ID +} + +type YwFARARB { + id216: ID +} + +type YxNVEAVR { + id221: ID +} + +type YZpErVkH { + id264: ID +} + +type ZbrxBPat { + id232: ID +} + +type ZElcDXRS { + id165: ID +} + +type ZeyczKBv { + id12: ID +} + +type ZEyINaeG { + id85: ID +} + +type zjnLruIQ { + id289: ID +} + +type zlPOFwWi { + id183: ID +} + +type zLwooCNa { + id179: ID +} + +type zpZvbHAk { + id124: ID +} + +type ZrPlFevQ { + id248: ID +} + +type zUQFahzk { + id283: ID +} + +type ZVaYkAdb { + id279: ID +} + +type zvGUhtyF { + id186: ID +} + +type ZzRSmAyf { + id161: ID +}