firefly-compiler 0.5.77 → 0.5.79

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 (161) hide show
  1. package/bin/firefly.mjs +1 -1
  2. package/compiler/Builder.ff +1 -1
  3. package/compiler/Compiler.ff +7 -3
  4. package/compiler/JsEmitter.ff +1573 -623
  5. package/compiler/Main.ff +7 -2
  6. package/compiler/SourceMap.ff +149 -0
  7. package/core/Buffer.ff +2 -1
  8. package/core/BuildSystem.ff +3 -1
  9. package/core/Core.ff +4 -4
  10. package/core/Error.ff +7 -1
  11. package/core/Js.ff +17 -0
  12. package/firefly.sh +1 -1
  13. package/fireflysite/Html.ff +15 -2
  14. package/fireflysite/Main.ff +2 -1
  15. package/output/js/ff/compiler/Builder.mjs +5 -46
  16. package/output/js/ff/compiler/Builder.mjs.map +181 -0
  17. package/output/js/ff/compiler/Compiler.mjs +23 -16
  18. package/output/js/ff/compiler/Compiler.mjs.map +155 -0
  19. package/output/js/ff/compiler/Dependencies.mjs +12 -14
  20. package/output/js/ff/compiler/Dependencies.mjs.map +128 -0
  21. package/output/js/ff/compiler/DependencyLock.mjs +1 -4
  22. package/output/js/ff/compiler/DependencyLock.mjs.map +22 -0
  23. package/output/js/ff/compiler/Deriver.mjs +10 -11
  24. package/output/js/ff/compiler/Deriver.mjs.map +204 -0
  25. package/output/js/ff/compiler/Dictionaries.mjs +12 -13
  26. package/output/js/ff/compiler/Dictionaries.mjs.map +183 -0
  27. package/output/js/ff/compiler/Environment.mjs +24 -27
  28. package/output/js/ff/compiler/Environment.mjs.map +141 -0
  29. package/output/js/ff/compiler/Inference.mjs +85 -94
  30. package/output/js/ff/compiler/Inference.mjs.map +355 -0
  31. package/output/js/ff/compiler/JsEmitter.mjs +3730 -1682
  32. package/output/js/ff/compiler/JsEmitter.mjs.map +423 -0
  33. package/output/js/ff/compiler/JsImporter.mjs +9 -12
  34. package/output/js/ff/compiler/JsImporter.mjs.map +52 -0
  35. package/output/js/ff/compiler/LspHook.mjs +17 -18
  36. package/output/js/ff/compiler/LspHook.mjs.map +140 -0
  37. package/output/js/ff/compiler/Main.mjs +69 -69
  38. package/output/js/ff/compiler/Main.mjs.map +231 -0
  39. package/output/js/ff/compiler/ModuleCache.mjs +1 -4
  40. package/output/js/ff/compiler/ModuleCache.mjs.map +82 -0
  41. package/output/js/ff/compiler/Parser.mjs +58 -61
  42. package/output/js/ff/compiler/Parser.mjs.map +406 -0
  43. package/output/js/ff/compiler/Patterns.mjs +19 -22
  44. package/output/js/ff/compiler/Patterns.mjs.map +119 -0
  45. package/output/js/ff/compiler/Resolver.mjs +42 -41
  46. package/output/js/ff/compiler/Resolver.mjs.map +294 -0
  47. package/output/js/ff/compiler/SourceMap.mjs +402 -0
  48. package/output/js/ff/compiler/SourceMap.mjs.map +83 -0
  49. package/output/js/ff/compiler/Substitution.mjs +1 -4
  50. package/output/js/ff/compiler/Substitution.mjs.map +138 -0
  51. package/output/js/ff/compiler/Syntax.mjs +252 -251
  52. package/output/js/ff/compiler/Syntax.mjs.map +351 -0
  53. package/output/js/ff/compiler/Token.mjs +17 -22
  54. package/output/js/ff/compiler/Token.mjs.map +113 -0
  55. package/output/js/ff/compiler/Tokenizer.mjs +5 -12
  56. package/output/js/ff/compiler/Tokenizer.mjs.map +101 -0
  57. package/output/js/ff/compiler/Unification.mjs +32 -33
  58. package/output/js/ff/compiler/Unification.mjs.map +135 -0
  59. package/output/js/ff/compiler/Wildcards.mjs +1 -4
  60. package/output/js/ff/compiler/Wildcards.mjs.map +69 -0
  61. package/output/js/ff/compiler/Workspace.mjs +17 -16
  62. package/output/js/ff/compiler/Workspace.mjs.map +96 -0
  63. package/output/js/ff/core/Any.mjs +1 -4
  64. package/output/js/ff/core/Any.mjs.map +21 -0
  65. package/output/js/ff/core/Array.mjs +14 -15
  66. package/output/js/ff/core/Array.mjs.map +90 -0
  67. package/output/js/ff/core/AssetSystem.mjs +1 -4
  68. package/output/js/ff/core/AssetSystem.mjs.map +56 -0
  69. package/output/js/ff/core/Atomic.mjs +1 -4
  70. package/output/js/ff/core/Atomic.mjs.map +24 -0
  71. package/output/js/ff/core/Bool.mjs +4 -9
  72. package/output/js/ff/core/Bool.mjs.map +19 -0
  73. package/output/js/ff/core/BrowserSystem.mjs +1 -8
  74. package/output/js/ff/core/BrowserSystem.mjs.map +47 -0
  75. package/output/js/ff/core/Buffer.mjs +18 -17
  76. package/output/js/ff/core/Buffer.mjs.map +123 -0
  77. package/output/js/ff/core/BuildSystem.mjs +7 -10
  78. package/output/js/ff/core/BuildSystem.mjs.map +87 -0
  79. package/output/js/ff/core/Channel.mjs +1 -4
  80. package/output/js/ff/core/Channel.mjs.map +67 -0
  81. package/output/js/ff/core/Char.mjs +1 -8
  82. package/output/js/ff/core/Char.mjs.map +21 -0
  83. package/output/js/ff/core/Core.mjs +9 -16
  84. package/output/js/ff/core/Core.mjs.map +38 -0
  85. package/output/js/ff/core/Crypto.mjs +1 -4
  86. package/output/js/ff/core/Crypto.mjs.map +65 -0
  87. package/output/js/ff/core/Date.mjs +8 -7
  88. package/output/js/ff/core/Date.mjs.map +168 -0
  89. package/output/js/ff/core/Duration.mjs +4 -9
  90. package/output/js/ff/core/Duration.mjs.map +18 -0
  91. package/output/js/ff/core/Equal.mjs +9 -14
  92. package/output/js/ff/core/Equal.mjs.map +22 -0
  93. package/output/js/ff/core/Error.mjs +33 -10
  94. package/output/js/ff/core/Error.mjs.map +34 -0
  95. package/output/js/ff/core/FileHandle.mjs +1 -8
  96. package/output/js/ff/core/FileHandle.mjs.map +32 -0
  97. package/output/js/ff/core/Float.mjs +4 -5
  98. package/output/js/ff/core/Float.mjs.map +93 -0
  99. package/output/js/ff/core/HttpClient.mjs +1 -4
  100. package/output/js/ff/core/HttpClient.mjs.map +62 -0
  101. package/output/js/ff/core/Int.mjs +4 -9
  102. package/output/js/ff/core/Int.mjs.map +49 -0
  103. package/output/js/ff/core/IntMap.mjs +3 -6
  104. package/output/js/ff/core/IntMap.mjs.map +52 -0
  105. package/output/js/ff/core/Js.mjs +29 -8
  106. package/output/js/ff/core/Js.mjs.map +125 -0
  107. package/output/js/ff/core/JsSystem.mjs +1 -8
  108. package/output/js/ff/core/JsSystem.mjs.map +59 -0
  109. package/output/js/ff/core/JsValue.mjs +23 -42
  110. package/output/js/ff/core/JsValue.mjs.map +155 -0
  111. package/output/js/ff/core/Json.mjs +25 -26
  112. package/output/js/ff/core/Json.mjs.map +134 -0
  113. package/output/js/ff/core/List.mjs +11 -12
  114. package/output/js/ff/core/List.mjs.map +123 -0
  115. package/output/js/ff/core/Lock.mjs +7 -14
  116. package/output/js/ff/core/Lock.mjs.map +52 -0
  117. package/output/js/ff/core/Log.mjs +1 -8
  118. package/output/js/ff/core/Log.mjs.map +26 -0
  119. package/output/js/ff/core/Map.mjs +6 -7
  120. package/output/js/ff/core/Map.mjs.map +67 -0
  121. package/output/js/ff/core/NodeSystem.mjs +11 -14
  122. package/output/js/ff/core/NodeSystem.mjs.map +137 -0
  123. package/output/js/ff/core/Nothing.mjs +1 -10
  124. package/output/js/ff/core/Nothing.mjs.map +11 -0
  125. package/output/js/ff/core/Option.mjs +10 -15
  126. package/output/js/ff/core/Option.mjs.map +67 -0
  127. package/output/js/ff/core/Ordering.mjs +12 -13
  128. package/output/js/ff/core/Ordering.mjs.map +48 -0
  129. package/output/js/ff/core/Pair.mjs +8 -13
  130. package/output/js/ff/core/Pair.mjs.map +48 -0
  131. package/output/js/ff/core/Path.mjs +5 -14
  132. package/output/js/ff/core/Path.mjs.map +178 -0
  133. package/output/js/ff/core/Queue.mjs +1 -4
  134. package/output/js/ff/core/Queue.mjs.map +45 -0
  135. package/output/js/ff/core/Random.mjs +1 -4
  136. package/output/js/ff/core/Random.mjs.map +79 -0
  137. package/output/js/ff/core/RbMap.mjs +1 -16
  138. package/output/js/ff/core/RbMap.mjs.map +92 -0
  139. package/output/js/ff/core/Serializable.mjs +17 -22
  140. package/output/js/ff/core/Serializable.mjs.map +73 -0
  141. package/output/js/ff/core/Set.mjs +6 -7
  142. package/output/js/ff/core/Set.mjs.map +45 -0
  143. package/output/js/ff/core/Show.mjs +11 -20
  144. package/output/js/ff/core/Show.mjs.map +29 -0
  145. package/output/js/ff/core/SourceLocation.mjs +7 -8
  146. package/output/js/ff/core/SourceLocation.mjs.map +41 -0
  147. package/output/js/ff/core/Stream.mjs +1 -4
  148. package/output/js/ff/core/Stream.mjs.map +92 -0
  149. package/output/js/ff/core/String.mjs +14 -19
  150. package/output/js/ff/core/String.mjs.map +106 -0
  151. package/output/js/ff/core/StringMap.mjs +3 -6
  152. package/output/js/ff/core/StringMap.mjs.map +52 -0
  153. package/output/js/ff/core/Task.mjs +1 -8
  154. package/output/js/ff/core/Task.mjs.map +79 -0
  155. package/output/js/ff/core/Try.mjs +3 -6
  156. package/output/js/ff/core/Try.mjs.map +41 -0
  157. package/output/js/ff/core/Unit.mjs +5 -12
  158. package/output/js/ff/core/Unit.mjs.map +18 -0
  159. package/package.json +1 -2
  160. package/vscode/package.json +1 -1
  161. package/webserver/WebServer.ff +1 -1
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  import * as ff_core_Any from "../../ff/core/Any.mjs"
4
2
 
