rescript-relay 0.22.0 → 0.23.0

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.
@@ -1 +1 @@
1
- module.exports=(()=>{"use strict";var e={338:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.find=void 0,t.find=function(e,t){return function(e,t){if(!e.includes("%relay"))return[];const n=e.match(/(?<=\[%relay)([\s\S]*?)(?=];)/g);if(n)return n.map((e=>({template:e.replace(/({\||\|})/g,""),keyName:null,sourceLocationOffset:{line:1,column:1}})));const r=e.match(/(?<=\%relay\([\s]*`)[\s\S.]+?(?=`[\s]*\))/g);return r?r.map((e=>({template:e,keyName:null,sourceLocationOffset:{line:1,column:1}}))):[]}(e)}},189:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateFromFlowTypes=void 0;const r=n(129),o=n(622);t.generateFromFlowTypes=e=>{var t;const n=r.spawnSync(o.resolve(o.join(__dirname,"../RescriptRelayBin.exe")),["generate-from-flow"],{cwd:__dirname,stdio:"pipe",encoding:"utf-8",input:JSON.stringify(e)});if(0!==n.status)throw null!==(t=n.error)&&void 0!==t?t:new Error("Error generating types");return n.output.filter(Boolean).join("")}},571:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transforms=t.generate=void 0;const r=n(791),o=n(224),a=n(148),i=n(354),s=n(189),l=n(602);function c(e){const t=Object.assign({Int:"int",Float:"float"},e);return Object.keys(t).forEach((e=>{t[e]=l.maskDots(t[e])})),t}t.generate=function(e,t,n){var a;let i=r.generate(e,t,Object.assign(Object.assign({},n),{customScalars:c(n.customScalars)}));const l=o.makeOperationDescriptor(t),d=o.extractOperationInfo(t);return s.generateFromFlowTypes({content:i,operation_type:["Query","Mutation","Subscription"].includes(l.tag)?{operation:l.tag,operation_value:l.value}:{operation:"Fragment",fragment_value:l.value},print_config:{variables_holding_connection_ids:null!==(a=d.variablesHoldingConnectionIds)&&void 0!==a?a:null,connection:d.connection?{at_object_path:d.connection.atObjectPath,field_name:d.connection.fieldName,key:d.connection.key}:null}})},t.transforms=[i.transform,a.transform,...r.transforms]},942:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=n(366),o=n(622);e.exports=({moduleName:e,documentType:t,concreteText:n,typeText:a,definition:i})=>{let s=null;"Source"===i.loc.kind&&(s=o.basename(i.loc.source.name));const l="ConcreteRequest"===t&&e.toLowerCase().endsWith("query_graphql")?"include RescriptRelay.MakeLoadQuery({\n type variables = Types.variables\n type loadedQueryRef = queryRef\n type response = Types.response\n type node = relayOperationNode\n let query = node\n let convertVariables = Internal.convertVariables\n });":"",{processedText:c,referencedNodes:d}=r.processConcreteText(n),u=`%raw(json\` ${c} \`)`;return[s?`/* @sourceLoc ${s} */`:null,a||"",...d.length>0?[`%%private(let makeNode = (${d.map((({identifier:e})=>e)).join(", ")}): operationType => {`,...d.map((({identifier:e})=>` ignore(${e})`)),` ${u}`,"})",`let node: operationType = makeNode(${d.map((({moduleName:e})=>`${e}_graphql.node`)).join(", ")})`]:[`let node: operationType = ${u}`],"",l,""].filter((e=>null!=e)).join("\n")}},602:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.unmaskDots=t.maskDots=void 0,t.maskDots=e=>e.split(".").join("__oo__"),t.unmaskDots=e=>e.split("__oo__").join(".")},607:(e,t,n)=>{const r=n(571),o=n(942),{find:a}=n(338),i=n(622),s=n(747);function l(e){return t=>{const n=i.join(e,t.relPath);let r="";try{r=s.readFileSync(n,"utf8")}catch(e){return console.warn(`RelaySourceModuleParser: Unable to read the file "${n}". Looks like it was removed.`),!1}return r.indexOf("%relay")>=0}}e.exports=()=>({inputExtensions:["re","res"],outputExtension:"res",schemaExtensions:[],typeGenerator:r,formatModule:o,findGraphQLTags:a,isGeneratedFile:e=>e.endsWith("_graphql.res")||e.endsWith(".js")||e.endsWith(".mjs"),keepExtraFile:e=>e.endsWith(".js")||e.endsWith(".mjs"),getFileFilter:l,getModuleName:e=>`${e}_graphql`})},224:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.makeOperationDescriptor=t.extractOperationInfo=void 0;const r=n(195);function o(e,t,n){if("Root"===e.kind&&["mutation","subscription"].includes(e.operation)){const e=t.directives.filter((e=>["appendNode","prependNode","appendEdge","prependEdge","deleteEdge"].includes(e.name)));e.length>0&&e.forEach((e=>{const t=e.args.find((e=>"connections"===e.name)),r=null==t?void 0:t.value;r&&"Variable"===r.kind&&(n.variablesHoldingConnectionIds?n.variablesHoldingConnectionIds.push(r.variableName):n.variablesHoldingConnectionIds=[r.variableName])}))}}t.extractOperationInfo=function(e){let t={};const n="Fragment"===e.kind?"fragment":"response";return n?(function e(n,a){r.IRVisitor.visit(a,{ScalarField(e){o(a,e,t)},LinkedField(e){const r=e.directives.find((e=>"connection"===e.name));if(r&&!t.connection){let o=null;r.args.forEach((e=>{"key"===e.name&&"Literal"===e.value.kind&&(o=e.value.value)})),o&&(t=Object.assign(Object.assign({},t),{connection:{key:o,atObjectPath:[...n],fieldName:e.alias}}))}o(a,e,t),n.push(e.alias)},InlineFragment(t){t.typeCondition.name&&t.selections.forEach((r=>{e([...n,t.typeCondition.name.toLowerCase()],r)}))}})}([n],e),t):t},t.makeOperationDescriptor=function(e){if("Root"===e.kind)switch(e.operation){case"mutation":return{tag:"Mutation",value:e.name};case"query":return{tag:"Query",value:e.name};case"subscription":return{tag:"Subscription",value:e.name}}else if("Fragment"==e.kind)return{tag:"Fragment",value:[e.name,Boolean(e.metadata&&e.metadata.plural)]};throw new Error("Could not map root node. This should not happen.")}},148:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transform=void 0;const r=n(724),{createUserError:o}=n(182),a=["and","as","asr","assert","begin","class","constraint","do","while","for","done","while","for","downto","else","end","exception","external","false","for","fun","function","functor","if","in","include","inherit","initializer","land","lazy","let","lor","lsl","lsr","lxor","match","method","mod","module","open","mutable","new","nonrec","object","of","open","open!","or","private","rec","let","module","sig","struct","then","to","true","try","type","val","virtual","val","method","class","when","while","with","switch"];let i=["fragment","t_fragment","subscription","mutation","response","variables","refetchVariables","t","fragmentRef","fragmentRefs","fragmentRefSelector","operationType"];function s(e){if(e.alias){let{disallowed:t,message:n}=function(e){let t=e[0];return/[A-Z]/.test(t)?{disallowed:!0,message:`Field names may not start with an uppercase letter. Please alias the '${e}' field to something starting with a lowercase letter.`}:a.includes(e)?{disallowed:!0,message:`'${e}' is a reserved keyword in ReasonML and therefore cannot be used as a field name. Please alias your field to something else.`}:i.includes(e)?{disallowed:!0,message:`'${e}' is a reserved keyword in RescriptRelay and therefore cannot be used as a field name. Please alias your field to something else.`}:{disallowed:!1,message:""}}(e.alias);if(t)throw o("Found an invalid field name: "+n,[e.loc])}e.selections&&e.selections.forEach(s)}function l(e){return s(e),e}t.transform=function(e){return r.transform(e,{ScalarField:l,LinkedField:l})}},354:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transform=void 0;const r=n(724),{createUserError:o}=n(182),{hasUnaliasedSelection:a}=n(124);function i(e){const t=this.getContext().getSchema();let n=this.traverse(e);if(t.isAbstractType(t.getRawType(n.type))&&!a(n,"__typename"))throw o('Unions and interfaces must have the field __typename explicitly selected. Please add __typename to the fields selected by "'+e.alias+'" in your operation.',[e.loc]);return n}t.transform=function(e){return r.transform(e,{LinkedField:i})}},366:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processConcreteText=void 0,t.processConcreteText=function(e){let t=/(require\('.\/)([A-Za-z_.0-9/]+)(.graphql.\w*'\))/gm,n=e;const r=[];let o;for(;null!==(o=t.exec(e));){let[e,t,a]=o;const i=`node_${a}`;r.push({moduleName:a,identifier:i}),n=n.replace(e,`node_${a}`)}return{processedText:n,referencedNodes:r}}},129:e=>{e.exports=require("child_process")},747:e=>{e.exports=require("fs")},622:e=>{e.exports=require("path")},195:e=>{e.exports=require("relay-compiler")},182:e=>{e.exports=require("relay-compiler/lib/core/CompilerError")},724:e=>{e.exports=require("relay-compiler/lib/core/IRTransformer")},791:e=>{e.exports=require("relay-compiler/lib/language/javascript/RelayFlowGenerator")},124:e=>{e.exports=require("relay-compiler/lib/transforms/TransformUtils")}},t={};return function n(r){if(t[r])return t[r].exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}(607)})();
1
+ module.exports=(()=>{"use strict";var e={338:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.find=void 0,t.find=function(e,t){return function(e,t){if(!e.includes("%relay"))return[];const n=e.match(/(?<=\[%relay)([\s\S]*?)(?=];)/g);if(n)return n.map((e=>({template:e.replace(/({\||\|})/g,""),keyName:null,sourceLocationOffset:{line:1,column:1}})));const r=e.match(/(?<=\%relay\([\s]*`)[\s\S.]+?(?=`[\s]*\))/g);return r?r.map((e=>({template:e,keyName:null,sourceLocationOffset:{line:1,column:1}}))):[]}(e)}},189:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateFromFlowTypes=void 0;const r=n(129),o=n(622);t.generateFromFlowTypes=e=>{var t;const n=r.spawnSync(o.resolve(o.join(__dirname,"../RescriptRelayBin.exe")),["generate-from-flow"],{cwd:__dirname,stdio:"pipe",encoding:"utf-8",input:JSON.stringify(e)});if(0!==n.status)throw null!==(t=n.error)&&void 0!==t?t:new Error("Error generating types");return n.output.filter(Boolean).join("")}},571:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transforms=t.generate=void 0;const r=n(791),o=n(224),a=n(148),i=n(354),s=n(189),l=n(602);function c(e){const t=Object.assign({Int:"int",Float:"float"},e);return Object.keys(t).forEach((e=>{t[e]=l.maskDots(t[e])})),t}t.generate=function(e,t,n){var a;let i=r.generate(e,t,Object.assign(Object.assign({},n),{customScalars:c(n.customScalars)}));const l=o.makeOperationDescriptor(t),d=o.extractOperationInfo(t);return s.generateFromFlowTypes({content:i,operation_type:["Query","Mutation","Subscription"].includes(l.tag)?{operation:l.tag,operation_value:l.value}:{operation:"Fragment",fragment_value:l.value},print_config:{variables_holding_connection_ids:null!==(a=d.variablesHoldingConnectionIds)&&void 0!==a?a:null,connection:d.connection?{at_object_path:d.connection.atObjectPath,field_name:d.connection.fieldName,key:d.connection.key}:null}})},t.transforms=[i.transform,a.transform,...r.transforms]},942:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=n(366),o=n(622);e.exports=({moduleName:e,documentType:t,concreteText:n,typeText:a,definition:i})=>{let s=null;"Source"===i.loc.kind&&(s=o.basename(i.loc.source.name));const l="ConcreteRequest"===t&&e.toLowerCase().endsWith("query_graphql")?"include RescriptRelay.MakeLoadQuery({\n type variables = Types.variables\n type loadedQueryRef = queryRef\n type response = Types.response\n type node = relayOperationNode\n let query = node\n let convertVariables = Internal.convertVariables\n });":"",{processedText:c,referencedNodes:d}=r.processConcreteText(n),u=`%raw(json\` ${c} \`)`;return[s?`/* @sourceLoc ${s} */`:null,a||"",...d.length>0?[`%%private(let makeNode = (${d.map((({identifier:e})=>e)).join(", ")}): operationType => {`,...d.map((({identifier:e})=>` ignore(${e})`)),` ${u}`,"})",`let node: operationType = makeNode(${d.map((({moduleName:e})=>`${e}_graphql.node`)).join(", ")})`]:[`let node: operationType = ${u}`],"",l,""].filter((e=>null!=e)).join("\n")}},602:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.unmaskDots=t.maskDots=void 0,t.maskDots=e=>e.split(".").join("__oo__"),t.unmaskDots=e=>e.split("__oo__").join(".")},607:(e,t,n)=>{const r=n(571),o=n(942),{find:a}=n(338),i=n(622),s=n(747);function l(e){return t=>{const n=i.join(e,t.relPath);let r="";try{r=s.readFileSync(n,"utf8")}catch(e){return console.warn(`RelaySourceModuleParser: Unable to read the file "${n}". Looks like it was removed.`),!1}return r.indexOf("%relay")>=0}}e.exports=()=>({inputExtensions:["re","res"],outputExtension:"res",schemaExtensions:[],typeGenerator:r,formatModule:o,findGraphQLTags:a,isGeneratedFile:e=>e.endsWith("_graphql.res")||e.endsWith(".js")||e.endsWith(".mjs"),keepExtraFile:e=>e.endsWith(".js")||e.endsWith(".mjs"),getFileFilter:l,getModuleName:e=>`${e}_graphql`})},224:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.makeOperationDescriptor=t.extractOperationInfo=void 0;const r=n(195);function o(e,t,n){if("Root"===e.kind&&["mutation","subscription"].includes(e.operation)){const e=t.directives.filter((e=>["appendNode","prependNode","appendEdge","prependEdge","deleteEdge"].includes(e.name)));e.length>0&&e.forEach((e=>{const t=e.args.find((e=>"connections"===e.name)),r=null==t?void 0:t.value;r&&"Variable"===r.kind&&(n.variablesHoldingConnectionIds?n.variablesHoldingConnectionIds.push(r.variableName):n.variablesHoldingConnectionIds=[r.variableName])}))}}t.extractOperationInfo=function(e){let t={};const n="Fragment"===e.kind?"fragment":"response";return n?(function e(n,a){r.IRVisitor.visit(a,{ScalarField(e){o(a,e,t)},LinkedField(e){const r=e.directives.find((e=>"connection"===e.name));if(r&&!t.connection){let o=null;r.args.forEach((e=>{"key"===e.name&&"Literal"===e.value.kind&&(o=e.value.value)})),o&&(t=Object.assign(Object.assign({},t),{connection:{key:o,atObjectPath:[...n],fieldName:e.alias}}))}o(a,e,t),n.push(e.alias)},InlineFragment(t){t.typeCondition.name&&t.selections.forEach((r=>{e([...n,t.typeCondition.name.toLowerCase()],r)}))}})}([n],e),t):t},t.makeOperationDescriptor=function(e){if("Root"===e.kind)switch(e.operation){case"mutation":return{tag:"Mutation",value:e.name};case"query":return{tag:"Query",value:e.name};case"subscription":return{tag:"Subscription",value:e.name}}else if("Fragment"==e.kind)return{tag:"Fragment",value:[e.name,Boolean(e.metadata&&e.metadata.plural)]};throw new Error("Could not map root node. This should not happen.")}},148:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transform=void 0;const r=n(724),{createUserError:o}=n(182),a=["and","as","asr","assert","begin","class","constraint","do","while","for","done","while","for","downto","else","end","exception","external","false","for","fun","function","functor","if","in","include","inherit","initializer","land","lazy","let","lor","lsl","lsr","lxor","match","method","mod","module","open","mutable","new","nonrec","object","of","open","open!","or","private","rec","let","module","sig","struct","then","to","true","try","type","val","virtual","val","method","class","when","while","with","switch"];let i=["fragment","t_fragment","subscription","mutation","response","variables","refetchVariables","t","fragmentRef","fragmentRefs","fragmentRefSelector","operationType"];function s(e){if(e.alias){let{disallowed:t,message:n}=function(e){let t=e[0];return/[A-Z]/.test(t)?{disallowed:!0,message:`Field names may not start with an uppercase letter. Please alias the '${e}' field to something starting with a lowercase letter.`}:a.includes(e)?{disallowed:!0,message:`'${e}' is a reserved keyword in ReasonML and therefore cannot be used as a field name. Please alias your field to something else.`}:i.includes(e)?{disallowed:!0,message:`'${e}' is a reserved keyword in RescriptRelay and therefore cannot be used as a field name. Please alias your field to something else.`}:{disallowed:!1,message:""}}(e.alias);if(t)throw o("Found an invalid field name: "+n,[e.loc])}e.selections&&e.selections.forEach(s)}function l(e){return s(e),e}t.transform=function(e){return r.transform(e,{ScalarField:l,LinkedField:l})}},354:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.transform=void 0;const r=n(724),{createUserError:o}=n(182),{hasUnaliasedSelection:a}=n(124);function i(e){const t=this.getContext().getSchema();let n=this.traverse(e);if(t.isAbstractType(t.getRawType(n.type))&&!a(n,"__typename"))throw o('Unions and interfaces must have the field __typename explicitly selected. Please add __typename to the fields selected by "'+e.alias+'" in your operation.',[e.loc]);return n}t.transform=function(e){return r.transform(e,{LinkedField:i})}},366:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processConcreteText=void 0,t.processConcreteText=function(e){let t=/(require\('.\/)([A-Za-z_.0-9/]+)(.graphql'\))/gm,n=e;const r=[];let o;for(;null!==(o=t.exec(e));){let[e,t,a]=o;const i=`node_${a}`;r.push({moduleName:a,identifier:i}),n=n.replace(e,`node_${a}`)}return{processedText:n,referencedNodes:r}}},129:e=>{e.exports=require("child_process")},747:e=>{e.exports=require("fs")},622:e=>{e.exports=require("path")},195:e=>{e.exports=require("relay-compiler")},182:e=>{e.exports=require("relay-compiler/lib/core/CompilerError")},724:e=>{e.exports=require("relay-compiler/lib/core/IRTransformer")},791:e=>{e.exports=require("relay-compiler/lib/language/javascript/RelayFlowGenerator")},124:e=>{e.exports=require("relay-compiler/lib/transforms/TransformUtils")}},t={};return function n(r){if(t[r])return t[r].exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}(607)})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rescript-relay",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "main": "src/RescriptRelay.res",
5
5
  "license": "MIT",
