relay-test-utils 0.0.0-main-8b0dac5d → 0.0.0-main-bd042546

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.
@@ -97,7 +97,7 @@ function createIdGenerator() {
97
97
  };
98
98
  }
99
99
 
100
- const DEFAULT_MOCK_RESOLVERS = {
100
+ const DEFAULT_MOCK_RESOLVERS: MockResolvers = {
101
101
  ID(context: MockResolverContext, generateId: () => number) {
102
102
  return `<${
103
103
  context.parentType != null && context.parentType !== DEFAULT_MOCK_TYPENAME
@@ -222,7 +222,8 @@ function createMockEnvironment(
222
222
  cachedPayload = cache.get(cacheID, variables);
223
223
  }
224
224
  if (cachedPayload !== null) {
225
- return Observable.from(cachedPayload);
225
+ // $FlowFixMe[incompatible-call]
226
+ return Observable.from<GraphQLSingularResponse>(cachedPayload);
226
227
  }
227
228
 
228
229
  const currentOperation = pendingOperations.find(
@@ -241,11 +242,11 @@ function createMockEnvironment(
241
242
  op => op !== currentOperation,
242
243
  );
243
244
  if (result instanceof Error) {
244
- return Observable.create<empty>(sink => {
245
+ return Observable.create<GraphQLSingularResponse>(sink => {
245
246
  sink.error(result);
246
247
  });
247
248
  } else {
248
- return Observable.from(result);
249
+ return Observable.from<GraphQLSingularResponse>(result);
249
250
  }
250
251
  }
251
252
  }
@@ -30,23 +30,14 @@ function myTestResolver(rootKey: RelayResolverTestUtilsFlowTest$key): string {
30
30
  return `Hello ${user.name ?? 'stranger'}!`;
31
31
  }
32
32
 
33
+ testResolver(myTestResolver, {name: 'Elizabeth', $fragmentType: (null: any)});
34
+
35
+ // $FlowExpectedError foo is an unexpected key
33
36
  testResolver(myTestResolver, {
34
37
  name: 'Elizabeth',
38
+ foo: 'bar',
35
39
  $fragmentType: (null: any),
36
40
  });
37
41
 
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
- });
42
+ // $FlowExpectedError Object is not a string
43
+ testResolver(myTestResolver, {name: {}, $fragmentType: (null: any)});
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-8b0dac5d
2
+ * Relay v0.0.0-main-bd042546
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *
@@ -153,6 +153,7 @@ function createMockEnvironment(config) {
153
153
  }
154
154
 
155
155
  if (cachedPayload !== null) {
156
+ // $FlowFixMe[incompatible-call]
156
157
  return Observable.from(cachedPayload);
157
158
  }
158
159
 
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-8b0dac5d",
4
+ "version": "0.0.0-main-bd042546",
5
5
  "keywords": [
6
6
  "graphql",
7
7
  "relay"
@@ -18,7 +18,7 @@
18
18
  "@babel/runtime": "^7.0.0",
19
19
  "fbjs": "^3.0.2",
20
20
  "invariant": "^2.2.4",
21
- "relay-runtime": "0.0.0-main-8b0dac5d"
21
+ "relay-runtime": "0.0.0-main-bd042546"
22
22
  },
23
23
  "directories": {
24
24
  "": "./"
@@ -1,4 +1,4 @@
1
1
  /**
2
- * Relay v0.0.0-main-8b0dac5d
2
+ * Relay v0.0.0-main-bd042546
3
3
  */
4
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).default,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,C=c.LINKED_HANDLE,S=c.MODULE_IMPORT,A=c.RELAY_RESOLVER,M=c.SCALAR_FIELD,O=c.SCALAR_HANDLE,x=c.STREAM,R=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,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?D(Array.isArray(o)?o:Array(1).fill(),l):l(o)}function D(e,n){return e.map((function(e){return n(e)}))}var V=function(){function e(e){var n,t,r,a,l,i;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=(a=this._mockResolvers,l=0,i=function(){return++l},function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return T.apply(void 0,[i,a].concat(n))}),this._mockClientData=null!==(r=e.mockClientData)&&void 0!==r&&r}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,j=null!=l?l:{};return e.forEach((function(e){switch(e.kind){case M:j=c._mockScalar(e,n,r,j,u);break;case b:j=c._traverseSelections([e.edges,e.pageInfo],n,t,r,l,u);break;case E:j=c._mockLink(e,r,j,u);break;case y:c._getVariableValue(e.condition)===e.passingValue&&(j=c._traverseSelections(e.selections,n,t,r,j,u));break;case m:if(!c._mockClientData)break;case k:case x:j=c._traverseSelections(e.selections,n,t,r,j,u);break;case v:case h:j=c._traverseSelections(e.fragment.selections,n,t,r,j,u);break;case _:var T,D=e.abstractKey;if(null!=D){null!=j&&(j[D]=!0),j=c._traverseSelections(e.selections,n,t,r,j,u);break}if(null!=j&&(null==j[s]||j[s]===N))j[s]=null!==(T=null==u?void 0:u[s])&&void 0!==T?T:e.type;if(!0===t&&null!=j&&j[s]===n&&(j[s]=e.type),null!=j&&j[s]===e.type){var V=c._getDefaultValuesForObject(e.type,r[r.length-1],null,r),q=n!==e.type?c._getDefaultValuesForObject(n,r[r.length-1],null,r):V,w=V;if(void 0===w&&(w=q),void 0===w&&(w=u),null===w){j=null;break}null!=(j=c._traverseSelections(e.selections,e.type,t,r,j,w))[s]&&(j[s]=e.type),null!=j.id&&null!=V&&null!=V.id&&(j.id=V.id)}break;case S:if(null!=u){var I;if(u.__typename!==n)break;var P=u.__module_operation;"object"==typeof P&&null!==P&&"SplitOperation"===P.kind&&Array.isArray(P.selections)&&"string"==typeof P.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(P),n,e.fragmentName);var F=P,L=e.documentName;null==j&&(j={}),j=(0,o.default)((0,o.default)({},j),{},(I={},(0,a.default)(I,s,n),(0,a.default)(I,p(L),P.name),(0,a.default)(I,f(L),u.__module_component),I),c._traverseSelections(F.selections,n,!1,r,null,null))}break;case R:var U=e.abstractKey;null!=j&&(j[U]=!0);break;case O:case C:break;case g:throw new Error("Flight fields are not yet supported.");case d:throw new Error("ActorChange fields are not yet supported.");case A:e.fragment&&(j=c._traverseSelections(e.fragment.selections,n,t,r,j,u));break;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:{},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:N);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:N};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?D(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,t){return{data:function(e,n,t,r,a){var o,l=new V({variables:n,mockResolvers:t,selectionMetadata:r,mockClientData:null==a?void 0:a.mockClientData});return o=e.name.endsWith("Mutation")?"Mutation":e.name.endsWith("Subscription")?"Subscription":"Query",l.generate(e.selections,o)}(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),t)}}}},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=(0,t(2).default)(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=[],C=[],S=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&&C.length>0){var s=C[0],f=s(u);if(null!=f)return C=C.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 A(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(S,S),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 D={cachePayload:function(e,n,t){var r=A(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,A(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){C=C.concat([e])}};return N.mock=D,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,5 +1,5 @@
1
1
  /**
2
- * Relay v0.0.0-main-8b0dac5d
2
+ * Relay v0.0.0-main-bd042546
3
3
  *
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
5
5
  *