UNPKG

rescript-relay

Version:
124 lines (111 loc) 5.89 kB
// Generated by ReScript, PLEASE EDIT WITH CARE 'use strict'; var React = require("react"); var Caml_option = require("rescript/lib/js/caml_option.js"); var ReactRelay = require("react-relay"); var RescriptRelay_Internal = require("./RescriptRelay_Internal.bs.js"); var Experimental = require("relay-runtime/experimental"); var ResolverFragments = require("relay-runtime/lib/store/ResolverFragments"); function useFragment(node, convertFragment, fRef) { var __x = ReactRelay.useFragment(node, fRef); return RescriptRelay_Internal.internal_useConvertedValue(convertFragment, __x); } function useFragmentOpt(fRef, node, convertFragment) { var data = ReactRelay.useFragment(node, fRef); return React.useMemo((function () { if (!(data == null)) { return Caml_option.some(convertFragment(data)); } }), [(data == null) ? undefined : Caml_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 internal_makeRefetchableFnOpts(fetchPolicy, onComplete, param) { return { fetchPolicy: fetchPolicy, onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) }; } function usePaginationFragment(node, fRef, convertFragment, convertRefetchVariables) { var p = ReactRelay.usePaginationFragment(node, fRef); var data = RescriptRelay_Internal.internal_useConvertedValue(convertFragment, p.data); return { data: data, loadNext: React.useMemo((function () { return function (count, onComplete) { return p.loadNext(count, { onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) }); }; }), [p.loadNext]), loadPrevious: React.useMemo((function () { return function (count, onComplete) { return 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((function () { return function (variables, fetchPolicy, onComplete) { return p.refetch(RescriptRelay_Internal.internal_cleanObjectFromUndefinedRaw(convertRefetchVariables(variables)), internal_makeRefetchableFnOpts(fetchPolicy, onComplete, undefined)); }; }), [p.refetch]) }; } function usePrefetchableForwardPagination(node, fRef, convertEdges, convertFragment, convertRefetchVariables, bufferSize, initialSize, prefetchingLoadMoreOptions, minimumFetchSize) { var p = ReactRelay.usePrefetchableForwardPaginationFragment_EXPERIMENTAL(node, fRef, bufferSize, initialSize !== undefined ? Caml_option.valFromOption(initialSize) : undefined, prefetchingLoadMoreOptions !== undefined ? Caml_option.valFromOption(prefetchingLoadMoreOptions) : undefined, minimumFetchSize !== undefined ? Caml_option.valFromOption(minimumFetchSize) : undefined); var data = RescriptRelay_Internal.internal_useConvertedValue(convertFragment, p.data); var edges = RescriptRelay_Internal.internal_useConvertedValue(convertEdges, p.edges); return { data: data, edges: edges, loadNext: React.useMemo((function () { return function (count, onComplete) { return p.loadNext(count, { onComplete: RescriptRelay_Internal.internal_nullableToOptionalExnHandler(onComplete) }); }; }), [p.loadNext]), hasNext: p.hasNext, isLoadingNext: p.isLoadingNext, refetch: React.useMemo((function () { return function (variables, fetchPolicy, onComplete) { return p.refetch(RescriptRelay_Internal.internal_cleanObjectFromUndefinedRaw(convertRefetchVariables(variables)), internal_makeRefetchableFnOpts(fetchPolicy, onComplete, undefined)); }; }), [p.refetch]) }; } function useRefetchableFragment(node, convertFragment, convertRefetchVariables, fRef) { var match = ReactRelay.useRefetchableFragment(node, fRef); var refetchFn = match[1]; var data = RescriptRelay_Internal.internal_useConvertedValue(convertFragment, match[0]); return [ data, React.useMemo((function () { return function (variables, fetchPolicy, onComplete) { return refetchFn(RescriptRelay_Internal.internal_removeUndefinedAndConvertNullsRaw(convertRefetchVariables(variables)), internal_makeRefetchableFnOpts(fetchPolicy, onComplete, undefined)); }; }), [refetchFn]) ]; } async function waitForFragmentData(environment, node, convertFragment, fRef) { var fragmentData = await Experimental.waitForFragmentData(environment, node, fRef); return convertFragment(fragmentData); } 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 */