@graphitation/apollo-react-relay-duct-tape-compiler 1.6.20 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/lib/cli.js +106 -144
  3. package/lib/cli.js.map +1 -1
  4. package/lib/cli.mjs +106 -146
  5. package/lib/cli.mjs.map +1 -1
  6. package/lib/compilerTransforms/annotateFragmentReferenceTransform.js +6 -21
  7. package/lib/compilerTransforms/annotateFragmentReferenceTransform.js.map +1 -1
  8. package/lib/compilerTransforms/annotateFragmentReferenceTransform.mjs +6 -24
  9. package/lib/compilerTransforms/annotateFragmentReferenceTransform.mjs.map +1 -1
  10. package/lib/compilerTransforms/emitApolloClientConnectionTransform.js +3 -19
  11. package/lib/compilerTransforms/emitApolloClientConnectionTransform.js.map +1 -1
  12. package/lib/compilerTransforms/emitApolloClientConnectionTransform.mjs +3 -21
  13. package/lib/compilerTransforms/emitApolloClientConnectionTransform.mjs.map +1 -1
  14. package/lib/compilerTransforms/enableNodeWatchQueryTransform.js +3 -19
  15. package/lib/compilerTransforms/enableNodeWatchQueryTransform.js.map +1 -1
  16. package/lib/compilerTransforms/enableNodeWatchQueryTransform.mjs +3 -22
  17. package/lib/compilerTransforms/enableNodeWatchQueryTransform.mjs.map +1 -1
  18. package/lib/compilerTransforms/retainConnectionDirectiveTransform.js +3 -19
  19. package/lib/compilerTransforms/retainConnectionDirectiveTransform.js.map +1 -1
  20. package/lib/compilerTransforms/retainConnectionDirectiveTransform.mjs +3 -22
  21. package/lib/compilerTransforms/retainConnectionDirectiveTransform.mjs.map +1 -1
  22. package/lib/formatModule.js +55 -77
  23. package/lib/formatModule.js.map +1 -1
  24. package/lib/formatModule.mjs +55 -78
  25. package/lib/formatModule.mjs.map +1 -1
  26. package/lib/formatModuleTransforms/extractMetadataTransform.js +3 -15
  27. package/lib/formatModuleTransforms/extractMetadataTransform.js.map +1 -1
  28. package/lib/formatModuleTransforms/extractMetadataTransform.mjs +3 -18
  29. package/lib/formatModuleTransforms/extractMetadataTransform.mjs.map +1 -1
  30. package/lib/relayCompilerLanguagePlugin.js +15 -53
  31. package/lib/relayCompilerLanguagePlugin.js.map +1 -1
  32. package/lib/relayCompilerLanguagePlugin.mjs +15 -56
  33. package/lib/relayCompilerLanguagePlugin.mjs.map +1 -1
  34. package/lib/rewriteGraphitationDirectives.js +3 -19
  35. package/lib/rewriteGraphitationDirectives.js.map +1 -1
  36. package/lib/rewriteGraphitationDirectives.mjs +3 -22
  37. package/lib/rewriteGraphitationDirectives.mjs.map +1 -1
  38. package/lib/typescriptTransforms/TypeScriptGenerator.js +27 -34
  39. package/lib/typescriptTransforms/TypeScriptGenerator.js.map +1 -1
  40. package/lib/typescriptTransforms/TypeScriptGenerator.mjs +27 -37
  41. package/lib/typescriptTransforms/TypeScriptGenerator.mjs.map +1 -1
  42. package/package.json +4 -4
@@ -1,23 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
-
21
1
  // src/typescriptTransforms/TypeScriptGenerator.ts
