@apollo/client 3.8.4 → 3.9.0-alpha.1
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.
- package/apollo-client.cjs +26 -38
- package/apollo-client.cjs.map +1 -1
- package/apollo-client.min.cjs +1 -1
- package/core/QueryInfo.d.ts +1 -1
- package/core/QueryInfo.d.ts.map +1 -1
- package/core/QueryInfo.js +4 -4
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.js +1 -1
- package/core/QueryManager.js.map +1 -1
- package/core/core.cjs +6 -6
- package/core/core.cjs.map +1 -1
- package/core/core.cjs.native.js +6 -6
- package/dev/dev.cjs +25 -19
- package/dev/dev.cjs.map +1 -1
- package/dev/dev.cjs.native.js +25 -19
- package/invariantErrorCodes.js +24 -18
- package/package.json +2 -2
- package/react/cache/index.d.ts +0 -4
- package/react/cache/index.d.ts.map +1 -1
- package/react/cache/index.js +0 -14
- package/react/cache/index.js.map +1 -1
- package/react/index.d.ts +0 -1
- package/react/index.d.ts.map +1 -1
- package/react/index.js +0 -1
- package/react/index.js.map +1 -1
- package/react/react.cjs +1 -218
- package/react/react.cjs.map +1 -1
- package/react/react.cjs.native.js +1 -218
- package/react/types/types.d.ts +0 -3
- package/react/types/types.d.ts.map +1 -1
- package/react/types/types.js.map +1 -1
- package/testing/core/core.cjs +28 -3
- package/testing/core/core.cjs.map +1 -1
- package/testing/core/core.cjs.native.js +28 -3
- package/testing/core/mocking/mockLink.d.ts +6 -2
- package/testing/core/mocking/mockLink.d.ts.map +1 -1
- package/testing/core/mocking/mockLink.js +28 -3
- package/testing/core/mocking/mockLink.js.map +1 -1
- package/utilities/globals/globals.cjs +1 -1
- package/utilities/globals/globals.cjs.map +1 -1
- package/utilities/globals/globals.cjs.native.js +1 -1
- package/utilities/graphql/DocumentTransform.js +1 -1
- package/utilities/graphql/directives.js +4 -4
- package/utilities/graphql/fragments.js +3 -3
- package/utilities/graphql/getFromAST.js +8 -8
- package/utilities/graphql/storeUtils.js +1 -1
- package/utilities/graphql/transform.js +2 -2
- package/utilities/utilities.cjs +19 -19
- package/utilities/utilities.cjs.map +1 -1
- package/utilities/utilities.cjs.native.js +19 -19
- package/version.js +1 -1
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { Operation, GraphQLRequest, FetchResult } from "../../../link/core/index.js";
|
|
2
2
|
import { ApolloLink } from "../../../link/core/index.js";
|
|
3
3
|
import { Observable } from "../../../utilities/index.js";
|
|
4
|
-
export type ResultFunction<T
|
|
4
|
+
export type ResultFunction<T, V = Record<string, any>> = (variables: V) => T;
|
|
5
|
+
export type VariableMatcher<V = Record<string, any>> = (variables: V) => boolean;
|
|
5
6
|
export interface MockedResponse<TData = Record<string, any>, TVariables = Record<string, any>> {
|
|
6
7
|
request: GraphQLRequest<TVariables>;
|
|
7
|
-
|
|
8
|
+
maxUsageCount?: number;
|
|
9
|
+
result?: FetchResult<TData> | ResultFunction<FetchResult<TData>, TVariables>;
|
|
8
10
|
error?: Error;
|
|
9
11
|
delay?: number;
|
|
12
|
+
variableMatcher?: VariableMatcher<TVariables>;
|
|
10
13
|
newData?: ResultFunction<FetchResult>;
|
|
11
14
|
}
|
|
12
15
|
export interface MockLinkOptions {
|
|
@@ -21,6 +24,7 @@ export declare class MockLink extends ApolloLink {
|
|
|
21
24
|
addMockedResponse(mockedResponse: MockedResponse): void;
|
|
22
25
|
request(operation: Operation): Observable<FetchResult> | null;
|
|
23
26
|
private normalizeMockedResponse;
|
|
27
|
+
private normalizeVariableMatching;
|
|
24
28
|
}
|
|
25
29
|
export interface MockApolloLink extends ApolloLink {
|
|
26
30
|
operation?: Operation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockLink.d.ts","sourceRoot":"","sources":["../../../../src/testing/core/mocking/mockLink.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EACL,UAAU,EAOX,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mockLink.d.ts","sourceRoot":"","sources":["../../../../src/testing/core/mocking/mockLink.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EACL,UAAU,EAOX,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;AAE7E,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CACrD,SAAS,EAAE,CAAC,KACT,OAAO,CAAC;AAEb,MAAM,WAAW,cAAc,CAC7B,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEhC,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7E,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAUD,qBAAa,QAAS,SAAQ,UAAU;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAQ;IAC5B,YAAY,EAAE,OAAO,CAAQ;IACpC,OAAO,CAAC,oBAAoB,CAA2C;gBAGrE,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,EAC9C,WAAW,GAAE,OAAc,EAC3B,OAAO,GAAE,eAAqC;IAazC,iBAAiB,CAAC,cAAc,EAAE,cAAc;IAehD,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI;IA2GpE,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,yBAAyB;CAgBlC;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAKD,wBAAgB,cAAc,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,CAY7E"}
|
|
@@ -51,6 +51,9 @@ var MockLink = (function (_super) {
|
|
|
51
51
|
if (equal(requestVariables, mockedResponseVars)) {
|
|
52
52
|
return true;
|
|
53
53
|
}
|
|
54
|
+
if (res.variableMatcher && res.variableMatcher(operation.variables)) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
54
57
|
unmatchedVars.push(mockedResponseVars);
|
|
55
58
|
return false;
|
|
56
59
|
})
|
|
@@ -68,10 +71,15 @@ var MockLink = (function (_super) {
|
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
else {
|
|
71
|
-
|
|
74
|
+
if (response.maxUsageCount > 1) {
|
|
75
|
+
response.maxUsageCount--;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
mockedResponses.splice(responseIndex, 1);
|
|
79
|
+
}
|
|
72
80
|
var newData = response.newData;
|
|
73
81
|
if (newData) {
|
|
74
|
-
response.result = newData();
|
|
82
|
+
response.result = newData(operation.variables);
|
|
75
83
|
mockedResponses.push(response);
|
|
76
84
|
}
|
|
77
85
|
if (!response.result && !response.error) {
|
|
@@ -97,7 +105,7 @@ var MockLink = (function (_super) {
|
|
|
97
105
|
else {
|
|
98
106
|
if (response.result) {
|
|
99
107
|
observer.next(typeof response.result === "function"
|
|
100
|
-
? response.result()
|
|
108
|
+
? response.result(operation.variables)
|
|
101
109
|
: response.result);
|
|
102
110
|
}
|
|
103
111
|
observer.complete();
|
|
@@ -110,6 +118,7 @@ var MockLink = (function (_super) {
|
|
|
110
118
|
});
|
|
111
119
|
};
|
|
112
120
|
MockLink.prototype.normalizeMockedResponse = function (mockedResponse) {
|
|
121
|
+
var _a;
|
|
113
122
|
var newMockedResponse = cloneDeep(mockedResponse);
|
|
114
123
|
var queryWithoutConnection = removeConnectionDirectiveFromDocument(newMockedResponse.request.query);
|
|
115
124
|
invariant(queryWithoutConnection, 62);
|
|
@@ -118,8 +127,24 @@ var MockLink = (function (_super) {
|
|
|
118
127
|
if (query) {
|
|
119
128
|
newMockedResponse.request.query = query;
|
|
120
129
|
}
|
|
130
|
+
mockedResponse.maxUsageCount = (_a = mockedResponse.maxUsageCount) !== null && _a !== void 0 ? _a : 1;
|
|
131
|
+
invariant(mockedResponse.maxUsageCount > 0, 63, mockedResponse.maxUsageCount);
|
|
132
|
+
this.normalizeVariableMatching(newMockedResponse);
|
|
121
133
|
return newMockedResponse;
|
|
122
134
|
};
|
|
135
|
+
MockLink.prototype.normalizeVariableMatching = function (mockedResponse) {
|
|
136
|
+
var variables = mockedResponse.request.variables;
|
|
137
|
+
if (mockedResponse.variableMatcher && variables) {
|
|
138
|
+
throw new Error("Mocked response should contain either variableMatcher or request.variables");
|
|
139
|
+
}
|
|
140
|
+
if (!mockedResponse.variableMatcher) {
|
|
141
|
+
mockedResponse.variableMatcher = function (vars) {
|
|
142
|
+
var requestVariables = vars || {};
|
|
143
|
+
var mockedResponseVariables = variables || {};
|
|
144
|
+
return equal(requestVariables, mockedResponseVariables);
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
};
|
|
123
148
|
return MockLink;
|
|
124
149
|
}(ApolloLink));
|
|
125
150
|
export { MockLink };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockLink.js","sourceRoot":"","sources":["../../../../src/testing/core/mocking/mockLink.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAOtC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,qCAAqC,EACrC,SAAS,EACT,mBAAmB,EACnB,KAAK,GACN,MAAM,6BAA6B,CAAC;AAmBrC,SAAS,YAAY,CAAC,OAAuB,EAAE,WAAoB;IACjE,IAAM,WAAW,GACf,OAAO,CAAC,KAAK;QACb,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAM,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAED;IAA8B,4BAAU;IAMtC,kBACE,eAA8C,EAC9C,WAA2B,EAC3B,OAA8C;QAD9C,4BAAA,EAAA,kBAA2B;QAC3B,wBAAA,EAAA,UAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;QAHhD,YAKE,iBAAO,SASR;QAlBM,iBAAW,GAAY,IAAI,CAAC;QAC5B,kBAAY,GAAY,IAAI,CAAC;QAC5B,0BAAoB,GAAwC,EAAE,CAAC;QAQrE,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,KAAI,CAAC,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC;QAEjD,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,OAAO,CAAC,UAAC,cAAc;gBACrC,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;SACJ;;IACH,CAAC;IAEM,oCAAiB,GAAxB,UAAyB,cAA8B;QACrD,IAAM,wBAAwB,GAC5B,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAM,GAAG,GAAG,YAAY,CACtB,wBAAwB,CAAC,OAAO,EAChC,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,EAAE;YACpB,eAAe,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;SAClD;QACD,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjD,CAAC;IAEM,0BAAO,GAAd,UAAe,SAAoB;QAAnC,iBAmGC;QAlGC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAM,aAAa,GAA+B,EAAE,CAAC;QACrD,IAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;QACnD,IAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAM,aAAa,GAAG,eAAe;YACnC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,UAAC,GAAG,EAAE,KAAK;gBACnC,IAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;gBACvD,IAAI,KAAK,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE;oBAC/C,OAAO,IAAI,CAAC;iBACb;gBACD,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEP,IAAM,QAAQ,GACZ,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,WAAkB,CAAC;QAEvB,IAAI,CAAC,QAAQ,EAAE;YACb,WAAW,GAAG,IAAI,KAAK,CACrB,kDAA2C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,mCACnD,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,eAE5D,aAAa,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,4BACY,aAAa,CAAC,MAAM,kBAC9B,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gFAE3C,aAAa,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,YAAK,mBAAmB,CAAC,CAAC,CAAC,CAAE,EAA7B,CAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OACnE;gBACG,CAAC,CAAC,EAAE,CACN,CACK,CAAC;YAEF,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO,CAAC,IAAI,CACV,WAAW,CAAC,OAAO;oBACjB,iEAAiE;oBACjE,sDAAsD,CACzD,CAAC;aACH;SACF;aAAM;YACL,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAEjC,IAAA,OAAO,GAAK,QAAQ,QAAb,CAAc;YAC7B,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACvC,WAAW,GAAG,IAAI,KAAK,CACrB,iEAA0D,GAAG,CAAE,CAChE,CAAC;aACH;SACF;QAED,OAAO,IAAI,UAAU,CAAC,UAAC,QAAQ;YAC7B,IAAM,KAAK,GAAG,UAAU,CACtB;gBACE,IAAI,WAAW,EAAE;oBACf,IAAI;wBAMF,IAAI,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,KAAK,EAAE;4BACjD,MAAM,WAAW,CAAC;yBACnB;qBACF;oBAAC,OAAO,KAAK,EAAE;wBACd,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACvB;iBACF;qBAAM,IAAI,QAAQ,EAAE;oBACnB,IAAI,QAAQ,CAAC,KAAK,EAAE;wBAClB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;qBAChC;yBAAM;wBACL,IAAI,QAAQ,CAAC,MAAM,EAAE;4BACnB,QAAQ,CAAC,IAAI,CACX,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gCACnC,CAAC,CAAE,QAAQ,CAAC,MAAsC,EAAE;gCACpD,CAAC,CAAC,QAAQ,CAAC,MAAM,CACpB,CAAC;yBACH;wBACD,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB;iBACF;YACH,CAAC,EACD,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAClC,CAAC;YAEF,OAAO;gBACL,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,0CAAuB,GAA/B,UACE,cAA8B;QAE9B,IAAM,iBAAiB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACpD,IAAM,sBAAsB,GAAG,qCAAqC,CAClE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAChC,CAAC;QACF,SAAS,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;QACvD,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,sBAAuB,CAAC;QAC1D,IAAM,KAAK,GAAG,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,KAAK,EAAE;YACT,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;SACzC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACH,eAAC;AAAD,CAAC,AAzJD,CAA8B,UAAU,GAyJvC;;AASD,MAAM,UAAU,cAAc;IAAC,yBAA8B;SAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;QAA9B,oCAA8B;;IAG3D,IAAI,aAAa,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE;QACtC,KAAK,GAAG,eAAe,CAAC;QACxB,aAAa,GAAG,IAAI,CAAC;KACtB;IAED,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC","sourcesContent":["import { invariant } from \"../../../utilities/globals/index.js\";\n\nimport { equal } from \"@wry/equality\";\n\nimport type {\n Operation,\n GraphQLRequest,\n FetchResult,\n} from \"../../../link/core/index.js\";\nimport { ApolloLink } from \"../../../link/core/index.js\";\n\nimport {\n Observable,\n addTypenameToDocument,\n removeClientSetsFromDocument,\n removeConnectionDirectiveFromDocument,\n cloneDeep,\n stringifyForDisplay,\n print,\n} from \"../../../utilities/index.js\";\n\nexport type ResultFunction<T> = () => T;\n\nexport interface MockedResponse<\n TData = Record<string, any>,\n TVariables = Record<string, any>,\n> {\n request: GraphQLRequest<TVariables>;\n result?: FetchResult<TData> | ResultFunction<FetchResult<TData>>;\n error?: Error;\n delay?: number;\n newData?: ResultFunction<FetchResult>;\n}\n\nexport interface MockLinkOptions {\n showWarnings?: boolean;\n}\n\nfunction requestToKey(request: GraphQLRequest, addTypename: Boolean): string {\n const queryString =\n request.query &&\n print(addTypename ? addTypenameToDocument(request.query) : request.query);\n const requestKey = { query: queryString };\n return JSON.stringify(requestKey);\n}\n\nexport class MockLink extends ApolloLink {\n public operation: Operation;\n public addTypename: Boolean = true;\n public showWarnings: boolean = true;\n private mockedResponsesByKey: { [key: string]: MockedResponse[] } = {};\n\n constructor(\n mockedResponses: ReadonlyArray<MockedResponse>,\n addTypename: Boolean = true,\n options: MockLinkOptions = Object.create(null)\n ) {\n super();\n this.addTypename = addTypename;\n this.showWarnings = options.showWarnings ?? true;\n\n if (mockedResponses) {\n mockedResponses.forEach((mockedResponse) => {\n this.addMockedResponse(mockedResponse);\n });\n }\n }\n\n public addMockedResponse(mockedResponse: MockedResponse) {\n const normalizedMockedResponse =\n this.normalizeMockedResponse(mockedResponse);\n const key = requestToKey(\n normalizedMockedResponse.request,\n this.addTypename\n );\n let mockedResponses = this.mockedResponsesByKey[key];\n if (!mockedResponses) {\n mockedResponses = [];\n this.mockedResponsesByKey[key] = mockedResponses;\n }\n mockedResponses.push(normalizedMockedResponse);\n }\n\n public request(operation: Operation): Observable<FetchResult> | null {\n this.operation = operation;\n const key = requestToKey(operation, this.addTypename);\n const unmatchedVars: Array<Record<string, any>> = [];\n const requestVariables = operation.variables || {};\n const mockedResponses = this.mockedResponsesByKey[key];\n const responseIndex = mockedResponses\n ? mockedResponses.findIndex((res, index) => {\n const mockedResponseVars = res.request.variables || {};\n if (equal(requestVariables, mockedResponseVars)) {\n return true;\n }\n unmatchedVars.push(mockedResponseVars);\n return false;\n })\n : -1;\n\n const response =\n responseIndex >= 0 ? mockedResponses[responseIndex] : void 0;\n\n let configError: Error;\n\n if (!response) {\n configError = new Error(\n `No more mocked responses for the query: ${print(operation.query)}\nExpected variables: ${stringifyForDisplay(operation.variables)}\n${\n unmatchedVars.length > 0\n ? `\nFailed to match ${unmatchedVars.length} mock${\n unmatchedVars.length === 1 ? \"\" : \"s\"\n } for this query. The mocked response had the following variables:\n${unmatchedVars.map((d) => ` ${stringifyForDisplay(d)}`).join(\"\\n\")}\n`\n : \"\"\n}`\n );\n\n if (this.showWarnings) {\n console.warn(\n configError.message +\n \"\\nThis typically indicates a configuration error in your mocks \" +\n \"setup, usually due to a typo or mismatched variable.\"\n );\n }\n } else {\n mockedResponses.splice(responseIndex, 1);\n\n const { newData } = response;\n if (newData) {\n response.result = newData();\n mockedResponses.push(response);\n }\n\n if (!response.result && !response.error) {\n configError = new Error(\n `Mocked response should contain either result or error: ${key}`\n );\n }\n }\n\n return new Observable((observer) => {\n const timer = setTimeout(\n () => {\n if (configError) {\n try {\n // The onError function can return false to indicate that\n // configError need not be passed to observer.error. For\n // example, the default implementation of onError calls\n // observer.error(configError) and then returns false to\n // prevent this extra (harmless) observer.error call.\n if (this.onError(configError, observer) !== false) {\n throw configError;\n }\n } catch (error) {\n observer.error(error);\n }\n } else if (response) {\n if (response.error) {\n observer.error(response.error);\n } else {\n if (response.result) {\n observer.next(\n typeof response.result === \"function\"\n ? (response.result as ResultFunction<FetchResult>)()\n : response.result\n );\n }\n observer.complete();\n }\n }\n },\n (response && response.delay) || 0\n );\n\n return () => {\n clearTimeout(timer);\n };\n });\n }\n\n private normalizeMockedResponse(\n mockedResponse: MockedResponse\n ): MockedResponse {\n const newMockedResponse = cloneDeep(mockedResponse);\n const queryWithoutConnection = removeConnectionDirectiveFromDocument(\n newMockedResponse.request.query\n );\n invariant(queryWithoutConnection, \"query is required\");\n newMockedResponse.request.query = queryWithoutConnection!;\n const query = removeClientSetsFromDocument(newMockedResponse.request.query);\n if (query) {\n newMockedResponse.request.query = query;\n }\n return newMockedResponse;\n }\n}\n\nexport interface MockApolloLink extends ApolloLink {\n operation?: Operation;\n}\n\n// Pass in multiple mocked responses, so that you can test flows that end up\n// making multiple queries to the server.\n// NOTE: The last arg can optionally be an `addTypename` arg.\nexport function mockSingleLink(...mockedResponses: Array<any>): MockApolloLink {\n // To pull off the potential typename. If this isn't a boolean, we'll just\n // set it true later.\n let maybeTypename = mockedResponses[mockedResponses.length - 1];\n let mocks = mockedResponses.slice(0, mockedResponses.length - 1);\n\n if (typeof maybeTypename !== \"boolean\") {\n mocks = mockedResponses;\n maybeTypename = true;\n }\n\n return new MockLink(mocks, maybeTypename);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mockLink.js","sourceRoot":"","sources":["../../../../src/testing/core/mocking/mockLink.ts"],"names":[],"mappings":"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","sourcesContent":["import { invariant } from \"../../../utilities/globals/index.js\";\n\nimport { equal } from \"@wry/equality\";\n\nimport type {\n Operation,\n GraphQLRequest,\n FetchResult,\n} from \"../../../link/core/index.js\";\nimport { ApolloLink } from \"../../../link/core/index.js\";\n\nimport {\n Observable,\n addTypenameToDocument,\n removeClientSetsFromDocument,\n removeConnectionDirectiveFromDocument,\n cloneDeep,\n stringifyForDisplay,\n print,\n} from \"../../../utilities/index.js\";\n\nexport type ResultFunction<T, V = Record<string, any>> = (variables: V) => T;\n\nexport type VariableMatcher<V = Record<string, any>> = (\n variables: V\n) => boolean;\n\nexport interface MockedResponse<\n TData = Record<string, any>,\n TVariables = Record<string, any>,\n> {\n request: GraphQLRequest<TVariables>;\n maxUsageCount?: number;\n result?: FetchResult<TData> | ResultFunction<FetchResult<TData>, TVariables>;\n error?: Error;\n delay?: number;\n variableMatcher?: VariableMatcher<TVariables>;\n newData?: ResultFunction<FetchResult>;\n}\n\nexport interface MockLinkOptions {\n showWarnings?: boolean;\n}\n\nfunction requestToKey(request: GraphQLRequest, addTypename: Boolean): string {\n const queryString =\n request.query &&\n print(addTypename ? addTypenameToDocument(request.query) : request.query);\n const requestKey = { query: queryString };\n return JSON.stringify(requestKey);\n}\n\nexport class MockLink extends ApolloLink {\n public operation: Operation;\n public addTypename: Boolean = true;\n public showWarnings: boolean = true;\n private mockedResponsesByKey: { [key: string]: MockedResponse[] } = {};\n\n constructor(\n mockedResponses: ReadonlyArray<MockedResponse>,\n addTypename: Boolean = true,\n options: MockLinkOptions = Object.create(null)\n ) {\n super();\n this.addTypename = addTypename;\n this.showWarnings = options.showWarnings ?? true;\n\n if (mockedResponses) {\n mockedResponses.forEach((mockedResponse) => {\n this.addMockedResponse(mockedResponse);\n });\n }\n }\n\n public addMockedResponse(mockedResponse: MockedResponse) {\n const normalizedMockedResponse =\n this.normalizeMockedResponse(mockedResponse);\n const key = requestToKey(\n normalizedMockedResponse.request,\n this.addTypename\n );\n let mockedResponses = this.mockedResponsesByKey[key];\n if (!mockedResponses) {\n mockedResponses = [];\n this.mockedResponsesByKey[key] = mockedResponses;\n }\n mockedResponses.push(normalizedMockedResponse);\n }\n\n public request(operation: Operation): Observable<FetchResult> | null {\n this.operation = operation;\n const key = requestToKey(operation, this.addTypename);\n const unmatchedVars: Array<Record<string, any>> = [];\n const requestVariables = operation.variables || {};\n const mockedResponses = this.mockedResponsesByKey[key];\n const responseIndex = mockedResponses\n ? mockedResponses.findIndex((res, index) => {\n const mockedResponseVars = res.request.variables || {};\n if (equal(requestVariables, mockedResponseVars)) {\n return true;\n }\n if (res.variableMatcher && res.variableMatcher(operation.variables)) {\n return true;\n }\n unmatchedVars.push(mockedResponseVars);\n return false;\n })\n : -1;\n\n const response =\n responseIndex >= 0 ? mockedResponses[responseIndex] : void 0;\n\n let configError: Error;\n\n if (!response) {\n configError = new Error(\n `No more mocked responses for the query: ${print(operation.query)}\nExpected variables: ${stringifyForDisplay(operation.variables)}\n${\n unmatchedVars.length > 0\n ? `\nFailed to match ${unmatchedVars.length} mock${\n unmatchedVars.length === 1 ? \"\" : \"s\"\n } for this query. The mocked response had the following variables:\n${unmatchedVars.map((d) => ` ${stringifyForDisplay(d)}`).join(\"\\n\")}\n`\n : \"\"\n}`\n );\n\n if (this.showWarnings) {\n console.warn(\n configError.message +\n \"\\nThis typically indicates a configuration error in your mocks \" +\n \"setup, usually due to a typo or mismatched variable.\"\n );\n }\n } else {\n if (response.maxUsageCount! > 1) {\n response.maxUsageCount!--;\n } else {\n mockedResponses.splice(responseIndex, 1);\n }\n const { newData } = response;\n if (newData) {\n response.result = newData(operation.variables);\n mockedResponses.push(response);\n }\n\n if (!response.result && !response.error) {\n configError = new Error(\n `Mocked response should contain either result or error: ${key}`\n );\n }\n }\n\n return new Observable((observer) => {\n const timer = setTimeout(\n () => {\n if (configError) {\n try {\n // The onError function can return false to indicate that\n // configError need not be passed to observer.error. For\n // example, the default implementation of onError calls\n // observer.error(configError) and then returns false to\n // prevent this extra (harmless) observer.error call.\n if (this.onError(configError, observer) !== false) {\n throw configError;\n }\n } catch (error) {\n observer.error(error);\n }\n } else if (response) {\n if (response.error) {\n observer.error(response.error);\n } else {\n if (response.result) {\n observer.next(\n typeof response.result === \"function\"\n ? response.result(operation.variables)\n : response.result\n );\n }\n observer.complete();\n }\n }\n },\n (response && response.delay) || 0\n );\n\n return () => {\n clearTimeout(timer);\n };\n });\n }\n\n private normalizeMockedResponse(\n mockedResponse: MockedResponse\n ): MockedResponse {\n const newMockedResponse = cloneDeep(mockedResponse);\n const queryWithoutConnection = removeConnectionDirectiveFromDocument(\n newMockedResponse.request.query\n );\n invariant(queryWithoutConnection, \"query is required\");\n newMockedResponse.request.query = queryWithoutConnection!;\n const query = removeClientSetsFromDocument(newMockedResponse.request.query);\n if (query) {\n newMockedResponse.request.query = query;\n }\n\n mockedResponse.maxUsageCount = mockedResponse.maxUsageCount ?? 1;\n invariant(\n mockedResponse.maxUsageCount > 0,\n `Mock response maxUsageCount must be greater than 0, %s given`,\n mockedResponse.maxUsageCount\n );\n\n this.normalizeVariableMatching(newMockedResponse);\n return newMockedResponse;\n }\n\n private normalizeVariableMatching(mockedResponse: MockedResponse) {\n const variables = mockedResponse.request.variables;\n if (mockedResponse.variableMatcher && variables) {\n throw new Error(\n \"Mocked response should contain either variableMatcher or request.variables\"\n );\n }\n\n if (!mockedResponse.variableMatcher) {\n mockedResponse.variableMatcher = (vars) => {\n const requestVariables = vars || {};\n const mockedResponseVariables = variables || {};\n return equal(requestVariables, mockedResponseVariables);\n };\n }\n }\n}\n\nexport interface MockApolloLink extends ApolloLink {\n operation?: Operation;\n}\n\n// Pass in multiple mocked responses, so that you can test flows that end up\n// making multiple queries to the server.\n// NOTE: The last arg can optionally be an `addTypename` arg.\nexport function mockSingleLink(...mockedResponses: Array<any>): MockApolloLink {\n // To pull off the potential typename. If this isn't a boolean, we'll just\n // set it true later.\n let maybeTypename = mockedResponses[mockedResponses.length - 1];\n let mocks = mockedResponses.slice(0, mockedResponses.length - 1);\n\n if (typeof maybeTypename !== \"boolean\") {\n mocks = mockedResponses;\n maybeTypename = true;\n }\n\n return new MockLink(mocks, maybeTypename);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.cjs","sources":["../../version.js","maybe.js","global.js","../common/makeUniqueId.js","../common/stringifyForDisplay.js","invariantWrappers.js","index.js"],"sourcesContent":["export var version = \"3.
|
|
1
|
+
{"version":3,"file":"globals.cjs","sources":["../../version.js","maybe.js","global.js","../common/makeUniqueId.js","../common/stringifyForDisplay.js","invariantWrappers.js","index.js"],"sourcesContent":["export var version = \"3.9.0-alpha.1\";\n//# sourceMappingURL=version.js.map","export function maybe(thunk) {\n try {\n return thunk();\n }\n catch (_a) { }\n}\n//# sourceMappingURL=maybe.js.map","import { maybe } from \"./maybe.js\";\nexport default (maybe(function () { return globalThis; }) ||\n maybe(function () { return window; }) ||\n maybe(function () { return self; }) ||\n maybe(function () { return global; }) || maybe(function () {\n return maybe.constructor(\"return this\")();\n}));\n//# sourceMappingURL=global.js.map","var prefixCounts = new Map();\nexport function makeUniqueId(prefix) {\n var count = prefixCounts.get(prefix) || 1;\n prefixCounts.set(prefix, count + 1);\n return \"\".concat(prefix, \":\").concat(count, \":\").concat(Math.random().toString(36).slice(2));\n}\n//# sourceMappingURL=makeUniqueId.js.map","import { makeUniqueId } from \"./makeUniqueId.js\";\nexport function stringifyForDisplay(value, space) {\n if (space === void 0) { space = 0; }\n var undefId = makeUniqueId(\"stringifyForDisplay\");\n return JSON.stringify(value, function (key, value) {\n return value === void 0 ? undefId : value;\n }, space)\n .split(JSON.stringify(undefId))\n .join(\"<undefined>\");\n}\n//# sourceMappingURL=stringifyForDisplay.js.map","import { __spreadArray } from \"tslib\";\nimport { invariant as originalInvariant, InvariantError } from \"ts-invariant\";\nimport { version } from \"../../version.js\";\nimport global from \"./global.js\";\nimport { stringifyForDisplay } from \"../common/stringifyForDisplay.js\";\nfunction wrap(fn) {\n return function (message) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (typeof message === \"number\") {\n fn(getErrorMsg(message, args));\n }\n else {\n fn.apply(void 0, __spreadArray([message], args, false));\n }\n };\n}\nvar invariant = Object.assign(function invariant(condition, message) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (!condition) {\n originalInvariant(condition, getErrorMsg(message, args));\n }\n}, {\n debug: wrap(originalInvariant.debug),\n log: wrap(originalInvariant.log),\n warn: wrap(originalInvariant.warn),\n error: wrap(originalInvariant.error),\n});\nfunction newInvariantError(message) {\n var optionalParams = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n optionalParams[_i - 1] = arguments[_i];\n }\n return new InvariantError(getErrorMsg(message, optionalParams));\n}\nvar ApolloErrorMessageHandler = Symbol.for(\"ApolloErrorMessageHandler_\" + version);\nfunction getErrorMsg(message, messageArgs) {\n if (messageArgs === void 0) { messageArgs = []; }\n if (!message)\n return;\n var args = messageArgs.map(function (arg) {\n return typeof arg == \"string\" ? arg : stringifyForDisplay(arg, 2).slice(0, 1000);\n });\n return ((global[ApolloErrorMessageHandler] &&\n global[ApolloErrorMessageHandler](message, args)) ||\n \"An error occurred! For more details, see the full error text at https://go.apollo.dev/c/err#\".concat(encodeURIComponent(JSON.stringify({\n version: version,\n message: message,\n args: args,\n }))));\n}\nexport { invariant, InvariantError, newInvariantError, ApolloErrorMessageHandler, };\n//# sourceMappingURL=invariantWrappers.js.map","import { invariant, newInvariantError, InvariantError, } from \"./invariantWrappers.js\";\nexport { maybe } from \"./maybe.js\";\nexport { default as global } from \"./global.js\";\nexport { invariant, newInvariantError, InvariantError };\nexport var DEV = globalThis.__DEV__ !== false;\nexport { DEV as __DEV__ };\n//# sourceMappingURL=index.js.map"],"names":["__spreadArray","originalInvariant","InvariantError","global"],"mappings":"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"}
|
|
@@ -59,7 +59,7 @@ var DocumentTransform = (function () {
|
|
|
59
59
|
return;
|
|
60
60
|
var cacheKeys = this.getCacheKey(document);
|
|
61
61
|
if (cacheKeys) {
|
|
62
|
-
invariant(Array.isArray(cacheKeys),
|
|
62
|
+
invariant(Array.isArray(cacheKeys), 64);
|
|
63
63
|
return this.stableCacheKeys.lookupArray(cacheKeys);
|
|
64
64
|
}
|
|
65
65
|
};
|
|
@@ -11,7 +11,7 @@ export function shouldInclude(_a, variables) {
|
|
|
11
11
|
if (ifArgument.value.kind === "Variable") {
|
|
12
12
|
evaledValue =
|
|
13
13
|
variables && variables[ifArgument.value.name.value];
|
|
14
|
-
invariant(evaledValue !== void 0,
|
|
14
|
+
invariant(evaledValue !== void 0, 65, directive.name.value);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
17
|
evaledValue = ifArgument.value.value;
|
|
@@ -61,12 +61,12 @@ export function getInclusionDirectives(directives) {
|
|
|
61
61
|
return;
|
|
62
62
|
var directiveArguments = directive.arguments;
|
|
63
63
|
var directiveName = directive.name.value;
|
|
64
|
-
invariant(directiveArguments && directiveArguments.length === 1,
|
|
64
|
+
invariant(directiveArguments && directiveArguments.length === 1, 66, directiveName);
|
|
65
65
|
var ifArgument = directiveArguments[0];
|
|
66
|
-
invariant(ifArgument.name && ifArgument.name.value === "if",
|
|
66
|
+
invariant(ifArgument.name && ifArgument.name.value === "if", 67, directiveName);
|
|
67
67
|
var ifValue = ifArgument.value;
|
|
68
68
|
invariant(ifValue &&
|
|
69
|
-
(ifValue.kind === "Variable" || ifValue.kind === "BooleanValue"),
|
|
69
|
+
(ifValue.kind === "Variable" || ifValue.kind === "BooleanValue"), 68, directiveName);
|
|
70
70
|
result.push({ directive: directive, ifArgument: ifArgument });
|
|
71
71
|
});
|
|
72
72
|
}
|
|
@@ -6,7 +6,7 @@ export function getFragmentQueryDocument(document, fragmentName) {
|
|
|
6
6
|
document.definitions.forEach(function (definition) {
|
|
7
7
|
if (definition.kind === "OperationDefinition") {
|
|
8
8
|
throw newInvariantError(
|
|
9
|
-
|
|
9
|
+
69,
|
|
10
10
|
definition.operation,
|
|
11
11
|
definition.name ? " named '".concat(definition.name.value, "'") : ""
|
|
12
12
|
);
|
|
@@ -16,7 +16,7 @@ export function getFragmentQueryDocument(document, fragmentName) {
|
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
if (typeof actualFragmentName === "undefined") {
|
|
19
|
-
invariant(fragments.length === 1,
|
|
19
|
+
invariant(fragments.length === 1, 70, fragments.length);
|
|
20
20
|
actualFragmentName = fragments[0].name.value;
|
|
21
21
|
}
|
|
22
22
|
var query = __assign(__assign({}, document), { definitions: __spreadArray([
|
|
@@ -57,7 +57,7 @@ export function getFragmentFromSelection(selection, fragmentMap) {
|
|
|
57
57
|
return fragmentMap(fragmentName);
|
|
58
58
|
}
|
|
59
59
|
var fragment = fragmentMap && fragmentMap[fragmentName];
|
|
60
|
-
invariant(fragment,
|
|
60
|
+
invariant(fragment, 71, fragmentName);
|
|
61
61
|
return fragment || null;
|
|
62
62
|
}
|
|
63
63
|
default:
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { invariant, newInvariantError } from "../globals/index.js";
|
|
2
2
|
import { valueToObjectRepresentation } from "./storeUtils.js";
|
|
3
3
|
export function checkDocument(doc) {
|
|
4
|
-
invariant(doc && doc.kind === "Document",
|
|
4
|
+
invariant(doc && doc.kind === "Document", 72);
|
|
5
5
|
var operations = doc.definitions
|
|
6
6
|
.filter(function (d) { return d.kind !== "FragmentDefinition"; })
|
|
7
7
|
.map(function (definition) {
|
|
8
8
|
if (definition.kind !== "OperationDefinition") {
|
|
9
|
-
throw newInvariantError(
|
|
9
|
+
throw newInvariantError(73, definition.kind);
|
|
10
10
|
}
|
|
11
11
|
return definition;
|
|
12
12
|
});
|
|
13
|
-
invariant(operations.length <= 1,
|
|
13
|
+
invariant(operations.length <= 1, 74, operations.length);
|
|
14
14
|
return doc;
|
|
15
15
|
}
|
|
16
16
|
export function getOperationDefinition(doc) {
|
|
@@ -33,14 +33,14 @@ export function getFragmentDefinitions(doc) {
|
|
|
33
33
|
}
|
|
34
34
|
export function getQueryDefinition(doc) {
|
|
35
35
|
var queryDef = getOperationDefinition(doc);
|
|
36
|
-
invariant(queryDef && queryDef.operation === "query",
|
|
36
|
+
invariant(queryDef && queryDef.operation === "query", 75);
|
|
37
37
|
return queryDef;
|
|
38
38
|
}
|
|
39
39
|
export function getFragmentDefinition(doc) {
|
|
40
|
-
invariant(doc.kind === "Document",
|
|
41
|
-
invariant(doc.definitions.length <= 1,
|
|
40
|
+
invariant(doc.kind === "Document", 76);
|
|
41
|
+
invariant(doc.definitions.length <= 1, 77);
|
|
42
42
|
var fragmentDef = doc.definitions[0];
|
|
43
|
-
invariant(fragmentDef.kind === "FragmentDefinition",
|
|
43
|
+
invariant(fragmentDef.kind === "FragmentDefinition", 78);
|
|
44
44
|
return fragmentDef;
|
|
45
45
|
}
|
|
46
46
|
export function getMainDefinition(queryDoc) {
|
|
@@ -63,7 +63,7 @@ export function getMainDefinition(queryDoc) {
|
|
|
63
63
|
if (fragmentDefinition) {
|
|
64
64
|
return fragmentDefinition;
|
|
65
65
|
}
|
|
66
|
-
throw newInvariantError(
|
|
66
|
+
throw newInvariantError(79);
|
|
67
67
|
}
|
|
68
68
|
export function getDefaultValues(definition) {
|
|
69
69
|
var defaultValues = Object.create(null);
|
|
@@ -71,7 +71,7 @@ export function valueToObjectRepresentation(argObj, name, value, variables) {
|
|
|
71
71
|
argObj[name.value] = null;
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
|
-
throw newInvariantError(
|
|
74
|
+
throw newInvariantError(80, name.value, value.kind);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
export function storeKeyNameFromField(field, variables) {
|
|
@@ -78,7 +78,7 @@ export function removeDirectivesFromDocument(directives, doc) {
|
|
|
78
78
|
return getInUseByFragmentName(ancestor.name.value);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
globalThis.__DEV__ !== false && invariant.error(
|
|
81
|
+
globalThis.__DEV__ !== false && invariant.error(81);
|
|
82
82
|
return null;
|
|
83
83
|
};
|
|
84
84
|
var operationCount = 0;
|
|
@@ -265,7 +265,7 @@ var connectionRemoveConfig = {
|
|
|
265
265
|
if (willRemove) {
|
|
266
266
|
if (!directive.arguments ||
|
|
267
267
|
!directive.arguments.some(function (arg) { return arg.name.value === "key"; })) {
|
|
268
|
-
globalThis.__DEV__ !== false && invariant.warn(
|
|
268
|
+
globalThis.__DEV__ !== false && invariant.warn(82);
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
return willRemove;
|
package/utilities/utilities.cjs
CHANGED
|
@@ -20,7 +20,7 @@ function shouldInclude(_a, variables) {
|
|
|
20
20
|
if (ifArgument.value.kind === "Variable") {
|
|
21
21
|
evaledValue =
|
|
22
22
|
variables && variables[ifArgument.value.name.value];
|
|
23
|
-
globals.invariant(evaledValue !== void 0,
|
|
23
|
+
globals.invariant(evaledValue !== void 0, 65, directive.name.value);
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
26
|
evaledValue = ifArgument.value.value;
|
|
@@ -70,12 +70,12 @@ function getInclusionDirectives(directives) {
|
|
|
70
70
|
return;
|
|
71
71
|
var directiveArguments = directive.arguments;
|
|
72
72
|
var directiveName = directive.name.value;
|
|
73
|
-
globals.invariant(directiveArguments && directiveArguments.length === 1,
|
|
73
|
+
globals.invariant(directiveArguments && directiveArguments.length === 1, 66, directiveName);
|
|
74
74
|
var ifArgument = directiveArguments[0];
|
|
75
|
-
globals.invariant(ifArgument.name && ifArgument.name.value === "if",
|
|
75
|
+
globals.invariant(ifArgument.name && ifArgument.name.value === "if", 67, directiveName);
|
|
76
76
|
var ifValue = ifArgument.value;
|
|
77
77
|
globals.invariant(ifValue &&
|
|
78
|
-
(ifValue.kind === "Variable" || ifValue.kind === "BooleanValue"),
|
|
78
|
+
(ifValue.kind === "Variable" || ifValue.kind === "BooleanValue"), 68, directiveName);
|
|
79
79
|
result.push({ directive: directive, ifArgument: ifArgument });
|
|
80
80
|
});
|
|
81
81
|
}
|
|
@@ -107,7 +107,7 @@ function getFragmentQueryDocument(document, fragmentName) {
|
|
|
107
107
|
document.definitions.forEach(function (definition) {
|
|
108
108
|
if (definition.kind === "OperationDefinition") {
|
|
109
109
|
throw globals.newInvariantError(
|
|
110
|
-
|
|
110
|
+
69,
|
|
111
111
|
definition.operation,
|
|
112
112
|
definition.name ? " named '".concat(definition.name.value, "'") : ""
|
|
113
113
|
);
|
|
@@ -117,7 +117,7 @@ function getFragmentQueryDocument(document, fragmentName) {
|
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
if (typeof actualFragmentName === "undefined") {
|
|
120
|
-
globals.invariant(fragments.length === 1,
|
|
120
|
+
globals.invariant(fragments.length === 1, 70, fragments.length);
|
|
121
121
|
actualFragmentName = fragments[0].name.value;
|
|
122
122
|
}
|
|
123
123
|
var query = tslib.__assign(tslib.__assign({}, document), { definitions: tslib.__spreadArray([
|
|
@@ -158,7 +158,7 @@ function getFragmentFromSelection(selection, fragmentMap) {
|
|
|
158
158
|
return fragmentMap(fragmentName);
|
|
159
159
|
}
|
|
160
160
|
var fragment = fragmentMap && fragmentMap[fragmentName];
|
|
161
|
-
globals.invariant(fragment,
|
|
161
|
+
globals.invariant(fragment, 71, fragmentName);
|
|
162
162
|
return fragment || null;
|
|
163
163
|
}
|
|
164
164
|
default:
|
|
@@ -236,7 +236,7 @@ function valueToObjectRepresentation(argObj, name, value, variables) {
|
|
|
236
236
|
argObj[name.value] = null;
|
|
237
237
|
}
|
|
238
238
|
else {
|
|
239
|
-
throw globals.newInvariantError(
|
|
239
|
+
throw globals.newInvariantError(80, name.value, value.kind);
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
242
|
function storeKeyNameFromField(field, variables) {
|
|
@@ -383,16 +383,16 @@ function isInlineFragment(selection) {
|
|
|
383
383
|
}
|
|
384
384
|
|
|
385
385
|
function checkDocument(doc) {
|
|
386
|
-
globals.invariant(doc && doc.kind === "Document",
|
|
386
|
+
globals.invariant(doc && doc.kind === "Document", 72);
|
|
387
387
|
var operations = doc.definitions
|
|
388
388
|
.filter(function (d) { return d.kind !== "FragmentDefinition"; })
|
|
389
389
|
.map(function (definition) {
|
|
390
390
|
if (definition.kind !== "OperationDefinition") {
|
|
391
|
-
throw globals.newInvariantError(
|
|
391
|
+
throw globals.newInvariantError(73, definition.kind);
|
|
392
392
|
}
|
|
393
393
|
return definition;
|
|
394
394
|
});
|
|
395
|
-
globals.invariant(operations.length <= 1,
|
|
395
|
+
globals.invariant(operations.length <= 1, 74, operations.length);
|
|
396
396
|
return doc;
|
|
397
397
|
}
|
|
398
398
|
function getOperationDefinition(doc) {
|
|
@@ -415,14 +415,14 @@ function getFragmentDefinitions(doc) {
|
|
|
415
415
|
}
|
|
416
416
|
function getQueryDefinition(doc) {
|
|
417
417
|
var queryDef = getOperationDefinition(doc);
|
|
418
|
-
globals.invariant(queryDef && queryDef.operation === "query",
|
|
418
|
+
globals.invariant(queryDef && queryDef.operation === "query", 75);
|
|
419
419
|
return queryDef;
|
|
420
420
|
}
|
|
421
421
|
function getFragmentDefinition(doc) {
|
|
422
|
-
globals.invariant(doc.kind === "Document",
|
|
423
|
-
globals.invariant(doc.definitions.length <= 1,
|
|
422
|
+
globals.invariant(doc.kind === "Document", 76);
|
|
423
|
+
globals.invariant(doc.definitions.length <= 1, 77);
|
|
424
424
|
var fragmentDef = doc.definitions[0];
|
|
425
|
-
globals.invariant(fragmentDef.kind === "FragmentDefinition",
|
|
425
|
+
globals.invariant(fragmentDef.kind === "FragmentDefinition", 78);
|
|
426
426
|
return fragmentDef;
|
|
427
427
|
}
|
|
428
428
|
function getMainDefinition(queryDoc) {
|
|
@@ -445,7 +445,7 @@ function getMainDefinition(queryDoc) {
|
|
|
445
445
|
if (fragmentDefinition) {
|
|
446
446
|
return fragmentDefinition;
|
|
447
447
|
}
|
|
448
|
-
throw globals.newInvariantError(
|
|
448
|
+
throw globals.newInvariantError(79);
|
|
449
449
|
}
|
|
450
450
|
function getDefaultValues(definition) {
|
|
451
451
|
var defaultValues = Object.create(null);
|
|
@@ -517,7 +517,7 @@ var DocumentTransform = (function () {
|
|
|
517
517
|
return;
|
|
518
518
|
var cacheKeys = this.getCacheKey(document);
|
|
519
519
|
if (cacheKeys) {
|
|
520
|
-
globals.invariant(Array.isArray(cacheKeys),
|
|
520
|
+
globals.invariant(Array.isArray(cacheKeys), 64);
|
|
521
521
|
return this.stableCacheKeys.lookupArray(cacheKeys);
|
|
522
522
|
}
|
|
523
523
|
};
|
|
@@ -613,7 +613,7 @@ function removeDirectivesFromDocument(directives, doc) {
|
|
|
613
613
|
return getInUseByFragmentName(ancestor.name.value);
|
|
614
614
|
}
|
|
615
615
|
}
|
|
616
|
-
globalThis.__DEV__ !== false && globals.invariant.error(
|
|
616
|
+
globalThis.__DEV__ !== false && globals.invariant.error(81);
|
|
617
617
|
return null;
|
|
618
618
|
};
|
|
619
619
|
var operationCount = 0;
|
|
@@ -800,7 +800,7 @@ var connectionRemoveConfig = {
|
|
|
800
800
|
if (willRemove) {
|
|
801
801
|
if (!directive.arguments ||
|
|
802
802
|
!directive.arguments.some(function (arg) { return arg.name.value === "key"; })) {
|
|
803
|
-
globalThis.__DEV__ !== false && globals.invariant.warn(
|
|
803
|
+
globalThis.__DEV__ !== false && globals.invariant.warn(82);
|
|
804
804
|
}
|
|
805
805
|
}
|
|
806
806
|
return willRemove;
|