rescript-relay 0.0.0-autocodesplit-09ee6f6c

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 (47) hide show
  1. package/CHANGELOG.md +942 -0
  2. package/README.md +111 -0
  3. package/cli/cli.js +472 -0
  4. package/compiler.js +11 -0
  5. package/package.json +65 -0
  6. package/postinstall.js +189 -0
  7. package/ppx-linux +0 -0
  8. package/ppx-macos-arm64 +0 -0
  9. package/ppx-macos-latest +0 -0
  10. package/ppx-windows-latest +0 -0
  11. package/relay-compiler-linux-musl/relay +0 -0
  12. package/relay-compiler-linux-x64/relay +0 -0
  13. package/relay-compiler-macos-arm64/relay +0 -0
  14. package/relay-compiler-macos-x64/relay +0 -0
  15. package/relay-compiler-win-x64/relay.exe +0 -0
  16. package/rescript.json +19 -0
  17. package/src/ReactDOMExperimental.bs.js +23 -0
  18. package/src/ReactDOMExperimental.res +16 -0
  19. package/src/ReactExperimental.bs.js +23 -0
  20. package/src/ReactExperimental.res +21 -0
  21. package/src/ReactExperimental.resi +18 -0
  22. package/src/RescriptRelay.bs.js +329 -0
  23. package/src/RescriptRelay.res +858 -0
  24. package/src/RescriptRelay.resi +897 -0
  25. package/src/RescriptRelayUtils.bs.js +76 -0
  26. package/src/RescriptRelayUtils.res +89 -0
  27. package/src/RescriptRelayUtils.resi +36 -0
  28. package/src/RescriptRelay_Fragment.bs.js +122 -0
  29. package/src/RescriptRelay_Fragment.res +243 -0
  30. package/src/RescriptRelay_Fragment.resi +85 -0
  31. package/src/RescriptRelay_Internal.bs.js +102 -0
  32. package/src/RescriptRelay_Internal.res +71 -0
  33. package/src/RescriptRelay_Internal.resi +20 -0
  34. package/src/RescriptRelay_Mutation.bs.js +57 -0
  35. package/src/RescriptRelay_Mutation.res +144 -0
  36. package/src/RescriptRelay_Mutation.resi +52 -0
  37. package/src/RescriptRelay_Query.bs.js +101 -0
  38. package/src/RescriptRelay_Query.res +177 -0
  39. package/src/RescriptRelay_Query.resi +62 -0
  40. package/src/RescriptRelay_RelayResolvers.bs.js +13 -0
  41. package/src/RescriptRelay_RelayResolvers.res +21 -0
  42. package/src/RescriptRelay_RelayResolvers.resi +10 -0
  43. package/src/RescriptRelay_Subscriptions.bs.js +24 -0
  44. package/src/RescriptRelay_Subscriptions.res +50 -0
  45. package/src/RescriptRelay_Subscriptions.resi +14 -0
  46. package/src/utils.js +418 -0
  47. package/src/utils.mjs +418 -0
