The SyncJS language

The SyncJS language is like JavaScript, actually it is JavaScript, nearly 100% compatible with the ECMA5 specification, including strict mode and regular expressions, and with some ECMA6 functionality as well. Furthermore, and more importantly, it has several additional functions and methods specifically designed to develop Managed File Transfer scripts.


The only known caveat at this time is that WeakMap maintains “hard” references to its values. This means if a value references a key in a WeakMap or a WeakMap itself, it will not be garbage-collected until the WeakMap becomes unreferenced. To illustrate this, see the following script:

  var m = new WeakMap();
  var key = {};
  m.set(key, {key: key});
  // or m.set(key, key);
  key = undefined; // The value will NOT become garbage-collectable at this point
  m = undefined; // But it will at this point