@graffiticode/l0179-view 0.1.2 → 0.1.4

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.
@@ -4248,7 +4248,7 @@ var zt = (e) => [
4248
4248
  if (t >= 1 && t <= 12 && n >= 1 && n <= 31) return Kt(new Date(e, t - 1, n));
4249
4249
  }
4250
4250
  return null;
4251
- }, Jt = Rt({ functions: [{
4251
+ }, Jt = {
4252
4252
  name: "POWER",
4253
4253
  minArgs: 2,
4254
4254
  maxArgs: 2,
@@ -4261,7 +4261,28 @@ var zt = (e) => [
4261
4261
  return "#NUM!";
4262
4262
  }
4263
4263
  }
4264
- }] }), Yt = Jt.expanders, Xt = Jt.rules.evalRules, Zt = 9e8, Qt = "EMPTY", $t = /[-+*/^%&]/, en = (e) => {
4264
+ }, Yt = (e, t) => ({
4265
+ name: e,
4266
+ minArgs: 1,
4267
+ maxArgs: Infinity,
4268
+ apply: ({ args: e, helpers: n }) => {
4269
+ let r = e.map((e) => n.getCellValue(e)).filter((e) => n.isValidDecimal(e)).map((e) => new n.Decimal(e));
4270
+ return r.length ? `${n.Decimal[t](...r)}` : "0";
4271
+ }
4272
+ }), Xt = Rt({ functions: [
4273
+ Jt,
4274
+ Yt("MAX", "max"),
4275
+ Yt("MIN", "min"),
4276
+ {
4277
+ name: "ABS",
4278
+ minArgs: 1,
4279
+ maxArgs: 1,
4280
+ apply: ({ args: e, helpers: t }) => {
4281
+ let n = t.getCellValue(e[0]);
4282
+ return t.isValidDecimal(n) ? `${new t.Decimal(n).abs()}` : "#VALUE!";
4283
+ }
4284
+ }
4285
+ ] }), Zt = Xt.expanders, Qt = Xt.rules.evalRules, $t = 9e8, en = "EMPTY", tn = /[-+*/^%&]/, nn = (e) => {
4265
4286
  let t = {}, n, r = 0;
4266
4287
  return typeof e != "string" || e.indexOf("\"") < 0 ? {
4267
4288
  text: e,
@@ -4271,22 +4292,22 @@ var zt = (e) => [
4271
4292
  } : {
4272
4293
  text: e.replace(/"((?:[^"]|"")*)"/g, (i, a, o) => {
4273
4294
  let s = a.replace(/""/g, "\""), c = e.slice(0, o).trimEnd().slice(-1), l = e.slice(o + i.length).trimStart().charAt(0);
4274
- ($t.test(c) || $t.test(l)) && (s.trim() === "" || isNaN(Number(s))) && (n ??= `Text used as a number: ${i}`);
4275
- let u = `Z${Zt + r++}`;
4295
+ (tn.test(c) || tn.test(l)) && (s.trim() === "" || isNaN(Number(s))) && (n ??= `Text used as a number: ${i}`);
4296
+ let u = `Z${$t + r++}`;
4276
4297
  return t[u] = {
4277
- val: s === "" ? Qt : s,
4298
+ val: s === "" ? en : s,
4278
4299
  type: "text"
4279
4300
  }, u;
4280
4301
  }),
4281
4302
  env: t,
4282
4303
  error: n,
4283
- decode: (e) => typeof e == "string" && e.indexOf(Qt) >= 0 ? e.split(Qt).join("") : e
4304
+ decode: (e) => typeof e == "string" && e.indexOf(en) >= 0 ? e.split(en).join("") : e
4284
4305
  };
