UNPKG

rescript-relay

Version:
99 lines (88 loc) 4.84 kB
// Generated by ReScript, PLEASE EDIT WITH CARE 'use strict'; let React = require("react"); let ReactRelay = require("react-relay"); let Primitive_option = require("@rescript/runtime/lib/js/Primitive_option.js"); let RescriptRelay_Internal = require("./RescriptRelay_Internal.bs.js"); let Experimental = require("relay-runtime/experimental"); let ResolverFragments = require("relay-runtime/lib/store/ResolverFragments"); function useFragment(node, convertFragment, fRef) { return RescriptRelay_Internal.internal_useConvertedValue(convertFragment, ReactRelay.useFragment(node, fRef)); } function useFragmentOpt(fRef, node, convertFragment) { let data = ReactRelay.useFragment(node, fRef); return React.useMemo(() => { if (!(data == null)) { return Primitive_option.some(convertFragment(data)); } }, [(data == null) ? undefined : Primitive_option.some(data)]); } function readInlineData(node, convertFragment, fRef) { return convertFragment(ReactRelay.readInlineData(node, fRef)); } function read(node, convertFragment, fRef) { return convertFragment(ResolverFragments.readFragment(node, fRef)); } function usePaginationFragment(node, fRef, convertFragment, convertRefetchVariables) { let p = ReactRelay.usePaginationFragment(node, fRef); let data = RescriptRelay_Internal.internal_useConvertedValue(convertFragment, p.data); return { data: data, loadNext: React.useMemo(() => ((count, onComplete) => p.loadNext(count, { onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) })), [p.loadNext]), loadPrevious: React.useMemo(() => ((count, onComplete) => p.loadPrevious(count, { onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) })), [p.loadPrevious]), hasNext: p.hasNext, hasPrevious: p.hasPrevious, isLoadingNext: p.isLoadingNext, isLoadingPrevious: p.isLoadingPrevious, refetch: React.useMemo(() => ((variables, fetchPolicy, onComplete) => p.refetch(RescriptRelay_Internal.internal_cleanObjectFromUndefinedRaw(convertRefetchVariables(variables)), { fetchPolicy: fetchPolicy, onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) })), [p.refetch]) }; } function usePrefetchableForwardPagination(node, fRef, convertEdges, convertFragment, convertRefetchVariables, bufferSize, initialSize, prefetchingLoadMoreOptions, minimumFetchSize) { let p = ReactRelay.usePrefetchableForwardPaginationFragment(node, fRef, bufferSize, initialSize !== undefined ? Primitive_option.valFromOption(initialSize) : undefined, prefetchingLoadMoreOptions !== undefined ? Primitive_option.valFromOption(prefetchingLoadMoreOptions) : undefined, minimumFetchSize !== undefined ? Primitive_option.valFromOption(minimumFetchSize) : undefined); let data = RescriptRelay_Internal.internal_useConvertedValue(convertFragment, p.data); let edges = RescriptRelay_Internal.internal_useConvertedValue(convertEdges, p.edges); return { data: data, edges: edges, loadNext: React.useMemo(() => ((count, onComplete) => p.loadNext(count, { onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) })), [p.loadNext]), hasNext: p.hasNext, isLoadingNext: p.isLoadingNext, refetch: React.useMemo(() => ((variables, fetchPolicy, onComplete) => p.refetch(RescriptRelay_Internal.internal_cleanObjectFromUndefinedRaw(convertRefetchVariables(variables)), { fetchPolicy: fetchPolicy, onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) })), [p.refetch]) }; } function useRefetchableFragment(node, convertFragment, convertRefetchVariables, fRef) { let match = ReactRelay.useRefetchableFragment(node, fRef); let refetchFn = match[1]; let data = RescriptRelay_Internal.internal_useConvertedValue(convertFragment, match[0]); return [ data, React.useMemo(() => ((variables, fetchPolicy, onComplete) => refetchFn(RescriptRelay_Internal.internal_removeUndefinedAndConvertNullsRaw(convertRefetchVariables(variables)), { fetchPolicy: fetchPolicy, onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) })), [refetchFn]) ]; } async function waitForFragmentData(environment, node, convertFragment, fRef) { return convertFragment(await Experimental.waitForFragmentData(environment, node, fRef)); } exports.useFragment = useFragment; exports.useFragmentOpt = useFragmentOpt; exports.readInlineData = readInlineData; exports.read = read; exports.usePaginationFragment = usePaginationFragment; exports.usePrefetchableForwardPagination = usePrefetchableForwardPagination; exports.useRefetchableFragment = useRefetchableFragment; exports.waitForFragmentData = waitForFragmentData; /* react Not a pure module */