@explorable-viz/fluid 0.11.3 → 0.12.1

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 (70) hide show
  1. package/README.md +22 -9
  2. package/dist/fluid/fluid/lib/graphics.fld +60 -60
  3. package/dist/fluid/fluid/lib/matrix.fld +17 -17
  4. package/dist/fluid/fluid/lib/prelude.fld +36 -35
  5. package/dist/fluid/fluid/lib/stats.fld +19 -19
  6. package/dist/fluid/shared/fluid.mjs +1044 -2141
  7. package/dist/fluid/shared/load-figure.js +1118 -2142
  8. package/dist/fluid/shared/webtest-lib.js +124 -124
  9. package/package.json +2 -2
  10. package/website/article/fluid/1805.02474v1-10.fld +2 -2
  11. package/website/article/fluid/bar-chart-line-chart.fld +1 -1
  12. package/website/article/fluid/convolution.fld +14 -18
  13. package/website/article/fluid/dataset/scigen/_1805_02474v1_10.fld +1 -1
  14. package/website/article/fluid/methane_data.fld +1 -1
  15. package/website/article/fluid/moving-average.fld +1 -1
  16. package/website/article/fluid/non-renewables.fld +1 -1
  17. package/website/article/fluid/nonRenewables.fld +2 -2
  18. package/website/article/fluid/renewables.fld +1 -1
  19. package/website/article/fluid/scigen.fld +3 -3
  20. package/website/article/fluid/util.fld +4 -4
  21. package/.spago/aff/v7.0.0/.editorconfig +0 -13
  22. package/.spago/aff/v7.0.0/.eslintrc.json +0 -28
  23. package/.spago/aff/v7.0.0/.gitignore +0 -14
  24. package/.spago/aff/v7.0.0/.tidyrc.json +0 -10
  25. package/.spago/argonaut-codecs/v9.0.0/.editorconfig +0 -13
  26. package/.spago/argonaut-codecs/v9.0.0/.gitignore +0 -9
  27. package/.spago/argonaut-codecs/v9.0.0/.tidyrc.json +0 -10
  28. package/.spago/arrays/v7.0.0/.eslintrc.json +0 -26
  29. package/.spago/arrays/v7.0.0/.gitignore +0 -9
  30. package/.spago/console/v6.0.0/.eslintrc.json +0 -30
  31. package/.spago/console/v6.0.0/.gitignore +0 -9
  32. package/.spago/debug/v6.0.0/.eslintrc.json +0 -36
  33. package/.spago/debug/v6.0.0/.gitignore +0 -8
  34. package/.spago/enums/v6.0.0/.gitignore +0 -7
  35. package/.spago/foreign-object/v4.0.0/.eslintrc.json +0 -26
  36. package/.spago/foreign-object/v4.0.0/.gitignore +0 -8
  37. package/.spago/free/v7.0.0/.gitignore +0 -8
  38. package/.spago/graphs/v8.0.0/.gitignore +0 -7
  39. package/.spago/js-uri/v3.0.0/.eslintrc.json +0 -30
  40. package/.spago/js-uri/v3.0.0/.gitignore +0 -14
  41. package/.spago/js-uri/v3.0.0/.tidyrc.json +0 -10
  42. package/.spago/node-buffer/v8.0.0/.eslintrc.json +0 -26
  43. package/.spago/node-buffer/v8.0.0/.gitignore +0 -8
  44. package/.spago/node-child-process/v9.0.0/.eslintrc.json +0 -29
  45. package/.spago/node-child-process/v9.0.0/.gitignore +0 -8
  46. package/.spago/node-process/v10.0.0/.eslintrc.json +0 -29
  47. package/.spago/node-process/v10.0.0/.gitignore +0 -8
  48. package/.spago/node-streams/v7.0.0/.eslintrc.json +0 -29
  49. package/.spago/node-streams/v7.0.0/.gitignore +0 -8
  50. package/.spago/optparse/v5.0.0/.gitignore +0 -8
  51. package/.spago/optparse/v5.0.0/.npmrc +0 -1
  52. package/.spago/ordered-collections/v3.0.0/.gitignore +0 -8
  53. package/.spago/parallel/v6.0.0/.gitignore +0 -7
  54. package/.spago/parsing/v10.0.0/.editorconfig +0 -13
  55. package/.spago/parsing/v10.0.0/.gitignore +0 -10
  56. package/.spago/parsing/v10.0.0/.tidyoperators +0 -231
  57. package/.spago/parsing/v10.0.0/.tidyrc.json +0 -10
  58. package/.spago/prelude/v6.0.0/.eslintrc.json +0 -26
  59. package/.spago/prelude/v6.0.0/.gitignore +0 -8
  60. package/.spago/st/v6.0.0/.eslintrc.json +0 -26
  61. package/.spago/st/v6.0.0/.gitignore +0 -8
  62. package/.spago/strings/v6.0.0/.eslintrc.json +0 -26
  63. package/.spago/strings/v6.0.0/.gitignore +0 -8
  64. package/.spago/tailrec/v6.0.0/.gitignore +0 -7
  65. package/.spago/web-html/v4.0.0/.eslintrc.json +0 -29
  66. package/.spago/web-html/v4.0.0/.gitignore +0 -8
  67. package/.spago/web-xhr/v5.0.0/.eslintrc.json +0 -29
  68. package/.spago/web-xhr/v5.0.0/.gitignore +0 -8
  69. package/website/article/.DS_Store +0 -0
  70. package/website/article/dataset/.DS_Store +0 -0
