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.
Files changed (35) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.json +5 -5
  3. package/postinstall.js +4 -0
  4. package/ppx-linux +0 -0
  5. package/ppx-macos-arm64 +0 -0
  6. package/ppx-macos-latest +0 -0
  7. package/ppx-windows-latest +0 -0
  8. package/relay-compiler-linux-musl/relay +0 -0
  9. package/relay-compiler-linux-x64/relay +0 -0
  10. package/relay-compiler-macos-arm64/relay +0 -0
  11. package/relay-compiler-macos-x64/relay +0 -0
  12. package/relay-compiler-win-x64/relay.exe +0 -0
  13. package/src/ReactExperimental.bs.js +4 -2
  14. package/src/ReactExperimental.res +1 -1
  15. package/src/ReactExperimental.resi +1 -1
  16. package/src/RescriptRelay.bs.js +13 -13
  17. package/src/RescriptRelay.res +3 -1
  18. package/src/RescriptRelay.resi +7 -2
  19. package/src/RescriptRelayUtils.bs.js +3 -3
  20. package/src/RescriptRelay_Fragment.bs.js +117 -0
  21. package/src/RescriptRelay_Fragment.res +239 -0
  22. package/src/RescriptRelay_Fragment.resi +86 -0
  23. package/src/RescriptRelay_Internal.bs.js +1 -1
  24. package/src/RescriptRelay_Mutation.bs.js +54 -0
  25. package/src/RescriptRelay_Mutation.res +146 -0
  26. package/src/RescriptRelay_Mutation.resi +54 -0
  27. package/src/RescriptRelay_Query.bs.js +87 -0
  28. package/src/RescriptRelay_Query.res +188 -0
  29. package/src/RescriptRelay_Query.resi +70 -0
  30. package/src/RescriptRelay_RelayResolvers.bs.js +14 -0
  31. package/src/RescriptRelay_RelayResolvers.res +21 -0
  32. package/src/RescriptRelay_RelayResolvers.resi +10 -0
  33. package/src/RescriptRelay_Subscriptions.bs.js +23 -0
  34. package/src/RescriptRelay_Subscriptions.res +51 -0
  35. 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,10 @@
1
+ open RescriptRelay
2
+
3
+ type resolver<'fragment, 't> = 'fragment => option<'t>
4
+ type relayResolver
5
+
6
+ let makeRelayResolver: (
7
+ ~node: fragmentNode<'a>,
8
+ ~convertFragment: 'fragment => 'fragment,
9
+ resolver<'fragment, 't>,
10
+ ) => relayResolver
@@ -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