relay-test-utils 12.0.0 → 13.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Facebook, Inc. and its affiliates.
3
+ Copyright (c) Meta Platforms, Inc. and affiliates.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md ADDED
@@ -0,0 +1,4 @@
1
+ relay-test-utils
2
+ ---
3
+
4
+ More details: https://relay.dev/docs/guides/testing-relay-components/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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,
@@ -89,7 +88,7 @@ type SelectionMetadata = {
89
88
  +nullable: boolean,
90
89
  +enumValues: $ReadOnlyArray<string> | null,
91
90
  |},
92
- ...,
91
+ ...
93
92
  };
94
93
 
95
94
  function createIdGenerator() {
@@ -145,9 +144,9 @@ function valueResolver(
145
144
  possibleDefaultValue ??
146
145
  (typeName === 'ID'
147
146
  ? DEFAULT_MOCK_RESOLVERS.ID(context, generateId)
148
- : `<mock-value-for-field-"${context.alias ??
149
- context.name ??
150
- 'undefined'}">`);
147
+ : `<mock-value-for-field-"${
148
+ context.alias ?? context.name ?? 'undefined'
149
+ }">`);
151
150
  }
152
151
  return mockValue;
153
152
  };
@@ -188,7 +187,6 @@ class RelayMockPayloadGenerator {
188
187
  +selectionMetadata: SelectionMetadata | null,
189
188
  |}) {
190
189
  this._variables = options.variables;
191
- // $FlowFixMe[cannot-spread-indexer]
192
190
  // $FlowFixMe[cannot-spread-inexact]
193
191
  // $FlowFixMe[incompatible-type]
194
192
  this._mockResolvers = {
@@ -460,7 +458,8 @@ class RelayMockPayloadGenerator {
460
458
  selection.fragmentName,
461
459
  );
462
460
 
463
- const splitOperation: NormalizationSplitOperation = (operation: $FlowFixMe);
461
+ const splitOperation: NormalizationSplitOperation =
462
+ (operation: $FlowFixMe);
464
463
  const {documentName} = selection;
465
464
  if (mockData == null) {
466
465
  mockData = {};
@@ -470,9 +469,8 @@ class RelayMockPayloadGenerator {
470
469
  ...mockData,
471
470
  [TYPENAME_KEY]: typeName,
472
471
  [getModuleOperationKey(documentName)]: operation.name,
473
- [getModuleComponentKey(
474
- documentName,
475
- )]: defaultValues.__module_component,
472
+ [getModuleComponentKey(documentName)]:
473
+ defaultValues.__module_component,
476
474
  ...this._traverseSelections(
477
475
  splitOperation.selections,
478
476
  typeName,
@@ -755,7 +753,6 @@ class RelayMockPayloadGenerator {
755
753
  'RelayMockPayloadGenerator(): Undefined variable `%s`.',
756
754
  name,
757
755
  );
758
- // $FlowFixMe[cannot-write]
759
756
  return this._variables[name];
760
757
  }
761
758
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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,
@@ -442,11 +441,13 @@ function createMockEnvironment(
442
441
  const createExecuteProxy = (
443
442
  env: IEnvironment,
444
443
  fn: // $FlowFixMe[method-unbinding] added when improving typing for this parameters
445
- | $PropertyType<IEnvironment, 'execute'>
444
+ | IEnvironment['execute']
445
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
446
+ | IEnvironment['executeSubscription']
446
447
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
447
- | $PropertyType<IEnvironment, 'executeWithSource'>
448
+ | IEnvironment['executeWithSource']
448
449
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
449
- | $PropertyType<IEnvironment, 'executeMutation'>,
450
+ | IEnvironment['executeMutation'],
450
451
  ) => {
451
452
  return (...argumentsList) => {
452
453
  const [{operation}] = argumentsList;
@@ -459,6 +460,12 @@ function createMockEnvironment(
459
460
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
460
461
  environment.execute = createExecuteProxy(environment, environment.execute);
461
462
  // $FlowExpectedError[cannot-write]
463
+ environment.executeSubscription = createExecuteProxy(
464
+ environment,
465
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
466
+ environment.executeSubscription,
467
+ );
468
+ // $FlowExpectedError[cannot-write]
462
469
  environment.executeWithSource = createExecuteProxy(
463
470
  environment,
464
471
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
@@ -481,6 +488,7 @@ function createMockEnvironment(
481
488
  mockDisposableMethod(environment, 'subscribe');
482
489
  mockDisposableMethod(environment, 'retain');
483
490
  mockObservableMethod(environment, 'execute');
491
+ mockObservableMethod(environment, 'executeSubscription');
484
492
  mockObservableMethod(environment, 'executeWithSource');
485
493
  mockObservableMethod(environment, 'executeMutation');
486
494
 
@@ -542,6 +550,11 @@ function createMockEnvironment(
542
550
  environment.execute.mockClear();
543
551
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
544
552
  environment.executeMutation.mockClear();
553
+ // $FlowFixMe[method-unbinding] added when improving typing for this parameters
554
+ environment.executeSubscription.mockClear();
555
+
556
+ // $FlowExpectedError[prop-missing]
557
+ store.getSource().clear?.();
545
558
 
546
559
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
547
560
  store.getSource.mockClear();
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and 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 {
15
+ __internal: {ResolverFragments},
16
+ } = require('relay-runtime');
17
+
18
+ /**
19
+ * Utility function for testing Relay Resolvers. Pass the resolver function and
20
+ * the data that will be returned from `readFragment` and it will return the
21
+ * value that the resolver would derive.
22
+ *
23
+ * *Note:* Relay fragment data includes a special `$fragmentType` key which is
24
+ * impossible for non-Relay code to construct. In tests you can work around
25
+ * this by passing `null` with a Flow suppression:
26
+ *
27
+ * ```
28
+ * const fragmentData = {
29
+ * // Other fields here...
30
+ * $fragmentType: (null: any)
31
+ * };
32
+ *
33
+ * const actual = testResolver(resolverFunc, fragmentData);
34
+ * expect(actual).toEqual(expectedValue)
35
+ * ```
36
+ **/
37
+ function testResolver<D, Ret>(
38
+ resolver: ({$data: D, $fragmentRefs: any, $fragmentSpreads: any}) => Ret,
39
+ // indexed_access is not yet enabled for this code base. Once it is, this can
40
+ // become: `Key['$data']`
41
+ fragmentData: D,
42
+ ): Ret {
43
+ const readFragment = ResolverFragments.readFragment;
44
+ // a test utility, so... YOLO!!
45
+ ResolverFragments.readFragment = () => fragmentData;
46
+ const result = resolver(
47
+ // This will be ignored since we mock the function it gets passed to.
48
+ // $FlowFixMe
49
+ null,
50
+ );
51
+ ResolverFragments.readFragment = readFragment;
52
+ return result;
53
+ }
54
+
55
+ module.exports = {testResolver};
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and 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
+ $fragmentType: (null: any),
36
+ });
37
+
38
+ testResolver(
39
+ myTestResolver,
40
+ // $FlowExpectedError foo is an unexpected key
41
+ {
42
+ name: 'Elizabeth',
43
+ foo: 'bar',
44
+ $fragmentType: (null: any),
45
+ },
46
+ );
47
+
48
+ testResolver(myTestResolver, {
49
+ // $FlowExpectedError Object is not a string
50
+ name: {},
51
+ $fragmentType: (null: any),
52
+ });
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and 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<<f260e1f3ab76aacb97f609d62c6772e5>>
8
+ * @flow
9
+ * @lightSyntaxTransform
10
+ * @nogrep
11
+ */
12
+
13
+ /* eslint-disable */
14
+
15
+ 'use strict';
16
+
17
+ /*::
18
+ import type { Fragment, ReaderFragment } from 'relay-runtime';
19
+ import type { FragmentType } from "relay-runtime";
20
+ declare export opaque type RelayResolverTestUtilsFlowTest$fragmentType: FragmentType;
21
+ export type RelayResolverTestUtilsFlowTest$ref = RelayResolverTestUtilsFlowTest$fragmentType;
22
+ export type RelayResolverTestUtilsFlowTest$data = {|
23
+ +name: ?string,
24
+ +$fragmentType: RelayResolverTestUtilsFlowTest$fragmentType,
25
+ |};
26
+ export type RelayResolverTestUtilsFlowTest = RelayResolverTestUtilsFlowTest$data;
27
+ export type RelayResolverTestUtilsFlowTest$key = {
28
+ +$data?: RelayResolverTestUtilsFlowTest$data,
29
+ +$fragmentSpreads: RelayResolverTestUtilsFlowTest$fragmentType,
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/*: any*/)/*: Fragment<
57
+ RelayResolverTestUtilsFlowTest$fragmentType,
58
+ RelayResolverTestUtilsFlowTest$data,
59
+ >*/);
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Relay v12.0.0
2
+ * Relay v13.0.0
3
3
  *
4
- * Copyright (c) Facebook, Inc. and its affiliates.
4
+ * Copyright (c) Meta Platforms, Inc. and 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.
package/index.js.flow CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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
 
@@ -115,8 +115,7 @@ var RelayMockPayloadGenerator = /*#__PURE__*/function () {
115
115
  function RelayMockPayloadGenerator(options) {
116
116
  var _options$mockResolver, _options$selectionMet;
117
117
 
118
- this._variables = options.variables; // $FlowFixMe[cannot-spread-indexer]
119
- // $FlowFixMe[cannot-spread-inexact]
118
+ this._variables = options.variables; // $FlowFixMe[cannot-spread-inexact]
120
119
  // $FlowFixMe[incompatible-type]
121
120
 
122
121
  this._mockResolvers = (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, DEFAULT_MOCK_RESOLVERS), (_options$mockResolver = options.mockResolvers) !== null && _options$mockResolver !== void 0 ? _options$mockResolver : {});
@@ -519,8 +518,7 @@ var RelayMockPayloadGenerator = /*#__PURE__*/function () {
519
518
  ;
520
519
 
521
520
  _proto._getVariableValue = function _getVariableValue(name) {
522
- !this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayMockPayloadGenerator(): Undefined variable `%s`.', name) : invariant(false) : void 0; // $FlowFixMe[cannot-write]
523
-
521
+ !this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayMockPayloadGenerator(): Undefined variable `%s`.', name) : invariant(false) : void 0;
524
522
  return this._variables[name];
525
523
  }
526
524
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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
 
@@ -341,6 +341,9 @@ function createMockEnvironment(config) {
341
341
 
342
342
  environment.execute = createExecuteProxy(environment, environment.execute); // $FlowExpectedError[cannot-write]
343
343
 
344
+ environment.executeSubscription = createExecuteProxy(environment, // $FlowFixMe[method-unbinding] added when improving typing for this parameters
345
+ environment.executeSubscription); // $FlowExpectedError[cannot-write]
346
+
344
347
  environment.executeWithSource = createExecuteProxy(environment, // $FlowFixMe[method-unbinding] added when improving typing for this parameters
345
348
  environment.executeWithSource); // $FlowExpectedError[cannot-write]
346
349
 
@@ -357,6 +360,7 @@ function createMockEnvironment(config) {
357
360
  mockDisposableMethod(environment, 'subscribe');
358
361
  mockDisposableMethod(environment, 'retain');
359
362
  mockObservableMethod(environment, 'execute');
363
+ mockObservableMethod(environment, 'executeSubscription');
360
364
  mockObservableMethod(environment, 'executeWithSource');
361
365
  mockObservableMethod(environment, 'executeMutation');
362
366
  mockInstanceMethod(store, 'getSource');
@@ -397,6 +401,8 @@ function createMockEnvironment(config) {
397
401
  environment.mock = mock; // $FlowExpectedError[cannot-write]
398
402
 
399
403
  environment.mockClear = function () {
404
+ var _store$getSource$clea, _store$getSource;
405
+
400
406
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
401
407
  environment.applyUpdate.mockClear(); // $FlowFixMe[method-unbinding] added when improving typing for this parameters
402
408
 
@@ -416,6 +422,10 @@ function createMockEnvironment(config) {
416
422
 
417
423
  environment.executeMutation.mockClear(); // $FlowFixMe[method-unbinding] added when improving typing for this parameters
418
424
 
425
+ environment.executeSubscription.mockClear(); // $FlowExpectedError[prop-missing]
426
+
427
+ (_store$getSource$clea = (_store$getSource = store.getSource()).clear) === null || _store$getSource$clea === void 0 ? void 0 : _store$getSource$clea.call(_store$getSource); // $FlowFixMe[method-unbinding] added when improving typing for this parameters
428
+
419
429
  store.getSource.mockClear(); // $FlowFixMe[method-unbinding] added when improving typing for this parameters
420
430
 
421
431
  store.lookup.mockClear(); // $FlowFixMe[method-unbinding] added when improving typing for this parameters
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and 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 _require = require('relay-runtime'),
14
+ ResolverFragments = _require.__internal.ResolverFragments;
15
+ /**
16
+ * Utility function for testing Relay Resolvers. Pass the resolver function and
17
+ * the data that will be returned from `readFragment` and it will return the
18
+ * value that the resolver would derive.
19
+ *
20
+ * *Note:* Relay fragment data includes a special `$fragmentType` key which is
21
+ * impossible for non-Relay code to construct. In tests you can work around
22
+ * this by passing `null` with a Flow suppression:
23
+ *
24
+ * ```
25
+ * const fragmentData = {
26
+ * // Other fields here...
27
+ * $fragmentType: (null: any)
28
+ * };
29
+ *
30
+ * const actual = testResolver(resolverFunc, fragmentData);
31
+ * expect(actual).toEqual(expectedValue)
32
+ * ```
33
+ **/
34
+
35
+
36
+ function testResolver(resolver, // indexed_access is not yet enabled for this code base. Once it is, this can
37
+ // become: `Key['$data']`
38
+ fragmentData) {
39
+ var readFragment = ResolverFragments.readFragment; // 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);
48
+ ResolverFragments.readFragment = readFragment;
49
+ return result;
50
+ }
51
+
52
+ module.exports = {
53
+ testResolver: testResolver
54
+ };
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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": "12.0.0",
4
+ "version": "13.0.0",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"
@@ -12,12 +12,9 @@
12
12
  "repository": "facebook/relay",
13
13
  "dependencies": {
14
14
  "@babel/runtime": "^7.0.0",
15
- "fbjs": "^3.0.0",
15
+ "fbjs": "^3.0.2",
16
16
  "invariant": "^2.2.4",
17
- "relay-runtime": "12.0.0"
18
- },
19
- "peerDependencies": {
20
- "graphql": "^15.0.0"
17
+ "relay-runtime": "13.0.0"
21
18
  },
22
19
  "directories": {
23
20
  "": "./"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v12.0.0
2
+ * Relay v13.0.0
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("relay-runtime")},function(e,n){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,n){e.exports=require("@babel/runtime/helpers/objectSpread2")},function(e,n,t){"use strict";var r=t(5),a=t(8),o=t(10),l=t(11);e.exports={MockEnvironment:a,MockPayloadGenerator:r,createMockEnvironment:a.createMockEnvironment,unwrapContainer:l,testResolver:o}},function(e,n,t){"use strict";var r=t(2),a=r(t(6)),o=r(t(3)),l=r(t(7)),i=t(0),u=t(1),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,S=c.LINKED_HANDLE,A=c.MODULE_IMPORT,C=c.SCALAR_FIELD,M=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 C: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 A: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 M:case S: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(2)(t(3)),a=t(9),o=t(0),l=t(1),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=[],S=[],A=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&&S.length>0){var s=S[0],f=s(u);if(null!=f)return S=S.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 C(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 M(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;M(e).forEach((function(e){var n=e.sink;null===n&&o(!1,"Sink should be defined."),n.error(t)}))},R=function(e,n){M(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(A,A),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.executeSubscription=T(N,N.executeSubscription),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,"executeSubscription"),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=C(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,C(e).params)&&a(r.variables,n)&&a(r.cacheConfig,null!=t?t:{})}))},reject:x,resolve:R,nextValue:function(e,n){M(e).forEach((function(e){var t=e.sink;null===t&&o(!1,"Sink should be defined."),t.next(O(n))}))},complete:function(e){M(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){S=S.concat([e])}};return N.mock=q,N.mockClear=function(){var e,n;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(),N.executeSubscription.mockClear(),null===(e=(n=g.getSource()).clear)||void 0===e||e.call(n),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(1).__internal.ResolverFragments;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,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 v12.0.0
2
+ * Relay v13.0.0
3
3
  *
4
- * Copyright (c) Facebook, Inc. and its affiliates.
4
+ * Copyright (c) Meta Platforms, Inc. and 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("relay-runtime")},function(e,n){e.exports=require("@babel/runtime/helpers/interopRequireDefault")},function(e,n){e.exports=require("@babel/runtime/helpers/objectSpread2")},function(e,n,r){"use strict";var t=r(5),a=r(8),l=r(10),o=r(11);e.exports={MockEnvironment:a,MockPayloadGenerator:t,createMockEnvironment:a.createMockEnvironment,unwrapContainer:o,testResolver:l}},function(e,n,r){"use strict";var t=r(2),a=t(r(6)),l=t(r(3)),o=t(r(7)),u=r(0),i=r(1),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,_=c.FRAGMENT_SPREAD,h=c.INLINE_FRAGMENT,A=c.LINKED_FIELD,E=c.LINKED_HANDLE,C=c.MODULE_IMPORT,S=c.SCALAR_FIELD,O=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 S: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 _:j=c._traverseSelections(e.fragment.selections,n,r,t,j,i);break;case h: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 O: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(2)(r(3)),a=r(9),l=r(0),o=r(1),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),_=new s({size:10,ttl:3e5}),h=[],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=_.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 h=h.concat([l]),function(){h=h.filter((function(e){return!a(e,l)})),A=A.filter((function(e){return e!==i}))}}))};function S(e){if("Request"===e.kind)return e;var n=e;return A.includes(n)||l(!1),n.request.node}function O(e){var n,r;n="Request"===e.kind?e:(r=e).request.node;var t=h.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;O(e).forEach((function(e){var n=e.sink;null===n&&l(!1),n.error(r)}))},j=function(e,n){O(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.executeSubscription=R(T,T.executeSubscription),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,"executeSubscription"),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=S(e).params,a=t.id,o=t.text,u=null!=a?a:o;null==u&&l(!1),_.set(u,n,r)},clearCache:function(){_.clear()},isLoading:function(e,n,r){return h.some((function(t){return a(t.request,S(e).params)&&a(t.variables,n)&&a(t.cacheConfig,null!=r?r:{})}))},reject:M,resolve:j,nextValue:function(e,n){O(e).forEach((function(e){var r=e.sink;null===r&&l(!1),r.next(x(n))}))},complete:function(e){O(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(){var e,n;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(),T.executeSubscription.mockClear(),null===(e=(n=k.getSource()).clear)||void 0===e||e.call(n),k.getSource.mockClear(),k.lookup.mockClear(),k.notify.mockClear(),k.publish.mockClear(),k.retain.mockClear(),k.subscribe.mockClear(),_.clear(),A=[],h=[]},T}}},function(e,n){e.exports=require("fbjs/lib/areEqual")},function(e,n,r){"use strict";var t=r(1).__internal.ResolverFragments;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,r){"use strict";var t=r(0);e.exports=function(e){var n=e.__ComponentClass;return null==n&&t(!1),n}}]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -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
  */