rescript-relay
Version:
Use Relay with ReScript.
94 lines (82 loc) • 2.83 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
;
let React = require("react");
let Stdlib_Array = require("@rescript/runtime/lib/js/Stdlib_Array.js");
let Stdlib_Option = require("@rescript/runtime/lib/js/Stdlib_Option.js");
let Primitive_object = require("@rescript/runtime/lib/js/Primitive_object.js");
let Primitive_option = require("@rescript/runtime/lib/js/Primitive_option.js");
function internal_keepMapFieldsRaw(record, f) {
return Stdlib_Option.map(record, obj => Object.fromEntries(Stdlib_Array.filterMap(Object.entries(obj), f)));
}
function internal_cleanObjectFromUndefinedRaw(record) {
let v = internal_keepMapFieldsRaw(record, param => {
let value = param[1];
if (value !== undefined) {
return [
param[0],
Primitive_option.valFromOption(value)
];
}
});
if (v !== undefined) {
return Primitive_option.valFromOption(v);
} else {
return {};
}
}
function internal_removeUndefinedAndConvertNullsRaw(record) {
return internal_keepMapFieldsRaw(record, param => {
let value = param[1];
let key = param[0];
let match = Primitive_object.equal(value, Primitive_option.some(undefined));
if (match) {
return [
key,
null
];
} else if (value !== undefined) {
return [
key,
Primitive_option.valFromOption(value)
];
} else {
return;
}
});
}
function internal_useConvertedValue(convert, v) {
return React.useMemo(() => convert(v), [v]);
}
function internal_nullableToOptionalExnHandler(x) {
if (x !== undefined) {
return maybeExn => x((maybeExn == null) ? undefined : Primitive_option.some(maybeExn));
}
}
let unwrapUnion = (function unwrapUnion(union, members) {
if (union != null && members.indexOf(union.__typename) === -1) {
return Object.assign({}, union, {__typename: "__unselected"});
}
return union;
});
function wrapUnion(union) {
return union;
}
let applyCodesplitMetadata = (function applyCodesplitMetadata(node, meta) {
if (node != null && node.params != null) {
let metadata = node.params.metadata;
if (metadata == null) {
node.params.metadata = {codesplits: meta}
} else if (typeof metadata === "object") {
node.params.metadata.codesplits = meta
}
}
return node;
});
exports.internal_useConvertedValue = internal_useConvertedValue;
exports.internal_cleanObjectFromUndefinedRaw = internal_cleanObjectFromUndefinedRaw;
exports.internal_removeUndefinedAndConvertNullsRaw = internal_removeUndefinedAndConvertNullsRaw;
exports.internal_nullableToOptionalExnHandler = internal_nullableToOptionalExnHandler;
exports.unwrapUnion = unwrapUnion;
exports.wrapUnion = wrapUnion;
exports.applyCodesplitMetadata = applyCodesplitMetadata;
/* react Not a pure module */