6
6
  "author": "Gabriel Nordeborn",
@@ -32,27 +32,25 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@rescript/react": "0.10.3",
35
- "@testing-library/jest-dom": "^4.2.4",
36
- "@testing-library/react": "^9.4.0",
35
+ "@testing-library/jest-dom": "^5.16.1",
36
+ "@testing-library/react": "^13.0.0-alpha.5",
37
37
  "bs-fetch": "^0.5.0",
38
38
  "graphql": "14.5.0",
39
39
  "graphql-query-test-mock": "^0.12.1",
40
- "jest": "^24.9.0",
40
+ "jest": "^27.2.4",
41
41
  "nock": "^11.7.0",
42
42
  "node-fetch": "^2.6.0",
43
- "react": "0.0.0-experimental-4e08fb10c",
44
- "react-dom": "0.0.0-experimental-4e08fb10c",
45
- "react-relay": "^11.0.0",
46
- "reason-promise": "^1.0.2",
47
- "relay-compiler": "^11.0.0",
48
- "relay-config": "^11.0.0",
49
- "relay-runtime": "^11.0.0"
43
+ "react": "^18.0.0-rc.0",
44
+ "react-dom": "^18.0.0-rc.0",
45
+ "react-relay": "12.0.0",
46
+ "relay-compiler": "12.0.0",
47
+ "relay-config": "12.0.0",
48
+ "relay-runtime": "12.0.0"
50
49
  },
