@isograph/react 0.0.0-main-f6a929bf → 0.0.0-main-c605cd65
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 +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/react/FragmentReader.d.ts +4 -10
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/FragmentReader.js +3 -30
- package/dist/react/FragmentRenderer.d.ts +15 -0
- package/dist/react/FragmentRenderer.d.ts.map +1 -0
- package/dist/react/FragmentRenderer.js +35 -0
- package/package.json +4 -4
- package/src/index.ts +3 -2
- package/src/react/FragmentReader.tsx +17 -36
- package/src/react/FragmentRenderer.tsx +46 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
../.. | WARN Unsupported engine: wanted: {"node":"22.9.0"} (current: {"node":"v22.19.0","pnpm":"10.15.0"})
|
|
2
2
|
|
|
3
|
-
> @isograph/react@0.0.0-main-
|
|
3
|
+
> @isograph/react@0.0.0-main-c605cd65 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
|
|
4
4
|
> rimraf dist && tsc -p tsconfig.pkg.json
|
|
5
5
|
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,8 @@ export { type LogMessage, type LogFunction, type WrappedLogFunction, logMessage,
|
|
|
12
12
|
export { check, type CheckResult, type FetchOptions, type RequiredFetchOptions, type ShouldFetch, type RequiredShouldFetch, } from './core/check';
|
|
13
13
|
export { IsographEnvironmentProvider, useIsographEnvironment, type IsographEnvironmentProviderProps, } from './react/IsographEnvironmentProvider';
|
|
14
14
|
export { useImperativeReference, type UseImperativeReferenceResult, } from './react/useImperativeReference';
|
|
15
|
-
export {
|
|
15
|
+
export { FragmentRenderer, type IsExactlyIntrinsicAttributes, } from './react/FragmentRenderer';
|
|
16
|
+
export { FragmentReader } from './react/FragmentReader';
|
|
16
17
|
export { LoadableFieldReader } from './react/LoadableFieldReader';
|
|
17
18
|
export { useResult } from './react/useResult';
|
|
18
19
|
export { useReadAndSubscribe, useSubscribeToMultiple, } from './react/useReadAndSubscribe';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldReader = exports.FragmentReader = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.createIsographEnvironment = exports.ROOT_ID = exports.makeNetworkRequest = exports.normalizeData = exports.subscribe = exports.callSubscriptions = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
|
|
3
|
+
exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldReader = exports.FragmentReader = exports.FragmentRenderer = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.createIsographEnvironment = exports.ROOT_ID = exports.makeNetworkRequest = exports.normalizeData = exports.subscribe = exports.callSubscriptions = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
|
|
4
4
|
var garbageCollection_1 = require("./core/garbageCollection");
|
|
5
5
|
Object.defineProperty(exports, "retainQuery", { enumerable: true, get: function () { return garbageCollection_1.retainQuery; } });
|
|
6
6
|
Object.defineProperty(exports, "unretainQuery", { enumerable: true, get: function () { return garbageCollection_1.unretainQuery; } });
|
|
@@ -37,6 +37,8 @@ Object.defineProperty(exports, "IsographEnvironmentProvider", { enumerable: true
|
|
|
37
37
|
Object.defineProperty(exports, "useIsographEnvironment", { enumerable: true, get: function () { return IsographEnvironmentProvider_1.useIsographEnvironment; } });
|
|
38
38
|
var useImperativeReference_1 = require("./react/useImperativeReference");
|
|
39
39
|
Object.defineProperty(exports, "useImperativeReference", { enumerable: true, get: function () { return useImperativeReference_1.useImperativeReference; } });
|
|
40
|
+
var FragmentRenderer_1 = require("./react/FragmentRenderer");
|
|
41
|
+
Object.defineProperty(exports, "FragmentRenderer", { enumerable: true, get: function () { return FragmentRenderer_1.FragmentRenderer; } });
|
|
40
42
|
var FragmentReader_1 = require("./react/FragmentReader");
|
|
41
43
|
Object.defineProperty(exports, "FragmentReader", { enumerable: true, get: function () { return FragmentReader_1.FragmentReader; } });
|
|
42
44
|
var LoadableFieldReader_1 = require("./react/LoadableFieldReader");
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import { type ExtractReadFromStore, type IsographEntrypoint } from '../core/entrypoint';
|
|
3
2
|
import { type FragmentReference } from '../core/FragmentReference';
|
|
4
3
|
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, React.FC<TProps>>;
|
|
8
|
-
additionalProps?: Record<PropertyKey, never>;
|
|
4
|
+
export declare function FragmentReader<TResult, TEntrypoint extends IsographEntrypoint<any, TResult, any>, TChildrenResult>({ fragmentReference, networkRequestOptions, children, }: {
|
|
5
|
+
fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, TResult>;
|
|
9
6
|
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
additionalProps: Omit<TProps, keyof JSX.IntrinsicAttributes>;
|
|
13
|
-
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
14
|
-
}): React.ReactNode;
|
|
7
|
+
children: (data: TResult) => TChildrenResult;
|
|
8
|
+
}): TChildrenResult;
|
|
15
9
|
//# sourceMappingURL=FragmentReader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE,wBAAgB,cAAc,CAC5B,OAAO,EACP,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EACzD,eAAe,EACf,EACA,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,GACT,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,OAAO,CACR,CAAC;IACF,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,eAAe,CAAC;CAC9C,GAAG,eAAe,CAGlB"}
|
|
@@ -1,35 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.FragmentReader = FragmentReader;
|
|
27
|
-
const React = __importStar(require("react"));
|
|
28
4
|
const useResult_1 = require("./useResult");
|
|
29
|
-
function FragmentReader(
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
// it means that TProps === JSX.IntrinsicAttributes.
|
|
33
|
-
// @ts-expect-error
|
|
34
|
-
return React.createElement(Component, Object.assign({}, props.additionalProps));
|
|
5
|
+
function FragmentReader({ fragmentReference, networkRequestOptions, children, }) {
|
|
6
|
+
const result = (0, useResult_1.useResult)(fragmentReference, networkRequestOptions);
|
|
7
|
+
return children(result);
|
|
35
8
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ExtractReadFromStore, type IsographEntrypoint } from '../core/entrypoint';
|
|
3
|
+
import { type FragmentReference } from '../core/FragmentReference';
|
|
4
|
+
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
5
|
+
export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes ? JSX.IntrinsicAttributes extends T ? true : false : false;
|
|
6
|
+
export declare function FragmentRenderer<TProps extends Record<any, any>, TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any>>(props: IsExactlyIntrinsicAttributes<TProps> extends true ? {
|
|
7
|
+
fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, React.FC<TProps>>;
|
|
8
|
+
additionalProps?: Record<PropertyKey, never>;
|
|
9
|
+
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
10
|
+
} : {
|
|
11
|
+
fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, React.FC<TProps>>;
|
|
12
|
+
additionalProps: Omit<TProps, keyof JSX.IntrinsicAttributes>;
|
|
13
|
+
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
14
|
+
}): React.ReactNode;
|
|
15
|
+
//# sourceMappingURL=FragmentRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FragmentRenderer.d.ts","sourceRoot":"","sources":["../../src/react/FragmentRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,mBAAmB,GAC3E,GAAG,CAAC,mBAAmB,SAAS,CAAC,GAC/B,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAElE,KAAK,EAAE,4BAA4B,CAAC,MAAM,CAAC,SAAS,IAAI,GACpD;IACE,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CACjB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9D,GACD;IACE,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CACjB,CAAC;IACF,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9D,GACJ,KAAK,CAAC,SAAS,CASjB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.FragmentRenderer = FragmentRenderer;
|
|
27
|
+
const React = __importStar(require("react"));
|
|
28
|
+
const useResult_1 = require("./useResult");
|
|
29
|
+
function FragmentRenderer(props) {
|
|
30
|
+
const Component = (0, useResult_1.useResult)(props.fragmentReference, props.networkRequestOptions);
|
|
31
|
+
// TypeScript is not understanding that if additionalProps is Record<PropertyKey, never>,
|
|
32
|
+
// it means that TProps === JSX.IntrinsicAttributes.
|
|
33
|
+
// @ts-expect-error
|
|
34
|
+
return React.createElement(Component, Object.assign({}, props.additionalProps));
|
|
35
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@isograph/react",
|
|
3
|
-
"version": "0.0.0-main-
|
|
3
|
+
"version": "0.0.0-main-c605cd65",
|
|
4
4
|
"description": "Use Isograph with React",
|
|
5
5
|
"homepage": "https://isograph.dev",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"iso": "cross-env ISO_PRINT_ABSOLUTE_FILEPATH=1 ../../target/debug/isograph_cli --config ./isograph.config.json"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@isograph/disposable-types": "0.0.0-main-
|
|
23
|
-
"@isograph/react-disposable-state": "0.0.0-main-
|
|
24
|
-
"@isograph/reference-counted-pointer": "0.0.0-main-
|
|
22
|
+
"@isograph/disposable-types": "0.0.0-main-c605cd65",
|
|
23
|
+
"@isograph/react-disposable-state": "0.0.0-main-c605cd65",
|
|
24
|
+
"@isograph/reference-counted-pointer": "0.0.0-main-c605cd65"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"react": "^18.0.0 || ^19.0.0"
|
package/src/index.ts
CHANGED
|
@@ -141,9 +141,10 @@ export {
|
|
|
141
141
|
type UseImperativeReferenceResult,
|
|
142
142
|
} from './react/useImperativeReference';
|
|
143
143
|
export {
|
|
144
|
-
|
|
144
|
+
FragmentRenderer,
|
|
145
145
|
type IsExactlyIntrinsicAttributes,
|
|
146
|
-
} from './react/
|
|
146
|
+
} from './react/FragmentRenderer';
|
|
147
|
+
export { FragmentReader } from './react/FragmentReader';
|
|
147
148
|
export { LoadableFieldReader } from './react/LoadableFieldReader';
|
|
148
149
|
export { useResult } from './react/useResult';
|
|
149
150
|
export {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import {
|
|
3
2
|
type ExtractReadFromStore,
|
|
4
3
|
type IsographEntrypoint,
|
|
@@ -7,40 +6,22 @@ import { type FragmentReference } from '../core/FragmentReference';
|
|
|
7
6
|
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
8
7
|
import { useResult } from './useResult';
|
|
9
8
|
|
|
10
|
-
export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes
|
|
11
|
-
? JSX.IntrinsicAttributes extends T
|
|
12
|
-
? true
|
|
13
|
-
: false
|
|
14
|
-
: false;
|
|
15
|
-
|
|
16
9
|
export function FragmentReader<
|
|
17
|
-
|
|
18
|
-
TEntrypoint extends IsographEntrypoint<any,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
additionalProps: Omit<TProps, keyof JSX.IntrinsicAttributes>;
|
|
35
|
-
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
36
|
-
},
|
|
37
|
-
): React.ReactNode {
|
|
38
|
-
const Component = useResult(
|
|
39
|
-
props.fragmentReference,
|
|
40
|
-
props.networkRequestOptions,
|
|
41
|
-
);
|
|
42
|
-
// TypeScript is not understanding that if additionalProps is Record<PropertyKey, never>,
|
|
43
|
-
// it means that TProps === JSX.IntrinsicAttributes.
|
|
44
|
-
// @ts-expect-error
|
|
45
|
-
return <Component {...props.additionalProps} />;
|
|
10
|
+
TResult,
|
|
11
|
+
TEntrypoint extends IsographEntrypoint<any, TResult, any>,
|
|
12
|
+
TChildrenResult,
|
|
13
|
+
>({
|
|
14
|
+
fragmentReference,
|
|
15
|
+
networkRequestOptions,
|
|
16
|
+
children,
|
|
17
|
+
}: {
|
|
18
|
+
fragmentReference: FragmentReference<
|
|
19
|
+
ExtractReadFromStore<TEntrypoint>,
|
|
20
|
+
TResult
|
|
21
|
+
>;
|
|
22
|
+
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
23
|
+
children: (data: TResult) => TChildrenResult;
|
|
24
|
+
}): TChildrenResult {
|
|
25
|
+
const result = useResult(fragmentReference, networkRequestOptions);
|
|
26
|
+
return children(result);
|
|
46
27
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
type ExtractReadFromStore,
|
|
4
|
+
type IsographEntrypoint,
|
|
5
|
+
} from '../core/entrypoint';
|
|
6
|
+
import { type FragmentReference } from '../core/FragmentReference';
|
|
7
|
+
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
8
|
+
import { useResult } from './useResult';
|
|
9
|
+
|
|
10
|
+
export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes
|
|
11
|
+
? JSX.IntrinsicAttributes extends T
|
|
12
|
+
? true
|
|
13
|
+
: false
|
|
14
|
+
: false;
|
|
15
|
+
|
|
16
|
+
export function FragmentRenderer<
|
|
17
|
+
TProps extends Record<any, any>,
|
|
18
|
+
TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any>,
|
|
19
|
+
>(
|
|
20
|
+
props: IsExactlyIntrinsicAttributes<TProps> extends true
|
|
21
|
+
? {
|
|
22
|
+
fragmentReference: FragmentReference<
|
|
23
|
+
ExtractReadFromStore<TEntrypoint>,
|
|
24
|
+
React.FC<TProps>
|
|
25
|
+
>;
|
|
26
|
+
additionalProps?: Record<PropertyKey, never>;
|
|
27
|
+
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
28
|
+
}
|
|
29
|
+
: {
|
|
30
|
+
fragmentReference: FragmentReference<
|
|
31
|
+
ExtractReadFromStore<TEntrypoint>,
|
|
32
|
+
React.FC<TProps>
|
|
33
|
+
>;
|
|
34
|
+
additionalProps: Omit<TProps, keyof JSX.IntrinsicAttributes>;
|
|
35
|
+
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
36
|
+
},
|
|
37
|
+
): React.ReactNode {
|
|
38
|
+
const Component = useResult(
|
|
39
|
+
props.fragmentReference,
|
|
40
|
+
props.networkRequestOptions,
|
|
41
|
+
);
|
|
42
|
+
// TypeScript is not understanding that if additionalProps is Record<PropertyKey, never>,
|
|
43
|
+
// it means that TProps === JSX.IntrinsicAttributes.
|
|
44
|
+
// @ts-expect-error
|
|
45
|
+
return <Component {...props.additionalProps} />;
|
|
46
|
+
}
|