4285
- }, tn = new Set(Xt.types.fn.map((e) => e.toUpperCase())), nn = (e) => e === "\"" || e === "'" || e === "`", rn = (e, t) => {
4306
+ }, rn = new Set(Qt.types.fn.map((e) => e.toUpperCase())), an = (e) => e === "\"" || e === "'" || e === "`", on = (e, t) => {
4286
4307
  let n = 0, r = !1;
4287
4308
  for (let i = t; i < e.length; i++) {
4288
4309
  let t = e[i];
4289
- if (nn(t)) {
4310
+ if (an(t)) {
4290
4311
  r = !r;
4291
4312
  continue;
4292
4313
  }
@@ -4296,13 +4317,13 @@ var zt = (e) => [
4296
4317
  }
4297
4318
  }
4298
4319
  return -1;
4299
- }, an = (e) => {
4320
+ }, sn = (e) => {
4300
4321
  if (e.indexOf("<>") < 0) return e;
4301
4322
  let t = "", n = "";
4302
4323
  for (let r = 0; r < e.length; r++) {
4303
4324
  let i = e[r];
4304
4325
  if (n) i === n && (n = "");
4305
- else if (nn(i)) n = i;
4326
+ else if (an(i)) n = i;
4306
4327
  else if (i === "<" && e[r + 1] === ">") {
4307
4328
  t += "!=", r++;
4308
4329
  continue;
@@ -4310,70 +4331,130 @@ var zt = (e) => [
4310
4331
  t += i;
4311
4332
  }
4312
4333
  return t;
4313
- }, on = (e) => {
4314
- let t = an(Bt(Vt(e)));
4315
- if (!t || t.indexOf("=") !== 0 || !/[*/]/.test(t)) return t;
4334
+ }, cn = /[A-Z0-9_.:]/, ln = /[=(,<>+\-*/^&!]/, un = (e, t) => {
4335
+ let n = t;
4336
+ for (; n >= 0 && e[n] === " ";) n--;
4337
+ for (; n >= 0 && e[n] === "%";) for (n--; n >= 0 && e[n] === " ";) n--;
4338
+ if (e[n] === ")") {
4339
+ let t = 0;
4340
+ for (; n >= 0; n--) if (e[n] === ")") t++;
4341
+ else if (e[n] === "(" && --t === 0) break;
4342
+ for (n--; n >= 0 && cn.test(e[n]);) n--;
4343
+ } else if (an(e[n])) {
4344
+ let t = e[n];
4345
+ for (n--; n >= 0 && e[n] !== t;) n--;
4346
+ n--;
4347
+ } else for (; n >= 0 && cn.test(e[n]);) n--;
4348
+ let r = n + 1;
4349
+ for (;;) {
4350
+ let t = r - 1;
4351
+ for (; t >= 0 && e[t] === " ";) t--;
4352
+ if (t < 1 || e[t] !== "-" && e[t] !== "+") break;
4353
+ let n = t - 1;
4354
+ for (; n >= 0 && e[n] === " ";) n--;
4355
+ if (n >= 0 && !ln.test(e[n])) break;
4356
+ r = t;
4357
+ }
4358
+ return r;
4359
+ }, dn = (e, t) => {
4360
+ let n = t;
4361
+ for (; n < e.length && (e[n] === " " || e[n] === "-" || e[n] === "+");) n++;
4362
+ if (an(e[n])) {
4363
+ let t = e[n];
4364
+ for (n++; n < e.length && e[n] !== t;) n++;
4365
+ n++;
4366
+ } else {
4367
+ for (; n < e.length && cn.test(e[n]);) n++;
4368
+ let t = n;
4369
+ for (; t < e.length && e[t] === " ";) t++;
4370
+ if (e[t] === "(") {
4371
+ let r = on(e, t);
4372
+ n = r < 0 ? e.length : r + 1;
4373
+ }
4374
+ }
4375
+ let r = n;
4376
+ for (; r < e.length && (e[r] === " " || e[r] === "%");) r++;
4377
+ return e[r - 1] === "%" ? r : n;
4378
+ }, fn = (e) => {
4379
+ let t = "";
4380
+ for (let n = 0; n < e.length; n++) {
4381
+ let r = e[n];
4382
+ if (t) r === t && (t = "");
4383
+ else if (an(r)) t = r;
4384
+ else if (r === "^") return n;
4385
+ }
4386
+ return -1;
4387
+ }, pn = (e) => {
4388
+ for (let t = fn(e); t > 0; t = fn(e)) {
4389
+ let n = un(e, t - 1), r = dn(e, t + 1), i = e.slice(n, t).trim(), a = e.slice(t + 1, r).trim();
4390
+ if (!i || !a) break;
4391
+ e = `${e.slice(0, n)}POWER(${i},${a})${e.slice(r)}`;
4392
+ }
4393
+ return e;
4394
+ }, mn = (e) => {
4395
+ let t = pn(sn(Bt(Vt(e))));
4396
+ if (!t || t.indexOf("=") !== 0 || !/[*/+-]/.test(t)) return t;
4316
4397
  let n = (e) => {
4317
4398
  for (; e < t.length && t[e] === " ";) e++;
4318
4399
  return t[e] || "";
4319
- }, r = (e) => e === "*" || e === "/", i = /* @__PURE__ */ new Map(), a = "", o = !1, s = "";
4400
+ }, r = (e) => e === "*" || e === "/", i = (e) => e === "+" || e === "-", a = /* @__PURE__ */ new Map(), o = "", s = !1, c = "";
4320
4401
  for (let e = 0; e < t.length; e++) {
4321
- let c = t[e];
4322
- if (nn(c)) {
4323
- o = !o, a += c, s = c;
4402
+ let l = t[e];
4403
+ if (an(l)) {
4404
+ s = !s, o += l, c = l;
4324
4405
  continue;
4325
4406
  }
4326
- if (o) {
4327
- a += c;
4407
+ if (s) {
4408
+ o += l;
4328
4409
  continue;
4329
4410
  }
4330
- if (/[A-Z]/.test(c) && (s === "" || !/[A-Z0-9_]/.test(s))) {
4331
- let o = e;
4332
- for (; o < t.length && /[A-Z0-9_]/.test(t[o]);) o++;
4333
- let c = o;
4334
- for (; c < t.length && t[c] === " ";) c++;
4335
- if (t[c] === "(" && tn.has(t.slice(e, o))) {
4336
- let e = rn(t, c);
4337
- e >= 0 && (r(s) || r(n(e + 1))) && (a += "(", i.set(e, (i.get(e) || 0) + 1));
4411
+ if (/[A-Z]/.test(l) && (c === "" || !/[A-Z0-9_]/.test(c))) {
4412
+ let s = e;
4413
+ for (; s < t.length && /[A-Z0-9_]/.test(t[s]);) s++;
4414
+ let l = s;
4415
+ for (; l < t.length && t[l] === " ";) l++;
4416
+ if (t[l] === "(" && rn.has(t.slice(e, s))) {
4417
+ let e = on(t, l);
4418
+ e >= 0 && (r(c) || i(c) || r(n(e + 1))) && (o += "(", a.set(e, (a.get(e) || 0) + 1));
4338
4419
  }
4339
4420
  }
4340
- a += c, c === ")" && (a += ")".repeat(i.get(e) || 0)), c !== " " && (s = c);
4421
+ o += l, l === ")" && (o += ")".repeat(a.get(e) || 0)), l !== " " && (c = l);
4341
4422
  }
4342
- return a;
4423
+ return o;
4343
4424
  };
4344
4425
  //#endregion
4345
4426
  //#region src/scoring/sheets.ts
4346
- function sn(e) {
4427
+ function hn(e) {
4347
4428
  let t = e.indexOf("!");
4348
4429
  return t < 0 ? [void 0, e] : [e.slice(0, t), e.slice(t + 1)];
4349
4430
  }
4350
- var cn = (e, t) => `${e}!${t}`;
4351
- function ln(e, t) {
4352
- return Object.keys(t || {}).reduce((n, r) => (n[cn(e, r)] = t[r], n), {});
4431
+ var gn = (e, t) => `${e}!${t}`;
4432
+ function _n(e, t) {
4433
+ return Object.keys(t || {}).reduce((n, r) => (n[gn(e, r)] = t[r], n), {});
4353
4434
  }
4354
- function un(e, t) {
4435
+ function vn(e, t) {
4355
4436
  let n = {};
4356
4437
  for (let r of Object.keys(e || {})) {
4357
- let [i, a] = sn(r);
4438
+ let [i, a] = hn(r);
4358
4439
  i === t && (n[a] = e[r]);
4359
4440
  }
4360
4441
  return n;
4361
4442
  }
4362
- function dn(e, t) {
4443
+ function yn(e, t) {
4363
4444
  let n = {};
4364
4445
  for (let e of t) n[e] = {};
4365
4446
  for (let r of Object.keys(e || {})) {
4366
- let [i, a] = sn(r), o = i ?? t[0];
4447
+ let [i, a] = hn(r), o = i ?? t[0];
4367
4448
  n[o] || (n[o] = {}), n[o][a] = e[r];
4368
4449
  }
4369
4450
  return n;
4370
4451
  }
4371
4452
  //#endregion
4372
4453
  //#region src/scoring/score.ts
4373
- var fn = () => ({
4454
+ var bn = () => ({
4374
4455
  normalized: /* @__PURE__ */ new Map(),
4375
4456
  expected: /* @__PURE__ */ new Map()
4376
- }), pn = (e, t) => {
4457
+ }), xn = (e, t) => {
4377
4458
  if (typeof e == "number" || e == null) return [e];
4378
4459
  let n = String(e), r = t && t.get(n);
4379
4460
  if (r) return r;
@@ -4385,7 +4466,7 @@ var fn = () => ({
4385
4466
  };
4386
4467
  if (n && n.length > 0) {
4387
4468
  let t = n.indexOf("=") === 0 ? Bt(Vt(n)) : Wt(n);
4388
- St.buildTranslator(e, Yt)(t, (e, t) => {
4469
+ St.buildTranslator(e, Zt)(t, (e, t) => {
4389
4470
  e && e.length && console.error(e), i = n.indexOf("=") === 0 ? t.split(",") : [t];
4390
4471
  });
4391
4472
  }
@@ -4393,10 +4474,10 @@ var fn = () => ({
4393
4474
  console.log("parse error: " + e.stack);
4394
4475
  }
4395
4476
  return t && t.set(n, i), i;
4396
- }, mn = (e, t, n) => {
4397
- let r = pn(e, n), i = pn(t, n);
4477
+ }, Sn = (e, t, n) => {
4478
+ let r = xn(e, n), i = xn(t, n);
4398
4479
  return r.length === i.length && r.every((e, t) => e === i[t]);
4399
- }, hn = (e, t, n, r) => n && r && n !== r ? !1 : e !== void 0 && e === t, gn = (e, t, n) => {
4480
+ }, Cn = (e, t, n, r) => n && r && n !== r ? !1 : e !== void 0 && e === t, wn = (e, t, n) => {
4400
4481
  if (!e || !e.startsWith("=") || !t) return e;
4401
4482
  let r = n && n.expected.get(e);
4402
4483
  if (r !== void 0) return r;
@@ -4409,7 +4490,7 @@ var fn = () => ({
4409
4490
  };
4410
4491
  n && (n.env = i);
4411
4492
  }
4412
- let a = en(e);
4493
+ let a = nn(e);
4413
4494
  if (a.error) return n && n.expected.set(e, "#VALUE!"), "#VALUE!";
4414
4495
  let o = {
4415
4496
  keepTextWhitespace: !0,
@@ -4417,19 +4498,19 @@ var fn = () => ({
4417
4498
  ...i,
4418
4499
  ...a.env
4419
4500
  },
4420
- ...Xt
4421
- }, s = on(a.text), c = St.buildTranslator(o, Yt), l = e;
4501
+ ...Qt
4502
+ }, s = mn(a.text), c = St.buildTranslator(o, Zt), l = e;
4422
4503
  return c(s, (e, t) => {
4423
4504
  (!e || !e.length) && (l = String(a.decode(t)));
4424
4505
  }), n && n.expected.set(e, l), l;
4425
- }, _n = ({ method: e, expected: t, points: n = 1 }, { val: r, formula: i, type: a } = {
4506
+ }, Tn = ({ method: e, expected: t, points: n = 1 }, { val: r, formula: i, type: a } = {
4426
4507
  val: void 0,
4427
4508
  formula: void 0,
4428
4509
  type: void 0
4429
4510
  }, o = void 0, s = void 0) => {
4430
4511
  if (e === "value") {
4431
4512
  let e = t;
4432
- typeof t == "string" && t.startsWith("=") && (e = gn(t, o, s));
4513
+ typeof t == "string" && t.startsWith("=") && (e = wn(t, o, s));
4433
4514
  let i = "text", c = e;
4434
4515
  if (e != null) {
4435
4516
  let t = String(e), n = qt(t);
@@ -4439,11 +4520,11 @@ var fn = () => ({
4439
4520
  e !== null && (i = "number", c = String(e));
4440
4521
  }
4441
4522
  }
4442
- if (hn(r, c, a, i)) return {
4523
+ if (Cn(r, c, a, i)) return {
4443
4524
  points: n,
4444
4525
  isValid: !0
4445
4526
  };
4446
- } else if (e === "formula" && mn(i, t, s && s.normalized)) return {
4527
+ } else if (e === "formula" && Sn(i, t, s && s.normalized)) return {
4447
4528
  points: n,
4448
4529
  isValid: !0
4449
4530
  };
@@ -4451,88 +4532,88 @@ var fn = () => ({
4451
4532
  points: 0,
4452
4533
  isValid: !1
4453
4534
  };
4454
- }, vn = (e) => e.text || e.val, yn = (e) => e?.text || e?.attrs?.assess?.expected, bn = ({ cells: e, primaryColumn: t }) => {
4455
- let n = Object.keys(e).sort((e, t) => +e.slice(1) - t.slice(1)).map((e) => e.slice(0, 1) === t && e || null).filter((e) => e !== null).map((t) => vn(e[t]) || null), r = /* @__PURE__ */ new Set();
4535
+ }, En = (e) => e.text || e.val, Dn = (e) => e?.text || e?.attrs?.assess?.expected, On = ({ cells: e, primaryColumn: t }) => {
4536
+ let n = Object.keys(e).sort((e, t) => +e.slice(1) - t.slice(1)).map((e) => e.slice(0, 1) === t && e || null).filter((e) => e !== null).map((t) => En(e[t]) || null), r = /* @__PURE__ */ new Set();
4456
4537
  return n.map((e) => r.has(e) ? null : (r.add(e), e)).filter((e) => e !== null);
4457
- }, xn = ({ cells: e, region: t }) => {
4458
- let { primaryColumn: n, rows: r } = t, i = bn({
4538
+ }, kn = ({ cells: e, region: t }) => {
4539
+ let { primaryColumn: n, rows: r } = t, i = On({
4459
4540
  cells: e,
4460
4541
  primaryColumn: n
4461
- }), a = new Map(r.map((e) => [yn(e[n]), e]));
4542
+ }), a = new Map(r.map((e) => [Dn(e[n]), e]));
4462
4543
  return i.map((e) => e === null ? null : a.get(e) || null);
4463
- }, Sn = ({ cells: e, region: t }) => {
4464
- let n = t?.order === "actual" && xn({
4544
+ }, An = ({ cells: e, region: t }) => {
4545
+ let n = t?.order === "actual" && kn({
4465
4546
  cells: e,
4466
4547
  region: t
4467
4548
  }) || t?.rows || [];
4468
4549
  if (!t) throw Error("getCellsValidationFromRegionValidation() missing region value");
4469
4550
  return n.reduce((e, t, n) => (n = t?.id || n + 1, t && Object.keys(t).forEach((r) => t[r]?.assess && (e[r + n] = t[r])), e), {}) || {};
4470
- }, Cn = ({ cells: e, validation: t }) => {
4551
+ }, jn = ({ cells: e, validation: t }) => {
4471
4552
  let n = t.regions || t.ranges;
4472
4553
  return [{
4473
4554
  region: n[Object.keys(n).find((e) => e)] || {},
4474
4555
  cells: e
4475
4556
  }];
4476
- }, wn = /* @__PURE__ */ new WeakMap(), Tn = (e) => Object.values(e?.regions || e?.ranges || {}).some((e) => e?.order === "actual"), En = ({ cells: e, validation: t }) => {
4477
- let n = () => Cn({
4557
+ }, Mn = /* @__PURE__ */ new WeakMap(), Nn = (e) => Object.values(e?.regions || e?.ranges || {}).some((e) => e?.order === "actual"), Pn = ({ cells: e, validation: t }) => {
4558
+ let n = () => jn({
4478
4559
  cells: e,
4479
4560
  validation: t
4480
- }).map((e) => Sn(e))[0];
4561
+ }).map((e) => An(e))[0];
4481
4562
  if (!t || typeof t != "object") return n();
4482
- let r = wn.get(t);
4483
- if (r || wn.set(t, r = {}), !Tn(t)) return r.plain === void 0 && (r.plain = n()), r.plain;
4563
+ let r = Mn.get(t);
4564
+ if (r || Mn.set(t, r = {}), !Nn(t)) return r.plain === void 0 && (r.plain = n()), r.plain;
4484
4565
  if (!e || typeof e != "object") return n();
4485
4566
  r.byCells || (r.byCells = /* @__PURE__ */ new WeakMap());
4486
4567
  let i = r.byCells.get(e);
4487
4568
  return i === void 0 && r.byCells.set(e, i = n()), i;
4488
- }, Dn = (e) => {
4569
+ }, Fn = (e) => {
4489
4570
  let t = e?.sheets ? Object.keys(e.sheets) : null;
4490
4571
  return t && t.length ? t : null;
4491
- }, On = (e, t, n) => {
4572
+ }, In = (e, t, n) => {
4492
4573
  if (!e) return;
4493
- let r = dn(e, n);
4574
+ let r = yn(e, n);
4494
4575
  return Object.keys(r[t] || {}).length ? r[t] : e;
4495
- }, kn = ({ cells: e, validation: t }) => {
4496
- let n = Dn(t);
4497
- if (!n) return En({
4576
+ }, Ln = ({ cells: e, validation: t }) => {
4577
+ let n = Fn(t);
4578
+ if (!n) return Pn({
4498
4579
  cells: e,
4499
4580
  validation: t
4500
4581
  });
4501
- let r = dn(e || {}, n);
4502
- return n.reduce((e, n) => Object.assign(e, ln(n, En({
4582
+ let r = yn(e || {}, n);
4583
+ return n.reduce((e, n) => Object.assign(e, _n(n, Pn({
4503
4584
  cells: r[n],
4504
4585
  validation: t.sheets[n]
4505
4586
  }))), {});
4506
- }, An = ({ cells: e, validation: t, interactionCells: n = void 0 }) => {
4507
- let r = fn(), i = Dn(t);
4508
- if (!i) return jn(e, En({
4587
+ }, Rn = ({ cells: e, validation: t, interactionCells: n = void 0 }) => {
4588
+ let r = bn(), i = Fn(t);
4589
+ if (!i) return zn(e, Pn({
4509
4590
  cells: e,
4510
4591
  validation: t
4511
4592
  }), n, r);
4512
- let a = dn(e || {}, i);
4593
+ let a = yn(e || {}, i);
4513
4594
  return i.reduce((e, o) => {
4514
- let s = En({
4595
+ let s = Pn({
4515
4596
  cells: a[o],
4516
4597
  validation: t.sheets[o]
4517
4598
  }), c = {
4518
4599
  normalized: r.normalized,
4519
4600
  expected: /* @__PURE__ */ new Map()
4520
- }, l = jn(a[o], s, On(n, o, i), c);
4521
- return Object.assign(e, ln(o, l));
4601
+ }, l = zn(a[o], s, In(n, o, i), c);
4602
+ return Object.assign(e, _n(o, l));
4522
4603
  }, {});
4523
4604
  };
4524
- function jn(e, t, n, r) {
4605
+ function zn(e, t, n, r) {
4525
4606
  let i = { ...e };
4526
4607
  for (let e of Object.keys(t)) {
4527
4608
  let a = i[e];
4528
4609
  i[e] = a && {
4529
4610
  ...a,
4530
- score: _n(t[e].assess, a, n, r)
4611
+ score: Tn(t[e].assess, a, n, r)
4531
4612
  } || void 0;
4532
4613
  }
4533
4614
  return i;
4534
4615
  }
4535
4616
  //#endregion
4536
- export { St as C, Ct as S, Gt as _, ln as a, Wt as b, dn as c, Xt as d, Yt as f, qt as g, Ht as h, An as i, sn as l, Ut as m, kn as n, cn as o, on as p, _n as r, un as s, gn as t, en as u, Vt as v, Dt as x, Bt as y };
4617
+ export { St as C, Ct as S, Gt as _, _n as a, Wt as b, yn as c, Qt as d, Zt as f, qt as g, Ht as h, Rn as i, hn as l, Ut as m, Ln as n, gn as o, mn as p, Tn as r, vn as s, wn as t, nn as u, Vt as v, Dt as x, Bt as y };
4537
4618
 
4538
- //# sourceMappingURL=scoring-DrRPACjZ.js.map
4619
+ //# sourceMappingURL=scoring-QgX_ajUB.js.map