@naanlang/naan 1.0.6 → 1.0.7

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.
@@ -465,14 +465,24 @@ closure FSview(table, rootpath, local view, error) {
465
465
  if !callback
466
466
  return (syncAdapter(info, path))
467
467
  dbReadRecord(path, true, function(error, data, local finfo) {
468
- if data {
468
+ if data { // try to glean the node info
469
469
  finfo = new(data.finfo)
470
470
  if !finfo
471
471
  finfo = { }
472
472
  if data._md5
473
473
  finfo.md5 = data._md5
474
- if data._length
475
- finfo.length = data._length }
474
+ if xobject(data.modified) {
475
+ finfo.mtimeMs = data.modified.getTime()
476
+ finfo.mtime = data.modified.toISOString()
477
+ }
478
+ if data.contentType
479
+ finfo.contentType = data.contentType
480
+ if data.length
481
+ finfo.length = data.length
482
+ else if data._length
483
+ finfo.length = data._length
484
+ if finfo.length
485
+ finfo.type = "file" }
476
486
  else if path == "" {
477
487
  error = false // we were asked for info on superoot
478
488
  finfo = {
@@ -309,7 +309,7 @@ exports.NaanControllerWeb = function() {
309
309
  //
310
310
 
311
311
  this.VsiteRefresh = function VsiteRefresh(url_origin) {
312
- if (window.location.href.startsWith(url_origin)) {
312
+ if (vsiteName && window.location.href.startsWith(url_origin)) {
313
313
  window.location.reload(); // we have changed underneath
314
314
  return (true);
315
315
  }
@@ -458,7 +458,7 @@ exports.NaanControllerWeb = function() {
458
458
  statedoc.curversion = kStateCurrentVersion;
459
459
  statedoc.firstver = kStateFirstVersion;
460
460
  statedoc.licensee = "MIT-License";
461
- statedoc.verstring = "1.0.6-1";
461
+ statedoc.verstring = "1.0.7+1";
462
462
  statedoc.date = new Date().toISOString();
463
463
  statedoc.prefs = prefs;
464
464
  statedoc.naan = naanlib.saveState(false); // true to optimize, which is a bit slower
@@ -476,7 +476,7 @@ exports.NaanControllerWeb = function() {
476
476
  || statedoc.firstver > kStateCurrentVersion
477
477
  || statedoc.curversion < kStateFirstVersion
478
478
  || statedoc.licensee != "MIT-License"
479
- || statedoc.verstring != "1.0.6-1")
479
+ || statedoc.verstring != "1.0.7+1")
480
480
  {
481
481
  localStorage.removeItem("NaanState_Hosted");
482
482
  return (false);
@@ -534,7 +534,7 @@ exports.NaanControllerWeb = function() {
534
534
  op: "VsiteOpen",
535
535
  name: vsiteName,
536
536
  naancont: contSelf,
537
- title: vsiteName + " 1.0.6-1"
537
+ title: vsiteName + " 1.0.7+1"
538
538
  });
539
539
  }
540
540
 
@@ -544,8 +544,9 @@ exports.NaanControllerWeb = function() {
544
544
  op: "VsiteClose",
545
545
  name: vsiteName,
546
546
  naancont: contSelf,
547
- title: vsiteName + " 1.0.6-1"
547
+ title: vsiteName + " 1.0.7+1"
548
548
  });
549
+ vsiteName = false; // window is going away
549
550
  termTextOut("\x1b[90m\x1b[3m".concat("\nwindow closed", "\x1b[0m\n"));
550
551
  }
551
552
  }
@@ -556,7 +557,10 @@ exports.NaanControllerWeb = function() {
556
557
  naanlib.banner();
557
558
  var hostpath = naanlib.js.r("path").dirname(window.location.href);
558
559
  naanlib.start({
559
- cmd: 'Naan.module.webparse("naan_init.nlg", "' + hostpath + '"' + ');;\r\n'
560
+ cmd: 'App.version = "1.0.7+1";;\r\n'
561
+ + 'App.cache = "cb-1.0.7+1";;\r\n'
562
+ + 'Naan.module.requireQuery({ naanver: App.cache });;\r\n'
563
+ + 'Naan.module.webparse("naan_init.nlg", "' + hostpath + '", { naanver: App.cache });;\r\n'
560
564
  });
561
565
  } else {
562
566
  if (!replstate) { // saved state but never opened a terminal
@@ -104,6 +104,16 @@ exports.NaanControllerWebWorker = function NaanControllerWebWorker() {
104
104
  return (proc);
105
105
  };
106
106
 
107
+ targSelf.Download = function Download(bits, name, options) {
108
+ postMessage({ // tell browser host to download a file
109
+ id: "download",
110
+ bits: bits,
111
+ name: name,
112
+ options: options,
113
+ });
114
+ return (name);
115
+ };
116
+
107
117
  onmessage = function(e) {
108
118
  var msg = e.data;
109
119
  if (msg.id == "interrupt")