main
js 61 lines 1.47 KB
Raw
1 /**
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 *
7 * @flow
8 */
9
10 import type {ReactClientValue} from 'react-server/src/ReactFlightServer';
11
12 import type {
13 ClientReference,
14 ServerReference,
15 } from '../ReactFlightFBReferences';
16
17 export type {ClientReference, ServerReference};
18
19 export type ClientManifest = null;
20
21 export type ServerReferenceId = string;
22
23 export type ClientReferenceMetadata = ClientReference<any>;
24
25 export type ClientReferenceKey = string;
26
27 export {isClientReference, isServerReference} from '../ReactFlightFBReferences';
28
29 export function getClientReferenceKey(
30 reference: ClientReference<any>,
31 ): ClientReferenceKey {
32 return reference.$$id;
33 }
34
35 export function resolveClientReferenceMetadata<T>(
36 config: ClientManifest,
37 clientReference: ClientReference<T>,
38 ): ClientReferenceMetadata {
39 return clientReference;
40 }
41
42 export function getServerReferenceId<T>(
43 config: ClientManifest,
44 serverReference: ServerReference<T>,
45 ): ServerReferenceId {
46 return serverReference.$$id;
47 }
48
49 export function getServerReferenceBoundArguments<T>(
50 config: ClientManifest,
51 serverReference: ServerReference<T>,
52 ): null | Array<ReactClientValue> {
53 return serverReference.$$bound;
54 }
55
56 export function getServerReferenceLocation<T>(
57 config: ClientManifest,
58 serverReference: ServerReference<T>,
59 ): void | Error {
60 return serverReference.$$location;
61 }