51
50
  "peerDependencies": {
52
51
  "@rescript/react": "*",
53
52
  "graphql": "*",
54
53
  "react-relay": "*",
55
- "reason-promise": "^1.0.2",
56
54
  "relay-compiler": "*",
57
55
  "relay-config": "*",
58
56
  "relay-runtime": "*",
@@ -63,7 +61,7 @@
63
61
  "rescript": "^9.1.2"
64
62
  },
65
63
  "resolutions": {
66
- "react": "0.0.0-experimental-4e08fb10c",
67
- "react-dom": "0.0.0-experimental-4e08fb10c"
64
+ "react": "18.0.0-rc.0",
65
+ "react-dom": "18.0.0-rc.0"
68
66
  }
69
67
  }
package/ppx-darwin CHANGED
Binary file
package/ppx-linux CHANGED
Binary file
@@ -1,2 +1,20 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
- /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
2
+ 'use strict';
3
+
4
+ var ReactDom = require("react-dom");
5
+
6
+ function renderConcurrentRootAtElementWithId(content, id) {
7
+ var element = document.getElementById(id);
8
+ if (element == null) {
9
+ throw {
10
+ RE_EXN_ID: "Invalid_argument",
11
+ _1: "ReactExperimental.renderConcurrentRootAtElementWithId : no element of id " + id + " found in the HTML.",
12
+ Error: new Error()
13
+ };
14
+ }
15
+ ReactDom.createRoot(element).render(content);
16
+
17
+ }
18
+
19
+ exports.renderConcurrentRootAtElementWithId = renderConcurrentRootAtElementWithId;
20
+ /* react-dom Not a pure module */
@@ -1,7 +1,20 @@
1
1
  include ReactDOM.Experimental
