@isograph/react 0.4.3 → 0.5.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/.turbo/turbo-compile-libs.log +10 -3
- package/dist/_virtual/rolldown_runtime.js +25 -0
- package/dist/core/FragmentReference.d.mts +38 -0
- package/dist/core/FragmentReference.d.mts.map +1 -0
- package/dist/core/FragmentReference.d.ts +31 -27
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/FragmentReference.js +8 -6
- package/dist/core/FragmentReference.mjs +10 -0
- package/dist/core/FragmentReference.mjs.map +1 -0
- package/dist/core/IsographEnvironment.d.mts +89 -0
- package/dist/core/IsographEnvironment.d.mts.map +1 -0
- package/dist/core/IsographEnvironment.d.ts +77 -72
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.js +62 -59
- package/dist/core/IsographEnvironment.mjs +67 -0
- package/dist/core/IsographEnvironment.mjs.map +1 -0
- package/dist/core/PromiseWrapper.d.mts +36 -0
- package/dist/core/PromiseWrapper.d.mts.map +1 -0
- package/dist/core/PromiseWrapper.d.ts +27 -18
- package/dist/core/PromiseWrapper.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.js +45 -43
- package/dist/core/PromiseWrapper.mjs +49 -0
- package/dist/core/PromiseWrapper.mjs.map +1 -0
- package/dist/core/areEqualWithDeepComparison.js +56 -108
- package/dist/core/areEqualWithDeepComparison.mjs +62 -0
- package/dist/core/areEqualWithDeepComparison.mjs.map +1 -0
- package/dist/core/brand.d.mts +19 -0
- package/dist/core/brand.d.mts.map +1 -0
- package/dist/core/brand.d.ts +18 -1
- package/dist/core/brand.d.ts.map +1 -1
- package/dist/core/cache.d.mts +20 -0
- package/dist/core/cache.d.mts.map +1 -0
- package/dist/core/cache.d.ts +18 -34
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +210 -516
- package/dist/core/cache.mjs +237 -0
- package/dist/core/cache.mjs.map +1 -0
- package/dist/core/check.d.mts +28 -0
- package/dist/core/check.d.mts.map +1 -0
- package/dist/core/check.d.ts +24 -18
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/check.js +80 -124
- package/dist/core/check.mjs +84 -0
- package/dist/core/check.mjs.map +1 -0
- package/dist/core/componentCache.js +10 -34
- package/dist/core/componentCache.mjs +12 -0
- package/dist/core/componentCache.mjs.map +1 -0
- package/dist/core/entrypoint.d.mts +99 -0
- package/dist/core/entrypoint.d.mts.map +1 -0
- package/dist/core/entrypoint.d.ts +83 -68
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/entrypoint.js +6 -5
- package/dist/core/entrypoint.mjs +8 -0
- package/dist/core/entrypoint.mjs.map +1 -0
- package/dist/core/garbageCollection.d.mts +18 -0
- package/dist/core/garbageCollection.d.mts.map +1 -0
- package/dist/core/garbageCollection.d.ts +15 -10
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/garbageCollection.js +82 -99
- package/dist/core/garbageCollection.mjs +89 -0
- package/dist/core/garbageCollection.mjs.map +1 -0
- package/dist/core/getOrCreateCacheForArtifact.js +37 -0
- package/dist/core/getOrCreateCacheForArtifact.mjs +38 -0
- package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -0
- package/dist/core/logging.d.mts +95 -0
- package/dist/core/logging.d.mts.map +1 -0
- package/dist/core/logging.d.ts +78 -60
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/logging.js +17 -18
- package/dist/core/logging.mjs +20 -0
- package/dist/core/logging.mjs.map +1 -0
- package/dist/core/makeNetworkRequest.d.mts +13 -0
- package/dist/core/makeNetworkRequest.d.mts.map +1 -0
- package/dist/core/makeNetworkRequest.d.ts +12 -8
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +188 -195
- package/dist/core/makeNetworkRequest.mjs +195 -0
- package/dist/core/makeNetworkRequest.mjs.map +1 -0
- package/dist/core/optimisticProxy.d.mts +43 -0
- package/dist/core/optimisticProxy.d.mts.map +1 -0
- package/dist/core/optimisticProxy.d.ts +43 -0
- package/dist/core/optimisticProxy.d.ts.map +1 -0
- package/dist/core/optimisticProxy.js +273 -0
- package/dist/core/optimisticProxy.mjs +268 -0
- package/dist/core/optimisticProxy.mjs.map +1 -0
- package/dist/core/read.d.mts +29 -0
- package/dist/core/read.d.mts.map +1 -0
- package/dist/core/read.d.ts +23 -27
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +438 -618
- package/dist/core/read.mjs +456 -0
- package/dist/core/read.mjs.map +1 -0
- package/dist/core/reader.d.mts +89 -0
- package/dist/core/reader.d.mts.map +1 -0
- package/dist/core/reader.d.ts +78 -74
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.js +118 -156
- package/dist/core/startUpdate.mjs +125 -0
- package/dist/core/startUpdate.mjs.map +1 -0
- package/dist/core/subscribe.d.mts +12 -0
- package/dist/core/subscribe.d.mts.map +1 -0
- package/dist/core/subscribe.d.ts +12 -0
- package/dist/core/subscribe.d.ts.map +1 -0
- package/dist/core/subscribe.js +79 -0
- package/dist/core/subscribe.mjs +79 -0
- package/dist/core/subscribe.mjs.map +1 -0
- package/dist/core/util.d.mts +27 -0
- package/dist/core/util.d.mts.map +1 -0
- package/dist/core/util.d.ts +21 -17
- package/dist/core/util.d.ts.map +1 -1
- package/dist/core/util.js +22 -2
- package/dist/core/util.mjs +21 -0
- package/dist/core/util.mjs.map +1 -0
- package/dist/core/writeData.d.mts +11 -0
- package/dist/core/writeData.d.mts.map +1 -0
- package/dist/core/writeData.d.ts +11 -0
- package/dist/core/writeData.d.ts.map +1 -0
- package/dist/core/writeData.js +41 -0
- package/dist/core/writeData.mjs +42 -0
- package/dist/core/writeData.mjs.map +1 -0
- package/dist/index.d.mts +32 -0
- package/dist/index.d.ts +32 -29
- package/dist/index.js +70 -68
- package/dist/index.mjs +31 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts +12 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -0
- package/dist/loadable-hooks/useClientSideDefer.d.ts +10 -8
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useClientSideDefer.js +14 -12
- package/dist/loadable-hooks/useClientSideDefer.mjs +14 -0
- package/dist/loadable-hooks/useClientSideDefer.mjs.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts +33 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +27 -21
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.js +133 -158
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs +134 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts +8 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts +6 -3
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeExposedMutationField.js +9 -12
- package/dist/loadable-hooks/useImperativeExposedMutationField.mjs +11 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.mjs.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts +19 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts +15 -11
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.js +16 -12
- package/dist/loadable-hooks/useImperativeLoadableField.mjs +17 -0
- package/dist/loadable-hooks/useImperativeLoadableField.mjs.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts +24 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +19 -15
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.js +118 -160
- package/dist/loadable-hooks/useSkipLimitPagination.mjs +119 -0
- package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -0
- package/dist/react/FragmentReader.d.mts +18 -0
- package/dist/react/FragmentReader.d.mts.map +1 -0
- package/dist/react/FragmentReader.d.ts +16 -7
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/FragmentReader.js +8 -7
- package/dist/react/FragmentReader.mjs +10 -0
- package/dist/react/FragmentReader.mjs.map +1 -0
- package/dist/react/FragmentRenderer.d.mts +20 -0
- package/dist/react/FragmentRenderer.d.mts.map +1 -0
- package/dist/react/FragmentRenderer.d.ts +18 -13
- package/dist/react/FragmentRenderer.d.ts.map +1 -1
- package/dist/react/FragmentRenderer.js +11 -33
- package/dist/react/FragmentRenderer.mjs +12 -0
- package/dist/react/FragmentRenderer.mjs.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.mts +17 -0
- package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.ts +15 -9
- package/dist/react/IsographEnvironmentProvider.d.ts.map +1 -1
- package/dist/react/IsographEnvironmentProvider.js +15 -39
- package/dist/react/IsographEnvironmentProvider.mjs +17 -0
- package/dist/react/IsographEnvironmentProvider.mjs.map +1 -0
- package/dist/react/LoadableFieldReader.d.mts +21 -0
- package/dist/react/LoadableFieldReader.d.mts.map +1 -0
- package/dist/react/LoadableFieldReader.d.ts +20 -11
- package/dist/react/LoadableFieldReader.d.ts.map +1 -1
- package/dist/react/LoadableFieldReader.js +13 -8
- package/dist/react/LoadableFieldReader.mjs +14 -0
- package/dist/react/LoadableFieldReader.mjs.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.mts +22 -0
- package/dist/react/LoadableFieldRenderer.d.mts.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.ts +21 -12
- package/dist/react/LoadableFieldRenderer.d.ts.map +1 -1
- package/dist/react/LoadableFieldRenderer.js +13 -35
- package/dist/react/LoadableFieldRenderer.mjs +14 -0
- package/dist/react/LoadableFieldRenderer.mjs.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +18 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts +11 -3
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +1 -1
- package/dist/react/RenderAfterCommit__DO_NOT_USE.js +17 -13
- package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs +18 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs.map +1 -0
- package/dist/react/createIsographEnvironment.d.mts +9 -0
- package/dist/react/createIsographEnvironment.d.mts.map +1 -0
- package/dist/react/createIsographEnvironment.d.ts +8 -0
- package/dist/react/createIsographEnvironment.d.ts.map +1 -0
- package/dist/react/createIsographEnvironment.js +10 -0
- package/dist/react/createIsographEnvironment.mjs +11 -0
- package/dist/react/createIsographEnvironment.mjs.map +1 -0
- package/dist/react/maybeUnwrapNetworkRequest.js +11 -0
- package/dist/react/maybeUnwrapNetworkRequest.mjs +12 -0
- package/dist/react/maybeUnwrapNetworkRequest.mjs.map +1 -0
- package/dist/react/useImperativeReference.d.mts +15 -0
- package/dist/react/useImperativeReference.d.mts.map +1 -0
- package/dist/react/useImperativeReference.d.ts +13 -7
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useImperativeReference.js +34 -32
- package/dist/react/useImperativeReference.mjs +35 -0
- package/dist/react/useImperativeReference.mjs.map +1 -0
- package/dist/react/useLazyReference.d.mts +13 -0
- package/dist/react/useLazyReference.d.mts.map +1 -0
- package/dist/react/useLazyReference.d.ts +11 -5
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.js +17 -40
- package/dist/react/useLazyReference.mjs +18 -0
- package/dist/react/useLazyReference.mjs.map +1 -0
- package/dist/react/useReadAndSubscribe.d.mts +20 -0
- package/dist/react/useReadAndSubscribe.d.mts.map +1 -0
- package/dist/react/useReadAndSubscribe.d.ts +14 -9
- package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.js +57 -39
- package/dist/react/useReadAndSubscribe.mjs +59 -0
- package/dist/react/useReadAndSubscribe.mjs.map +1 -0
- package/dist/react/useRerenderOnChange.d.mts +12 -0
- package/dist/react/useRerenderOnChange.d.mts.map +1 -0
- package/dist/react/useRerenderOnChange.d.ts +10 -6
- package/dist/react/useRerenderOnChange.d.ts.map +1 -1
- package/dist/react/useRerenderOnChange.js +16 -20
- package/dist/react/useRerenderOnChange.mjs +17 -0
- package/dist/react/useRerenderOnChange.mjs.map +1 -0
- package/dist/react/useResult.d.mts +8 -0
- package/dist/react/useResult.d.mts.map +1 -0
- package/dist/react/useResult.d.ts +7 -5
- package/dist/react/useResult.d.ts.map +1 -1
- package/dist/react/useResult.js +27 -39
- package/dist/react/useResult.mjs +30 -0
- package/dist/react/useResult.mjs.map +1 -0
- package/package.json +26 -19
- package/src/core/FragmentReference.ts +13 -7
- package/src/core/IsographEnvironment.ts +80 -21
- package/src/core/PromiseWrapper.ts +14 -7
- package/src/core/areEqualWithDeepComparison.ts +2 -18
- package/src/core/brand.ts +18 -0
- package/src/core/cache.ts +62 -332
- package/src/core/check.ts +30 -26
- package/src/core/componentCache.ts +11 -44
- package/src/core/entrypoint.ts +50 -9
- package/src/core/garbageCollection.ts +81 -28
- package/src/core/getOrCreateCacheForArtifact.ts +86 -0
- package/src/core/logging.ts +25 -13
- package/src/core/makeNetworkRequest.ts +320 -94
- package/src/core/optimisticProxy.ts +544 -0
- package/src/core/read.ts +251 -198
- package/src/core/reader.ts +18 -17
- package/src/core/startUpdate.ts +47 -36
- package/src/core/subscribe.ts +189 -0
- package/src/core/util.ts +26 -0
- package/src/core/writeData.ts +79 -0
- package/src/index.ts +6 -4
- package/src/loadable-hooks/useClientSideDefer.ts +80 -30
- package/src/loadable-hooks/useConnectionSpecPagination.ts +54 -35
- package/src/loadable-hooks/useImperativeLoadableField.ts +5 -5
- package/src/loadable-hooks/useSkipLimitPagination.ts +22 -21
- package/src/react/FragmentReader.tsx +3 -1
- package/src/react/FragmentRenderer.tsx +8 -1
- package/src/react/IsographEnvironmentProvider.tsx +2 -1
- package/src/react/LoadableFieldReader.tsx +125 -16
- package/src/react/LoadableFieldRenderer.tsx +124 -16
- package/src/react/createIsographEnvironment.ts +23 -0
- package/src/react/maybeUnwrapNetworkRequest.ts +17 -0
- package/src/react/useImperativeReference.ts +25 -15
- package/src/react/useLazyReference.ts +20 -10
- package/src/react/useReadAndSubscribe.ts +53 -12
- package/src/react/useRerenderOnChange.ts +3 -3
- package/src/react/useResult.ts +15 -35
- package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +1 -1
- package/src/tests/__isograph/Query/linkedUpdate/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/linkedUpdate/raw_response_type.ts +13 -0
- package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +1 -1
- package/src/tests/__isograph/Query/meName/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/meName/raw_response_type.ts +7 -0
- package/src/tests/__isograph/Query/meName/resolver_reader.ts +1 -1
- package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/meNameSuccessor/raw_response_type.ts +14 -0
- package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +1 -1
- package/src/tests/__isograph/Query/nodeField/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/nodeField/raw_response_type.ts +7 -0
- package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +1 -1
- package/src/tests/__isograph/Query/normalizeUndefinedField/entrypoint.ts +33 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/normalization_ast.ts +25 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/output_type.ts +3 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/param_type.ts +9 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/query_text.ts +6 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/raw_response_type.ts +7 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/resolver_reader.ts +38 -0
- package/src/tests/__isograph/Query/startUpdate/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/startUpdate/raw_response_type.ts +8 -0
- package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +1 -1
- package/src/tests/__isograph/Query/subquery/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/subquery/raw_response_type.ts +9 -0
- package/src/tests/__isograph/Query/subquery/resolver_reader.ts +1 -1
- package/src/tests/__isograph/iso.ts +11 -1
- package/src/tests/garbageCollection.test.ts +10 -10
- package/src/tests/meNameSuccessor.ts +7 -4
- package/src/tests/nodeQuery.ts +6 -4
- package/src/tests/normalizeData.test.ts +94 -18
- package/src/tests/optimisticProxy.test.ts +862 -0
- package/src/tests/startUpdate.test.ts +11 -11
- package/vitest.config.ts +5 -0
- package/dist/core/areEqualWithDeepComparison.d.ts +0 -3
- package/dist/core/areEqualWithDeepComparison.d.ts.map +0 -1
- package/dist/core/brand.js +0 -2
- package/dist/core/componentCache.d.ts +0 -5
- package/dist/core/componentCache.d.ts.map +0 -1
- package/dist/core/reader.js +0 -2
- package/dist/core/startUpdate.d.ts +0 -8
- package/dist/core/startUpdate.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
|
|
2
2
|
import {Query__nodeField__param} from './param_type';
|
|
3
3
|
import {Query__nodeField__output_type} from './output_type';
|
|
4
|
+
import type {Query__nodeField__raw_response_type} from './raw_response_type';
|
|
4
5
|
import readerResolver from './resolver_reader';
|
|
5
6
|
import queryText from './query_text';
|
|
6
7
|
import normalizationAst from './normalization_ast';
|
|
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
|
|
|
9
10
|
const artifact: IsographEntrypoint<
|
|
10
11
|
Query__nodeField__param,
|
|
11
12
|
Query__nodeField__output_type,
|
|
12
|
-
NormalizationAst
|
|
13
|
+
NormalizationAst,
|
|
14
|
+
Query__nodeField__raw_response_type
|
|
13
15
|
> = {
|
|
14
16
|
kind: "Entrypoint",
|
|
15
17
|
networkRequestInfo: {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
|
|
2
|
+
import {Query__normalizeUndefinedField__param} from './param_type';
|
|
3
|
+
import {Query__normalizeUndefinedField__output_type} from './output_type';
|
|
4
|
+
import type {Query__normalizeUndefinedField__raw_response_type} from './raw_response_type';
|
|
5
|
+
import readerResolver from './resolver_reader';
|
|
6
|
+
import queryText from './query_text';
|
|
7
|
+
import normalizationAst from './normalization_ast';
|
|
8
|
+
const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
|
|
9
|
+
|
|
10
|
+
const artifact: IsographEntrypoint<
|
|
11
|
+
Query__normalizeUndefinedField__param,
|
|
12
|
+
Query__normalizeUndefinedField__output_type,
|
|
13
|
+
NormalizationAst,
|
|
14
|
+
Query__normalizeUndefinedField__raw_response_type
|
|
15
|
+
> = {
|
|
16
|
+
kind: "Entrypoint",
|
|
17
|
+
networkRequestInfo: {
|
|
18
|
+
kind: "NetworkRequestInfo",
|
|
19
|
+
operation: {
|
|
20
|
+
kind: "Operation",
|
|
21
|
+
text: queryText,
|
|
22
|
+
},
|
|
23
|
+
normalizationAst,
|
|
24
|
+
},
|
|
25
|
+
concreteType: "Query",
|
|
26
|
+
readerWithRefetchQueries: {
|
|
27
|
+
kind: "ReaderWithRefetchQueries",
|
|
28
|
+
nestedRefetchQueries,
|
|
29
|
+
readerArtifact: readerResolver,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export default artifact;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type {NormalizationAst} from '@isograph/react';
|
|
2
|
+
const normalizationAst: NormalizationAst = {
|
|
3
|
+
kind: "NormalizationAst",
|
|
4
|
+
selections: [
|
|
5
|
+
{
|
|
6
|
+
kind: "Linked",
|
|
7
|
+
fieldName: "me",
|
|
8
|
+
arguments: null,
|
|
9
|
+
concreteType: "Economist",
|
|
10
|
+
selections: [
|
|
11
|
+
{
|
|
12
|
+
kind: "Scalar",
|
|
13
|
+
fieldName: "id",
|
|
14
|
+
arguments: null,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
kind: "Scalar",
|
|
18
|
+
fieldName: "name",
|
|
19
|
+
arguments: null,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
export default normalizationAst;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { EagerReaderArtifact, ReaderAst } from '@isograph/react';
|
|
2
|
+
import { Query__normalizeUndefinedField__param } from './param_type';
|
|
3
|
+
import { Query__normalizeUndefinedField__output_type } from './output_type';
|
|
4
|
+
import { normalizeUndefinedField as resolver } from '../../../normalizeData.test';
|
|
5
|
+
|
|
6
|
+
const readerAst: ReaderAst<Query__normalizeUndefinedField__param> = [
|
|
7
|
+
{
|
|
8
|
+
kind: "Linked",
|
|
9
|
+
fieldName: "me",
|
|
10
|
+
alias: null,
|
|
11
|
+
arguments: null,
|
|
12
|
+
condition: null,
|
|
13
|
+
isUpdatable: false,
|
|
14
|
+
refetchQueryIndex: null,
|
|
15
|
+
selections: [
|
|
16
|
+
{
|
|
17
|
+
kind: "Scalar",
|
|
18
|
+
fieldName: "name",
|
|
19
|
+
alias: null,
|
|
20
|
+
arguments: null,
|
|
21
|
+
isUpdatable: false,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const artifact: EagerReaderArtifact<
|
|
28
|
+
Query__normalizeUndefinedField__param,
|
|
29
|
+
Query__normalizeUndefinedField__output_type
|
|
30
|
+
> = {
|
|
31
|
+
kind: "EagerReaderArtifact",
|
|
32
|
+
fieldName: "normalizeUndefinedField",
|
|
33
|
+
resolver,
|
|
34
|
+
readerAst,
|
|
35
|
+
hasUpdatable: false,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default artifact;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
|
|
2
2
|
import {Query__startUpdate__param} from './param_type';
|
|
3
3
|
import {Query__startUpdate__output_type} from './output_type';
|
|
4
|
+
import type {Query__startUpdate__raw_response_type} from './raw_response_type';
|
|
4
5
|
import readerResolver from './resolver_reader';
|
|
5
6
|
import queryText from './query_text';
|
|
6
7
|
import normalizationAst from './normalization_ast';
|
|
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
|
|
|
9
10
|
const artifact: IsographEntrypoint<
|
|
10
11
|
Query__startUpdate__param,
|
|
11
12
|
Query__startUpdate__output_type,
|
|
12
|
-
NormalizationAst
|
|
13
|
+
NormalizationAst,
|
|
14
|
+
Query__startUpdate__raw_response_type
|
|
13
15
|
> = {
|
|
14
16
|
kind: "Entrypoint",
|
|
15
17
|
networkRequestInfo: {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
|
|
2
2
|
import {Query__subquery__param} from './param_type';
|
|
3
3
|
import {Query__subquery__output_type} from './output_type';
|
|
4
|
+
import type {Query__subquery__raw_response_type} from './raw_response_type';
|
|
4
5
|
import readerResolver from './resolver_reader';
|
|
5
6
|
import queryText from './query_text';
|
|
6
7
|
import normalizationAst from './normalization_ast';
|
|
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
|
|
|
9
10
|
const artifact: IsographEntrypoint<
|
|
10
11
|
Query__subquery__param,
|
|
11
12
|
Query__subquery__output_type,
|
|
12
|
-
NormalizationAst
|
|
13
|
+
NormalizationAst,
|
|
14
|
+
Query__subquery__raw_response_type
|
|
13
15
|
> = {
|
|
14
16
|
kind: "Entrypoint",
|
|
15
17
|
networkRequestInfo: {
|
|
@@ -3,12 +3,14 @@ import { type Query__linkedUpdate__param } from './Query/linkedUpdate/param_type
|
|
|
3
3
|
import { type Query__meNameSuccessor__param } from './Query/meNameSuccessor/param_type';
|
|
4
4
|
import { type Query__meName__param } from './Query/meName/param_type';
|
|
5
5
|
import { type Query__nodeField__param } from './Query/nodeField/param_type';
|
|
6
|
+
import { type Query__normalizeUndefinedField__param } from './Query/normalizeUndefinedField/param_type';
|
|
6
7
|
import { type Query__startUpdate__param } from './Query/startUpdate/param_type';
|
|
7
8
|
import { type Query__subquery__param } from './Query/subquery/param_type';
|
|
8
9
|
import entrypoint_Query__linkedUpdate from '../__isograph/Query/linkedUpdate/entrypoint';
|
|
9
10
|
import entrypoint_Query__meNameSuccessor from '../__isograph/Query/meNameSuccessor/entrypoint';
|
|
10
11
|
import entrypoint_Query__meName from '../__isograph/Query/meName/entrypoint';
|
|
11
12
|
import entrypoint_Query__nodeField from '../__isograph/Query/nodeField/entrypoint';
|
|
13
|
+
import entrypoint_Query__normalizeUndefinedField from '../__isograph/Query/normalizeUndefinedField/entrypoint';
|
|
12
14
|
import entrypoint_Query__startUpdate from '../__isograph/Query/startUpdate/entrypoint';
|
|
13
15
|
import entrypoint_Query__subquery from '../__isograph/Query/subquery/entrypoint';
|
|
14
16
|
|
|
@@ -76,6 +78,10 @@ export function iso<T>(
|
|
|
76
78
|
param: T & MatchesWhitespaceAndString<'field Query.nodeField', T>
|
|
77
79
|
): IdentityWithParam<Query__nodeField__param>;
|
|
78
80
|
|
|
81
|
+
export function iso<T>(
|
|
82
|
+
param: T & MatchesWhitespaceAndString<'field Query.normalizeUndefinedField', T>
|
|
83
|
+
): IdentityWithParam<Query__normalizeUndefinedField__param>;
|
|
84
|
+
|
|
79
85
|
export function iso<T>(
|
|
80
86
|
param: T & MatchesWhitespaceAndString<'field Query.startUpdate', T>
|
|
81
87
|
): IdentityWithParam<Query__startUpdate__param>;
|
|
@@ -100,6 +106,10 @@ export function iso<T>(
|
|
|
100
106
|
param: T & MatchesWhitespaceAndString<'entrypoint Query.nodeField', T>
|
|
101
107
|
): typeof entrypoint_Query__nodeField;
|
|
102
108
|
|
|
109
|
+
export function iso<T>(
|
|
110
|
+
param: T & MatchesWhitespaceAndString<'entrypoint Query.normalizeUndefinedField', T>
|
|
111
|
+
): typeof entrypoint_Query__normalizeUndefinedField;
|
|
112
|
+
|
|
103
113
|
export function iso<T>(
|
|
104
114
|
param: T & MatchesWhitespaceAndString<'entrypoint Query.startUpdate', T>
|
|
105
115
|
): typeof entrypoint_Query__startUpdate;
|
|
@@ -111,7 +121,7 @@ export function iso<T>(
|
|
|
111
121
|
export function iso(_isographLiteralText: string):
|
|
112
122
|
| IdentityWithParam<any>
|
|
113
123
|
| IdentityWithParamComponent<any>
|
|
114
|
-
| IsographEntrypoint<any, any, any>
|
|
124
|
+
| IsographEntrypoint<any, any, any, any>
|
|
115
125
|
{
|
|
116
126
|
throw new Error('iso: Unexpected invocation at runtime. Either the Babel transform ' +
|
|
117
127
|
'was not set up, or it failed to identify this call site. Make sure it ' +
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
+
import { iso } from '@iso';
|
|
1
2
|
import { describe, expect, test } from 'vitest';
|
|
2
3
|
import {
|
|
3
4
|
garbageCollectEnvironment,
|
|
4
5
|
retainQuery,
|
|
6
|
+
type RetainedQuery,
|
|
5
7
|
} from '../core/garbageCollection';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
ROOT_ID,
|
|
9
|
-
type IsographStore,
|
|
10
|
-
} from '../core/IsographEnvironment';
|
|
11
|
-
import { iso } from './__isograph/iso';
|
|
8
|
+
import { ROOT_ID, type BaseStoreLayerData } from '../core/IsographEnvironment';
|
|
9
|
+
import { wrapResolvedValue } from '../core/PromiseWrapper';
|
|
12
10
|
import { meNameSuccessorRetainedQuery } from './meNameSuccessor';
|
|
13
11
|
import { nodeFieldRetainedQuery } from './nodeQuery';
|
|
12
|
+
import { createIsographEnvironment } from '../react/createIsographEnvironment';
|
|
14
13
|
|
|
15
|
-
const getDefaultStore = ():
|
|
14
|
+
const getDefaultStore = (): BaseStoreLayerData => ({
|
|
16
15
|
Query: {
|
|
17
16
|
[ROOT_ID]: {
|
|
18
17
|
me: { __link: '0', __typename: 'Economist' },
|
|
@@ -55,9 +54,10 @@ export const meNameField = iso(`
|
|
|
55
54
|
`)(() => {});
|
|
56
55
|
|
|
57
56
|
const meNameEntrypoint = iso(`entrypoint Query.meName`);
|
|
58
|
-
const meNameRetainedQuery = {
|
|
59
|
-
normalizationAst:
|
|
60
|
-
meNameEntrypoint.networkRequestInfo.normalizationAst
|
|
57
|
+
const meNameRetainedQuery: RetainedQuery = {
|
|
58
|
+
normalizationAst: wrapResolvedValue(
|
|
59
|
+
meNameEntrypoint.networkRequestInfo.normalizationAst,
|
|
60
|
+
),
|
|
61
61
|
variables: {},
|
|
62
62
|
root: { __link: ROOT_ID, __typename: 'Query' },
|
|
63
63
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { RetainedQuery } from '../core/garbageCollection';
|
|
1
2
|
import { ROOT_ID } from '../core/IsographEnvironment';
|
|
2
|
-
import {
|
|
3
|
+
import { wrapResolvedValue } from '../core/PromiseWrapper';
|
|
4
|
+
import { iso } from '@iso';
|
|
3
5
|
|
|
4
6
|
export const meNameField = iso(`
|
|
5
7
|
field Query.meNameSuccessor {
|
|
@@ -14,9 +16,10 @@ export const meNameField = iso(`
|
|
|
14
16
|
}
|
|
15
17
|
`)(() => {});
|
|
16
18
|
const meNameSuccessorEntrypoint = iso(`entrypoint Query.meNameSuccessor`);
|
|
17
|
-
export const meNameSuccessorRetainedQuery = {
|
|
18
|
-
normalizationAst:
|
|
19
|
-
meNameSuccessorEntrypoint.networkRequestInfo.normalizationAst
|
|
19
|
+
export const meNameSuccessorRetainedQuery: RetainedQuery = {
|
|
20
|
+
normalizationAst: wrapResolvedValue(
|
|
21
|
+
meNameSuccessorEntrypoint.networkRequestInfo.normalizationAst,
|
|
22
|
+
),
|
|
20
23
|
variables: {},
|
|
21
24
|
root: {
|
|
22
25
|
__link: ROOT_ID,
|
package/src/tests/nodeQuery.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { RetainedQuery } from '../core/garbageCollection';
|
|
1
|
+
import type { RetainedQuery } from '../core/garbageCollection';
|
|
2
2
|
import { ROOT_ID } from '../core/IsographEnvironment';
|
|
3
|
-
import {
|
|
3
|
+
import { wrapResolvedValue } from '../core/PromiseWrapper';
|
|
4
|
+
import { iso } from '@iso';
|
|
4
5
|
|
|
5
6
|
// TODO investigate why this can't be in garbageCollection.test.ts without
|
|
6
7
|
// typescript incorrectly thinking it is referenced in its own initializer
|
|
@@ -13,8 +14,9 @@ export const nodeField = iso(`
|
|
|
13
14
|
`)(() => {});
|
|
14
15
|
const nodeFieldEntrypoint = iso(`entrypoint Query.nodeField`);
|
|
15
16
|
export const nodeFieldRetainedQuery: RetainedQuery = {
|
|
16
|
-
normalizationAst:
|
|
17
|
-
nodeFieldEntrypoint.networkRequestInfo.normalizationAst
|
|
17
|
+
normalizationAst: wrapResolvedValue(
|
|
18
|
+
nodeFieldEntrypoint.networkRequestInfo.normalizationAst,
|
|
19
|
+
),
|
|
18
20
|
variables: { id: 0 },
|
|
19
21
|
root: { __link: ROOT_ID, __typename: 'Query' },
|
|
20
22
|
};
|
|
@@ -1,18 +1,100 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { iso } from '@iso';
|
|
2
|
+
import { beforeEach, describe, expect, test, vi } from 'vitest';
|
|
3
|
+
|
|
3
4
|
import {
|
|
4
|
-
createIsographEnvironment,
|
|
5
5
|
createIsographStore,
|
|
6
6
|
ROOT_ID,
|
|
7
|
-
type
|
|
7
|
+
type BaseStoreLayerData,
|
|
8
8
|
} from '../core/IsographEnvironment';
|
|
9
|
+
import { normalizeData } from '../core/cache';
|
|
10
|
+
import { getOrCreateCacheForArtifact } from '../core/getOrCreateCacheForArtifact';
|
|
9
11
|
import {
|
|
10
12
|
readButDoNotEvaluate,
|
|
11
13
|
type WithEncounteredRecords,
|
|
12
14
|
} from '../core/read';
|
|
13
|
-
import {
|
|
15
|
+
import { createIsographEnvironment } from '../react/createIsographEnvironment';
|
|
14
16
|
import type { Query__subquery__param } from './__isograph/Query/subquery/param_type';
|
|
15
17
|
|
|
18
|
+
let store: ReturnType<typeof createIsographStore>;
|
|
19
|
+
let environment: ReturnType<typeof createIsographEnvironment>;
|
|
20
|
+
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
store = createIsographStore();
|
|
23
|
+
const networkFunction = vi.fn().mockRejectedValue(new Error('Fetch failed'));
|
|
24
|
+
environment = createIsographEnvironment(store, networkFunction);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export const normalizeUndefinedField = iso(`
|
|
28
|
+
field Query.normalizeUndefinedField {
|
|
29
|
+
me {
|
|
30
|
+
name
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
`)(() => {});
|
|
34
|
+
|
|
35
|
+
const normalizeUndefinedFieldEntrypoint = iso(
|
|
36
|
+
`entrypoint Query.normalizeUndefinedField`,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
describe('normalize undefined field', () => {
|
|
40
|
+
test('should normalize scalar field to null', () => {
|
|
41
|
+
normalizeData(
|
|
42
|
+
environment,
|
|
43
|
+
environment.store,
|
|
44
|
+
normalizeUndefinedFieldEntrypoint.networkRequestInfo.normalizationAst
|
|
45
|
+
.selections,
|
|
46
|
+
{
|
|
47
|
+
me: { __typename: 'Economist', id: '1' },
|
|
48
|
+
},
|
|
49
|
+
{},
|
|
50
|
+
{
|
|
51
|
+
__link: ROOT_ID,
|
|
52
|
+
__typename: normalizeUndefinedFieldEntrypoint.concreteType,
|
|
53
|
+
},
|
|
54
|
+
new Map(),
|
|
55
|
+
);
|
|
56
|
+
expect(store).toStrictEqual({
|
|
57
|
+
Economist: {
|
|
58
|
+
'1': {
|
|
59
|
+
id: '1',
|
|
60
|
+
name: null,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
Query: {
|
|
64
|
+
[ROOT_ID]: {
|
|
65
|
+
me: {
|
|
66
|
+
__typename: 'Economist',
|
|
67
|
+
__link: '1',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
test('should normalize linked field to null', () => {
|
|
75
|
+
normalizeData(
|
|
76
|
+
environment,
|
|
77
|
+
environment.store,
|
|
78
|
+
normalizeUndefinedFieldEntrypoint.networkRequestInfo.normalizationAst
|
|
79
|
+
.selections,
|
|
80
|
+
{},
|
|
81
|
+
{},
|
|
82
|
+
{
|
|
83
|
+
__link: ROOT_ID,
|
|
84
|
+
__typename: normalizeUndefinedFieldEntrypoint.concreteType,
|
|
85
|
+
},
|
|
86
|
+
new Map(),
|
|
87
|
+
);
|
|
88
|
+
expect(store).toStrictEqual({
|
|
89
|
+
Query: {
|
|
90
|
+
[ROOT_ID]: {
|
|
91
|
+
me: null,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
|
|
16
98
|
export const subquery = iso(`
|
|
17
99
|
field Query.subquery($id: ID!) {
|
|
18
100
|
query {
|
|
@@ -25,22 +107,18 @@ export const subquery = iso(`
|
|
|
25
107
|
|
|
26
108
|
const entrypoint = iso(`entrypoint Query.subquery`);
|
|
27
109
|
|
|
28
|
-
describe('
|
|
29
|
-
test('
|
|
30
|
-
const store = createIsographStore();
|
|
31
|
-
const networkFunction = vi
|
|
32
|
-
.fn()
|
|
33
|
-
.mockRejectedValue(new Error('Fetch failed'));
|
|
34
|
-
const environment = createIsographEnvironment(store, networkFunction);
|
|
35
|
-
|
|
110
|
+
describe('nested Query', () => {
|
|
111
|
+
test('should be normalized', () => {
|
|
36
112
|
normalizeData(
|
|
37
113
|
environment,
|
|
114
|
+
environment.store,
|
|
38
115
|
entrypoint.networkRequestInfo.normalizationAst.selections,
|
|
39
116
|
{
|
|
40
117
|
query: { node____id___v_id: { __typename: 'Economist', id: '1' } },
|
|
41
118
|
},
|
|
42
119
|
{ id: '1' },
|
|
43
120
|
{ __link: ROOT_ID, __typename: entrypoint.concreteType },
|
|
121
|
+
new Map(),
|
|
44
122
|
);
|
|
45
123
|
|
|
46
124
|
expect(store).toStrictEqual({
|
|
@@ -62,13 +140,11 @@ describe('normalizeData', () => {
|
|
|
62
140
|
},
|
|
63
141
|
},
|
|
64
142
|
},
|
|
65
|
-
} satisfies
|
|
143
|
+
} satisfies BaseStoreLayerData);
|
|
66
144
|
});
|
|
67
|
-
});
|
|
68
145
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const store: IsographStore = {
|
|
146
|
+
test('should be read', () => {
|
|
147
|
+
const store: BaseStoreLayerData = {
|
|
72
148
|
Economist: {
|
|
73
149
|
'1': {
|
|
74
150
|
__typename: 'Economist',
|