@@ -60,7 +60,7 @@ let jsErrorMessage = obj =>
6060 | None => "Unknown JavaScript error"
6161 }
6262
63- let insertTabIndent = (event : Dom .event ): option <string > => {
63+ let insertTabIndent = (event : Dom .event ): option <string > =>
6464 if event -> Event .key !== "Tab" {
6565 None
6666 } else {
@@ -78,9 +78,8 @@ let insertTabIndent = (event: Dom.event): option<string> => {
7878
7979 Some (nextValue )
8080 }
81- }
8281
83- let configureSourceEditor = (scrollHandler : Dom .event => unit ): unit => {
82+ let configureSourceEditor = (scrollHandler : Dom .event => unit ): unit =>
8483 Window .requestAnimationFrame (() =>
8584 switch Document .current -> Document .getElementById ("source-editor" ) {
8685 | None => ()
@@ -98,7 +97,6 @@ let configureSourceEditor = (scrollHandler: Dom.event => unit): unit => {
9897 }
9998 }
10099 )
101- }
102100
103101let lineNumbersText = source => {
104102 let lineCount = source -> String .split ("\n " )-> Array .length
@@ -596,12 +594,14 @@ module App = {
596594 @jsx.component
597595 let make = () => {
598596 let requestedCompilerVersion = UrlState .queryCompilerVersion (CompilerApi .defaultCompilerVersion )
597+
599598 let initialCompilerVersion =
600599 CompilerApi .availableCompilerVersions -> Array .some (version =>
601600 version .id === requestedCompilerVersion
602601 )
603602 ? requestedCompilerVersion
604603 : CompilerApi .defaultCompilerVersion
604+
605605 let initialModuleSystem = UrlState .queryModuleSystem (Esmodule )
606606 let initialWarnFlags = UrlState .queryWarnFlags (CompilerApi .defaultWarnFlags )
607607 let initialJsxPreserveMode = UrlState .queryJsxPreserveMode (false )
@@ -636,6 +636,7 @@ module App = {
636636 let syncEditorState = event => {
637637 let currentSource = Event .value (event )
638638 let cursorPosition = cursorPositionForOffset (currentSource , Event .selectionStart (event ))
639+
639640 Signal .set (editorScrollTop , Event .scrollTop (event ))
640641 Signal .set (editorScrollLeft , Event .scrollLeft (event ))
641642 Signal .set (activeLine , cursorPosition .line )
@@ -694,16 +695,15 @@ module App = {
694695 timerId := Some (Window .setTimeout (compileNow , 280 ))
695696 }
696697
697- let syncUrlNow = () => {
698+ let syncUrlNow = () =>
698699 UrlState .replaceUrlState (
699- Signal .peek (source ),
700- Signal .peek (compilerVersion ),
701- Signal .peek (moduleSystem ),
702- Signal .peek (warnFlags ),
703- Signal .peek (jsxPreserveMode ),
704- Signal .peek (experimentalFeatures ),
705- )-> ignore
706- }
700+ ~source = Signal .peek (source ),
701+ ~compilerVersion = Signal .peek (compilerVersion ),
702+ ~moduleSystem = Signal .peek (moduleSystem ),
703+ ~warnFlags = Signal .peek (warnFlags ),
704+ ~jsxPreserveMode = Signal .peek (jsxPreserveMode ),
705+ ~experimentalFeatures = Signal .peek (experimentalFeatures ),
706+ )-> Promise .ignore
707707
708708 let scheduleUrlSync = () => {
709709 switch urlTimerId .contents {
@@ -726,7 +726,7 @@ module App = {
726726 Signal .set (status , Compiling )
727727 try {
728728 switch await CompilerApi .format (sourceBeforeFormat , currentConfig ()) {
729- | Formatted (formattedSource ) =>
729+ | Ok (formattedSource ) =>
730730 if sequence === compileSequence .contents {
731731 if Signal .peek (source ) === sourceBeforeFormat {
732732 Signal .set (source , formattedSource )
@@ -740,7 +740,7 @@ module App = {
740740 Signal .set (status , Ready )
741741 }
742742 }
743- | FormatFailed (failure ) =>
743+ | Error (failure ) =>
744744 if sequence === compileSequence .contents {
745745 Signal .set (compileResult , Some (Error (failure )))
746746 Signal .set (status , Ready )
@@ -779,12 +779,12 @@ module App = {
779779
780780 let share = async () => {
781781 switch await UrlState .copyUrlState (
782- Signal .peek (source ),
783- Signal .peek (compilerVersion ),
784- Signal .peek (moduleSystem ),
785- Signal .peek (warnFlags ),
786- Signal .peek (jsxPreserveMode ),
787- Signal .peek (experimentalFeatures ),
782+ ~ source = Signal .peek (source ),
783+ ~ compilerVersion = Signal .peek (compilerVersion ),
784+ ~ moduleSystem = Signal .peek (moduleSystem ),
785+ ~ warnFlags = Signal .peek (warnFlags ),
786+ ~ jsxPreserveMode = Signal .peek (jsxPreserveMode ),
787+ ~ experimentalFeatures = Signal .peek (experimentalFeatures ),
788788 ) {
789789 | Ok () => showToast ("Link copied" )
790790 | Error (message ) => showToast (message )
0 commit comments