2
2
 
3
3
  @module("react-dom")
4
- external unstable_createRoot: Dom.element => root = "unstable_createRoot"
4
+ external createRoot: Dom.element => root = "createRoot"
5
5
 
6
- @module("react-dom")
7
- external unstable_createBlockingRoot: Dom.element => root = "unstable_createBlockingRoot"
6
+ @val @return(nullable)
7
+ external getElementById: string => option<Dom.element> = "document.getElementById"
8
+
9
+ let renderConcurrentRootAtElementWithId: (React.element, string) => unit = (content, id) =>
10
+ switch getElementById(id) {
11
+ | None =>
12
+ raise(
13
+ Invalid_argument(
14
+ "ReactExperimental.renderConcurrentRootAtElementWithId : no element of id " ++
15
+ id ++ " found in the HTML.",
16
+ ),
17
+ )
18
+ | Some(element) =>
19
+ createRoot(element)->render(content)
20
+ }
@@ -1,23 +1,8 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
  'use strict';
3
3
 
4
- var ReactDom = require("react-dom");
5
4
 
6
5
  var SuspenseList = {};
7
6
 
8
- function renderConcurrentRootAtElementWithId(content, id) {
9
- var element = document.getElementById(id);
10
- if (element == null) {
11
- throw {
12
- RE_EXN_ID: "Invalid_argument",
13
- _1: "ReactExperimental.renderConcurrentRootAtElementWithId : no element of id " + id + " found in the HTML.",
14
- Error: new Error()
15
- };
16
- }
17
- ReactDom.unstable_createRoot(element).render(content);
18
-
19
- }
20
-
21
7
  exports.SuspenseList = SuspenseList;
