isomorfeus-speednode 0.6.2 → 0.6.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6853c585356e8829a315a146dbf12f7625f90eb2d23683147279c5eab581fe4f
4
- data.tar.gz: 7fd22dc8309c7d25685cc921853ac52f9ed342dac22ab71883226c2525ca48a0
3
+ metadata.gz: 7b3ece9e49e7a5105aef77b28b04445e4d39e2f22d061bfd1f03e43a79e403eb
4
+ data.tar.gz: e3d57e156c9d1efa686a18ae784125cc8c9d553e9946cabfd0c1325f20a959f0
5
5
  SHA512:
6
- metadata.gz: 67668d00cf0294ed3df27c4992e95f671799cfea181cb01b33ed4c789870a7e3ab1f953c0d09e0010a8e119e6f5101aa6a31716f54d1498ca1ea5e83bfebc486
7
- data.tar.gz: 2ea56bc9974145a6c1bab593c15001e9f7e56edb432ee38a656c2f88087ebb6935ed0f5653f4841bd362d0a70a601e01a55dcedcd9986bf5c5bae6de8257429e
6
+ metadata.gz: 67a6b031a66b5b29a9db16924087dc013a4c0ce360edbc8c4db3c076766c6c31d00783472a7b6f4d6bde526c61602ff1a78cc4e343c142016ef183005dcb339c
7
+ data.tar.gz: c4600a01abe22631455c4dce5209f656409a7931b5295116a551420c03c78906b3d6733afac90ebc87ce3835c9af2228b35c1e3bdb86296dc5aac2ce93b4ecdd
@@ -132,6 +132,13 @@ CircularJSON.stringify = function stringify(value, replacer, space, doNotResolve
132
132
  };
133
133
  /*** end of circular-json ***/
134
134
 
135
+ // serialize Map as Object, also below in attach
136
+ function simple_map_replacer(key, value) {
137
+ if (value && typeof value === 'object' && value.constructor.name === "Map")
138
+ return Object.fromEntries(value);
139
+ return value;
140
+ }
141
+
135
142
  function attachFunctionSource(responder_path, context, func) {
136
143
  return `${func} = async function(...method_args) {
137
144
  let context = '${context}';
@@ -158,8 +165,13 @@ function attachFunctionSource(responder_path, context, func) {
158
165
  }, 10)
159
166
  });
160
167
  }
168
+ function simple_map_replacer(key, value) {
169
+ if (value && typeof value === 'object' && value.constructor.name === "Map")
170
+ return Object.fromEntries(value);
171
+ return value;
172
+ }
161
173
  return new Promise(function(resolve, reject) {
162
- let request_json = JSON.stringify(request);
174
+ let request_json = JSON.stringify(request, simple_map_replacer);
163
175
  let buffer = Buffer.alloc(0);
164
176
  let socket = net.connect(responder_path);
165
177
  socket.setTimeout(2000);
@@ -228,18 +240,15 @@ function getContext(uuid) {
228
240
 
229
241
  function getContextOptions(uuid) {
230
242
  let options = { filename: "(execjs)", displayErrors: true };
231
- if (contexts[uuid].options.timeout) {
243
+ if (contexts[uuid].options.timeout)
232
244
  options.timeout = contexts[uuid].options.timeout;
233
- }
234
245
  return options;
235
246
  }
236
247
 
237
248
  function massageStackTrace(stack) {
238
- if (stack && stack.indexOf("SyntaxError") == 0) {
249
+ if (stack && stack.indexOf("SyntaxError") == 0)
239
250
  return "(execjs):1\n" + stack;
240
- } else {
241
- return stack;
242
- }
251
+ return stack;
243
252
  }
244
253
 
245
254
  let socket_path = process.env.SOCKET_PATH;
@@ -384,9 +393,9 @@ let server = net.createServer(function(s) {
384
393
  return;
385
394
  }
386
395
 
387
- try { outputJSON = JSON.stringify(result); }
396
+ try { outputJSON = JSON.stringify(result, simple_map_replacer); }
388
397
  catch(err) {
389
- if (err.message.includes('circular')) { outputJSON = CircularJSON.stringify(result); }
398
+ if (err.message.includes('circular')) { outputJSON = CircularJSON.stringify(result, simple_map_replacer); }
390
399
  else { outputJSON = JSON.stringify([['', err].join(''), err.stack]); }
391
400
  s.write([outputJSON, "\x04"].join(''));
392
401
  if (process_exit !== false) { process.exit(process_exit); }
@@ -165,7 +165,7 @@ module Isomorfeus
165
165
  end
166
166
 
167
167
  def await_result
168
- start_time = Time.now
168
+ start_time = ::Time.now
169
169
  while eval_script(key: :_internal_exec_fin) && !timed_out?(start_time)
170
170
  sleep 0.005
171
171
  end
@@ -193,7 +193,7 @@ module Isomorfeus
193
193
  end
194
194
 
195
195
  def timed_out?(start_time)
196
- if (Time.now - start_time) > @timeout
196
+ if (::Time.now - start_time) > @timeout
197
197
  raise "IsomorfeusSpeednode: Command Execution timed out!"
198
198
  end
199
199
  false
@@ -5,7 +5,7 @@ if Gem.win_platform?
5
5
  module Win32
6
6
  class Pipe
7
7
  def write(data)
8
- bytes = FFI::MemoryPointer.new(:ulong)
8
+ bytes = ::FFI::MemoryPointer.new(:ulong)
9
9
 
10
10
  raise Error, "no pipe created" unless @pipe
11
11
 
@@ -44,7 +44,7 @@ module Isomorfeus
44
44
  attr_reader :responder
45
45
 
46
46
  def initialize(options)
47
- @mutex = Thread::Mutex.new
47
+ @mutex = ::Thread::Mutex.new
48
48
  @socket_path = nil
49
49
  @options = options
50
50
  @started = false
@@ -15,7 +15,7 @@ module Isomorfeus
15
15
  bytes_to_send = message.bytesize
16
16
  sent_bytes = 0
17
17
 
18
- if ExecJS.windows?
18
+ if ::ExecJS.windows?
19
19
  @socket.write(message)
20
20
  begin
21
21
  result << @socket.read
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Speednode
3
- VERSION = '0.6.2'
3
+ VERSION = '0.6.3'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-speednode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-18 00:00:00.000000000 Z
11
+ date: 2023-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: execjs