UNPKG

1.12 kBJavaScriptView Raw
1/**
2 * Copyright (c) Facebook, Inc. and its 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 *
8 * @format
9 */
10// flowlint ambiguous-object-type:error
11'use strict';
12
13var React = require('react');
14
15var useRelayEnvironment = require('./useRelayEnvironment');
16
17var _require = require('relay-runtime'),
18 requestSubscription = _require.requestSubscription;
19
20function useSubscription(config, requestSubscriptionFn) {
21 // N.B. this will re-subscribe every render if config or requestSubscriptionFn
22 // are not memoized.
23 // Please do not pass an object defined in-line.
24 var actualRequestSubscription = requestSubscriptionFn !== null && requestSubscriptionFn !== void 0 ? requestSubscriptionFn : requestSubscription;
25 var environment = useRelayEnvironment();
26 React.useEffect(function () {
27 var _requestSubscription = requestSubscription(environment, config),
28 dispose = _requestSubscription.dispose;
29
30 return dispose;
31 }, [environment, config, actualRequestSubscription]);
32}
33
34module.exports = useSubscription;
\No newline at end of file