22
- exports.renderConcurrentRootAtElementWithId = renderConcurrentRootAtElementWithId;
23
- /* react-dom Not a pure module */
8
+ /* No side effect */
@@ -1,32 +1,16 @@
1
1
  type callback<'input, 'output> = 'input => 'output
2
2
 
3
3
  @module("react")
4
- external unstable_useDeferredValue: 'value => 'value = "unstable_useDeferredValue"
4
+ external useDeferredValue: 'value => 'value = "useDeferredValue"
5
5
 
6
6
  @module("react")
7
- external unstable_useTransition: unit => (callback<callback<unit, unit>, unit>, bool) =
8
- "unstable_useTransition"
7
+ external useTransition: unit => (bool, callback<callback<unit, unit>, unit>) =
8
+ "useTransition"
9
9
 
10
10
  module SuspenseList = {
11
11
  @module("react") @react.component
12
12
  external make: (
13
13
  ~children: React.element,
14
14
  ~revealOrder: [#forwards | #backwards | #together]=?,
15
- ) => React.element = "unstable_SuspenseList"
15
+ ) => React.element = "SuspenseList"
16
16
  }
17
-
18
- @val @return(nullable)
19
- external getElementById: string => option<Dom.element> = "document.getElementById"
20
-
21
- let renderConcurrentRootAtElementWithId: (React.element, string) => unit = (content, id) =>
22
- switch getElementById(id) {
23
- | None =>
24
- raise(
25
- Invalid_argument(
26
- "ReactExperimental.renderConcurrentRootAtElementWithId : no element of id " ++
27
- id ++ " found in the HTML.",
28
- ),
29
- )
30
- | Some(element) =>
31
- ReactDOMExperimental.unstable_createRoot(element)->ReactDOMExperimental.render(content)
32
- }
@@ -4,7 +4,6 @@
4
4
  var Curry = require("rescript/lib/js/curry.js");