@@ -0,0 +1,329 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var React = require("react");
5
+ var Utils = require("./utils");
6
+ var Belt_Array = require("rescript/lib/js/belt_Array.js");
7
+ var Caml_option = require("rescript/lib/js/caml_option.js");
8
+ var ReactRelay = require("react-relay");
9
+ var RelayRuntime = require("relay-runtime");
10
+ var Caml_exceptions = require("rescript/lib/js/caml_exceptions.js");
11
+ var LiveResolverStore = require("relay-runtime/lib/store/experimental-live-resolvers/LiveResolverStore");
12
+ var LiveResolverStore$1 = require("relay-runtime/lib/store/experimental-live-resolvers/LiveResolverStore").default;
13
+
14
+ var SuspenseSentinel = {};
15
+
16
+ function convertObj(prim0, prim1, prim2, prim3) {
17
+ return Utils.traverser(prim0, prim1, prim2, prim3);
18
+ }
19
+
20
+ function optArrayOfNullableToOptArrayOfOpt(x) {
21
+ if (x !== undefined) {
22
+ return Belt_Array.map(x, (function (prim) {
23
+ if (prim == null) {
24
+ return ;
25
+ } else {
26
+ return Caml_option.some(prim);
27
+ }
28
+ }));
29
+ }
30
+
31
+ }
32
+
33
+ function getLinkedRecords(t, name, $$arguments) {
34
+ return optArrayOfNullableToOptArrayOfOpt(Caml_option.nullable_to_opt(t.getLinkedRecords(name, $$arguments)));
35
+ }
36
+
37
+ var RecordProxy = {
38
+ getLinkedRecords: getLinkedRecords
39
+ };
40
+
41
+ function getPluralRootField(t, fieldName) {
42
+ return optArrayOfNullableToOptArrayOfOpt(Caml_option.nullable_to_opt(t.getPluralRootField(fieldName)));
43
+ }
44
+
45
+ var RecordSourceSelectorProxy = {
46
+ getPluralRootField: getPluralRootField
47
+ };
48
+
49
+ var ReadOnlyRecordSourceProxy = {};
50
+
51
+ function unwrapNormalizationArgument(wrapped) {
52
+ var match = wrapped.kind;
53
+ if (match === "Literal") {
54
+ return {
55
+ TAG: "Literal",
56
+ _0: wrapped
57
+ };
58
+ } else if (match === "ListValue") {
59
+ return {
60
+ TAG: "ListValue",
61
+ _0: wrapped
62
+ };
63
+ } else if (match === "ObjectValue") {
64
+ return {
65
+ TAG: "ObjectValue",
66
+ _0: wrapped
67
+ };
68
+ } else {
69
+ return {
70
+ TAG: "Variable",
71
+ _0: wrapped
72
+ };
73
+ }
74
+ }
75
+
76
+ function makeScalarMissingFieldHandler(handle) {
77
+ return {
78
+ kind: "scalar",
79
+ handle: handle
80
+ };
81
+ }
82
+
83
+ function makeLinkedMissingFieldHandler(handle) {
84
+ return {
85
+ kind: "linked",
86
+ handle: handle
87
+ };
88
+ }
89
+
90
+ function makePluralLinkedMissingFieldHandler(handle) {
91
+ return {
92
+ kind: "pluralLinked",
93
+ handle: handle
94
+ };
95
+ }
96
+
97
+ var MissingFieldHandler = {
98
+ unwrapNormalizationArgument: unwrapNormalizationArgument,
99
+ makeScalarMissingFieldHandler: makeScalarMissingFieldHandler,
100
+ makeLinkedMissingFieldHandler: makeLinkedMissingFieldHandler,
101
+ makePluralLinkedMissingFieldHandler: makePluralLinkedMissingFieldHandler
102
+ };
103
+
104
+ var nodeInterfaceMissingFieldHandler = makeLinkedMissingFieldHandler(function (field, record, args, _store) {
105
+ var match = field.name;
106
+ var match$1 = args.id;
107
+ if ((record == null) || !(match === "node" && record.getType() === RelayRuntime.ROOT_TYPE && !(match$1 == null))) {
108
+ return ;
109
+ } else {
110
+ return Caml_option.some(match$1);
111
+ }
112
+ });
113
+
114
+ var ConnectionHandler = {};
115
+
116
+ var Disposable = {};
117
+
118
+ var Observable = {};
119
+
120
+ var preloadResources = (function preloadResources(operation, variables, response) {
121
+ let metadata = operation.metadata;
122
+ if (metadata == null) return;
123
+ let codesplits = metadata.codesplits;
124
+ if (codesplits == null) return;
125
+ let data = response.data;
126
+
127
+ function pathExists(obj, path) {
128
+ let current = obj;
129
+
130
+ for (let i = 0; i < path.length; i++) {
131
+ let segment = path[i];
132
+
133
+ if (Array.isArray(current)) {
134
+ return current.some((item) => pathExists(item, path.slice(i)));
135
+ } else if (current != null && current.hasOwnProperty(segment)) {
136
+ current = current[segment];
137
+ } else if (current != null && (segment.startsWith("$$u$$") || segment.startsWith("$$i$$"))) {
138
+ let isInterface = segment.startsWith("$$i$$");
139
+ let expectedTypename = segment.slice(5);
140
+ if (
141
+ (
142
+ !isInterface &&
143
+ current.hasOwnProperty("__typename") &&
144
+ current.__typename === expectedTypename) ||
145
+ (
146
+ isInterface &&
147
+ current.hasOwnProperty("__is" + expectedTypename) &&
148
+ current["__is" + expectedTypename] != null
149
+ )
150
+ ) {
151
+ if (i + 1 === path.length) {
152
+ // End
153
+ return true;
154
+ } else {
155
+ continue;
156
+ }
157
+ } else {
158
+ return false;
159
+ }
160
+ } else {
161
+ return false;
162
+ }
163
+ }
164
+
165
+ return current != null;
166
+ }
167
+
168
+ function run() {
169
+ for (let instruction of codesplits) {
170
+ let path = instruction[0];
171
+ let func = instruction[1];
172
+ if (pathExists(data, path.split("."))) {
173
+ func(variables);
174
+ }
175
+ }
176
+ }
177
+
178
+ if ("requestIdleCallback" in window) {
179
+ requestIdleCallback(run);
180
+ } else {
181
+ setTimeout(() => {
182
+ Promise.resolve().then(run);
183
+ }, 1);
184
+ }
185
+ });
186
+
187
+ var Network = {
188
+ preloadResources: preloadResources
189
+ };
190
+
191
+ var RecordSource = {};
192
+
193
+ function make(source, gcReleaseBufferSize, queryCacheExpirationTime) {
194
+ return new RelayRuntime.Store(source, {
195
+ gcReleaseBufferSize: gcReleaseBufferSize,
196
+ queryCacheExpirationTime: queryCacheExpirationTime
197
+ });
198
+ }
199
+
200
+ function makeLiveStore(source, gcReleaseBufferSize, queryCacheExpirationTime) {
201
+ return new LiveResolverStore$1(source, {
202
+ gcReleaseBufferSize: gcReleaseBufferSize,
203
+ queryCacheExpirationTime: queryCacheExpirationTime
204
+ });
205
+ }
206
+
207
+ function _makeLiveStoreCjs(source, gcReleaseBufferSize, queryCacheExpirationTime) {
208
+ return new LiveResolverStore(source, {
209
+ gcReleaseBufferSize: gcReleaseBufferSize,
210
+ queryCacheExpirationTime: queryCacheExpirationTime
211
+ });
212
+ }
213
+
214
+ var Store = {
215
+ make: make,
216
+ makeLiveStore: makeLiveStore,
217
+ _makeLiveStoreCjs: _makeLiveStoreCjs
218
+ };
219
+
220
+ var RelayFieldLogger = {};
221
+
222
+ function make$1(network, store, getDataID, treatMissingFieldsAsNull, missingFieldHandlers, relayFieldLogger, isServer) {
223
+ return new RelayRuntime.Environment({
224
+ network: network,
225
+ store: store,
226
+ getDataID: getDataID,
227
+ treatMissingFieldsAsNull: treatMissingFieldsAsNull,
228
+ missingFieldHandlers: missingFieldHandlers !== undefined ? Belt_Array.concat(missingFieldHandlers, [nodeInterfaceMissingFieldHandler]) : [nodeInterfaceMissingFieldHandler],
229
+ relayFieldLogger: relayFieldLogger,
230
+ isServer: isServer
231
+ });
232
+ }
233
+
234
+ var Environment = {
235
+ make: make$1
236
+ };
237
+
238
+ function RescriptRelay$Context$Provider(props) {
239
+ var provider = ReactRelay.ReactRelayContext.Provider;
240
+ return React.createElement(provider, {
241
+ value: {
242
+ environment: props.environment
243
+ },
244
+ children: props.children
245
+ });
246
+ }
247
+
248
+ var Provider = {
249
+ make: RescriptRelay$Context$Provider
250
+ };
251
+
252
+ var Context = {
253
+ Provider: Provider
254
+ };
255
+
256
+ var EnvironmentNotFoundInContext = /* @__PURE__ */Caml_exceptions.create("RescriptRelay.EnvironmentNotFoundInContext");
257
+
258
+ function useEnvironmentFromContext() {
259
+ var context = React.useContext(ReactRelay.ReactRelayContext);
260
+ if (context !== undefined) {
261
+ return Caml_option.valFromOption(context).environment;
262
+ }
263
+ throw {
264
+ RE_EXN_ID: EnvironmentNotFoundInContext,
265
+ Error: new Error()
266
+ };
267
+ }
268
+
269
+ function MakeLoadQuery(C) {
270
+ var load = function (environment, variables, fetchPolicy, fetchKey, networkCacheConfig) {
271
+ return ReactRelay.loadQuery(environment, C.query, C.convertVariables(variables), {
272
+ fetchKey: fetchKey,
273
+ fetchPolicy: fetchPolicy,
274
+ networkCacheConfig: networkCacheConfig
275
+ });
276
+ };
277
+ var queryRefToObservable = function (token) {
278
+ return Caml_option.nullable_to_opt(token.source);
279
+ };
280
+ var queryRefToPromise = function (token) {
281
+ return new Promise((function (resolve, param) {
282
+ var o = queryRefToObservable(token);
283
+ if (o !== undefined) {
284
+ Caml_option.valFromOption(o).subscribe({
285
+ complete: (function () {
286
+ resolve({
287
+ TAG: "Ok",
288
+ _0: undefined
289
+ });
290
+ })
291
+ });
292
+ return ;
293
+ } else {
294
+ return resolve({
295
+ TAG: "Error",
296
+ _0: undefined
297
+ });
298
+ }
299
+ }));
300
+ };
301
+ return {
302
+ load: load,
303
+ queryRefToObservable: queryRefToObservable,
304
+ queryRefToPromise: queryRefToPromise
305
+ };
306
+ }
307
+
308
+ var Mutation_failed = /* @__PURE__ */Caml_exceptions.create("RescriptRelay.Mutation_failed");
309
+
310
+ exports.SuspenseSentinel = SuspenseSentinel;
311
+ exports.convertObj = convertObj;
312
+ exports.RecordProxy = RecordProxy;
313
+ exports.RecordSourceSelectorProxy = RecordSourceSelectorProxy;
314
+ exports.ReadOnlyRecordSourceProxy = ReadOnlyRecordSourceProxy;
315
+ exports.MissingFieldHandler = MissingFieldHandler;
316
+ exports.ConnectionHandler = ConnectionHandler;
317
+ exports.Observable = Observable;
318
+ exports.Network = Network;
319
+ exports.RecordSource = RecordSource;
320
+ exports.Store = Store;
321
+ exports.Disposable = Disposable;
322
+ exports.RelayFieldLogger = RelayFieldLogger;
323
+ exports.Environment = Environment;
324
+ exports.Context = Context;
325
+ exports.EnvironmentNotFoundInContext = EnvironmentNotFoundInContext;
326
+ exports.useEnvironmentFromContext = useEnvironmentFromContext;
327
+ exports.Mutation_failed = Mutation_failed;
328
+ exports.MakeLoadQuery = MakeLoadQuery;
329
+ /* nodeInterfaceMissingFieldHandler Not a pure module */