22
2
  import {
23
3
  IRVisitor
@@ -196,7 +176,8 @@ function selectionsToAST(schema, selections, state, unmasked, fragmentTypeName)
196
176
  selectionMap = mergeSelections(
197
177
  selectionMap,
198
178
  selectionsToMap(
199
- byConcreteType[concreteType].map((sel) => __spreadProps(__spreadValues({}, sel), {
179
+ byConcreteType[concreteType].map((sel) => ({
180
+ ...sel,
200
181
  conditional: true
201
182
  }))
202
183
  )
@@ -205,9 +186,10 @@ function selectionsToAST(schema, selections, state, unmasked, fragmentTypeName)
205
186
  const selectionMapValues = groupRefs(Array.from(selectionMap.values())).map(
206
187
  (sel) => isTypenameSelection(sel) && sel.concreteType ? makeProp(
207
188
  schema,
208
- __spreadProps(__spreadValues({}, sel), {
189
+ {
190
+ ...sel,
209
191
  conditional: false
210
- }),
192
+ },
211
193
  state,
212
194
  unmasked,
213
195
  sel.concreteType
@@ -266,21 +248,23 @@ function objectTypeProperty(propertyName, type, options = {}) {
266
248
  function mergeSelection(a, b, shouldSetConditional = true) {
267
249
  if (!a) {
268
250
  if (shouldSetConditional) {
269
- return __spreadProps(__spreadValues({}, b), {
251
+ return {
252
+ ...b,
270
253
  conditional: true
271
- });
254
+ };
272
255
  }
273
256
  return b;
274
257
  }
275
258
  incompatibleTypesThrows(a, b);
276
- return __spreadProps(__spreadValues({}, a), {
259
+ return {
260
+ ...a,
277
261
  nodeSelections: a.nodeSelections ? mergeSelections(
278
262
  a.nodeSelections,
279
263
  nullThrows(b.nodeSelections),
280
264
  shouldSetConditional
281
265
  ) : null,
282
266
  conditional: a.conditional && b.conditional
283
- });
267
+ };
284
268
  }
285
269
  function mergeSelections(a, b, shouldSetConditional = true) {
286
270
  const merged = /* @__PURE__ */ new Map();
@@ -425,9 +409,10 @@ function createVisitor(schema, options) {
425
409
  const selections = flattenedSelections.map((selection) => {
426
410
  if (numConcreteSelections <= 1 && isTypenameSelection(selection) && !schema.isAbstractType(node.type)) {
427
411
  return [
428
- __spreadProps(__spreadValues({}, selection), {
412
+ {
413
+ ...selection,
429
414
  concreteType: schema.getTypeString(node.type)
430
- })
415
+ }
431
416
  ];
432
417
  }
433
418
  return [selection];
@@ -489,11 +474,13 @@ function createVisitor(schema, options) {
489
474
  /* $FlowFixMe: selections have already been transformed */
490
475
  node.selections
491
476
  ).map((typeSelection) => {
492
- return schema.isAbstractType(node.typeCondition) ? __spreadProps(__spreadValues({}, typeSelection), {
477
+ return schema.isAbstractType(node.typeCondition) ? {
478
+ ...typeSelection,
493
479
  conditional: true
494
- }) : __spreadProps(__spreadValues({}, typeSelection), {
480
+ } : {
481
+ ...typeSelection,
495
482
  concreteType: schema.getTypeString(node.typeCondition)
496
- });
483
+ };
497
484
  });
498
485
  },
499
486
  Condition(node) {
@@ -501,9 +488,10 @@ function createVisitor(schema, options) {
501
488
  /* $FlowFixMe: selections have already been transformed */
502
489
  node.selections
503
490
  ).map((selection) => {
504
- return __spreadProps(__spreadValues({}, selection), {
491
+ return {
492
+ ...selection,
505
493
  conditional: true
506
- });
494
+ };
507
495
  });
508
496
  },
509
497
  // TODO: Why not inline it like others?
@@ -717,9 +705,10 @@ function createRawResponseTypeVisitor(schema, state) {
717
705
  /* $FlowFixMe: selections have already been transformed */
718
706
  node.selections
719
707
  ).map((typeSelection) => {
720
- return schema.isAbstractType(typeCondition) ? typeSelection : __spreadProps(__spreadValues({}, typeSelection), {
708
+ return schema.isAbstractType(typeCondition) ? typeSelection : {
709
+ ...typeSelection,
721
710
  concreteType: schema.getTypeString(typeCondition)
722
- });
711
+ };
723
712
  });
724
713
  },
725
714
  ScalarField(node) {
@@ -729,7 +718,8 @@ function createRawResponseTypeVisitor(schema, state) {
729
718
  return flattenArray(
730
719
  /* $FlowFixMe: selections have already been transformed */
731
720
  node.selections
732
- ).map((sel) => __spreadProps(__spreadValues({}, sel), {
721
+ ).map((sel) => ({
722
+ ...sel,
733
723
  conditional: true
734
724
  }));
735
725
  },
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/typescriptTransforms/TypeScriptGenerator.ts"],
4
4
  "sourcesContent": ["/**\n * Taken from https://github.com/relay-tools/relay-compiler-language-typescript/blob/3231ea09205cc341be704c00e78db0d8ff78b34a/src/TypeScriptGenerator.ts\n * Copyright 2018 Kaare Hoff Skovgaard kaare@kaareskovgaard.net, Eloy Dur\u00E1n eloy.de.enige@gmail.com\n */\n\nimport {\n Condition,\n Fragment,\n IRVisitor,\n LinkedField,\n Root,\n ScalarField,\n Schema,\n TypeGenerator,\n TypeID,\n} from \"relay-compiler\";\nimport { TypeGeneratorOptions } from \"relay-compiler/lib/language/RelayLanguagePluginInterface\";\nimport * as FlattenTransform from \"relay-compiler/lib/transforms/FlattenTransform\";\nimport * as MaskTransform from \"relay-compiler/lib/transforms/MaskTransform\";\nimport * as MatchTransform from \"relay-compiler/lib/transforms/MatchTransform\";\nimport * as RefetchableFragmentTransform from \"relay-compiler/lib/transforms/RefetchableFragmentTransform\";\nimport * as RelayDirectiveTransform from \"relay-compiler/lib/transforms/RelayDirectiveTransform\";\nimport * as ts from \"typescript\";\nimport {\n State,\n transformInputType,\n transformScalarType,\n} from \"./TypeScriptTypeTransformers\";\n\ntype Selection = {\n key: string;\n schemaName?: string | undefined;\n value?: any | undefined;\n nodeType?: TypeID | undefined;\n conditional?: boolean | undefined;\n concreteType?: string | undefined;\n ref?: string | undefined;\n nodeSelections?: SelectionMap | null | undefined;\n kind?: string | undefined;\n documentName?: string | undefined;\n};\n\ntype SelectionMap = Map<string, Selection>;\n\nconst REF_TYPE = \" $refType\";\nconst FRAGMENT_REFS = \" $fragmentRefs\";\nconst DATA_REF = \" $data\";\nconst FRAGMENT_REFS_TYPE_NAME = \"FragmentRefs\";\nconst DIRECTIVE_NAME = \"raw_response_type\";\n\nexport const generate: TypeGenerator[\"generate\"] = (schema, node, options) => {\n const ast: ts.Statement[] = aggregateRuntimeImports(\n IRVisitor.visit(node, createVisitor(schema, options)),\n );\n\n const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed });\n\n const resultFile = ts.createSourceFile(\n \"graphql-def.ts\",\n \"\",\n ts.ScriptTarget.Latest,\n false,\n ts.ScriptKind.TS,\n );\n\n const fullProgramAst = ts.factory.updateSourceFile(resultFile, ast);\n\n return printer.printNode(ts.EmitHint.SourceFile, fullProgramAst, resultFile);\n};\n\nfunction aggregateRuntimeImports(ast: ts.Statement[]) {\n const importNodes = ast.filter((declaration) =>\n ts.isImportDeclaration(declaration),\n ) as ts.ImportDeclaration[];\n\n const runtimeImports = importNodes.filter(\n (importDeclaration) =>\n (importDeclaration.moduleSpecifier as ts.StringLiteral).text ===\n \"relay-runtime\",\n );\n\n if (runtimeImports.length > 1) {\n const namedImports: string[] = [];\n runtimeImports.map((node) => {\n (node.importClause!.namedBindings! as ts.NamedImports).elements.map(\n (element) => {\n namedImports.push(element.name.text);\n },\n );\n });\n\n const importSpecifiers: ts.ImportSpecifier[] = [];\n namedImports.map((namedImport) => {\n const specifier = ts.factory.createImportSpecifier(\n false,\n undefined,\n ts.factory.createIdentifier(namedImport),\n );\n importSpecifiers.push(specifier);\n });\n\n const namedBindings = ts.factory.createNamedImports(importSpecifiers);\n const aggregatedRuntimeImportDeclaration =\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(false, undefined, namedBindings),\n ts.factory.createStringLiteral(\"relay-runtime\"),\n );\n\n const aggregatedRuntimeImportAST = ast.reduce<ts.Statement[]>(\n (prev, curr) => {\n if (!ts.isImportDeclaration(curr)) prev.push(curr);\n return prev;\n },\n [aggregatedRuntimeImportDeclaration],\n );\n\n return aggregatedRuntimeImportAST;\n } else {\n return ast;\n }\n}\n\nfunction incompatibleTypesThrows(a: Selection, b: Selection) {\n const isAScalar = !a.nodeSelections;\n const isBScalar = !b.nodeSelections;\n if (isAScalar !== isBScalar) {\n throw new Error(\n `Type mismatch when merging selections. For union selection ensure all fragments quering for __typename`,\n );\n }\n}\n\nfunction nullThrows<T>(obj: T | null | undefined): T {\n if (obj == null) {\n throw new Error(\"Obj is null\");\n }\n return obj;\n}\n\nfunction makeProp(\n schema: Schema,\n selection: Selection,\n state: State,\n unmasked: boolean,\n concreteType?: string,\n): ts.PropertySignature {\n let { value } = selection;\n\n const { key, schemaName, conditional, nodeType, nodeSelections } = selection;\n\n if (schemaName === \"__typename\" && concreteType) {\n value = ts.factory.createLiteralTypeNode(\n ts.factory.createStringLiteral(concreteType),\n );\n } else if (nodeType) {\n value = transformScalarType(\n schema,\n nodeType,\n state,\n selectionsToAST(\n schema,\n [Array.from(nullThrows(nodeSelections).values())],\n state,\n unmasked,\n ),\n );\n }\n const typeProperty = objectTypeProperty(key, value, {\n optional: conditional,\n });\n\n return typeProperty;\n}\n\nconst isTypenameSelection = (selection: Selection) =>\n selection.schemaName === \"__typename\";\n\nconst hasTypenameSelection = (selections: Selection[]) =>\n selections.some(isTypenameSelection);\n\nconst onlySelectsTypename = (selections: Selection[]) =>\n selections.every(isTypenameSelection);\n\nfunction selectionsToAST(\n schema: Schema,\n selections: ReadonlyArray<ReadonlyArray<Selection>>,\n state: State,\n unmasked: boolean,\n fragmentTypeName?: string,\n) {\n const baseFields = new Map<string, Selection>();\n\n const byConcreteType: { [type: string]: Selection[] } = {};\n\n flattenArray(selections).forEach((selection) => {\n const { concreteType } = selection;\n\n if (concreteType) {\n byConcreteType[concreteType] = byConcreteType[concreteType] || [];\n byConcreteType[concreteType].push(selection);\n } else {\n const previousSel = baseFields.get(selection.key);\n\n baseFields.set(\n selection.key,\n previousSel ? mergeSelection(selection, previousSel) : selection,\n );\n }\n });\n\n const types: ts.PropertySignature[][] = [];\n\n if (\n Object.keys(byConcreteType).length > 0 &&\n onlySelectsTypename(Array.from(baseFields.values())) &&\n (hasTypenameSelection(Array.from(baseFields.values())) ||\n Object.keys(byConcreteType).every((type) =>\n hasTypenameSelection(byConcreteType[type]),\n ))\n ) {\n const typenameAliases = new Set<string>();\n\n for (const concreteType in byConcreteType) {\n types.push(\n groupRefs([\n ...Array.from(baseFields.values()),\n ...byConcreteType[concreteType],\n ]).map((selection) => {\n if (selection.schemaName === \"__typename\") {\n typenameAliases.add(selection.key);\n }\n return makeProp(schema, selection, state, unmasked, concreteType);\n }),\n );\n }\n\n // It might be some other type then the listed concrete types. Ideally, we\n // would set the type to diff(string, set of listed concrete types), but\n // this doesn't exist in Flow at the time.\n types.push(\n Array.from(typenameAliases).map((typenameAlias) => {\n const otherProp = objectTypeProperty(\n typenameAlias,\n ts.factory.createLiteralTypeNode(\n ts.factory.createStringLiteral(\"%other\"),\n ),\n );\n\n const otherPropWithComment = ts.addSyntheticLeadingComment(\n otherProp,\n ts.SyntaxKind.MultiLineCommentTrivia,\n \"This will never be '%other', but we need some\\n\" +\n \"value in case none of the concrete values match.\",\n true,\n );\n\n return otherPropWithComment;\n }),\n );\n } else {\n let selectionMap = selectionsToMap(Array.from(baseFields.values()));\n\n for (const concreteType in byConcreteType) {\n selectionMap = mergeSelections(\n selectionMap,\n selectionsToMap(\n byConcreteType[concreteType].map((sel) => ({\n ...sel,\n conditional: true,\n })),\n ),\n );\n }\n\n const selectionMapValues = groupRefs(Array.from(selectionMap.values())).map(\n (sel) =>\n isTypenameSelection(sel) && sel.concreteType\n ? makeProp(\n schema,\n {\n ...sel,\n conditional: false,\n },\n state,\n unmasked,\n sel.concreteType,\n )\n : makeProp(schema, sel, state, unmasked),\n );\n\n types.push(selectionMapValues);\n }\n\n const typeElements = types.map((props) => {\n if (fragmentTypeName) {\n props.push(\n objectTypeProperty(\n REF_TYPE,\n ts.factory.createLiteralTypeNode(\n ts.factory.createStringLiteral(fragmentTypeName),\n ),\n ),\n );\n }\n\n return unmasked\n ? ts.factory.createTypeLiteralNode(props)\n : exactObjectTypeAnnotation(props);\n });\n\n if (typeElements.length === 1) {\n return typeElements[0];\n }\n\n return ts.factory.createUnionTypeNode(typeElements);\n}\n\n// We don't have exact object types in typescript.\nfunction exactObjectTypeAnnotation(\n properties: ts.PropertySignature[],\n): ts.TypeLiteralNode {\n return ts.factory.createTypeLiteralNode(properties);\n}\n\nconst idRegex = /^[$a-zA-Z_][$a-z0-9A-Z_]*$/;\n\n// union optional types with undefined for compat with exactOptionalPropertyTypes\nfunction createInexactOptionalType(type: ts.TypeNode): ts.TypeNode {\n if (ts.isUnionTypeNode(type)) {\n return ts.factory.updateUnionTypeNode(\n type,\n ts.factory.createNodeArray([\n ...type.types,\n ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),\n ]),\n );\n } else {\n return ts.factory.createUnionTypeNode([\n type,\n ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),\n ]);\n }\n}\n\nfunction objectTypeProperty(\n propertyName: string,\n type: ts.TypeNode,\n options: {\n readonly?: boolean | undefined;\n optional?: boolean | undefined;\n } = {},\n): ts.PropertySignature {\n const { optional, readonly = true } = options;\n const modifiers = readonly\n ? [ts.factory.createToken(ts.SyntaxKind.ReadonlyKeyword)]\n : undefined;\n\n return ts.factory.createPropertySignature(\n modifiers,\n idRegex.test(propertyName)\n ? ts.factory.createIdentifier(propertyName)\n : ts.factory.createStringLiteral(propertyName),\n optional ? ts.factory.createToken(ts.SyntaxKind.QuestionToken) : undefined,\n optional ? createInexactOptionalType(type) : type,\n );\n}\n\nfunction mergeSelection(\n a: Selection | null | undefined,\n b: Selection,\n shouldSetConditional = true,\n): Selection {\n if (!a) {\n if (shouldSetConditional) {\n return {\n ...b,\n conditional: true,\n };\n }\n\n return b;\n }\n\n incompatibleTypesThrows(a, b);\n\n return {\n ...a,\n nodeSelections: a.nodeSelections\n ? mergeSelections(\n a.nodeSelections,\n nullThrows(b.nodeSelections),\n shouldSetConditional,\n )\n : null,\n conditional: a.conditional && b.conditional,\n };\n}\n\nfunction mergeSelections(\n a: SelectionMap,\n b: SelectionMap,\n shouldSetConditional = true,\n): SelectionMap {\n const merged = new Map();\n\n for (const [key, value] of Array.from(a.entries())) {\n merged.set(key, value);\n }\n\n for (const [key, value] of Array.from(b.entries())) {\n merged.set(key, mergeSelection(a.get(key), value, shouldSetConditional));\n }\n\n return merged;\n}\n\nfunction isPlural(node: Fragment): boolean {\n return Boolean(node.metadata && node.metadata.plural);\n}\n\nfunction exportType(name: string, type: ts.TypeNode) {\n return ts.factory.createTypeAliasDeclaration(\n [ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],\n ts.factory.createIdentifier(name),\n undefined,\n type,\n );\n}\n\nfunction importTypes(names: string[], fromModule: string): ts.Statement {\n return (\n names &&\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(\n false,\n undefined,\n ts.factory.createNamedImports(\n names.map((name) =>\n ts.factory.createImportSpecifier(\n false,\n undefined,\n ts.factory.createIdentifier(name),\n ),\n ),\n ),\n ),\n ts.factory.createStringLiteral(fromModule),\n )\n );\n}\n\nfunction createVisitor(\n schema: Schema,\n options: TypeGeneratorOptions,\n): IRVisitor.NodeVisitor {\n const state: State = {\n customScalars: options.customScalars,\n enumsHasteModule: options.enumsHasteModule,\n existingFragmentNames: options.existingFragmentNames,\n generatedFragments: new Set(),\n generatedInputObjectTypes: {},\n optionalInputFields: options.optionalInputFields,\n usedEnums: {},\n usedFragments: new Set(),\n useHaste: options.useHaste,\n useSingleArtifactDirectory: options.useSingleArtifactDirectory,\n noFutureProofEnums: options.noFutureProofEnums,\n matchFields: new Map(),\n runtimeImports: new Set(),\n };\n\n return {\n leave: {\n Root(node) {\n const inputVariablesType = generateInputVariablesType(\n schema,\n node,\n state,\n );\n const inputObjectTypes = generateInputObjectTypes(state);\n const responseType = exportType(\n `${node.name}Response`,\n selectionsToAST(\n schema,\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n state,\n false,\n ),\n );\n\n const operationTypes = [\n objectTypeProperty(\n \"response\",\n ts.factory.createTypeReferenceNode(responseType.name, undefined),\n ),\n objectTypeProperty(\n \"variables\",\n ts.factory.createTypeReferenceNode(\n inputVariablesType.name,\n undefined,\n ),\n ),\n ];\n\n // Generate raw response type\n let rawResponseType;\n const { normalizationIR } = options;\n if (\n normalizationIR &&\n node.directives.some((d) => d.name === DIRECTIVE_NAME)\n ) {\n rawResponseType = IRVisitor.visit(\n normalizationIR,\n createRawResponseTypeVisitor(schema, state),\n );\n }\n const nodes = [];\n if (state.runtimeImports.size) {\n nodes.push(\n importTypes(\n Array.from(state.runtimeImports).sort(),\n \"relay-runtime\",\n ),\n );\n }\n nodes.push(\n ...getFragmentRefsTypeImport(state),\n ...getEnumDefinitions(schema, state),\n ...inputObjectTypes,\n inputVariablesType,\n responseType,\n );\n\n if (rawResponseType) {\n for (const [key, ast] of state.matchFields) {\n nodes.push(exportType(key, ast));\n }\n\n operationTypes.push(\n objectTypeProperty(\n \"rawResponse\",\n ts.factory.createTypeReferenceNode(\n `${node.name}RawResponse`,\n undefined,\n ),\n ),\n );\n\n nodes.push(rawResponseType);\n }\n nodes.push(\n exportType(node.name, exactObjectTypeAnnotation(operationTypes)),\n );\n return nodes;\n },\n Fragment(node) {\n const flattenedSelections: Selection[] = flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n );\n const numConcreteSelections = flattenedSelections.filter(\n (s) => s.concreteType,\n ).length;\n const selections = flattenedSelections.map((selection) => {\n if (\n numConcreteSelections <= 1 &&\n isTypenameSelection(selection) &&\n !schema.isAbstractType(node.type)\n ) {\n return [\n {\n ...selection,\n concreteType: schema.getTypeString(node.type),\n },\n ];\n }\n return [selection];\n });\n state.generatedFragments.add(node.name);\n\n const dataTypeName = getDataTypeName(node.name);\n const dataType = ts.factory.createTypeReferenceNode(\n node.name,\n undefined,\n );\n\n const refTypeName = getRefTypeName(node.name);\n const refTypeDataProperty = objectTypeProperty(\n DATA_REF,\n ts.factory.createTypeReferenceNode(dataTypeName, undefined),\n { optional: true },\n );\n\n const refTypeFragmentRefProperty = objectTypeProperty(\n FRAGMENT_REFS,\n ts.factory.createTypeReferenceNode(FRAGMENT_REFS_TYPE_NAME, [\n ts.factory.createLiteralTypeNode(\n ts.factory.createStringLiteral(node.name),\n ),\n ]),\n );\n const isPluralFragment = isPlural(node);\n const refType = exactObjectTypeAnnotation([\n refTypeDataProperty,\n refTypeFragmentRefProperty,\n ]);\n\n const unmasked = node.metadata != null && node.metadata.mask === false;\n const baseType = selectionsToAST(\n schema,\n selections,\n state,\n unmasked,\n unmasked ? undefined : node.name,\n );\n const type = isPlural(node)\n ? ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"ReadonlyArray\"),\n [baseType],\n )\n : baseType;\n state.runtimeImports.add(\"FragmentRefs\");\n\n return [\n importTypes(Array.from(state.runtimeImports).sort(), \"relay-runtime\"),\n ...getEnumDefinitions(schema, state),\n exportType(node.name, type),\n exportType(dataTypeName, dataType),\n exportType(\n refTypeName,\n isPluralFragment\n ? ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"ReadonlyArray\"),\n [refType],\n )\n : refType,\n ),\n ];\n },\n InlineFragment(node) {\n return flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n ).map((typeSelection) => {\n return schema.isAbstractType(node.typeCondition)\n ? {\n ...typeSelection,\n conditional: true,\n }\n : {\n ...typeSelection,\n concreteType: schema.getTypeString(node.typeCondition),\n };\n });\n },\n Condition(node: Condition) {\n return flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n ).map((selection) => {\n return {\n ...selection,\n conditional: true,\n };\n });\n },\n // TODO: Why not inline it like others?\n ScalarField(node) {\n return visitScalarField(schema, node, state);\n },\n LinkedField: visitLinkedField,\n ModuleImport(node) {\n return [\n {\n key: \"__fragmentPropName\",\n conditional: true,\n value: transformScalarType(\n schema,\n schema.expectStringType(),\n state,\n ),\n },\n {\n key: \"__module_component\",\n conditional: true,\n value: transformScalarType(\n schema,\n schema.expectStringType(),\n state,\n ),\n },\n {\n key: \"__fragments_\" + node.name,\n ref: node.name,\n },\n ];\n },\n FragmentSpread(node) {\n state.usedFragments.add(node.name);\n return [\n {\n key: \"__fragments_\" + node.name,\n ref: node.name,\n },\n ];\n },\n },\n };\n}\n\nfunction visitScalarField(schema: Schema, node: ScalarField, state: State) {\n return [\n {\n key: node.alias || node.name,\n schemaName: node.name,\n value: transformScalarType(schema, node.type, state),\n },\n ];\n}\n\nfunction visitLinkedField(node: LinkedField) {\n return [\n {\n key: node.alias || node.name,\n schemaName: node.name,\n nodeType: node.type,\n nodeSelections: selectionsToMap(\n flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n ),\n /*\n * append concreteType to key so overlapping fields with different\n * concreteTypes don't get overwritten by each other\n */\n true,\n ),\n },\n ];\n}\n\nfunction makeRawResponseProp(\n schema: Schema,\n {\n key,\n schemaName,\n value,\n conditional,\n nodeType,\n nodeSelections,\n kind,\n }: Selection,\n state: State,\n concreteType?: string | null,\n) {\n if (kind === \"ModuleImport\") {\n // TODO: In flow one can extend an object type with spread, with TS we need an intersection (&)\n // return ts.createSpread(ts.createIdentifier(key));\n throw new Error(\n \"relay-compiler-language-typescript does not support @module yet\",\n );\n }\n if (schemaName === \"__typename\" && concreteType) {\n value = ts.factory.createLiteralTypeNode(\n ts.factory.createStringLiteral(concreteType),\n );\n } else if (nodeType) {\n value = transformScalarType(\n schema,\n nodeType,\n state,\n selectionsToRawResponseBabel(\n schema,\n [Array.from(nullThrows(nodeSelections).values())],\n state,\n schema.isAbstractType(nodeType) || schema.isWrapper(nodeType)\n ? null\n : schema.getTypeString(nodeType),\n ),\n );\n }\n\n const typeProperty = objectTypeProperty(key, value, {\n optional: conditional,\n });\n\n return typeProperty;\n}\n\nfunction selectionsToMap(\n selections: Selection[],\n appendType?: boolean,\n): SelectionMap {\n const map = new Map();\n\n selections.forEach((selection) => {\n const key =\n appendType && selection.concreteType\n ? `${selection.key}::${selection.concreteType}`\n : selection.key;\n\n const previousSel = map.get(key);\n\n map.set(\n key,\n previousSel ? mergeSelection(previousSel, selection) : selection,\n );\n });\n\n return map;\n}\n\n// Transform the codegen IR selections into TS types\nfunction selectionsToRawResponseBabel(\n schema: Schema,\n selections: ReadonlyArray<ReadonlyArray<Selection>>,\n state: State,\n nodeTypeName?: string | null,\n) {\n const baseFields: any[] = [];\n const byConcreteType: Record<string, any> = {};\n\n flattenArray(selections).forEach((selection) => {\n const { concreteType } = selection;\n\n if (concreteType) {\n byConcreteType[concreteType] = byConcreteType[concreteType] || [];\n byConcreteType[concreteType].push(selection);\n } else {\n baseFields.push(selection);\n }\n });\n\n const types: ts.TypeNode[] = [];\n\n if (Object.keys(byConcreteType).length) {\n const baseFieldsMap = selectionsToMap(baseFields);\n for (const concreteType in byConcreteType) {\n const mergedSelections = Array.from(\n mergeSelections(\n baseFieldsMap,\n selectionsToMap(byConcreteType[concreteType]),\n false,\n ).values(),\n );\n types.push(\n exactObjectTypeAnnotation(\n mergedSelections.map((selection) =>\n makeRawResponseProp(schema, selection, state, concreteType),\n ),\n ),\n );\n appendLocal3DPayload(\n types,\n mergedSelections,\n schema,\n state,\n concreteType,\n );\n }\n }\n if (baseFields.length > 0) {\n types.push(\n exactObjectTypeAnnotation(\n baseFields.map((selection) =>\n makeRawResponseProp(schema, selection, state, nodeTypeName),\n ),\n ),\n );\n appendLocal3DPayload(types, baseFields, schema, state, nodeTypeName);\n }\n return ts.factory.createUnionTypeNode(types);\n}\n\nfunction appendLocal3DPayload(\n types: ts.TypeNode[],\n selections: ReadonlyArray<Selection>,\n schema: Schema,\n state: State,\n currentType?: string | null,\n): void {\n const moduleImport = selections.find((sel) => sel.kind === \"ModuleImport\");\n if (moduleImport) {\n // Generate an extra opaque type for client 3D fields\n state.runtimeImports.add(\"Local3DPayload\");\n types.push(\n ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"Local3DPayload\"),\n [\n stringLiteralTypeAnnotation(moduleImport.documentName!),\n exactObjectTypeAnnotation(\n selections\n .filter((sel) => sel.schemaName !== \"js\")\n .map((selection) =>\n makeRawResponseProp(schema, selection, state, currentType),\n ),\n ),\n ],\n ),\n );\n }\n}\n\n// Visitor for generating raw response type\nfunction createRawResponseTypeVisitor(\n schema: Schema,\n state: State,\n): IRVisitor.NodeVisitor {\n return {\n leave: {\n Root(node) {\n return exportType(\n `${node.name}RawResponse`,\n selectionsToRawResponseBabel(\n schema,\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n state,\n null,\n ),\n );\n },\n InlineFragment(node) {\n const typeCondition = node.typeCondition;\n\n return flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n ).map((typeSelection) => {\n return schema.isAbstractType(typeCondition)\n ? typeSelection\n : {\n ...typeSelection,\n concreteType: schema.getTypeString(typeCondition),\n };\n });\n },\n ScalarField(node) {\n return visitScalarField(schema, node, state);\n },\n ClientExtension(node) {\n return flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n ).map((sel) => ({\n ...sel,\n conditional: true,\n }));\n },\n LinkedField: visitLinkedField,\n Condition(node) {\n return flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n );\n },\n Defer(node) {\n return flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n );\n },\n Stream(node) {\n return flattenArray(\n /* $FlowFixMe: selections have already been transformed */\n node.selections as any as ReadonlyArray<ReadonlyArray<Selection>>,\n );\n },\n ModuleImport(node) {\n return visitRawResponseModuleImport(schema, node, state);\n },\n FragmentSpread(_node) {\n throw new Error(\n \"A fragment spread is found when traversing the AST, \" +\n \"make sure you are passing the codegen IR\",\n );\n },\n },\n };\n}\n\n// Dedupe the generated type of module selections to reduce file size\nfunction visitRawResponseModuleImport(\n schema: Schema,\n node: any,\n state: State,\n): Selection[] {\n const { selections, name: key } = node;\n\n const moduleSelections = selections\n .filter((sel: any) => sel.length && sel[0].schemaName === \"js\")\n .map((arr: any[]) => arr[0]);\n\n if (!state.matchFields.has(key)) {\n const ast = selectionsToRawResponseBabel(\n schema,\n node.selections.filter(\n (sel: any) => sel.length > 1 || sel[0].schemaName !== \"js\",\n ),\n state,\n null,\n );\n\n state.matchFields.set(key, ast);\n }\n\n return [\n ...moduleSelections,\n {\n key,\n kind: \"ModuleImport\",\n documentName: node.documentName,\n },\n ];\n}\n\nfunction flattenArray(\n arrayOfArrays: ReadonlyArray<ReadonlyArray<Selection>>,\n): Selection[] {\n const result: Selection[] = [];\n\n arrayOfArrays.forEach((array) => result.push(...array));\n\n return result;\n}\n\nfunction generateInputObjectTypes(state: State) {\n return Object.keys(state.generatedInputObjectTypes).map((typeIdentifier) => {\n const inputObjectType = state.generatedInputObjectTypes[typeIdentifier];\n\n if (inputObjectType === \"pending\") {\n throw new Error(\n \"TypeScriptGenerator: Expected input object type to have been\" +\n \" defined before calling `generateInputObjectTypes`\",\n );\n } else {\n return exportType(typeIdentifier, inputObjectType);\n }\n });\n}\n\nfunction generateInputVariablesType(schema: Schema, node: Root, state: State) {\n return exportType(\n `${node.name}Variables`,\n exactObjectTypeAnnotation(\n node.argumentDefinitions.map((arg) => {\n return objectTypeProperty(\n arg.name,\n transformInputType(schema, arg.type, state),\n { readonly: false, optional: !schema.isNonNull(arg.type) },\n );\n }),\n ),\n );\n}\n\nfunction groupRefs(props: Selection[]): Selection[] {\n const result: Selection[] = [];\n\n const refs: string[] = [];\n\n props.forEach((prop) => {\n if (prop.ref) {\n refs.push(prop.ref);\n } else {\n result.push(prop);\n }\n });\n\n if (refs.length > 0) {\n const refTypes = ts.factory.createUnionTypeNode(\n refs.map((ref) =>\n ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(ref)),\n ),\n );\n\n result.push({\n key: FRAGMENT_REFS,\n conditional: false,\n value: ts.factory.createTypeReferenceNode(FRAGMENT_REFS_TYPE_NAME, [\n refTypes,\n ]),\n });\n }\n\n return result;\n}\n\nfunction getFragmentRefsTypeImport(state: State): ts.Statement[] {\n if (state.usedFragments.size > 0) {\n return [\n ts.factory.createImportDeclaration(\n undefined,\n ts.factory.createImportClause(\n false,\n undefined,\n ts.factory.createNamedImports([\n ts.factory.createImportSpecifier(\n false,\n undefined,\n ts.factory.createIdentifier(\"FragmentRefs\"),\n ),\n ]),\n ),\n ts.factory.createStringLiteral(\"relay-runtime\"),\n ),\n ];\n }\n\n return [];\n}\n\nfunction getEnumDefinitions(\n schema: Schema,\n { enumsHasteModule, usedEnums, noFutureProofEnums }: State,\n) {\n const enumNames = Object.keys(usedEnums).sort();\n\n if (enumNames.length === 0) {\n return [];\n }\n\n if (typeof enumsHasteModule === \"string\") {\n return [importTypes(enumNames, enumsHasteModule)];\n }\n\n if (typeof enumsHasteModule === \"function\") {\n return enumNames.map((enumName) =>\n importTypes([enumName], enumsHasteModule(enumName)),\n );\n }\n\n return enumNames.map((name) => {\n const values = [...schema.getEnumValues(usedEnums[name])];\n values.sort();\n\n if (!noFutureProofEnums) {\n values.push(\"%future added value\");\n }\n\n return exportType(\n name,\n ts.factory.createUnionTypeNode(\n values.map((value) => stringLiteralTypeAnnotation(value)),\n ),\n );\n });\n}\n\nfunction stringLiteralTypeAnnotation(name: string): ts.TypeNode {\n return ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(name));\n}\n\nfunction getRefTypeName(name: string): string {\n return `${name}$key`;\n}\n\nfunction getDataTypeName(name: string): string {\n return `${name}$data`;\n}\n\n// Should match FLOW_TRANSFORMS array\n// https://github.com/facebook/relay/blob/v10.0.0/packages/relay-compiler/language/javascript/RelayFlowGenerator.js#L982\nexport const transforms: TypeGenerator[\"transforms\"] = [\n RelayDirectiveTransform.transform,\n MaskTransform.transform,\n MatchTransform.transform,\n FlattenTransform.transformWithOptions({}),\n RefetchableFragmentTransform.transform,\n];\n"],
5
- "mappings": "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",
5
+ "mappings": ";AAKA;AAAA,EAGE;AAAA,OAOK;AAEP,YAAY,sBAAsB;AAClC,YAAY,mBAAmB;AAC/B,YAAY,oBAAoB;AAChC,YAAY,kCAAkC;AAC9C,YAAY,6BAA6B;AACzC,YAAY,QAAQ;AACpB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAiBP,IAAM,WAAW;AACjB,IAAM,gBAAgB;AACtB,IAAM,WAAW;AACjB,IAAM,0BAA0B;AAChC,IAAM,iBAAiB;AAEhB,IAAM,WAAsC,CAAC,QAAQ,MAAM,YAAY;AAC5E,QAAM,MAAsB;AAAA,IAC1B,UAAU,MAAM,MAAM,cAAc,QAAQ,OAAO,CAAC;AAAA,EACtD;AAEA,QAAM,UAAa,iBAAc,EAAE,SAAY,eAAY,SAAS,CAAC;AAErE,QAAM,aAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACG,gBAAa;AAAA,IAChB;AAAA,IACG,cAAW;AAAA,EAChB;AAEA,QAAM,iBAAoB,WAAQ,iBAAiB,YAAY,GAAG;AAElE,SAAO,QAAQ,UAAa,YAAS,YAAY,gBAAgB,UAAU;AAC7E;AAEA,SAAS,wBAAwB,KAAqB;AACpD,QAAM,cAAc,IAAI;AAAA,IAAO,CAAC,gBAC3B,uBAAoB,WAAW;AAAA,EACpC;AAEA,QAAM,iBAAiB,YAAY;AAAA,IACjC,CAAC,sBACE,kBAAkB,gBAAqC,SACxD;AAAA,EACJ;AAEA,MAAI,eAAe,SAAS,GAAG;AAC7B,UAAM,eAAyB,CAAC;AAChC,mBAAe,IAAI,CAAC,SAAS;AAC3B,MAAC,KAAK,aAAc,cAAmC,SAAS;AAAA,QAC9D,CAAC,YAAY;AACX,uBAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,QACrC;AAAA,MACF;AAAA,IACF,CAAC;AAED,UAAM,mBAAyC,CAAC;AAChD,iBAAa,IAAI,CAAC,gBAAgB;AAChC,YAAM,YAAe,WAAQ;AAAA,QAC3B;AAAA,QACA;AAAA,QACG,WAAQ,iBAAiB,WAAW;AAAA,MACzC;AACA,uBAAiB,KAAK,SAAS;AAAA,IACjC,CAAC;AAED,UAAM,gBAAmB,WAAQ,mBAAmB,gBAAgB;AACpE,UAAM,qCACD,WAAQ;AAAA,MACT;AAAA,MACG,WAAQ,mBAAmB,OAAO,QAAW,aAAa;AAAA,MAC1D,WAAQ,oBAAoB,eAAe;AAAA,IAChD;AAEF,UAAM,6BAA6B,IAAI;AAAA,MACrC,CAAC,MAAM,SAAS;AACd,YAAI,CAAI,uBAAoB,IAAI;AAAG,eAAK,KAAK,IAAI;AACjD,eAAO;AAAA,MACT;AAAA,MACA,CAAC,kCAAkC;AAAA,IACrC;AAEA,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,SAAS,wBAAwB,GAAc,GAAc;AAC3D,QAAM,YAAY,CAAC,EAAE;AACrB,QAAM,YAAY,CAAC,EAAE;AACrB,MAAI,cAAc,WAAW;AAC3B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,WAAc,KAA8B;AACnD,MAAI,OAAO,MAAM;AACf,UAAM,IAAI,MAAM,aAAa;AAAA,EAC/B;AACA,SAAO;AACT;AAEA,SAAS,SACP,QACA,WACA,OACA,UACA,cACsB;AACtB,MAAI,EAAE,MAAM,IAAI;AAEhB,QAAM,EAAE,KAAK,YAAY,aAAa,UAAU,eAAe,IAAI;AAEnE,MAAI,eAAe,gBAAgB,cAAc;AAC/C,YAAW,WAAQ;AAAA,MACd,WAAQ,oBAAoB,YAAY;AAAA,IAC7C;AAAA,EACF,WAAW,UAAU;AACnB,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE;AAAA,QACA,CAAC,MAAM,KAAK,WAAW,cAAc,EAAE,OAAO,CAAC,CAAC;AAAA,QAChD;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,eAAe,mBAAmB,KAAK,OAAO;AAAA,IAClD,UAAU;AAAA,EACZ,CAAC;AAED,SAAO;AACT;AAEA,IAAM,sBAAsB,CAAC,cAC3B,UAAU,eAAe;AAE3B,IAAM,uBAAuB,CAAC,eAC5B,WAAW,KAAK,mBAAmB;AAErC,IAAM,sBAAsB,CAAC,eAC3B,WAAW,MAAM,mBAAmB;AAEtC,SAAS,gBACP,QACA,YACA,OACA,UACA,kBACA;AACA,QAAM,aAAa,oBAAI,IAAuB;AAE9C,QAAM,iBAAkD,CAAC;AAEzD,eAAa,UAAU,EAAE,QAAQ,CAAC,cAAc;AAC9C,UAAM,EAAE,aAAa,IAAI;AAEzB,QAAI,cAAc;AAChB,qBAAe,YAAY,IAAI,eAAe,YAAY,KAAK,CAAC;AAChE,qBAAe,YAAY,EAAE,KAAK,SAAS;AAAA,IAC7C,OAAO;AACL,YAAM,cAAc,WAAW,IAAI,UAAU,GAAG;AAEhD,iBAAW;AAAA,QACT,UAAU;AAAA,QACV,cAAc,eAAe,WAAW,WAAW,IAAI;AAAA,MACzD;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM,QAAkC,CAAC;AAEzC,MACE,OAAO,KAAK,cAAc,EAAE,SAAS,KACrC,oBAAoB,MAAM,KAAK,WAAW,OAAO,CAAC,CAAC,MAClD,qBAAqB,MAAM,KAAK,WAAW,OAAO,CAAC,CAAC,KACnD,OAAO,KAAK,cAAc,EAAE;AAAA,IAAM,CAAC,SACjC,qBAAqB,eAAe,IAAI,CAAC;AAAA,EAC3C,IACF;AACA,UAAM,kBAAkB,oBAAI,IAAY;AAExC,eAAW,gBAAgB,gBAAgB;AACzC,YAAM;AAAA,QACJ,UAAU;AAAA,UACR,GAAG,MAAM,KAAK,WAAW,OAAO,CAAC;AAAA,UACjC,GAAG,eAAe,YAAY;AAAA,QAChC,CAAC,EAAE,IAAI,CAAC,cAAc;AACpB,cAAI,UAAU,eAAe,cAAc;AACzC,4BAAgB,IAAI,UAAU,GAAG;AAAA,UACnC;AACA,iBAAO,SAAS,QAAQ,WAAW,OAAO,UAAU,YAAY;AAAA,QAClE,CAAC;AAAA,MACH;AAAA,IACF;AAKA,UAAM;AAAA,MACJ,MAAM,KAAK,eAAe,EAAE,IAAI,CAAC,kBAAkB;AACjD,cAAM,YAAY;AAAA,UAChB;AAAA,UACG,WAAQ;AAAA,YACN,WAAQ,oBAAoB,QAAQ;AAAA,UACzC;AAAA,QACF;AAEA,cAAM,uBAA0B;AAAA,UAC9B;AAAA,UACG,cAAW;AAAA,UACd;AAAA,UAEA;AAAA,QACF;AAEA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF,OAAO;AACL,QAAI,eAAe,gBAAgB,MAAM,KAAK,WAAW,OAAO,CAAC,CAAC;AAElE,eAAW,gBAAgB,gBAAgB;AACzC,qBAAe;AAAA,QACb;AAAA,QACA;AAAA,UACE,eAAe,YAAY,EAAE,IAAI,CAAC,SAAS;AAAA,YACzC,GAAG;AAAA,YACH,aAAa;AAAA,UACf,EAAE;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAEA,UAAM,qBAAqB,UAAU,MAAM,KAAK,aAAa,OAAO,CAAC,CAAC,EAAE;AAAA,MACtE,CAAC,QACC,oBAAoB,GAAG,KAAK,IAAI,eAC5B;AAAA,QACE;AAAA,QACA;AAAA,UACE,GAAG;AAAA,UACH,aAAa;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA,IAAI;AAAA,MACN,IACA,SAAS,QAAQ,KAAK,OAAO,QAAQ;AAAA,IAC7C;AAEA,UAAM,KAAK,kBAAkB;AAAA,EAC/B;AAEA,QAAM,eAAe,MAAM,IAAI,CAAC,UAAU;AACxC,QAAI,kBAAkB;AACpB,YAAM;AAAA,QACJ;AAAA,UACE;AAAA,UACG,WAAQ;AAAA,YACN,WAAQ,oBAAoB,gBAAgB;AAAA,UACjD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO,WACA,WAAQ,sBAAsB,KAAK,IACtC,0BAA0B,KAAK;AAAA,EACrC,CAAC;AAED,MAAI,aAAa,WAAW,GAAG;AAC7B,WAAO,aAAa,CAAC;AAAA,EACvB;AAEA,SAAU,WAAQ,oBAAoB,YAAY;AACpD;AAGA,SAAS,0BACP,YACoB;AACpB,SAAU,WAAQ,sBAAsB,UAAU;AACpD;AAEA,IAAM,UAAU;AAGhB,SAAS,0BAA0B,MAAgC;AACjE,MAAO,mBAAgB,IAAI,GAAG;AAC5B,WAAU,WAAQ;AAAA,MAChB;AAAA,MACG,WAAQ,gBAAgB;AAAA,QACzB,GAAG,KAAK;AAAA,QACL,WAAQ,sBAAyB,cAAW,gBAAgB;AAAA,MACjE,CAAC;AAAA,IACH;AAAA,EACF,OAAO;AACL,WAAU,WAAQ,oBAAoB;AAAA,MACpC;AAAA,MACG,WAAQ,sBAAyB,cAAW,gBAAgB;AAAA,IACjE,CAAC;AAAA,EACH;AACF;AAEA,SAAS,mBACP,cACA,MACA,UAGI,CAAC,GACiB;AACtB,QAAM,EAAE,UAAU,WAAW,KAAK,IAAI;AACtC,QAAM,YAAY,WACd,CAAI,WAAQ,YAAe,cAAW,eAAe,CAAC,IACtD;AAEJ,SAAU,WAAQ;AAAA,IAChB;AAAA,IACA,QAAQ,KAAK,YAAY,IAClB,WAAQ,iBAAiB,YAAY,IACrC,WAAQ,oBAAoB,YAAY;AAAA,IAC/C,WAAc,WAAQ,YAAe,cAAW,aAAa,IAAI;AAAA,IACjE,WAAW,0BAA0B,IAAI,IAAI;AAAA,EAC/C;AACF;AAEA,SAAS,eACP,GACA,GACA,uBAAuB,MACZ;AACX,MAAI,CAAC,GAAG;AACN,QAAI,sBAAsB;AACxB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa;AAAA,MACf;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,0BAAwB,GAAG,CAAC;AAE5B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,gBAAgB,EAAE,iBACd;AAAA,MACE,EAAE;AAAA,MACF,WAAW,EAAE,cAAc;AAAA,MAC3B;AAAA,IACF,IACA;AAAA,IACJ,aAAa,EAAE,eAAe,EAAE;AAAA,EAClC;AACF;AAEA,SAAS,gBACP,GACA,GACA,uBAAuB,MACT;AACd,QAAM,SAAS,oBAAI,IAAI;AAEvB,aAAW,CAAC,KAAK,KAAK,KAAK,MAAM,KAAK,EAAE,QAAQ,CAAC,GAAG;AAClD,WAAO,IAAI,KAAK,KAAK;AAAA,EACvB;AAEA,aAAW,CAAC,KAAK,KAAK,KAAK,MAAM,KAAK,EAAE,QAAQ,CAAC,GAAG;AAClD,WAAO,IAAI,KAAK,eAAe,EAAE,IAAI,GAAG,GAAG,OAAO,oBAAoB,CAAC;AAAA,EACzE;AAEA,SAAO;AACT;AAEA,SAAS,SAAS,MAAyB;AACzC,SAAO,QAAQ,KAAK,YAAY,KAAK,SAAS,MAAM;AACtD;AAEA,SAAS,WAAW,MAAc,MAAmB;AACnD,SAAU,WAAQ;AAAA,IAChB,CAAI,WAAQ,YAAe,cAAW,aAAa,CAAC;AAAA,IACjD,WAAQ,iBAAiB,IAAI;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,YAAY,OAAiB,YAAkC;AACtE,SACE,SACG,WAAQ;AAAA,IACT;AAAA,IACG,WAAQ;AAAA,MACT;AAAA,MACA;AAAA,MACG,WAAQ;AAAA,QACT,MAAM;AAAA,UAAI,CAAC,SACN,WAAQ;AAAA,YACT;AAAA,YACA;AAAA,YACG,WAAQ,iBAAiB,IAAI;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACG,WAAQ,oBAAoB,UAAU;AAAA,EAC3C;AAEJ;AAEA,SAAS,cACP,QACA,SACuB;AACvB,QAAM,QAAe;AAAA,IACnB,eAAe,QAAQ;AAAA,IACvB,kBAAkB,QAAQ;AAAA,IAC1B,uBAAuB,QAAQ;AAAA,IAC/B,oBAAoB,oBAAI,IAAI;AAAA,IAC5B,2BAA2B,CAAC;AAAA,IAC5B,qBAAqB,QAAQ;AAAA,IAC7B,WAAW,CAAC;AAAA,IACZ,eAAe,oBAAI,IAAI;AAAA,IACvB,UAAU,QAAQ;AAAA,IAClB,4BAA4B,QAAQ;AAAA,IACpC,oBAAoB,QAAQ;AAAA,IAC5B,aAAa,oBAAI,IAAI;AAAA,IACrB,gBAAgB,oBAAI,IAAI;AAAA,EAC1B;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,MACL,KAAK,MAAM;AACT,cAAM,qBAAqB;AAAA,UACzB;AAAA,UACA;AAAA,UACA;AAAA,QACF;AACA,cAAM,mBAAmB,yBAAyB,KAAK;AACvD,cAAM,eAAe;AAAA,UACnB,GAAG,KAAK;AAAA,UACR;AAAA,YACE;AAAA;AAAA,YAEA,KAAK;AAAA,YACL;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAEA,cAAM,iBAAiB;AAAA,UACrB;AAAA,YACE;AAAA,YACG,WAAQ,wBAAwB,aAAa,MAAM,MAAS;AAAA,UACjE;AAAA,UACA;AAAA,YACE;AAAA,YACG,WAAQ;AAAA,cACT,mBAAmB;AAAA,cACnB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAGA,YAAI;AACJ,cAAM,EAAE,gBAAgB,IAAI;AAC5B,YACE,mBACA,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,SAAS,cAAc,GACrD;AACA,4BAAkB,UAAU;AAAA,YAC1B;AAAA,YACA,6BAA6B,QAAQ,KAAK;AAAA,UAC5C;AAAA,QACF;AACA,cAAM,QAAQ,CAAC;AACf,YAAI,MAAM,eAAe,MAAM;AAC7B,gBAAM;AAAA,YACJ;AAAA,cACE,MAAM,KAAK,MAAM,cAAc,EAAE,KAAK;AAAA,cACtC;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,cAAM;AAAA,UACJ,GAAG,0BAA0B,KAAK;AAAA,UAClC,GAAG,mBAAmB,QAAQ,KAAK;AAAA,UACnC,GAAG;AAAA,UACH;AAAA,UACA;AAAA,QACF;AAEA,YAAI,iBAAiB;AACnB,qBAAW,CAAC,KAAK,GAAG,KAAK,MAAM,aAAa;AAC1C,kBAAM,KAAK,WAAW,KAAK,GAAG,CAAC;AAAA,UACjC;AAEA,yBAAe;AAAA,YACb;AAAA,cACE;AAAA,cACG,WAAQ;AAAA,gBACT,GAAG,KAAK;AAAA,gBACR;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,gBAAM,KAAK,eAAe;AAAA,QAC5B;AACA,cAAM;AAAA,UACJ,WAAW,KAAK,MAAM,0BAA0B,cAAc,CAAC;AAAA,QACjE;AACA,eAAO;AAAA,MACT;AAAA,MACA,SAAS,MAAM;AACb,cAAM,sBAAmC;AAAA;AAAA,UAEvC,KAAK;AAAA,QACP;AACA,cAAM,wBAAwB,oBAAoB;AAAA,UAChD,CAAC,MAAM,EAAE;AAAA,QACX,EAAE;AACF,cAAM,aAAa,oBAAoB,IAAI,CAAC,cAAc;AACxD,cACE,yBAAyB,KACzB,oBAAoB,SAAS,KAC7B,CAAC,OAAO,eAAe,KAAK,IAAI,GAChC;AACA,mBAAO;AAAA,cACL;AAAA,gBACE,GAAG;AAAA,gBACH,cAAc,OAAO,cAAc,KAAK,IAAI;AAAA,cAC9C;AAAA,YACF;AAAA,UACF;AACA,iBAAO,CAAC,SAAS;AAAA,QACnB,CAAC;AACD,cAAM,mBAAmB,IAAI,KAAK,IAAI;AAEtC,cAAM,eAAe,gBAAgB,KAAK,IAAI;AAC9C,cAAM,WAAc,WAAQ;AAAA,UAC1B,KAAK;AAAA,UACL;AAAA,QACF;AAEA,cAAM,cAAc,eAAe,KAAK,IAAI;AAC5C,cAAM,sBAAsB;AAAA,UAC1B;AAAA,UACG,WAAQ,wBAAwB,cAAc,MAAS;AAAA,UAC1D,EAAE,UAAU,KAAK;AAAA,QACnB;AAEA,cAAM,6BAA6B;AAAA,UACjC;AAAA,UACG,WAAQ,wBAAwB,yBAAyB;AAAA,YACvD,WAAQ;AAAA,cACN,WAAQ,oBAAoB,KAAK,IAAI;AAAA,YAC1C;AAAA,UACF,CAAC;AAAA,QACH;AACA,cAAM,mBAAmB,SAAS,IAAI;AACtC,cAAM,UAAU,0BAA0B;AAAA,UACxC;AAAA,UACA;AAAA,QACF,CAAC;AAED,cAAM,WAAW,KAAK,YAAY,QAAQ,KAAK,SAAS,SAAS;AACjE,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW,SAAY,KAAK;AAAA,QAC9B;AACA,cAAM,OAAO,SAAS,IAAI,IACnB,WAAQ;AAAA,UACN,WAAQ,iBAAiB,eAAe;AAAA,UAC3C,CAAC,QAAQ;AAAA,QACX,IACA;AACJ,cAAM,eAAe,IAAI,cAAc;AAEvC,eAAO;AAAA,UACL,YAAY,MAAM,KAAK,MAAM,cAAc,EAAE,KAAK,GAAG,eAAe;AAAA,UACpE,GAAG,mBAAmB,QAAQ,KAAK;AAAA,UACnC,WAAW,KAAK,MAAM,IAAI;AAAA,UAC1B,WAAW,cAAc,QAAQ;AAAA,UACjC;AAAA,YACE;AAAA,YACA,mBACO,WAAQ;AAAA,cACN,WAAQ,iBAAiB,eAAe;AAAA,cAC3C,CAAC,OAAO;AAAA,YACV,IACA;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,MACA,eAAe,MAAM;AACnB,eAAO;AAAA;AAAA,UAEL,KAAK;AAAA,QACP,EAAE,IAAI,CAAC,kBAAkB;AACvB,iBAAO,OAAO,eAAe,KAAK,aAAa,IAC3C;AAAA,YACE,GAAG;AAAA,YACH,aAAa;AAAA,UACf,IACA;AAAA,YACE,GAAG;AAAA,YACH,cAAc,OAAO,cAAc,KAAK,aAAa;AAAA,UACvD;AAAA,QACN,CAAC;AAAA,MACH;AAAA,MACA,UAAU,MAAiB;AACzB,eAAO;AAAA;AAAA,UAEL,KAAK;AAAA,QACP,EAAE,IAAI,CAAC,cAAc;AACnB,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,aAAa;AAAA,UACf;AAAA,QACF,CAAC;AAAA,MACH;AAAA;AAAA,MAEA,YAAY,MAAM;AAChB,eAAO,iBAAiB,QAAQ,MAAM,KAAK;AAAA,MAC7C;AAAA,MACA,aAAa;AAAA,MACb,aAAa,MAAM;AACjB,eAAO;AAAA,UACL;AAAA,YACE,KAAK;AAAA,YACL,aAAa;AAAA,YACb,OAAO;AAAA,cACL;AAAA,cACA,OAAO,iBAAiB;AAAA,cACxB;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,KAAK;AAAA,YACL,aAAa;AAAA,YACb,OAAO;AAAA,cACL;AAAA,cACA,OAAO,iBAAiB;AAAA,cACxB;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,KAAK,iBAAiB,KAAK;AAAA,YAC3B,KAAK,KAAK;AAAA,UACZ;AAAA,QACF;AAAA,MACF;AAAA,MACA,eAAe,MAAM;AACnB,cAAM,cAAc,IAAI,KAAK,IAAI;AACjC,eAAO;AAAA,UACL;AAAA,YACE,KAAK,iBAAiB,KAAK;AAAA,YAC3B,KAAK,KAAK;AAAA,UACZ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,QAAgB,MAAmB,OAAc;AACzE,SAAO;AAAA,IACL;AAAA,MACE,KAAK,KAAK,SAAS,KAAK;AAAA,MACxB,YAAY,KAAK;AAAA,MACjB,OAAO,oBAAoB,QAAQ,KAAK,MAAM,KAAK;AAAA,IACrD;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,MAAmB;AAC3C,SAAO;AAAA,IACL;AAAA,MACE,KAAK,KAAK,SAAS,KAAK;AAAA,MACxB,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,MACf,gBAAgB;AAAA,QACd;AAAA;AAAA,UAEE,KAAK;AAAA,QACP;AAAA;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,oBACP,QACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACA,OACA,cACA;AACA,MAAI,SAAS,gBAAgB;AAG3B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,MAAI,eAAe,gBAAgB,cAAc;AAC/C,YAAW,WAAQ;AAAA,MACd,WAAQ,oBAAoB,YAAY;AAAA,IAC7C;AAAA,EACF,WAAW,UAAU;AACnB,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE;AAAA,QACA,CAAC,MAAM,KAAK,WAAW,cAAc,EAAE,OAAO,CAAC,CAAC;AAAA,QAChD;AAAA,QACA,OAAO,eAAe,QAAQ,KAAK,OAAO,UAAU,QAAQ,IACxD,OACA,OAAO,cAAc,QAAQ;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AAEA,QAAM,eAAe,mBAAmB,KAAK,OAAO;AAAA,IAClD,UAAU;AAAA,EACZ,CAAC;AAED,SAAO;AACT;AAEA,SAAS,gBACP,YACA,YACc;AACd,QAAM,MAAM,oBAAI,IAAI;AAEpB,aAAW,QAAQ,CAAC,cAAc;AAChC,UAAM,MACJ,cAAc,UAAU,eACpB,GAAG,UAAU,QAAQ,UAAU,iBAC/B,UAAU;AAEhB,UAAM,cAAc,IAAI,IAAI,GAAG;AAE/B,QAAI;AAAA,MACF;AAAA,MACA,cAAc,eAAe,aAAa,SAAS,IAAI;AAAA,IACzD;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAGA,SAAS,6BACP,QACA,YACA,OACA,cACA;AACA,QAAM,aAAoB,CAAC;AAC3B,QAAM,iBAAsC,CAAC;AAE7C,eAAa,UAAU,EAAE,QAAQ,CAAC,cAAc;AAC9C,UAAM,EAAE,aAAa,IAAI;AAEzB,QAAI,cAAc;AAChB,qBAAe,YAAY,IAAI,eAAe,YAAY,KAAK,CAAC;AAChE,qBAAe,YAAY,EAAE,KAAK,SAAS;AAAA,IAC7C,OAAO;AACL,iBAAW,KAAK,SAAS;AAAA,IAC3B;AAAA,EACF,CAAC;AAED,QAAM,QAAuB,CAAC;AAE9B,MAAI,OAAO,KAAK,cAAc,EAAE,QAAQ;AACtC,UAAM,gBAAgB,gBAAgB,UAAU;AAChD,eAAW,gBAAgB,gBAAgB;AACzC,YAAM,mBAAmB,MAAM;AAAA,QAC7B;AAAA,UACE;AAAA,UACA,gBAAgB,eAAe,YAAY,CAAC;AAAA,UAC5C;AAAA,QACF,EAAE,OAAO;AAAA,MACX;AACA,YAAM;AAAA,QACJ;AAAA,UACE,iBAAiB;AAAA,YAAI,CAAC,cACpB,oBAAoB,QAAQ,WAAW,OAAO,YAAY;AAAA,UAC5D;AAAA,QACF;AAAA,MACF;AACA;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,MAAI,WAAW,SAAS,GAAG;AACzB,UAAM;AAAA,MACJ;AAAA,QACE,WAAW;AAAA,UAAI,CAAC,cACd,oBAAoB,QAAQ,WAAW,OAAO,YAAY;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AACA,yBAAqB,OAAO,YAAY,QAAQ,OAAO,YAAY;AAAA,EACrE;AACA,SAAU,WAAQ,oBAAoB,KAAK;AAC7C;AAEA,SAAS,qBACP,OACA,YACA,QACA,OACA,aACM;AACN,QAAM,eAAe,WAAW,KAAK,CAAC,QAAQ,IAAI,SAAS,cAAc;AACzE,MAAI,cAAc;AAEhB,UAAM,eAAe,IAAI,gBAAgB;AACzC,UAAM;AAAA,MACD,WAAQ;AAAA,QACN,WAAQ,iBAAiB,gBAAgB;AAAA,QAC5C;AAAA,UACE,4BAA4B,aAAa,YAAa;AAAA,UACtD;AAAA,YACE,WACG,OAAO,CAAC,QAAQ,IAAI,eAAe,IAAI,EACvC;AAAA,cAAI,CAAC,cACJ,oBAAoB,QAAQ,WAAW,OAAO,WAAW;AAAA,YAC3D;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAGA,SAAS,6BACP,QACA,OACuB;AACvB,SAAO;AAAA,IACL,OAAO;AAAA,MACL,KAAK,MAAM;AACT,eAAO;AAAA,UACL,GAAG,KAAK;AAAA,UACR;AAAA,YACE;AAAA;AAAA,YAEA,KAAK;AAAA,YACL;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,eAAe,MAAM;AACnB,cAAM,gBAAgB,KAAK;AAE3B,eAAO;AAAA;AAAA,UAEL,KAAK;AAAA,QACP,EAAE,IAAI,CAAC,kBAAkB;AACvB,iBAAO,OAAO,eAAe,aAAa,IACtC,gBACA;AAAA,YACE,GAAG;AAAA,YACH,cAAc,OAAO,cAAc,aAAa;AAAA,UAClD;AAAA,QACN,CAAC;AAAA,MACH;AAAA,MACA,YAAY,MAAM;AAChB,eAAO,iBAAiB,QAAQ,MAAM,KAAK;AAAA,MAC7C;AAAA,MACA,gBAAgB,MAAM;AACpB,eAAO;AAAA;AAAA,UAEL,KAAK;AAAA,QACP,EAAE,IAAI,CAAC,SAAS;AAAA,UACd,GAAG;AAAA,UACH,aAAa;AAAA,QACf,EAAE;AAAA,MACJ;AAAA,MACA,aAAa;AAAA,MACb,UAAU,MAAM;AACd,eAAO;AAAA;AAAA,UAEL,KAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,MAAM,MAAM;AACV,eAAO;AAAA;AAAA,UAEL,KAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,OAAO,MAAM;AACX,eAAO;AAAA;AAAA,UAEL,KAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,aAAa,MAAM;AACjB,eAAO,6BAA6B,QAAQ,MAAM,KAAK;AAAA,MACzD;AAAA,MACA,eAAe,OAAO;AACpB,cAAM,IAAI;AAAA,UACR;AAAA,QAEF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAGA,SAAS,6BACP,QACA,MACA,OACa;AACb,QAAM,EAAE,YAAY,MAAM,IAAI,IAAI;AAElC,QAAM,mBAAmB,WACtB,OAAO,CAAC,QAAa,IAAI,UAAU,IAAI,CAAC,EAAE,eAAe,IAAI,EAC7D,IAAI,CAAC,QAAe,IAAI,CAAC,CAAC;AAE7B,MAAI,CAAC,MAAM,YAAY,IAAI,GAAG,GAAG;AAC/B,UAAM,MAAM;AAAA,MACV;AAAA,MACA,KAAK,WAAW;AAAA,QACd,CAAC,QAAa,IAAI,SAAS,KAAK,IAAI,CAAC,EAAE,eAAe;AAAA,MACxD;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,YAAY,IAAI,KAAK,GAAG;AAAA,EAChC;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,MACE;AAAA,MACA,MAAM;AAAA,MACN,cAAc,KAAK;AAAA,IACrB;AAAA,EACF;AACF;AAEA,SAAS,aACP,eACa;AACb,QAAM,SAAsB,CAAC;AAE7B,gBAAc,QAAQ,CAAC,UAAU,OAAO,KAAK,GAAG,KAAK,CAAC;AAEtD,SAAO;AACT;AAEA,SAAS,yBAAyB,OAAc;AAC9C,SAAO,OAAO,KAAK,MAAM,yBAAyB,EAAE,IAAI,CAAC,mBAAmB;AAC1E,UAAM,kBAAkB,MAAM,0BAA0B,cAAc;AAEtE,QAAI,oBAAoB,WAAW;AACjC,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AAAA,IACF,OAAO;AACL,aAAO,WAAW,gBAAgB,eAAe;AAAA,IACnD;AAAA,EACF,CAAC;AACH;AAEA,SAAS,2BAA2B,QAAgB,MAAY,OAAc;AAC5E,SAAO;AAAA,IACL,GAAG,KAAK;AAAA,IACR;AAAA,MACE,KAAK,oBAAoB,IAAI,CAAC,QAAQ;AACpC,eAAO;AAAA,UACL,IAAI;AAAA,UACJ,mBAAmB,QAAQ,IAAI,MAAM,KAAK;AAAA,UAC1C,EAAE,UAAU,OAAO,UAAU,CAAC,OAAO,UAAU,IAAI,IAAI,EAAE;AAAA,QAC3D;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEA,SAAS,UAAU,OAAiC;AAClD,QAAM,SAAsB,CAAC;AAE7B,QAAM,OAAiB,CAAC;AAExB,QAAM,QAAQ,CAAC,SAAS;AACtB,QAAI,KAAK,KAAK;AACZ,WAAK,KAAK,KAAK,GAAG;AAAA,IACpB,OAAO;AACL,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,EACF,CAAC;AAED,MAAI,KAAK,SAAS,GAAG;AACnB,UAAM,WAAc,WAAQ;AAAA,MAC1B,KAAK;AAAA,QAAI,CAAC,QACL,WAAQ,sBAAyB,WAAQ,oBAAoB,GAAG,CAAC;AAAA,MACtE;AAAA,IACF;AAEA,WAAO,KAAK;AAAA,MACV,KAAK;AAAA,MACL,aAAa;AAAA,MACb,OAAU,WAAQ,wBAAwB,yBAAyB;AAAA,QACjE;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAEA,SAAS,0BAA0B,OAA8B;AAC/D,MAAI,MAAM,cAAc,OAAO,GAAG;AAChC,WAAO;AAAA,MACF,WAAQ;AAAA,QACT;AAAA,QACG,WAAQ;AAAA,UACT;AAAA,UACA;AAAA,UACG,WAAQ,mBAAmB;AAAA,YACzB,WAAQ;AAAA,cACT;AAAA,cACA;AAAA,cACG,WAAQ,iBAAiB,cAAc;AAAA,YAC5C;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACG,WAAQ,oBAAoB,eAAe;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AAEA,SAAO,CAAC;AACV;AAEA,SAAS,mBACP,QACA,EAAE,kBAAkB,WAAW,mBAAmB,GAClD;AACA,QAAM,YAAY,OAAO,KAAK,SAAS,EAAE,KAAK;AAE9C,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,OAAO,qBAAqB,UAAU;AACxC,WAAO,CAAC,YAAY,WAAW,gBAAgB,CAAC;AAAA,EAClD;AAEA,MAAI,OAAO,qBAAqB,YAAY;AAC1C,WAAO,UAAU;AAAA,MAAI,CAAC,aACpB,YAAY,CAAC,QAAQ,GAAG,iBAAiB,QAAQ,CAAC;AAAA,IACpD;AAAA,EACF;AAEA,SAAO,UAAU,IAAI,CAAC,SAAS;AAC7B,UAAM,SAAS,CAAC,GAAG,OAAO,cAAc,UAAU,IAAI,CAAC,CAAC;AACxD,WAAO,KAAK;AAEZ,QAAI,CAAC,oBAAoB;AACvB,aAAO,KAAK,qBAAqB;AAAA,IACnC;AAEA,WAAO;AAAA,MACL;AAAA,MACG,WAAQ;AAAA,QACT,OAAO,IAAI,CAAC,UAAU,4BAA4B,KAAK,CAAC;AAAA,MAC1D;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,SAAS,4BAA4B,MAA2B;AAC9D,SAAU,WAAQ,sBAAyB,WAAQ,oBAAoB,IAAI,CAAC;AAC9E;AAEA,SAAS,eAAe,MAAsB;AAC5C,SAAO,GAAG;AACZ;AAEA,SAAS,gBAAgB,MAAsB;AAC7C,SAAO,GAAG;AACZ;AAIO,IAAM,aAA0C;AAAA,EAC7B;AAAA,EACV;AAAA,EACC;AAAA,EACE,sCAAqB,CAAC,CAAC;AAAA,EACX;AAC/B;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@graphitation/apollo-react-relay-duct-tape-compiler",
3
3
  "description": "The build tools to cater to @graphitation/apollo-react-relay-duct-tape's needs.",
4
4
  "license": "MIT",
5
- "version": "1.6.20",
5
+ "version": "1.7.1",
6
6
  "main": "./lib/index.js",
7
7
  "bin": {
8
8
  "duct-tape-compiler": "./lib/cli.js"
@@ -20,13 +20,13 @@
20
20
  "just": "monorepo-scripts"
21
21
  },
22
22
  "dependencies": {
23
- "@graphitation/graphql-js-tag": "^0.9.4",
23
+ "@graphitation/graphql-js-tag": "^0.10.0",
24
24
  "@graphql-tools/optimize": "^1.1.1",
25
25
  "relay-compiler": "^12.0.0",
26
26
  "yargs": "^16.2.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@graphitation/graphql-js-tag": "^0.9.4",
29
+ "@graphitation/graphql-js-tag": "^0.10.0",
30
30
  "@graphitation/supermassive-ast": "*",
31
31
  "@types/dedent": "^0.7.0",
32
32
  "@types/jest": "^26.0.22",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "peerDependencies": {
44
44
  "graphql": "^15.0.0",
45
- "@graphitation/supermassive": "^3.9.0",
45
+ "@graphitation/supermassive": "^3.10.1",
46
46
  "typescript": "^5.5.3"
47
47
  },
48
48
  "publishConfig": {