@apollo/client 4.3.2 → 4.3.3
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/CHANGELOG.md +6 -0
- package/__cjs/utilities/internal/isDeferredFragment.cjs +24 -26
- package/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -1
- package/__cjs/utilities/internal/isDeferredFragment.d.cts +1 -1
- package/__cjs/utilities/internal/isStreamField.cjs +24 -20
- package/__cjs/utilities/internal/isStreamField.cjs.map +1 -1
- package/__cjs/utilities/internal/isStreamField.d.cts +1 -1
- package/__cjs/version.cjs +1 -1
- package/package.json +1 -1
- package/utilities/internal/isDeferredFragment.d.ts +1 -1
- package/utilities/internal/isDeferredFragment.js +23 -25
- package/utilities/internal/isDeferredFragment.js.map +1 -1
- package/utilities/internal/isStreamField.d.ts +1 -1
- package/utilities/internal/isStreamField.js +23 -19
- package/utilities/internal/isStreamField.js.map +1 -1
- package/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @apollo/client
|
|
2
2
|
|
|
3
|
+
## 4.3.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#13479](https://github.com/apollographql/apollo-client/pull/13479) [`0ab2579`](https://github.com/apollographql/apollo-client/commit/0ab25794ad88a2f7755323c5218ae64f933f287f) Thanks [@phryneas](https://github.com/phryneas)! - Fix a memory leak in `isDeferredFragment`/`isStreamField`
|
|
8
|
+
|
|
3
9
|
## 4.3.2
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -1,38 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDeferredFragment =
|
|
3
|
+
exports.isDeferredFragment = isDeferredFragment;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
const sizes_js_1 = require("../caching/sizes.cjs");
|
|
6
|
-
const canonicalStringify_js_1 = require("./canonicalStringify.cjs");
|
|
7
6
|
const memoize_js_1 = require("./memoize.cjs");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
switch (arg.value.kind) {
|
|
21
|
-
case graphql_1.Kind.BOOLEAN:
|
|
22
|
-
return arg.value.value;
|
|
23
|
-
case graphql_1.Kind.VARIABLE:
|
|
24
|
-
return !!variables?.[arg.value.name.value];
|
|
25
|
-
}
|
|
7
|
+
const memoized = (0, memoize_js_1.memoize)(function (fragmentSelection) {
|
|
8
|
+
const directive = fragmentSelection.directives?.find((directive) => directive.name.value === "defer");
|
|
9
|
+
if (!directive)
|
|
10
|
+
return false;
|
|
11
|
+
for (const arg of directive.arguments ?? []) {
|
|
12
|
+
if (arg.name.value === "if") {
|
|
13
|
+
switch (arg.value.kind) {
|
|
14
|
+
case graphql_1.Kind.BOOLEAN:
|
|
15
|
+
return arg.value.value;
|
|
16
|
+
case graphql_1.Kind.VARIABLE:
|
|
17
|
+
const varName = arg.value.name.value;
|
|
18
|
+
return (variables) => !!variables?.[varName];
|
|
26
19
|
}
|
|
27
20
|
}
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
30
23
|
}, {
|
|
31
24
|
max: sizes_js_1.cacheSizes["isDeferredFragment"] ||
|
|
32
25
|
2000 /* defaultCacheSizes["isDeferredFragment"] */,
|
|
33
|
-
makeCacheKey: ([selection, variables]) => [
|
|
34
|
-
selection,
|
|
35
|
-
(0, canonicalStringify_js_1.canonicalStringify)(variables),
|
|
36
|
-
],
|
|
37
26
|
});
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*
|
|
30
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
31
|
+
*/
|
|
32
|
+
function isDeferredFragment(fragmentSelection, variables) {
|
|
33
|
+
const result = memoized(fragmentSelection);
|
|
34
|
+
return typeof result === "function" ? result(variables) : result;
|
|
35
|
+
}
|
|
38
36
|
//# sourceMappingURL=isDeferredFragment.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isDeferredFragment.cjs","sources":["../../../../src/utilities/internal/isDeferredFragment.ts"],"sourcesContent":["import type { FragmentSpreadNode, InlineFragmentNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"isDeferredFragment.cjs","sources":["../../../../src/utilities/internal/isDeferredFragment.ts"],"sourcesContent":["import type { FragmentSpreadNode, InlineFragmentNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport { memoize } from \"./memoize.js\";\n\nconst memoized = memoize(\n function (\n fragmentSelection: InlineFragmentNode | FragmentSpreadNode\n ): boolean | ((variables: OperationVariables | undefined) => boolean) {\n const directive = fragmentSelection.directives?.find(\n (directive) => directive.name.value === \"defer\"\n );\n if (!directive) return false;\n\n for (const arg of directive.arguments ?? []) {\n if (arg.name.value === \"if\") {\n switch (arg.value.kind) {\n case Kind.BOOLEAN:\n return arg.value.value;\n case Kind.VARIABLE:\n const varName = arg.value.name.value;\n return (variables) => !!variables?.[varName];\n }\n }\n }\n\n return true;\n },\n {\n max:\n cacheSizes[\"isDeferredFragment\"] ||\n defaultCacheSizes[\"isDeferredFragment\"],\n }\n);\n\n/** @internal */\nexport function isDeferredFragment(\n fragmentSelection: InlineFragmentNode | FragmentSpreadNode,\n variables: OperationVariables | undefined\n): boolean {\n const result = memoized(fragmentSelection);\n return typeof result === \"function\" ? result(variables) : result;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@ import type { OperationVariables } from "@apollo/client";
|
|
|
5
5
|
*
|
|
6
6
|
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare function isDeferredFragment(fragmentSelection: InlineFragmentNode | FragmentSpreadNode, variables: OperationVariables | undefined): boolean;
|
|
9
9
|
//# sourceMappingURL=isDeferredFragment.d.cts.map
|
|
@@ -1,37 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isStreamField =
|
|
3
|
+
exports.isStreamField = isStreamField;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
const sizes_js_1 = require("../caching/sizes.cjs");
|
|
6
|
-
const canonicalStringify_js_1 = require("./canonicalStringify.cjs");
|
|
7
6
|
const memoize_js_1 = require("./memoize.cjs");
|
|
8
7
|
/**
|
|
9
8
|
* @internal
|
|
10
9
|
*
|
|
11
10
|
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
12
11
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
const memoized = (0, memoize_js_1.memoize)(function (field) {
|
|
13
|
+
const directive = field.directives?.find((directive) => directive.name.value === "stream");
|
|
14
|
+
if (!directive)
|
|
15
|
+
return false;
|
|
16
|
+
for (const arg of directive.arguments ?? []) {
|
|
17
|
+
if (arg.name.value === "if") {
|
|
18
|
+
switch (arg.value.kind) {
|
|
19
|
+
case graphql_1.Kind.BOOLEAN:
|
|
20
|
+
return arg.value.value;
|
|
21
|
+
case graphql_1.Kind.VARIABLE: {
|
|
22
|
+
const varName = arg.value.name.value;
|
|
23
|
+
return (variables) => !!variables?.[varName];
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
30
29
|
}, {
|
|
31
30
|
max: sizes_js_1.cacheSizes["isStreamField"] || 2000 /* defaultCacheSizes["isStreamField"] */,
|
|
32
|
-
makeCacheKey: ([selection, variables]) => [
|
|
33
|
-
selection,
|
|
34
|
-
(0, canonicalStringify_js_1.canonicalStringify)(variables),
|
|
35
|
-
],
|
|
36
31
|
});
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
*
|
|
35
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
36
|
+
*/
|
|
37
|
+
function isStreamField(field, variables) {
|
|
38
|
+
const result = memoized(field);
|
|
39
|
+
return typeof result === "function" ? result(variables) : result;
|
|
40
|
+
}
|
|
37
41
|
//# sourceMappingURL=isStreamField.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isStreamField.cjs","sources":["../../../../src/utilities/internal/isStreamField.ts"],"sourcesContent":["import type { FieldNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"isStreamField.cjs","sources":["../../../../src/utilities/internal/isStreamField.ts"],"sourcesContent":["import type { FieldNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport { memoize } from \"./memoize.js\";\n\n/** @internal */\nconst memoized = memoize(\n function (\n field: FieldNode\n ): boolean | ((variables: OperationVariables | undefined) => boolean) {\n const directive = field.directives?.find(\n (directive) => directive.name.value === \"stream\"\n );\n if (!directive) return false;\n\n for (const arg of directive.arguments ?? []) {\n if (arg.name.value === \"if\") {\n switch (arg.value.kind) {\n case Kind.BOOLEAN:\n return arg.value.value;\n case Kind.VARIABLE: {\n const varName = arg.value.name.value;\n return (variables) => !!variables?.[varName];\n }\n }\n }\n }\n\n return true;\n },\n {\n max: cacheSizes[\"isStreamField\"] || defaultCacheSizes[\"isStreamField\"],\n }\n);\n\n/** @internal */\nexport function isStreamField(\n field: FieldNode,\n variables: OperationVariables | undefined\n): boolean {\n const result = memoized(field);\n return typeof result === \"function\" ? result(variables) : result;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@ import type { OperationVariables } from "@apollo/client";
|
|
|
5
5
|
*
|
|
6
6
|
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare function isStreamField(field: FieldNode, variables: OperationVariables | undefined): boolean;
|
|
9
9
|
//# sourceMappingURL=isStreamField.d.cts.map
|
package/__cjs/version.cjs
CHANGED
package/package.json
CHANGED
|
@@ -5,5 +5,5 @@ import type { OperationVariables } from "@apollo/client";
|
|
|
5
5
|
*
|
|
6
6
|
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare function isDeferredFragment(fragmentSelection: InlineFragmentNode | FragmentSpreadNode, variables: OperationVariables | undefined): boolean;
|
|
9
9
|
//# sourceMappingURL=isDeferredFragment.d.ts.map
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
import { Kind } from "graphql";
|
|
2
2
|
import { cacheSizes } from "../caching/sizes.js";
|
|
3
|
-
import { canonicalStringify } from "./canonicalStringify.js";
|
|
4
3
|
import { memoize } from "./memoize.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
switch (arg.value.kind) {
|
|
18
|
-
case Kind.BOOLEAN:
|
|
19
|
-
return arg.value.value;
|
|
20
|
-
case Kind.VARIABLE:
|
|
21
|
-
return !!variables?.[arg.value.name.value];
|
|
22
|
-
}
|
|
4
|
+
const memoized = memoize(function (fragmentSelection) {
|
|
5
|
+
const directive = fragmentSelection.directives?.find((directive) => directive.name.value === "defer");
|
|
6
|
+
if (!directive)
|
|
7
|
+
return false;
|
|
8
|
+
for (const arg of directive.arguments ?? []) {
|
|
9
|
+
if (arg.name.value === "if") {
|
|
10
|
+
switch (arg.value.kind) {
|
|
11
|
+
case Kind.BOOLEAN:
|
|
12
|
+
return arg.value.value;
|
|
13
|
+
case Kind.VARIABLE:
|
|
14
|
+
const varName = arg.value.name.value;
|
|
15
|
+
return (variables) => !!variables?.[varName];
|
|
23
16
|
}
|
|
24
17
|
}
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
}
|
|
19
|
+
return true;
|
|
27
20
|
}, {
|
|
28
21
|
max: cacheSizes["isDeferredFragment"] ||
|
|
29
22
|
2000 /* defaultCacheSizes["isDeferredFragment"] */,
|
|
30
|
-
makeCacheKey: ([selection, variables]) => [
|
|
31
|
-
selection,
|
|
32
|
-
canonicalStringify(variables),
|
|
33
|
-
],
|
|
34
23
|
});
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*
|
|
27
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
28
|
+
*/
|
|
29
|
+
export function isDeferredFragment(fragmentSelection, variables) {
|
|
30
|
+
const result = memoized(fragmentSelection);
|
|
31
|
+
return typeof result === "function" ? result(variables) : result;
|
|
32
|
+
}
|
|
35
33
|
//# sourceMappingURL=isDeferredFragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isDeferredFragment.js","sources":["../../../src/utilities/internal/isDeferredFragment.ts"],"sourcesContent":["import type { FragmentSpreadNode, InlineFragmentNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"isDeferredFragment.js","sources":["../../../src/utilities/internal/isDeferredFragment.ts"],"sourcesContent":["import type { FragmentSpreadNode, InlineFragmentNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport { memoize } from \"./memoize.js\";\n\nconst memoized = memoize(\n function (\n fragmentSelection: InlineFragmentNode | FragmentSpreadNode\n ): boolean | ((variables: OperationVariables | undefined) => boolean) {\n const directive = fragmentSelection.directives?.find(\n (directive) => directive.name.value === \"defer\"\n );\n if (!directive) return false;\n\n for (const arg of directive.arguments ?? []) {\n if (arg.name.value === \"if\") {\n switch (arg.value.kind) {\n case Kind.BOOLEAN:\n return arg.value.value;\n case Kind.VARIABLE:\n const varName = arg.value.name.value;\n return (variables) => !!variables?.[varName];\n }\n }\n }\n\n return true;\n },\n {\n max:\n cacheSizes[\"isDeferredFragment\"] ||\n defaultCacheSizes[\"isDeferredFragment\"],\n }\n);\n\n/** @internal */\nexport function isDeferredFragment(\n fragmentSelection: InlineFragmentNode | FragmentSpreadNode,\n variables: OperationVariables | undefined\n): boolean {\n const result = memoized(fragmentSelection);\n return typeof result === \"function\" ? result(variables) : result;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@ import type { OperationVariables } from "@apollo/client";
|
|
|
5
5
|
*
|
|
6
6
|
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare function isStreamField(field: FieldNode, variables: OperationVariables | undefined): boolean;
|
|
9
9
|
//# sourceMappingURL=isStreamField.d.ts.map
|
|
@@ -1,34 +1,38 @@
|
|
|
1
1
|
import { Kind } from "graphql";
|
|
2
2
|
import { cacheSizes } from "../caching/sizes.js";
|
|
3
|
-
import { canonicalStringify } from "./canonicalStringify.js";
|
|
4
3
|
import { memoize } from "./memoize.js";
|
|
5
4
|
/**
|
|
6
5
|
* @internal
|
|
7
6
|
*
|
|
8
7
|
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
const memoized = memoize(function (field) {
|
|
10
|
+
const directive = field.directives?.find((directive) => directive.name.value === "stream");
|
|
11
|
+
if (!directive)
|
|
12
|
+
return false;
|
|
13
|
+
for (const arg of directive.arguments ?? []) {
|
|
14
|
+
if (arg.name.value === "if") {
|
|
15
|
+
switch (arg.value.kind) {
|
|
16
|
+
case Kind.BOOLEAN:
|
|
17
|
+
return arg.value.value;
|
|
18
|
+
case Kind.VARIABLE: {
|
|
19
|
+
const varName = arg.value.name.value;
|
|
20
|
+
return (variables) => !!variables?.[varName];
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
27
26
|
}, {
|
|
28
27
|
max: cacheSizes["isStreamField"] || 2000 /* defaultCacheSizes["isStreamField"] */,
|
|
29
|
-
makeCacheKey: ([selection, variables]) => [
|
|
30
|
-
selection,
|
|
31
|
-
canonicalStringify(variables),
|
|
32
|
-
],
|
|
33
28
|
});
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*
|
|
32
|
+
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
33
|
+
*/
|
|
34
|
+
export function isStreamField(field, variables) {
|
|
35
|
+
const result = memoized(field);
|
|
36
|
+
return typeof result === "function" ? result(variables) : result;
|
|
37
|
+
}
|
|
34
38
|
//# sourceMappingURL=isStreamField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isStreamField.js","sources":["../../../src/utilities/internal/isStreamField.ts"],"sourcesContent":["import type { FieldNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"isStreamField.js","sources":["../../../src/utilities/internal/isStreamField.ts"],"sourcesContent":["import type { FieldNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { OperationVariables } from \"@apollo/client\";\n\nimport { cacheSizes, defaultCacheSizes } from \"../caching/sizes.js\";\n\nimport { memoize } from \"./memoize.js\";\n\n/** @internal */\nconst memoized = memoize(\n function (\n field: FieldNode\n ): boolean | ((variables: OperationVariables | undefined) => boolean) {\n const directive = field.directives?.find(\n (directive) => directive.name.value === \"stream\"\n );\n if (!directive) return false;\n\n for (const arg of directive.arguments ?? []) {\n if (arg.name.value === \"if\") {\n switch (arg.value.kind) {\n case Kind.BOOLEAN:\n return arg.value.value;\n case Kind.VARIABLE: {\n const varName = arg.value.name.value;\n return (variables) => !!variables?.[varName];\n }\n }\n }\n }\n\n return true;\n },\n {\n max: cacheSizes[\"isStreamField\"] || defaultCacheSizes[\"isStreamField\"],\n }\n);\n\n/** @internal */\nexport function isStreamField(\n field: FieldNode,\n variables: OperationVariables | undefined\n): boolean {\n const result = memoized(field);\n return typeof result === \"function\" ? result(variables) : result;\n}\n"],"names":[],"mappings":"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"}
|
package/version.js
CHANGED