5
5
  var React = require("react");
6
6
  var Utils = require("./utils");
7
- var $$Promise = require("reason-promise/src/js/promise.bs.js");
8
7
  var Belt_Array = require("rescript/lib/js/belt_Array.js");
9
8
  var Caml_option = require("rescript/lib/js/caml_option.js");
10
9
  var ReactRelay = require("react-relay");
@@ -220,25 +219,25 @@ function MakeLoadQuery(C) {
220
219
  return Caml_option.nullable_to_opt(token.source);
221
220
  };
222
221
  var queryRefToPromise = function (token) {
223
- var match = $$Promise.pending(undefined);
224
- var resolve = match[1];
225
- var o = queryRefToObservable(token);
226
- if (o !== undefined) {
227
- Caml_option.valFromOption(o).subscribe({
228
- complete: (function (param) {
229
- return Curry._1(resolve, {
230
- TAG: /* Ok */0,
231
- _0: undefined
232
- });
233
- })
234
- });
235
- } else {
236
- Curry._1(resolve, {
237
- TAG: /* Error */1,
238
- _0: undefined
239
- });
240
- }
241
- return match[0];
222
+ return new Promise((function (resolve, param) {
223
+ var o = queryRefToObservable(token);
224
+ if (o !== undefined) {
225
+ Caml_option.valFromOption(o).subscribe({
226
+ complete: (function (param) {
227
+ return resolve({
228
+ TAG: /* Ok */0,
229
+ _0: undefined
230
+ });
231
+ })
232
+ });
233
+ return ;
234
+ } else {
235
+ return resolve({
236
+ TAG: /* Error */1,
237
+ _0: undefined
238
+ });
239
+ }
240
+ }));
242
241
  };
