rescript-relay 1.1.1 → 1.2.1
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/CHANGELOG.md +23 -0
- package/package.json +5 -5
- package/postinstall.js +4 -0
- package/ppx-linux +0 -0
- package/ppx-macos-arm64 +0 -0
- package/ppx-macos-latest +0 -0
- package/ppx-windows-latest +0 -0
- package/relay-compiler-linux-musl/relay +0 -0
- package/relay-compiler-linux-x64/relay +0 -0
- package/relay-compiler-macos-arm64/relay +0 -0
- package/relay-compiler-macos-x64/relay +0 -0
- package/relay-compiler-win-x64/relay.exe +0 -0
- package/src/ReactExperimental.bs.js +4 -2
- package/src/ReactExperimental.res +1 -1
- package/src/ReactExperimental.resi +1 -1
- package/src/RescriptRelay.bs.js +13 -13
- package/src/RescriptRelay.res +3 -1
- package/src/RescriptRelay.resi +7 -2
- package/src/RescriptRelayUtils.bs.js +3 -3
- package/src/RescriptRelay_Fragment.bs.js +117 -0
- package/src/RescriptRelay_Fragment.res +239 -0
- package/src/RescriptRelay_Fragment.resi +86 -0
- package/src/RescriptRelay_Internal.bs.js +1 -1
- package/src/RescriptRelay_Mutation.bs.js +54 -0
- package/src/RescriptRelay_Mutation.res +146 -0
- package/src/RescriptRelay_Mutation.resi +54 -0
- package/src/RescriptRelay_Query.bs.js +87 -0
- package/src/RescriptRelay_Query.res +188 -0
- package/src/RescriptRelay_Query.resi +70 -0
- package/src/RescriptRelay_RelayResolvers.bs.js +14 -0
- package/src/RescriptRelay_RelayResolvers.res +21 -0
- package/src/RescriptRelay_RelayResolvers.resi +10 -0
- package/src/RescriptRelay_Subscriptions.bs.js +23 -0
- package/src/RescriptRelay_Subscriptions.res +51 -0
- package/src/RescriptRelay_Subscriptions.resi +15 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
open RescriptRelay
|
|
2
|
+
|
|
3
|
+
let useQuery: (
|
|
4
|
+
~convertVariables: 'variables => 'variables,
|
|
5
|
+
~node: queryNode<'a>,
|
|
6
|
+
~convertResponse: 'response => 'response,
|
|
7
|
+
) => (
|
|
8
|
+
~variables: 'variables,
|
|
9
|
+
~fetchPolicy: fetchPolicy=?,
|
|
10
|
+
~fetchKey: string=?,
|
|
11
|
+
~networkCacheConfig: cacheConfig=?,
|
|
12
|
+
unit,
|
|
13
|
+
) => 'response
|
|
14
|
+
|
|
15
|
+
let useLoader: (
|
|
16
|
+
~convertVariables: 'variables => 'variables,
|
|
17
|
+
~node: queryNode<'a>,
|
|
18
|
+
~mkQueryRef: option<'queryRef> => option<'queryRef>,
|
|
19
|
+
) => unit => (
|
|
20
|
+
option<'queryRef>,
|
|
21
|
+
(
|
|
22
|
+
~variables: 'variables,
|
|
23
|
+
~fetchPolicy: fetchPolicy=?,
|
|
24
|
+
~networkCacheConfig: cacheConfig=?,
|
|
25
|
+
unit,
|
|
26
|
+
) => unit,
|
|
27
|
+
unit => unit,
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
let usePreloaded: (
|
|
31
|
+
~node: queryNode<'a>,
|
|
32
|
+
~convertResponse: 'response => 'response,
|
|
33
|
+
~mkQueryRef: 'queryRef => 'queryRef,
|
|
34
|
+
) => (~queryRef: 'queryRef) => 'response
|
|
35
|
+
|
|
36
|
+
let fetch: (
|
|
37
|
+
~node: queryNode<'a>,
|
|
38
|
+
~convertResponse: 'response => 'response,
|
|
39
|
+
~convertVariables: 'variables => 'variables,
|
|
40
|
+
) => (
|
|
41
|
+
~environment: Environment.t,
|
|
42
|
+
~variables: 'variables,
|
|
43
|
+
~onResult: result<'response, Js.Exn.t> => unit,
|
|
44
|
+
~networkCacheConfig: cacheConfig=?,
|
|
45
|
+
~fetchPolicy: fetchPolicy=?,
|
|
46
|
+
unit,
|
|
47
|
+
) => unit
|
|
48
|
+
|
|
49
|
+
let fetchPromised: (
|
|
50
|
+
~node: queryNode<'a>,
|
|
51
|
+
~convertResponse: 'response => 'response,
|
|
52
|
+
~convertVariables: 'variables => 'variables,
|
|
53
|
+
) => (
|
|
54
|
+
~environment: Environment.t,
|
|
55
|
+
~variables: 'variables,
|
|
56
|
+
~networkCacheConfig: cacheConfig=?,
|
|
57
|
+
~fetchPolicy: fetchPolicy=?,
|
|
58
|
+
unit,
|
|
59
|
+
) => promise<'response>
|
|
60
|
+
|
|
61
|
+
let retain: (
|
|
62
|
+
~node: queryNode<'a>,
|
|
63
|
+
~convertVariables: 'variables => 'variables,
|
|
64
|
+
) => (~environment: Environment.t, ~variables: 'variables) => Disposable.t
|
|
65
|
+
|
|
66
|
+
let commitLocalPayload: (
|
|
67
|
+
~node: queryNode<'a>,
|
|
68
|
+
~convertVariables: 'variables => 'variables,
|
|
69
|
+
~convertWrapRawResponse: 'rawResponse => 'rawResponse,
|
|
70
|
+
) => (~environment: Environment.t, ~variables: 'variables, ~payload: 'rawResponse) => unit
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var Curry = require("rescript/lib/js/curry.js");
|
|
5
|
+
var ResolverFragments = require("relay-runtime/lib/store/ResolverFragments");
|
|
6
|
+
|
|
7
|
+
function makeRelayResolver(node, convertFragment, resolver) {
|
|
8
|
+
return function (fRef) {
|
|
9
|
+
return Curry._1(resolver, Curry._1(convertFragment, ResolverFragments.readFragment(node, fRef)));
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.makeRelayResolver = makeRelayResolver;
|
|
14
|
+
/* relay-runtime/lib/store/ResolverFragments Not a pure module */
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
open RescriptRelay
|
|
2
|
+
|
|
3
|
+
@module("relay-runtime/lib/store/ResolverFragments")
|
|
4
|
+
external readFragment_: (fragmentNode<'node>, 'fragmentRef) => 'fragment = "readFragment"
|
|
5
|
+
|
|
6
|
+
type resolver<'fragment, 't> = 'fragment => option<'t>
|
|
7
|
+
|
|
8
|
+
// This is abstract just to hide the implementation details that don't need to be known anyway.
|
|
9
|
+
type relayResolver
|
|
10
|
+
external mkRelayResolver: 'a => relayResolver = "%identity"
|
|
11
|
+
|
|
12
|
+
let makeRelayResolver = (
|
|
13
|
+
~node,
|
|
14
|
+
~convertFragment: 'fragment => 'fragment,
|
|
15
|
+
resolver: resolver<'fragment, 't>,
|
|
16
|
+
) => {
|
|
17
|
+
let relayResolver = fRef => {
|
|
18
|
+
resolver(readFragment_(node, fRef)->convertFragment)
|
|
19
|
+
}
|
|
20
|
+
relayResolver->mkRelayResolver
|
|
21
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var Curry = require("rescript/lib/js/curry.js");
|
|
5
|
+
var RelayRuntime = require("relay-runtime");
|
|
6
|
+
|
|
7
|
+
function subscribe(node, convertVariables, convertResponse, environment, variables, onCompleted, onError, onNext, updater, param) {
|
|
8
|
+
return RelayRuntime.requestSubscription(environment, {
|
|
9
|
+
subscription: node,
|
|
10
|
+
variables: Curry._1(convertVariables, variables),
|
|
11
|
+
onCompleted: onCompleted,
|
|
12
|
+
onError: onError,
|
|
13
|
+
onNext: onNext !== undefined ? (function (response) {
|
|
14
|
+
Curry._1(onNext, Curry._1(convertResponse, response));
|
|
15
|
+
}) : undefined,
|
|
16
|
+
updater: updater !== undefined ? (function (store, response) {
|
|
17
|
+
Curry._2(updater, store, Curry._1(convertResponse, response));
|
|
18
|
+
}) : undefined
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.subscribe = subscribe;
|
|
23
|
+
/* relay-runtime Not a pure module */
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
open RescriptRelay
|
|
2
|
+
|
|
3
|
+
type updaterFn<'response> = (RecordSourceSelectorProxy.t, 'response) => unit
|
|
4
|
+
type subscriptionConfig<'node, 'variables, 'response> = {
|
|
5
|
+
subscription: subscriptionNode<'node>,
|
|
6
|
+
variables: 'variables,
|
|
7
|
+
onCompleted?: unit => unit,
|
|
8
|
+
onError?: Js.Exn.t => unit,
|
|
9
|
+
onNext?: 'response => unit,
|
|
10
|
+
updater?: updaterFn<'response>,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@module("relay-runtime")
|
|
14
|
+
external requestSubscription_: (
|
|
15
|
+
Environment.t,
|
|
16
|
+
subscriptionConfig<'node, 'variables, 'response>,
|
|
17
|
+
) => Disposable.t = "requestSubscription"
|
|
18
|
+
|
|
19
|
+
let subscribe = (
|
|
20
|
+
~node,
|
|
21
|
+
~convertVariables: 'variables => 'variables,
|
|
22
|
+
~convertResponse: 'response => 'response,
|
|
23
|
+
) => {
|
|
24
|
+
(
|
|
25
|
+
~environment: Environment.t,
|
|
26
|
+
~variables: 'variables,
|
|
27
|
+
~onCompleted=?,
|
|
28
|
+
~onError=?,
|
|
29
|
+
~onNext=?,
|
|
30
|
+
~updater=?,
|
|
31
|
+
(),
|
|
32
|
+
) => {
|
|
33
|
+
requestSubscription_(
|
|
34
|
+
environment,
|
|
35
|
+
{
|
|
36
|
+
?onCompleted,
|
|
37
|
+
subscription: node,
|
|
38
|
+
variables: variables->convertVariables,
|
|
39
|
+
?onError,
|
|
40
|
+
onNext: ?switch onNext {
|
|
41
|
+
| Some(onNext) => Some(response => onNext(response->convertResponse))
|
|
42
|
+
| None => None
|
|
43
|
+
},
|
|
44
|
+
updater: ?switch updater {
|
|
45
|
+
| Some(updater) => Some((store, response) => updater(store, response->convertResponse))
|
|
46
|
+
| None => None
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
open RescriptRelay
|
|
2
|
+
|
|
3
|
+
let subscribe: (
|
|
4
|
+
~node: subscriptionNode<'a>,
|
|
5
|
+
~convertVariables: 'variables => 'variables,
|
|
6
|
+
~convertResponse: 'response => 'response,
|
|
7
|
+
) => (
|
|
8
|
+
~environment: Environment.t,
|
|
9
|
+
~variables: 'variables,
|
|
10
|
+
~onCompleted: unit => unit=?,
|
|
11
|
+
~onError: Js.Exn.t => unit=?,
|
|
12
|
+
~onNext: 'response => unit=?,
|
|
13
|
+
~updater: (RecordSourceSelectorProxy.t, 'response) => unit=?,
|
|
14
|
+
unit,
|
|
15
|
+
) => Disposable.t
|