5
3
  import * as ff_core_Array from "../../ff/core/Array.mjs"
@@ -97,8 +95,6 @@ import * as ff_core_Unit from "../../ff/core/Unit.mjs"
97
95
  // type Buffer
98
96
 
99
97
 
100
-
101
-
102
98
  export function new_(size_, shared_ = false) {
103
99
  return (new DataView((shared_
104
100
  ? (new SharedArrayBuffer(size_))
@@ -218,7 +214,7 @@ const low_ = self_.getUint32((byteOffset_ + (littleEndian_
218
214
  : 4)), littleEndian_);
219
215
  const result_ = ((high_ * 0x100000000) + low_);
220
216
  if((!Number.isSafeInteger(result_))) {
221
- ff_core_Core.throw_(ff_core_Core.GrabException(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
217
+ throw ff_core_Js.initializeError_(ff_core_Core.GrabException(), new Error(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
222
218
  };
223
219
  return result_
224
220
  }
@@ -232,7 +228,7 @@ const low_ = self_.getUint32((byteOffset_ + (littleEndian_
232
228
  : 4)), littleEndian_);
233
229
  const result_ = ((high_ * 0x100000000) + low_);
234
230
  if((!Number.isSafeInteger(result_))) {
235
- ff_core_Core.throw_(ff_core_Core.GrabException(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
231
+ throw ff_core_Js.initializeError_(ff_core_Core.GrabException(), new Error(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
236
232
  };
237
233
  return result_
238
234
  }
@@ -346,10 +342,11 @@ if((encoding_ === "utf8")) {
346
342
  if(((typeof TextDecoder.ffSingleton) === "undefined")) {
347
343
  TextDecoder.ffSingleton = (new TextDecoder())
348
344
  };
349
- TextDecoder.ffSingleton.decode(self_)
350
- };
345
+ return TextDecoder.ffSingleton.decode(self_)
346
+ } else {
351
347
  return (new TextDecoder()).decode(self_)
352
348
  }
349
+ }
353
350
 
354
351
  export function Buffer_toByteList(self_) {
355
352
  return [...(new Uint8Array(self_.buffer, self_.byteOffset, self_.byteLength))]
@@ -391,7 +388,7 @@ const low_ = self_.getUint32((byteOffset_ + (littleEndian_
391
388
  : 4)), littleEndian_);
392
389
  const result_ = ((high_ * 0x100000000) + low_);
393
390
  if((!Number.isSafeInteger(result_))) {
394
- ff_core_Core.throw_(ff_core_Core.GrabException(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
391
+ throw ff_core_Js.initializeError_(ff_core_Core.GrabException(), new Error(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
395
392
  };
396
393
  return result_
397
394
  }
@@ -405,7 +402,7 @@ const low_ = self_.getUint32((byteOffset_ + (littleEndian_
405
402
  : 4)), littleEndian_);
406
403
  const result_ = ((high_ * 0x100000000) + low_);
407
404
  if((!Number.isSafeInteger(result_))) {
408
- ff_core_Core.throw_(ff_core_Core.GrabException(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
405
+ throw ff_core_Js.initializeError_(ff_core_Core.GrabException(), new Error(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException, ff_core_Core.ff_core_Show_Show$ff_core_Core_GrabException)
409
406
  };
410
407
  return result_
411
408
  }
@@ -519,10 +516,11 @@ if((encoding_ === "utf8")) {
519
516
  if(((typeof TextDecoder.ffSingleton) === "undefined")) {
520
517
  TextDecoder.ffSingleton = (new TextDecoder())
521
518
  };
522
- TextDecoder.ffSingleton.decode(self_)
523
- };
519
+ return TextDecoder.ffSingleton.decode(self_)
520
+ } else {
524
521
  return (new TextDecoder()).decode(self_)
525
522
  }
523
+ }
526
524
 
527
525
  export async function Buffer_toByteList$(self_, $task) {
528
526
  return [...(new Uint8Array(self_.buffer, self_.byteOffset, self_.byteLength))]
@@ -557,11 +555,11 @@ return ff_core_Buffer.Buffer_toString(result_, "utf8")
557
555
 
558
556
  export const ff_core_Show_Show$ff_core_Buffer_Buffer = {
559
557
  show_(value_) {
560
- return ((`Buffer.fromHex("` + ff_core_Buffer.Buffer_toHex(value_)) + `")`)
558
+ return (("Buffer.fromHex(\"" + ff_core_Buffer.Buffer_toHex(value_)) + "\")")
561
559
  },
562
560
  async show_$(value_, $task) {
563
- return ((`Buffer.fromHex("` + ff_core_Buffer.Buffer_toHex(value_)) + `")`)
564
- }
561
+ return (("Buffer.fromHex(\"" + ff_core_Buffer.Buffer_toHex(value_)) + "\")")
562
+ },
565
563
  };
566
564
 
567
565
  export const ff_core_Equal_Equal$ff_core_Buffer_Buffer = {
@@ -616,7 +614,7 @@ return same_
616
614
  }
617
615
  }
618
616
  }
619
- }
617
+ },
620
618
  };
621
619
 
622
620
  export const ff_core_Ordering_Order$ff_core_Buffer_Buffer = {
@@ -663,5 +661,8 @@ return ff_core_Ordering.fromInt_((ff_core_Buffer.Buffer_size(x_) - ff_core_Buffe
663
661
  return ordering_
664
662
  }
665
663
  }
666
- }
664
+ },
667
665
  };
666
+
667
+
668
+ //# sourceMappingURL=Buffer.mjs.map
@@ -0,0 +1,123 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [
4
+ "../../../../../core/Buffer.ff"
5
+ ],
6
+ "sourcesContent": [
7
+ "class Buffer {}\r\n\r\nnew(size: Int, shared: Bool = False): Buffer {\r\n Js->DataView->(if(shared) {Js->SharedArrayBuffer->(size)} else {Js->ArrayBuffer->(size)})?\r\n}\r\n\r\nextend self: Buffer {\r\n\r\n /*grabBigInt64(byteOffset: Int, littleEndian: Bool = True): BigInt\r\n target js sync \"return self_.getBigInt64(byteOffset_, littleEndian_)\"*/\r\n\r\n /*grabBigUint64(byteOffset: Int, littleEndian: Bool = True): BigInt\r\n target js sync \"return self_.getBigUint64(byteOffset_, littleEndian_)\"*/\r\n\r\n grabUint64(byteOffset: Int, littleEndian: Bool = True): Int {\r\n let high = self!->getUint32(byteOffset + if(littleEndian) {4} else {0}, littleEndian)\r\n let low = self!->getUint32(byteOffset + if(littleEndian) {0} else {4}, littleEndian)\r\n let result = (high? * 0x100000000) + low?\r\n if(!Js->Number->isSafeInteger(result)?) {\r\n throw(GrabException)\r\n }\r\n result\r\n }\r\n \r\n grabInt64(byteOffset: Int, littleEndian: Bool = True): Int {\r\n let high = self!->getInt32(byteOffset + if(littleEndian) {4} else {0}, littleEndian)\r\n let low = self!->getUint32(byteOffset + if(littleEndian) {0} else {4}, littleEndian)\r\n let result = (high? * 0x100000000) + low?\r\n if(!Js->Number->isSafeInteger(result)?) {\r\n throw(GrabException()) //grabInt64 out of range (consider grabBigInt64)'\r\n }\r\n result\r\n }\r\n\r\n grabFloat32(byteOffset: Int, littleEndian: Bool = True): Float {\r\n self!->getFloat32(byteOffset, littleEndian)?\r\n }\r\n \r\n grabFloat64(byteOffset: Int, littleEndian: Bool = True): Float {\r\n self!->getFloat64(byteOffset, littleEndian)?\r\n }\r\n\r\n grabInt16(byteOffset: Int, littleEndian: Bool = True): Int {\r\n self!->getInt16(byteOffset, littleEndian)?\r\n }\r\n\r\n grabInt32(byteOffset: Int, littleEndian: Bool = True): Int {\r\n self!->getInt32(byteOffset, littleEndian)?\r\n }\r\n\r\n grabInt8(byteOffset: Int): Int {\r\n self!->getInt8(byteOffset)?\r\n }\r\n\r\n grabUint16(byteOffset: Int, littleEndian: Bool = True): Int {\r\n self!->getUint16(byteOffset, littleEndian)?\r\n }\r\n\r\n grabUint32(byteOffset: Int, littleEndian: Bool = True): Int {\r\n self!->getUint32(byteOffset, littleEndian)?\r\n }\r\n\r\n grabUint8(byteOffset: Int): Int {\r\n self!->getUint8(byteOffset)?\r\n }\r\n\r\n /*setBigInt64(byteOffset: Int, value: BigInt, littleEndian: Bool = False): Unit\r\n target js sync \"self_.setBigInt64(byteOffset_, value_, littleEndian_)\"*/\r\n\r\n /*setBigUint64(byteOffset: Int, value: BigInt, littleEndian: Bool = False): Unit\r\n target js sync \"self_.setBigUint64(byteOffset_, value_, littleEndian_)\"*/\r\n\r\n setUint64(byteOffset: Int, value: Int, littleEndian: Bool = True): Unit {\r\n self!->setUint32(byteOffset + if(littleEndian) {4} else {0}, value.bitRightUnsigned(16).bitRightUnsigned(16), littleEndian)\r\n self!->setUint32(byteOffset + if(littleEndian) {0} else {4}, value.bitAnd(0xffffffff), littleEndian)\r\n }\r\n \r\n setInt64(byteOffset: Int, value: Int, littleEndian: Bool = True): Unit {\r\n self!->setUint32(byteOffset + if(littleEndian) {4} else {0}, value.bitRight(16).bitRight(16), littleEndian)\r\n self!->setUint32(byteOffset + if(littleEndian) {0} else {4}, value.bitAnd(0xffffffff), littleEndian)\r\n }\r\n\r\n setFloat32(byteOffset: Int, value: Float, littleEndian: Bool = True): Unit {\r\n self!->setFloat32(byteOffset, value, littleEndian)\r\n }\r\n\r\n setFloat64(byteOffset: Int, value: Float, littleEndian: Bool = True): Unit {\r\n self!->setFloat64(byteOffset, value, littleEndian)\r\n }\r\n\r\n setInt16(byteOffset: Int, value: Int, littleEndian: Bool = True): Unit {\r\n self!->setInt16(byteOffset, value, littleEndian)\r\n }\r\n\r\n setInt32(byteOffset: Int, value: Int, littleEndian: Bool = True): Unit {\r\n self!->setInt32(byteOffset, value, littleEndian)\r\n }\r\n\r\n setInt8(byteOffset: Int, value: Int): Unit {\r\n self!->setInt8(byteOffset, value)\r\n }\r\n\r\n setUint16(byteOffset: Int, value: Int, littleEndian: Bool = True): Unit {\r\n self!->setUint16(byteOffset, value, littleEndian)\r\n }\r\n\r\n setUint32(byteOffset: Int, value: Int, littleEndian: Bool = True): Unit {\r\n self!->setUint32(byteOffset, value, littleEndian)\r\n }\r\n\r\n setUint8(byteOffset: Int, value: Int): Unit {\r\n self!->setUint8(byteOffset, value)\r\n }\r\n\r\n setAll(byteOffset: Int, buffer: Buffer): Unit {\r\n let sourceBuffer = Js->Uint8Array->(buffer!->buffer, buffer!->byteOffset, buffer!->byteLength)\r\n let targetBuffer = Js->Uint8Array->(self!->buffer, self!->byteOffset, self!->byteLength)\r\n targetBuffer->set(sourceBuffer, byteOffset)\r\n }\r\n\r\n size(): Int {\r\n self!->byteLength?\r\n }\r\n\r\n shared(): Bool {\r\n Js->SharedArrayBuffer.typeof() != \"undefined\" && self!->buffer.instanceof(Js->SharedArrayBuffer)\r\n }\r\n\r\n view(begin: Int, end: Int): Buffer {\r\n Js->DataView->(self!->buffer, self!->byteOffset + begin!, end - begin)?\r\n }\r\n\r\n copy(): Buffer {\r\n Js->DataView->(self!->buffer->slice(self!->byteOffset, self!->byteOffset + self!->byteLength))?\r\n }\r\n\r\n toString(encoding: String = \"utf8\"): String {\r\n if(encoding == \"utf8\") {\r\n if(Js->TextDecoder->ffSingleton.typeof() == \"undefined\") {\r\n Js->TextDecoder->ffSingleton = Js->TextDecoder->()\r\n }\r\n Js->TextDecoder->ffSingleton->decode(self!)?\r\n } else {\r\n Js->TextDecoder->()->decode(self!)?\r\n }\r\n }\r\n\r\n toByteList(): List[Int] {\r\n Js->Uint8Array->(self!->buffer, self!->byteOffset, self!->byteLength).spreadToArray()!?\r\n }\r\n \r\n toHex(): String {\r\n mutable hex = \"\"\r\n 0.until(self!->byteLength?).each {i =>\r\n hex = hex + self!->getUint8(i)->toString(16)->padStart(2, \"0\")?\r\n }\r\n hex\r\n }\r\n \r\n toBase64(): String {\r\n let view = Js->Uint8Array->(self!->buffer, self!->byteOffset, self!->byteLength)\r\n //let binaryString = Js->TextDecoder->(\"latin1\")->decode(view)\r\n let binaryString = Js->Array->from(view, Js->{byte => Js->String->fromCodePoint(byte)})->join(\"\");\r\n Js->btoa(binaryString)?\r\n }\r\n \r\n toLetter16(): String {\r\n let result = Buffer.new(self.size().bitLeft(1))\r\n 0.until(self.size()).each {i =>\r\n let b = self.grabUint8(i)\r\n result.setUint16(i.bitLeft(1), (b.bitRightUnsigned(4).bitAnd(0xf) + 0x68).bitOr(\r\n (b.bitAnd(0xf) + 0x68).bitLeft(8)\r\n ), littleEndian = True)\r\n }\r\n result.toString()\r\n }\r\n\r\n}\r\n\r\nfromByteList(array: List[Int]): Buffer {\r\n Js->DataView->(Js->Uint8Array->(array)->buffer)?\r\n}\r\n\r\nfromBufferList(array: List[Buffer]): Buffer {\r\n mutable length = 0\r\n array.each {length += _!->byteLength?}\r\n let arrayBuffer = Js->ArrayBuffer->(length)\r\n let result = Js->Uint8Array->(arrayBuffer)\r\n mutable offset = 0\r\n array.each {b =>\r\n result->set(Js->Uint8Array->(b!->buffer, b!->byteOffset, b!->byteLength), offset)\r\n offset += b!->byteLength?\r\n }\r\n Js->DataView->(arrayBuffer)?\r\n}\r\n\r\nfromHex(hex: String): Buffer {\r\n let byteCount = (hex.size() * 0.5).ceil().toInt()\r\n let arrayBuffer = Js->ArrayBuffer->(byteCount)\r\n let result = Js->Uint8Array->(arrayBuffer)\r\n 0.until(byteCount).each {i =>\r\n result.set(i, Js->parseInt(hex!->slice(i * 2, i * 2 + 2), 16))\r\n }\r\n Js->DataView->(arrayBuffer)?\r\n}\r\n\r\nfromBase64(base64: String): Buffer {\r\n let binaryString = Js->atob(base64)\r\n let bytes = Js->Uint8Array->from(binaryString, Js->{char => char->codePointAt(0)})\r\n Js->DataView->(bytes->buffer)?\r\n}\r\n\r\nfromLetter16(letters: String): Buffer {\r\n let buffer = Buffer.new(letters.size().bitRightUnsigned(1))\r\n 0.until(buffer.size()).each {i =>\r\n buffer.setUint8(i, (letters.grab(i.bitLeft(1)).codeUnit.bitAnd(0x1f) - 0x8).bitLeft(4).bitOr(\r\n letters.grab(i.bitLeft(1).bitOr(1)).codeUnit.bitAnd(0x1f) - 0x8\r\n ))\r\n }\r\n buffer\r\n}\r\n\r\ninstance Buffer: Show {\r\n show(value: Buffer): String {\r\n \"\"\"Buffer.fromHex(\"\"\"\" + value.toHex() + \"\"\"\")\"\"\"\r\n }\r\n}\r\n\r\ninstance Buffer: Equal {\r\n equals(x: Buffer, y: Buffer): Bool {\r\n if(x.size() != y.size()) {False} else:\r\n if(x! === y!) {True} else:\r\n mutable i = 0\r\n mutable same = True\r\n while {i + 4 < x.size() && same} {\r\n same = x!->getInt32(i) === y!->getInt32(i)\r\n i += 4\r\n }\r\n if(!same) {False} else:\r\n i.until(x.size()).eachWhile {i =>\r\n same = x!->getUint8(i) === y!->getUint8(i)\r\n same\r\n }\r\n same\r\n }\r\n}\r\n\r\ninstance Buffer: Order {\r\n compare(x: Buffer, y: Buffer): Ordering {\r\n if(x!.equals(y!)) {OrderingSame} else:\r\n let minLength = x.size().min(y.size())\r\n mutable ordering = OrderingSame\r\n 0.until(minLength).eachWhile {i =>\r\n if(x!->getUint8(i) !== x!->getUint8(i)) {\r\n ordering = Ordering.fromInt((x!->getUint8(i) - y!->getUint8(i))?)\r\n False\r\n } else {\r\n True\r\n }\r\n }\r\n if(ordering == OrderingSame) {\r\n Ordering.fromInt(x.size() - y.size())\r\n } else {\r\n ordering\r\n }\r\n }\r\n}\r\n"
8
+ ],
9
+ "names": [
10
+ "new",
11
+ "size",
12
+ "shared",
13
+ "\"DataView\"",
14
+ "\"SharedArrayBuffer\"",
15
+ "\"ArrayBuffer\"",
16
+ "fromByteList",
17
+ "array",
18
+ "\"Uint8Array\"",
19
+ "buffer",
20
+ "fromBufferList",
21
+ "length",
22
+ "byteLength",
23
+ "arrayBuffer",
24
+ "result",
25
+ "offset",
26
+ "set",
27
+ "b",
28
+ "byteOffset",
29
+ "fromHex",
30
+ "hex",
31
+ "byteCount",
32
+ "toInt",
33
+ "ceil",
34
+ "i",
35
+ "\"parseInt\"",
36
+ "slice",
37
+ "fromBase64",
38
+ "base64",
39
+ "binaryString",
40
+ "\"atob\"",
41
+ "bytes",
42
+ "from",
43
+ "char",
44
+ "codePointAt",
45
+ "fromLetter16",
46
+ "letters",
47
+ "setUint8",
48
+ "bitOr",
49
+ "bitLeft",
50
+ "grab",
51
+ "grabUint64",
52
+ "self",
53
+ "littleEndian",
54
+ "high",
55
+ "getUint32",
56
+ "low",
57
+ "\"Number\"",
58
+ "isSafeInteger",
59
+ "GrabException",
60
+ "grabInt64",
61
+ "getInt32",
62
+ "grabFloat32",
63
+ "getFloat32",
64
+ "grabFloat64",
65
+ "getFloat64",
66
+ "grabInt16",
67
+ "getInt16",
68
+ "grabInt32",
69
+ "grabInt8",
70
+ "getInt8",
71
+ "grabUint16",
72
+ "getUint16",
73
+ "grabUint32",
74
+ "grabUint8",
75
+ "getUint8",
76
+ "setUint64",
77
+ "value",
78
+ "setUint32",
79
+ "setInt64",
80
+ "setFloat32",
81
+ "setFloat64",
82
+ "setInt16",
83
+ "setInt32",
84
+ "setInt8",
85
+ "setUint16",
86
+ "setAll",
87
+ "sourceBuffer",
88
+ "targetBuffer",
89
+ "view",
90
+ "begin",
91
+ "end",
92
+ "copy",
93
+ "toString",
94
+ "encoding",
95
+ "\"TextDecoder\"",
96
+ "ffSingleton",
97
+ "decode",
98
+ "toByteList",
99
+ "toHex",
100
+ "padStart",
101
+ "toBase64",
102
+ "\"Array\"",
103
+ "byte",
104
+ "\"String\"",
105
+ "fromCodePoint",
106
+ "join",
107
+ "\"btoa\"",
108
+ "toLetter16",
109
+ "Buffer",
110
+ "show",
111
+ "equals",
112
+ "x",
113
+ "y",
114
+ "same",
115
+ "compare",
116
+ "OrderingSame",
117
+ "minLength",
118
+ "min",
119
+ "ordering",
120
+ "fromInt"
121
+ ],
122
+ "mappings": "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"
123
+ }
@@ -1,7 +1,3 @@
1
- import * as import$0 from 'esbuild';
2
-
3
- import * as import$1 from 'path';
4
-
5
1
  import * as ff_core_Any from "../../ff/core/Any.mjs"
6
2
 
7
3
  import * as ff_core_Array from "../../ff/core/Array.mjs"
@@ -94,13 +90,13 @@ import * as ff_core_Task from "../../ff/core/Task.mjs"
94
90
 
95
91
  import * as ff_core_Try from "../../ff/core/Try.mjs"
96
92
 
93
+ import * as import$0 from 'esbuild';
94
+ import * as import$1 from 'path';
97
95
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
98
96
 
99
97
  // type BuildSystem
100
98
 
101
99
 
102
-
103
-
104
100
  export function internalBrowserCallEsBuild_(self_, mainJsFiles_, outputPath_, minify_, sourceMap_) {
105
101
  const esbuild_ = import$0;
106
102
  esbuild_.build({entryPoints: mainJsFiles_, bundle: true, minify: minify_, sourcemap: sourceMap_, platform: "browser", target: "es2017", outdir: outputPath_, outExtension: {[".js"]: ".bundle.js"}})
@@ -222,8 +218,8 @@ const outputPath_ = ff_core_Option.Option_grab(ff_core_Path.Path_parent(ff_core_
222
218
  ff_core_BuildSystem.internalBrowserCallEsBuild_(self_, ff_core_List.List_map(runPaths_, ((_w1) => {
223
219
  return ff_core_Path.Path_absolute(_w1)
224
220
  })), ff_core_Path.Path_absolute(outputPath_), minify_, sourceMaps_);
225
- const bundlePaths_ = ff_core_Stream.Stream_toList(ff_core_Stream.Stream_filter(ff_core_BuildSystem.internalListPath_(browserOutputPath_), ((_w1) => {
226
- return ff_core_String.String_endsWith(ff_core_Path.Path_base(_w1), ".bundle.js")
221
+ const bundlePaths_ = ff_core_Stream.Stream_toList(ff_core_Stream.Stream_filter(ff_core_BuildSystem.internalListPath_(browserOutputPath_), ((p_) => {
222
+ return (ff_core_String.String_endsWith(ff_core_Path.Path_base(p_), ".bundle.js") || ff_core_String.String_endsWith(ff_core_Path.Path_base(p_), ".bundle.js.map"))
227
223
  })));
228
224
  return ff_core_AssetSystem.AssetSystem(ff_core_List.List_toMap(ff_core_List.List_map(bundlePaths_, ((p_) => {
229
225
  return ff_core_Pair.Pair(("/" + ff_core_String.String_replace(ff_core_Path.Path_relativeTo(p_, browserOutputPath_), "\\", "/")), (() => {
@@ -282,8 +278,8 @@ const outputPath_ = ff_core_Option.Option_grab((await ff_core_Path.Path_parent$(
282
278
  (await ff_core_BuildSystem.internalBrowserCallEsBuild_$(self_, (await ff_core_List.List_map$(runPaths_, (async (_w1, $task) => {
283
279
  return (await ff_core_Path.Path_absolute$(_w1, $task))
284
280
  }), $task)), (await ff_core_Path.Path_absolute$(outputPath_, $task)), minify_, sourceMaps_, $task));
285
- const bundlePaths_ = (await ff_core_Stream.Stream_toList$((await ff_core_Stream.Stream_filter$((await ff_core_BuildSystem.internalListPath_$(browserOutputPath_, $task)), (async (_w1, $task) => {
286
- return ff_core_String.String_endsWith((await ff_core_Path.Path_base$(_w1, $task)), ".bundle.js")
281
+ const bundlePaths_ = (await ff_core_Stream.Stream_toList$((await ff_core_Stream.Stream_filter$((await ff_core_BuildSystem.internalListPath_$(browserOutputPath_, $task)), (async (p_, $task) => {
282
+ return (ff_core_String.String_endsWith((await ff_core_Path.Path_base$(p_, $task)), ".bundle.js") || ff_core_String.String_endsWith((await ff_core_Path.Path_base$(p_, $task)), ".bundle.js.map"))
287
283
  }), $task)), $task));
288
284
  return ff_core_AssetSystem.AssetSystem(ff_core_List.List_toMap((await ff_core_List.List_map$(bundlePaths_, (async (p_, $task) => {
289
285
  return ff_core_Pair.Pair(("/" + ff_core_String.String_replace((await ff_core_Path.Path_relativeTo$(p_, browserOutputPath_, $task)), "\\", "/")), (async ($task) => {
@@ -322,3 +318,4 @@ return crypto
322
318
  }
323
319
 
324
320
 
321
+ //# sourceMappingURL=BuildSystem.mjs.map
@@ -0,0 +1,87 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [
4
+ "../../../../../core/BuildSystem.ff"
5
+ ],
6
+ "sourcesContent": [
7
+ "capability BuildSystem {}\r\n\r\nextend self: BuildSystem {\r\n\r\n compileForBrowser(mainFiles: List[String]): AssetSystem {\r\n // TODO: Check that the mainFile is in the current package directory\r\n internalCompile(self, mainFiles.map {internalPath(self, _)}, \"browser\")\r\n let streams = internalListDirectory(internalPath(self, \".firefly/output/browser\"))\r\n let mainPackagePair = internalMainPackagePair(self)\r\n AssetSystem(streams.toMap())\r\n }\r\n\r\n bundleForBrowser(mainFiles: List[String], minify: Bool = True, sourceMaps: Bool = False): AssetSystem {\r\n internalCompile(self, mainFiles.map {internalPath(self, _)}, \"browser\")\r\n let browserOutputPath = internalPath(self, \".firefly/output/browser\")\r\n let runPaths = internalListPath(browserOutputPath).filter {_.base().endsWith(\".run.mjs\")}.toList()\r\n let outputPath = runPaths.grabFirst().parent().grab()\r\n internalBrowserCallEsBuild(self, runPaths.map {_.absolute()}, outputPath.absolute(), minify, sourceMaps)\r\n let bundlePaths = internalListPath(browserOutputPath).filter {p => \r\n p.base().endsWith(\".bundle.js\") || p.base().endsWith(\".bundle.js.map\")\r\n }.toList()\r\n AssetSystem(bundlePaths.map {p => \r\n Pair(\"/\" + p.relativeTo(browserOutputPath).replace(\"\\\\\", \"/\"), {p.readStream()})\r\n }.toMap())\r\n }\r\n\r\n buildMode(): Bool {\r\n !!self!->\"buildMode_\"?\r\n }\r\n \r\n setAssets(assetSystem: AssetSystem): Unit {\r\n self!->\"assets_\" = assetSystem!\r\n }\r\n\r\n packageAssets(): AssetSystem {\r\n let streams = internalListDirectory(internalPath(self, \".\"))\r\n AssetSystem(streams.toMap())\r\n }\r\n\r\n dependencyAssets(user: String, package: String): AssetSystem {\r\n panic(\"dependencyAssets not yet implemented\")\r\n }\r\n\r\n arguments(): List[String] {\r\n self!->\"array_\"?\r\n }\r\n\r\n mainTask(): Task {\r\n self!->\"task_\"?\r\n }\r\n\r\n crypto(): Crypto {\r\n Js->crypto?\r\n }\r\n \r\n}\r\n\r\ninternalBrowserCallEsBuild(\r\n self: BuildSystem\r\n mainJsFiles: List[String]\r\n outputPath: String\r\n minify: Bool\r\n sourceMap: Bool\r\n): Unit {\r\n let esbuild = Js.import(\"esbuild\")\r\n Js.await(esbuild->build(Js->(\r\n entryPoints = mainJsFiles\r\n bundle = True\r\n minify = minify\r\n sourcemap = sourceMap\r\n platform = \"browser\"\r\n target = \"es2017\"\r\n outdir = outputPath\r\n outExtension = Js.object().with(\".js\", \".bundle.js\")\r\n )))\r\n}\r\n\r\ninternalNodeCallEsBuild(\r\n self: NodeSystem\r\n mainJsFile: String\r\n outputPath: String\r\n minify: Bool\r\n): Unit {\r\n let esbuild = Js.import(\"esbuild\")\r\n esbuild->build(Js->(\r\n entryPoints = [mainJsFile]\r\n bundle = True\r\n minify = minify\r\n sourcemap = True\r\n platform = \"node\"\r\n target = \"es2017\"\r\n external = [\"../../../node_modules/*\"] // TODO\r\n outfile = outputPath\r\n ))\r\n}\r\n\r\ninternalListDirectory(path: Path): List[Pair[String, () => Stream[Buffer]]] {\r\n function go(currentPath: Path): Stream[Path] {\r\n currentPath.entries().flatMap {file =>\r\n if(file.isDirectory()) {\r\n go(file.path())\r\n } else {\r\n [file.path()].toStream()\r\n }\r\n }\r\n }\r\n go(path).map {file =>\r\n Pair(\"/\" + file.relativeTo(path).replace(\"\\\\\", \"/\"), {file.readStream()})\r\n }.toList()\r\n}\r\n\r\ninternalListPath(path: Path): Stream[Path] {\r\n path.entries().flatMap {file =>\r\n if(file.isDirectory()) {\r\n internalListPath(file.path())\r\n } else {\r\n [file.path()].toStream()\r\n }\r\n }\r\n}\r\n\r\ninternalPath(buildSystem: BuildSystem, absoluteOrRelative: String): Path {\r\n let nodePath = Js.import(\"path\")\r\n Path(nodePath->resolve(absoluteOrRelative)?)\r\n}\r\n\r\ninternalCompile(buildSystem: BuildSystem, mainFiles: List[Path], target: String): Unit {\r\n // Ported from the old FFI. It's quite fragile w.r.t. changes in code generation.\r\n Js.await(Js.rawIdentifier(\"$firefly_compiler\")->\"buildViaBuildSystem_$\"(\r\n buildSystem! \r\n internalPath(buildSystem, buildSystem!->\"fireflyPath_\"?)!\r\n mainFiles!\r\n target\r\n Js.currentTask()!\r\n ))\r\n}\r\n\r\ninternalMainPackagePair(buildSystem: BuildSystem): Pair[String, String] {\r\n Pair(buildSystem!->\"mainPackagePair_\"->\"group_\"?, buildSystem!->\"mainPackagePair_\"->\"name_\"?)\r\n}\r\n"
8
+ ],
9
+ "names": [
10
+ "internalBrowserCallEsBuild",
11
+ "self",
12
+ "mainJsFiles",
13
+ "outputPath",
14
+ "minify",
15
+ "sourceMap",
16
+ "esbuild",
17
+ "build",
18
+ "entryPoints",
19
+ "bundle",
20
+ "sourcemap",
21
+ "platform",
22
+ "target",
23
+ "outdir",
24
+ "outExtension",
25
+ "internalNodeCallEsBuild",
26
+ "mainJsFile",
27
+ "external",
28
+ "outfile",
29
+ "internalListDirectory",
30
+ "path",
31
+ "go",
32
+ "currentPath",
33
+ "flatMap",
34
+ "entries",
35
+ "file",
36
+ "isDirectory",
37
+ "toStream",
38
+ "toList",
39
+ "map",
40
+ "Pair",
41
+ "replace",
42
+ "relativeTo",
43
+ "readStream",
44
+ "internalListPath",
45
+ "internalPath",
46
+ "buildSystem",
47
+ "absoluteOrRelative",
48
+ "nodePath",
49
+ "Path",
50
+ "resolve",
51
+ "internalCompile",
52
+ "mainFiles",
53
+ "internalMainPackagePair",
54
+ "compileForBrowser",
55
+ "w1",
56
+ "streams",
57
+ "mainPackagePair",
58
+ "AssetSystem",
59
+ "toMap",
60
+ "bundleForBrowser",
61
+ "sourceMaps",
62
+ "browserOutputPath",
63
+ "runPaths",
64
+ "filter",
65
+ "endsWith",
66
+ "base",
67
+ "grab",
68
+ "parent",
69
+ "grabFirst",
70
+ "absolute",
71
+ "bundlePaths",
72
+ "p",
73
+ "buildMode",
74
+ "setAssets",
75
+ "assetSystem",
76
+ "packageAssets",
77
+ "dependencyAssets",
78
+ "user",
79
+ "package",
80
+ "panic",
81
+ "arguments",
82
+ "mainTask",
83
+ "crypto",
84
+ "\"crypto\""
85
+ ],
86
+ "mappings": "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"
87
+ }
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  import * as ff_core_Any from "../../ff/core/Any.mjs"
4
2
 
5
3
  import * as ff_core_Array from "../../ff/core/Array.mjs"
@@ -104,8 +102,6 @@ export function ChannelAction(channel_, body_, message_, previous_) {
104
102
  return {channel_, body_, message_, previous_};
105
103
  }
106
104
 
107
-
108
-
109
105
  export function readOr_(channel_, body_) {
110
106
  return ff_core_Channel.ChannelAction(channel_, body_, ff_core_Option.None(), ff_core_Option.None())
111
107
  }
@@ -425,3 +421,4 @@ return (await ff_core_Channel.internalRunChannelAction_$(self_, ff_core_Option.S
425
421
  }
426
422
 
427
423
 
424
+ //# sourceMappingURL=Channel.mjs.map
@@ -0,0 +1,67 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [
4
+ "../../../../../core/Channel.ff"
5
+ ],
6
+ "sourcesContent": [
7
+ "capability Channel[T](\r\n capacity: Int\r\n buffer: Array[T]\r\n readers: JsValue\r\n writers: JsValue\r\n)\r\n\r\nextend self[T]: Channel[T] {\r\n\r\n read(): T {\r\n readOr(self, {_}).wait()\r\n }\r\n\r\n write(message: T): Unit {\r\n writeOr(self, message, {}).wait()\r\n }\r\n\r\n}\r\n\r\n\r\ncapability ChannelAction[T](\r\n channel: Channel[JsValue]\r\n body: JsValue\r\n message: Option[JsValue]\r\n previous: Option[ChannelAction[T]]\r\n)\r\n\r\nextend self[T]: ChannelAction[T] {\r\n \r\n readOr[M](channel: Channel[M], body: M => T): ChannelAction[T] {\r\n ChannelAction(channel!?, body!, None, Some(self))\r\n }\r\n\r\n writeOr[M](channel: Channel[M], message: M, body: () => T): ChannelAction[T] {\r\n ChannelAction(channel!?, body!, Some(message!), Some(self))\r\n }\r\n\r\n wait(): T {\r\n internalRunChannelAction(self, None)\r\n }\r\n\r\n timeout(duration: Duration, body: () => T): T {\r\n internalRunChannelAction(self, Some(Pair(body, Some(duration))))\r\n }\r\n\r\n immediately(body: () => T): T {\r\n internalRunChannelAction(self, Some(Pair(body, None)))\r\n }\r\n\r\n}\r\n\r\nreadOr[M, T](channel: Channel[M], body: M => T): ChannelAction[T] {\r\n ChannelAction(channel!?, body!, None, None)\r\n}\r\n\r\nwriteOr[M, T](channel: Channel[M], message: M, body: () => T): ChannelAction[T] {\r\n ChannelAction(channel!?, body!, Some(message!), None)\r\n}\r\n\r\ninternalRunChannelAction[T](action: ChannelAction[T], mode: Option[Pair[() => T, Option[Duration]]]): T {\r\n Js.throwIfCancelled()\r\n \r\n // Convert the linked actions into an array.\r\n let actions = [].toArray()\r\n function findActions(action: ChannelAction[T]) {\r\n actions.push(action)\r\n action.previous.each {findActions(_)}\r\n }\r\n findActions(action)\r\n \r\n // If any reads or writes can be done immediately, do the first one and return.\r\n mutable foundPromise = None\r\n actions.eachWhile {action =>\r\n action.message.{\r\n | Some(message) {action.channel.readers->size !== 0} => \r\n let reader = action.channel.readers->values()->next()->value\r\n action.channel.readers->delete(reader)\r\n reader->resolve(message)\r\n foundPromise = Some(action.body.callValue1(Js.currentTask()!))\r\n | Some(message) {action.channel.buffer.size() < action.channel.capacity} =>\r\n action.channel.buffer.push(message)\r\n foundPromise = Some(action.body.callValue1(Js.currentTask()!))\r\n | Some(_) =>\r\n | None {action.channel.buffer.size() != 0} => \r\n action.channel.buffer.reverse()\r\n let message = action.channel.buffer.pop()\r\n action.channel.buffer.reverse()\r\n foundPromise = Some(action.body.callValue2(message!, Js.currentTask()!))\r\n | None {action.channel.writers->size !== 0} => \r\n let writer = action.channel.writers->values()->next()->value\r\n action.channel.writers->delete(writer)\r\n writer->resolve()\r\n foundPromise = Some(action.body.callValue2(writer->message!, Js.currentTask()!))\r\n | None => \r\n }\r\n foundPromise.isEmpty()\r\n }\r\n foundPromise.map {Js.await(_)?}.else:\r\n \r\n // If there's an \"immediately(body)\" action, do that now.\r\n if(mode.any {_.second.isEmpty()}) {\r\n let makePromise = mode.grab().first\r\n Js.await(makePromise()!)?\r\n } else:\r\n \r\n // Otherwise, start waiting for one of the readers or writers (or timeout(body), or cancellation) to happen.\r\n let body = Js.awaitCancellablePromise {resolve, reject, onSettled =>\r\n mode.each {m =>\r\n let timeout = Js->setTimeout(Js->{resolve(m.first)}, m.second.grab().seconds * 1000.0)\r\n onSettled {_ => Js->clearTimeout(timeout)}\r\n }\r\n actions.each {action =>\r\n action.message.{\r\n | Some(message) => \r\n let writer = Js->(\r\n resolve = Js->{resolve({action.body.callValue1(Js.currentTask()!)?})}\r\n message = message\r\n )\r\n action.channel.writers->add(writer)\r\n onSettled {_ => action.channel.writers->delete(writer)}\r\n | None =>\r\n let reader = Js->(\r\n resolve = Js->{m =>\r\n resolve({action.body.callValue2(m, Js.currentTask()!)?})\r\n }\r\n )\r\n action.channel.readers->add(reader)\r\n onSettled {_ => action.channel.readers->delete(reader)}\r\n }\r\n }\r\n }\r\n body()\r\n \r\n}\r\n"
8
+ ],
9
+ "names": [
10
+ "Channel",
11
+ "capacity",
12
+ "buffer",
13
+ "readers",
14
+ "writers",
15
+ "ChannelAction",
16
+ "channel",
17
+ "body",
18
+ "message",
19
+ "previous",
20
+ "readOr",
21
+ "None",
22
+ "writeOr",
23
+ "Some",
24
+ "internalRunChannelAction",
25
+ "action",
26
+ "mode",
27
+ "actions",
28
+ "toArray",
29
+ "findActions",
30
+ "w1",
31
+ "foundPromise",
32
+ "size",
33
+ "reader",
34
+ "values",
35
+ "next",
36
+ "value",
37
+ "delete",
38
+ "resolve",
39
+ "reverse",
40
+ "pop",
41
+ "writer",
42
+ "isEmpty",
43
+ "else",
44
+ "map",
45
+ "any",
46
+ "second",
47
+ "makePromise",
48
+ "grab",
49
+ "first",
50
+ "awaitCancellablePromise",
51
+ "reject",
52
+ "onSettled",
53
+ "m",
54
+ "timeout",
55
+ "\"setTimeout\"",
56
+ "\"clearTimeout\"",
57
+ "add",
58
+ "read",
59
+ "self",
60
+ "wait",
61
+ "write",
62
+ "duration",
63
+ "Pair",
64
+ "immediately"
65
+ ],
66
+ "mappings": "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"
67
+ }
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  import * as ff_core_Any from "../../ff/core/Any.mjs"
4
2
 
5
3
  import * as ff_core_Array from "../../ff/core/Array.mjs"
@@ -96,12 +94,6 @@ import * as ff_core_Unit from "../../ff/core/Unit.mjs"
96
94
 
97
95
  // newtype Char
98
96
 
99
-
100
-
101
-
102
-
103
-
104
-
105
97
  export function Char_isAsciiLetter(self_) {
106
98
  return (ff_core_Char.Char_isAsciiUpper(self_) || ff_core_Char.Char_isAsciiLower(self_))
107
99
  }
@@ -151,3 +143,4 @@ return String.fromCharCode(self_)
151
143
  }
152
144
 
153
145
 
146
+ //# sourceMappingURL=Char.mjs.map
@@ -0,0 +1,21 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [
4
+ "../../../../../core/Char.ff"
5
+ ],
6
+ "sourcesContent": [
7
+ "newtype Char(codeUnit: Int)\r\n\r\nextend self: Char {\r\n\r\n isAsciiLetter(): Bool {self.isAsciiUpper() || self.isAsciiLower()}\r\n\r\n isAsciiLetterOrDigit(): Bool {self.isAsciiLetter() || self.isAsciiDigit()}\r\n\r\n isAsciiUpper(): Bool {self >= 'A' && self <= 'Z'}\r\n\r\n isAsciiLower(): Bool {self >= 'a' && self <= 'z'}\r\n\r\n isAsciiDigit(): Bool {self >= '0' && self <= '9'}\r\n\r\n toString(): String {\r\n Js->String->fromCharCode(self)?\r\n }\r\n\r\n}\r\n"
8
+ ],
9
+ "names": [
10
+ "isAsciiLetter",
11
+ "self",
12
+ "isAsciiUpper",
13
+ "isAsciiLower",
14
+ "isAsciiLetterOrDigit",
15
+ "isAsciiDigit",
16
+ "toString",
17
+ "\"String\"",
18
+ "fromCharCode"
19
+ ],
20
+ "mappings": "A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;A;;AAAQ;;AAED,OAEH,SAAAA,kBAAA,CAFGC,KAEH,CAAA;AAA2C,OAAA,CAAfC,8BAAA,CAALD,KAAK,CAAe,CAAA,EAAA,CAAQE,8BAAA,CAALF,KAAK,CAAR;AAA3C;;AAFG,OAIH,SAAAG,yBAAA,CAJGH,KAIH,CAAA;AAAmD,OAAA,CAAhBD,+BAAA,CAALC,KAAK,CAAgB,CAAA,EAAA,CAAQI,8BAAA,CAALJ,KAAK,CAAR;AAAnD;;AAJG,OAMH,SAAAC,iBAAA,CANGD,KAMH,CAAA;AAAkC,OAAA,CAAP,CAALA,KAAK,IAAG,EAAH,CAAO,CAAA,EAAA,CAAQ,CAALA,KAAK,IAAG,EAAH,CAAR;AAAlC;;AANG,OAQH,SAAAE,iBAAA,CARGF,KAQH,CAAA;AAAkC,OAAA,CAAP,CAALA,KAAK,IAAG,EAAH,CAAO,CAAA,EAAA,CAAQ,CAALA,KAAK,IAAG,GAAH,CAAR;AAAlC;;AARG,OAUH,SAAAI,iBAAA,CAVGJ,KAUH,CAAA;AAAkC,OAAA,CAAP,CAALA,KAAK,IAAG,EAAH,CAAO,CAAA,EAAA,CAAQ,CAALA,KAAK,IAAG,EAAH,CAAR;AAAlC;;AAVG,OAYH,SAAAK,aAAA,CAZGL,KAYH,CAAA;AACkC,OAA1BM,MAAQ,CAAAC,YAAZ,CAAyBP,KAAzB;AADJ;;AAZG,OAEH,eAAAD,mBAAA,CAFGC,K,EAEH,KAAA,CAAA;AAA2C,OAAA,CAAfC,8BAAA,CAALD,KAAK,CAAe,CAAA,EAAA,CAAQE,8BAAA,CAALF,KAAK,CAAR;AAA3C;;AAFG,OAIH,eAAAG,0BAAA,CAJGH,K,EAIH,KAAA,CAAA;AAAmD,OAAA,CAAhBD,+BAAA,CAALC,KAAK,CAAgB,CAAA,EAAA,CAAQI,8BAAA,CAALJ,KAAK,CAAR;AAAnD;;AAJG,OAMH,eAAAC,kBAAA,CANGD,K,EAMH,KAAA,CAAA;AAAkC,OAAA,CAAP,CAALA,KAAK,IAAG,EAAH,CAAO,CAAA,EAAA,CAAQ,CAALA,KAAK,IAAG,EAAH,CAAR;AAAlC;;AANG,OAQH,eAAAE,kBAAA,CARGF,K,EAQH,KAAA,CAAA;AAAkC,OAAA,CAAP,CAALA,KAAK,IAAG,EAAH,CAAO,CAAA,EAAA,CAAQ,CAALA,KAAK,IAAG,GAAH,CAAR;AAAlC;;AARG,OAUH,eAAAI,kBAAA,CAVGJ,K,EAUH,KAAA,CAAA;AAAkC,OAAA,CAAP,CAALA,KAAK,IAAG,EAAH,CAAO,CAAA,EAAA,CAAQ,CAALA,KAAK,IAAG,EAAH,CAAR;AAAlC;;AAVG,OAYH,eAAAK,cAAA,CAZGL,K,EAYH,KAAA,CAAA;AACkC,OAA1BM,MAAQ,CAAAC,YAAZ,CAAyBP,KAAzB;AADJ"
21
+ }