243
242
  return {
244
243
  load: load,
@@ -471,7 +471,7 @@ module Observable = {
471
471
  @send
472
472
  external subscribe: (t<'response>, observer<'response>) => subscription = "subscribe"
473
473
 
474
- @send external toPromise: t<'t> => Promise.t<'t> = "toPromise"
474
+ @send external toPromise: t<'t> => Js.Promise.t<'t> = "toPromise"
475
475
  }
476
476
 
477
477
  module Network = {
@@ -709,18 +709,16 @@ module MakeLoadQuery = (C: MakeLoadQueryConfig) => {
709
709
  }
710
710
 
711
711
  let queryRefToPromise = token => {
712
- let (promise, resolve) = Promise.pending()
713
-
714
- switch token->queryRefToObservable {
715
- | None => resolve(Error())
716
- | Some(o) =>
717
- let _: Observable.subscription = o->{
718
- open Observable
719
- subscribe(makeObserver(~complete=() => resolve(Ok()), ()))
712
+ Js.Promise.make((~resolve, ~reject as _) => {
713
+ switch token->queryRefToObservable {
714
+ | None => resolve(. Error())
715
+ | Some(o) =>
716
+ let _: Observable.subscription = o->{
717
+ open Observable
718
+ subscribe(makeObserver(~complete=() => resolve(. Ok()), ()))
719
+ }
720
720
  }
721
- }
722
-
723
- promise
721
+ })
724
722
  }
725
723
  }
726
724
 
@@ -636,7 +636,7 @@ module Observable: {
636
636
  "Turns an `Observable` into a promise. _Beware_ that reading the response in the resulting promise is currently _not safe_ due to some internals of how ReScript Relay works. This will be resolved in the future."
637
637
  )
638
638
  @send
639
- external toPromise: t<'t> => Promise.t<'t> = "toPromise"
639
+ external toPromise: t<'t> => Js.Promise.t<'t> = "toPromise"
640
640
  }
641
641
 
642
642
  @ocaml.doc("Represents the network layer.")
@@ -885,5 +885,5 @@ module MakeLoadQuery: (C: MakeLoadQueryConfig) =>
885
885
  ) => C.loadedQueryRef