@@ -2762,16 +2762,16 @@ var require_ms = __commonJS({
2762
2762
  var d = h * 24;
2763
2763
  var w = d * 7;
2764
2764
  var y = d * 365.25;
2765
- module2.exports = function(val, options) {
2765
+ module2.exports = function(val2, options) {
2766
2766
  options = options || {};
2767
- var type = typeof val;
2768
- if (type === "string" && val.length > 0) {
2769
- return parse2(val);
2770
- } else if (type === "number" && isFinite(val)) {
2771
- return options.long ? fmtLong(val) : fmtShort(val);
2767
+ var type = typeof val2;
2768
+ if (type === "string" && val2.length > 0) {
2769
+ return parse2(val2);
2770
+ } else if (type === "number" && isFinite(val2)) {
2771
+ return options.long ? fmtLong(val2) : fmtShort(val2);
2772
2772
  }
2773
2773
  throw new Error(
2774
- "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
2774
+ "val is not a non-empty string or a valid number. val=" + JSON.stringify(val2)
2775
2775
  );
2776
2776
  };
2777
2777
  function parse2(str) {
@@ -2924,8 +2924,8 @@ var require_common = __commonJS({
2924
2924
  index2++;
2925
2925
  const formatter = createDebug.formatters[format3];
2926
2926
  if (typeof formatter === "function") {
2927
- const val = args[index2];
2928
- match2 = formatter.call(self2, val);
2927
+ const val2 = args[index2];
2928
+ match2 = formatter.call(self2, val2);
2929
2929
  args.splice(index2, 1);
2930
2930
  index2--;
2931
2931
  }
@@ -3030,11 +3030,11 @@ var require_common = __commonJS({
3030
3030
  }
3031
3031
  return false;
3032
3032
  }
3033
- function coerce2(val) {
3034
- if (val instanceof Error) {
3035
- return val.stack || val.message;
3033
+ function coerce2(val2) {
3034
+ if (val2 instanceof Error) {
3035
+ return val2.stack || val2.message;
3036
3036
  }
3037
- return val;
3037
+ return val2;
3038
3038
  }
3039
3039
  function destroy() {
3040
3040
  console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
@@ -3432,17 +3432,17 @@ var require_node = __commonJS({
3432
3432
  const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
3433
3433
  return k.toUpperCase();
3434
3434
  });
3435
- let val = process.env[key];
3436
- if (/^(yes|on|true|enabled)$/i.test(val)) {
3437
- val = true;
3438
- } else if (/^(no|off|false|disabled)$/i.test(val)) {
3439
- val = false;
3440
- } else if (val === "null") {
3441
- val = null;
3435
+ let val2 = process.env[key];
3436
+ if (/^(yes|on|true|enabled)$/i.test(val2)) {
3437
+ val2 = true;
3438
+ } else if (/^(no|off|false|disabled)$/i.test(val2)) {
3439
+ val2 = false;
3440
+ } else if (val2 === "null") {
3441
+ val2 = null;
3442
3442
  } else {
3443
- val = Number(val);
3443
+ val2 = Number(val2);
3444
3444
  }
3445
- obj[prop] = val;
3445
+ obj[prop] = val2;
3446
3446
  return obj;
3447
3447
  }, {});
3448
3448
  function useColors() {
@@ -19559,7 +19559,7 @@ var require_logHelper = __commonJS({
19559
19559
  }).join(",")}}`;
19560
19560
  }
19561
19561
  if (arg.type === "array") {
19562
- return `[${arg.value?.map((val) => toJson(val)).join(",") ?? ""}]`;
19562
+ return `[${arg.value?.map((val2) => toJson(val2)).join(",") ?? ""}]`;
19563
19563
  }
19564
19564
  throw Error(`Invalid value type: ${arg}`);
19565
19565
  }
@@ -34809,9 +34809,9 @@ var require_lru_cache = __commonJS({
34809
34809
  }
34810
34810
  pop() {
34811
34811
  if (this.size) {
34812
- const val = this.valList[this.head];
34812
+ const val2 = this.valList[this.head];
34813
34813
  this.evict(true);
34814
- return val;
34814
+ return val2;
34815
34815
  }
34816
34816
  }
34817
34817
  evict(free) {
@@ -42295,14 +42295,14 @@ var require_estraverse = __commonJS({
42295
42295
  "use strict";
42296
42296
  var Syntax, VisitorOption, VisitorKeys, BREAK, SKIP, REMOVE;
42297
42297
  function deepCopy(obj) {
42298
- var ret = {}, key, val;
42298
+ var ret = {}, key, val2;
42299
42299
  for (key in obj) {
42300
42300
  if (obj.hasOwnProperty(key)) {
42301
- val = obj[key];
42302
- if (typeof val === "object" && val !== null) {
42303
- ret[key] = deepCopy(val);
42301
+ val2 = obj[key];
42302
+ if (typeof val2 === "object" && val2 !== null) {
42303
+ ret[key] = deepCopy(val2);
42304
42304
  } else {
42305
- ret[key] = val;
42305
+ ret[key] = val2;
42306
42306
  }
42307
42307
  }
42308
42308
  }
@@ -45220,21 +45220,21 @@ var require_escodegen = __commonJS({
45220
45220
  return target;
45221
45221
  }
45222
45222
  function updateDeeply(target, override) {
45223
- var key, val;
45223
+ var key, val2;
45224
45224
  function isHashObject(target2) {
45225
45225
  return typeof target2 === "object" && target2 instanceof Object && !(target2 instanceof RegExp);
45226
45226
  }
45227
45227
  for (key in override) {
45228
45228
  if (override.hasOwnProperty(key)) {
45229
- val = override[key];
45230
- if (isHashObject(val)) {
45229
+ val2 = override[key];
45230
+ if (isHashObject(val2)) {
45231
45231
  if (isHashObject(target[key])) {
45232
- updateDeeply(target[key], val);
45232
+ updateDeeply(target[key], val2);
45233
45233
  } else {
45234
- target[key] = updateDeeply({}, val);
45234
+ target[key] = updateDeeply({}, val2);
45235
45235
  }
45236
45236
  } else {
45237
- target[key] = val;
45237
+ target[key] = val2;
45238
45238
  }
45239
45239
  }
45240
45240
  }
@@ -57180,35 +57180,35 @@ ${err.cause.stack}`;
57180
57180
  return r;
57181
57181
  }
57182
57182
  exports2.compile = compile;
57183
- function quickJSHandleToHost(vm, val) {
57184
- return vm.dump(val);
57183
+ function quickJSHandleToHost(vm, val2) {
57184
+ return vm.dump(val2);
57185
57185
  }
57186
- function hostToQuickJSHandle(vm, val) {
57187
- if (typeof val === "undefined") {
57186
+ function hostToQuickJSHandle(vm, val2) {
57187
+ if (typeof val2 === "undefined") {
57188
57188
  return vm.undefined;
57189
- } else if (val === null) {
57189
+ } else if (val2 === null) {
57190
57190
  return vm.null;
57191
- } else if (typeof val === "string") {
57192
- return vm.newString(val);
57193
- } else if (typeof val === "number") {
57194
- return vm.newNumber(val);
57195
- } else if (typeof val === "bigint") {
57196
- return vm.newBigInt(val);
57197
- } else if (typeof val === "boolean") {
57198
- return val ? vm.true : vm.false;
57199
- } else if (util_1.types.isPromise(val)) {
57191
+ } else if (typeof val2 === "string") {
57192
+ return vm.newString(val2);
57193
+ } else if (typeof val2 === "number") {
57194
+ return vm.newNumber(val2);
57195
+ } else if (typeof val2 === "bigint") {
57196
+ return vm.newBigInt(val2);
57197
+ } else if (typeof val2 === "boolean") {
57198
+ return val2 ? vm.true : vm.false;
57199
+ } else if (util_1.types.isPromise(val2)) {
57200
57200
  const promise2 = vm.newPromise();
57201
57201
  promise2.settled.then(vm.runtime.executePendingJobs);
57202
- val.then((r) => {
57202
+ val2.then((r) => {
57203
57203
  promise2.resolve(hostToQuickJSHandle(vm, r));
57204
57204
  }, (err) => {
57205
57205
  promise2.reject(hostToQuickJSHandle(vm, err));
57206
57206
  });
57207
57207
  return promise2.handle;
57208
- } else if (util_1.types.isNativeError(val)) {
57209
- return vm.newError(val);
57208
+ } else if (util_1.types.isNativeError(val2)) {
57209
+ return vm.newError(val2);
57210
57210
  }
57211
- throw new Error(`Unsupported value: ${val}`);
57211
+ throw new Error(`Unsupported value: ${val2}`);
57212
57212
  }
57213
57213
  }
57214
57214
  });
@@ -63497,29 +63497,29 @@ var require_fast_fifo = __commonJS({
63497
63497
  this.head.clear();
63498
63498
  this.length = 0;
63499
63499
  }
63500
- push(val) {
63500
+ push(val2) {
63501
63501
  this.length++;
63502
- if (!this.head.push(val)) {
63502
+ if (!this.head.push(val2)) {
63503
63503
  const prev = this.head;
63504
63504
  this.head = prev.next = new FixedFIFO(2 * this.head.buffer.length);
63505
- this.head.push(val);
63505
+ this.head.push(val2);
63506
63506
  }
63507
63507
  }
63508
63508
  shift() {
63509
63509
  if (this.length !== 0) this.length--;
63510
- const val = this.tail.shift();
63511
- if (val === void 0 && this.tail.next) {
63510
+ const val2 = this.tail.shift();
63511
+ if (val2 === void 0 && this.tail.next) {
63512
63512
  const next = this.tail.next;
63513
63513
  this.tail.next = null;
63514
63514
  this.tail = next;
63515
63515
  return this.tail.shift();
63516
63516
  }
63517
- return val;
63517
+ return val2;
63518
63518
  }
63519
63519
  peek() {
63520
- const val = this.tail.peek();
63521
- if (val === void 0 && this.tail.next) return this.tail.next.peek();
63522
- return val;
63520
+ const val2 = this.tail.peek();
63521
+ if (val2 === void 0 && this.tail.next) return this.tail.next.peek();
63522
+ return val2;
63523
63523
  }
63524
63524
  isEmpty() {
63525
63525
  return this.length === 0;
@@ -65009,10 +65009,10 @@ var require_headers = __commonJS({
65009
65009
  for (let j = 156; j < 512; j++) sum += block2[j];
65010
65010
  return sum;
65011
65011
  }
65012
- function encodeOct(val, n) {
65013
- val = val.toString(8);
65014
- if (val.length > n) return SEVENS.slice(0, n) + " ";
65015
- return ZEROS.slice(0, n - val.length) + val + " ";
65012
+ function encodeOct(val2, n) {
65013
+ val2 = val2.toString(8);
65014
+ if (val2.length > n) return SEVENS.slice(0, n) + " ";
65015
+ return ZEROS.slice(0, n - val2.length) + val2 + " ";
65016
65016
  }
65017
65017
  function encodeSizeBin(num, buf, off) {
65018
65018
  buf[off] = 128;
@@ -65047,21 +65047,21 @@ var require_headers = __commonJS({
65047
65047
  }
65048
65048
  return positive ? sum : -1 * sum;
65049
65049
  }
65050
- function decodeOct(val, offset, length4) {
65051
- val = val.subarray(offset, offset + length4);
65050
+ function decodeOct(val2, offset, length4) {
65051
+ val2 = val2.subarray(offset, offset + length4);
65052
65052
  offset = 0;
65053
- if (val[offset] & 128) {
65054
- return parse256(val);
65053
+ if (val2[offset] & 128) {
65054
+ return parse256(val2);
65055
65055
  } else {
65056
- while (offset < val.length && val[offset] === 32) offset++;
65057
- const end = clamp(indexOf2(val, 32, offset, val.length), val.length, val.length);
65058
- while (offset < end && val[offset] === 0) offset++;
65056
+ while (offset < val2.length && val2[offset] === 32) offset++;
65057
+ const end = clamp(indexOf2(val2, 32, offset, val2.length), val2.length, val2.length);
65058
+ while (offset < end && val2[offset] === 0) offset++;
65059
65059
  if (end === offset) return 0;
65060
- return parseInt(b4a.toString(val.subarray(offset, end)), 8);
65060
+ return parseInt(b4a.toString(val2.subarray(offset, end)), 8);
65061
65061
  }
65062
65062
  }
65063
- function decodeStr(val, offset, length4, encoding) {
65064
- return b4a.toString(val.subarray(offset, indexOf2(val, 0, offset, offset + length4)), encoding);
65063
+ function decodeStr(val2, offset, length4, encoding) {
65064
+ return b4a.toString(val2.subarray(offset, indexOf2(val2, 0, offset, offset + length4)), encoding);
65065
65065
  }
65066
65066
  function addLength(str) {
65067
65067
  const len = b4a.byteLength(str);
@@ -106178,37 +106178,37 @@ ${lanes.join("\n")}
106178
106178
  sourceFile2.setExternalModuleIndicator = setExternalModuleIndicator2;
106179
106179
  }
106180
106180
  }
106181
- function setContextFlag(val, flag) {
106182
- if (val) {
106181
+ function setContextFlag(val2, flag) {
106182
+ if (val2) {
106183
106183
  contextFlags |= flag;
106184
106184
  } else {
106185
106185
  contextFlags &= ~flag;
106186
106186
  }
106187
106187
  }
106188
- function setDisallowInContext(val) {
106188
+ function setDisallowInContext(val2) {
106189
106189
  setContextFlag(
106190
- val,
106190
+ val2,
106191
106191
  8192
106192
106192
  /* DisallowInContext */
106193
106193
  );
106194
106194
  }
106195
- function setYieldContext(val) {
106195
+ function setYieldContext(val2) {
106196
106196
  setContextFlag(
106197
- val,
106197
+ val2,
106198
106198
  16384
106199
106199
  /* YieldContext */
106200
106200
  );
106201
106201
  }
106202
- function setDecoratorContext(val) {
106202
+ function setDecoratorContext(val2) {
106203
106203
  setContextFlag(
106204
- val,
106204
+ val2,
106205
106205
  32768
106206
106206
  /* DecoratorContext */
106207
106207
  );
106208
106208
  }
106209
- function setAwaitContext(val) {
106209
+ function setAwaitContext(val2) {
106210
106210
  setContextFlag(
106211
- val,
106211
+ val2,
106212
106212
  65536
106213
106213
  /* AwaitContext */
106214
106214
  );
@@ -117436,9 +117436,9 @@ ${lanes.join("\n")}
117436
117436
  function convertJsonOptionOfCustomType(opt, value, errors, valueExpression, sourceFile) {
117437
117437
  if (isNullOrUndefined(value)) return void 0;
117438
117438
  const key = value.toLowerCase();
117439
- const val = opt.type.get(key);
117440
- if (val !== void 0) {
117441
- return validateJsonOptionValue(opt, val, errors, valueExpression, sourceFile);
117439
+ const val2 = opt.type.get(key);
117440
+ if (val2 !== void 0) {
117441
+ return validateJsonOptionValue(opt, val2, errors, valueExpression, sourceFile);
117442
117442
  } else {
117443
117443
  errors.push(createDiagnosticForInvalidCustomType(opt, (message2, ...args) => createDiagnosticForNodeInSourceFileOrCompilerDiagnostic(sourceFile, valueExpression, message2, ...args)));
117444
117444
  }
@@ -183181,8 +183181,8 @@ ${lanes.join("\n")}
183181
183181
  addEmitHelpers(visited, context3.readEmitHelpers());
183182
183182
  return visited;
183183
183183
  }
183184
- function setContextFlag(flag, val) {
183185
- contextFlags = val ? contextFlags | flag : contextFlags & ~flag;
183184
+ function setContextFlag(flag, val2) {
183185
+ contextFlags = val2 ? contextFlags | flag : contextFlags & ~flag;
183186
183186
  }
183187
183187
  function inContext(flags) {
183188
183188
  return (contextFlags & flags) !== 0;
@@ -237336,8 +237336,8 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
237336
237336
  if (continuationArgName && !shouldReturn(node, transformer)) {
237337
237337
  if (isSynthIdentifier(continuationArgName)) {
237338
237338
  possibleNameForVarDecl = continuationArgName;
237339
- transformer.synthNamesMap.forEach((val, key) => {
237340
- if (val.identifier.text === continuationArgName.identifier.text) {
237339
+ transformer.synthNamesMap.forEach((val2, key) => {
237340
+ if (val2.identifier.text === continuationArgName.identifier.text) {
237341
237341
  const newSynthName = createUniqueSynthName(continuationArgName);
237342
237342
  transformer.synthNamesMap.set(key, newSynthName);
237343
237343
  }
@@ -273824,7 +273824,7 @@ ${options.prefix}` : "\n" : options.prefix
273824
273824
  }
273825
273825
  let availableSpace = maxProgramSizeForNonTsFiles;
273826
273826
  this.projectToSizeMap.set(name2, 0);
273827
- this.projectToSizeMap.forEach((val) => availableSpace -= val || 0);
273827
+ this.projectToSizeMap.forEach((val2) => availableSpace -= val2 || 0);
273828
273828
  let totalNonTsFileSize = 0;
273829
273829
  for (const f of fileNames) {
273830
273830
  const fileName = propertyReader.getFileName(f);
@@ -294187,14 +294187,14 @@ var YargsParser = class {
294187
294187
  setArg(key, argsToSet);
294188
294188
  return i;
294189
294189
  }
294190
- function setArg(key, val, shouldStripQuotes = inputIsString) {
294190
+ function setArg(key, val2, shouldStripQuotes = inputIsString) {
294191
294191
  if (/-/.test(key) && configuration2["camel-case-expansion"]) {
294192
294192
  const alias = key.split(".").map(function(prop) {
294193
294193
  return camelCase(prop);
294194
294194
  }).join(".");
294195
294195
  addNewAlias(key, alias);
294196
294196
  }
294197
- const value = processValue(key, val, shouldStripQuotes);
294197
+ const value = processValue(key, val2, shouldStripQuotes);
294198
294198
  const splitKey = key.split(".");
294199
294199
  setKey(argv, splitKey, value);
294200
294200
  if (flags.aliases[key]) {
@@ -294221,10 +294221,10 @@ var YargsParser = class {
294221
294221
  Object.defineProperty(argvReturn, key2, {
294222
294222
  enumerable: true,
294223
294223
  get() {
294224
- return val;
294224
+ return val2;
294225
294225
  },
294226
294226
  set(value2) {
294227
- val = typeof value2 === "string" ? mixin2.normalize(value2) : value2;
294227
+ val2 = typeof value2 === "string" ? mixin2.normalize(value2) : value2;
294228
294228
  }
294229
294229
  });
294230
294230
  });
@@ -294239,27 +294239,27 @@ var YargsParser = class {
294239
294239
  addNewAlias(alias, key);
294240
294240
  }
294241
294241
  }
294242
- function processValue(key, val, shouldStripQuotes) {
294242
+ function processValue(key, val2, shouldStripQuotes) {
294243
294243
  if (shouldStripQuotes) {
294244
- val = stripQuotes(val);
294244
+ val2 = stripQuotes(val2);
294245
294245
  }
294246
294246
  if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {
294247
- if (typeof val === "string")
294248
- val = val === "true";
294247
+ if (typeof val2 === "string")
294248
+ val2 = val2 === "true";
294249
294249
  }
294250
- let value = Array.isArray(val) ? val.map(function(v) {
294250
+ let value = Array.isArray(val2) ? val2.map(function(v) {
294251
294251
  return maybeCoerceNumber(key, v);
294252
- }) : maybeCoerceNumber(key, val);
294252
+ }) : maybeCoerceNumber(key, val2);
294253
294253
  if (checkAllAliases(key, flags.counts) && (isUndefined2(value) || typeof value === "boolean")) {
294254
294254
  value = increment();
294255
294255
  }
294256
294256
  if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {
294257
- if (Array.isArray(val))
294258
- value = val.map((val2) => {
294259
- return mixin2.normalize(val2);
294257
+ if (Array.isArray(val2))
294258
+ value = val2.map((val3) => {
294259
+ return mixin2.normalize(val3);
294260
294260
  });
294261
294261
  else
294262
- value = mixin2.normalize(val);
294262
+ value = mixin2.normalize(val2);
294263
294263
  }
294264
294264
  return value;
294265
294265
  }
@@ -294634,8 +294634,8 @@ function sanitizeKey(key) {
294634
294634
  return "___proto___";
294635
294635
  return key;
294636
294636
  }
294637
- function stripQuotes(val) {
294638
- return typeof val === "string" && (val[0] === "'" || val[0] === '"') && val[val.length - 1] === val[0] ? val.substring(1, val.length - 1) : val;
294637
+ function stripQuotes(val2) {
294638
+ return typeof val2 === "string" && (val2[0] === "'" || val2[0] === '"') && val2[val2.length - 1] === val2[0] ? val2.substring(1, val2.length - 1) : val2;
294639
294639
  }
294640
294640
 
294641
294641
  // node_modules/@puppeteer/browsers/node_modules/yargs-parser/build/lib/index.js
@@ -296571,18 +296571,18 @@ ${customMsgs.join("\n")}` : "";
296571
296571
  self2.getImplied = function getImplied() {
296572
296572
  return implied;
296573
296573
  };
296574
- function keyExists(argv, val) {
296575
- const num = Number(val);
296576
- val = isNaN(num) ? val : num;
296577
- if (typeof val === "number") {
296578
- val = argv._.length >= val;
296579
- } else if (val.match(/^--no-.+/)) {
296580
- val = val.match(/^--no-(.+)/)[1];
296581
- val = !Object.prototype.hasOwnProperty.call(argv, val);
296574
+ function keyExists(argv, val2) {
296575
+ const num = Number(val2);
296576
+ val2 = isNaN(num) ? val2 : num;
296577
+ if (typeof val2 === "number") {
296578
+ val2 = argv._.length >= val2;
296579
+ } else if (val2.match(/^--no-.+/)) {
296580
+ val2 = val2.match(/^--no-(.+)/)[1];
296581
+ val2 = !Object.prototype.hasOwnProperty.call(argv, val2);
296582
296582
  } else {
296583
- val = Object.prototype.hasOwnProperty.call(argv, val);
296583
+ val2 = Object.prototype.hasOwnProperty.call(argv, val2);
296584
296584
  }
296585
- return val;
296585
+ return val2;
296586
296586
  }
296587
296587
  self2.implications = function implications(argv) {
296588
296588
  const implyFail = [];
@@ -299702,7 +299702,7 @@ function _launch2(options) {
299702
299702
  var sequence_ = /* @__PURE__ */ traverse_(applicativeAff)(foldableArray)(identity2);
299703
299703
  var testCondition2 = /* @__PURE__ */ testCondition(monadThrowAff)(monadEffectAff);
299704
299704
  var for_2 = /* @__PURE__ */ for_(applicativeAff)(foldableArray);
299705
- var timeout2 = 24e4;
299705
+ var timeout2 = 6e4;
299706
299706
  var textContentValue = (page2) => (selector2) => _bind(runPromiseAffE3(_unsafePageEval)(selector2)("element => element.textContent")(page2))((captionText) => _pure(captionText));
299707
299707
  var show$p = (v) => v;
299708
299708
  var runTests = (arr) => fromAff(sequence_(arr));
@@ -299712,13 +299712,13 @@ var waitFor = (selector2) => (page2) => {
299712
299712
  const report = testCondition2(selector2);
299713
299713
  return _bind(_liftEffect(log2("Waiting for " + selector2)))(() => _catchError(_bind(_map((v) => {
299714
299714
  })(runPromiseAffE3(_pageWaitForSelector)(selector2)({
299715
- timeout: 24e4,
299715
+ timeout: 6e4,
299716
299716
  visible: true
299717
299717
  })(page2)))(() => _bind(_liftEffect(log2("-> found")))(() => report(true)("exists"))))((e) => report(false)(showErrorImpl(e))));
299718
299718
  };
299719
299719
  var waitForHidden = (selector2) => (page2) => _bind(_liftEffect(log2("Waiting for " + selector2)))(() => _bind(_map((v) => {
299720
299720
  })(runPromiseAffE3(_pageWaitForSelector)(selector2)({
299721
- timeout: 24e4,
299721
+ timeout: 6e4,
299722
299722
  visible: false
299723
299723
  })(page2)))(() => _liftEffect(log2("-> found"))));
299724
299724
  var launch4 = /* @__PURE__ */ runPromiseAffE1(_launch2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorable-viz/fluid",
3
- "version": "0.11.3",
3
+ "version": "0.12.1",
4
4
  "description": "A functional programming language which integrates a bidirectional dynamic analysis, connecting outputs to data sources in a fine-grained way. Fluid is implemented in PureScript and runs in the browser.",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -75,7 +75,7 @@
75
75
  "karma-mocha": "2.0.1",
76
76
  "karma-mocha-reporter": "2.2.5",
77
77
  "mocha": "^10.0.0",
78
- "puppeteer": "^23.2.0",
78
+ "puppeteer": "23.11.1",
79
79
  "purescript": "0.15.10",
80
80
  "purescript-language-server": "0.16.6",
81
81
  "purescript-psa": "0.8.2",
@@ -10,7 +10,7 @@ def model_S_LSTM: model("S-LSTM", tableData)
10
10
  def model_CNN: model("CNN", tableData)
11
11
  def model_3_stacked_CNN: model("3 stacked CNN", tableData)
12
12
  def mostEfficient:
13
- findWithKey_("time_s", minimum(map(lambda y: y.time_s, tableData)), tableData)
13
+ find_with_key_("time_s", minimum(map(lambda y: y.time_s, tableData)), tableData)
14
14
 
15
15
  f"""As shown in Table 3, BiLSTM gives significantly
16
16
  {trendWord(model_BiLSTM.acc, model_LSTM.acc, betterWorse)}
@@ -34,7 +34,7 @@ f"""As shown in Table 3, BiLSTM gives significantly
34
34
  among all models compared, with the
35
35
  {rankLabel("smallest", findIndex("model", "CNN", insertionSort(lambda a, b: a.param < b.param, tableData)))}
36
36
  model size. On the other hand, a 3-layer stacked CNN gives an accuracy of
37
- {numToStr(model_3_stacked_CNN.acc)}%, which is also the
37
+ {num_to_str(model_3_stacked_CNN.acc)}%, which is also the
38
38
  {rankLabel("lowest", findIndex("model", "CNN", insertionSort(lambda a, b: a.time_s < b.time_s, tableData)))}
39
39
  compared with BiLSTM, hierarchical attention and S-LSTM. The
40
40
  {rankLabel("best", findIndex("model", "S-LSTM+Attention", insertionSort(lambda a, b: b.acc < a.acc, tableData)))}
@@ -30,7 +30,7 @@ MultiView([
30
30
  plots: [
31
31
  LinePlot({
32
32
  name: energyType,
33
- points: zipWith(lambda p1, p2: { x: p1.x, y: p1.y / p2.y }, usa, china)
33
+ points: zip_with(lambda p1, p2: { x: p1.x, y: p1.y / p2.y }, usa, china)
34
34
  })
35
35
  for energyType in ["Bio", "Hydro", "Solar", "Wind"]
36
36
  for (usa, china) in [(series(energyType, "USA"), series(energyType, "China"))]
@@ -1,29 +1,25 @@
1
- import convolution.testImage
2
- import convolution.emboss
1
+ import convolution.testImage # defines inputImage
2
+ import convolution.emboss # defines filter
3
3
 
4
4
  def lookup(m, n, image):
5
- def (m_max, n_max): dims(image)
6
- if m >= 1 |and| m <= m_max |and| n >= 1 |and| n <= n_max:
5
+ def (m_size, n_size): dims(image)
6
+ if m >= 0 and m < m_size and n >= 0 and n < n_size:
7
7
  image!(m, n)
8
- else: 0
9
- # image!((m - 1 |mod| m_max) + 1, (n - 1 |mod| n_max) + 1)
8
+ else: 0 # pad with zeros
10
9
 
11
- def matrixSum(matr):
10
+ def matrix_sum(matr):
12
11
  def (m, n): dims(matr)
13
- foldl((+), 0, [matr!(i, j) for (i, j) in range((1, 1), (m, n))])
12
+ foldl((+), 0, [matr!(i, j) for (i, j) in range2d((0, 0), (m, n))])
14
13
 
15
14
  def convolve(image, kernel):
16
- def (m, n): dims(image)
17
- def (i, j): dims(kernel)
18
- def (half_i, half_j): (i |quot| 2, j |quot| 2)
19
- def area: i * j
15
+ def (k_i, k_j): dims(kernel)
16
+ def (half_i, half_j): (k_i |quot| 2, k_j |quot| 2)
20
17
 
21
- def interMatrix(m_, n_):
22
- # @doc(f"""average these values to compute element""")
23
- [| kernel!(i_, j_) *
24
- lookup(m_ + i_ - 1 - half_i, n_ + j_ - 1 - half_j, image)
25
- for (i_, j_) in (i, j) |]
18
+ def inter_matrix(m, n):
19
+ @doc(f"""average these to compute element ({m}, {n})""")
20
+ [| lookup(m + i - half_i, n + j - half_j, image) * kernel!(i, j)
21
+ for (i, j) in (k_i, k_j) |]
26
22
 
27
- [| matrixSum(interMatrix(m_, n_)) |quot| area for (m_, n_) in (m, n) |]
23
+ [| matrix_sum(inter_matrix(m, n)) |quot| k_i * k_j for (m, n) in dims(image) |]
28
24
 
29
25
  convolve(inputImage, filter)
@@ -1,2 +1,2 @@
1
1
  def tableData:
2
- loadJson("/dataset/SciGen/1805.02474v1-10.json")
2
+ load_json("../dataset/SciGen/1805.02474v1-10.json")
@@ -1 +1 @@
1
- def methane: loadJson("/dataset/methane-emissions.json")
1
+ def methane: load_json("../dataset/methane-emissions.json")
@@ -5,7 +5,7 @@ def nthPad(n, xs):
5
5
  def movingAvg(ys, window):
6
6
  [sum([nthPad(n, ys) for n in [i - window .. i + window]]) / (1 + 2 * window) for i in [0 .. length(ys) - 1]]
7
7
  def movingAvg_(rs, window):
8
- zipWith(lambda x, y: { x: x, y: y }, map(lambda r: r.x, rs), movingAvg(map(lambda r: r.y, rs), window))
8
+ zip_with(lambda x, y: { x: x, y: y }, map(lambda r: r.x, rs), movingAvg(map(lambda r: r.y, rs), window))
9
9
 
10
10
  def points:
11
11
  [{ x: r.year, y: r.emissions } for r in methane if r.type == "Agriculture"]
@@ -19,7 +19,7 @@ MultiView([
19
19
  caption: "Non-renewables output",
20
20
  size: { width: 275, height: 185 },
21
21
  tickLabels: { x: Default, y: Default },
22
- stackedBars: [{ x: numToStr(year), segments: stack(year) } for year in [2014 .. 2018]],
22
+ stackedBars: [{ x: num_to_str(year), segments: stack(year) } for year in [2014 .. 2018]],
23
23
  legend: True
24
24
  }),
25
25
  ScatterPlot({
@@ -1,5 +1,5 @@
1
1
  def nonRenewables:
2
- loadJson("/dataset/non-renewables.json")
2
+ load_json("../dataset/non-renewables.json")
3
3
 
4
4
  def renewables:
5
- loadJson("/dataset/renewable.json")
5
+ load_json("../dataset/renewable.json")
@@ -1 +1 @@
1
- def renewables: loadJson("/dataset/renewable-new.json")
1
+ def renewables: load_json("../dataset/renewable-new.json")
@@ -9,10 +9,10 @@ def ordinal(n):
9
9
  error("n <= 0 not supported")
10
10
  else:
11
11
  if n < 4:
12
- numToStr(n) ++ findWithKey_("lastDigit", n, ordinalMap).suffix
12
+ num_to_str(n) ++ find_with_key_("lastDigit", n, ordinalMap).suffix
13
13
  else:
14
- if n >= 4 |and| n <= 20:
15
- numToStr(n) ++ "th"
14
+ if n >= 4 and n <= 20:
15
+ num_to_str(n) ++ "th"
16
16
  else:
17
17
  error("n > 20 not supported")
18
18