relay-test-utils 0.0.0-main-e0f88a3b → 0.0.0-main-2087b512

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,11 +13,23 @@
13
13
 
14
14
  'use strict';
15
15
 
16
- const invariant = require('invariant');
16
+ import type {
17
+ GraphQLSingularResponse,
18
+ NormalizationArgument,
19
+ NormalizationField,
20
+ NormalizationLinkedField,
21
+ NormalizationOperation,
22
+ NormalizationScalarField,
23
+ NormalizationSelection,
24
+ NormalizationSplitOperation,
25
+ OperationDescriptor,
26
+ Variables,
27
+ } from 'relay-runtime';
17
28
 
29
+ const invariant = require('invariant');
18
30
  const {
19
- TYPENAME_KEY,
20
31
  RelayConcreteNode,
32
+ TYPENAME_KEY,
21
33
  getModuleComponentKey,
22
34
  getModuleOperationKey,
23
35
  } = require('relay-runtime');
@@ -41,19 +53,6 @@ const {
41
53
  TYPE_DISCRIMINATOR,
42
54
  } = RelayConcreteNode;
43
55
 
44
- import type {
45
- NormalizationArgument,
46
- NormalizationField,
47
- NormalizationLinkedField,
48
- NormalizationOperation,
49
- NormalizationScalarField,
50
- NormalizationSelection,
51
- OperationDescriptor,
52
- GraphQLSingularResponse,
53
- NormalizationSplitOperation,
54
- Variables,
55
- } from 'relay-runtime';
56
-
57
56
  type ValueResolver = (
58
57
  typeName: ?string,
59
58
  context: MockResolverContext,
@@ -14,32 +14,31 @@
14
14
 
15
15
  /* global jest */
16
16
 
17
- const areEqual = require('areEqual');
18
- const invariant = require('invariant');
19
-
20
- const {
21
- RecordSource,
22
- Store,
23
- QueryResponseCache,
24
- Observable,
25
- Environment,
26
- Network,
27
- createOperationDescriptor,
28
- getRequest,
29
- } = require('relay-runtime');
30
-
31
- import type {Sink} from 'relay-runtime/network/RelayObservable';
32
17
  import type {
33
18
  CacheConfig,
34
19
  ConcreteRequest,
20
+ EnvironmentConfig,
35
21
  GraphQLSingularResponse,
36
22
  GraphQLTaggedNode,
37
23
  IEnvironment,
38
24
  OperationDescriptor,
39
25
  RequestParameters,
40
26
  Variables,
41
- EnvironmentConfig,
42
27
  } from 'relay-runtime';
28
+ import type {Sink} from 'relay-runtime/network/RelayObservable';
29
+
30
+ const areEqual = require('areEqual');
31
+ const invariant = require('invariant');
32
+ const {
33
+ Environment,
34
+ Network,
35
+ Observable,
36
+ QueryResponseCache,
37
+ RecordSource,
38
+ Store,
39
+ createOperationDescriptor,
40
+ getRequest,
41
+ } = require('relay-runtime');
43
42
 
44
43
  type PendingRequest = {|
45
44
  +request: RequestParameters,
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @emails oncall+relay
8
+ * @format
9
+ * @flow
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ const ResolverFragments = require('relay-runtime/store/ResolverFragments');
15
+
16
+ /**
17
+ * Utility function for testing Relay Resolvers. Pass the resolver function and
18
+ * the data that will be returned from `readFragment` and it will return the
19
+ * value that the resolver would derive.
20
+ *
21
+ * *Note:* Relay fragment data includes a special `$refType` key which is
22
+ * impossible for non-Relay code to construct. In tests you can work around
23
+ * this by passing `null` with a Flow supression:
24
+ *
25
+ * ```
26
+ * const fragmentData = {
27
+ * // Other fields here...
28
+ * $refType: (null: any)
29
+ * };
30
+ *
31
+ * const actual = testResolver(resolverFunc, fragmentData);
32
+ * expect(actual).toEqual(expectedValue)
33
+ * ```
34
+ **/
35
+ function testResolver<D, Ret>(
36
+ resolver: ({$data: D, $fragmentRefs: any}) => Ret,
37
+ // indexed_access is not yet enabled for this code base. Once it is, this can
38
+ // become: `Key['$data']`
39
+ fragmentData: D,
40
+ ): Ret {
41
+ const readFragment = ResolverFragments.readFragment;
42
+ // $FlowFixMe Flow says we are not supposed to mutate this, but this is
43
+ // a test utility, so... YOLO!!
44
+ ResolverFragments.readFragment = () => fragmentData;
45
+ const result = resolver(
46
+ // This will be ignored since we mock the function it gets passed to.
47
+ // $FlowFixMe
48
+ null,
49
+ );
50
+ // $FlowFixMe
51
+ ResolverFragments.readFragment = readFragment;
52
+ return result;
53
+ }
54
+
55
+ module.exports = {testResolver};
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @emails oncall+relay
8
+ * @flow
9
+ * @format
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ import type {RelayResolverTestUtilsFlowTest$key} from './__generated__/RelayResolverTestUtilsFlowTest.graphql';
15
+
16
+ const {testResolver} = require('../RelayResolverTestUtils');
17
+ const {graphql} = require('relay-runtime');
18
+ const {readFragment} = require('relay-runtime/store/ResolverFragments');
19
+
20
+ function myTestResolver(rootKey: RelayResolverTestUtilsFlowTest$key): string {
21
+ const user = readFragment(
22
+ graphql`
23
+ fragment RelayResolverTestUtilsFlowTest on User {
24
+ name
25
+ }
26
+ `,
27
+ rootKey,
28
+ );
29
+
30
+ return `Hello ${user.name ?? 'stranger'}!`;
31
+ }
32
+
33
+ testResolver(myTestResolver, {
34
+ name: 'Elizabeth',
35
+ $refType: (null: any),
36
+ });
37
+
38
+ testResolver(
39
+ myTestResolver,
40
+ // $FlowExpectedError foo is an unexpected key
41
+ {
42
+ name: 'Elizabeth',
43
+ foo: 'bar',
44
+ $refType: (null: any),
45
+ },
46
+ );
47
+
48
+ testResolver(myTestResolver, {
49
+ // $FlowExpectedError Object is not a string
50
+ name: {},
51
+ $refType: (null: any),
52
+ });
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @generated SignedSource<<897816ca89aa26b451004cda070e114e>>
8
+ * @flow
9
+ * @lightSyntaxTransform
10
+ * @nogrep
11
+ */
12
+
13
+ /* eslint-disable */
14
+
15
+ 'use strict';
16
+
17
+ /*::
18
+ import type { ReaderFragment } from 'relay-runtime';
19
+ import type { FragmentReference } from "relay-runtime";
20
+ declare export opaque type RelayResolverTestUtilsFlowTest$ref: FragmentReference;
21
+ declare export opaque type RelayResolverTestUtilsFlowTest$fragmentType: RelayResolverTestUtilsFlowTest$ref;
22
+ export type RelayResolverTestUtilsFlowTest = {|
23
+ +name: ?string,
24
+ +$refType: RelayResolverTestUtilsFlowTest$ref,
25
+ |};
26
+ export type RelayResolverTestUtilsFlowTest$data = RelayResolverTestUtilsFlowTest;
27
+ export type RelayResolverTestUtilsFlowTest$key = {
28
+ +$data?: RelayResolverTestUtilsFlowTest$data,
29
+ +$fragmentRefs: RelayResolverTestUtilsFlowTest$ref,
30
+ ...
31
+ };
32
+ */
33
+
34
+ var node/*: ReaderFragment*/ = {
35
+ "argumentDefinitions": [],
36
+ "kind": "Fragment",
37
+ "metadata": null,
38
+ "name": "RelayResolverTestUtilsFlowTest",
39
+ "selections": [
40
+ {
41
+ "alias": null,
42
+ "args": null,
43
+ "kind": "ScalarField",
44
+ "name": "name",
45
+ "storageKey": null
46
+ }
47
+ ],
48
+ "type": "User",
49
+ "abstractKey": null
50
+ };
51
+
52
+ if (__DEV__) {
53
+ (node/*: any*/).hash = "f3f6718b7cf618c97293b5882ccc96c0";
54
+ }
55
+
56
+ module.exports = node;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-e0f88a3b
2
+ * Relay v0.0.0-main-2087b512
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
package/index.js.flow CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  const RelayMockPayloadGenerator = require('./RelayMockPayloadGenerator');
16
16
  const RelayModernMockEnvironment = require('./RelayModernMockEnvironment');
17
-
17
+ const testResolver = require('./RelayResolverTestUtils');
18
18
  const unwrapContainer = require('./unwrapContainer');
19
19
 
20
20
  export type {MockResolvers} from './RelayMockPayloadGenerator';
@@ -27,4 +27,5 @@ module.exports = {
27
27
  MockPayloadGenerator: RelayMockPayloadGenerator,
28
28
  createMockEnvironment: RelayModernMockEnvironment.createMockEnvironment,
29
29
  unwrapContainer: unwrapContainer,
30
+ testResolver: testResolver,
30
31
  };
@@ -22,8 +22,8 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
22
22
  var invariant = require('invariant');
23
23
 
24
24
  var _require = require('relay-runtime'),
25
- TYPENAME_KEY = _require.TYPENAME_KEY,
26
25
  RelayConcreteNode = _require.RelayConcreteNode,
26
+ TYPENAME_KEY = _require.TYPENAME_KEY,
27
27
  getModuleComponentKey = _require.getModuleComponentKey,
28
28
  getModuleOperationKey = _require.getModuleOperationKey;
29
29
 
@@ -20,12 +20,12 @@ var areEqual = require("fbjs/lib/areEqual");
20
20
  var invariant = require('invariant');
21
21
 
22
22
  var _require = require('relay-runtime'),
23
- RecordSource = _require.RecordSource,
24
- Store = _require.Store,
25
- QueryResponseCache = _require.QueryResponseCache,
26
- Observable = _require.Observable,
27
23
  Environment = _require.Environment,
28
24
  Network = _require.Network,
25
+ Observable = _require.Observable,
26
+ QueryResponseCache = _require.QueryResponseCache,
27
+ RecordSource = _require.RecordSource,
28
+ Store = _require.Store,
29
29
  createOperationDescriptor = _require.createOperationDescriptor,
30
30
  getRequest = _require.getRequest;
31
31
 
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @emails oncall+relay
8
+ * @format
9
+ *
10
+ */
11
+ 'use strict';
12
+
13
+ var ResolverFragments = require('relay-runtime/store/ResolverFragments');
14
+ /**
15
+ * Utility function for testing Relay Resolvers. Pass the resolver function and
16
+ * the data that will be returned from `readFragment` and it will return the
17
+ * value that the resolver would derive.
18
+ *
19
+ * *Note:* Relay fragment data includes a special `$refType` key which is
20
+ * impossible for non-Relay code to construct. In tests you can work around
21
+ * this by passing `null` with a Flow supression:
22
+ *
23
+ * ```
24
+ * const fragmentData = {
25
+ * // Other fields here...
26
+ * $refType: (null: any)
27
+ * };
28
+ *
29
+ * const actual = testResolver(resolverFunc, fragmentData);
30
+ * expect(actual).toEqual(expectedValue)
31
+ * ```
32
+ **/
33
+
34
+
35
+ function testResolver(resolver, // indexed_access is not yet enabled for this code base. Once it is, this can
36
+ // become: `Key['$data']`
37
+ fragmentData) {
38
+ var readFragment = ResolverFragments.readFragment; // $FlowFixMe Flow says we are not supposed to mutate this, but this is
39
+ // a test utility, so... YOLO!!
40
+
41
+ ResolverFragments.readFragment = function () {
42
+ return fragmentData;
43
+ };
44
+
45
+ var result = resolver( // This will be ignored since we mock the function it gets passed to.
46
+ // $FlowFixMe
47
+ null); // $FlowFixMe
48
+
49
+ ResolverFragments.readFragment = readFragment;
50
+ return result;
51
+ }
52
+
53
+ module.exports = {
54
+ testResolver: testResolver
55
+ };
package/lib/index.js CHANGED
@@ -14,6 +14,8 @@ var RelayMockPayloadGenerator = require('./RelayMockPayloadGenerator');
14
14
 
15
15
  var RelayModernMockEnvironment = require('./RelayModernMockEnvironment');
16
16
 
17
+ var testResolver = require('./RelayResolverTestUtils');
18
+
17
19
  var unwrapContainer = require('./unwrapContainer');
18
20
 
19
21
  /**
@@ -23,5 +25,6 @@ module.exports = {
23
25
  MockEnvironment: RelayModernMockEnvironment,
24
26
  MockPayloadGenerator: RelayMockPayloadGenerator,
25
27
  createMockEnvironment: RelayModernMockEnvironment.createMockEnvironment,
26
- unwrapContainer: unwrapContainer
28
+ unwrapContainer: unwrapContainer,
29
+ testResolver: testResolver
27
30
  };
@@ -9,10 +9,11 @@
9
9
  'use strict';
10
10
 
11
11
  var invariant = require('invariant');
12
-
13
12
  /**
14
13
  * Returns original component class wrapped by e.g. createFragmentContainer
15
14
  */
15
+
16
+
16
17
  function unwrapContainer(ComponentClass) {
17
18
  // $FlowExpectedError
18
19
  var unwrapped = ComponentClass.__ComponentClass;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "relay-test-utils",
3
3
  "description": "Utilities for testing Relay applications.",
4
- "version": "0.0.0-main-e0f88a3b",
4
+ "version": "0.0.0-main-2087b512",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"
@@ -14,7 +14,7 @@
14
14
  "@babel/runtime": "^7.0.0",
15
15
  "fbjs": "^3.0.0",
16
16
  "invariant": "^2.2.4",
17
- "relay-runtime": "0.0.0-main-e0f88a3b"
17
+ "relay-runtime": "0.0.0-main-2087b512"
18
18
  },
19
19
  "peerDependencies": {
20
20
  "graphql": "^15.0.0"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-e0f88a3b
2
+ * Relay v0.0.0-main-2087b512
3
3
  */
4
- module.exports=function(e){var n={};function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var a in e)t.d(r,a,function(n){return e[n]}.bind(null,a));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=4)}([function(e,n){e.exports=require("invariant")},function(e,n){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,n){e.exports=require("@babel/runtime/helpers/objectSpread2")},function(e,n){e.exports=require("relay-runtime")},function(e,n,t){"use strict";var r=t(5),a=t(8),o=t(10);e.exports={MockEnvironment:a,MockPayloadGenerator:r,createMockEnvironment:a.createMockEnvironment,unwrapContainer:o}},function(e,n,t){"use strict";var r=t(1),a=r(t(6)),o=r(t(2)),l=r(t(7)),i=t(0),u=t(3),c=u.TYPENAME_KEY,s=u.RelayConcreteNode,f=u.getModuleComponentKey,p=u.getModuleOperationKey,d=s.ACTOR_CHANGE,v=s.CLIENT_COMPONENT,y=s.CLIENT_EXTENSION,m=s.CONDITION,b=s.CONNECTION,k=s.DEFER,h=s.FLIGHT_FIELD,g=s.FRAGMENT_SPREAD,_=s.INLINE_FRAGMENT,E=s.LINKED_FIELD,A=s.LINKED_HANDLE,C=s.MODULE_IMPORT,M=s.SCALAR_FIELD,S=s.SCALAR_HANDLE,O=s.STREAM,x=s.TYPE_DISCRIMINATOR;var j={ID:function(e,n){return"<".concat(null!=e.parentType&&e.parentType!==R?e.parentType+"-":"","mock-id-").concat(n(),">")},Boolean:function(){return!1},Int:function(){return 42},Float:function(){return 4.2}},R="__MockObject";function N(e,n,t,r){var a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0,l=function(a){var o,l,i,u=null!=t&&null!=n?n[t]:null;(null!=u&&(o=u(r,e)),void 0===o)&&(o=null!=a?a:"ID"===t?j.ID(r,e):'<mock-value-for-field-"'.concat(null!==(l=null!==(i=r.alias)&&void 0!==i?i:r.name)&&void 0!==l?l:"undefined",'">'));return o};return!0===a?T(Array.isArray(o)?o:Array(1).fill(),l):l(o)}function T(e,n){return e.map((function(e){return n(e)}))}var q=function(){function e(e){var n,t,r,a,l;this._variables=e.variables,this._mockResolvers=(0,o.default)((0,o.default)({},j),null!==(n=e.mockResolvers)&&void 0!==n?n:{}),this._selectionMetadata=null!==(t=e.selectionMetadata)&&void 0!==t?t:{},this._resolveValue=(r=this._mockResolvers,a=0,l=function(){return++a},function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return N.apply(void 0,[l,r].concat(n))})}var n=e.prototype;return n.generate=function(e,n){var t=this._getDefaultValuesForObject(n,null,null,[],{});return this._traverse({selections:e,typeName:n,isAbstractType:!1,name:null,alias:null,args:null},[],null,t)},n._traverse=function(e,n,t,r){var a=e.selections,o=e.typeName,l=e.isAbstractType;return this._traverseSelections(a,o,l,n,t,r)},n._traverseSelections=function(e,n,t,r,l,u){var s=this,j=null!=l?l:{};return e.forEach((function(e){switch(e.kind){case M:j=s._mockScalar(e,n,r,j,u);break;case b:j=s._traverseSelections([e.edges,e.pageInfo],n,t,r,l,u);break;case E:j=s._mockLink(e,r,j,u);break;case m:s._getVariableValue(e.condition)===e.passingValue&&(j=s._traverseSelections(e.selections,n,t,r,j,u));break;case k:case O:j=s._traverseSelections(e.selections,n,t,r,j,u);break;case v:case g:j=s._traverseSelections(e.fragment.selections,n,t,r,j,u);break;case _:var N,T=e.abstractKey;if(null!=T){null!=j&&(j[T]=!0),j=s._traverseSelections(e.selections,n,t,r,j,u);break}if(null!=j&&(null==j[c]||j[c]===R))j[c]=null!==(N=null==u?void 0:u[c])&&void 0!==N?N:e.type;if(!0===t&&null!=j&&j[c]===n&&(j[c]=e.type),null!=j&&j[c]===e.type){var q=s._getDefaultValuesForObject(e.type,r[r.length-1],null,r),V=n!==e.type?s._getDefaultValuesForObject(n,r[r.length-1],null,r):q,w=q;if(void 0===w&&(w=V),void 0===w&&(w=u),null===w){j=null;break}null!=(j=s._traverseSelections(e.selections,e.type,t,r,j,w))[c]&&(j[c]=e.type),null!=j.id&&null!=q&&null!=q.id&&(j.id=q.id)}break;case C:if(null!=u){var D;if(u.__typename!==n)break;var I=u.__module_operation;"object"==typeof I&&null!==I&&"SplitOperation"===I.kind&&Array.isArray(I.selections)&&"string"==typeof I.name||i(!1,'RelayMockPayloadGenerator(): Unexpected default value for a field `__module_operation` in the mock resolver for @module dependency. Provided value is "%s" and we\'re expecting an object of a type `NormalizationSplitOperation`. Please adjust mock resolver for the type "%s". Typically it should require a file "%s$normalization.graphql".',JSON.stringify(I),n,e.fragmentName);var P=I,F=e.documentName;null==j&&(j={}),j=(0,o.default)((0,o.default)({},j),{},(D={},(0,a.default)(D,c,n),(0,a.default)(D,p(F),I.name),(0,a.default)(D,f(F),u.__module_component),D),s._traverseSelections(P.selections,n,!1,r,null,null))}break;case y:break;case x:var L=e.abstractKey;null!=j&&(j[L]=!0);break;case S:case A:break;case h:throw new Error("Flight fields are not yet supported.");case d:throw new Error("ActorChange fields are not yet supported.");default:i(!1,"RelayMockPayloadGenerator(): Unexpected AST kind `%s`.",e.kind)}})),j},n._getCorrectDefaultEnum=function(e,n,t,r){if(void 0===n)return n;if(null===n)return n;var a=Array.isArray(n)?n.map((function(e){return String(e).toUpperCase()})):[String(n).toUpperCase()],o=e.map((function(e){return e.toUpperCase()}));a.filter((function(e){return o.includes(e)})).length!==a.length&&i(!1,'RelayMockPayloadGenerator: Invalid value "%s" provided for enum field "%s" via MockResolver.Expected one of the following values: %s.',n,"".concat(t.join("."),".").concat(r),e.map((function(e){return'"'.concat(e,'"')})).join(", "));var l=a.map((function(n){var t=o.indexOf(String(n).toUpperCase());return e[t]}));return Array.isArray(n)?l:l[0]},n._mockScalar=function(e,n,t,r,a){var o,i,u=null!=r?r:{},s=null!==(o=e.alias)&&void 0!==o?o:e.name;if(u.hasOwnProperty(s)&&e.name!==c)return u;e.name===c&&(i=null!=n?n:R);var f=[].concat((0,l.default)(t),[s]),p=this._getScalarFieldTypeDetails(e,n,f),d=p.type,v=p.plural,y=p.enumValues;if(null!=a&&a.hasOwnProperty(s)&&(i=a[s],null!=y&&(i=this._getCorrectDefaultEnum(y,i,t,s)),void 0!==i&&v&&!Array.isArray(i)&&(i=[i])),void 0===i){var m=null!=y?y[0]:void 0;i=this._resolveValue(d,{parentType:n,name:e.name,alias:e.alias,path:f,args:this._getFieldArgs(e)},v,m)}return u[s]=i,u},n._mockLink=function(e,n,t,r){var a,o,i,u,s=this,f=null!==(a=e.alias)&&void 0!==a?a:e.name,p=null!=t?t:{},d=this._getFieldArgs(e),v=[].concat((0,l.default)(n),[f]),y=null!==(o=this._selectionMetadata[v.join(".")])&&void 0!==o?o:{type:R};if(null!=r&&"object"==typeof r[f]&&(u=r[f]),null===u)return p[f]=null,p;var m=null!==(i=e.concreteType)&&void 0!==i?i:null!=u&&"string"==typeof u[c]?u[c]:y.type,b=null===e.concreteType&&m===y.type,k=function(t){var r,a,o=null!==(r=s._getDefaultValuesForObject(null!==(a=e.concreteType)&&void 0!==a?a:y.type,e.name,e.alias,v,d))&&void 0!==r?r:t;return null===o?null:s._traverse({selections:e.selections,typeName:m,isAbstractType:b,name:e.name,alias:e.alias,args:d},[].concat((0,l.default)(n),[f]),"object"==typeof p[f]?p[f]:null,o)};return p[f]="LinkedField"===e.kind&&e.plural?T(Array.isArray(u)?u:Array(1).fill(),k):k(u),p},n._getVariableValue=function(e){return this._variables.hasOwnProperty(e)||i(!1,"RelayMockPayloadGenerator(): Undefined variable `%s`.",e),this._variables[e]},n._getDefaultValuesForObject=function(e,n,t,r,a){var o;if(null!=e&&null!=this._mockResolvers[e]&&(o=this._resolveValue(e,{parentType:null,name:n,alias:t,args:a,path:r},!1)),"object"==typeof o)return o},n._getFieldArgs=function(e){var n=this,t={};return null!=e.args&&e.args.forEach((function(e){t[e.name]=n._getArgValue(e)})),t},n._getArgValue=function(e){var n=this;switch(e.kind){case"Literal":return e.value;case"Variable":return this._getVariableValue(e.variableName);case"ObjectValue":var t={};return e.fields.forEach((function(e){t[e.name]=n._getArgValue(e)})),t;case"ListValue":var r=[];return e.items.forEach((function(e){r.push(null!=e?n._getArgValue(e):null)})),r}},n._getScalarFieldTypeDetails=function(e,n,t){var r;return null!==(r=this._selectionMetadata[t.join(".")])&&void 0!==r?r:{type:"id"===e.name?"ID":"String",plural:!1,enumValues:null,nullable:!1}},e}();e.exports={generate:function(e,n){return{data:function(e,n,t,r){var a,o=new q({variables:n,mockResolvers:t,selectionMetadata:r});return a=e.name.endsWith("Mutation")?"Mutation":e.name.endsWith("Subscription")?"Subscription":"Query",o.generate(e.selections,a)}(e.request.node.operation,e.request.variables,null!=n?n:null,function(e){var n,t=null===(n=e.request.node.params.metadata)||void 0===n?void 0:n.relayTestingSelectionTypeInfo;if(null!=t&&!Array.isArray(t)&&"object"==typeof t){var r={};return Object.keys(t).forEach((function(e){var n=t[e];null==n||Array.isArray(n)||"object"!=typeof n||"string"!=typeof n.type||"boolean"!=typeof n.plural||"boolean"!=typeof n.nullable||null!==n.enumValues&&!Array.isArray(n.enumValues)||(r[e]={type:n.type,plural:n.plural,nullable:n.nullable,enumValues:Array.isArray(n.enumValues)?n.enumValues.map(String):null})})),r}return null}(e))}}}},function(e,n){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,n){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,n,t){"use strict";var r=t(1)(t(2)),a=t(9),o=t(0),l=t(3),i=l.RecordSource,u=l.Store,c=l.QueryResponseCache,s=l.Observable,f=l.Environment,p=l.Network,d=l.createOperationDescriptor,v=l.getRequest;function y(e,n){e[n]=jest.fn(e[n].bind(e))}function m(e,n){var t=e[n].bind(e);e[n]=jest.fn((function(){for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];var l=t.apply(void 0,a),i=jest.fn((function(){return l.dispose()}));return e[n].mock.dispose=i,{dispose:i}}));var r=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){r(),e[n].mock.dispose=null}}function b(e,n){var t=e[n].bind(e),r=[];e[n]=jest.fn((function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return t.apply(void 0,n).do({start:function(e){r.push(e)}})})),e[n].mock.subscriptions=r;var a=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){a(),e[n].mock.subscriptions=[]}}e.exports={createMockEnvironment:function(e){var n,t,l,k,h=null!==(n=null==e?void 0:e.store)&&void 0!==n?n:new u(new i),g=new c({size:10,ttl:3e5}),_=[],E=[],A=[],C=function(e,n,t){var r=e.id,o=e.text,l=null!=r?r:o,i=null;if(null!=(null==t?void 0:t.force)&&!1!==(null==t?void 0:t.force)||null==l||(i=g.get(l,n)),null!==i)return s.from(i);var u=E.find((function(t){return t.request.node.params===e&&a(t.request.variables,n)}));if(null!=u&&A.length>0){var c=A[0],f=c(u);if(null!=f)return A=A.filter((function(e){return e!==c})),E=E.filter((function(e){return e!==u})),f instanceof Error?s.create((function(e){e.error(f)})):s.from(f)}return s.create((function(r){var o={request:e,variables:n,cacheConfig:t,sink:r};return _=_.concat([o]),function(){_=_.filter((function(e){return!a(e,o)})),E=E.filter((function(e){return e!==u}))}}))};function M(e){if("Request"===e.kind)return e;var n=e;return E.includes(n)||o(!1,'RelayModernMockEnvironment: Operation "%s" was not found in the list of pending operations',n.request.node.operation.name),n.request.node}function S(e){var n,t;n="Request"===e.kind?e:(t=e).request.node;var r=_.filter((function(e){return!!a(e.request,n.params)&&(!t||a(t.request.variables,e.variables))}));return r.length||o(!1,"MockEnvironment: Cannot respond to request, it has not been requested yet."),r.forEach((function(e){e.sink||o(!1,"MockEnvironment: Cannot respond to `%s`, it has not been requested yet.",n.params.name)})),r}function O(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("data")||o(!1,"MockEnvironment(): Expected payload to be an object with a `data` key."),e}var x=function(e,n){var t="string"==typeof n?new Error(n):n;S(e).forEach((function(e){var n=e.sink;null===n&&o(!1,"Sink should be defined."),n.error(t)}))},j=function(e,n){S(e).forEach((function(e){var t=e.sink;null===t&&o(!1,"Sink should be defined."),t.next(O(n)),t.complete()}))},R=function(){var e=E[E.length-1];return null==e&&o(!1,"RelayModernMockEnvironment: There are no pending operations in the list"),e},N=new f((0,r.default)({configName:"RelayModernMockEnvironment",network:p.create(C,C),store:h},e)),T=function(e,n){return function(){for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];var o=r[0].operation;return E=E.concat([o]),n.apply(e,r)}};N.execute=T(N,N.execute),N.executeWithSource=T(N,N.executeWithSource),N.executeMutation=T(N,N.executeMutation),"test"===(null===(t=global)||void 0===t||null===(l=t.process)||void 0===l||null===(k=l.env)||void 0===k?void 0:k.NODE_ENV)&&(m(N,"applyUpdate"),y(N,"commitPayload"),y(N,"getStore"),y(N,"lookup"),y(N,"check"),m(N,"subscribe"),m(N,"retain"),b(N,"execute"),b(N,"executeWithSource"),b(N,"executeMutation"),y(h,"getSource"),y(h,"lookup"),y(h,"notify"),y(h,"publish"),m(h,"retain"),m(h,"subscribe"));var q={cachePayload:function(e,n,t){var r=M(e).params,a=r.id,l=r.text,i=null!=a?a:l;null==i&&o(!1,"CacheID should not be null"),g.set(i,n,t)},clearCache:function(){g.clear()},isLoading:function(e,n,t){return _.some((function(r){return a(r.request,M(e).params)&&a(r.variables,n)&&a(r.cacheConfig,null!=t?t:{})}))},reject:x,resolve:j,nextValue:function(e,n){S(e).forEach((function(e){var t=e.sink;null===t&&o(!1,"Sink should be defined."),t.next(O(n))}))},complete:function(e){S(e).forEach((function(e){var n=e.sink;null===n&&o(!1,"Sink should be defined."),n.complete()}))},getMostRecentOperation:R,resolveMostRecentOperation:function(e){var n=R(),t="function"==typeof e?e(n):e;return j(n,t)},rejectMostRecentOperation:function(e){var n=R(),t="function"==typeof e?e(n):e;return x(n,t)},findOperation:function(e){var n=E.find(e);return null==n&&o(!1,"RelayModernMockEnvironment: Operation was not found in the list of pending operations"),n},queuePendingOperation:function(e,n){var t=d(v(e),n);E=E.concat([t])},getAllOperations:function(){return E},queueOperationResolver:function(e){A=A.concat([e])}};return N.mock=q,N.mockClear=function(){N.applyUpdate.mockClear(),N.commitPayload.mockClear(),N.getStore.mockClear(),N.lookup.mockClear(),N.check.mockClear(),N.subscribe.mockClear(),N.retain.mockClear(),N.execute.mockClear(),N.executeMutation.mockClear(),h.getSource.mockClear(),h.lookup.mockClear(),h.notify.mockClear(),h.publish.mockClear(),h.retain.mockClear(),h.subscribe.mockClear(),g.clear(),E=[],_=[]},N}}},function(e,n){e.exports=require("fbjs/lib/areEqual")},function(e,n,t){"use strict";var r=t(0);e.exports=function(e){var n=e.__ComponentClass;return null==n&&r(!1,"Could not find component for %s, is it a Relay container?",e.displayName||e.name),n}}]);
4
+ module.exports=function(e){var n={};function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var a in e)t.d(r,a,function(n){return e[n]}.bind(null,a));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=4)}([function(e,n){e.exports=require("invariant")},function(e,n){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,n){e.exports=require("@babel/runtime/helpers/objectSpread2")},function(e,n){e.exports=require("relay-runtime")},function(e,n,t){"use strict";var r=t(5),a=t(8),o=t(10),l=t(12);e.exports={MockEnvironment:a,MockPayloadGenerator:r,createMockEnvironment:a.createMockEnvironment,unwrapContainer:l,testResolver:o}},function(e,n,t){"use strict";var r=t(1),a=r(t(6)),o=r(t(2)),l=r(t(7)),i=t(0),u=t(3),c=u.RelayConcreteNode,s=u.TYPENAME_KEY,f=u.getModuleComponentKey,p=u.getModuleOperationKey,d=c.ACTOR_CHANGE,v=c.CLIENT_COMPONENT,m=c.CLIENT_EXTENSION,y=c.CONDITION,b=c.CONNECTION,k=c.DEFER,g=c.FLIGHT_FIELD,h=c.FRAGMENT_SPREAD,_=c.INLINE_FRAGMENT,E=c.LINKED_FIELD,A=c.LINKED_HANDLE,C=c.MODULE_IMPORT,M=c.SCALAR_FIELD,S=c.SCALAR_HANDLE,O=c.STREAM,x=c.TYPE_DISCRIMINATOR;var R={ID:function(e,n){return"<".concat(null!=e.parentType&&e.parentType!==j?e.parentType+"-":"","mock-id-").concat(n(),">")},Boolean:function(){return!1},Int:function(){return 42},Float:function(){return 4.2}},j="__MockObject";function N(e,n,t,r){var a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0,l=function(a){var o,l,i,u=null!=t&&null!=n?n[t]:null;(null!=u&&(o=u(r,e)),void 0===o)&&(o=null!=a?a:"ID"===t?R.ID(r,e):'<mock-value-for-field-"'.concat(null!==(l=null!==(i=r.alias)&&void 0!==i?i:r.name)&&void 0!==l?l:"undefined",'">'));return o};return!0===a?T(Array.isArray(o)?o:Array(1).fill(),l):l(o)}function T(e,n){return e.map((function(e){return n(e)}))}var q=function(){function e(e){var n,t,r,a,l;this._variables=e.variables,this._mockResolvers=(0,o.default)((0,o.default)({},R),null!==(n=e.mockResolvers)&&void 0!==n?n:{}),this._selectionMetadata=null!==(t=e.selectionMetadata)&&void 0!==t?t:{},this._resolveValue=(r=this._mockResolvers,a=0,l=function(){return++a},function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return N.apply(void 0,[l,r].concat(n))})}var n=e.prototype;return n.generate=function(e,n){var t=this._getDefaultValuesForObject(n,null,null,[],{});return this._traverse({selections:e,typeName:n,isAbstractType:!1,name:null,alias:null,args:null},[],null,t)},n._traverse=function(e,n,t,r){var a=e.selections,o=e.typeName,l=e.isAbstractType;return this._traverseSelections(a,o,l,n,t,r)},n._traverseSelections=function(e,n,t,r,l,u){var c=this,R=null!=l?l:{};return e.forEach((function(e){switch(e.kind){case M:R=c._mockScalar(e,n,r,R,u);break;case b:R=c._traverseSelections([e.edges,e.pageInfo],n,t,r,l,u);break;case E:R=c._mockLink(e,r,R,u);break;case y:c._getVariableValue(e.condition)===e.passingValue&&(R=c._traverseSelections(e.selections,n,t,r,R,u));break;case k:case O:R=c._traverseSelections(e.selections,n,t,r,R,u);break;case v:case h:R=c._traverseSelections(e.fragment.selections,n,t,r,R,u);break;case _:var N,T=e.abstractKey;if(null!=T){null!=R&&(R[T]=!0),R=c._traverseSelections(e.selections,n,t,r,R,u);break}if(null!=R&&(null==R[s]||R[s]===j))R[s]=null!==(N=null==u?void 0:u[s])&&void 0!==N?N:e.type;if(!0===t&&null!=R&&R[s]===n&&(R[s]=e.type),null!=R&&R[s]===e.type){var q=c._getDefaultValuesForObject(e.type,r[r.length-1],null,r),V=n!==e.type?c._getDefaultValuesForObject(n,r[r.length-1],null,r):q,w=q;if(void 0===w&&(w=V),void 0===w&&(w=u),null===w){R=null;break}null!=(R=c._traverseSelections(e.selections,e.type,t,r,R,w))[s]&&(R[s]=e.type),null!=R.id&&null!=q&&null!=q.id&&(R.id=q.id)}break;case C:if(null!=u){var D;if(u.__typename!==n)break;var I=u.__module_operation;"object"==typeof I&&null!==I&&"SplitOperation"===I.kind&&Array.isArray(I.selections)&&"string"==typeof I.name||i(!1,'RelayMockPayloadGenerator(): Unexpected default value for a field `__module_operation` in the mock resolver for @module dependency. Provided value is "%s" and we\'re expecting an object of a type `NormalizationSplitOperation`. Please adjust mock resolver for the type "%s". Typically it should require a file "%s$normalization.graphql".',JSON.stringify(I),n,e.fragmentName);var P=I,F=e.documentName;null==R&&(R={}),R=(0,o.default)((0,o.default)({},R),{},(D={},(0,a.default)(D,s,n),(0,a.default)(D,p(F),I.name),(0,a.default)(D,f(F),u.__module_component),D),c._traverseSelections(P.selections,n,!1,r,null,null))}break;case m:break;case x:var L=e.abstractKey;null!=R&&(R[L]=!0);break;case S:case A:break;case g:throw new Error("Flight fields are not yet supported.");case d:throw new Error("ActorChange fields are not yet supported.");default:i(!1,"RelayMockPayloadGenerator(): Unexpected AST kind `%s`.",e.kind)}})),R},n._getCorrectDefaultEnum=function(e,n,t,r){if(void 0===n)return n;if(null===n)return n;var a=Array.isArray(n)?n.map((function(e){return String(e).toUpperCase()})):[String(n).toUpperCase()],o=e.map((function(e){return e.toUpperCase()}));a.filter((function(e){return o.includes(e)})).length!==a.length&&i(!1,'RelayMockPayloadGenerator: Invalid value "%s" provided for enum field "%s" via MockResolver.Expected one of the following values: %s.',n,"".concat(t.join("."),".").concat(r),e.map((function(e){return'"'.concat(e,'"')})).join(", "));var l=a.map((function(n){var t=o.indexOf(String(n).toUpperCase());return e[t]}));return Array.isArray(n)?l:l[0]},n._mockScalar=function(e,n,t,r,a){var o,i,u=null!=r?r:{},c=null!==(o=e.alias)&&void 0!==o?o:e.name;if(u.hasOwnProperty(c)&&e.name!==s)return u;e.name===s&&(i=null!=n?n:j);var f=[].concat((0,l.default)(t),[c]),p=this._getScalarFieldTypeDetails(e,n,f),d=p.type,v=p.plural,m=p.enumValues;if(null!=a&&a.hasOwnProperty(c)&&(i=a[c],null!=m&&(i=this._getCorrectDefaultEnum(m,i,t,c)),void 0!==i&&v&&!Array.isArray(i)&&(i=[i])),void 0===i){var y=null!=m?m[0]:void 0;i=this._resolveValue(d,{parentType:n,name:e.name,alias:e.alias,path:f,args:this._getFieldArgs(e)},v,y)}return u[c]=i,u},n._mockLink=function(e,n,t,r){var a,o,i,u,c=this,f=null!==(a=e.alias)&&void 0!==a?a:e.name,p=null!=t?t:{},d=this._getFieldArgs(e),v=[].concat((0,l.default)(n),[f]),m=null!==(o=this._selectionMetadata[v.join(".")])&&void 0!==o?o:{type:j};if(null!=r&&"object"==typeof r[f]&&(u=r[f]),null===u)return p[f]=null,p;var y=null!==(i=e.concreteType)&&void 0!==i?i:null!=u&&"string"==typeof u[s]?u[s]:m.type,b=null===e.concreteType&&y===m.type,k=function(t){var r,a,o=null!==(r=c._getDefaultValuesForObject(null!==(a=e.concreteType)&&void 0!==a?a:m.type,e.name,e.alias,v,d))&&void 0!==r?r:t;return null===o?null:c._traverse({selections:e.selections,typeName:y,isAbstractType:b,name:e.name,alias:e.alias,args:d},[].concat((0,l.default)(n),[f]),"object"==typeof p[f]?p[f]:null,o)};return p[f]="LinkedField"===e.kind&&e.plural?T(Array.isArray(u)?u:Array(1).fill(),k):k(u),p},n._getVariableValue=function(e){return this._variables.hasOwnProperty(e)||i(!1,"RelayMockPayloadGenerator(): Undefined variable `%s`.",e),this._variables[e]},n._getDefaultValuesForObject=function(e,n,t,r,a){var o;if(null!=e&&null!=this._mockResolvers[e]&&(o=this._resolveValue(e,{parentType:null,name:n,alias:t,args:a,path:r},!1)),"object"==typeof o)return o},n._getFieldArgs=function(e){var n=this,t={};return null!=e.args&&e.args.forEach((function(e){t[e.name]=n._getArgValue(e)})),t},n._getArgValue=function(e){var n=this;switch(e.kind){case"Literal":return e.value;case"Variable":return this._getVariableValue(e.variableName);case"ObjectValue":var t={};return e.fields.forEach((function(e){t[e.name]=n._getArgValue(e)})),t;case"ListValue":var r=[];return e.items.forEach((function(e){r.push(null!=e?n._getArgValue(e):null)})),r}},n._getScalarFieldTypeDetails=function(e,n,t){var r;return null!==(r=this._selectionMetadata[t.join(".")])&&void 0!==r?r:{type:"id"===e.name?"ID":"String",plural:!1,enumValues:null,nullable:!1}},e}();e.exports={generate:function(e,n){return{data:function(e,n,t,r){var a,o=new q({variables:n,mockResolvers:t,selectionMetadata:r});return a=e.name.endsWith("Mutation")?"Mutation":e.name.endsWith("Subscription")?"Subscription":"Query",o.generate(e.selections,a)}(e.request.node.operation,e.request.variables,null!=n?n:null,function(e){var n,t=null===(n=e.request.node.params.metadata)||void 0===n?void 0:n.relayTestingSelectionTypeInfo;if(null!=t&&!Array.isArray(t)&&"object"==typeof t){var r={};return Object.keys(t).forEach((function(e){var n=t[e];null==n||Array.isArray(n)||"object"!=typeof n||"string"!=typeof n.type||"boolean"!=typeof n.plural||"boolean"!=typeof n.nullable||null!==n.enumValues&&!Array.isArray(n.enumValues)||(r[e]={type:n.type,plural:n.plural,nullable:n.nullable,enumValues:Array.isArray(n.enumValues)?n.enumValues.map(String):null})})),r}return null}(e))}}}},function(e,n){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,n){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,n,t){"use strict";var r=t(1)(t(2)),a=t(9),o=t(0),l=t(3),i=l.Environment,u=l.Network,c=l.Observable,s=l.QueryResponseCache,f=l.RecordSource,p=l.Store,d=l.createOperationDescriptor,v=l.getRequest;function m(e,n){e[n]=jest.fn(e[n].bind(e))}function y(e,n){var t=e[n].bind(e);e[n]=jest.fn((function(){for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];var l=t.apply(void 0,a),i=jest.fn((function(){return l.dispose()}));return e[n].mock.dispose=i,{dispose:i}}));var r=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){r(),e[n].mock.dispose=null}}function b(e,n){var t=e[n].bind(e),r=[];e[n]=jest.fn((function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return t.apply(void 0,n).do({start:function(e){r.push(e)}})})),e[n].mock.subscriptions=r;var a=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){a(),e[n].mock.subscriptions=[]}}e.exports={createMockEnvironment:function(e){var n,t,l,k,g=null!==(n=null==e?void 0:e.store)&&void 0!==n?n:new p(new f),h=new s({size:10,ttl:3e5}),_=[],E=[],A=[],C=function(e,n,t){var r=e.id,o=e.text,l=null!=r?r:o,i=null;if(null!=(null==t?void 0:t.force)&&!1!==(null==t?void 0:t.force)||null==l||(i=h.get(l,n)),null!==i)return c.from(i);var u=E.find((function(t){return t.request.node.params===e&&a(t.request.variables,n)}));if(null!=u&&A.length>0){var s=A[0],f=s(u);if(null!=f)return A=A.filter((function(e){return e!==s})),E=E.filter((function(e){return e!==u})),f instanceof Error?c.create((function(e){e.error(f)})):c.from(f)}return c.create((function(r){var o={request:e,variables:n,cacheConfig:t,sink:r};return _=_.concat([o]),function(){_=_.filter((function(e){return!a(e,o)})),E=E.filter((function(e){return e!==u}))}}))};function M(e){if("Request"===e.kind)return e;var n=e;return E.includes(n)||o(!1,'RelayModernMockEnvironment: Operation "%s" was not found in the list of pending operations',n.request.node.operation.name),n.request.node}function S(e){var n,t;n="Request"===e.kind?e:(t=e).request.node;var r=_.filter((function(e){return!!a(e.request,n.params)&&(!t||a(t.request.variables,e.variables))}));return r.length||o(!1,"MockEnvironment: Cannot respond to request, it has not been requested yet."),r.forEach((function(e){e.sink||o(!1,"MockEnvironment: Cannot respond to `%s`, it has not been requested yet.",n.params.name)})),r}function O(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("data")||o(!1,"MockEnvironment(): Expected payload to be an object with a `data` key."),e}var x=function(e,n){var t="string"==typeof n?new Error(n):n;S(e).forEach((function(e){var n=e.sink;null===n&&o(!1,"Sink should be defined."),n.error(t)}))},R=function(e,n){S(e).forEach((function(e){var t=e.sink;null===t&&o(!1,"Sink should be defined."),t.next(O(n)),t.complete()}))},j=function(){var e=E[E.length-1];return null==e&&o(!1,"RelayModernMockEnvironment: There are no pending operations in the list"),e},N=new i((0,r.default)({configName:"RelayModernMockEnvironment",network:u.create(C,C),store:g},e)),T=function(e,n){return function(){for(var t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];var o=r[0].operation;return E=E.concat([o]),n.apply(e,r)}};N.execute=T(N,N.execute),N.executeWithSource=T(N,N.executeWithSource),N.executeMutation=T(N,N.executeMutation),"test"===(null===(t=global)||void 0===t||null===(l=t.process)||void 0===l||null===(k=l.env)||void 0===k?void 0:k.NODE_ENV)&&(y(N,"applyUpdate"),m(N,"commitPayload"),m(N,"getStore"),m(N,"lookup"),m(N,"check"),y(N,"subscribe"),y(N,"retain"),b(N,"execute"),b(N,"executeWithSource"),b(N,"executeMutation"),m(g,"getSource"),m(g,"lookup"),m(g,"notify"),m(g,"publish"),y(g,"retain"),y(g,"subscribe"));var q={cachePayload:function(e,n,t){var r=M(e).params,a=r.id,l=r.text,i=null!=a?a:l;null==i&&o(!1,"CacheID should not be null"),h.set(i,n,t)},clearCache:function(){h.clear()},isLoading:function(e,n,t){return _.some((function(r){return a(r.request,M(e).params)&&a(r.variables,n)&&a(r.cacheConfig,null!=t?t:{})}))},reject:x,resolve:R,nextValue:function(e,n){S(e).forEach((function(e){var t=e.sink;null===t&&o(!1,"Sink should be defined."),t.next(O(n))}))},complete:function(e){S(e).forEach((function(e){var n=e.sink;null===n&&o(!1,"Sink should be defined."),n.complete()}))},getMostRecentOperation:j,resolveMostRecentOperation:function(e){var n=j(),t="function"==typeof e?e(n):e;return R(n,t)},rejectMostRecentOperation:function(e){var n=j(),t="function"==typeof e?e(n):e;return x(n,t)},findOperation:function(e){var n=E.find(e);return null==n&&o(!1,"RelayModernMockEnvironment: Operation was not found in the list of pending operations"),n},queuePendingOperation:function(e,n){var t=d(v(e),n);E=E.concat([t])},getAllOperations:function(){return E},queueOperationResolver:function(e){A=A.concat([e])}};return N.mock=q,N.mockClear=function(){N.applyUpdate.mockClear(),N.commitPayload.mockClear(),N.getStore.mockClear(),N.lookup.mockClear(),N.check.mockClear(),N.subscribe.mockClear(),N.retain.mockClear(),N.execute.mockClear(),N.executeMutation.mockClear(),g.getSource.mockClear(),g.lookup.mockClear(),g.notify.mockClear(),g.publish.mockClear(),g.retain.mockClear(),g.subscribe.mockClear(),h.clear(),E=[],_=[]},N}}},function(e,n){e.exports=require("fbjs/lib/areEqual")},function(e,n,t){"use strict";var r=t(11);e.exports={testResolver:function(e,n){var t=r.readFragment;r.readFragment=function(){return n};var a=e(null);return r.readFragment=t,a}}},function(e,n){e.exports=require("relay-runtime/store/ResolverFragments")},function(e,n,t){"use strict";var r=t(0);e.exports=function(e){var n=e.__ComponentClass;return null==n&&r(!1,"Could not find component for %s, is it a Relay container?",e.displayName||e.name),n}}]);
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Relay v0.0.0-main-e0f88a3b
2
+ * Relay v0.0.0-main-2087b512
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
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 n={};function r(t){if(n[t])return n[t].exports;var a=n[t]={i:t,l:!1,exports:{}};return e[t].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var a in e)r.d(t,a,function(n){return e[n]}.bind(null,a));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=4)}([function(e,n){e.exports=require("invariant")},function(e,n){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,n){e.exports=require("@babel/runtime/helpers/objectSpread2")},function(e,n){e.exports=require("relay-runtime")},function(e,n,r){"use strict";var t=r(5),a=r(8),l=r(10);e.exports={MockEnvironment:a,MockPayloadGenerator:t,createMockEnvironment:a.createMockEnvironment,unwrapContainer:l}},function(e,n,r){"use strict";var t=r(1),a=t(r(6)),l=t(r(2)),o=t(r(7)),u=r(0),i=r(3),c=i.TYPENAME_KEY,s=i.RelayConcreteNode,f=i.getModuleComponentKey,p=i.getModuleOperationKey,v=s.ACTOR_CHANGE,d=s.CLIENT_COMPONENT,m=s.CLIENT_EXTENSION,y=s.CONDITION,b=s.CONNECTION,g=s.DEFER,k=s.FLIGHT_FIELD,h=s.FRAGMENT_SPREAD,_=s.INLINE_FRAGMENT,A=s.LINKED_FIELD,E=s.LINKED_HANDLE,C=s.MODULE_IMPORT,O=s.SCALAR_FIELD,S=s.SCALAR_HANDLE,M=s.STREAM,x=s.TYPE_DISCRIMINATOR;var j={ID:function(e,n){return"<".concat(null!=e.parentType&&e.parentType!==N?e.parentType+"-":"","mock-id-").concat(n(),">")},Boolean:function(){return!1},Int:function(){return 42},Float:function(){return 4.2}},N="__MockObject";function T(e,n,r,t){var a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],l=arguments.length>5?arguments[5]:void 0,o=function(a){var l,o,u,i=null!=r&&null!=n?n[r]:null;(null!=i&&(l=i(t,e)),void 0===l)&&(l=null!=a?a:"ID"===r?j.ID(t,e):'<mock-value-for-field-"'.concat(null!==(o=null!==(u=t.alias)&&void 0!==u?u:t.name)&&void 0!==o?o:"undefined",'">'));return l};return!0===a?V(Array.isArray(l)?l:Array(1).fill(),o):o(l)}function V(e,n){return e.map((function(e){return n(e)}))}var D=function(){function e(e){var n,r,t,a,o;this._variables=e.variables,this._mockResolvers=(0,l.default)((0,l.default)({},j),null!==(n=e.mockResolvers)&&void 0!==n?n:{}),this._selectionMetadata=null!==(r=e.selectionMetadata)&&void 0!==r?r:{},this._resolveValue=(t=this._mockResolvers,a=0,o=function(){return++a},function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return T.apply(void 0,[o,t].concat(n))})}var n=e.prototype;return n.generate=function(e,n){var r=this._getDefaultValuesForObject(n,null,null,[],{});return this._traverse({selections:e,typeName:n,isAbstractType:!1,name:null,alias:null,args:null},[],null,r)},n._traverse=function(e,n,r,t){var a=e.selections,l=e.typeName,o=e.isAbstractType;return this._traverseSelections(a,l,o,n,r,t)},n._traverseSelections=function(e,n,r,t,o,i){var s=this,j=null!=o?o:{};return e.forEach((function(e){switch(e.kind){case O:j=s._mockScalar(e,n,t,j,i);break;case b:j=s._traverseSelections([e.edges,e.pageInfo],n,r,t,o,i);break;case A:j=s._mockLink(e,t,j,i);break;case y:s._getVariableValue(e.condition)===e.passingValue&&(j=s._traverseSelections(e.selections,n,r,t,j,i));break;case g:case M:j=s._traverseSelections(e.selections,n,r,t,j,i);break;case d:case h:j=s._traverseSelections(e.fragment.selections,n,r,t,j,i);break;case _:var T,V=e.abstractKey;if(null!=V){null!=j&&(j[V]=!0),j=s._traverseSelections(e.selections,n,r,t,j,i);break}if(null!=j&&(null==j[c]||j[c]===N))j[c]=null!==(T=null==i?void 0:i[c])&&void 0!==T?T:e.type;if(!0===r&&null!=j&&j[c]===n&&(j[c]=e.type),null!=j&&j[c]===e.type){var D=s._getDefaultValuesForObject(e.type,t[t.length-1],null,t),R=n!==e.type?s._getDefaultValuesForObject(n,t[t.length-1],null,t):D,q=D;if(void 0===q&&(q=R),void 0===q&&(q=i),null===q){j=null;break}null!=(j=s._traverseSelections(e.selections,e.type,r,t,j,q))[c]&&(j[c]=e.type),null!=j.id&&null!=D&&null!=D.id&&(j.id=D.id)}break;case C:if(null!=i){var I;if(i.__typename!==n)break;var w=i.__module_operation;"object"==typeof w&&null!==w&&"SplitOperation"===w.kind&&Array.isArray(w.selections)&&"string"==typeof w.name||u(!1);var F=w,L=e.documentName;null==j&&(j={}),j=(0,l.default)((0,l.default)({},j),{},(I={},(0,a.default)(I,c,n),(0,a.default)(I,p(L),w.name),(0,a.default)(I,f(L),i.__module_component),I),s._traverseSelections(F.selections,n,!1,t,null,null))}break;case m:break;case x:var P=e.abstractKey;null!=j&&(j[P]=!0);break;case S:case E:break;case k:throw new Error("Flight fields are not yet supported.");case v:throw new Error("ActorChange fields are not yet supported.");default:u(!1)}})),j},n._getCorrectDefaultEnum=function(e,n,r,t){if(void 0===n)return n;if(null===n)return n;var a=Array.isArray(n)?n.map((function(e){return String(e).toUpperCase()})):[String(n).toUpperCase()],l=e.map((function(e){return e.toUpperCase()}));a.filter((function(e){return l.includes(e)})).length!==a.length&&u(!1);var o=a.map((function(n){var r=l.indexOf(String(n).toUpperCase());return e[r]}));return Array.isArray(n)?o:o[0]},n._mockScalar=function(e,n,r,t,a){var l,u,i=null!=t?t:{},s=null!==(l=e.alias)&&void 0!==l?l:e.name;if(i.hasOwnProperty(s)&&e.name!==c)return i;e.name===c&&(u=null!=n?n:N);var f=[].concat((0,o.default)(r),[s]),p=this._getScalarFieldTypeDetails(e,n,f),v=p.type,d=p.plural,m=p.enumValues;if(null!=a&&a.hasOwnProperty(s)&&(u=a[s],null!=m&&(u=this._getCorrectDefaultEnum(m,u,r,s)),void 0!==u&&d&&!Array.isArray(u)&&(u=[u])),void 0===u){var y=null!=m?m[0]:void 0;u=this._resolveValue(v,{parentType:n,name:e.name,alias:e.alias,path:f,args:this._getFieldArgs(e)},d,y)}return i[s]=u,i},n._mockLink=function(e,n,r,t){var a,l,u,i,s=this,f=null!==(a=e.alias)&&void 0!==a?a:e.name,p=null!=r?r:{},v=this._getFieldArgs(e),d=[].concat((0,o.default)(n),[f]),m=null!==(l=this._selectionMetadata[d.join(".")])&&void 0!==l?l:{type:N};if(null!=t&&"object"==typeof t[f]&&(i=t[f]),null===i)return p[f]=null,p;var y=null!==(u=e.concreteType)&&void 0!==u?u:null!=i&&"string"==typeof i[c]?i[c]:m.type,b=null===e.concreteType&&y===m.type,g=function(r){var t,a,l=null!==(t=s._getDefaultValuesForObject(null!==(a=e.concreteType)&&void 0!==a?a:m.type,e.name,e.alias,d,v))&&void 0!==t?t:r;return null===l?null:s._traverse({selections:e.selections,typeName:y,isAbstractType:b,name:e.name,alias:e.alias,args:v},[].concat((0,o.default)(n),[f]),"object"==typeof p[f]?p[f]:null,l)};return p[f]="LinkedField"===e.kind&&e.plural?V(Array.isArray(i)?i:Array(1).fill(),g):g(i),p},n._getVariableValue=function(e){return this._variables.hasOwnProperty(e)||u(!1),this._variables[e]},n._getDefaultValuesForObject=function(e,n,r,t,a){var l;if(null!=e&&null!=this._mockResolvers[e]&&(l=this._resolveValue(e,{parentType:null,name:n,alias:r,args:a,path:t},!1)),"object"==typeof l)return l},n._getFieldArgs=function(e){var n=this,r={};return null!=e.args&&e.args.forEach((function(e){r[e.name]=n._getArgValue(e)})),r},n._getArgValue=function(e){var n=this;switch(e.kind){case"Literal":return e.value;case"Variable":return this._getVariableValue(e.variableName);case"ObjectValue":var r={};return e.fields.forEach((function(e){r[e.name]=n._getArgValue(e)})),r;case"ListValue":var t=[];return e.items.forEach((function(e){t.push(null!=e?n._getArgValue(e):null)})),t}},n._getScalarFieldTypeDetails=function(e,n,r){var t;return null!==(t=this._selectionMetadata[r.join(".")])&&void 0!==t?t:{type:"id"===e.name?"ID":"String",plural:!1,enumValues:null,nullable:!1}},e}();e.exports={generate:function(e,n){return{data:function(e,n,r,t){var a,l=new D({variables:n,mockResolvers:r,selectionMetadata:t});return a=e.name.endsWith("Mutation")?"Mutation":e.name.endsWith("Subscription")?"Subscription":"Query",l.generate(e.selections,a)}(e.request.node.operation,e.request.variables,null!=n?n:null,function(e){var n,r=null===(n=e.request.node.params.metadata)||void 0===n?void 0:n.relayTestingSelectionTypeInfo;if(null!=r&&!Array.isArray(r)&&"object"==typeof r){var t={};return Object.keys(r).forEach((function(e){var n=r[e];null==n||Array.isArray(n)||"object"!=typeof n||"string"!=typeof n.type||"boolean"!=typeof n.plural||"boolean"!=typeof n.nullable||null!==n.enumValues&&!Array.isArray(n.enumValues)||(t[e]={type:n.type,plural:n.plural,nullable:n.nullable,enumValues:Array.isArray(n.enumValues)?n.enumValues.map(String):null})})),t}return null}(e))}}}},function(e,n){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,n){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,n,r){"use strict";var t=r(1)(r(2)),a=r(9),l=r(0),o=r(3),u=o.RecordSource,i=o.Store,c=o.QueryResponseCache,s=o.Observable,f=o.Environment,p=o.Network,v=o.createOperationDescriptor,d=o.getRequest;function m(e,n){e[n]=jest.fn(e[n].bind(e))}function y(e,n){var r=e[n].bind(e);e[n]=jest.fn((function(){for(var t=arguments.length,a=new Array(t),l=0;l<t;l++)a[l]=arguments[l];var o=r.apply(void 0,a),u=jest.fn((function(){return o.dispose()}));return e[n].mock.dispose=u,{dispose:u}}));var t=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){t(),e[n].mock.dispose=null}}function b(e,n){var r=e[n].bind(e),t=[];e[n]=jest.fn((function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return r.apply(void 0,n).do({start:function(e){t.push(e)}})})),e[n].mock.subscriptions=t;var a=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){a(),e[n].mock.subscriptions=[]}}e.exports={createMockEnvironment:function(e){var n,r,o,g,k=null!==(n=null==e?void 0:e.store)&&void 0!==n?n:new i(new u),h=new c({size:10,ttl:3e5}),_=[],A=[],E=[],C=function(e,n,r){var t=e.id,l=e.text,o=null!=t?t:l,u=null;if(null!=(null==r?void 0:r.force)&&!1!==(null==r?void 0:r.force)||null==o||(u=h.get(o,n)),null!==u)return s.from(u);var i=A.find((function(r){return r.request.node.params===e&&a(r.request.variables,n)}));if(null!=i&&E.length>0){var c=E[0],f=c(i);if(null!=f)return E=E.filter((function(e){return e!==c})),A=A.filter((function(e){return e!==i})),f instanceof Error?s.create((function(e){e.error(f)})):s.from(f)}return s.create((function(t){var l={request:e,variables:n,cacheConfig:r,sink:t};return _=_.concat([l]),function(){_=_.filter((function(e){return!a(e,l)})),A=A.filter((function(e){return e!==i}))}}))};function O(e){if("Request"===e.kind)return e;var n=e;return A.includes(n)||l(!1),n.request.node}function S(e){var n,r;n="Request"===e.kind?e:(r=e).request.node;var t=_.filter((function(e){return!!a(e.request,n.params)&&(!r||a(r.request.variables,e.variables))}));return t.length||l(!1),t.forEach((function(e){e.sink||l(!1)})),t}function M(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("data")||l(!1),e}var x=function(e,n){var r="string"==typeof n?new Error(n):n;S(e).forEach((function(e){var n=e.sink;null===n&&l(!1),n.error(r)}))},j=function(e,n){S(e).forEach((function(e){var r=e.sink;null===r&&l(!1),r.next(M(n)),r.complete()}))},N=function(){var e=A[A.length-1];return null==e&&l(!1),e},T=new f((0,t.default)({configName:"RelayModernMockEnvironment",network:p.create(C,C),store:k},e)),V=function(e,n){return function(){for(var r=arguments.length,t=new Array(r),a=0;a<r;a++)t[a]=arguments[a];var l=t[0].operation;return A=A.concat([l]),n.apply(e,t)}};T.execute=V(T,T.execute),T.executeWithSource=V(T,T.executeWithSource),T.executeMutation=V(T,T.executeMutation),"test"===(null===(r=global)||void 0===r||null===(o=r.process)||void 0===o||null===(g=o.env)||void 0===g?void 0:g.NODE_ENV)&&(y(T,"applyUpdate"),m(T,"commitPayload"),m(T,"getStore"),m(T,"lookup"),m(T,"check"),y(T,"subscribe"),y(T,"retain"),b(T,"execute"),b(T,"executeWithSource"),b(T,"executeMutation"),m(k,"getSource"),m(k,"lookup"),m(k,"notify"),m(k,"publish"),y(k,"retain"),y(k,"subscribe"));var D={cachePayload:function(e,n,r){var t=O(e).params,a=t.id,o=t.text,u=null!=a?a:o;null==u&&l(!1),h.set(u,n,r)},clearCache:function(){h.clear()},isLoading:function(e,n,r){return _.some((function(t){return a(t.request,O(e).params)&&a(t.variables,n)&&a(t.cacheConfig,null!=r?r:{})}))},reject:x,resolve:j,nextValue:function(e,n){S(e).forEach((function(e){var r=e.sink;null===r&&l(!1),r.next(M(n))}))},complete:function(e){S(e).forEach((function(e){var n=e.sink;null===n&&l(!1),n.complete()}))},getMostRecentOperation:N,resolveMostRecentOperation:function(e){var n=N(),r="function"==typeof e?e(n):e;return j(n,r)},rejectMostRecentOperation:function(e){var n=N(),r="function"==typeof e?e(n):e;return x(n,r)},findOperation:function(e){var n=A.find(e);return null==n&&l(!1),n},queuePendingOperation:function(e,n){var r=v(d(e),n);A=A.concat([r])},getAllOperations:function(){return A},queueOperationResolver:function(e){E=E.concat([e])}};return T.mock=D,T.mockClear=function(){T.applyUpdate.mockClear(),T.commitPayload.mockClear(),T.getStore.mockClear(),T.lookup.mockClear(),T.check.mockClear(),T.subscribe.mockClear(),T.retain.mockClear(),T.execute.mockClear(),T.executeMutation.mockClear(),k.getSource.mockClear(),k.lookup.mockClear(),k.notify.mockClear(),k.publish.mockClear(),k.retain.mockClear(),k.subscribe.mockClear(),h.clear(),A=[],_=[]},T}}},function(e,n){e.exports=require("fbjs/lib/areEqual")},function(e,n,r){"use strict";var t=r(0);e.exports=function(e){var n=e.__ComponentClass;return null==n&&t(!1),n}}]);
9
+ module.exports=function(e){var n={};function r(t){if(n[t])return n[t].exports;var a=n[t]={i:t,l:!1,exports:{}};return e[t].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var a in e)r.d(t,a,function(n){return e[n]}.bind(null,a));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=4)}([function(e,n){e.exports=require("invariant")},function(e,n){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,n){e.exports=require("@babel/runtime/helpers/objectSpread2")},function(e,n){e.exports=require("relay-runtime")},function(e,n,r){"use strict";var t=r(5),a=r(8),l=r(10),o=r(12);e.exports={MockEnvironment:a,MockPayloadGenerator:t,createMockEnvironment:a.createMockEnvironment,unwrapContainer:o,testResolver:l}},function(e,n,r){"use strict";var t=r(1),a=t(r(6)),l=t(r(2)),o=t(r(7)),u=r(0),i=r(3),c=i.RelayConcreteNode,s=i.TYPENAME_KEY,f=i.getModuleComponentKey,p=i.getModuleOperationKey,v=c.ACTOR_CHANGE,d=c.CLIENT_COMPONENT,m=c.CLIENT_EXTENSION,y=c.CONDITION,b=c.CONNECTION,g=c.DEFER,k=c.FLIGHT_FIELD,h=c.FRAGMENT_SPREAD,_=c.INLINE_FRAGMENT,A=c.LINKED_FIELD,E=c.LINKED_HANDLE,C=c.MODULE_IMPORT,O=c.SCALAR_FIELD,S=c.SCALAR_HANDLE,x=c.STREAM,M=c.TYPE_DISCRIMINATOR;var j={ID:function(e,n){return"<".concat(null!=e.parentType&&e.parentType!==N?e.parentType+"-":"","mock-id-").concat(n(),">")},Boolean:function(){return!1},Int:function(){return 42},Float:function(){return 4.2}},N="__MockObject";function T(e,n,r,t){var a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],l=arguments.length>5?arguments[5]:void 0,o=function(a){var l,o,u,i=null!=r&&null!=n?n[r]:null;(null!=i&&(l=i(t,e)),void 0===l)&&(l=null!=a?a:"ID"===r?j.ID(t,e):'<mock-value-for-field-"'.concat(null!==(o=null!==(u=t.alias)&&void 0!==u?u:t.name)&&void 0!==o?o:"undefined",'">'));return l};return!0===a?R(Array.isArray(l)?l:Array(1).fill(),o):o(l)}function R(e,n){return e.map((function(e){return n(e)}))}var V=function(){function e(e){var n,r,t,a,o;this._variables=e.variables,this._mockResolvers=(0,l.default)((0,l.default)({},j),null!==(n=e.mockResolvers)&&void 0!==n?n:{}),this._selectionMetadata=null!==(r=e.selectionMetadata)&&void 0!==r?r:{},this._resolveValue=(t=this._mockResolvers,a=0,o=function(){return++a},function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return T.apply(void 0,[o,t].concat(n))})}var n=e.prototype;return n.generate=function(e,n){var r=this._getDefaultValuesForObject(n,null,null,[],{});return this._traverse({selections:e,typeName:n,isAbstractType:!1,name:null,alias:null,args:null},[],null,r)},n._traverse=function(e,n,r,t){var a=e.selections,l=e.typeName,o=e.isAbstractType;return this._traverseSelections(a,l,o,n,r,t)},n._traverseSelections=function(e,n,r,t,o,i){var c=this,j=null!=o?o:{};return e.forEach((function(e){switch(e.kind){case O:j=c._mockScalar(e,n,t,j,i);break;case b:j=c._traverseSelections([e.edges,e.pageInfo],n,r,t,o,i);break;case A:j=c._mockLink(e,t,j,i);break;case y:c._getVariableValue(e.condition)===e.passingValue&&(j=c._traverseSelections(e.selections,n,r,t,j,i));break;case g:case x:j=c._traverseSelections(e.selections,n,r,t,j,i);break;case d:case h:j=c._traverseSelections(e.fragment.selections,n,r,t,j,i);break;case _:var T,R=e.abstractKey;if(null!=R){null!=j&&(j[R]=!0),j=c._traverseSelections(e.selections,n,r,t,j,i);break}if(null!=j&&(null==j[s]||j[s]===N))j[s]=null!==(T=null==i?void 0:i[s])&&void 0!==T?T:e.type;if(!0===r&&null!=j&&j[s]===n&&(j[s]=e.type),null!=j&&j[s]===e.type){var V=c._getDefaultValuesForObject(e.type,t[t.length-1],null,t),D=n!==e.type?c._getDefaultValuesForObject(n,t[t.length-1],null,t):V,q=V;if(void 0===q&&(q=D),void 0===q&&(q=i),null===q){j=null;break}null!=(j=c._traverseSelections(e.selections,e.type,r,t,j,q))[s]&&(j[s]=e.type),null!=j.id&&null!=V&&null!=V.id&&(j.id=V.id)}break;case C:if(null!=i){var I;if(i.__typename!==n)break;var w=i.__module_operation;"object"==typeof w&&null!==w&&"SplitOperation"===w.kind&&Array.isArray(w.selections)&&"string"==typeof w.name||u(!1);var F=w,L=e.documentName;null==j&&(j={}),j=(0,l.default)((0,l.default)({},j),{},(I={},(0,a.default)(I,s,n),(0,a.default)(I,p(L),w.name),(0,a.default)(I,f(L),i.__module_component),I),c._traverseSelections(F.selections,n,!1,t,null,null))}break;case m:break;case M:var P=e.abstractKey;null!=j&&(j[P]=!0);break;case S:case E:break;case k:throw new Error("Flight fields are not yet supported.");case v:throw new Error("ActorChange fields are not yet supported.");default:u(!1)}})),j},n._getCorrectDefaultEnum=function(e,n,r,t){if(void 0===n)return n;if(null===n)return n;var a=Array.isArray(n)?n.map((function(e){return String(e).toUpperCase()})):[String(n).toUpperCase()],l=e.map((function(e){return e.toUpperCase()}));a.filter((function(e){return l.includes(e)})).length!==a.length&&u(!1);var o=a.map((function(n){var r=l.indexOf(String(n).toUpperCase());return e[r]}));return Array.isArray(n)?o:o[0]},n._mockScalar=function(e,n,r,t,a){var l,u,i=null!=t?t:{},c=null!==(l=e.alias)&&void 0!==l?l:e.name;if(i.hasOwnProperty(c)&&e.name!==s)return i;e.name===s&&(u=null!=n?n:N);var f=[].concat((0,o.default)(r),[c]),p=this._getScalarFieldTypeDetails(e,n,f),v=p.type,d=p.plural,m=p.enumValues;if(null!=a&&a.hasOwnProperty(c)&&(u=a[c],null!=m&&(u=this._getCorrectDefaultEnum(m,u,r,c)),void 0!==u&&d&&!Array.isArray(u)&&(u=[u])),void 0===u){var y=null!=m?m[0]:void 0;u=this._resolveValue(v,{parentType:n,name:e.name,alias:e.alias,path:f,args:this._getFieldArgs(e)},d,y)}return i[c]=u,i},n._mockLink=function(e,n,r,t){var a,l,u,i,c=this,f=null!==(a=e.alias)&&void 0!==a?a:e.name,p=null!=r?r:{},v=this._getFieldArgs(e),d=[].concat((0,o.default)(n),[f]),m=null!==(l=this._selectionMetadata[d.join(".")])&&void 0!==l?l:{type:N};if(null!=t&&"object"==typeof t[f]&&(i=t[f]),null===i)return p[f]=null,p;var y=null!==(u=e.concreteType)&&void 0!==u?u:null!=i&&"string"==typeof i[s]?i[s]:m.type,b=null===e.concreteType&&y===m.type,g=function(r){var t,a,l=null!==(t=c._getDefaultValuesForObject(null!==(a=e.concreteType)&&void 0!==a?a:m.type,e.name,e.alias,d,v))&&void 0!==t?t:r;return null===l?null:c._traverse({selections:e.selections,typeName:y,isAbstractType:b,name:e.name,alias:e.alias,args:v},[].concat((0,o.default)(n),[f]),"object"==typeof p[f]?p[f]:null,l)};return p[f]="LinkedField"===e.kind&&e.plural?R(Array.isArray(i)?i:Array(1).fill(),g):g(i),p},n._getVariableValue=function(e){return this._variables.hasOwnProperty(e)||u(!1),this._variables[e]},n._getDefaultValuesForObject=function(e,n,r,t,a){var l;if(null!=e&&null!=this._mockResolvers[e]&&(l=this._resolveValue(e,{parentType:null,name:n,alias:r,args:a,path:t},!1)),"object"==typeof l)return l},n._getFieldArgs=function(e){var n=this,r={};return null!=e.args&&e.args.forEach((function(e){r[e.name]=n._getArgValue(e)})),r},n._getArgValue=function(e){var n=this;switch(e.kind){case"Literal":return e.value;case"Variable":return this._getVariableValue(e.variableName);case"ObjectValue":var r={};return e.fields.forEach((function(e){r[e.name]=n._getArgValue(e)})),r;case"ListValue":var t=[];return e.items.forEach((function(e){t.push(null!=e?n._getArgValue(e):null)})),t}},n._getScalarFieldTypeDetails=function(e,n,r){var t;return null!==(t=this._selectionMetadata[r.join(".")])&&void 0!==t?t:{type:"id"===e.name?"ID":"String",plural:!1,enumValues:null,nullable:!1}},e}();e.exports={generate:function(e,n){return{data:function(e,n,r,t){var a,l=new V({variables:n,mockResolvers:r,selectionMetadata:t});return a=e.name.endsWith("Mutation")?"Mutation":e.name.endsWith("Subscription")?"Subscription":"Query",l.generate(e.selections,a)}(e.request.node.operation,e.request.variables,null!=n?n:null,function(e){var n,r=null===(n=e.request.node.params.metadata)||void 0===n?void 0:n.relayTestingSelectionTypeInfo;if(null!=r&&!Array.isArray(r)&&"object"==typeof r){var t={};return Object.keys(r).forEach((function(e){var n=r[e];null==n||Array.isArray(n)||"object"!=typeof n||"string"!=typeof n.type||"boolean"!=typeof n.plural||"boolean"!=typeof n.nullable||null!==n.enumValues&&!Array.isArray(n.enumValues)||(t[e]={type:n.type,plural:n.plural,nullable:n.nullable,enumValues:Array.isArray(n.enumValues)?n.enumValues.map(String):null})})),t}return null}(e))}}}},function(e,n){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,n){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,n,r){"use strict";var t=r(1)(r(2)),a=r(9),l=r(0),o=r(3),u=o.Environment,i=o.Network,c=o.Observable,s=o.QueryResponseCache,f=o.RecordSource,p=o.Store,v=o.createOperationDescriptor,d=o.getRequest;function m(e,n){e[n]=jest.fn(e[n].bind(e))}function y(e,n){var r=e[n].bind(e);e[n]=jest.fn((function(){for(var t=arguments.length,a=new Array(t),l=0;l<t;l++)a[l]=arguments[l];var o=r.apply(void 0,a),u=jest.fn((function(){return o.dispose()}));return e[n].mock.dispose=u,{dispose:u}}));var t=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){t(),e[n].mock.dispose=null}}function b(e,n){var r=e[n].bind(e),t=[];e[n]=jest.fn((function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return r.apply(void 0,n).do({start:function(e){t.push(e)}})})),e[n].mock.subscriptions=t;var a=e[n].mockClear.bind(e[n]);e[n].mockClear=function(){a(),e[n].mock.subscriptions=[]}}e.exports={createMockEnvironment:function(e){var n,r,o,g,k=null!==(n=null==e?void 0:e.store)&&void 0!==n?n:new p(new f),h=new s({size:10,ttl:3e5}),_=[],A=[],E=[],C=function(e,n,r){var t=e.id,l=e.text,o=null!=t?t:l,u=null;if(null!=(null==r?void 0:r.force)&&!1!==(null==r?void 0:r.force)||null==o||(u=h.get(o,n)),null!==u)return c.from(u);var i=A.find((function(r){return r.request.node.params===e&&a(r.request.variables,n)}));if(null!=i&&E.length>0){var s=E[0],f=s(i);if(null!=f)return E=E.filter((function(e){return e!==s})),A=A.filter((function(e){return e!==i})),f instanceof Error?c.create((function(e){e.error(f)})):c.from(f)}return c.create((function(t){var l={request:e,variables:n,cacheConfig:r,sink:t};return _=_.concat([l]),function(){_=_.filter((function(e){return!a(e,l)})),A=A.filter((function(e){return e!==i}))}}))};function O(e){if("Request"===e.kind)return e;var n=e;return A.includes(n)||l(!1),n.request.node}function S(e){var n,r;n="Request"===e.kind?e:(r=e).request.node;var t=_.filter((function(e){return!!a(e.request,n.params)&&(!r||a(r.request.variables,e.variables))}));return t.length||l(!1),t.forEach((function(e){e.sink||l(!1)})),t}function x(e){return"object"==typeof e&&null!==e&&e.hasOwnProperty("data")||l(!1),e}var M=function(e,n){var r="string"==typeof n?new Error(n):n;S(e).forEach((function(e){var n=e.sink;null===n&&l(!1),n.error(r)}))},j=function(e,n){S(e).forEach((function(e){var r=e.sink;null===r&&l(!1),r.next(x(n)),r.complete()}))},N=function(){var e=A[A.length-1];return null==e&&l(!1),e},T=new u((0,t.default)({configName:"RelayModernMockEnvironment",network:i.create(C,C),store:k},e)),R=function(e,n){return function(){for(var r=arguments.length,t=new Array(r),a=0;a<r;a++)t[a]=arguments[a];var l=t[0].operation;return A=A.concat([l]),n.apply(e,t)}};T.execute=R(T,T.execute),T.executeWithSource=R(T,T.executeWithSource),T.executeMutation=R(T,T.executeMutation),"test"===(null===(r=global)||void 0===r||null===(o=r.process)||void 0===o||null===(g=o.env)||void 0===g?void 0:g.NODE_ENV)&&(y(T,"applyUpdate"),m(T,"commitPayload"),m(T,"getStore"),m(T,"lookup"),m(T,"check"),y(T,"subscribe"),y(T,"retain"),b(T,"execute"),b(T,"executeWithSource"),b(T,"executeMutation"),m(k,"getSource"),m(k,"lookup"),m(k,"notify"),m(k,"publish"),y(k,"retain"),y(k,"subscribe"));var V={cachePayload:function(e,n,r){var t=O(e).params,a=t.id,o=t.text,u=null!=a?a:o;null==u&&l(!1),h.set(u,n,r)},clearCache:function(){h.clear()},isLoading:function(e,n,r){return _.some((function(t){return a(t.request,O(e).params)&&a(t.variables,n)&&a(t.cacheConfig,null!=r?r:{})}))},reject:M,resolve:j,nextValue:function(e,n){S(e).forEach((function(e){var r=e.sink;null===r&&l(!1),r.next(x(n))}))},complete:function(e){S(e).forEach((function(e){var n=e.sink;null===n&&l(!1),n.complete()}))},getMostRecentOperation:N,resolveMostRecentOperation:function(e){var n=N(),r="function"==typeof e?e(n):e;return j(n,r)},rejectMostRecentOperation:function(e){var n=N(),r="function"==typeof e?e(n):e;return M(n,r)},findOperation:function(e){var n=A.find(e);return null==n&&l(!1),n},queuePendingOperation:function(e,n){var r=v(d(e),n);A=A.concat([r])},getAllOperations:function(){return A},queueOperationResolver:function(e){E=E.concat([e])}};return T.mock=V,T.mockClear=function(){T.applyUpdate.mockClear(),T.commitPayload.mockClear(),T.getStore.mockClear(),T.lookup.mockClear(),T.check.mockClear(),T.subscribe.mockClear(),T.retain.mockClear(),T.execute.mockClear(),T.executeMutation.mockClear(),k.getSource.mockClear(),k.lookup.mockClear(),k.notify.mockClear(),k.publish.mockClear(),k.retain.mockClear(),k.subscribe.mockClear(),h.clear(),A=[],_=[]},T}}},function(e,n){e.exports=require("fbjs/lib/areEqual")},function(e,n,r){"use strict";var t=r(11);e.exports={testResolver:function(e,n){var r=t.readFragment;t.readFragment=function(){return n};var a=e(null);return t.readFragment=r,a}}},function(e,n){e.exports=require("relay-runtime/store/ResolverFragments")},function(e,n,r){"use strict";var t=r(0);e.exports=function(e){var n=e.__ComponentClass;return null==n&&t(!1),n}}]);
@@ -9,16 +9,16 @@
9
9
 
10
10
  'use strict';
11
11
 
12
- const invariant = require('invariant');
13
-
14
12
  import type React from 'React';
15
13
  import type {
16
- $RelayProps,
17
- RelayProp,
18
14
  RelayPaginationProp,
15
+ RelayProp,
19
16
  RelayRefetchProp,
17
+ $RelayProps,
20
18
  } from 'react-relay';
21
19
 
20
+ const invariant = require('invariant');
21
+
22
22
  /**
23
23
  * Returns original component class wrapped by e.g. createFragmentContainer
24
24
  */