Files
30-seconds-of-code/node_modules/@gatsbyjs/relay-compiler/lib/GraphQLIRTransforms.js
2019-08-20 15:52:05 +02:00

39 lines
1.5 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* strict-local
* @format
*/
'use strict';
var FilterDirectivesTransform = require("./FilterDirectivesTransform");
var FlattenTransform = require("./FlattenTransform");
var InlineFragmentsTransform = require("./InlineFragmentsTransform");
var SkipClientFieldTransform = require("./SkipClientFieldTransform");
var SkipRedundantNodesTransform = require("./SkipRedundantNodesTransform");
var SkipUnreachableNodeTransform = require("./SkipUnreachableNodeTransform");
// Transforms applied to fragments used for reading data from a store
var FRAGMENT_TRANSFORMS = [FlattenTransform.transformWithOptions({
flattenAbstractTypes: true
}), SkipRedundantNodesTransform.transform]; // Transforms applied to queries/mutations/subscriptions that are used for
// fetching data from the server and parsing those responses.
var QUERY_TRANSFORMS = [SkipClientFieldTransform.transform, SkipUnreachableNodeTransform.transform]; // Transforms applied to the code used to process a query response.
var CODEGEN_TRANSFORMS = [InlineFragmentsTransform.transform, FlattenTransform.transformWithOptions({
flattenAbstractTypes: true
}), SkipRedundantNodesTransform.transform, FilterDirectivesTransform.transform];
module.exports = {
codegenTransforms: CODEGEN_TRANSFORMS,
fragmentTransforms: FRAGMENT_TRANSFORMS,
queryTransforms: QUERY_TRANSFORMS
};