886
886
 
887
887
  let queryRefToObservable: C.loadedQueryRef => option<Observable.t<C.response>>
888
- let queryRefToPromise: C.loadedQueryRef => Promise.t<Belt.Result.t<unit, unit>>
888
+ let queryRefToPromise: C.loadedQueryRef => Js.Promise.t<Belt.Result.t<unit, unit>>
889
889
  }
@@ -242,8 +242,8 @@ function RescriptRelayRouter$RouteRenderer(Props) {
242
242
  });
243
243
  var initialized = match[0];
244
244
  var router = React.useContext(context);
245
- var match$1 = React.unstable_useTransition();
246
- var startTransition = match$1[0];
245
+ var match$1 = React.useTransition();
246
+ var startTransition = match$1[1];
247
247
  var match$2 = React.useState(function () {
248
248
  return Curry._1(router.get, undefined);
249
249
  });
@@ -281,7 +281,7 @@ function RescriptRelayRouter$RouteRenderer(Props) {
281
281
  var match$4 = routeEntry.route;
282
282
  var renderedContent = initialized && match$4 !== undefined ? Caml_option.some(Curry._1(match$4.render, routeEntry.url)) : undefined;
283
283
  if (initialized) {
284
- return React.createElement(React.Fragment, undefined, renderPending !== undefined ? Curry._1(renderPending, match$1[1]) : null, React.createElement(React.Suspense, {
284
+ return React.createElement(React.Fragment, undefined, renderPending !== undefined ? Curry._1(renderPending, match$1[0]) : null, React.createElement(React.Suspense, {
285
285
  children: renderedContent !== undefined ? Caml_option.valFromOption(renderedContent) : (
286
286
  renderNotFound !== undefined ? Curry._1(renderNotFound, routeEntry.url) : null
287
287
  ),
@@ -233,7 +233,7 @@ module RouteRenderer = {
233
233
  let (initialized, setInitialized) = React.useState(() => false)
234
234
  let router = use()
235
235
 
236
- let (startTransition, isPending) = ReactExperimental.unstable_useTransition()
236
+ let (isPending, startTransition) = ReactExperimental.useTransition()
237
237
 
238
238
  let (routeEntry, setRouteEntry) = React.useState(() => router.get())
239
239