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.
- package/CHANGELOG.md +942 -0
- package/README.md +111 -0
- package/cli/cli.js +472 -0
- package/compiler.js +11 -0
- package/package.json +65 -0
- package/postinstall.js +189 -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/rescript.json +19 -0
- package/src/ReactDOMExperimental.bs.js +23 -0
- package/src/ReactDOMExperimental.res +16 -0
- package/src/ReactExperimental.bs.js +23 -0
- package/src/ReactExperimental.res +21 -0
- package/src/ReactExperimental.resi +18 -0
- package/src/RescriptRelay.bs.js +329 -0
- package/src/RescriptRelay.res +858 -0
- package/src/RescriptRelay.resi +897 -0
- package/src/RescriptRelayUtils.bs.js +76 -0
- package/src/RescriptRelayUtils.res +89 -0
- package/src/RescriptRelayUtils.resi +36 -0
- package/src/RescriptRelay_Fragment.bs.js +122 -0
- package/src/RescriptRelay_Fragment.res +243 -0
- package/src/RescriptRelay_Fragment.resi +85 -0
- package/src/RescriptRelay_Internal.bs.js +102 -0
- package/src/RescriptRelay_Internal.res +71 -0
- package/src/RescriptRelay_Internal.resi +20 -0
- package/src/RescriptRelay_Mutation.bs.js +57 -0
- package/src/RescriptRelay_Mutation.res +144 -0
- package/src/RescriptRelay_Mutation.resi +52 -0
- package/src/RescriptRelay_Query.bs.js +101 -0
- package/src/RescriptRelay_Query.res +177 -0
- package/src/RescriptRelay_Query.resi +62 -0
- package/src/RescriptRelay_RelayResolvers.bs.js +13 -0
- package/src/RescriptRelay_RelayResolvers.res +21 -0
- package/src/RescriptRelay_RelayResolvers.resi +10 -0
- package/src/RescriptRelay_Subscriptions.bs.js +24 -0
- package/src/RescriptRelay_Subscriptions.res +50 -0
- package/src/RescriptRelay_Subscriptions.resi +14 -0
- package/src/utils.js +418 -0
- 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 */
|