firefly-compiler 0.5.68 → 0.5.70

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/core/Js.ff CHANGED
@@ -136,10 +136,10 @@ awaitCancellablePromise[T](body: (T => Unit, Error => Unit, (Bool => Unit) => Un
136
136
  }
137
137
  }
138
138
  }
139
- let jsReject = Js->{e => doReject(e?)}
140
139
  let controller = Js.controller()
141
- controller->signal->addEventListener("abort", jsReject)
142
- cleanups.push({_ => controller->signal->removeEventListener("abort", jsReject)})
140
+ let jsDoReject = Js->{_ => doReject(controller->signal->reason?)}
141
+ controller->signal->addEventListener("abort", jsDoReject)
142
+ cleanups.push({_ => controller->signal->removeEventListener("abort", jsDoReject)})
143
143
  body(doResolve, doReject, {cleanup => cleanups.push(cleanup)})
144
144
  }))?
145
145
  }
package/core/Lock.ff CHANGED
@@ -82,7 +82,7 @@ extend self: LockCondition {
82
82
  error = e!
83
83
  }
84
84
  }
85
- if(error.isUndefined()) {Js.throw(error)}
85
+ if(!error.isUndefined()) {Js.throw(error)}
86
86
  }
87
87
  }
88
88
 
package/core/Path.ff CHANGED
@@ -336,7 +336,7 @@ internalReadStream(createReadStream: () => JsValue): Stream[Buffer] {
336
336
  if(jsStream->destroyed?) {None} else:
337
337
  Js.withSignal {signal =>
338
338
  let promise = Js->Promise->(Js->{resolve, reject =>
339
- let jsDoReject = Js->{doReject(_)}
339
+ let jsDoReject = Js->{_ => doReject(signal->reason?)}
340
340
  doResolve = {
341
341
  signal->removeEventListener("abort", jsDoReject)
342
342
  doResolve = emptyResolve
@@ -369,9 +369,10 @@ internalWriteStream(path: Path, stream: Stream[Buffer], flags: String) {
369
369
  if(!writable->write(Js->Uint8Array->(buffer!->buffer, buffer!->byteOffset, buffer!->byteLength))?) {
370
370
  Js.withSignal {signal =>
371
371
  Js.await(Js->Promise->(Js->{resolve, reject =>
372
- signal->addEventListener("abort", reject)
372
+ let jsDoReject = Js->{_ => reject->callValue1(signal->reason?)}
373
+ signal->addEventListener("abort", jsDoReject)
373
374
  writable->once("drain", Js->{
374
- signal->removeEventListener("abort", reject)
375
+ signal->removeEventListener("abort", jsDoReject)
375
376
  resolve.callValue0()
376
377
  })
377
378
  }))
@@ -63,12 +63,13 @@ main(system: NodeSystem) {
63
63
  let request = requestPair.first
64
64
  let message = parseRequestMessage(request.object)
65
65
  logDirectory.each {logMessage(_, "request", request.object, message.method)}
66
- spawn(message.id) {_ =>
66
+ spawn(message.id) {task =>
67
67
  try {
68
68
  if(message.method == "$/cancelRequest") {
69
69
  abort(Some(parseMessageId(message.parameters.grab("id"))))
70
70
  }
71
71
  handleRequestMessage(system, handler, message, version).each {body =>
72
+ //task.sleep(Duration(1.0))
72
73
  responseChannel.write(Pair(body, message.method))
73
74
  }
74
75
  } catchAny {error =>
@@ -77,12 +78,23 @@ main(system: NodeSystem) {
77
78
  Error(-32800, "Request cancelled")
78
79
  } else {
79
80
  Log.trace("LS ERROR " + error.name() + ": " + error.message())
81
+ Log.trace("BEGIN LS ERROR STACK TRACE")
80
82
  Log.trace(error.stack())
83
+ Log.trace("END LS ERROR STACK TRACE")
81
84
  Error(-32603, "Internal error")
82
85
  }
83
86
  message.id.each {id =>
84
87
  let body = makeResponseMessage(id, problem)
85
- responseChannel.write(Pair(body, message.method))
88
+ try {
89
+ responseChannel.write(Pair(body, message.method))
90
+ } catchAny {error =>
91
+ if(error.name() == "AbortError") {
92
+ Log.trace("LS ABORT WRITE")
93
+ let writeProblem = Error(-32800, "Request cancelled")
94
+ let writeMessage = makeResponseMessage(id, problem)
95
+ responseChannel.write(Pair(writeMessage, message.method))
96
+ }
97
+ }
86
98
  }
87
99
  }
88
100
  }
@@ -242,13 +242,13 @@ reject_(e_)
242
242
  }
243
243
  }
244
244
  });
245
- const jsReject_ = ((e_) => {
246
- return doReject_(e_)
247
- });
248
245
  const controller_ = $task.controller_;
249
- controller_.signal.addEventListener("abort", jsReject_);
246
+ const jsDoReject_ = ((_) => {
247
+ return doReject_(controller_.signal.reason)
248
+ });
249
+ controller_.signal.addEventListener("abort", jsDoReject_);
250
250
  cleanups_.array.push(((_) => {
251
- controller_.signal.removeEventListener("abort", jsReject_)
251
+ controller_.signal.removeEventListener("abort", jsDoReject_)
252
252
  }));
253
253
  return body_(doResolve_, doReject_, ((cleanup_) => {
254
254
  cleanups_.array.push(cleanup_)
@@ -565,13 +565,13 @@ reject_(e_)
565
565
  }
566
566
  }
567
567
  });
568
- const jsReject_ = (async (a_1) => await (async (e_, $task) => {
569
- return (await doReject_(e_, $task))
570
- })(a_1, $task));
571
568
  const controller_ = $task.controller_;
572
- controller_.signal.addEventListener("abort", jsReject_);
569
+ const jsDoReject_ = (async (a_1) => await (async (_, $task) => {
570
+ return (await doReject_(controller_.signal.reason, $task))
571
+ })(a_1, $task));
572
+ controller_.signal.addEventListener("abort", jsDoReject_);
573
573
  cleanups_.array.push((async (_, $task) => {
574
- controller_.signal.removeEventListener("abort", jsReject_)
574
+ controller_.signal.removeEventListener("abort", jsDoReject_)
575
575
  }));
576
576
  return (await body_(doResolve_, doReject_, (async (cleanup_, $task) => {
577
577
  cleanups_.array.push(cleanup_)
@@ -225,7 +225,7 @@ acquired_ = true
225
225
  error_ = e_
226
226
  }
227
227
  };
228
- if(ff_core_JsValue.JsValue_isUndefined(error_)) {
228
+ if((!ff_core_JsValue.JsValue_isUndefined(error_))) {
229
229
  throw error_
230
230
  }
231
231
  }
@@ -299,7 +299,7 @@ acquired_ = true
299
299
  error_ = e_
300
300
  }
301
301
  };
302
- if(ff_core_JsValue.JsValue_isUndefined(error_)) {
302
+ if((!ff_core_JsValue.JsValue_isUndefined(error_))) {
303
303
  throw error_
304
304
  }
305
305
  }
@@ -154,8 +154,8 @@ return ff_core_Option.None()
154
154
  } else {
155
155
  ff_core_Js.withSignal_(((signal_) => {
156
156
  const promise_ = (new Promise(((resolve_, reject_) => {
157
- const jsDoReject_ = ((_w1) => {
158
- return doReject_(_w1)
157
+ const jsDoReject_ = ((_) => {
158
+ return doReject_(signal_.reason)
159
159
  });
160
160
  doResolve_ = (() => {
161
161
  signal_.removeEventListener("abort", jsDoReject_);
@@ -204,9 +204,12 @@ ff_core_Stream.Stream_each(stream_, ((buffer_) => {
204
204
  if((!writable_.write((new Uint8Array(buffer_.buffer, buffer_.byteOffset, buffer_.byteLength))))) {
205
205
  ff_core_Js.withSignal_(((signal_) => {
206
206
  return (new Promise(((resolve_, reject_) => {
207
- signal_.addEventListener("abort", reject_);
207
+ const jsDoReject_ = ((_) => {
208
+ return reject_.callValue1(signal_.reason)
209
+ });
210
+ signal_.addEventListener("abort", jsDoReject_);
208
211
  return writable_.once("drain", (() => {
209
- signal_.removeEventListener("abort", reject_);
212
+ signal_.removeEventListener("abort", jsDoReject_);
210
213
  return resolve_()
211
214
  }))
212
215
  })))
@@ -270,8 +273,8 @@ return ff_core_Option.None()
270
273
  } else {
271
274
  (await ff_core_Js.withSignal_$((async (signal_, $task) => {
272
275
  const promise_ = (new Promise(((resolve_, reject_) => {
273
- const jsDoReject_ = ((_w1) => {
274
- return doReject_(_w1)
276
+ const jsDoReject_ = ((_) => {
277
+ return doReject_(signal_.reason)
275
278
  });
276
279
  doResolve_ = (() => {
277
280
  signal_.removeEventListener("abort", jsDoReject_);
@@ -320,9 +323,12 @@ try {
320
323
  if((!writable_.write((new Uint8Array(buffer_.buffer, buffer_.byteOffset, buffer_.byteLength))))) {
321
324
  (await ff_core_Js.withSignal_$((async (signal_, $task) => {
322
325
  return (await (new Promise(((resolve_, reject_) => {
323
- signal_.addEventListener("abort", reject_);
326
+ const jsDoReject_ = ((_) => {
327
+ return reject_.callValue1(signal_.reason)
328
+ });
329
+ signal_.addEventListener("abort", jsDoReject_);
324
330
  return writable_.once("drain", (() => {
325
- signal_.removeEventListener("abort", reject_);
331
+ signal_.removeEventListener("abort", jsDoReject_);
326
332
  return resolve_()
327
333
  }))
328
334
  }))))
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "description": "Firefly compiler",
5
5
  "author": "Firefly team",
6
6
  "license": "MIT",
7
- "version": "0.5.68",
7
+ "version": "0.5.70",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/Ahnfelt/firefly-boot"
@@ -4,7 +4,7 @@
4
4
  "description": "Firefly language support",
5
5
  "author": "Firefly team",
6
6
  "license": "MIT",
7
- "version": "0.5.68",
7
+ "version": "0.5.70",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/Ahnfelt/firefly-boot"