babel-plugin-relay 4.0.0 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/babel-plugin-relay.js +2 -2
- package/babel-plugin-relay.min.js +2 -2
- package/index.js +1 -1
- package/lib/BabelPluginRelay.js +16 -2
- package/lib/GraphQLRelayDirective.js +1 -1
- package/lib/RelayQLNodeInterface.js +1 -1
- package/lib/RelayQLPrinter.js +4 -4
- package/lib/RelayQLTransformer.js +6 -6
- package/lib/RelayTransformError.js +1 -1
- package/lib/createClassicNode.js +1 -1
- package/lib/getFragmentNameParts.js +1 -1
- package/lib/getSchemaIntrospection.js +4 -4
- package/macro.js +1 -1
- package/package.json +2 -2
package/babel-plugin-relay.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
/**
|
2
|
-
* Relay
|
2
|
+
* Relay v5.0.0
|
3
3
|
*/
|
4
|
-
module.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}([function(e,t){e.exports=require("graphql")},function(e,t){e.exports=require("util")},function(e,t,n){"use strict";var i=n(1);e.exports=function(e,t){if(!e){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];throw new Error(i.format.apply(i,[t].concat(r)))}}},function(e,t,n){"use strict";e.exports=function(e,t){this.message=e,this.loc=t,this.stack=(new Error).stack}},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t){e.exports=require("path")},function(e,t,n){"use strict";var i=n(17),r=n(7);e.exports=function(e,t,n,a,o,s,u,l,c){try{var f=c.file&&c.file.opts||{};return r(n,c.opts||{},f).transform(e,a,{documentName:o,propName:s,tagName:u,enableValidation:l})}catch(e){throw t.buildCodeFrameError(i(e),Error)}}},function(e,t,n){"use strict";var i=n(18),r=n(25),a=n(0),o=a.buildASTSchema,s=a.buildClientSchema,u=new Map;e.exports=function(e,t,n){var a=u.get(e);if(!a){var l=function(e,t){var n="function"==typeof e?e():e,i="string"==typeof n?r(n,t.sourceRoot):n;if(i.__schema)return s(i);if(i.data&&i.data.__schema)return s(i.data);if(i.kind&&"Document"===i.kind)return o(i,{assumeValid:!0});throw new Error("Invalid introspection data supplied to babel-plugin-relay. The resulting schema is not an object with a `__schema` property or a schema IDL language.")}(e,n);a=new i(l,{inputArgumentName:t.inputArgumentName,snakeCase:Boolean(t.snakeCase),substituteVariables:Boolean(t.substituteVariables),validator:t.validator}),u.set(e,a)}return a}},function(e,t,n){var i=n(20);e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){i(e,t,n[t])})}return e}},function(e,t,n){var i=n(21),r=n(22),a=n(23);e.exports=function(e){return i(e)||r(e)||a()}},function(e,t,n){"use strict";e.exports=function(e,t,n){for(var i=0;i<e.length;i++)if(t.call(n,e[i],i,e))return e[i]}},function(e,t,n){"use strict";var i=n(4),r=i(n(8)),a=i(n(24)),o=n(3),s=n(10),u=n(2),l=n(1),c=n(12).GraphQLRelayDirective,f=n(13).ID,m=n(0),p=m.GraphQLBoolean,d=m.GraphQLEnumType,g=m.GraphQLFloat,h=m.GraphQLID,v=m.GraphQLInputObjectType,y=m.GraphQLInt,b=m.GraphQLInterfaceType,T=m.GraphQLList,N=m.GraphQLNonNull,w=m.GraphQLObjectType,x=m.GraphQLScalarType,E=m.GraphQLString,L=m.GraphQLUnionType,D=m.isAbstractType,A=m.SchemaMetaFieldDef,k=m.TypeMetaFieldDef,F=m.TypeNameMetaFieldDef,S=function(){function e(e,t){this.ast=t,this.context=e}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getType=function(){u(!1,"Missing Implementation")},t.getField=function(e){return s(this.getFields(),function(t){return t.getName()===e})},t.getFields=function(){var e=[];return this.getSelections().forEach(function(t){t instanceof _&&e.push(t)}),e},t.getSelections=function(){var e=this;return this.ast.selectionSet?this.ast.selectionSet.selections.map(function(t){if("Field"===t.kind)return new _(e.context,t,e.getType());if("FragmentSpread"===t.kind)return new C(e.context,t);if("InlineFragment"===t.kind)return new j(e.context,t,e.getType());throw new o(l.format("Unexpected selection kind: %s",t.kind),e.getLocation())}):[]},t.getDirectives=function(){var e=this;return(this.ast.directives||[]).map(function(t){return new M(e.context,t)})},t.hasDirective=function(e){return(this.ast.directives||[]).some(function(t){return t.name.value===e})},t.isPattern=function(){return this.context.isPattern},e}(),R=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getName=function(){return this.ast.name?this.ast.name.value:this.getType().getName({modifiers:!1})},t}(S),V=function(e){function t(t,n,i){var a,o={},u=s(n.directives||[],function(e){return"relay"===e.name.value});u&&(u.arguments||[]).forEach(function(e){o[e.name.value]=e.value});var l=o.pattern&&"BooleanValue"===o.pattern.kind&&o.pattern.value;return(a=e.call(this,(0,r.default)({},t,{isPattern:l}),n)||this).parentType=i,a}return(0,a.default)(t,e),t.prototype.getType=function(){var e=this.ast.typeCondition;if(e){for(;"NamedType"!==e.kind;)e=e.type;return new U(this.context,this.context.schema.getType(e.name.value))}if("InlineFragment"===this.ast.kind){if(!this.parentType)throw new o("Cannot get type of typeless inline fragment without parent type.",this.getLocation());return this.parentType}throw new o(l.format("Unexpected fragment kind: %s",this.ast.kind),this.getLocation())},t}(R),I=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getMutationType())},t}(R),Q=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getQueryType())},t}(R),P=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getSubscriptionType())},t}(R),_=function(e){function t(t,n,i){var r,a=(r=e.call(this,t,n)||this).ast.name.value,s=i.getFieldDefinition(a,n);if(!s)throw new o(l.format("You supplied a field named `%s` on type `%s`, but no such field exists on that type.",a,i.getName({modifiers:!1})),r.getLocation());return r.fieldDef=s,r}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getAlias=function(){return this.ast.alias?this.ast.alias.value:null},n.getType=function(){return this.fieldDef.getType()},n.hasArgument=function(e){return this.getArguments().some(function(t){return t.getName()===e})},n.findArgument=function(e){return s(this.getArguments(),function(t){return t.getName()===e})},n.getArguments=function(){var e=this,t=this.fieldDef.getDeclaredArguments();return(this.ast.arguments||[]).map(function(n){var i=n.name.value,r=t[i];if(!r)throw new o(l.format("You supplied an argument named `%s` on field `%s`, but no such argument exists on that field.",i,e.getName()),e.getLocation());return new O(e.context,n,r)})},n.hasDeclaredArgument=function(e){return this.fieldDef.getDeclaredArguments().hasOwnProperty(e)},n.getDeclaredArgument=function(e){return this.fieldDef.getArgument(e)},n.getDeclaredArguments=function(){return this.fieldDef.getDeclaredArguments()},t}(S),C=function(e){function t(){return e.apply(this,arguments)||this}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getSelections=function(){throw new o("Cannot get selection of a fragment spread.",this.getLocation())},t}(S),j=function(e){function t(t,n,i){var r;return(r=e.call(this,t,n)||this).parentType=i,r}return(0,a.default)(t,e),t.prototype.getFragment=function(){return new V(this.context,this.ast,this.parentType)},t}(S),M=function(){function e(e,t){var n=this;this.ast=t,this.context=e,this.argTypes={};var i=t.name.value,r=i===c.name?c:e.schema.getDirective(i);if(!r)throw new o(l.format("You supplied a directive named `%s`, but no such directive exists.",i),this.getLocation());r.args.forEach(function(e){n.argTypes[e.name]=new G(e.type)})}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getArguments=function(){var e=this;return(this.ast.arguments||[]).map(function(t){var n=t.name.value,i=e.argTypes[n];if(!i)throw new o(l.format("You supplied an argument named `%s` on directive `%s`, but no such argument exists on that directive.",n,e.getName()),e.getLocation());return new O(e.context,t,i)})},e}(),O=function(){function e(e,t,n){this.ast=t,this.context=e,this.type=n}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getType=function(){return this.type},t.isVariable=function(){return"Variable"===this.ast.value.kind},t.getVariableName=function(){if("Variable"!==this.ast.value.kind)throw new o("Cannot get variable name of an argument value.",this.getLocation());return this.ast.value.name.value},t.getValue=function(){var t=this;if(this.isVariable())throw new o("Cannot get value of an argument variable.",this.getLocation());var n=this.ast.value;return"ListValue"===n.kind?n.values.map(function(n){return new e(t.context,(0,r.default)({},t.ast,{value:n}),t.type.ofType())}):Y(n)},e}(),U=function(){function e(e,t){this.context=e;var n=q(t),i=n.isListType,r=n.isNonNullType,a=n.schemaUnmodifiedType;this.isListType=i,this.isNonNullType=r,this.schemaUnmodifiedType=a,this.schemaModifiedType=t}var t=e.prototype;return t.canHaveSubselections=function(){return!(this.schemaUnmodifiedType instanceof x||this.schemaUnmodifiedType instanceof d)},t.getName=function(e){return e.modifiers?this.schemaModifiedType.toString():this.schemaUnmodifiedType.toString()},t.hasField=function(e){return!!this.getFieldDefinition(e)},t.getFieldDefinition=function(e,t){var n,i=this.schemaUnmodifiedType,r=i===this.context.schema.getQueryType(),a=i instanceof w||i instanceof b||i instanceof L,o=i instanceof w||i instanceof b;if(r&&e===A.name?n=A:r&&e===k.name?n=k:a&&e===F.name?n=F:o&&(n=i.getFields()[e]),!n&&D(i)&&t&&t.directives&&t.directives.some(function(e){return"fixme_fat_interface"===e.name.value}))for(var u=this.context.schema.getPossibleTypes(i),l=function(i){var r=u[i].getFields()[e];if(r&&(n=r,t&&t.arguments&&t.arguments.every(function(e){return s(r.args,function(t){return t.name===e.name.value})})))return"break"},c=0;c<u.length;c++){if("break"===l(c))break}return n?new B(this.context,n):null},t.getInterfaces=function(){var t=this;return this.schemaUnmodifiedType instanceof w?this.schemaUnmodifiedType.getInterfaces().map(function(n){return new e(t.context,n)}):[]},t.getConcreteTypes=function(){var t=this;return this.isAbstract()||u(!1,"Cannot get concrete types of a concrete type."),this.context.schema.getPossibleTypes(this.schemaUnmodifiedType).map(function(n){return new e(t.context,n)})},t.getIdentifyingFieldDefinition=function(){return this.alwaysImplements("Node")?this.getFieldDefinition(f):null},t.isAbstract=function(){return D(this.schemaUnmodifiedType)},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isQueryType=function(){return this.schemaUnmodifiedType===this.context.schema.getQueryType()},t.isConnection=function(){if(!/Connection$/.test(this.getName({modifiers:!1})))return!1;var e=this.getFieldDefinition("edges");if(!e||!e.getType().canHaveSubselections())return!1;var t=e.getType().getFieldDefinition("node");if(!t||!t.getType().canHaveSubselections())return!1;var n=e.getType().getFieldDefinition("cursor");return!(!n||n.getType().canHaveSubselections())},t.isConnectionEdge=function(){return/Edge$/.test(this.getName({modifiers:!1}))&&this.hasField("node")&&this.hasField("cursor")},t.isConnectionPageInfo=function(){return"PageInfo"===this.getName({modifiers:!1})},t.alwaysImplements=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().every(function(t){return t.alwaysImplements(e)})},t.mayImplement=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().some(function(t){return t.alwaysImplements(e)})},t.generateField=function(e){var t={kind:"Field",name:{kind:"Name",value:e}};return new _(this.context,t,this)},t.generateIdFragment=function(){return new V(this.context,{kind:"Fragment",name:{kind:"Name",value:"IdFragment"},typeCondition:{kind:"NamedType",name:{value:"Node"}}},this)},e}(),B=function(){function e(e,t){this.context=e,this.schemaFieldDef=t}var t=e.prototype;return t.getName=function(){return this.schemaFieldDef.name},t.getType=function(){return new U(this.context,this.schemaFieldDef.type)},t.hasArgument=function(e){return this.schemaFieldDef.args.some(function(t){return t.name===e})},t.getArgument=function(e){var t=s(this.schemaFieldDef.args,function(t){return t.name===e});return t||u(!1,"You tried to get an argument named `%s` on field `%s`, but no such argument exists on that field.",e,this.getName()),new G(t.type)},t.getDeclaredArguments=function(){var e={};return this.schemaFieldDef.args.forEach(function(t){e[t.name]=new G(t.type)}),e},e}(),G=function(){function e(e){var t=q(e),n=t.isListType,i=t.isNonNullType,r=t.schemaUnmodifiedType;this.isListType=n,this.isNonNullType=i,this.schemaUnmodifiedArgType=r,this.schemaModifiedArgType=e}var t=e.prototype;return t.getName=function(e){return e.modifiers?this.schemaModifiedArgType.toString():this.schemaUnmodifiedArgType.toString()},t.ofType=function(){return this.isList()||this.isNonNull()||u(!1,"Can only get type of list or non-null type."),new e(this.schemaUnmodifiedArgType)},t.isCustomScalar=function(){return this.isScalar()&&!(this.schemaUnmodifiedArgType===p||this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===h||this.schemaUnmodifiedArgType===y||this.schemaUnmodifiedArgType===E)},t.isBoolean=function(){return this.schemaUnmodifiedArgType===p},t.isEnum=function(){return this.schemaUnmodifiedArgType instanceof d},t.isID=function(){return this.schemaUnmodifiedArgType===h},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isNumber=function(){return this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===y},t.isObject=function(){return this.schemaUnmodifiedArgType instanceof v},t.isScalar=function(){return this.schemaUnmodifiedArgType instanceof x},t.isString=function(){return this.schemaUnmodifiedArgType===E},e}();function q(e){for(var t=!1,n=!1,i=e;;){if(i instanceof T)t=!0;else{if(!(i instanceof N))break;n=!0}i=i.ofType}return{isListType:t,isNonNullType:n,schemaUnmodifiedType:i}}function Y(e){switch(e.kind){case"IntValue":return parseInt(e.value,10);case"FloatValue":return parseFloat(e.value);case"StringValue":case"BooleanValue":case"EnumValue":return e.value;case"ListValue":return e.values.map(Y);case"NullValue":return null;case"ObjectValue":var t={};return e.fields.forEach(function(e){t[e.name.value]=Y(e.value)}),t;case"Variable":throw new o(l.format("Unexpected nested variable `%s`; variables are supported as top-level arguments - `node(id: $id)` - or directly within lists - `nodes(ids: [$id])`.",e.name.value),e.loc);default:throw new o(l.format("Unexpected value kind: %s",e.kind),e.loc)}}e.exports={RelayQLArgument:O,RelayQLArgumentType:G,RelayQLDefinition:R,RelayQLDirective:M,RelayQLField:_,RelayQLFieldDefinition:B,RelayQLFragment:V,RelayQLFragmentSpread:C,RelayQLInlineFragment:j,RelayQLMutation:I,RelayQLNode:S,RelayQLQuery:Q,RelayQLSubscription:P,RelayQLType:U}},function(e,t,n){"use strict";var i="directive @relay(\n # Marks a connection field as containing nodes without 'id' fields.\n # This is used to silence the warning when diffing connections.\n isConnectionWithoutNodeID: Boolean,\n\n # Marks a fragment as intended for pattern matching (as opposed to fetching).\n # Used in Classic only.\n pattern: Boolean,\n\n # Marks a fragment as being backed by a GraphQLList.\n plural: Boolean,\n\n # Marks a fragment spread which should be unmasked if provided false\n mask: Boolean = true,\n\n # Selectively pass variables down into a fragment. Only used in Classic.\n variables: [String!],\n) on FRAGMENT_DEFINITION | FRAGMENT_SPREAD | INLINE_FRAGMENT | FIELD",r=(0,n(0).buildSchema)(i+"\ntype Query { x: String }").getDirective("relay");if(!r)throw new Error("Failed to create GraphQLRelayDirective.");e.exports={SCHEMA_EXTENSION:i,GraphQLRelayDirective:r}},function(e,t,n){"use strict";e.exports={ID:"id"}},function(e,t,n){"use strict";var i=n(15),r=n(6),a=n(31),o=n(32),s=n(33),u=n(2);e.exports=function(e){var t=e.types;if(!t)throw new Error('BabelPluginRelay: Expected plugin context to include "types", but got:'+String(e));var n={TaggedTemplateExpression:function(e,n){var l=o(e);if(l)i(t,e,n,l);else{var c=s(e),f=c[0],m=c[1],p=c[2];if(f&&m){var d=n.opts&&n.opts.schema;d||u(!1,'babel-plugin-relay: Missing schema option. Check your .babelrc file or wherever you configure your Babel plugins to ensure the "relay" plugin has a "schema" option.\nhttps://facebook.github.io/relay/docs/babel-plugin-relay.html#additional-options');var g=a(e,n);e.replaceWith(r(t,e,d,f,g,p,m,!0,n))}}}};return{visitor:{Program:function(e,t){e.traverse(n,t)}}}}},function(e,t,n){"use strict";var i=n(16),r=n(28),a=n(29);e.exports=function(e,t,n,o){if(1!==o.definitions.length)throw new Error("BabelPluginRelay: Expected exactly one definition per graphql tag.");var s=o.definitions[0];if("FragmentDefinition"!==s.kind&&"OperationDefinition"!==s.kind)throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+s.kind+"`.");return function(e,t,n){for(var i=t.scope;i.parent;)i=i.parent;if(t.scope===i)t.replaceWith(n);else{var r=i.generateDeclaredUidIdentifier("graphql");t.replaceWith(e.logicalExpression("||",r,e.assignmentExpression("=",r,n)))}}(e,t,function(e,t,n,o){var s=Boolean(t.opts&&t.opts.compat),u=Boolean(t.opts&&t.opts.haste),l=t.opts&&t.opts.isDevVariable,c=t.opts&&t.opts.artifactDirectory,f=t.opts&&t.opts.buildCommand||"relay-compiler",m="production"!==(process.env.BABEL_ENV||"development"),p=a(e,o,t,{artifactDirectory:c,buildCommand:f,isDevelopment:m,isHasteMode:u,isDevVariable:l});return s?r(e,p,i(e,n,o,t)):p}(e,n,t,s))}},function(e,t,n){"use strict";var i=n(0),r=n(6),a=n(7),o=n(27),s=n(2);function u(e,t){var n=0,r={},a={},o=null,u={Directive:function(e){switch(e.name.value){case"inline":throw new Error("@inline is only available in pure RelayModern mode.");case"argumentDefinitions":if(o)throw new Error("BabelPluginRelay: Expected only one @argumentDefinitions directive");return o=e.arguments,null;case"connection":return null;default:return e}},FragmentSpread:function(t){var i=t.directives,o=t.name.value,u=null,l=null,c=!0;if(0===i.length)l=o;else{var f=i[0];switch(1!==i.length&&s(!1,"BabelPluginRelay: Cannot use both `@arguments` and `@relay(mask: false)` on the same fragment spread when in compat mode."),f.name.value){case"arguments":case"uncheckedArguments_DEPRECATED":var d={};f.arguments.forEach(function(t){var n=t.value;"Variable"===n.kind&&(a[n.name.value]=null);var i=function(e,t){var n=t.name.value,i=t.value,r=null;switch(i.kind){case"Variable":var a=i.name.value;r=p(e,{kind:e.stringLiteral("CallVariable"),callVariableName:e.stringLiteral(a)});break;default:r=m(e,i)}return{name:n,ast:r}}(e,t);d[i.name]=i.ast}),u=p(e,d),l=o+"_args"+ ++n;break;case"relay":var g=f.arguments;(1!==g.length||"mask"!==g[0].name.value)&&s(!1,"BabelPluginRelay: Expected `@relay` directive to only have `mask` argument in compat mode, but get %s",g[0].name.value),l=o,c=!1!==g[0].value.value;break;default:throw new Error("BabelPluginRelay: Unsupported directive `"+f.name.value+"` on fragment spread `..."+o+"`.")}}return l||s(!1,"BabelPluginRelay: Expected `substitutionName` to be non-null"),r[l]={name:o,args:u,isMasked:c},Object.assign({},t,{name:{kind:"Name",value:l},directives:[]})},Variable:function(e){return a[e.name.value]=null,e}};return{classicAST:i.visit(t,u),fragments:r,variables:a,argumentDefinitions:o}}var l="RelayQL_GENERATED";function c(e,t,n,i){var r=[e.returnStatement(t)];return n.length>0&&r.unshift(e.variableDeclaration("const",n)),e.functionExpression(null,[e.identifier(l)],e.blockStatement(r))}function f(e,t,n){return p(e,{defaultValue:n,kind:e.stringLiteral("LocalArgument"),name:e.stringLiteral(t)})}function m(e,t){switch(t.kind){case"BooleanValue":return e.booleanLiteral(t.value);case"IntValue":return e.numericLiteral(parseInt(t.value,10));case"FloatValue":return e.numericLiteral(parseFloat(t.value));case"StringValue":case"EnumValue":return e.stringLiteral(t.value);case"ListValue":return e.arrayExpression(t.values.map(function(t){return m(e,t)}));default:throw new Error("BabelPluginRelay: Unsupported literal type `"+t.kind+"`.")}}function p(e,t){return e.objectExpression(Object.keys(t).map(function(n){return e.objectProperty(e.identifier(n),t[n])}))}function d(e){var t=e.opts&&e.opts.schema;return t||s(!1,'babel-plugin-relay: Missing schema option. Check your .babelrc file or wherever you configure your Babel plugins to ensure the "relay" plugin has a "schema" option.\nhttps://facebook.github.io/relay/docs/babel-plugin-relay.html#additional-options'),t}function g(e,t,n,a){var s=d(a),u=o(n.name.value),c=u[0],f=u[1],m=i.print(n),p=e.templateLiteral([e.templateElement({raw:m,cooked:m},!0)],[]);return r(e,t,s,p,c,f,l,!1,a)}function h(e,t,n){return Object.keys(n).map(function(i){var r=n[i],a=o(r.name),u=a[0],c=a[1];if(r.isMasked)return e.variableDeclarator(e.identifier(i),function(e,t,n,i,r){var a=[];i&&a.push(e.stringLiteral(i));r&&a.push(r);var o=function(e,t){var n=e.scope.getBinding(t);if(!n)return!1;if("module"===n.kind)return!1;if(n.path.isVariableDeclarator()&&n.path.get("init").node&&n.path.get("init.callee").isIdentifier({name:"require"}))return!1;return!0}(t,n)?e.logicalExpression("||",e.memberExpression(e.identifier(n),e.identifier("__container__")),e.identifier(n)):e.identifier(n);return e.callExpression(e.memberExpression(o,e.identifier("getFragment")),a)}(e,t,u,c,r.args));t.scope.hasBinding(u)||t.scope.hasBinding(c)||s(!1,"BabelPluginRelay: Please make sure module '".concat(u,"' is imported and not renamed or the\n fragment '").concat(r.name,"' is defined and bound to local variable '").concat(c,"'. "));var f=t.scope.hasBinding(c)?e.memberExpression(e.identifier(c),e.identifier(c)):e.logicalExpression("||",e.memberExpression(e.memberExpression(e.identifier(u),e.identifier(c)),e.identifier(c)),e.memberExpression(e.identifier(u),e.identifier(c)));return e.variableDeclarator(e.identifier(i),e.memberExpression(e.callExpression(e.memberExpression(e.identifier(l),e.identifier("__getClassicFragment")),[f,e.booleanLiteral(!0)]),e.identifier("node")))})}e.exports=function(e,t,n,i){if("FragmentDefinition"===n.kind)return function(e,t,n,i){var r=u(e,n),a=r.classicAST,o=r.fragments,s=r.variables,l=r.argumentDefinitions,d=h(e,t,o),v=p(e,{kind:e.stringLiteral("FragmentDefinition"),argumentDefinitions:function(e,t,n){var i=[];return Object.keys(n).forEach(function(n){var r=(t||[]).find(function(e){return e.name.value===n});if(r){var a=r.value.fields.find(function(e){return"defaultValue"===e.name.value}),o=a?m(e,a.value):e.nullLiteral();i.push(f(e,n,o))}else i.push(function(e,t){return e.objectExpression([e.objectProperty(e.identifier("kind"),e.stringLiteral("RootArgument")),e.objectProperty(e.identifier("name"),e.stringLiteral(t))])}(e,n))}),e.arrayExpression(i)}(e,l,s),node:g(e,t,a,i)});return c(e,v,d)}(e,t,n,i);if("OperationDefinition"===n.kind)return function(e,t,n,i){var r=n.name;if(!r)throw new Error("GraphQL operations must contain names");var o=u(e,n),s=o.classicAST,l=o.fragments,v=h(e,t,l),y="query"===s.operation?function(e,t,n,i){var r,o=d(i),s=i.file&&i.file.opts||{},u=a(o,i.opts||{},s);switch(n.operation){case"query":var l=u.schema.getQueryType();if(!l)throw new Error("Schema does not contain a root query type.");r=l.name;break;case"mutation":var c=u.schema.getMutationType();if(!c)throw new Error("Schema does not contain a root mutation type.");r=c.name;break;case"subscription":var f=u.schema.getSubscriptionType();if(!f)throw new Error("Schema does not contain a root subscription type.");r=f.name;break;default:throw new Error("BabelPluginRelay: Unexpected operation type: `"+n.operation+"`.")}var m={kind:"FragmentDefinition",loc:n.loc,name:{kind:"Name",value:n.name.value},typeCondition:{kind:"NamedType",name:{kind:"Name",value:r}},directives:n.directives,selectionSet:n.selectionSet};return g(e,t,m,i)}(e,t,s,i):g(e,t,s,i),b=p(e,{kind:e.stringLiteral("OperationDefinition"),argumentDefinitions:function(e,t){return t?e.arrayExpression(t.map(function(t){var n=t.variable.name.value,i=t.defaultValue?m(e,t.defaultValue):e.nullLiteral();return f(e,n,i)})):e.arrayExpression([])}(e,n.variableDefinitions),name:e.stringLiteral(r.value),operation:e.stringLiteral(s.operation),node:y});return c(e,b,v)}(e,t,n,i);throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+n.kind+"`.")}},function(e,t,n){"use strict";var i=n(3),r=n(1);e.exports=function(e){if(e instanceof i)return"Relay Transform Error: ".concat(e.message);var t=e.sourceText,n=e.validationErrors;if(n&&t){var a=t.split("\n");return n.map(function(e){return"GraphQL Validation Error: "+e.message+"\n"+e.locations.map(function(e){var t=a[e.line-1];return t&&[">","> "+t,"> "+" ".repeat(e.column-1)+"^^^"].join("\n")}).filter(Boolean).join("\n")}).join("\n")}return r.format("Relay Transform Error: %s\n\n%s",e.message,e.stack)}},function(e,t,n){"use strict";var i=n(19),r=n(2),a=n(1),o=n(11),s=o.RelayQLFragment,u=o.RelayQLMutation,l=o.RelayQLQuery,c=o.RelayQLSubscription,f=n(0),m=f.formatError,p=f.parse,d=f.Source,g=f.validate,h=f.FieldsOnCorrectTypeRule,v=f.FragmentsOnCompositeTypesRule,y=f.KnownArgumentNamesRule,b=f.KnownTypeNamesRule,T=f.PossibleFragmentSpreadsRule,N=f.ValuesOfCorrectTypeRule,w=f.VariablesInAllowedPositionRule,x=function(){function e(e,t){this.schema=e,this.options=t}var t=e.prototype;return t.transform=function(e,t,n){var r=this.processTemplateLiteral(t,n.documentName),a=r.substitutions,o=r.templateText,s=r.variableNames,u=this.processTemplateText(o,n),l=this.processDocumentText(u,n);return new(i(e,this.options))(n.tagName,s).print(l,a,n.enableValidation)},t.processTemplateLiteral=function(e,t){var n=this,i=[],a={},o=[];return e.quasis.forEach(function(s,u){var l=s.value.cooked;if(i.push(l),!s.tail){var c="RQL_"+u,f=e.expressions[u];o.push({name:c,value:f}),/:\s*$/.test(l)?(n.options.substituteVariables||r(!1,"You supplied a GraphQL document named `%s` that uses template substitution for an argument value, but variable substitution has not been enabled.",t),i.push("$"+c),a[c]=void 0):i.push("..."+c)}}),{substitutions:o,templateText:i.join("").trim(),variableNames:a}},t.processTemplateText=function(e,t){var n=t.documentName,i=t.propName,a=/^(fragment|mutation|query|subscription)\s*(\w*)?([\s\S]*)/.exec(e);a||r(!1,"You supplied a GraphQL document named `%s` with invalid syntax. It must start with `fragment`, `mutation`, `query`, or `subscription`.",n);var o=a[1],s=a[2]||n,u=a[3];return"fragment"===o&&"on"===s&&(s=n+(i?"_"+E(i):"")+"RelayQL",u="on"+u),o+" "+E(s)+" "+u},t.processDocumentText=function(e,t){var n=t.documentName,i=t.enableValidation,o=p(new d(e,n)),f=i?this.validateDocument(o,n):null;if(f){var m=new Error(a.format("You supplied a GraphQL document named `%s` with validation errors.",n));throw m.validationErrors=f,m.sourceText=e,m}var g=o.definitions[0],h={definitionName:E(n),isPattern:!1,generateID:function(){var e=0;return function(){return(e++).toString(32)}}(),schema:this.schema};if("FragmentDefinition"===g.kind)return new s(h,g);if("OperationDefinition"===g.kind){if("mutation"===g.operation)return new u(h,g);if("query"===g.operation)return new l(h,g);if("subscription"===g.operation)return new c(h,g);r(!1,"Unsupported operation: %s",g.operation)}else r(!1,"Unsupported definition kind: %s",g.kind)},t.validateDocument=function(e,t){1!==e.definitions.length&&r(!1,"You supplied a GraphQL document named `%s` with %d definitions, but it must have exactly one definition.",t,e.definitions.length);var n,i=this.options.validator;if(i)n=i().validate(this.schema,e);else{var a=[h,v,y,b,T,N,w];n=g(this.schema,e,a)}return n&&n.length>0?n.map(m):null},e}();function E(e){return e[0].toUpperCase()+e.slice(1)}e.exports=x},function(e,t,n){"use strict";var i=n(4),r=i(n(8)),a=i(n(9)),o=n(3),s=n(10),u=n(1),l=n(11),c=l.RelayQLField,f=l.RelayQLFragment,m=l.RelayQLFragmentSpread,p=l.RelayQLInlineFragment,d=l.RelayQLMutation,g=l.RelayQLQuery,h=l.RelayQLSubscription,v=n(13).ID;e.exports=function(e,t){var n=t.snakeCase?function(e){var t={};return Object.keys(e).forEach(function(e){t[e]=e.replace(/[A-Z]/g,function(e){return"_"+e.toLowerCase()})}),t}:function(e){return e},i=e.arrayExpression([]),l=n({__typename:"__typename",clientMutationId:"clientMutationId",clientSubscriptionId:"clientSubscriptionId",cursor:"cursor",edges:"edges",hasNextPage:"hasNextPage",hasPreviousPage:"hasPreviousPage",node:"node",pageInfo:"pageInfo"}),y=t.inputArgumentName||"input",b=e.nullLiteral(),T=function(){function t(e,t){this.tagName=e,this.variableNames=t}var n=t.prototype;return n.print=function(t,n){var i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t instanceof g)i=this.printQuery(t,r);else if(t instanceof f)i=this.printFragment(t);else if(t instanceof d)i=this.printMutation(t,r);else{if(!(t instanceof h))throw new o(u.format("Unsupported definition: %s",t),t.getLocation());i=this.printSubscription(t,r)}return e.callExpression(e.functionExpression(null,n.map(function(t){return e.identifier(t.name)}),e.blockStatement([e.returnStatement(i)])),n.map(function(e){return e.value}))},n.printQuery=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the query named `%s`, but queries must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType(),s=r.getArguments(),c={},f=a.getIdentifyingFieldDefinition();f&&(c[f.getName()]=!0),a.isAbstract()&&(c[l.__typename]=!0);var m=this.printSelections(r,c),p={};if(a.isList()&&(p.isPlural=!0),a.isAbstract()&&(p.isAbstract=!0),s.length>1)throw new o(u.format("Invalid root field `%s`; Relay only supports root fields with zero or one argument.",r.getName()),t.getLocation());var d=b;if(1===s.length){var g=s[0],h=g.getName(),v=g.getType().getName({modifiers:!0});p.identifyingArgName=h,p.identifyingArgType=v,d=e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({type:v}),name:e.valueToNode(h),value:this.printArgumentValue(g)})])}return E({calls:d,children:m,directives:this.printDirectives(r.getDirectives()),fieldName:e.valueToNode(r.getName()),kind:e.valueToNode("Query"),metadata:D(p),name:e.valueToNode(t.getName()),type:e.valueToNode(a.getName({modifiers:!1}))})},n.printFragment=function(t){var n,i=this,r=t.getType(),a={};r.hasField(v)?a[v]=!0:N(t)&&(n=r.generateIdFragment()),r.isAbstract()&&(a[l.__typename]=!0);var u=this.printSelections(t,a,n?[n]:null,t.hasDirective("generated")),c=F(t),f=c&&s(c.getArguments(),function(e){return"variables"===e.getName()}),m=this.printRelayDirectiveMetadata(t,{isAbstract:r.isAbstract(),isTrackingEnabled:!!f}),p=E({children:u,directives:this.printDirectives(t.getDirectives()),id:this.printFragmentID(t),kind:e.valueToNode("Fragment"),metadata:m,name:e.valueToNode(t.getName()),type:e.valueToNode(r.getName({modifiers:!1}))});if(f){var d=f.getValue();if(!Array.isArray(d))throw new o("The variables argument to the @relay directive should be an array of strings.",t.getLocation());return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__createFragment")),[p,e.objectExpression(d.map(function(e){var t=e.getValue();return A(t,i.printVariable(t))}))])}return p},n.printFragmentID=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__id")),[])},n.printMutation=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the mutation named `%s`, but mutations must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(l.clientMutationId)&&(s[l.clientMutationId]=!0);var c=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:c,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Mutation"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSubscription=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the subscription named `%s`, but subscriptions must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(l.clientSubscriptionId)&&(s[l.clientSubscriptionId]=!0),a.hasField(l.clientMutationId)&&(s[l.clientMutationId]=!0);var c=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:c,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Subscription"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSelections=function(t,n,r){var s=this,l=arguments.length>3&&void 0!==arguments[3]&&arguments[3],f=[],d=[],g=!1;t.getSelections().forEach(function(e){if(e instanceof m){if(0!==e.getDirectives().length)throw new o("Directives are not yet supported for `${fragment}`-style fragment references.",e.getLocation());d.push(s.printFragmentReference(e)),g=!0}else if(e instanceof p)d.push(s.printFragment(e.getFragment()));else{if(!(e instanceof c))throw new o(u.format("Unsupported selection type `%s`.",e),e.getLocation());f.push(e)}}),r&&r.forEach(function(e){d.push(s.printFragment(e))});var h=this.printFields(f,t,n,l),v=(0,a.default)(h).concat(d);if(v.length){var y=e.arrayExpression(v);return g?function(t){return e.callExpression(e.memberExpression(e.memberExpression(i,e.identifier("concat")),e.identifier("apply")),[i,t])}(y):y}return b},n.printFields=function(e,t,n){var i=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=t.getType();o.isConnection()&&o.hasField(l.pageInfo)&&e.some(function(e){return e.getName()===l.edges})&&(n[l.pageInfo]=!0);var s=(0,r.default)({},n),u=[];return e.forEach(function(e){delete s[e.getName()],u.push(i.printField(e,t,n,s,a))}),Object.keys(s).forEach(function(e){var r=o.generateField(e);u.push(i.printField(r,t,n,s,a))}),u},n.printField=function(t,n,i,r){var a,s=this,c=arguments.length>4&&void 0!==arguments[4]&&arguments[4],f=t.getType(),m={},p={};f.hasField(v)?p[v]=!0:N(t)&&(a=f.generateIdFragment()),c||function(e,t){if("node"===e.getName()){var n=e.getDeclaredArguments(),i=Object.keys(n);if(!t.isQueryType()&&1===i.length&&i[0]===v)throw new o(u.format("You defined a `node(%s: %s)` field on type `%s`, but Relay requires the `node` field to be defined on the root type. See the Object Identification Guide: \nhttps://facebook.github.io/relay/docs/en/graphql-server-specification.html#object-identification",v,i[0]&&n[i[0]].getName({modifiers:!0}),t.getName({modifiers:!1})),e.getLocation())}}(t,n.getType()),f.canHaveSubselections()&&(m.canHaveSubselections=!0),f.alwaysImplements("Node")&&(m.inferredRootCallName="node",m.inferredPrimaryKey=v),f.isConnection()?(t.hasDeclaredArgument("first")||t.hasDeclaredArgument("last"))&&(c||function(e){var t=[e.findArgument("first"),e.findArgument("last"),e.findArgument("before"),e.findArgument("after")],n=t[0],i=t[1],r=t[2],a=t[3],s=!n||!i||n.isVariable()&&i.isVariable();if(!s)throw new o(u.format("Connection arguments `%s(first: <count>, last: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(last: <count>)`, or `(first: $<var>, last: $<var>)`.",e.getName()),e.getLocation());if(!(s=!n||!r||n.isVariable()&&r.isVariable()))throw new o(u.format("Connection arguments `%s(before: <cursor>, first: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(after: <cursor>, first: <count>)`, `(before: <cursor>, last: <count>)`, or `(before: $<var>, first: $<var>)`.",e.getName()),e.getLocation());if(!(s=!i||!a||i.isVariable()&&a.isVariable()))throw new o(u.format("Connection arguments `%s(after: <cursor>, last: <count>)` are not supported unless both are variables. Use `(last: <count>)`, `(before: <cursor>, last: <count>)`, `(after: <cursor>, first: <count>)`, or `(after: $<var>, last: $<var>)`.",e.getName()),e.getLocation());var c=e.getType().getFieldDefinition(l.edges).getType().getFieldDefinition(l.node).getType();x(e,function(t){if(t.getName()===l.edges||t.getName()===l.pageInfo){var n=e.isPattern()||e.hasArgument("find")||e.hasArgument("first")||e.hasArgument("last");if(!n)throw new o(u.format("You supplied the `%s` field on a connection named `%s`, but you did not supply an argument necessary for Relay to handle the connection. Please specify a limit argument like `first`, or `last` or fetch a specific item with a `find` argument.",t.getName(),e.getName()),e.getLocation())}else{var i=t.getType(),r=i.isList()&&i.getName({modifiers:!1})===c.getName({modifiers:!1});if(r)throw new o(u.format("You supplied a field named `%s` on a connection named `%s`, but pagination is not supported on connections without using `%s`. Use `%s{%s{%s{...}}}` instead.",t.getName(),e.getName(),l.edges,e.getName(),l.edges,l.node),e.getLocation())}})}(t),m.isConnection=!0,t.hasDeclaredArgument("find")&&(m.isFindable=!0)):f.isConnectionPageInfo()?(p[l.hasNextPage]=!0,p[l.hasPreviousPage]=!0):f.isConnectionEdge()&&(p[l.cursor]=!0,p[l.node]=!0),f.isAbstract()&&(m.isAbstract=!0,p[l.__typename]=!0),f.isList()&&(m.isPlural=!0),r.hasOwnProperty(t.getName())&&(m.isGenerated=!0),i.hasOwnProperty(t.getName())&&(m.isRequisite=!0);var d=this.printSelections(t,p,a?[a]:null,c),g=t.getAlias(),h=t.getArguments(),y=h.length?e.arrayExpression(h.map(function(e){return s.printArgument(e)})):b;return E({alias:g?e.valueToNode(g):b,calls:y,children:d,directives:this.printDirectives(t.getDirectives()),fieldName:e.valueToNode(t.getName()),kind:e.valueToNode("Field"),metadata:this.printRelayDirectiveMetadata(t,m),type:e.valueToNode(f.getName({modifiers:!1}))})},n.printFragmentReference=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__frag")),[e.identifier(t.getName())])},n.printArgument=function(t){var n={},i=this.printArgumentTypeForMetadata(t.getType());return i&&(n.type=i),E({kind:e.valueToNode("Call"),metadata:D(n),name:e.valueToNode(t.getName()),value:this.printArgumentValue(t)})},n.printArgumentValue=function(e){return e.isVariable()?this.printVariable(e.getVariableName()):this.printValue(e.getValue())},n.printVariable=function(t){return this.variableNames.hasOwnProperty(t)?e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__var")),[e.identifier(t)]):E({kind:e.valueToNode("CallVariable"),callVariableName:e.valueToNode(t)})},n.printValue=function(t){var n=this;return Array.isArray(t)?e.arrayExpression(t.map(function(e){return n.printArgumentValue(e)})):E({kind:e.valueToNode("CallValue"),callValue:null==t?e.nullLiteral():k(t)})},n.printDirectives=function(t){var n=this,i=[];return t.forEach(function(t){"relay"!==t.getName()&&i.push(e.objectExpression([A("kind",e.valueToNode("Directive")),A("name",e.valueToNode(t.getName())),A("args",e.arrayExpression(t.getArguments().map(function(t){return e.objectExpression([A("name",e.valueToNode(t.getName())),A("value",n.printArgumentValue(t))])})))]))}),i.length?e.arrayExpression(i):b},n.printRelayDirectiveMetadata=function(t,n){var i=[],r=F(t);if(r&&r.getArguments().forEach(function(n){if(n.isVariable())throw new o(u.format("You supplied `$%s` as the `%s` argument to the `@relay` directive, but `@relay` require scalar argument values.",n.getVariableName(),n.getName()),t.getLocation());"variables"!==n.getName()&&i.push(A(n.getName(),e.valueToNode(n.getValue())))}),n){var a=n;Object.keys(a).forEach(function(t){a[t]&&i.push(A(t,e.valueToNode(a[t])))})}return e.objectExpression(i)},n.printArgumentTypeForMetadata=function(e){return e.isBoolean()||e.isID()||e.isString()?null:e.getName({modifiers:!0})},t}();function N(e){return e.getType().mayImplement("Node")&&!e.getSelections().some(function(e){return e instanceof p&&"Node"===e.getFragment().getType().getName({modifiers:!1})})}function w(e){var t=e.getDeclaredArguments(),n=Object.keys(t);if(1!==n.length)throw new o(u.format("Your schema defines a mutation field `%s` that takes %d arguments, but mutation fields must have exactly one argument named `%s`.",e.getName(),n.length,y),e.getLocation());if(n[0]!==y)throw new o(u.format("Your schema defines a mutation field `%s` that takes an argument named `%s`, but mutation fields must have exactly one argument named `%s`.",e.getName(),n[0],y),e.getLocation());var i=e.getArguments();if(i.length>1)throw new o(u.format("There are %d arguments supplied to the mutation field named `%s`, but mutation fields must have exactly one `%s` argument.",i.length,e.getName(),y),e.getLocation())}var x=function e(t,n){t.getSelections().forEach(function(t){t instanceof c?n(t):t instanceof p&&e(t.getFragment(),n)})};function E(t){var n=[];return Object.keys(t).forEach(function(e){var i=t[e];i!==b&&n.push(A(e,i))}),e.objectExpression(n)}function L(t){return t.split(".").reduce(function(t,n){return t?e.memberExpression(t,e.identifier(n)):e.identifier(n)},null)}function D(t){var n=[];return Object.keys(t).forEach(function(i){var r=t[i];r&&n.push(A(i,e.valueToNode(r)))}),e.objectExpression(n)}function A(t,n){return e.objectProperty(e.identifier(t),n)}function k(t){if(null==t)return b;if(Array.isArray(t))return e.arrayExpression(t.map(k));if("object"==typeof t&&null!=t){var n=t;return e.objectExpression(Object.keys(n).map(function(e){return A(e,k(n[e]))}))}return e.valueToNode(t)}function F(e){return s(e.getDirectives(),function(e){return"relay"===e.getName()})}return T}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){"use strict";var i=n(26),r=n(5),a=n(12).SCHEMA_EXTENSION,o=n(0).parse;function s(e,t){var n=!i.existsSync(e)&&t?r.join(t,e):e;return i.readFileSync(n,"utf8")}e.exports=function(e,t){try{var n=e.split(",");if(n.length>1)return o(a+"\n"+n.map(function(e){return s(e,t)}).join("\n"));var i=s(e,t);return"{"===i[0]?JSON.parse(i):o(a+"\n"+i)}catch(t){throw console.error("Encountered the following error while loading the GraphQL schema: "+e+"\n\n"+t.stack.split("\n").map(function(e){return"> "+e}).join("\n")),t}}},function(e,t){e.exports=require("fs")},function(e,t,n){"use strict";var i="data";e.exports=function(e){var t=e.match(/^([a-zA-Z][a-zA-Z0-9]*)(?:_([a-zA-Z][_a-zA-Z0-9]*))?$/);if(!t)throw new Error("BabelPluginGraphQL: Fragments should be named `ModuleName_fragmentName`, got `"+e+"`.");var n=t[1],r=t[2];if(r===i)throw new Error("BabelPluginGraphQL: Fragment `"+e+"` should not end in `_data` to avoid conflict with a fragment named `"+n+"` which also provides resulting data via the React prop `data`. Either rename this fragment to `"+n+"` or choose a different prop name.");return[n,r||i]}},function(e,t,n){"use strict";e.exports=function(e,t,n){return e.objectExpression([e.objectProperty(e.identifier("modern"),t),e.objectProperty(e.identifier("classic"),n)])}},function(e,t,n){"use strict";var i=n(4)(n(9)),r=n(30),a=n(2),o=n(5),s=n(0).print,u="./__generated__/";e.exports=function(e,t,n,l){var c=t.name&&t.name.value;if(!c)throw new Error("GraphQL operations and fragments must contain names");var f=c+".graphql",m=l.isHasteMode?f:l.artifactDirectory?function(e,t,n){null==e.file&&a(!1,"babel state file is null");var i=e.file.opts.filename,r=o.relative(o.dirname(i),o.resolve(t));return(0!==r.length&&r.startsWith(".")?"":"./")+o.join(r,n)}(n,l.artifactDirectory,f):u+f,p=r.createHash("md5").update(s(t),"utf8").digest("hex"),d=e.callExpression(e.identifier("require"),[e.stringLiteral(m)]),g=[e.returnStatement(d)];if(null!=l.isDevVariable||l.isDevelopment){var h=e.identifier("node"),v=e.memberExpression(h,e.identifier("hash")),y=[e.variableDeclaration("const",[e.variableDeclarator(h,d)]),e.ifStatement(e.logicalExpression("&&",v,e.binaryExpression("!==",v,e.stringLiteral(p))),e.blockStatement([e.expressionStatement(function(e,t,n){return e.callExpression(e.memberExpression(e.identifier("console"),e.identifier("error")),[e.stringLiteral("The definition of '".concat(t,"' appears to have changed. Run ")+"`"+n+"` to update the generated files to receive the expected data.")])}(e,c,l.buildCommand))]))];null!=l.isDevVariable&&(y=[e.ifStatement(e.identifier(l.isDevVariable),e.blockStatement(y))]),g.unshift.apply(g,(0,i.default)(y))}return e.functionExpression(null,[],e.blockStatement(g))}},function(e,t){e.exports=require("crypto")},function(e,t,n){"use strict";var i=n(5).basename,r="providesModule";e.exports=function(e,t){for(var n=e;n.parentPath;)n=n.parentPath;var a=n.documentName;if(!a){var o=n.parent;if(o.comments&&o.comments.length)for(var s,u=o.comments[0].value||"",l=/@(\S+) *(\S*)/g;s=l.exec(u);){var c=s[1],f=s[2];if(c===r){a=f.replace(/[\.-:]/g,"_");break}}var m=t.file&&t.file.opts&&t.file.opts.filename&&i(t.file.opts.filename);if(m&&!a){var p=m.match(/^[_A-Za-z][_0-9A-Za-z]*/);p&&(a=p[0])}a=a||"UnknownFile",n.documentName=a}return a}},function(e,t,n){"use strict";var i=n(0);e.exports=function(e){if(!e.get("tag").isIdentifier({name:"graphql"}))return null;var t=e.node.quasi.quasis;if(1!==t.length)throw new Error("BabelPluginRelay: Substitutions are not allowed in graphql fragments. Included fragments should be referenced as `...MyModule_propName`.");var n=t[0].value.raw,r=i.parse(n);if(0===r.definitions.length)throw new Error("BabelPluginRelay: Unexpected empty graphql tag.");return r}},function(e,t,n){"use strict";e.exports=function(e){var t=e.node,n=e.get("tag"),i=n.matchesPattern("Relay.QL")?"Relay.QL":n.matchesPattern("RelayClassic_DEPRECATED.QL")?"RelayClassic_DEPRECATED.QL":n.matchesPattern("RelayClassic.QL")?"RelayClassic.QL":n.isIdentifier({name:"RelayQL"})?"RelayQL":null;if(!i)return[null,null,null];for(var r=e,a=null;!a&&(r=r.parentPath);)r.isProperty()&&(a=r.node.key.name);return[t.quasi,i,a]}}]);
|
4
|
+
module.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}([function(e,t){e.exports=require("graphql")},function(e,t){e.exports=require("util")},function(e,t,n){"use strict";var i=n(1);e.exports=function(e,t){if(!e){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];throw new Error(i.format.apply(i,[t].concat(r)))}}},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){var i=n(15);e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){i(e,t,n[t])})}return e}},function(e,t,n){"use strict";e.exports=function(e,t){this.message=e,this.loc=t,this.stack=(new Error).stack}},function(e,t){e.exports=require("path")},function(e,t,n){"use strict";var i=n(18),r=n(8);e.exports=function(e,t,n,a,o,s,u,l,c){try{var f=c.file&&c.file.opts||{};return r(n,c.opts||{},f).transform(e,a,{documentName:o,propName:s,tagName:u,enableValidation:l})}catch(e){throw t.buildCodeFrameError(i(e),Error)}}},function(e,t,n){"use strict";var i=n(19),r=n(25),a=n(0),o=a.buildASTSchema,s=a.buildClientSchema,u=new Map;e.exports=function(e,t,n){var a=u.get(e);if(!a){var l=function(e,t){var n="function"==typeof e?e():e,i="string"==typeof n?r(n,t.sourceRoot):n;if(i.__schema)return s(i);if(i.data&&i.data.__schema)return s(i.data);if(i.kind&&"Document"===i.kind)return o(i,{assumeValid:!0});throw new Error("Invalid introspection data supplied to babel-plugin-relay. The resulting schema is not an object with a `__schema` property or a schema IDL language.")}(e,n);a=new i(l,{inputArgumentName:t.inputArgumentName,snakeCase:Boolean(t.snakeCase),substituteVariables:Boolean(t.substituteVariables),validator:t.validator}),u.set(e,a)}return a}},function(e,t,n){var i=n(21),r=n(22),a=n(23);e.exports=function(e){return i(e)||r(e)||a()}},function(e,t,n){"use strict";e.exports=function(e,t,n){for(var i=0;i<e.length;i++)if(t.call(n,e[i],i,e))return e[i]}},function(e,t,n){"use strict";var i=n(3),r=i(n(4)),a=i(n(24)),o=n(5),s=n(10),u=n(2),l=n(1),c=n(12).GraphQLRelayDirective,f=n(13).ID,p=n(0),m=p.GraphQLBoolean,d=p.GraphQLEnumType,g=p.GraphQLFloat,h=p.GraphQLID,v=p.GraphQLInputObjectType,y=p.GraphQLInt,b=p.GraphQLInterfaceType,T=p.GraphQLList,N=p.GraphQLNonNull,w=p.GraphQLObjectType,x=p.GraphQLScalarType,E=p.GraphQLString,L=p.GraphQLUnionType,D=p.isAbstractType,k=p.SchemaMetaFieldDef,A=p.TypeMetaFieldDef,_=p.TypeNameMetaFieldDef,F=function(){function e(e,t){this.ast=t,this.context=e}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getType=function(){u(!1,"Missing Implementation")},t.getField=function(e){return s(this.getFields(),function(t){return t.getName()===e})},t.getFields=function(){var e=[];return this.getSelections().forEach(function(t){t instanceof P&&e.push(t)}),e},t.getSelections=function(){var e=this;return this.ast.selectionSet?this.ast.selectionSet.selections.map(function(t){if("Field"===t.kind)return new P(e.context,t,e.getType());if("FragmentSpread"===t.kind)return new C(e.context,t);if("InlineFragment"===t.kind)return new j(e.context,t,e.getType());throw new o(l.format("Unexpected selection kind: %s",t.kind),e.getLocation())}):[]},t.getDirectives=function(){var e=this;return(this.ast.directives||[]).map(function(t){return new M(e.context,t)})},t.hasDirective=function(e){return(this.ast.directives||[]).some(function(t){return t.name.value===e})},t.isPattern=function(){return this.context.isPattern},e}(),S=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getName=function(){return this.ast.name?this.ast.name.value:this.getType().getName({modifiers:!1})},t}(F),R=function(e){function t(t,n,i){var a,o={},u=s(n.directives||[],function(e){return"relay"===e.name.value});u&&(u.arguments||[]).forEach(function(e){o[e.name.value]=e.value});var l=o.pattern&&"BooleanValue"===o.pattern.kind&&o.pattern.value;return(a=e.call(this,(0,r.default)({},t,{isPattern:l}),n)||this).parentType=i,a}return(0,a.default)(t,e),t.prototype.getType=function(){var e=this.ast.typeCondition;if(e){for(;"NamedType"!==e.kind;)e=e.type;return new U(this.context,this.context.schema.getType(e.name.value))}if("InlineFragment"===this.ast.kind){if(!this.parentType)throw new o("Cannot get type of typeless inline fragment without parent type.",this.getLocation());return this.parentType}throw new o(l.format("Unexpected fragment kind: %s",this.ast.kind),this.getLocation())},t}(S),Q=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getMutationType())},t}(S),V=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getQueryType())},t}(S),I=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getSubscriptionType())},t}(S),P=function(e){function t(t,n,i){var r,a=(r=e.call(this,t,n)||this).ast.name.value,s=i.getFieldDefinition(a,n);if(!s)throw new o(l.format("You supplied a field named `%s` on type `%s`, but no such field exists on that type.",a,i.getName({modifiers:!1})),r.getLocation());return r.fieldDef=s,r}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getAlias=function(){return this.ast.alias?this.ast.alias.value:null},n.getType=function(){return this.fieldDef.getType()},n.hasArgument=function(e){return this.getArguments().some(function(t){return t.getName()===e})},n.findArgument=function(e){return s(this.getArguments(),function(t){return t.getName()===e})},n.getArguments=function(){var e=this,t=this.fieldDef.getDeclaredArguments();return(this.ast.arguments||[]).map(function(n){var i=n.name.value,r=t[i];if(!r)throw new o(l.format("You supplied an argument named `%s` on field `%s`, but no such argument exists on that field.",i,e.getName()),e.getLocation());return new O(e.context,n,r)})},n.hasDeclaredArgument=function(e){return this.fieldDef.getDeclaredArguments().hasOwnProperty(e)},n.getDeclaredArgument=function(e){return this.fieldDef.getArgument(e)},n.getDeclaredArguments=function(){return this.fieldDef.getDeclaredArguments()},t}(F),C=function(e){function t(){return e.apply(this,arguments)||this}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getSelections=function(){throw new o("Cannot get selection of a fragment spread.",this.getLocation())},t}(F),j=function(e){function t(t,n,i){var r;return(r=e.call(this,t,n)||this).parentType=i,r}return(0,a.default)(t,e),t.prototype.getFragment=function(){return new R(this.context,this.ast,this.parentType)},t}(F),M=function(){function e(e,t){var n=this;this.ast=t,this.context=e,this.argTypes={};var i=t.name.value,r=i===c.name?c:e.schema.getDirective(i);if(!r)throw new o(l.format("You supplied a directive named `%s`, but no such directive exists.",i),this.getLocation());r.args.forEach(function(e){n.argTypes[e.name]=new B(e.type)})}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getArguments=function(){var e=this;return(this.ast.arguments||[]).map(function(t){var n=t.name.value,i=e.argTypes[n];if(!i)throw new o(l.format("You supplied an argument named `%s` on directive `%s`, but no such argument exists on that directive.",n,e.getName()),e.getLocation());return new O(e.context,t,i)})},e}(),O=function(){function e(e,t,n){this.ast=t,this.context=e,this.type=n}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getType=function(){return this.type},t.isVariable=function(){return"Variable"===this.ast.value.kind},t.getVariableName=function(){if("Variable"!==this.ast.value.kind)throw new o("Cannot get variable name of an argument value.",this.getLocation());return this.ast.value.name.value},t.getValue=function(){var t=this;if(this.isVariable())throw new o("Cannot get value of an argument variable.",this.getLocation());var n=this.ast.value;return"ListValue"===n.kind?n.values.map(function(n){return new e(t.context,(0,r.default)({},t.ast,{value:n}),t.type.ofType())}):Y(n)},e}(),U=function(){function e(e,t){this.context=e;var n=G(t),i=n.isListType,r=n.isNonNullType,a=n.schemaUnmodifiedType;this.isListType=i,this.isNonNullType=r,this.schemaUnmodifiedType=a,this.schemaModifiedType=t}var t=e.prototype;return t.canHaveSubselections=function(){return!(this.schemaUnmodifiedType instanceof x||this.schemaUnmodifiedType instanceof d)},t.getName=function(e){return e.modifiers?this.schemaModifiedType.toString():this.schemaUnmodifiedType.toString()},t.hasField=function(e){return!!this.getFieldDefinition(e)},t.getFieldDefinition=function(e,t){var n,i=this.schemaUnmodifiedType,r=i===this.context.schema.getQueryType(),a=i instanceof w||i instanceof b||i instanceof L,o=i instanceof w||i instanceof b;if(r&&e===k.name?n=k:r&&e===A.name?n=A:a&&e===_.name?n=_:o&&(n=i.getFields()[e]),!n&&D(i)&&t&&t.directives&&t.directives.some(function(e){return"fixme_fat_interface"===e.name.value}))for(var u=this.context.schema.getPossibleTypes(i),l=function(i){var r=u[i].getFields()[e];if(r&&(n=r,t&&t.arguments&&t.arguments.every(function(e){return s(r.args,function(t){return t.name===e.name.value})})))return"break"},c=0;c<u.length;c++){if("break"===l(c))break}return n?new q(this.context,n):null},t.getInterfaces=function(){var t=this;return this.schemaUnmodifiedType instanceof w?this.schemaUnmodifiedType.getInterfaces().map(function(n){return new e(t.context,n)}):[]},t.getConcreteTypes=function(){var t=this;return this.isAbstract()||u(!1,"Cannot get concrete types of a concrete type."),this.context.schema.getPossibleTypes(this.schemaUnmodifiedType).map(function(n){return new e(t.context,n)})},t.getIdentifyingFieldDefinition=function(){return this.alwaysImplements("Node")?this.getFieldDefinition(f):null},t.isAbstract=function(){return D(this.schemaUnmodifiedType)},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isQueryType=function(){return this.schemaUnmodifiedType===this.context.schema.getQueryType()},t.isConnection=function(){if(!/Connection$/.test(this.getName({modifiers:!1})))return!1;var e=this.getFieldDefinition("edges");if(!e||!e.getType().canHaveSubselections())return!1;var t=e.getType().getFieldDefinition("node");if(!t||!t.getType().canHaveSubselections())return!1;var n=e.getType().getFieldDefinition("cursor");return!(!n||n.getType().canHaveSubselections())},t.isConnectionEdge=function(){return/Edge$/.test(this.getName({modifiers:!1}))&&this.hasField("node")&&this.hasField("cursor")},t.isConnectionPageInfo=function(){return"PageInfo"===this.getName({modifiers:!1})},t.alwaysImplements=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().every(function(t){return t.alwaysImplements(e)})},t.mayImplement=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().some(function(t){return t.alwaysImplements(e)})},t.generateField=function(e){var t={kind:"Field",name:{kind:"Name",value:e}};return new P(this.context,t,this)},t.generateIdFragment=function(){return new R(this.context,{kind:"Fragment",name:{kind:"Name",value:"IdFragment"},typeCondition:{kind:"NamedType",name:{value:"Node"}}},this)},e}(),q=function(){function e(e,t){this.context=e,this.schemaFieldDef=t}var t=e.prototype;return t.getName=function(){return this.schemaFieldDef.name},t.getType=function(){return new U(this.context,this.schemaFieldDef.type)},t.hasArgument=function(e){return this.schemaFieldDef.args.some(function(t){return t.name===e})},t.getArgument=function(e){var t=s(this.schemaFieldDef.args,function(t){return t.name===e});return t||u(!1,"You tried to get an argument named `%s` on field `%s`, but no such argument exists on that field.",e,this.getName()),new B(t.type)},t.getDeclaredArguments=function(){var e={};return this.schemaFieldDef.args.forEach(function(t){e[t.name]=new B(t.type)}),e},e}(),B=function(){function e(e){var t=G(e),n=t.isListType,i=t.isNonNullType,r=t.schemaUnmodifiedType;this.isListType=n,this.isNonNullType=i,this.schemaUnmodifiedArgType=r,this.schemaModifiedArgType=e}var t=e.prototype;return t.getName=function(e){return e.modifiers?this.schemaModifiedArgType.toString():this.schemaUnmodifiedArgType.toString()},t.ofType=function(){return this.isList()||this.isNonNull()||u(!1,"Can only get type of list or non-null type."),new e(this.schemaUnmodifiedArgType)},t.isCustomScalar=function(){return this.isScalar()&&!(this.schemaUnmodifiedArgType===m||this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===h||this.schemaUnmodifiedArgType===y||this.schemaUnmodifiedArgType===E)},t.isBoolean=function(){return this.schemaUnmodifiedArgType===m},t.isEnum=function(){return this.schemaUnmodifiedArgType instanceof d},t.isID=function(){return this.schemaUnmodifiedArgType===h},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isNumber=function(){return this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===y},t.isObject=function(){return this.schemaUnmodifiedArgType instanceof v},t.isScalar=function(){return this.schemaUnmodifiedArgType instanceof x},t.isString=function(){return this.schemaUnmodifiedArgType===E},e}();function G(e){for(var t=!1,n=!1,i=e;;){if(i instanceof T)t=!0;else{if(!(i instanceof N))break;n=!0}i=i.ofType}return{isListType:t,isNonNullType:n,schemaUnmodifiedType:i}}function Y(e){switch(e.kind){case"IntValue":return parseInt(e.value,10);case"FloatValue":return parseFloat(e.value);case"StringValue":case"BooleanValue":case"EnumValue":return e.value;case"ListValue":return e.values.map(Y);case"NullValue":return null;case"ObjectValue":var t={};return e.fields.forEach(function(e){t[e.name.value]=Y(e.value)}),t;case"Variable":throw new o(l.format("Unexpected nested variable `%s`; variables are supported as top-level arguments - `node(id: $id)` - or directly within lists - `nodes(ids: [$id])`.",e.name.value),e.loc);default:throw new o(l.format("Unexpected value kind: %s",e.kind),e.loc)}}e.exports={RelayQLArgument:O,RelayQLArgumentType:B,RelayQLDefinition:S,RelayQLDirective:M,RelayQLField:P,RelayQLFieldDefinition:q,RelayQLFragment:R,RelayQLFragmentSpread:C,RelayQLInlineFragment:j,RelayQLMutation:Q,RelayQLNode:F,RelayQLQuery:V,RelayQLSubscription:I,RelayQLType:U}},function(e,t,n){"use strict";var i="directive @relay(\n # Marks a connection field as containing nodes without 'id' fields.\n # This is used to silence the warning when diffing connections.\n isConnectionWithoutNodeID: Boolean,\n\n # Marks a fragment as intended for pattern matching (as opposed to fetching).\n # Used in Classic only.\n pattern: Boolean,\n\n # Marks a fragment as being backed by a GraphQLList.\n plural: Boolean,\n\n # Marks a fragment spread which should be unmasked if provided false\n mask: Boolean = true,\n\n # Selectively pass variables down into a fragment. Only used in Classic.\n variables: [String!],\n) on FRAGMENT_DEFINITION | FRAGMENT_SPREAD | INLINE_FRAGMENT | FIELD",r=(0,n(0).buildSchema)(i+"\ntype Query { x: String }").getDirective("relay");if(!r)throw new Error("Failed to create GraphQLRelayDirective.");e.exports={SCHEMA_EXTENSION:i,GraphQLRelayDirective:r}},function(e,t,n){"use strict";e.exports={ID:"id"}},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(3),_objectSpread2=_interopRequireDefault(__webpack_require__(4)),compileGraphQLTag=__webpack_require__(16),compileRelayQLTag=__webpack_require__(7),getDocumentName=__webpack_require__(31),getValidGraphQLTag=__webpack_require__(32),getValidRelayQLTag=__webpack_require__(33),invariant=__webpack_require__(2),RelayConfig;try{RelayConfig=eval("require")("relay-config")}catch(e){}module.exports=function(e){var t=e.types;if(!t)throw new Error('BabelPluginRelay: Expected plugin context to include "types", but got:'+String(e));var n={TaggedTemplateExpression:function(e,n){var i=getValidGraphQLTag(e);if(i)compileGraphQLTag(t,e,n,i);else{var r=getValidRelayQLTag(e),a=r[0],o=r[1],s=r[2];if(a&&o){var u=n.opts&&n.opts.schema;u||invariant(!1,'babel-plugin-relay: Missing schema option. Check your .babelrc file or wherever you configure your Babel plugins to ensure the "relay" plugin has a "schema" option.\nhttps://relay.dev/docs/en/installation-and-setup#set-up-babel-plugin-relay');var l=getDocumentName(e,n);e.replaceWith(compileRelayQLTag(t,e,u,a,l,s,o,!0,n))}}}};return{visitor:{Program:function(e,t){var i=RelayConfig&&RelayConfig.loadConfig();e.traverse(n,(0,_objectSpread2.default)({},t,{opts:(0,_objectSpread2.default)({},i,t.opts)}))}}}}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){"use strict";var i=n(17),r=n(28),a=n(29);e.exports=function(e,t,n,o){if(1!==o.definitions.length)throw new Error("BabelPluginRelay: Expected exactly one definition per graphql tag.");var s=o.definitions[0];if("FragmentDefinition"!==s.kind&&"OperationDefinition"!==s.kind)throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+s.kind+"`.");return function(e,t,n){for(var i=t.scope;i.parent;)i=i.parent;if(t.scope===i)t.replaceWith(n);else{var r=i.generateDeclaredUidIdentifier("graphql");t.replaceWith(e.logicalExpression("||",r,e.assignmentExpression("=",r,n)))}}(e,t,function(e,t,n,o){var s=Boolean(t.opts&&t.opts.compat),u=Boolean(t.opts&&t.opts.haste),l=t.opts&&t.opts.isDevVariable,c=t.opts&&t.opts.artifactDirectory,f=t.opts&&t.opts.buildCommand||"relay-compiler",p="production"!==(process.env.BABEL_ENV||"development"),m=a(e,o,t,{artifactDirectory:c,buildCommand:f,isDevelopment:p,isHasteMode:u,isDevVariable:l});return s?r(e,m,i(e,n,o,t)):m}(e,n,t,s))}},function(e,t,n){"use strict";var i=n(0),r=n(7),a=n(8),o=n(27),s=n(2);function u(e,t){var n=0,r={},a={},o=null,u={Directive:function(e){switch(e.name.value){case"inline":throw new Error("@inline is only available in pure RelayModern mode.");case"argumentDefinitions":if(o)throw new Error("BabelPluginRelay: Expected only one @argumentDefinitions directive");return o=e.arguments,null;case"connection":return null;default:return e}},FragmentSpread:function(t){var i=t.directives,o=t.name.value,u=null,l=null,c=!0;if(0===i.length)l=o;else{var f=i[0];switch(1!==i.length&&s(!1,"BabelPluginRelay: Cannot use both `@arguments` and `@relay(mask: false)` on the same fragment spread when in compat mode."),f.name.value){case"arguments":case"uncheckedArguments_DEPRECATED":var p={};f.arguments.forEach(function(t){var n=t.value;"Variable"===n.kind&&(a[n.name.value]=null);var i=function(e,t){var n=t.name.value,i=t.value,r=null;switch(i.kind){case"Variable":var a=i.name.value;r=g(e,{kind:e.stringLiteral("CallVariable"),callVariableName:e.stringLiteral(a)});break;default:r=d(e,i)}return{name:n,ast:r}}(e,t);p[i.name]=i.ast}),u=g(e,p),l=o+"_args"+ ++n;break;case"relay":var m=f.arguments;(1!==m.length||"mask"!==m[0].name.value)&&s(!1,"BabelPluginRelay: Expected `@relay` directive to only have `mask` argument in compat mode, but get %s",m[0].name.value),l=o,c=!1!==m[0].value.value;break;default:throw new Error("BabelPluginRelay: Unsupported directive `"+f.name.value+"` on fragment spread `..."+o+"`.")}}return l||s(!1,"BabelPluginRelay: Expected `substitutionName` to be non-null"),r[l]={name:o,args:u,isMasked:c},Object.assign({},t,{name:{kind:"Name",value:l},directives:[]})},Variable:function(e){return a[e.name.value]=null,e}};return{classicAST:i.visit(t,u),fragments:r,variables:a,argumentDefinitions:o}}var l="RelayQL_GENERATED";function c(e,t,n,i){var r=[e.returnStatement(t)];return n.length>0&&r.unshift(e.variableDeclaration("const",n)),e.functionExpression(null,[e.identifier(l)],e.blockStatement(r))}function f(e,t){return t?e.arrayExpression(t.map(function(t){var n=t.variable.name.value,i=t.defaultValue?d(e,t.defaultValue):e.nullLiteral();return m(e,n,i)})):e.arrayExpression([])}function p(e,t,n){var i=[];return Object.keys(n).forEach(function(n){var r=(t||[]).find(function(e){return e.name.value===n});if(r){var a=r.value.fields.find(function(e){return"defaultValue"===e.name.value}),o=a?d(e,a.value):e.nullLiteral();i.push(m(e,n,o))}else i.push(function(e,t){return e.objectExpression([e.objectProperty(e.identifier("kind"),e.stringLiteral("RootArgument")),e.objectProperty(e.identifier("name"),e.stringLiteral(t))])}(e,n))}),e.arrayExpression(i)}function m(e,t,n){return g(e,{defaultValue:n,kind:e.stringLiteral("LocalArgument"),name:e.stringLiteral(t)})}function d(e,t){switch(t.kind){case"BooleanValue":return e.booleanLiteral(t.value);case"IntValue":return e.numericLiteral(parseInt(t.value,10));case"FloatValue":return e.numericLiteral(parseFloat(t.value));case"StringValue":case"EnumValue":return e.stringLiteral(t.value);case"ListValue":return e.arrayExpression(t.values.map(function(t){return d(e,t)}));default:throw new Error("BabelPluginRelay: Unsupported literal type `"+t.kind+"`.")}}function g(e,t){return e.objectExpression(Object.keys(t).map(function(n){return e.objectProperty(e.identifier(n),t[n])}))}function h(e){var t=e.opts&&e.opts.schema;return t||s(!1,'babel-plugin-relay: Missing schema option. Check your .babelrc file or wherever you configure your Babel plugins to ensure the "relay" plugin has a "schema" option.\nhttps://relay.dev/docs/en/installation-and-setup#set-up-babel-plugin-relay'),t}function v(e,t,n,a){var s=h(a),u=o(n.name.value),c=u[0],f=u[1],p=i.print(n),m=e.templateLiteral([e.templateElement({raw:p,cooked:p},!0)],[]);return r(e,t,s,m,c,f,l,!1,a)}function y(e,t,n){return Object.keys(n).map(function(i){var r=n[i],a=o(r.name),u=a[0],c=a[1];if(r.isMasked)return e.variableDeclarator(e.identifier(i),function(e,t,n,i,r){var a=[];i&&a.push(e.stringLiteral(i));r&&a.push(r);var o=function(e,t){var n=e.scope.getBinding(t);if(!n)return!1;if("module"===n.kind)return!1;if(n.path.isVariableDeclarator()&&n.path.get("init").node&&n.path.get("init.callee").isIdentifier({name:"require"}))return!1;return!0}(t,n)?e.logicalExpression("||",e.memberExpression(e.identifier(n),e.identifier("__container__")),e.identifier(n)):e.identifier(n);return e.callExpression(e.memberExpression(o,e.identifier("getFragment")),a)}(e,t,u,c,r.args));t.scope.hasBinding(u)||t.scope.hasBinding(c)||s(!1,"BabelPluginRelay: Please make sure module '".concat(u,"' is imported and not renamed or the\n fragment '").concat(r.name,"' is defined and bound to local variable '").concat(c,"'. "));var f=t.scope.hasBinding(c)?e.memberExpression(e.identifier(c),e.identifier(c)):e.logicalExpression("||",e.memberExpression(e.memberExpression(e.identifier(u),e.identifier(c)),e.identifier(c)),e.memberExpression(e.identifier(u),e.identifier(c)));return e.variableDeclarator(e.identifier(i),e.memberExpression(e.callExpression(e.memberExpression(e.identifier(l),e.identifier("__getClassicFragment")),[f,e.booleanLiteral(!0)]),e.identifier("node")))})}e.exports=function(e,t,n,i){if("FragmentDefinition"===n.kind)return function(e,t,n,i){var r=u(e,n),a=r.classicAST,o=r.fragments,s=r.variables,l=r.argumentDefinitions,f=y(e,t,o),m=g(e,{kind:e.stringLiteral("FragmentDefinition"),argumentDefinitions:p(e,l,s),node:v(e,t,a,i)});return c(e,m,f)}(e,t,n,i);if("OperationDefinition"===n.kind)return function(e,t,n,i){var r=n.name;if(!r)throw new Error("GraphQL operations must contain names");var o=u(e,n),s=o.classicAST,l=o.fragments,p=y(e,t,l),m="query"===s.operation?function(e,t,n,i){var r,o=h(i),s=i.file&&i.file.opts||{},u=a(o,i.opts||{},s);switch(n.operation){case"query":var l=u.schema.getQueryType();if(!l)throw new Error("Schema does not contain a root query type.");r=l.name;break;case"mutation":var c=u.schema.getMutationType();if(!c)throw new Error("Schema does not contain a root mutation type.");r=c.name;break;case"subscription":var f=u.schema.getSubscriptionType();if(!f)throw new Error("Schema does not contain a root subscription type.");r=f.name;break;default:throw new Error("BabelPluginRelay: Unexpected operation type: `"+n.operation+"`.")}var p={kind:"FragmentDefinition",loc:n.loc,name:{kind:"Name",value:n.name.value},typeCondition:{kind:"NamedType",name:{kind:"Name",value:r}},directives:n.directives,selectionSet:n.selectionSet};return v(e,t,p,i)}(e,t,s,i):v(e,t,s,i),d=g(e,{kind:e.stringLiteral("OperationDefinition"),argumentDefinitions:f(e,n.variableDefinitions),name:e.stringLiteral(r.value),operation:e.stringLiteral(s.operation),node:m});return c(e,d,p)}(e,t,n,i);throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+n.kind+"`.")}},function(e,t,n){"use strict";var i=n(5),r=n(1);e.exports=function(e){if(e instanceof i)return"Relay Transform Error: ".concat(e.message);var t=e.sourceText,n=e.validationErrors;if(n&&t){var a=t.split("\n");return n.map(function(e){return"GraphQL Validation Error: "+e.message+"\n"+e.locations.map(function(e){var t=a[e.line-1];return t&&[">","> "+t,"> "+" ".repeat(e.column-1)+"^^^"].join("\n")}).filter(Boolean).join("\n")}).join("\n")}return r.format("Relay Transform Error: %s\n\n%s",e.message,e.stack)}},function(e,t,n){"use strict";var i=n(20),r=n(2),a=n(1),o=n(11),s=o.RelayQLFragment,u=o.RelayQLMutation,l=o.RelayQLQuery,c=o.RelayQLSubscription,f=n(0),p=f.formatError,m=f.parse,d=f.Source,g=f.validate,h=f.FieldsOnCorrectTypeRule,v=f.FragmentsOnCompositeTypesRule,y=f.KnownArgumentNamesRule,b=f.KnownTypeNamesRule,T=f.PossibleFragmentSpreadsRule,N=f.ValuesOfCorrectTypeRule,w=f.VariablesInAllowedPositionRule,x=function(){function e(e,t){this.schema=e,this.options=t}var t=e.prototype;return t.transform=function(e,t,n){var r=this.processTemplateLiteral(t,n.documentName),a=r.substitutions,o=r.templateText,s=r.variableNames,u=this.processTemplateText(o,n),l=this.processDocumentText(u,n);return new(i(e,this.options))(n.tagName,s).print(l,a,n.enableValidation)},t.processTemplateLiteral=function(e,t){var n=this,i=[],a={},o=[];return e.quasis.forEach(function(s,u){var l=s.value.cooked;if(i.push(l),!s.tail){var c="RQL_"+u,f=e.expressions[u];o.push({name:c,value:f}),/:\s*$/.test(l)?(n.options.substituteVariables||r(!1,"You supplied a GraphQL document named `%s` that uses template substitution for an argument value, but variable substitution has not been enabled.",t),i.push("$"+c),a[c]=void 0):i.push("..."+c)}}),{substitutions:o,templateText:i.join("").trim(),variableNames:a}},t.processTemplateText=function(e,t){var n=t.documentName,i=t.propName,a=/^(fragment|mutation|query|subscription)\s*(\w*)?([\s\S]*)/.exec(e);a||r(!1,"You supplied a GraphQL document named `%s` with invalid syntax. It must start with `fragment`, `mutation`, `query`, or `subscription`.",n);var o=a[1],s=a[2]||n,u=a[3];return"fragment"===o&&"on"===s&&(s=n+(i?"_"+E(i):"")+"RelayQL",u="on"+u),o+" "+E(s)+" "+u},t.processDocumentText=function(e,t){var n=t.documentName,i=t.enableValidation,o=m(new d(e,n)),f=i?this.validateDocument(o,n):null;if(f){var p=new Error(a.format("You supplied a GraphQL document named `%s` with validation errors.",n));throw p.validationErrors=f,p.sourceText=e,p}var g,h=o.definitions[0],v={definitionName:E(n),isPattern:!1,generateID:(g=0,function(){return(g++).toString(32)}),schema:this.schema};if("FragmentDefinition"===h.kind)return new s(v,h);if("OperationDefinition"===h.kind){if("mutation"===h.operation)return new u(v,h);if("query"===h.operation)return new l(v,h);if("subscription"===h.operation)return new c(v,h);r(!1,"Unsupported operation: %s",h.operation)}else r(!1,"Unsupported definition kind: %s",h.kind)},t.validateDocument=function(e,t){1!==e.definitions.length&&r(!1,"You supplied a GraphQL document named `%s` with %d definitions, but it must have exactly one definition.",t,e.definitions.length);var n,i=this.options.validator;if(i)n=i().validate(this.schema,e);else{var a=[h,v,y,b,T,N,w];n=g(this.schema,e,a)}return n&&n.length>0?n.map(p):null},e}();function E(e){return e[0].toUpperCase()+e.slice(1)}e.exports=x},function(e,t,n){"use strict";var i=n(3),r=i(n(4)),a=i(n(9)),o=n(5),s=n(10),u=n(1),l=n(11),c=l.RelayQLField,f=l.RelayQLFragment,p=l.RelayQLFragmentSpread,m=l.RelayQLInlineFragment,d=l.RelayQLMutation,g=l.RelayQLQuery,h=l.RelayQLSubscription,v=n(13).ID;e.exports=function(e,t){var n=t.snakeCase?function(e){var t={};return Object.keys(e).forEach(function(e){t[e]=e.replace(/[A-Z]/g,function(e){return"_"+e.toLowerCase()})}),t}:function(e){return e},i=e.arrayExpression([]),l=n({__typename:"__typename",clientMutationId:"clientMutationId",clientSubscriptionId:"clientSubscriptionId",cursor:"cursor",edges:"edges",hasNextPage:"hasNextPage",hasPreviousPage:"hasPreviousPage",node:"node",pageInfo:"pageInfo"}),y=t.inputArgumentName||"input",b=e.nullLiteral(),T=function(){function t(e,t){this.tagName=e,this.variableNames=t}var n=t.prototype;return n.print=function(t,n){var i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t instanceof g)i=this.printQuery(t,r);else if(t instanceof f)i=this.printFragment(t);else if(t instanceof d)i=this.printMutation(t,r);else{if(!(t instanceof h))throw new o(u.format("Unsupported definition: %s",t),t.getLocation());i=this.printSubscription(t,r)}return e.callExpression(e.functionExpression(null,n.map(function(t){return e.identifier(t.name)}),e.blockStatement([e.returnStatement(i)])),n.map(function(e){return e.value}))},n.printQuery=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the query named `%s`, but queries must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType(),s=r.getArguments(),c={},f=a.getIdentifyingFieldDefinition();f&&(c[f.getName()]=!0),a.isAbstract()&&(c[l.__typename]=!0);var p=this.printSelections(r,c),m={};if(a.isList()&&(m.isPlural=!0),a.isAbstract()&&(m.isAbstract=!0),s.length>1)throw new o(u.format("Invalid root field `%s`; Relay only supports root fields with zero or one argument.",r.getName()),t.getLocation());var d=b;if(1===s.length){var g=s[0],h=g.getName(),v=g.getType().getName({modifiers:!0});m.identifyingArgName=h,m.identifyingArgType=v,d=e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({type:v}),name:e.valueToNode(h),value:this.printArgumentValue(g)})])}return E({calls:d,children:p,directives:this.printDirectives(r.getDirectives()),fieldName:e.valueToNode(r.getName()),kind:e.valueToNode("Query"),metadata:D(m),name:e.valueToNode(t.getName()),type:e.valueToNode(a.getName({modifiers:!1}))})},n.printFragment=function(t){var n,i=this,r=t.getType(),a={};r.hasField(v)?a[v]=!0:N(t)&&(n=r.generateIdFragment()),r.isAbstract()&&(a[l.__typename]=!0);var u=this.printSelections(t,a,n?[n]:null,t.hasDirective("generated")),c=_(t),f=c&&s(c.getArguments(),function(e){return"variables"===e.getName()}),p=this.printRelayDirectiveMetadata(t,{isAbstract:r.isAbstract(),isTrackingEnabled:!!f}),m=E({children:u,directives:this.printDirectives(t.getDirectives()),id:this.printFragmentID(t),kind:e.valueToNode("Fragment"),metadata:p,name:e.valueToNode(t.getName()),type:e.valueToNode(r.getName({modifiers:!1}))});if(f){var d=f.getValue();if(!Array.isArray(d))throw new o("The variables argument to the @relay directive should be an array of strings.",t.getLocation());return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__createFragment")),[m,e.objectExpression(d.map(function(e){var t=e.getValue();return k(t,i.printVariable(t))}))])}return m},n.printFragmentID=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__id")),[])},n.printMutation=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the mutation named `%s`, but mutations must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(l.clientMutationId)&&(s[l.clientMutationId]=!0);var c=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:c,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Mutation"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSubscription=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the subscription named `%s`, but subscriptions must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(l.clientSubscriptionId)&&(s[l.clientSubscriptionId]=!0),a.hasField(l.clientMutationId)&&(s[l.clientMutationId]=!0);var c=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:c,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Subscription"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSelections=function(t,n,r){var s=this,l=arguments.length>3&&void 0!==arguments[3]&&arguments[3],f=[],d=[],g=!1;t.getSelections().forEach(function(e){if(e instanceof p){if(0!==e.getDirectives().length)throw new o("Directives are not yet supported for `${fragment}`-style fragment references.",e.getLocation());d.push(s.printFragmentReference(e)),g=!0}else if(e instanceof m)d.push(s.printFragment(e.getFragment()));else{if(!(e instanceof c))throw new o(u.format("Unsupported selection type `%s`.",e),e.getLocation());f.push(e)}}),r&&r.forEach(function(e){d.push(s.printFragment(e))});var h,v=this.printFields(f,t,n,l),y=[].concat((0,a.default)(v),d);if(y.length){var T=e.arrayExpression(y);return g?(h=T,e.callExpression(e.memberExpression(e.memberExpression(i,e.identifier("concat")),e.identifier("apply")),[i,h])):T}return b},n.printFields=function(e,t,n){var i=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=t.getType();o.isConnection()&&o.hasField(l.pageInfo)&&e.some(function(e){return e.getName()===l.edges})&&(n[l.pageInfo]=!0);var s=(0,r.default)({},n),u=[];return e.forEach(function(e){delete s[e.getName()],u.push(i.printField(e,t,n,s,a))}),Object.keys(s).forEach(function(e){var r=o.generateField(e);u.push(i.printField(r,t,n,s,a))}),u},n.printField=function(t,n,i,r){var a,s=this,c=arguments.length>4&&void 0!==arguments[4]&&arguments[4],f=t.getType(),p={},m={};f.hasField(v)?m[v]=!0:N(t)&&(a=f.generateIdFragment()),c||function(e,t){if("node"===e.getName()){var n=e.getDeclaredArguments(),i=Object.keys(n);if(!t.isQueryType()&&1===i.length&&i[0]===v)throw new o(u.format("You defined a `node(%s: %s)` field on type `%s`, but Relay requires the `node` field to be defined on the root type. See the Object Identification Guide: \nhttps://relay.dev/docs/en/graphql-server-specification#object-identification",v,i[0]&&n[i[0]].getName({modifiers:!0}),t.getName({modifiers:!1})),e.getLocation())}}(t,n.getType()),f.canHaveSubselections()&&(p.canHaveSubselections=!0),f.alwaysImplements("Node")&&(p.inferredRootCallName="node",p.inferredPrimaryKey=v),f.isConnection()?(t.hasDeclaredArgument("first")||t.hasDeclaredArgument("last"))&&(c||function(e){var t=[e.findArgument("first"),e.findArgument("last"),e.findArgument("before"),e.findArgument("after")],n=t[0],i=t[1],r=t[2],a=t[3],s=!n||!i||n.isVariable()&&i.isVariable();if(!s)throw new o(u.format("Connection arguments `%s(first: <count>, last: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(last: <count>)`, or `(first: $<var>, last: $<var>)`.",e.getName()),e.getLocation());if(!(s=!n||!r||n.isVariable()&&r.isVariable()))throw new o(u.format("Connection arguments `%s(before: <cursor>, first: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(after: <cursor>, first: <count>)`, `(before: <cursor>, last: <count>)`, or `(before: $<var>, first: $<var>)`.",e.getName()),e.getLocation());if(!(s=!i||!a||i.isVariable()&&a.isVariable()))throw new o(u.format("Connection arguments `%s(after: <cursor>, last: <count>)` are not supported unless both are variables. Use `(last: <count>)`, `(before: <cursor>, last: <count>)`, `(after: <cursor>, first: <count>)`, or `(after: $<var>, last: $<var>)`.",e.getName()),e.getLocation());var c=e.getType().getFieldDefinition(l.edges).getType().getFieldDefinition(l.node).getType();x(e,function(t){if(t.getName()===l.edges||t.getName()===l.pageInfo){var n=e.isPattern()||e.hasArgument("find")||e.hasArgument("first")||e.hasArgument("last");if(!n)throw new o(u.format("You supplied the `%s` field on a connection named `%s`, but you did not supply an argument necessary for Relay to handle the connection. Please specify a limit argument like `first`, or `last` or fetch a specific item with a `find` argument.",t.getName(),e.getName()),e.getLocation())}else{var i=t.getType(),r=i.isList()&&i.getName({modifiers:!1})===c.getName({modifiers:!1});if(r)throw new o(u.format("You supplied a field named `%s` on a connection named `%s`, but pagination is not supported on connections without using `%s`. Use `%s{%s{%s{...}}}` instead.",t.getName(),e.getName(),l.edges,e.getName(),l.edges,l.node),e.getLocation())}})}(t),p.isConnection=!0,t.hasDeclaredArgument("find")&&(p.isFindable=!0)):f.isConnectionPageInfo()?(m[l.hasNextPage]=!0,m[l.hasPreviousPage]=!0):f.isConnectionEdge()&&(m[l.cursor]=!0,m[l.node]=!0),f.isAbstract()&&(p.isAbstract=!0,m[l.__typename]=!0),f.isList()&&(p.isPlural=!0),r.hasOwnProperty(t.getName())&&(p.isGenerated=!0),i.hasOwnProperty(t.getName())&&(p.isRequisite=!0);var d=this.printSelections(t,m,a?[a]:null,c),g=t.getAlias(),h=t.getArguments(),y=h.length?e.arrayExpression(h.map(function(e){return s.printArgument(e)})):b;return E({alias:g?e.valueToNode(g):b,calls:y,children:d,directives:this.printDirectives(t.getDirectives()),fieldName:e.valueToNode(t.getName()),kind:e.valueToNode("Field"),metadata:this.printRelayDirectiveMetadata(t,p),type:e.valueToNode(f.getName({modifiers:!1}))})},n.printFragmentReference=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__frag")),[e.identifier(t.getName())])},n.printArgument=function(t){var n={},i=this.printArgumentTypeForMetadata(t.getType());return i&&(n.type=i),E({kind:e.valueToNode("Call"),metadata:D(n),name:e.valueToNode(t.getName()),value:this.printArgumentValue(t)})},n.printArgumentValue=function(e){return e.isVariable()?this.printVariable(e.getVariableName()):this.printValue(e.getValue())},n.printVariable=function(t){return this.variableNames.hasOwnProperty(t)?e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__var")),[e.identifier(t)]):E({kind:e.valueToNode("CallVariable"),callVariableName:e.valueToNode(t)})},n.printValue=function(t){var n=this;return Array.isArray(t)?e.arrayExpression(t.map(function(e){return n.printArgumentValue(e)})):E({kind:e.valueToNode("CallValue"),callValue:null==t?e.nullLiteral():A(t)})},n.printDirectives=function(t){var n=this,i=[];return t.forEach(function(t){"relay"!==t.getName()&&i.push(e.objectExpression([k("kind",e.valueToNode("Directive")),k("name",e.valueToNode(t.getName())),k("args",e.arrayExpression(t.getArguments().map(function(t){return e.objectExpression([k("name",e.valueToNode(t.getName())),k("value",n.printArgumentValue(t))])})))]))}),i.length?e.arrayExpression(i):b},n.printRelayDirectiveMetadata=function(t,n){var i=[],r=_(t);if(r&&r.getArguments().forEach(function(n){if(n.isVariable())throw new o(u.format("You supplied `$%s` as the `%s` argument to the `@relay` directive, but `@relay` require scalar argument values.",n.getVariableName(),n.getName()),t.getLocation());"variables"!==n.getName()&&i.push(k(n.getName(),e.valueToNode(n.getValue())))}),n){var a=n;Object.keys(a).forEach(function(t){a[t]&&i.push(k(t,e.valueToNode(a[t])))})}return e.objectExpression(i)},n.printArgumentTypeForMetadata=function(e){return e.isBoolean()||e.isID()||e.isString()?null:e.getName({modifiers:!0})},t}();function N(e){return e.getType().mayImplement("Node")&&!e.getSelections().some(function(e){return e instanceof m&&"Node"===e.getFragment().getType().getName({modifiers:!1})})}function w(e){var t=e.getDeclaredArguments(),n=Object.keys(t);if(1!==n.length)throw new o(u.format("Your schema defines a mutation field `%s` that takes %d arguments, but mutation fields must have exactly one argument named `%s`.",e.getName(),n.length,y),e.getLocation());if(n[0]!==y)throw new o(u.format("Your schema defines a mutation field `%s` that takes an argument named `%s`, but mutation fields must have exactly one argument named `%s`.",e.getName(),n[0],y),e.getLocation());var i=e.getArguments();if(i.length>1)throw new o(u.format("There are %d arguments supplied to the mutation field named `%s`, but mutation fields must have exactly one `%s` argument.",i.length,e.getName(),y),e.getLocation())}var x=function e(t,n){t.getSelections().forEach(function(t){t instanceof c?n(t):t instanceof m&&e(t.getFragment(),n)})};function E(t){var n=[];return Object.keys(t).forEach(function(e){var i=t[e];i!==b&&n.push(k(e,i))}),e.objectExpression(n)}function L(t){return t.split(".").reduce(function(t,n){return t?e.memberExpression(t,e.identifier(n)):e.identifier(n)},null)}function D(t){var n=[];return Object.keys(t).forEach(function(i){var r=t[i];r&&n.push(k(i,e.valueToNode(r)))}),e.objectExpression(n)}function k(t,n){return e.objectProperty(e.identifier(t),n)}function A(t){if(null==t)return b;if(Array.isArray(t))return e.arrayExpression(t.map(A));if("object"==typeof t&&null!=t){var n=t;return e.objectExpression(Object.keys(n).map(function(e){return k(e,A(n[e]))}))}return e.valueToNode(t)}function _(e){return s(e.getDirectives(),function(e){return"relay"===e.getName()})}return T}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){"use strict";var i=n(12).SCHEMA_EXTENSION,r=n(26),a=n(0).parse,o=n(6);function s(e,t){var n=!r.existsSync(e)&&t?o.join(t,e):e;return r.readFileSync(n,"utf8")}e.exports=function(e,t){try{var n=e.split(",");if(n.length>1)return a(i+"\n"+n.map(function(e){return s(e,t)}).join("\n"));var r=s(e,t);return"{"===r[0]?JSON.parse(r):a(i+"\n"+r)}catch(t){throw console.error("Encountered the following error while loading the GraphQL schema: "+e+"\n\n"+t.stack.split("\n").map(function(e){return"> "+e}).join("\n")),t}}},function(e,t){e.exports=require("fs")},function(e,t,n){"use strict";var i="data";e.exports=function(e){var t=e.match(/^([a-zA-Z][a-zA-Z0-9]*)(?:_([a-zA-Z][_a-zA-Z0-9]*))?$/);if(!t)throw new Error("BabelPluginGraphQL: Fragments should be named `ModuleName_fragmentName`, got `"+e+"`.");var n=t[1],r=t[2];if(r===i)throw new Error("BabelPluginGraphQL: Fragment `"+e+"` should not end in `_data` to avoid conflict with a fragment named `"+n+"` which also provides resulting data via the React prop `data`. Either rename this fragment to `"+n+"` or choose a different prop name.");return[n,r||i]}},function(e,t,n){"use strict";e.exports=function(e,t,n){return e.objectExpression([e.objectProperty(e.identifier("modern"),t),e.objectProperty(e.identifier("classic"),n)])}},function(e,t,n){"use strict";var i=n(3)(n(9)),r=n(30),a=n(2),o=n(6),s=n(0).print,u="./__generated__/";function l(e,t,n){return e.callExpression(e.memberExpression(e.identifier("console"),e.identifier("error")),[e.stringLiteral("The definition of '".concat(t,"' appears to have changed. Run ")+"`"+n+"` to update the generated files to receive the expected data.")])}e.exports=function(e,t,n,c){var f=t.name&&t.name.value;if(!f)throw new Error("GraphQL operations and fragments must contain names");var p=f+".graphql",m=c.isHasteMode?p:c.artifactDirectory?function(e,t,n){null==e.file&&a(!1,"babel state file is null");var i=e.file.opts.filename,r=o.relative(o.dirname(i),o.resolve(t));return(0!==r.length&&r.startsWith(".")?"":"./")+o.join(r,n)}(n,c.artifactDirectory,p):u+p,d=r.createHash("md5").update(s(t),"utf8").digest("hex"),g=e.callExpression(e.identifier("require"),[e.stringLiteral(m)]),h=[e.returnStatement(g)];if(null!=c.isDevVariable||c.isDevelopment){var v=e.identifier("node"),y=e.memberExpression(v,e.identifier("hash")),b=[e.variableDeclaration("const",[e.variableDeclarator(v,g)]),e.ifStatement(e.logicalExpression("&&",y,e.binaryExpression("!==",y,e.stringLiteral(d))),e.blockStatement([e.expressionStatement(l(e,f,c.buildCommand))]))];null!=c.isDevVariable&&(b=[e.ifStatement(e.identifier(c.isDevVariable),e.blockStatement(b))]),h.unshift.apply(h,(0,i.default)(b))}return e.functionExpression(null,[],e.blockStatement(h))}},function(e,t){e.exports=require("crypto")},function(e,t,n){"use strict";var i=n(6).basename,r="providesModule";e.exports=function(e,t){for(var n=e;n.parentPath;)n=n.parentPath;var a=n.documentName;if(!a){var o=n.parent;if(o.comments&&o.comments.length)for(var s,u=o.comments[0].value||"",l=/@(\S+) *(\S*)/g;s=l.exec(u);){var c=s[1],f=s[2];if(c===r){a=f.replace(/[\.-:]/g,"_");break}}var p=t.file&&t.file.opts&&t.file.opts.filename&&i(t.file.opts.filename);if(p&&!a){var m=p.match(/^[_A-Za-z][_0-9A-Za-z]*/);m&&(a=m[0])}a=a||"UnknownFile",n.documentName=a}return a}},function(e,t,n){"use strict";var i=n(0);e.exports=function(e){if(!e.get("tag").isIdentifier({name:"graphql"}))return null;var t=e.node.quasi.quasis;if(1!==t.length)throw new Error("BabelPluginRelay: Substitutions are not allowed in graphql fragments. Included fragments should be referenced as `...MyModule_propName`.");var n=t[0].value.raw,r=i.parse(n);if(0===r.definitions.length)throw new Error("BabelPluginRelay: Unexpected empty graphql tag.");return r}},function(e,t,n){"use strict";e.exports=function(e){var t=e.node,n=e.get("tag"),i=n.matchesPattern("Relay.QL")?"Relay.QL":n.matchesPattern("RelayClassic_DEPRECATED.QL")?"RelayClassic_DEPRECATED.QL":n.matchesPattern("RelayClassic.QL")?"RelayClassic.QL":n.isIdentifier({name:"RelayQL"})?"RelayQL":null;if(!i)return[null,null,null];for(var r=e,a=null;!a&&(r=r.parentPath);)r.isProperty()&&(a=r.node.key.name);return[t.quasi,i,a]}}]);
|
@@ -1,9 +1,9 @@
|
|
1
1
|
/**
|
2
|
-
* Relay
|
2
|
+
* Relay v5.0.0
|
3
3
|
*
|
4
4
|
* Copyright (c) 2013-present, Facebook, Inc.
|
5
5
|
*
|
6
6
|
* This source code is licensed under the MIT license found in the
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
8
8
|
*/
|
9
|
-
module.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}([function(e,t){e.exports=require("graphql")},function(e,t){e.exports=require("util")},function(e,t,n){"use strict";var i=n(1);e.exports=function(e,t){if(!e){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];throw new Error(i.format.apply(i,[t].concat(r)))}}},function(e,t,n){"use strict";e.exports=function(e,t){this.message=e,this.loc=t,this.stack=(new Error).stack}},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t){e.exports=require("path")},function(e,t,n){"use strict";var i=n(17),r=n(7);e.exports=function(e,t,n,a,o,s,u,c,l){try{var f=l.file&&l.file.opts||{};return r(n,l.opts||{},f).transform(e,a,{documentName:o,propName:s,tagName:u,enableValidation:c})}catch(e){throw t.buildCodeFrameError(i(e),Error)}}},function(e,t,n){"use strict";var i=n(18),r=n(25),a=n(0),o=a.buildASTSchema,s=a.buildClientSchema,u=new Map;e.exports=function(e,t,n){var a=u.get(e);if(!a){var c=function(e,t){var n="function"==typeof e?e():e,i="string"==typeof n?r(n,t.sourceRoot):n;if(i.__schema)return s(i);if(i.data&&i.data.__schema)return s(i.data);if(i.kind&&"Document"===i.kind)return o(i,{assumeValid:!0});throw new Error("Invalid introspection data supplied to babel-plugin-relay. The resulting schema is not an object with a `__schema` property or a schema IDL language.")}(e,n);a=new i(c,{inputArgumentName:t.inputArgumentName,snakeCase:Boolean(t.snakeCase),substituteVariables:Boolean(t.substituteVariables),validator:t.validator}),u.set(e,a)}return a}},function(e,t,n){var i=n(20);e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){i(e,t,n[t])})}return e}},function(e,t,n){var i=n(21),r=n(22),a=n(23);e.exports=function(e){return i(e)||r(e)||a()}},function(e,t,n){"use strict";e.exports=function(e,t,n){for(var i=0;i<e.length;i++)if(t.call(n,e[i],i,e))return e[i]}},function(e,t,n){"use strict";var i=n(4),r=i(n(8)),a=i(n(24)),o=n(3),s=n(10),u=n(2),c=n(1),l=n(12).GraphQLRelayDirective,f=n(13).ID,m=n(0),p=m.GraphQLBoolean,d=m.GraphQLEnumType,g=m.GraphQLFloat,h=m.GraphQLID,v=m.GraphQLInputObjectType,y=m.GraphQLInt,b=m.GraphQLInterfaceType,T=m.GraphQLList,N=m.GraphQLNonNull,w=m.GraphQLObjectType,x=m.GraphQLScalarType,E=m.GraphQLString,L=m.GraphQLUnionType,D=m.isAbstractType,A=m.SchemaMetaFieldDef,k=m.TypeMetaFieldDef,F=m.TypeNameMetaFieldDef,S=function(){function e(e,t){this.ast=t,this.context=e}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getType=function(){u(!1)},t.getField=function(e){return s(this.getFields(),function(t){return t.getName()===e})},t.getFields=function(){var e=[];return this.getSelections().forEach(function(t){t instanceof P&&e.push(t)}),e},t.getSelections=function(){var e=this;return this.ast.selectionSet?this.ast.selectionSet.selections.map(function(t){if("Field"===t.kind)return new P(e.context,t,e.getType());if("FragmentSpread"===t.kind)return new j(e.context,t);if("InlineFragment"===t.kind)return new C(e.context,t,e.getType());throw new o(c.format("Unexpected selection kind: %s",t.kind),e.getLocation())}):[]},t.getDirectives=function(){var e=this;return(this.ast.directives||[]).map(function(t){return new M(e.context,t)})},t.hasDirective=function(e){return(this.ast.directives||[]).some(function(t){return t.name.value===e})},t.isPattern=function(){return this.context.isPattern},e}(),R=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getName=function(){return this.ast.name?this.ast.name.value:this.getType().getName({modifiers:!1})},t}(S),V=function(e){function t(t,n,i){var a,o={},u=s(n.directives||[],function(e){return"relay"===e.name.value});u&&(u.arguments||[]).forEach(function(e){o[e.name.value]=e.value});var c=o.pattern&&"BooleanValue"===o.pattern.kind&&o.pattern.value;return(a=e.call(this,(0,r.default)({},t,{isPattern:c}),n)||this).parentType=i,a}return(0,a.default)(t,e),t.prototype.getType=function(){var e=this.ast.typeCondition;if(e){for(;"NamedType"!==e.kind;)e=e.type;return new U(this.context,this.context.schema.getType(e.name.value))}if("InlineFragment"===this.ast.kind){if(!this.parentType)throw new o("Cannot get type of typeless inline fragment without parent type.",this.getLocation());return this.parentType}throw new o(c.format("Unexpected fragment kind: %s",this.ast.kind),this.getLocation())},t}(R),I=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getMutationType())},t}(R),Q=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getQueryType())},t}(R),_=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getSubscriptionType())},t}(R),P=function(e){function t(t,n,i){var r,a=(r=e.call(this,t,n)||this).ast.name.value,s=i.getFieldDefinition(a,n);if(!s)throw new o(c.format("You supplied a field named `%s` on type `%s`, but no such field exists on that type.",a,i.getName({modifiers:!1})),r.getLocation());return r.fieldDef=s,r}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getAlias=function(){return this.ast.alias?this.ast.alias.value:null},n.getType=function(){return this.fieldDef.getType()},n.hasArgument=function(e){return this.getArguments().some(function(t){return t.getName()===e})},n.findArgument=function(e){return s(this.getArguments(),function(t){return t.getName()===e})},n.getArguments=function(){var e=this,t=this.fieldDef.getDeclaredArguments();return(this.ast.arguments||[]).map(function(n){var i=n.name.value,r=t[i];if(!r)throw new o(c.format("You supplied an argument named `%s` on field `%s`, but no such argument exists on that field.",i,e.getName()),e.getLocation());return new O(e.context,n,r)})},n.hasDeclaredArgument=function(e){return this.fieldDef.getDeclaredArguments().hasOwnProperty(e)},n.getDeclaredArgument=function(e){return this.fieldDef.getArgument(e)},n.getDeclaredArguments=function(){return this.fieldDef.getDeclaredArguments()},t}(S),j=function(e){function t(){return e.apply(this,arguments)||this}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getSelections=function(){throw new o("Cannot get selection of a fragment spread.",this.getLocation())},t}(S),C=function(e){function t(t,n,i){var r;return(r=e.call(this,t,n)||this).parentType=i,r}return(0,a.default)(t,e),t.prototype.getFragment=function(){return new V(this.context,this.ast,this.parentType)},t}(S),M=function(){function e(e,t){var n=this;this.ast=t,this.context=e,this.argTypes={};var i=t.name.value,r=i===l.name?l:e.schema.getDirective(i);if(!r)throw new o(c.format("You supplied a directive named `%s`, but no such directive exists.",i),this.getLocation());r.args.forEach(function(e){n.argTypes[e.name]=new q(e.type)})}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getArguments=function(){var e=this;return(this.ast.arguments||[]).map(function(t){var n=t.name.value,i=e.argTypes[n];if(!i)throw new o(c.format("You supplied an argument named `%s` on directive `%s`, but no such argument exists on that directive.",n,e.getName()),e.getLocation());return new O(e.context,t,i)})},e}(),O=function(){function e(e,t,n){this.ast=t,this.context=e,this.type=n}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getType=function(){return this.type},t.isVariable=function(){return"Variable"===this.ast.value.kind},t.getVariableName=function(){if("Variable"!==this.ast.value.kind)throw new o("Cannot get variable name of an argument value.",this.getLocation());return this.ast.value.name.value},t.getValue=function(){var t=this;if(this.isVariable())throw new o("Cannot get value of an argument variable.",this.getLocation());var n=this.ast.value;return"ListValue"===n.kind?n.values.map(function(n){return new e(t.context,(0,r.default)({},t.ast,{value:n}),t.type.ofType())}):$(n)},e}(),U=function(){function e(e,t){this.context=e;var n=G(t),i=n.isListType,r=n.isNonNullType,a=n.schemaUnmodifiedType;this.isListType=i,this.isNonNullType=r,this.schemaUnmodifiedType=a,this.schemaModifiedType=t}var t=e.prototype;return t.canHaveSubselections=function(){return!(this.schemaUnmodifiedType instanceof x||this.schemaUnmodifiedType instanceof d)},t.getName=function(e){return e.modifiers?this.schemaModifiedType.toString():this.schemaUnmodifiedType.toString()},t.hasField=function(e){return!!this.getFieldDefinition(e)},t.getFieldDefinition=function(e,t){var n,i=this.schemaUnmodifiedType,r=i===this.context.schema.getQueryType(),a=i instanceof w||i instanceof b||i instanceof L,o=i instanceof w||i instanceof b;if(r&&e===A.name?n=A:r&&e===k.name?n=k:a&&e===F.name?n=F:o&&(n=i.getFields()[e]),!n&&D(i)&&t&&t.directives&&t.directives.some(function(e){return"fixme_fat_interface"===e.name.value}))for(var u=this.context.schema.getPossibleTypes(i),c=function(i){var r=u[i].getFields()[e];if(r&&(n=r,t&&t.arguments&&t.arguments.every(function(e){return s(r.args,function(t){return t.name===e.name.value})})))return"break"},l=0;l<u.length;l++){if("break"===c(l))break}return n?new B(this.context,n):null},t.getInterfaces=function(){var t=this;return this.schemaUnmodifiedType instanceof w?this.schemaUnmodifiedType.getInterfaces().map(function(n){return new e(t.context,n)}):[]},t.getConcreteTypes=function(){var t=this;return this.isAbstract()||u(!1),this.context.schema.getPossibleTypes(this.schemaUnmodifiedType).map(function(n){return new e(t.context,n)})},t.getIdentifyingFieldDefinition=function(){return this.alwaysImplements("Node")?this.getFieldDefinition(f):null},t.isAbstract=function(){return D(this.schemaUnmodifiedType)},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isQueryType=function(){return this.schemaUnmodifiedType===this.context.schema.getQueryType()},t.isConnection=function(){if(!/Connection$/.test(this.getName({modifiers:!1})))return!1;var e=this.getFieldDefinition("edges");if(!e||!e.getType().canHaveSubselections())return!1;var t=e.getType().getFieldDefinition("node");if(!t||!t.getType().canHaveSubselections())return!1;var n=e.getType().getFieldDefinition("cursor");return!(!n||n.getType().canHaveSubselections())},t.isConnectionEdge=function(){return/Edge$/.test(this.getName({modifiers:!1}))&&this.hasField("node")&&this.hasField("cursor")},t.isConnectionPageInfo=function(){return"PageInfo"===this.getName({modifiers:!1})},t.alwaysImplements=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().every(function(t){return t.alwaysImplements(e)})},t.mayImplement=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().some(function(t){return t.alwaysImplements(e)})},t.generateField=function(e){var t={kind:"Field",name:{kind:"Name",value:e}};return new P(this.context,t,this)},t.generateIdFragment=function(){return new V(this.context,{kind:"Fragment",name:{kind:"Name",value:"IdFragment"},typeCondition:{kind:"NamedType",name:{value:"Node"}}},this)},e}(),B=function(){function e(e,t){this.context=e,this.schemaFieldDef=t}var t=e.prototype;return t.getName=function(){return this.schemaFieldDef.name},t.getType=function(){return new U(this.context,this.schemaFieldDef.type)},t.hasArgument=function(e){return this.schemaFieldDef.args.some(function(t){return t.name===e})},t.getArgument=function(e){var t=s(this.schemaFieldDef.args,function(t){return t.name===e});return t||u(!1),new q(t.type)},t.getDeclaredArguments=function(){var e={};return this.schemaFieldDef.args.forEach(function(t){e[t.name]=new q(t.type)}),e},e}(),q=function(){function e(e){var t=G(e),n=t.isListType,i=t.isNonNullType,r=t.schemaUnmodifiedType;this.isListType=n,this.isNonNullType=i,this.schemaUnmodifiedArgType=r,this.schemaModifiedArgType=e}var t=e.prototype;return t.getName=function(e){return e.modifiers?this.schemaModifiedArgType.toString():this.schemaUnmodifiedArgType.toString()},t.ofType=function(){return this.isList()||this.isNonNull()||u(!1),new e(this.schemaUnmodifiedArgType)},t.isCustomScalar=function(){return this.isScalar()&&!(this.schemaUnmodifiedArgType===p||this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===h||this.schemaUnmodifiedArgType===y||this.schemaUnmodifiedArgType===E)},t.isBoolean=function(){return this.schemaUnmodifiedArgType===p},t.isEnum=function(){return this.schemaUnmodifiedArgType instanceof d},t.isID=function(){return this.schemaUnmodifiedArgType===h},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isNumber=function(){return this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===y},t.isObject=function(){return this.schemaUnmodifiedArgType instanceof v},t.isScalar=function(){return this.schemaUnmodifiedArgType instanceof x},t.isString=function(){return this.schemaUnmodifiedArgType===E},e}();function G(e){for(var t=!1,n=!1,i=e;;){if(i instanceof T)t=!0;else{if(!(i instanceof N))break;n=!0}i=i.ofType}return{isListType:t,isNonNullType:n,schemaUnmodifiedType:i}}function $(e){switch(e.kind){case"IntValue":return parseInt(e.value,10);case"FloatValue":return parseFloat(e.value);case"StringValue":case"BooleanValue":case"EnumValue":return e.value;case"ListValue":return e.values.map($);case"NullValue":return null;case"ObjectValue":var t={};return e.fields.forEach(function(e){t[e.name.value]=$(e.value)}),t;case"Variable":throw new o(c.format("Unexpected nested variable `%s`; variables are supported as top-level arguments - `node(id: $id)` - or directly within lists - `nodes(ids: [$id])`.",e.name.value),e.loc);default:throw new o(c.format("Unexpected value kind: %s",e.kind),e.loc)}}e.exports={RelayQLArgument:O,RelayQLArgumentType:q,RelayQLDefinition:R,RelayQLDirective:M,RelayQLField:P,RelayQLFieldDefinition:B,RelayQLFragment:V,RelayQLFragmentSpread:j,RelayQLInlineFragment:C,RelayQLMutation:I,RelayQLNode:S,RelayQLQuery:Q,RelayQLSubscription:_,RelayQLType:U}},function(e,t,n){"use strict";var i="directive @relay(\n # Marks a connection field as containing nodes without 'id' fields.\n # This is used to silence the warning when diffing connections.\n isConnectionWithoutNodeID: Boolean,\n\n # Marks a fragment as intended for pattern matching (as opposed to fetching).\n # Used in Classic only.\n pattern: Boolean,\n\n # Marks a fragment as being backed by a GraphQLList.\n plural: Boolean,\n\n # Marks a fragment spread which should be unmasked if provided false\n mask: Boolean = true,\n\n # Selectively pass variables down into a fragment. Only used in Classic.\n variables: [String!],\n) on FRAGMENT_DEFINITION | FRAGMENT_SPREAD | INLINE_FRAGMENT | FIELD",r=(0,n(0).buildSchema)(i+"\ntype Query { x: String }").getDirective("relay");if(!r)throw new Error("Failed to create GraphQLRelayDirective.");e.exports={SCHEMA_EXTENSION:i,GraphQLRelayDirective:r}},function(e,t,n){"use strict";e.exports={ID:"id"}},function(e,t,n){"use strict";var i=n(15),r=n(6),a=n(31),o=n(32),s=n(33),u=n(2);e.exports=function(e){var t=e.types;if(!t)throw new Error('BabelPluginRelay: Expected plugin context to include "types", but got:'+String(e));var n={TaggedTemplateExpression:function(e,n){var c=o(e);if(c)i(t,e,n,c);else{var l=s(e),f=l[0],m=l[1],p=l[2];if(f&&m){var d=n.opts&&n.opts.schema;d||u(!1);var g=a(e,n);e.replaceWith(r(t,e,d,f,g,p,m,!0,n))}}}};return{visitor:{Program:function(e,t){e.traverse(n,t)}}}}},function(e,t,n){"use strict";var i=n(16),r=n(28),a=n(29);e.exports=function(e,t,n,o){if(1!==o.definitions.length)throw new Error("BabelPluginRelay: Expected exactly one definition per graphql tag.");var s=o.definitions[0];if("FragmentDefinition"!==s.kind&&"OperationDefinition"!==s.kind)throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+s.kind+"`.");return function(e,t,n){for(var i=t.scope;i.parent;)i=i.parent;if(t.scope===i)t.replaceWith(n);else{var r=i.generateDeclaredUidIdentifier("graphql");t.replaceWith(e.logicalExpression("||",r,e.assignmentExpression("=",r,n)))}}(e,t,function(e,t,n,o){var s=Boolean(t.opts&&t.opts.compat),u=Boolean(t.opts&&t.opts.haste),c=t.opts&&t.opts.isDevVariable,l=t.opts&&t.opts.artifactDirectory,f=t.opts&&t.opts.buildCommand||"relay-compiler",m="production"!==(process.env.BABEL_ENV||"production"),p=a(e,o,t,{artifactDirectory:l,buildCommand:f,isDevelopment:m,isHasteMode:u,isDevVariable:c});return s?r(e,p,i(e,n,o,t)):p}(e,n,t,s))}},function(e,t,n){"use strict";var i=n(0),r=n(6),a=n(7),o=n(27),s=n(2);function u(e,t){var n=0,r={},a={},o=null,u={Directive:function(e){switch(e.name.value){case"inline":throw new Error("@inline is only available in pure RelayModern mode.");case"argumentDefinitions":if(o)throw new Error("BabelPluginRelay: Expected only one @argumentDefinitions directive");return o=e.arguments,null;case"connection":return null;default:return e}},FragmentSpread:function(t){var i=t.directives,o=t.name.value,u=null,c=null,l=!0;if(0===i.length)c=o;else{var f=i[0];switch(1!==i.length&&s(!1),f.name.value){case"arguments":case"uncheckedArguments_DEPRECATED":var d={};f.arguments.forEach(function(t){var n=t.value;"Variable"===n.kind&&(a[n.name.value]=null);var i=function(e,t){var n=t.name.value,i=t.value,r=null;switch(i.kind){case"Variable":var a=i.name.value;r=p(e,{kind:e.stringLiteral("CallVariable"),callVariableName:e.stringLiteral(a)});break;default:r=m(e,i)}return{name:n,ast:r}}(e,t);d[i.name]=i.ast}),u=p(e,d),c=o+"_args"+ ++n;break;case"relay":var g=f.arguments;(1!==g.length||"mask"!==g[0].name.value)&&s(!1),c=o,l=!1!==g[0].value.value;break;default:throw new Error("BabelPluginRelay: Unsupported directive `"+f.name.value+"` on fragment spread `..."+o+"`.")}}return c||s(!1),r[c]={name:o,args:u,isMasked:l},Object.assign({},t,{name:{kind:"Name",value:c},directives:[]})},Variable:function(e){return a[e.name.value]=null,e}};return{classicAST:i.visit(t,u),fragments:r,variables:a,argumentDefinitions:o}}var c="RelayQL_GENERATED";function l(e,t,n,i){var r=[e.returnStatement(t)];return n.length>0&&r.unshift(e.variableDeclaration("const",n)),e.functionExpression(null,[e.identifier(c)],e.blockStatement(r))}function f(e,t,n){return p(e,{defaultValue:n,kind:e.stringLiteral("LocalArgument"),name:e.stringLiteral(t)})}function m(e,t){switch(t.kind){case"BooleanValue":return e.booleanLiteral(t.value);case"IntValue":return e.numericLiteral(parseInt(t.value,10));case"FloatValue":return e.numericLiteral(parseFloat(t.value));case"StringValue":case"EnumValue":return e.stringLiteral(t.value);case"ListValue":return e.arrayExpression(t.values.map(function(t){return m(e,t)}));default:throw new Error("BabelPluginRelay: Unsupported literal type `"+t.kind+"`.")}}function p(e,t){return e.objectExpression(Object.keys(t).map(function(n){return e.objectProperty(e.identifier(n),t[n])}))}function d(e){var t=e.opts&&e.opts.schema;return t||s(!1),t}function g(e,t,n,a){var s=d(a),u=o(n.name.value),l=u[0],f=u[1],m=i.print(n),p=e.templateLiteral([e.templateElement({raw:m,cooked:m},!0)],[]);return r(e,t,s,p,l,f,c,!1,a)}function h(e,t,n){return Object.keys(n).map(function(i){var r=n[i],a=o(r.name),u=a[0],l=a[1];if(r.isMasked)return e.variableDeclarator(e.identifier(i),function(e,t,n,i,r){var a=[];i&&a.push(e.stringLiteral(i));r&&a.push(r);var o=function(e,t){var n=e.scope.getBinding(t);if(!n)return!1;if("module"===n.kind)return!1;if(n.path.isVariableDeclarator()&&n.path.get("init").node&&n.path.get("init.callee").isIdentifier({name:"require"}))return!1;return!0}(t,n)?e.logicalExpression("||",e.memberExpression(e.identifier(n),e.identifier("__container__")),e.identifier(n)):e.identifier(n);return e.callExpression(e.memberExpression(o,e.identifier("getFragment")),a)}(e,t,u,l,r.args));t.scope.hasBinding(u)||t.scope.hasBinding(l)||s(!1);var f=t.scope.hasBinding(l)?e.memberExpression(e.identifier(l),e.identifier(l)):e.logicalExpression("||",e.memberExpression(e.memberExpression(e.identifier(u),e.identifier(l)),e.identifier(l)),e.memberExpression(e.identifier(u),e.identifier(l)));return e.variableDeclarator(e.identifier(i),e.memberExpression(e.callExpression(e.memberExpression(e.identifier(c),e.identifier("__getClassicFragment")),[f,e.booleanLiteral(!0)]),e.identifier("node")))})}e.exports=function(e,t,n,i){if("FragmentDefinition"===n.kind)return function(e,t,n,i){var r=u(e,n),a=r.classicAST,o=r.fragments,s=r.variables,c=r.argumentDefinitions,d=h(e,t,o),v=p(e,{kind:e.stringLiteral("FragmentDefinition"),argumentDefinitions:function(e,t,n){var i=[];return Object.keys(n).forEach(function(n){var r=(t||[]).find(function(e){return e.name.value===n});if(r){var a=r.value.fields.find(function(e){return"defaultValue"===e.name.value}),o=a?m(e,a.value):e.nullLiteral();i.push(f(e,n,o))}else i.push(function(e,t){return e.objectExpression([e.objectProperty(e.identifier("kind"),e.stringLiteral("RootArgument")),e.objectProperty(e.identifier("name"),e.stringLiteral(t))])}(e,n))}),e.arrayExpression(i)}(e,c,s),node:g(e,t,a,i)});return l(e,v,d)}(e,t,n,i);if("OperationDefinition"===n.kind)return function(e,t,n,i){var r=n.name;if(!r)throw new Error("GraphQL operations must contain names");var o=u(e,n),s=o.classicAST,c=o.fragments,v=h(e,t,c),y="query"===s.operation?function(e,t,n,i){var r,o=d(i),s=i.file&&i.file.opts||{},u=a(o,i.opts||{},s);switch(n.operation){case"query":var c=u.schema.getQueryType();if(!c)throw new Error("Schema does not contain a root query type.");r=c.name;break;case"mutation":var l=u.schema.getMutationType();if(!l)throw new Error("Schema does not contain a root mutation type.");r=l.name;break;case"subscription":var f=u.schema.getSubscriptionType();if(!f)throw new Error("Schema does not contain a root subscription type.");r=f.name;break;default:throw new Error("BabelPluginRelay: Unexpected operation type: `"+n.operation+"`.")}var m={kind:"FragmentDefinition",loc:n.loc,name:{kind:"Name",value:n.name.value},typeCondition:{kind:"NamedType",name:{kind:"Name",value:r}},directives:n.directives,selectionSet:n.selectionSet};return g(e,t,m,i)}(e,t,s,i):g(e,t,s,i),b=p(e,{kind:e.stringLiteral("OperationDefinition"),argumentDefinitions:function(e,t){return t?e.arrayExpression(t.map(function(t){var n=t.variable.name.value,i=t.defaultValue?m(e,t.defaultValue):e.nullLiteral();return f(e,n,i)})):e.arrayExpression([])}(e,n.variableDefinitions),name:e.stringLiteral(r.value),operation:e.stringLiteral(s.operation),node:y});return l(e,b,v)}(e,t,n,i);throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+n.kind+"`.")}},function(e,t,n){"use strict";var i=n(3),r=n(1);e.exports=function(e){if(e instanceof i)return"Relay Transform Error: ".concat(e.message);var t=e.sourceText,n=e.validationErrors;if(n&&t){var a=t.split("\n");return n.map(function(e){return"GraphQL Validation Error: "+e.message+"\n"+e.locations.map(function(e){var t=a[e.line-1];return t&&[">","> "+t,"> "+" ".repeat(e.column-1)+"^^^"].join("\n")}).filter(Boolean).join("\n")}).join("\n")}return r.format("Relay Transform Error: %s\n\n%s",e.message,e.stack)}},function(e,t,n){"use strict";var i=n(19),r=n(2),a=n(1),o=n(11),s=o.RelayQLFragment,u=o.RelayQLMutation,c=o.RelayQLQuery,l=o.RelayQLSubscription,f=n(0),m=f.formatError,p=f.parse,d=f.Source,g=f.validate,h=f.FieldsOnCorrectTypeRule,v=f.FragmentsOnCompositeTypesRule,y=f.KnownArgumentNamesRule,b=f.KnownTypeNamesRule,T=f.PossibleFragmentSpreadsRule,N=f.ValuesOfCorrectTypeRule,w=f.VariablesInAllowedPositionRule,x=function(){function e(e,t){this.schema=e,this.options=t}var t=e.prototype;return t.transform=function(e,t,n){var r=this.processTemplateLiteral(t,n.documentName),a=r.substitutions,o=r.templateText,s=r.variableNames,u=this.processTemplateText(o,n),c=this.processDocumentText(u,n);return new(i(e,this.options))(n.tagName,s).print(c,a,n.enableValidation)},t.processTemplateLiteral=function(e,t){var n=this,i=[],a={},o=[];return e.quasis.forEach(function(t,s){var u=t.value.cooked;if(i.push(u),!t.tail){var c="RQL_"+s,l=e.expressions[s];o.push({name:c,value:l}),/:\s*$/.test(u)?(n.options.substituteVariables||r(!1),i.push("$"+c),a[c]=void 0):i.push("..."+c)}}),{substitutions:o,templateText:i.join("").trim(),variableNames:a}},t.processTemplateText=function(e,t){var n=t.documentName,i=t.propName,a=/^(fragment|mutation|query|subscription)\s*(\w*)?([\s\S]*)/.exec(e);a||r(!1);var o=a[1],s=a[2]||n,u=a[3];return"fragment"===o&&"on"===s&&(s=n+(i?"_"+E(i):"")+"RelayQL",u="on"+u),o+" "+E(s)+" "+u},t.processDocumentText=function(e,t){var n=t.documentName,i=t.enableValidation,o=p(new d(e,n)),f=i?this.validateDocument(o,n):null;if(f){var m=new Error(a.format("You supplied a GraphQL document named `%s` with validation errors.",n));throw m.validationErrors=f,m.sourceText=e,m}var g=o.definitions[0],h={definitionName:E(n),isPattern:!1,generateID:function(){var e=0;return function(){return(e++).toString(32)}}(),schema:this.schema};if("FragmentDefinition"===g.kind)return new s(h,g);if("OperationDefinition"===g.kind){if("mutation"===g.operation)return new u(h,g);if("query"===g.operation)return new c(h,g);if("subscription"===g.operation)return new l(h,g);r(!1)}else r(!1)},t.validateDocument=function(e,t){1!==e.definitions.length&&r(!1);var n,i=this.options.validator;if(i)n=i().validate(this.schema,e);else{var a=[h,v,y,b,T,N,w];n=g(this.schema,e,a)}return n&&n.length>0?n.map(m):null},e}();function E(e){return e[0].toUpperCase()+e.slice(1)}e.exports=x},function(e,t,n){"use strict";var i=n(4),r=i(n(8)),a=i(n(9)),o=n(3),s=n(10),u=n(1),c=n(11),l=c.RelayQLField,f=c.RelayQLFragment,m=c.RelayQLFragmentSpread,p=c.RelayQLInlineFragment,d=c.RelayQLMutation,g=c.RelayQLQuery,h=c.RelayQLSubscription,v=n(13).ID;e.exports=function(e,t){var n=t.snakeCase?function(e){var t={};return Object.keys(e).forEach(function(e){t[e]=e.replace(/[A-Z]/g,function(e){return"_"+e.toLowerCase()})}),t}:function(e){return e},i=e.arrayExpression([]),c=n({__typename:"__typename",clientMutationId:"clientMutationId",clientSubscriptionId:"clientSubscriptionId",cursor:"cursor",edges:"edges",hasNextPage:"hasNextPage",hasPreviousPage:"hasPreviousPage",node:"node",pageInfo:"pageInfo"}),y=t.inputArgumentName||"input",b=e.nullLiteral(),T=function(){function t(e,t){this.tagName=e,this.variableNames=t}var n=t.prototype;return n.print=function(t,n){var i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t instanceof g)i=this.printQuery(t,r);else if(t instanceof f)i=this.printFragment(t);else if(t instanceof d)i=this.printMutation(t,r);else{if(!(t instanceof h))throw new o(u.format("Unsupported definition: %s",t),t.getLocation());i=this.printSubscription(t,r)}return e.callExpression(e.functionExpression(null,n.map(function(t){return e.identifier(t.name)}),e.blockStatement([e.returnStatement(i)])),n.map(function(e){return e.value}))},n.printQuery=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the query named `%s`, but queries must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType(),s=r.getArguments(),l={},f=a.getIdentifyingFieldDefinition();f&&(l[f.getName()]=!0),a.isAbstract()&&(l[c.__typename]=!0);var m=this.printSelections(r,l),p={};if(a.isList()&&(p.isPlural=!0),a.isAbstract()&&(p.isAbstract=!0),s.length>1)throw new o(u.format("Invalid root field `%s`; Relay only supports root fields with zero or one argument.",r.getName()),t.getLocation());var d=b;if(1===s.length){var g=s[0],h=g.getName(),v=g.getType().getName({modifiers:!0});p.identifyingArgName=h,p.identifyingArgType=v,d=e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({type:v}),name:e.valueToNode(h),value:this.printArgumentValue(g)})])}return E({calls:d,children:m,directives:this.printDirectives(r.getDirectives()),fieldName:e.valueToNode(r.getName()),kind:e.valueToNode("Query"),metadata:D(p),name:e.valueToNode(t.getName()),type:e.valueToNode(a.getName({modifiers:!1}))})},n.printFragment=function(t){var n,i=this,r=t.getType(),a={};r.hasField(v)?a[v]=!0:N(t)&&(n=r.generateIdFragment()),r.isAbstract()&&(a[c.__typename]=!0);var u=this.printSelections(t,a,n?[n]:null,t.hasDirective("generated")),l=F(t),f=l&&s(l.getArguments(),function(e){return"variables"===e.getName()}),m=this.printRelayDirectiveMetadata(t,{isAbstract:r.isAbstract(),isTrackingEnabled:!!f}),p=E({children:u,directives:this.printDirectives(t.getDirectives()),id:this.printFragmentID(t),kind:e.valueToNode("Fragment"),metadata:m,name:e.valueToNode(t.getName()),type:e.valueToNode(r.getName({modifiers:!1}))});if(f){var d=f.getValue();if(!Array.isArray(d))throw new o("The variables argument to the @relay directive should be an array of strings.",t.getLocation());return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__createFragment")),[p,e.objectExpression(d.map(function(e){var t=e.getValue();return A(t,i.printVariable(t))}))])}return p},n.printFragmentID=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__id")),[])},n.printMutation=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the mutation named `%s`, but mutations must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(c.clientMutationId)&&(s[c.clientMutationId]=!0);var l=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:l,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Mutation"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSubscription=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the subscription named `%s`, but subscriptions must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(c.clientSubscriptionId)&&(s[c.clientSubscriptionId]=!0),a.hasField(c.clientMutationId)&&(s[c.clientMutationId]=!0);var l=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:l,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Subscription"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSelections=function(t,n,r){var s=this,c=arguments.length>3&&void 0!==arguments[3]&&arguments[3],f=[],d=[],g=!1;t.getSelections().forEach(function(e){if(e instanceof m){if(0!==e.getDirectives().length)throw new o("Directives are not yet supported for `${fragment}`-style fragment references.",e.getLocation());d.push(s.printFragmentReference(e)),g=!0}else if(e instanceof p)d.push(s.printFragment(e.getFragment()));else{if(!(e instanceof l))throw new o(u.format("Unsupported selection type `%s`.",e),e.getLocation());f.push(e)}}),r&&r.forEach(function(e){d.push(s.printFragment(e))});var h=this.printFields(f,t,n,c),v=(0,a.default)(h).concat(d);if(v.length){var y=e.arrayExpression(v);return g?function(t){return e.callExpression(e.memberExpression(e.memberExpression(i,e.identifier("concat")),e.identifier("apply")),[i,t])}(y):y}return b},n.printFields=function(e,t,n){var i=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=t.getType();o.isConnection()&&o.hasField(c.pageInfo)&&e.some(function(e){return e.getName()===c.edges})&&(n[c.pageInfo]=!0);var s=(0,r.default)({},n),u=[];return e.forEach(function(e){delete s[e.getName()],u.push(i.printField(e,t,n,s,a))}),Object.keys(s).forEach(function(e){var r=o.generateField(e);u.push(i.printField(r,t,n,s,a))}),u},n.printField=function(t,n,i,r){var a,s=this,l=arguments.length>4&&void 0!==arguments[4]&&arguments[4],f=t.getType(),m={},p={};f.hasField(v)?p[v]=!0:N(t)&&(a=f.generateIdFragment()),l||function(e,t){if("node"===e.getName()){var n=e.getDeclaredArguments(),i=Object.keys(n);if(!t.isQueryType()&&1===i.length&&i[0]===v)throw new o(u.format("You defined a `node(%s: %s)` field on type `%s`, but Relay requires the `node` field to be defined on the root type. See the Object Identification Guide: \nhttps://facebook.github.io/relay/docs/en/graphql-server-specification.html#object-identification",v,i[0]&&n[i[0]].getName({modifiers:!0}),t.getName({modifiers:!1})),e.getLocation())}}(t,n.getType()),f.canHaveSubselections()&&(m.canHaveSubselections=!0),f.alwaysImplements("Node")&&(m.inferredRootCallName="node",m.inferredPrimaryKey=v),f.isConnection()?(t.hasDeclaredArgument("first")||t.hasDeclaredArgument("last"))&&(l||function(e){var t=[e.findArgument("first"),e.findArgument("last"),e.findArgument("before"),e.findArgument("after")],n=t[0],i=t[1],r=t[2],a=t[3],s=!n||!i||n.isVariable()&&i.isVariable();if(!s)throw new o(u.format("Connection arguments `%s(first: <count>, last: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(last: <count>)`, or `(first: $<var>, last: $<var>)`.",e.getName()),e.getLocation());if(!(s=!n||!r||n.isVariable()&&r.isVariable()))throw new o(u.format("Connection arguments `%s(before: <cursor>, first: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(after: <cursor>, first: <count>)`, `(before: <cursor>, last: <count>)`, or `(before: $<var>, first: $<var>)`.",e.getName()),e.getLocation());if(!(s=!i||!a||i.isVariable()&&a.isVariable()))throw new o(u.format("Connection arguments `%s(after: <cursor>, last: <count>)` are not supported unless both are variables. Use `(last: <count>)`, `(before: <cursor>, last: <count>)`, `(after: <cursor>, first: <count>)`, or `(after: $<var>, last: $<var>)`.",e.getName()),e.getLocation());var l=e.getType().getFieldDefinition(c.edges).getType().getFieldDefinition(c.node).getType();x(e,function(t){if(t.getName()===c.edges||t.getName()===c.pageInfo){var n=e.isPattern()||e.hasArgument("find")||e.hasArgument("first")||e.hasArgument("last");if(!n)throw new o(u.format("You supplied the `%s` field on a connection named `%s`, but you did not supply an argument necessary for Relay to handle the connection. Please specify a limit argument like `first`, or `last` or fetch a specific item with a `find` argument.",t.getName(),e.getName()),e.getLocation())}else{var i=t.getType(),r=i.isList()&&i.getName({modifiers:!1})===l.getName({modifiers:!1});if(r)throw new o(u.format("You supplied a field named `%s` on a connection named `%s`, but pagination is not supported on connections without using `%s`. Use `%s{%s{%s{...}}}` instead.",t.getName(),e.getName(),c.edges,e.getName(),c.edges,c.node),e.getLocation())}})}(t),m.isConnection=!0,t.hasDeclaredArgument("find")&&(m.isFindable=!0)):f.isConnectionPageInfo()?(p[c.hasNextPage]=!0,p[c.hasPreviousPage]=!0):f.isConnectionEdge()&&(p[c.cursor]=!0,p[c.node]=!0),f.isAbstract()&&(m.isAbstract=!0,p[c.__typename]=!0),f.isList()&&(m.isPlural=!0),r.hasOwnProperty(t.getName())&&(m.isGenerated=!0),i.hasOwnProperty(t.getName())&&(m.isRequisite=!0);var d=this.printSelections(t,p,a?[a]:null,l),g=t.getAlias(),h=t.getArguments(),y=h.length?e.arrayExpression(h.map(function(e){return s.printArgument(e)})):b;return E({alias:g?e.valueToNode(g):b,calls:y,children:d,directives:this.printDirectives(t.getDirectives()),fieldName:e.valueToNode(t.getName()),kind:e.valueToNode("Field"),metadata:this.printRelayDirectiveMetadata(t,m),type:e.valueToNode(f.getName({modifiers:!1}))})},n.printFragmentReference=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__frag")),[e.identifier(t.getName())])},n.printArgument=function(t){var n={},i=this.printArgumentTypeForMetadata(t.getType());return i&&(n.type=i),E({kind:e.valueToNode("Call"),metadata:D(n),name:e.valueToNode(t.getName()),value:this.printArgumentValue(t)})},n.printArgumentValue=function(e){return e.isVariable()?this.printVariable(e.getVariableName()):this.printValue(e.getValue())},n.printVariable=function(t){return this.variableNames.hasOwnProperty(t)?e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__var")),[e.identifier(t)]):E({kind:e.valueToNode("CallVariable"),callVariableName:e.valueToNode(t)})},n.printValue=function(t){var n=this;return Array.isArray(t)?e.arrayExpression(t.map(function(e){return n.printArgumentValue(e)})):E({kind:e.valueToNode("CallValue"),callValue:null==t?e.nullLiteral():k(t)})},n.printDirectives=function(t){var n=this,i=[];return t.forEach(function(t){"relay"!==t.getName()&&i.push(e.objectExpression([A("kind",e.valueToNode("Directive")),A("name",e.valueToNode(t.getName())),A("args",e.arrayExpression(t.getArguments().map(function(t){return e.objectExpression([A("name",e.valueToNode(t.getName())),A("value",n.printArgumentValue(t))])})))]))}),i.length?e.arrayExpression(i):b},n.printRelayDirectiveMetadata=function(t,n){var i=[],r=F(t);if(r&&r.getArguments().forEach(function(n){if(n.isVariable())throw new o(u.format("You supplied `$%s` as the `%s` argument to the `@relay` directive, but `@relay` require scalar argument values.",n.getVariableName(),n.getName()),t.getLocation());"variables"!==n.getName()&&i.push(A(n.getName(),e.valueToNode(n.getValue())))}),n){var a=n;Object.keys(a).forEach(function(t){a[t]&&i.push(A(t,e.valueToNode(a[t])))})}return e.objectExpression(i)},n.printArgumentTypeForMetadata=function(e){return e.isBoolean()||e.isID()||e.isString()?null:e.getName({modifiers:!0})},t}();function N(e){return e.getType().mayImplement("Node")&&!e.getSelections().some(function(e){return e instanceof p&&"Node"===e.getFragment().getType().getName({modifiers:!1})})}function w(e){var t=e.getDeclaredArguments(),n=Object.keys(t);if(1!==n.length)throw new o(u.format("Your schema defines a mutation field `%s` that takes %d arguments, but mutation fields must have exactly one argument named `%s`.",e.getName(),n.length,y),e.getLocation());if(n[0]!==y)throw new o(u.format("Your schema defines a mutation field `%s` that takes an argument named `%s`, but mutation fields must have exactly one argument named `%s`.",e.getName(),n[0],y),e.getLocation());var i=e.getArguments();if(i.length>1)throw new o(u.format("There are %d arguments supplied to the mutation field named `%s`, but mutation fields must have exactly one `%s` argument.",i.length,e.getName(),y),e.getLocation())}var x=function e(t,n){t.getSelections().forEach(function(t){t instanceof l?n(t):t instanceof p&&e(t.getFragment(),n)})};function E(t){var n=[];return Object.keys(t).forEach(function(e){var i=t[e];i!==b&&n.push(A(e,i))}),e.objectExpression(n)}function L(t){return t.split(".").reduce(function(t,n){return t?e.memberExpression(t,e.identifier(n)):e.identifier(n)},null)}function D(t){var n=[];return Object.keys(t).forEach(function(i){var r=t[i];r&&n.push(A(i,e.valueToNode(r)))}),e.objectExpression(n)}function A(t,n){return e.objectProperty(e.identifier(t),n)}function k(t){if(null==t)return b;if(Array.isArray(t))return e.arrayExpression(t.map(k));if("object"==typeof t&&null!=t){var n=t;return e.objectExpression(Object.keys(n).map(function(e){return A(e,k(n[e]))}))}return e.valueToNode(t)}function F(e){return s(e.getDirectives(),function(e){return"relay"===e.getName()})}return T}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){"use strict";var i=n(26),r=n(5),a=n(12).SCHEMA_EXTENSION,o=n(0).parse;function s(e,t){var n=!i.existsSync(e)&&t?r.join(t,e):e;return i.readFileSync(n,"utf8")}e.exports=function(e,t){try{var n=e.split(",");if(n.length>1)return o(a+"\n"+n.map(function(e){return s(e,t)}).join("\n"));var i=s(e,t);return"{"===i[0]?JSON.parse(i):o(a+"\n"+i)}catch(t){throw console.error("Encountered the following error while loading the GraphQL schema: "+e+"\n\n"+t.stack.split("\n").map(function(e){return"> "+e}).join("\n")),t}}},function(e,t){e.exports=require("fs")},function(e,t,n){"use strict";var i="data";e.exports=function(e){var t=e.match(/^([a-zA-Z][a-zA-Z0-9]*)(?:_([a-zA-Z][_a-zA-Z0-9]*))?$/);if(!t)throw new Error("BabelPluginGraphQL: Fragments should be named `ModuleName_fragmentName`, got `"+e+"`.");var n=t[1],r=t[2];if(r===i)throw new Error("BabelPluginGraphQL: Fragment `"+e+"` should not end in `_data` to avoid conflict with a fragment named `"+n+"` which also provides resulting data via the React prop `data`. Either rename this fragment to `"+n+"` or choose a different prop name.");return[n,r||i]}},function(e,t,n){"use strict";e.exports=function(e,t,n){return e.objectExpression([e.objectProperty(e.identifier("modern"),t),e.objectProperty(e.identifier("classic"),n)])}},function(e,t,n){"use strict";var i=n(4)(n(9)),r=n(30),a=n(2),o=n(5),s=n(0).print,u="./__generated__/";e.exports=function(e,t,n,c){var l=t.name&&t.name.value;if(!l)throw new Error("GraphQL operations and fragments must contain names");var f=l+".graphql",m=c.isHasteMode?f:c.artifactDirectory?function(e,t,n){null==e.file&&a(!1);var i=e.file.opts.filename,r=o.relative(o.dirname(i),o.resolve(t));return(0!==r.length&&r.startsWith(".")?"":"./")+o.join(r,n)}(n,c.artifactDirectory,f):u+f,p=r.createHash("md5").update(s(t),"utf8").digest("hex"),d=e.callExpression(e.identifier("require"),[e.stringLiteral(m)]),g=[e.returnStatement(d)];if(null!=c.isDevVariable||c.isDevelopment){var h=e.identifier("node"),v=e.memberExpression(h,e.identifier("hash")),y=[e.variableDeclaration("const",[e.variableDeclarator(h,d)]),e.ifStatement(e.logicalExpression("&&",v,e.binaryExpression("!==",v,e.stringLiteral(p))),e.blockStatement([e.expressionStatement(function(e,t,n){return e.callExpression(e.memberExpression(e.identifier("console"),e.identifier("error")),[e.stringLiteral("The definition of '".concat(t,"' appears to have changed. Run ")+"`"+n+"` to update the generated files to receive the expected data.")])}(e,l,c.buildCommand))]))];null!=c.isDevVariable&&(y=[e.ifStatement(e.identifier(c.isDevVariable),e.blockStatement(y))]),g.unshift.apply(g,(0,i.default)(y))}return e.functionExpression(null,[],e.blockStatement(g))}},function(e,t){e.exports=require("crypto")},function(e,t,n){"use strict";var i=n(5).basename,r="providesModule";e.exports=function(e,t){for(var n=e;n.parentPath;)n=n.parentPath;var a=n.documentName;if(!a){var o=n.parent;if(o.comments&&o.comments.length)for(var s,u=o.comments[0].value||"",c=/@(\S+) *(\S*)/g;s=c.exec(u);){var l=s[1],f=s[2];if(l===r){a=f.replace(/[\.-:]/g,"_");break}}var m=t.file&&t.file.opts&&t.file.opts.filename&&i(t.file.opts.filename);if(m&&!a){var p=m.match(/^[_A-Za-z][_0-9A-Za-z]*/);p&&(a=p[0])}a=a||"UnknownFile",n.documentName=a}return a}},function(e,t,n){"use strict";var i=n(0);e.exports=function(e){if(!e.get("tag").isIdentifier({name:"graphql"}))return null;var t=e.node.quasi.quasis;if(1!==t.length)throw new Error("BabelPluginRelay: Substitutions are not allowed in graphql fragments. Included fragments should be referenced as `...MyModule_propName`.");var n=t[0].value.raw,r=i.parse(n);if(0===r.definitions.length)throw new Error("BabelPluginRelay: Unexpected empty graphql tag.");return r}},function(e,t,n){"use strict";e.exports=function(e){var t=e.node,n=e.get("tag"),i=n.matchesPattern("Relay.QL")?"Relay.QL":n.matchesPattern("RelayClassic_DEPRECATED.QL")?"RelayClassic_DEPRECATED.QL":n.matchesPattern("RelayClassic.QL")?"RelayClassic.QL":n.isIdentifier({name:"RelayQL"})?"RelayQL":null;if(!i)return[null,null,null];for(var r=e,a=null;!a&&(r=r.parentPath);)r.isProperty()&&(a=r.node.key.name);return[t.quasi,i,a]}}]);
|
9
|
+
module.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}([function(e,t){e.exports=require("graphql")},function(e,t){e.exports=require("util")},function(e,t,n){"use strict";var i=n(1);e.exports=function(e,t){if(!e){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];throw new Error(i.format.apply(i,[t].concat(r)))}}},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){var i=n(15);e.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){i(e,t,n[t])})}return e}},function(e,t,n){"use strict";e.exports=function(e,t){this.message=e,this.loc=t,this.stack=(new Error).stack}},function(e,t){e.exports=require("path")},function(e,t,n){"use strict";var i=n(18),r=n(8);e.exports=function(e,t,n,a,o,s,u,l,c){try{var f=c.file&&c.file.opts||{};return r(n,c.opts||{},f).transform(e,a,{documentName:o,propName:s,tagName:u,enableValidation:l})}catch(e){throw t.buildCodeFrameError(i(e),Error)}}},function(e,t,n){"use strict";var i=n(19),r=n(25),a=n(0),o=a.buildASTSchema,s=a.buildClientSchema,u=new Map;e.exports=function(e,t,n){var a=u.get(e);if(!a){var l=function(e,t){var n="function"==typeof e?e():e,i="string"==typeof n?r(n,t.sourceRoot):n;if(i.__schema)return s(i);if(i.data&&i.data.__schema)return s(i.data);if(i.kind&&"Document"===i.kind)return o(i,{assumeValid:!0});throw new Error("Invalid introspection data supplied to babel-plugin-relay. The resulting schema is not an object with a `__schema` property or a schema IDL language.")}(e,n);a=new i(l,{inputArgumentName:t.inputArgumentName,snakeCase:Boolean(t.snakeCase),substituteVariables:Boolean(t.substituteVariables),validator:t.validator}),u.set(e,a)}return a}},function(e,t,n){var i=n(21),r=n(22),a=n(23);e.exports=function(e){return i(e)||r(e)||a()}},function(e,t,n){"use strict";e.exports=function(e,t,n){for(var i=0;i<e.length;i++)if(t.call(n,e[i],i,e))return e[i]}},function(e,t,n){"use strict";var i=n(3),r=i(n(4)),a=i(n(24)),o=n(5),s=n(10),u=n(2),l=n(1),c=n(12).GraphQLRelayDirective,f=n(13).ID,p=n(0),m=p.GraphQLBoolean,d=p.GraphQLEnumType,g=p.GraphQLFloat,h=p.GraphQLID,v=p.GraphQLInputObjectType,y=p.GraphQLInt,b=p.GraphQLInterfaceType,T=p.GraphQLList,N=p.GraphQLNonNull,w=p.GraphQLObjectType,x=p.GraphQLScalarType,E=p.GraphQLString,L=p.GraphQLUnionType,D=p.isAbstractType,A=p.SchemaMetaFieldDef,k=p.TypeMetaFieldDef,_=p.TypeNameMetaFieldDef,F=function(){function e(e,t){this.ast=t,this.context=e}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getType=function(){u(!1)},t.getField=function(e){return s(this.getFields(),function(t){return t.getName()===e})},t.getFields=function(){var e=[];return this.getSelections().forEach(function(t){t instanceof P&&e.push(t)}),e},t.getSelections=function(){var e=this;return this.ast.selectionSet?this.ast.selectionSet.selections.map(function(t){if("Field"===t.kind)return new P(e.context,t,e.getType());if("FragmentSpread"===t.kind)return new j(e.context,t);if("InlineFragment"===t.kind)return new C(e.context,t,e.getType());throw new o(l.format("Unexpected selection kind: %s",t.kind),e.getLocation())}):[]},t.getDirectives=function(){var e=this;return(this.ast.directives||[]).map(function(t){return new M(e.context,t)})},t.hasDirective=function(e){return(this.ast.directives||[]).some(function(t){return t.name.value===e})},t.isPattern=function(){return this.context.isPattern},e}(),S=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getName=function(){return this.ast.name?this.ast.name.value:this.getType().getName({modifiers:!1})},t}(F),R=function(e){function t(t,n,i){var a,o={},u=s(n.directives||[],function(e){return"relay"===e.name.value});u&&(u.arguments||[]).forEach(function(e){o[e.name.value]=e.value});var l=o.pattern&&"BooleanValue"===o.pattern.kind&&o.pattern.value;return(a=e.call(this,(0,r.default)({},t,{isPattern:l}),n)||this).parentType=i,a}return(0,a.default)(t,e),t.prototype.getType=function(){var e=this.ast.typeCondition;if(e){for(;"NamedType"!==e.kind;)e=e.type;return new U(this.context,this.context.schema.getType(e.name.value))}if("InlineFragment"===this.ast.kind){if(!this.parentType)throw new o("Cannot get type of typeless inline fragment without parent type.",this.getLocation());return this.parentType}throw new o(l.format("Unexpected fragment kind: %s",this.ast.kind),this.getLocation())},t}(S),V=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getMutationType())},t}(S),Q=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getQueryType())},t}(S),I=function(e){function t(){return e.apply(this,arguments)||this}return(0,a.default)(t,e),t.prototype.getType=function(){return new U(this.context,this.context.schema.getSubscriptionType())},t}(S),P=function(e){function t(t,n,i){var r,a=(r=e.call(this,t,n)||this).ast.name.value,s=i.getFieldDefinition(a,n);if(!s)throw new o(l.format("You supplied a field named `%s` on type `%s`, but no such field exists on that type.",a,i.getName({modifiers:!1})),r.getLocation());return r.fieldDef=s,r}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getAlias=function(){return this.ast.alias?this.ast.alias.value:null},n.getType=function(){return this.fieldDef.getType()},n.hasArgument=function(e){return this.getArguments().some(function(t){return t.getName()===e})},n.findArgument=function(e){return s(this.getArguments(),function(t){return t.getName()===e})},n.getArguments=function(){var e=this,t=this.fieldDef.getDeclaredArguments();return(this.ast.arguments||[]).map(function(n){var i=n.name.value,r=t[i];if(!r)throw new o(l.format("You supplied an argument named `%s` on field `%s`, but no such argument exists on that field.",i,e.getName()),e.getLocation());return new O(e.context,n,r)})},n.hasDeclaredArgument=function(e){return this.fieldDef.getDeclaredArguments().hasOwnProperty(e)},n.getDeclaredArgument=function(e){return this.fieldDef.getArgument(e)},n.getDeclaredArguments=function(){return this.fieldDef.getDeclaredArguments()},t}(F),j=function(e){function t(){return e.apply(this,arguments)||this}(0,a.default)(t,e);var n=t.prototype;return n.getName=function(){return this.ast.name.value},n.getSelections=function(){throw new o("Cannot get selection of a fragment spread.",this.getLocation())},t}(F),C=function(e){function t(t,n,i){var r;return(r=e.call(this,t,n)||this).parentType=i,r}return(0,a.default)(t,e),t.prototype.getFragment=function(){return new R(this.context,this.ast,this.parentType)},t}(F),M=function(){function e(e,t){var n=this;this.ast=t,this.context=e,this.argTypes={};var i=t.name.value,r=i===c.name?c:e.schema.getDirective(i);if(!r)throw new o(l.format("You supplied a directive named `%s`, but no such directive exists.",i),this.getLocation());r.args.forEach(function(e){n.argTypes[e.name]=new G(e.type)})}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getArguments=function(){var e=this;return(this.ast.arguments||[]).map(function(t){var n=t.name.value,i=e.argTypes[n];if(!i)throw new o(l.format("You supplied an argument named `%s` on directive `%s`, but no such argument exists on that directive.",n,e.getName()),e.getLocation());return new O(e.context,t,i)})},e}(),O=function(){function e(e,t,n){this.ast=t,this.context=e,this.type=n}var t=e.prototype;return t.getLocation=function(){return this.ast.loc},t.getName=function(){return this.ast.name.value},t.getType=function(){return this.type},t.isVariable=function(){return"Variable"===this.ast.value.kind},t.getVariableName=function(){if("Variable"!==this.ast.value.kind)throw new o("Cannot get variable name of an argument value.",this.getLocation());return this.ast.value.name.value},t.getValue=function(){var t=this;if(this.isVariable())throw new o("Cannot get value of an argument variable.",this.getLocation());var n=this.ast.value;return"ListValue"===n.kind?n.values.map(function(n){return new e(t.context,(0,r.default)({},t.ast,{value:n}),t.type.ofType())}):$(n)},e}(),U=function(){function e(e,t){this.context=e;var n=B(t),i=n.isListType,r=n.isNonNullType,a=n.schemaUnmodifiedType;this.isListType=i,this.isNonNullType=r,this.schemaUnmodifiedType=a,this.schemaModifiedType=t}var t=e.prototype;return t.canHaveSubselections=function(){return!(this.schemaUnmodifiedType instanceof x||this.schemaUnmodifiedType instanceof d)},t.getName=function(e){return e.modifiers?this.schemaModifiedType.toString():this.schemaUnmodifiedType.toString()},t.hasField=function(e){return!!this.getFieldDefinition(e)},t.getFieldDefinition=function(e,t){var n,i=this.schemaUnmodifiedType,r=i===this.context.schema.getQueryType(),a=i instanceof w||i instanceof b||i instanceof L,o=i instanceof w||i instanceof b;if(r&&e===A.name?n=A:r&&e===k.name?n=k:a&&e===_.name?n=_:o&&(n=i.getFields()[e]),!n&&D(i)&&t&&t.directives&&t.directives.some(function(e){return"fixme_fat_interface"===e.name.value}))for(var u=this.context.schema.getPossibleTypes(i),l=function(i){var r=u[i].getFields()[e];if(r&&(n=r,t&&t.arguments&&t.arguments.every(function(e){return s(r.args,function(t){return t.name===e.name.value})})))return"break"},c=0;c<u.length;c++){if("break"===l(c))break}return n?new q(this.context,n):null},t.getInterfaces=function(){var t=this;return this.schemaUnmodifiedType instanceof w?this.schemaUnmodifiedType.getInterfaces().map(function(n){return new e(t.context,n)}):[]},t.getConcreteTypes=function(){var t=this;return this.isAbstract()||u(!1),this.context.schema.getPossibleTypes(this.schemaUnmodifiedType).map(function(n){return new e(t.context,n)})},t.getIdentifyingFieldDefinition=function(){return this.alwaysImplements("Node")?this.getFieldDefinition(f):null},t.isAbstract=function(){return D(this.schemaUnmodifiedType)},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isQueryType=function(){return this.schemaUnmodifiedType===this.context.schema.getQueryType()},t.isConnection=function(){if(!/Connection$/.test(this.getName({modifiers:!1})))return!1;var e=this.getFieldDefinition("edges");if(!e||!e.getType().canHaveSubselections())return!1;var t=e.getType().getFieldDefinition("node");if(!t||!t.getType().canHaveSubselections())return!1;var n=e.getType().getFieldDefinition("cursor");return!(!n||n.getType().canHaveSubselections())},t.isConnectionEdge=function(){return/Edge$/.test(this.getName({modifiers:!1}))&&this.hasField("node")&&this.hasField("cursor")},t.isConnectionPageInfo=function(){return"PageInfo"===this.getName({modifiers:!1})},t.alwaysImplements=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().every(function(t){return t.alwaysImplements(e)})},t.mayImplement=function(e){return this.getName({modifiers:!1})===e||this.getInterfaces().some(function(t){return t.getName({modifiers:!1})===e})||this.isAbstract()&&this.getConcreteTypes().some(function(t){return t.alwaysImplements(e)})},t.generateField=function(e){var t={kind:"Field",name:{kind:"Name",value:e}};return new P(this.context,t,this)},t.generateIdFragment=function(){return new R(this.context,{kind:"Fragment",name:{kind:"Name",value:"IdFragment"},typeCondition:{kind:"NamedType",name:{value:"Node"}}},this)},e}(),q=function(){function e(e,t){this.context=e,this.schemaFieldDef=t}var t=e.prototype;return t.getName=function(){return this.schemaFieldDef.name},t.getType=function(){return new U(this.context,this.schemaFieldDef.type)},t.hasArgument=function(e){return this.schemaFieldDef.args.some(function(t){return t.name===e})},t.getArgument=function(e){var t=s(this.schemaFieldDef.args,function(t){return t.name===e});return t||u(!1),new G(t.type)},t.getDeclaredArguments=function(){var e={};return this.schemaFieldDef.args.forEach(function(t){e[t.name]=new G(t.type)}),e},e}(),G=function(){function e(e){var t=B(e),n=t.isListType,i=t.isNonNullType,r=t.schemaUnmodifiedType;this.isListType=n,this.isNonNullType=i,this.schemaUnmodifiedArgType=r,this.schemaModifiedArgType=e}var t=e.prototype;return t.getName=function(e){return e.modifiers?this.schemaModifiedArgType.toString():this.schemaUnmodifiedArgType.toString()},t.ofType=function(){return this.isList()||this.isNonNull()||u(!1),new e(this.schemaUnmodifiedArgType)},t.isCustomScalar=function(){return this.isScalar()&&!(this.schemaUnmodifiedArgType===m||this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===h||this.schemaUnmodifiedArgType===y||this.schemaUnmodifiedArgType===E)},t.isBoolean=function(){return this.schemaUnmodifiedArgType===m},t.isEnum=function(){return this.schemaUnmodifiedArgType instanceof d},t.isID=function(){return this.schemaUnmodifiedArgType===h},t.isList=function(){return this.isListType},t.isNonNull=function(){return this.isNonNullType},t.isNumber=function(){return this.schemaUnmodifiedArgType===g||this.schemaUnmodifiedArgType===y},t.isObject=function(){return this.schemaUnmodifiedArgType instanceof v},t.isScalar=function(){return this.schemaUnmodifiedArgType instanceof x},t.isString=function(){return this.schemaUnmodifiedArgType===E},e}();function B(e){for(var t=!1,n=!1,i=e;;){if(i instanceof T)t=!0;else{if(!(i instanceof N))break;n=!0}i=i.ofType}return{isListType:t,isNonNullType:n,schemaUnmodifiedType:i}}function $(e){switch(e.kind){case"IntValue":return parseInt(e.value,10);case"FloatValue":return parseFloat(e.value);case"StringValue":case"BooleanValue":case"EnumValue":return e.value;case"ListValue":return e.values.map($);case"NullValue":return null;case"ObjectValue":var t={};return e.fields.forEach(function(e){t[e.name.value]=$(e.value)}),t;case"Variable":throw new o(l.format("Unexpected nested variable `%s`; variables are supported as top-level arguments - `node(id: $id)` - or directly within lists - `nodes(ids: [$id])`.",e.name.value),e.loc);default:throw new o(l.format("Unexpected value kind: %s",e.kind),e.loc)}}e.exports={RelayQLArgument:O,RelayQLArgumentType:G,RelayQLDefinition:S,RelayQLDirective:M,RelayQLField:P,RelayQLFieldDefinition:q,RelayQLFragment:R,RelayQLFragmentSpread:j,RelayQLInlineFragment:C,RelayQLMutation:V,RelayQLNode:F,RelayQLQuery:Q,RelayQLSubscription:I,RelayQLType:U}},function(e,t,n){"use strict";var i="directive @relay(\n # Marks a connection field as containing nodes without 'id' fields.\n # This is used to silence the warning when diffing connections.\n isConnectionWithoutNodeID: Boolean,\n\n # Marks a fragment as intended for pattern matching (as opposed to fetching).\n # Used in Classic only.\n pattern: Boolean,\n\n # Marks a fragment as being backed by a GraphQLList.\n plural: Boolean,\n\n # Marks a fragment spread which should be unmasked if provided false\n mask: Boolean = true,\n\n # Selectively pass variables down into a fragment. Only used in Classic.\n variables: [String!],\n) on FRAGMENT_DEFINITION | FRAGMENT_SPREAD | INLINE_FRAGMENT | FIELD",r=(0,n(0).buildSchema)(i+"\ntype Query { x: String }").getDirective("relay");if(!r)throw new Error("Failed to create GraphQLRelayDirective.");e.exports={SCHEMA_EXTENSION:i,GraphQLRelayDirective:r}},function(e,t,n){"use strict";e.exports={ID:"id"}},function(module,exports,__webpack_require__){"use strict";var _interopRequireDefault=__webpack_require__(3),_objectSpread2=_interopRequireDefault(__webpack_require__(4)),compileGraphQLTag=__webpack_require__(16),compileRelayQLTag=__webpack_require__(7),getDocumentName=__webpack_require__(31),getValidGraphQLTag=__webpack_require__(32),getValidRelayQLTag=__webpack_require__(33),invariant=__webpack_require__(2),RelayConfig;try{RelayConfig=eval("require")("relay-config")}catch(e){}module.exports=function(e){var t=e.types;if(!t)throw new Error('BabelPluginRelay: Expected plugin context to include "types", but got:'+String(e));var n={TaggedTemplateExpression:function(e,n){var i=getValidGraphQLTag(e);if(i)compileGraphQLTag(t,e,n,i);else{var r=getValidRelayQLTag(e),a=r[0],o=r[1],s=r[2];if(a&&o){var u=n.opts&&n.opts.schema;u||invariant(!1);var l=getDocumentName(e,n);e.replaceWith(compileRelayQLTag(t,e,u,a,l,s,o,!0,n))}}}};return{visitor:{Program:function(e,t){var i=RelayConfig&&RelayConfig.loadConfig();e.traverse(n,(0,_objectSpread2.default)({},t,{opts:(0,_objectSpread2.default)({},i,t.opts)}))}}}}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){"use strict";var i=n(17),r=n(28),a=n(29);e.exports=function(e,t,n,o){if(1!==o.definitions.length)throw new Error("BabelPluginRelay: Expected exactly one definition per graphql tag.");var s=o.definitions[0];if("FragmentDefinition"!==s.kind&&"OperationDefinition"!==s.kind)throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+s.kind+"`.");return function(e,t,n){for(var i=t.scope;i.parent;)i=i.parent;if(t.scope===i)t.replaceWith(n);else{var r=i.generateDeclaredUidIdentifier("graphql");t.replaceWith(e.logicalExpression("||",r,e.assignmentExpression("=",r,n)))}}(e,t,function(e,t,n,o){var s=Boolean(t.opts&&t.opts.compat),u=Boolean(t.opts&&t.opts.haste),l=t.opts&&t.opts.isDevVariable,c=t.opts&&t.opts.artifactDirectory,f=t.opts&&t.opts.buildCommand||"relay-compiler",p="production"!==(process.env.BABEL_ENV||"production"),m=a(e,o,t,{artifactDirectory:c,buildCommand:f,isDevelopment:p,isHasteMode:u,isDevVariable:l});return s?r(e,m,i(e,n,o,t)):m}(e,n,t,s))}},function(e,t,n){"use strict";var i=n(0),r=n(7),a=n(8),o=n(27),s=n(2);function u(e,t){var n=0,r={},a={},o=null,u={Directive:function(e){switch(e.name.value){case"inline":throw new Error("@inline is only available in pure RelayModern mode.");case"argumentDefinitions":if(o)throw new Error("BabelPluginRelay: Expected only one @argumentDefinitions directive");return o=e.arguments,null;case"connection":return null;default:return e}},FragmentSpread:function(t){var i=t.directives,o=t.name.value,u=null,l=null,c=!0;if(0===i.length)l=o;else{var f=i[0];switch(1!==i.length&&s(!1),f.name.value){case"arguments":case"uncheckedArguments_DEPRECATED":var p={};f.arguments.forEach(function(t){var n=t.value;"Variable"===n.kind&&(a[n.name.value]=null);var i=function(e,t){var n=t.name.value,i=t.value,r=null;switch(i.kind){case"Variable":var a=i.name.value;r=g(e,{kind:e.stringLiteral("CallVariable"),callVariableName:e.stringLiteral(a)});break;default:r=d(e,i)}return{name:n,ast:r}}(e,t);p[i.name]=i.ast}),u=g(e,p),l=o+"_args"+ ++n;break;case"relay":var m=f.arguments;(1!==m.length||"mask"!==m[0].name.value)&&s(!1),l=o,c=!1!==m[0].value.value;break;default:throw new Error("BabelPluginRelay: Unsupported directive `"+f.name.value+"` on fragment spread `..."+o+"`.")}}return l||s(!1),r[l]={name:o,args:u,isMasked:c},Object.assign({},t,{name:{kind:"Name",value:l},directives:[]})},Variable:function(e){return a[e.name.value]=null,e}};return{classicAST:i.visit(t,u),fragments:r,variables:a,argumentDefinitions:o}}var l="RelayQL_GENERATED";function c(e,t,n,i){var r=[e.returnStatement(t)];return n.length>0&&r.unshift(e.variableDeclaration("const",n)),e.functionExpression(null,[e.identifier(l)],e.blockStatement(r))}function f(e,t){return t?e.arrayExpression(t.map(function(t){var n=t.variable.name.value,i=t.defaultValue?d(e,t.defaultValue):e.nullLiteral();return m(e,n,i)})):e.arrayExpression([])}function p(e,t,n){var i=[];return Object.keys(n).forEach(function(n){var r=(t||[]).find(function(e){return e.name.value===n});if(r){var a=r.value.fields.find(function(e){return"defaultValue"===e.name.value}),o=a?d(e,a.value):e.nullLiteral();i.push(m(e,n,o))}else i.push(function(e,t){return e.objectExpression([e.objectProperty(e.identifier("kind"),e.stringLiteral("RootArgument")),e.objectProperty(e.identifier("name"),e.stringLiteral(t))])}(e,n))}),e.arrayExpression(i)}function m(e,t,n){return g(e,{defaultValue:n,kind:e.stringLiteral("LocalArgument"),name:e.stringLiteral(t)})}function d(e,t){switch(t.kind){case"BooleanValue":return e.booleanLiteral(t.value);case"IntValue":return e.numericLiteral(parseInt(t.value,10));case"FloatValue":return e.numericLiteral(parseFloat(t.value));case"StringValue":case"EnumValue":return e.stringLiteral(t.value);case"ListValue":return e.arrayExpression(t.values.map(function(t){return d(e,t)}));default:throw new Error("BabelPluginRelay: Unsupported literal type `"+t.kind+"`.")}}function g(e,t){return e.objectExpression(Object.keys(t).map(function(n){return e.objectProperty(e.identifier(n),t[n])}))}function h(e){var t=e.opts&&e.opts.schema;return t||s(!1),t}function v(e,t,n,a){var s=h(a),u=o(n.name.value),c=u[0],f=u[1],p=i.print(n),m=e.templateLiteral([e.templateElement({raw:p,cooked:p},!0)],[]);return r(e,t,s,m,c,f,l,!1,a)}function y(e,t,n){return Object.keys(n).map(function(i){var r=n[i],a=o(r.name),u=a[0],c=a[1];if(r.isMasked)return e.variableDeclarator(e.identifier(i),function(e,t,n,i,r){var a=[];i&&a.push(e.stringLiteral(i));r&&a.push(r);var o=function(e,t){var n=e.scope.getBinding(t);if(!n)return!1;if("module"===n.kind)return!1;if(n.path.isVariableDeclarator()&&n.path.get("init").node&&n.path.get("init.callee").isIdentifier({name:"require"}))return!1;return!0}(t,n)?e.logicalExpression("||",e.memberExpression(e.identifier(n),e.identifier("__container__")),e.identifier(n)):e.identifier(n);return e.callExpression(e.memberExpression(o,e.identifier("getFragment")),a)}(e,t,u,c,r.args));t.scope.hasBinding(u)||t.scope.hasBinding(c)||s(!1);var f=t.scope.hasBinding(c)?e.memberExpression(e.identifier(c),e.identifier(c)):e.logicalExpression("||",e.memberExpression(e.memberExpression(e.identifier(u),e.identifier(c)),e.identifier(c)),e.memberExpression(e.identifier(u),e.identifier(c)));return e.variableDeclarator(e.identifier(i),e.memberExpression(e.callExpression(e.memberExpression(e.identifier(l),e.identifier("__getClassicFragment")),[f,e.booleanLiteral(!0)]),e.identifier("node")))})}e.exports=function(e,t,n,i){if("FragmentDefinition"===n.kind)return function(e,t,n,i){var r=u(e,n),a=r.classicAST,o=r.fragments,s=r.variables,l=r.argumentDefinitions,f=y(e,t,o),m=g(e,{kind:e.stringLiteral("FragmentDefinition"),argumentDefinitions:p(e,l,s),node:v(e,t,a,i)});return c(e,m,f)}(e,t,n,i);if("OperationDefinition"===n.kind)return function(e,t,n,i){var r=n.name;if(!r)throw new Error("GraphQL operations must contain names");var o=u(e,n),s=o.classicAST,l=o.fragments,p=y(e,t,l),m="query"===s.operation?function(e,t,n,i){var r,o=h(i),s=i.file&&i.file.opts||{},u=a(o,i.opts||{},s);switch(n.operation){case"query":var l=u.schema.getQueryType();if(!l)throw new Error("Schema does not contain a root query type.");r=l.name;break;case"mutation":var c=u.schema.getMutationType();if(!c)throw new Error("Schema does not contain a root mutation type.");r=c.name;break;case"subscription":var f=u.schema.getSubscriptionType();if(!f)throw new Error("Schema does not contain a root subscription type.");r=f.name;break;default:throw new Error("BabelPluginRelay: Unexpected operation type: `"+n.operation+"`.")}var p={kind:"FragmentDefinition",loc:n.loc,name:{kind:"Name",value:n.name.value},typeCondition:{kind:"NamedType",name:{kind:"Name",value:r}},directives:n.directives,selectionSet:n.selectionSet};return v(e,t,p,i)}(e,t,s,i):v(e,t,s,i),d=g(e,{kind:e.stringLiteral("OperationDefinition"),argumentDefinitions:f(e,n.variableDefinitions),name:e.stringLiteral(r.value),operation:e.stringLiteral(s.operation),node:m});return c(e,d,p)}(e,t,n,i);throw new Error("BabelPluginRelay: Expected a fragment, mutation, query, or subscription, got `"+n.kind+"`.")}},function(e,t,n){"use strict";var i=n(5),r=n(1);e.exports=function(e){if(e instanceof i)return"Relay Transform Error: ".concat(e.message);var t=e.sourceText,n=e.validationErrors;if(n&&t){var a=t.split("\n");return n.map(function(e){return"GraphQL Validation Error: "+e.message+"\n"+e.locations.map(function(e){var t=a[e.line-1];return t&&[">","> "+t,"> "+" ".repeat(e.column-1)+"^^^"].join("\n")}).filter(Boolean).join("\n")}).join("\n")}return r.format("Relay Transform Error: %s\n\n%s",e.message,e.stack)}},function(e,t,n){"use strict";var i=n(20),r=n(2),a=n(1),o=n(11),s=o.RelayQLFragment,u=o.RelayQLMutation,l=o.RelayQLQuery,c=o.RelayQLSubscription,f=n(0),p=f.formatError,m=f.parse,d=f.Source,g=f.validate,h=f.FieldsOnCorrectTypeRule,v=f.FragmentsOnCompositeTypesRule,y=f.KnownArgumentNamesRule,b=f.KnownTypeNamesRule,T=f.PossibleFragmentSpreadsRule,N=f.ValuesOfCorrectTypeRule,w=f.VariablesInAllowedPositionRule,x=function(){function e(e,t){this.schema=e,this.options=t}var t=e.prototype;return t.transform=function(e,t,n){var r=this.processTemplateLiteral(t,n.documentName),a=r.substitutions,o=r.templateText,s=r.variableNames,u=this.processTemplateText(o,n),l=this.processDocumentText(u,n);return new(i(e,this.options))(n.tagName,s).print(l,a,n.enableValidation)},t.processTemplateLiteral=function(e,t){var n=this,i=[],a={},o=[];return e.quasis.forEach(function(t,s){var u=t.value.cooked;if(i.push(u),!t.tail){var l="RQL_"+s,c=e.expressions[s];o.push({name:l,value:c}),/:\s*$/.test(u)?(n.options.substituteVariables||r(!1),i.push("$"+l),a[l]=void 0):i.push("..."+l)}}),{substitutions:o,templateText:i.join("").trim(),variableNames:a}},t.processTemplateText=function(e,t){var n=t.documentName,i=t.propName,a=/^(fragment|mutation|query|subscription)\s*(\w*)?([\s\S]*)/.exec(e);a||r(!1);var o=a[1],s=a[2]||n,u=a[3];return"fragment"===o&&"on"===s&&(s=n+(i?"_"+E(i):"")+"RelayQL",u="on"+u),o+" "+E(s)+" "+u},t.processDocumentText=function(e,t){var n=t.documentName,i=t.enableValidation,o=m(new d(e,n)),f=i?this.validateDocument(o,n):null;if(f){var p=new Error(a.format("You supplied a GraphQL document named `%s` with validation errors.",n));throw p.validationErrors=f,p.sourceText=e,p}var g,h=o.definitions[0],v={definitionName:E(n),isPattern:!1,generateID:(g=0,function(){return(g++).toString(32)}),schema:this.schema};if("FragmentDefinition"===h.kind)return new s(v,h);if("OperationDefinition"===h.kind){if("mutation"===h.operation)return new u(v,h);if("query"===h.operation)return new l(v,h);if("subscription"===h.operation)return new c(v,h);r(!1)}else r(!1)},t.validateDocument=function(e,t){1!==e.definitions.length&&r(!1);var n,i=this.options.validator;if(i)n=i().validate(this.schema,e);else{var a=[h,v,y,b,T,N,w];n=g(this.schema,e,a)}return n&&n.length>0?n.map(p):null},e}();function E(e){return e[0].toUpperCase()+e.slice(1)}e.exports=x},function(e,t,n){"use strict";var i=n(3),r=i(n(4)),a=i(n(9)),o=n(5),s=n(10),u=n(1),l=n(11),c=l.RelayQLField,f=l.RelayQLFragment,p=l.RelayQLFragmentSpread,m=l.RelayQLInlineFragment,d=l.RelayQLMutation,g=l.RelayQLQuery,h=l.RelayQLSubscription,v=n(13).ID;e.exports=function(e,t){var n=t.snakeCase?function(e){var t={};return Object.keys(e).forEach(function(e){t[e]=e.replace(/[A-Z]/g,function(e){return"_"+e.toLowerCase()})}),t}:function(e){return e},i=e.arrayExpression([]),l=n({__typename:"__typename",clientMutationId:"clientMutationId",clientSubscriptionId:"clientSubscriptionId",cursor:"cursor",edges:"edges",hasNextPage:"hasNextPage",hasPreviousPage:"hasPreviousPage",node:"node",pageInfo:"pageInfo"}),y=t.inputArgumentName||"input",b=e.nullLiteral(),T=function(){function t(e,t){this.tagName=e,this.variableNames=t}var n=t.prototype;return n.print=function(t,n){var i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t instanceof g)i=this.printQuery(t,r);else if(t instanceof f)i=this.printFragment(t);else if(t instanceof d)i=this.printMutation(t,r);else{if(!(t instanceof h))throw new o(u.format("Unsupported definition: %s",t),t.getLocation());i=this.printSubscription(t,r)}return e.callExpression(e.functionExpression(null,n.map(function(t){return e.identifier(t.name)}),e.blockStatement([e.returnStatement(i)])),n.map(function(e){return e.value}))},n.printQuery=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the query named `%s`, but queries must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType(),s=r.getArguments(),c={},f=a.getIdentifyingFieldDefinition();f&&(c[f.getName()]=!0),a.isAbstract()&&(c[l.__typename]=!0);var p=this.printSelections(r,c),m={};if(a.isList()&&(m.isPlural=!0),a.isAbstract()&&(m.isAbstract=!0),s.length>1)throw new o(u.format("Invalid root field `%s`; Relay only supports root fields with zero or one argument.",r.getName()),t.getLocation());var d=b;if(1===s.length){var g=s[0],h=g.getName(),v=g.getType().getName({modifiers:!0});m.identifyingArgName=h,m.identifyingArgType=v,d=e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({type:v}),name:e.valueToNode(h),value:this.printArgumentValue(g)})])}return E({calls:d,children:p,directives:this.printDirectives(r.getDirectives()),fieldName:e.valueToNode(r.getName()),kind:e.valueToNode("Query"),metadata:D(m),name:e.valueToNode(t.getName()),type:e.valueToNode(a.getName({modifiers:!1}))})},n.printFragment=function(t){var n,i=this,r=t.getType(),a={};r.hasField(v)?a[v]=!0:N(t)&&(n=r.generateIdFragment()),r.isAbstract()&&(a[l.__typename]=!0);var u=this.printSelections(t,a,n?[n]:null,t.hasDirective("generated")),c=_(t),f=c&&s(c.getArguments(),function(e){return"variables"===e.getName()}),p=this.printRelayDirectiveMetadata(t,{isAbstract:r.isAbstract(),isTrackingEnabled:!!f}),m=E({children:u,directives:this.printDirectives(t.getDirectives()),id:this.printFragmentID(t),kind:e.valueToNode("Fragment"),metadata:p,name:e.valueToNode(t.getName()),type:e.valueToNode(r.getName({modifiers:!1}))});if(f){var d=f.getValue();if(!Array.isArray(d))throw new o("The variables argument to the @relay directive should be an array of strings.",t.getLocation());return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__createFragment")),[m,e.objectExpression(d.map(function(e){var t=e.getValue();return A(t,i.printVariable(t))}))])}return m},n.printFragmentID=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__id")),[])},n.printMutation=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the mutation named `%s`, but mutations must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(l.clientMutationId)&&(s[l.clientMutationId]=!0);var c=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:c,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Mutation"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSubscription=function(t,n){var i=t.getFields();if(1!==i.length&&n)throw new o(u.format("There are %d fields supplied to the subscription named `%s`, but subscriptions must have exactly one field.",i.length,t.getName()),t.getLocation());var r=i[0],a=r.getType();w(r);var s={};a.hasField(l.clientSubscriptionId)&&(s[l.clientSubscriptionId]=!0),a.hasField(l.clientMutationId)&&(s[l.clientMutationId]=!0);var c=this.printSelections(r,s),f={inputType:this.printArgumentTypeForMetadata(r.getDeclaredArgument(y))};return E({calls:e.arrayExpression([E({kind:e.valueToNode("Call"),metadata:D({}),name:e.valueToNode(r.getName()),value:this.printVariable("input")})]),children:c,directives:this.printDirectives(t.getDirectives()),kind:e.valueToNode("Subscription"),metadata:D(f),name:e.valueToNode(t.getName()),responseType:e.valueToNode(a.getName({modifiers:!1}))})},n.printSelections=function(t,n,r){var s=this,l=arguments.length>3&&void 0!==arguments[3]&&arguments[3],f=[],d=[],g=!1;t.getSelections().forEach(function(e){if(e instanceof p){if(0!==e.getDirectives().length)throw new o("Directives are not yet supported for `${fragment}`-style fragment references.",e.getLocation());d.push(s.printFragmentReference(e)),g=!0}else if(e instanceof m)d.push(s.printFragment(e.getFragment()));else{if(!(e instanceof c))throw new o(u.format("Unsupported selection type `%s`.",e),e.getLocation());f.push(e)}}),r&&r.forEach(function(e){d.push(s.printFragment(e))});var h,v=this.printFields(f,t,n,l),y=[].concat((0,a.default)(v),d);if(y.length){var T=e.arrayExpression(y);return g?(h=T,e.callExpression(e.memberExpression(e.memberExpression(i,e.identifier("concat")),e.identifier("apply")),[i,h])):T}return b},n.printFields=function(e,t,n){var i=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=t.getType();o.isConnection()&&o.hasField(l.pageInfo)&&e.some(function(e){return e.getName()===l.edges})&&(n[l.pageInfo]=!0);var s=(0,r.default)({},n),u=[];return e.forEach(function(e){delete s[e.getName()],u.push(i.printField(e,t,n,s,a))}),Object.keys(s).forEach(function(e){var r=o.generateField(e);u.push(i.printField(r,t,n,s,a))}),u},n.printField=function(t,n,i,r){var a,s=this,c=arguments.length>4&&void 0!==arguments[4]&&arguments[4],f=t.getType(),p={},m={};f.hasField(v)?m[v]=!0:N(t)&&(a=f.generateIdFragment()),c||function(e,t){if("node"===e.getName()){var n=e.getDeclaredArguments(),i=Object.keys(n);if(!t.isQueryType()&&1===i.length&&i[0]===v)throw new o(u.format("You defined a `node(%s: %s)` field on type `%s`, but Relay requires the `node` field to be defined on the root type. See the Object Identification Guide: \nhttps://relay.dev/docs/en/graphql-server-specification#object-identification",v,i[0]&&n[i[0]].getName({modifiers:!0}),t.getName({modifiers:!1})),e.getLocation())}}(t,n.getType()),f.canHaveSubselections()&&(p.canHaveSubselections=!0),f.alwaysImplements("Node")&&(p.inferredRootCallName="node",p.inferredPrimaryKey=v),f.isConnection()?(t.hasDeclaredArgument("first")||t.hasDeclaredArgument("last"))&&(c||function(e){var t=[e.findArgument("first"),e.findArgument("last"),e.findArgument("before"),e.findArgument("after")],n=t[0],i=t[1],r=t[2],a=t[3],s=!n||!i||n.isVariable()&&i.isVariable();if(!s)throw new o(u.format("Connection arguments `%s(first: <count>, last: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(last: <count>)`, or `(first: $<var>, last: $<var>)`.",e.getName()),e.getLocation());if(!(s=!n||!r||n.isVariable()&&r.isVariable()))throw new o(u.format("Connection arguments `%s(before: <cursor>, first: <count>)` are not supported unless both are variables. Use `(first: <count>)`, `(after: <cursor>, first: <count>)`, `(before: <cursor>, last: <count>)`, or `(before: $<var>, first: $<var>)`.",e.getName()),e.getLocation());if(!(s=!i||!a||i.isVariable()&&a.isVariable()))throw new o(u.format("Connection arguments `%s(after: <cursor>, last: <count>)` are not supported unless both are variables. Use `(last: <count>)`, `(before: <cursor>, last: <count>)`, `(after: <cursor>, first: <count>)`, or `(after: $<var>, last: $<var>)`.",e.getName()),e.getLocation());var c=e.getType().getFieldDefinition(l.edges).getType().getFieldDefinition(l.node).getType();x(e,function(t){if(t.getName()===l.edges||t.getName()===l.pageInfo){var n=e.isPattern()||e.hasArgument("find")||e.hasArgument("first")||e.hasArgument("last");if(!n)throw new o(u.format("You supplied the `%s` field on a connection named `%s`, but you did not supply an argument necessary for Relay to handle the connection. Please specify a limit argument like `first`, or `last` or fetch a specific item with a `find` argument.",t.getName(),e.getName()),e.getLocation())}else{var i=t.getType(),r=i.isList()&&i.getName({modifiers:!1})===c.getName({modifiers:!1});if(r)throw new o(u.format("You supplied a field named `%s` on a connection named `%s`, but pagination is not supported on connections without using `%s`. Use `%s{%s{%s{...}}}` instead.",t.getName(),e.getName(),l.edges,e.getName(),l.edges,l.node),e.getLocation())}})}(t),p.isConnection=!0,t.hasDeclaredArgument("find")&&(p.isFindable=!0)):f.isConnectionPageInfo()?(m[l.hasNextPage]=!0,m[l.hasPreviousPage]=!0):f.isConnectionEdge()&&(m[l.cursor]=!0,m[l.node]=!0),f.isAbstract()&&(p.isAbstract=!0,m[l.__typename]=!0),f.isList()&&(p.isPlural=!0),r.hasOwnProperty(t.getName())&&(p.isGenerated=!0),i.hasOwnProperty(t.getName())&&(p.isRequisite=!0);var d=this.printSelections(t,m,a?[a]:null,c),g=t.getAlias(),h=t.getArguments(),y=h.length?e.arrayExpression(h.map(function(e){return s.printArgument(e)})):b;return E({alias:g?e.valueToNode(g):b,calls:y,children:d,directives:this.printDirectives(t.getDirectives()),fieldName:e.valueToNode(t.getName()),kind:e.valueToNode("Field"),metadata:this.printRelayDirectiveMetadata(t,p),type:e.valueToNode(f.getName({modifiers:!1}))})},n.printFragmentReference=function(t){return e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__frag")),[e.identifier(t.getName())])},n.printArgument=function(t){var n={},i=this.printArgumentTypeForMetadata(t.getType());return i&&(n.type=i),E({kind:e.valueToNode("Call"),metadata:D(n),name:e.valueToNode(t.getName()),value:this.printArgumentValue(t)})},n.printArgumentValue=function(e){return e.isVariable()?this.printVariable(e.getVariableName()):this.printValue(e.getValue())},n.printVariable=function(t){return this.variableNames.hasOwnProperty(t)?e.callExpression(e.memberExpression(L(this.tagName),e.identifier("__var")),[e.identifier(t)]):E({kind:e.valueToNode("CallVariable"),callVariableName:e.valueToNode(t)})},n.printValue=function(t){var n=this;return Array.isArray(t)?e.arrayExpression(t.map(function(e){return n.printArgumentValue(e)})):E({kind:e.valueToNode("CallValue"),callValue:null==t?e.nullLiteral():k(t)})},n.printDirectives=function(t){var n=this,i=[];return t.forEach(function(t){"relay"!==t.getName()&&i.push(e.objectExpression([A("kind",e.valueToNode("Directive")),A("name",e.valueToNode(t.getName())),A("args",e.arrayExpression(t.getArguments().map(function(t){return e.objectExpression([A("name",e.valueToNode(t.getName())),A("value",n.printArgumentValue(t))])})))]))}),i.length?e.arrayExpression(i):b},n.printRelayDirectiveMetadata=function(t,n){var i=[],r=_(t);if(r&&r.getArguments().forEach(function(n){if(n.isVariable())throw new o(u.format("You supplied `$%s` as the `%s` argument to the `@relay` directive, but `@relay` require scalar argument values.",n.getVariableName(),n.getName()),t.getLocation());"variables"!==n.getName()&&i.push(A(n.getName(),e.valueToNode(n.getValue())))}),n){var a=n;Object.keys(a).forEach(function(t){a[t]&&i.push(A(t,e.valueToNode(a[t])))})}return e.objectExpression(i)},n.printArgumentTypeForMetadata=function(e){return e.isBoolean()||e.isID()||e.isString()?null:e.getName({modifiers:!0})},t}();function N(e){return e.getType().mayImplement("Node")&&!e.getSelections().some(function(e){return e instanceof m&&"Node"===e.getFragment().getType().getName({modifiers:!1})})}function w(e){var t=e.getDeclaredArguments(),n=Object.keys(t);if(1!==n.length)throw new o(u.format("Your schema defines a mutation field `%s` that takes %d arguments, but mutation fields must have exactly one argument named `%s`.",e.getName(),n.length,y),e.getLocation());if(n[0]!==y)throw new o(u.format("Your schema defines a mutation field `%s` that takes an argument named `%s`, but mutation fields must have exactly one argument named `%s`.",e.getName(),n[0],y),e.getLocation());var i=e.getArguments();if(i.length>1)throw new o(u.format("There are %d arguments supplied to the mutation field named `%s`, but mutation fields must have exactly one `%s` argument.",i.length,e.getName(),y),e.getLocation())}var x=function e(t,n){t.getSelections().forEach(function(t){t instanceof c?n(t):t instanceof m&&e(t.getFragment(),n)})};function E(t){var n=[];return Object.keys(t).forEach(function(e){var i=t[e];i!==b&&n.push(A(e,i))}),e.objectExpression(n)}function L(t){return t.split(".").reduce(function(t,n){return t?e.memberExpression(t,e.identifier(n)):e.identifier(n)},null)}function D(t){var n=[];return Object.keys(t).forEach(function(i){var r=t[i];r&&n.push(A(i,e.valueToNode(r)))}),e.objectExpression(n)}function A(t,n){return e.objectProperty(e.identifier(t),n)}function k(t){if(null==t)return b;if(Array.isArray(t))return e.arrayExpression(t.map(k));if("object"==typeof t&&null!=t){var n=t;return e.objectExpression(Object.keys(n).map(function(e){return A(e,k(n[e]))}))}return e.valueToNode(t)}function _(e){return s(e.getDirectives(),function(e){return"relay"===e.getName()})}return T}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t,n){"use strict";var i=n(12).SCHEMA_EXTENSION,r=n(26),a=n(0).parse,o=n(6);function s(e,t){var n=!r.existsSync(e)&&t?o.join(t,e):e;return r.readFileSync(n,"utf8")}e.exports=function(e,t){try{var n=e.split(",");if(n.length>1)return a(i+"\n"+n.map(function(e){return s(e,t)}).join("\n"));var r=s(e,t);return"{"===r[0]?JSON.parse(r):a(i+"\n"+r)}catch(t){throw console.error("Encountered the following error while loading the GraphQL schema: "+e+"\n\n"+t.stack.split("\n").map(function(e){return"> "+e}).join("\n")),t}}},function(e,t){e.exports=require("fs")},function(e,t,n){"use strict";var i="data";e.exports=function(e){var t=e.match(/^([a-zA-Z][a-zA-Z0-9]*)(?:_([a-zA-Z][_a-zA-Z0-9]*))?$/);if(!t)throw new Error("BabelPluginGraphQL: Fragments should be named `ModuleName_fragmentName`, got `"+e+"`.");var n=t[1],r=t[2];if(r===i)throw new Error("BabelPluginGraphQL: Fragment `"+e+"` should not end in `_data` to avoid conflict with a fragment named `"+n+"` which also provides resulting data via the React prop `data`. Either rename this fragment to `"+n+"` or choose a different prop name.");return[n,r||i]}},function(e,t,n){"use strict";e.exports=function(e,t,n){return e.objectExpression([e.objectProperty(e.identifier("modern"),t),e.objectProperty(e.identifier("classic"),n)])}},function(e,t,n){"use strict";var i=n(3)(n(9)),r=n(30),a=n(2),o=n(6),s=n(0).print,u="./__generated__/";function l(e,t,n){return e.callExpression(e.memberExpression(e.identifier("console"),e.identifier("error")),[e.stringLiteral("The definition of '".concat(t,"' appears to have changed. Run ")+"`"+n+"` to update the generated files to receive the expected data.")])}e.exports=function(e,t,n,c){var f=t.name&&t.name.value;if(!f)throw new Error("GraphQL operations and fragments must contain names");var p=f+".graphql",m=c.isHasteMode?p:c.artifactDirectory?function(e,t,n){null==e.file&&a(!1);var i=e.file.opts.filename,r=o.relative(o.dirname(i),o.resolve(t));return(0!==r.length&&r.startsWith(".")?"":"./")+o.join(r,n)}(n,c.artifactDirectory,p):u+p,d=r.createHash("md5").update(s(t),"utf8").digest("hex"),g=e.callExpression(e.identifier("require"),[e.stringLiteral(m)]),h=[e.returnStatement(g)];if(null!=c.isDevVariable||c.isDevelopment){var v=e.identifier("node"),y=e.memberExpression(v,e.identifier("hash")),b=[e.variableDeclaration("const",[e.variableDeclarator(v,g)]),e.ifStatement(e.logicalExpression("&&",y,e.binaryExpression("!==",y,e.stringLiteral(d))),e.blockStatement([e.expressionStatement(l(e,f,c.buildCommand))]))];null!=c.isDevVariable&&(b=[e.ifStatement(e.identifier(c.isDevVariable),e.blockStatement(b))]),h.unshift.apply(h,(0,i.default)(b))}return e.functionExpression(null,[],e.blockStatement(h))}},function(e,t){e.exports=require("crypto")},function(e,t,n){"use strict";var i=n(6).basename,r="providesModule";e.exports=function(e,t){for(var n=e;n.parentPath;)n=n.parentPath;var a=n.documentName;if(!a){var o=n.parent;if(o.comments&&o.comments.length)for(var s,u=o.comments[0].value||"",l=/@(\S+) *(\S*)/g;s=l.exec(u);){var c=s[1],f=s[2];if(c===r){a=f.replace(/[\.-:]/g,"_");break}}var p=t.file&&t.file.opts&&t.file.opts.filename&&i(t.file.opts.filename);if(p&&!a){var m=p.match(/^[_A-Za-z][_0-9A-Za-z]*/);m&&(a=m[0])}a=a||"UnknownFile",n.documentName=a}return a}},function(e,t,n){"use strict";var i=n(0);e.exports=function(e){if(!e.get("tag").isIdentifier({name:"graphql"}))return null;var t=e.node.quasi.quasis;if(1!==t.length)throw new Error("BabelPluginRelay: Substitutions are not allowed in graphql fragments. Included fragments should be referenced as `...MyModule_propName`.");var n=t[0].value.raw,r=i.parse(n);if(0===r.definitions.length)throw new Error("BabelPluginRelay: Unexpected empty graphql tag.");return r}},function(e,t,n){"use strict";e.exports=function(e){var t=e.node,n=e.get("tag"),i=n.matchesPattern("Relay.QL")?"Relay.QL":n.matchesPattern("RelayClassic_DEPRECATED.QL")?"RelayClassic_DEPRECATED.QL":n.matchesPattern("RelayClassic.QL")?"RelayClassic.QL":n.isIdentifier({name:"RelayQL"})?"RelayQL":null;if(!i)return[null,null,null];for(var r=e,a=null;!a&&(r=r.parentPath);)r.isProperty()&&(a=r.node.key.name);return[t.quasi,i,a]}}]);
|
package/index.js
CHANGED
package/lib/BabelPluginRelay.js
CHANGED
@@ -9,6 +9,10 @@
|
|
9
9
|
*/
|
10
10
|
'use strict';
|
11
11
|
|
12
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
13
|
+
|
14
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
|
15
|
+
|
12
16
|
var compileGraphQLTag = require("./compileGraphQLTag");
|
13
17
|
|
14
18
|
var compileRelayQLTag = require("./compileRelayQLTag");
|
@@ -21,6 +25,13 @@ var getValidRelayQLTag = require("./getValidRelayQLTag");
|
|
21
25
|
|
22
26
|
var invariant = require("./invariant");
|
23
27
|
|
28
|
+
var RelayConfig;
|
29
|
+
|
30
|
+
try {
|
31
|
+
// eslint-disable-next-line no-eval
|
32
|
+
RelayConfig = eval('require')('relay-config'); // eslint-disable-next-line lint/no-unused-catch-bindings
|
33
|
+
} catch (_) {}
|
34
|
+
|
24
35
|
/**
|
25
36
|
* Using babel-plugin-relay with only the modern runtime?
|
26
37
|
*
|
@@ -64,7 +75,7 @@ module.exports = function BabelPluginRelay(context) {
|
|
64
75
|
|
65
76
|
if (quasi && tagName) {
|
66
77
|
var schema = state.opts && state.opts.schema;
|
67
|
-
!schema ? process.env.NODE_ENV !== "production" ? invariant(false, 'babel-plugin-relay: Missing schema option. ' + 'Check your .babelrc file or wherever you configure your Babel ' + 'plugins to ensure the "relay" plugin has a "schema" option.\n' + 'https://
|
78
|
+
!schema ? process.env.NODE_ENV !== "production" ? invariant(false, 'babel-plugin-relay: Missing schema option. ' + 'Check your .babelrc file or wherever you configure your Babel ' + 'plugins to ensure the "relay" plugin has a "schema" option.\n' + 'https://relay.dev/docs/en/installation-and-setup#set-up-babel-plugin-relay') : invariant(false) : void 0;
|
68
79
|
var documentName = getDocumentName(path, state);
|
69
80
|
path.replaceWith(compileRelayQLTag(t, path, schema, quasi, documentName, propName, tagName, true, // enableValidation
|
70
81
|
state));
|
@@ -74,7 +85,10 @@ module.exports = function BabelPluginRelay(context) {
|
|
74
85
|
return {
|
75
86
|
visitor: {
|
76
87
|
Program: function Program(path, state) {
|
77
|
-
|
88
|
+
var config = RelayConfig && RelayConfig.loadConfig();
|
89
|
+
path.traverse(visitor, (0, _objectSpread2["default"])({}, state, {
|
90
|
+
opts: (0, _objectSpread2["default"])({}, config, state.opts)
|
91
|
+
}));
|
78
92
|
}
|
79
93
|
}
|
80
94
|
};
|
package/lib/RelayQLPrinter.js
CHANGED
@@ -338,7 +338,7 @@ module.exports = function (t, options) {
|
|
338
338
|
}
|
339
339
|
|
340
340
|
var printedFields = this.printFields(fields, parent, requisiteFields, isGeneratedQuery);
|
341
|
-
var selections = (0, _toConsumableArray2["default"])(printedFields)
|
341
|
+
var selections = [].concat((0, _toConsumableArray2["default"])(printedFields), printedFragments);
|
342
342
|
|
343
343
|
if (selections.length) {
|
344
344
|
var arrayExpressionOfSelections = t.arrayExpression(selections);
|
@@ -569,11 +569,11 @@ module.exports = function (t, options) {
|
|
569
569
|
}
|
570
570
|
|
571
571
|
return t.objectExpression(properties);
|
572
|
-
}
|
572
|
+
}
|
573
573
|
/**
|
574
574
|
* Prints the type for arguments that are transmitted via variables.
|
575
575
|
*/
|
576
|
-
|
576
|
+
;
|
577
577
|
|
578
578
|
_proto.printArgumentTypeForMetadata = function printArgumentTypeForMetadata(argType) {
|
579
579
|
// Only booleans and strings can be safely inlined, which is indicated to
|
@@ -619,7 +619,7 @@ module.exports = function (t, options) {
|
|
619
619
|
var argNames = Object.keys(argTypes);
|
620
620
|
|
621
621
|
if (!parentType.isQueryType() && argNames.length === 1 && argNames[0] === ID) {
|
622
|
-
throw new RelayTransformError(util.format('You defined a `node(%s: %s)` field on type `%s`, but Relay requires ' + 'the `node` field to be defined on the root type. See the Object ' + 'Identification Guide: \n' + 'https://
|
622
|
+
throw new RelayTransformError(util.format('You defined a `node(%s: %s)` field on type `%s`, but Relay requires ' + 'the `node` field to be defined on the root type. See the Object ' + 'Identification Guide: \n' + 'https://relay.dev/docs/en/graphql-server-specification#object-identification', ID, argNames[0] && argTypes[argNames[0]].getName({
|
623
623
|
modifiers: true
|
624
624
|
}), parentType.getName({
|
625
625
|
modifiers: false
|
@@ -60,13 +60,13 @@ function () {
|
|
60
60
|
var definition = this.processDocumentText(documentText, options);
|
61
61
|
var Printer = RelayQLPrinter(t, this.options);
|
62
62
|
return new Printer(options.tagName, variableNames).print(definition, substitutions, options.enableValidation);
|
63
|
-
}
|
63
|
+
}
|
64
64
|
/**
|
65
65
|
* Convert TemplateLiteral into a single template string with substitution
|
66
66
|
* names, a matching array of substituted values, and a set of substituted
|
67
67
|
* variable names.
|
68
68
|
*/
|
69
|
-
|
69
|
+
;
|
70
70
|
|
71
71
|
_proto.processTemplateLiteral = function processTemplateLiteral(node, documentName) {
|
72
72
|
var _this = this;
|
@@ -100,11 +100,11 @@ function () {
|
|
100
100
|
templateText: chunks.join('').trim(),
|
101
101
|
variableNames: variableNames
|
102
102
|
};
|
103
|
-
}
|
103
|
+
}
|
104
104
|
/**
|
105
105
|
* Converts the template string into a valid GraphQL document string.
|
106
106
|
*/
|
107
|
-
|
107
|
+
;
|
108
108
|
|
109
109
|
_proto.processTemplateText = function processTemplateText(templateText, _ref) {
|
110
110
|
var documentName = _ref.documentName,
|
@@ -123,11 +123,11 @@ function () {
|
|
123
123
|
|
124
124
|
var definitionName = capitalize(name);
|
125
125
|
return type + ' ' + definitionName + ' ' + rest;
|
126
|
-
}
|
126
|
+
}
|
127
127
|
/**
|
128
128
|
* Parses the GraphQL document string into a RelayQLDocument.
|
129
129
|
*/
|
130
|
-
|
130
|
+
;
|
131
131
|
|
132
132
|
_proto.processDocumentText = function processDocumentText(documentText, _ref2) {
|
133
133
|
var documentName = _ref2.documentName,
|
package/lib/createClassicNode.js
CHANGED
@@ -293,7 +293,7 @@ function createObject(t, obj) {
|
|
293
293
|
|
294
294
|
function getSchemaOption(state) {
|
295
295
|
var schema = state.opts && state.opts.schema;
|
296
|
-
!schema ? process.env.NODE_ENV !== "production" ? invariant(false, 'babel-plugin-relay: Missing schema option. ' + 'Check your .babelrc file or wherever you configure your Babel ' + 'plugins to ensure the "relay" plugin has a "schema" option.\n' + 'https://
|
296
|
+
!schema ? process.env.NODE_ENV !== "production" ? invariant(false, 'babel-plugin-relay: Missing schema option. ' + 'Check your .babelrc file or wherever you configure your Babel ' + 'plugins to ensure the "relay" plugin has a "schema" option.\n' + 'https://relay.dev/docs/en/installation-and-setup#set-up-babel-plugin-relay') : invariant(false) : void 0;
|
297
297
|
return schema;
|
298
298
|
}
|
299
299
|
|
@@ -9,16 +9,16 @@
|
|
9
9
|
*/
|
10
10
|
'use strict';
|
11
11
|
|
12
|
-
var fs = require("fs");
|
13
|
-
|
14
|
-
var path = require("path");
|
15
|
-
|
16
12
|
var _require = require("./GraphQLRelayDirective"),
|
17
13
|
SCHEMA_EXTENSION = _require.SCHEMA_EXTENSION;
|
18
14
|
|
15
|
+
var fs = require("fs");
|
16
|
+
|
19
17
|
var _require2 = require("graphql"),
|
20
18
|
parse = _require2.parse;
|
21
19
|
|
20
|
+
var path = require("path");
|
21
|
+
|
22
22
|
function readSource(sourceFile, basePath) {
|
23
23
|
var fullSourceFile = !fs.existsSync(sourceFile) && basePath ? path.join(basePath, sourceFile) : sourceFile;
|
24
24
|
return fs.readFileSync(fullSourceFile, 'utf8');
|
package/macro.js
CHANGED
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "babel-plugin-relay",
|
3
3
|
"description": "A Babel Plugin for use with Relay applications.",
|
4
|
-
"version": "
|
4
|
+
"version": "5.0.0",
|
5
5
|
"keywords": [
|
6
6
|
"graphql",
|
7
7
|
"relay",
|
@@ -9,7 +9,7 @@
|
|
9
9
|
"babel-plugin"
|
10
10
|
],
|
11
11
|
"license": "MIT",
|
12
|
-
"homepage": "https://
|
12
|
+
"homepage": "https://relay.dev",
|
13
13
|
"bugs": "https://github.com/facebook/relay/issues",
|
14
14
|
"repository": "facebook/relay",
|
15
15
|
"dependencies": {
|