@nlozgachev/pipelined 0.20.0 → 0.22.0

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.
package/dist/index.mjs CHANGED
@@ -30,6 +30,7 @@ import {
30
30
  import {
31
31
  Lens,
32
32
  Logged,
33
+ Op,
33
34
  Optional,
34
35
  Predicate,
35
36
  Reader,
@@ -43,7 +44,7 @@ import {
43
44
  These,
44
45
  Tuple,
45
46
  Validation
46
- } from "./chunk-7COGDULU.mjs";
47
+ } from "./chunk-SSZXZTIX.mjs";
47
48
  import {
48
49
  Arr,
49
50
  Dict,
@@ -51,13 +52,13 @@ import {
51
52
  Rec,
52
53
  Str,
53
54
  Uniq
54
- } from "./chunk-AC7RQXWC.mjs";
55
+ } from "./chunk-C3Z56PCR.mjs";
55
56
  import {
56
57
  Deferred,
57
58
  Maybe,
58
59
  Result,
59
60
  Task
60
- } from "./chunk-RUDOUVQR.mjs";
61
+ } from "./chunk-2DPG2RDB.mjs";
61
62
  import {
62
63
  Brand
63
64
  } from "./chunk-BYWKZLHM.mjs";
@@ -73,6 +74,7 @@ export {
73
74
  Logged,
74
75
  Maybe,
75
76
  Num,
77
+ Op,
76
78
  Optional,
77
79
  Predicate,
78
80
  Reader,
package/dist/utils.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { M as Maybe, R as Result, T as Task } from './Task-JOnNAaPq.mjs';
1
+ import { M as Maybe, R as Result, T as Task } from './Task-CT8iwwuB.mjs';
2
2
  import { N as NonEmptyList } from './NonEmptyList-BlGFjor5.mjs';
3
3
 
4
4
  /**
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { M as Maybe, R as Result, T as Task } from './Task-BAT6Z6b9.js';
1
+ import { M as Maybe, R as Result, T as Task } from './Task-GSGtQO1m.js';
2
2
  import { N as NonEmptyList } from './NonEmptyList-BlGFjor5.js';
3
3
 
4
4
  /**
package/dist/utils.js CHANGED
@@ -30,15 +30,13 @@ __export(Utils_exports, {
30
30
  module.exports = __toCommonJS(Utils_exports);
31
31
 
32
32
  // src/Core/Deferred.ts
33
- var _store = /* @__PURE__ */ new WeakMap();
34
33
  var Deferred;
35
34
  ((Deferred2) => {
36
- Deferred2.fromPromise = (p) => {
37
- const d = { then: ((f) => p.then(f)) };
38
- _store.set(d, p);
39
- return d;
40
- };
41
- Deferred2.toPromise = (d) => _store.get(d) ?? new Promise((resolve) => d.then(resolve));
35
+ Deferred2.fromPromise = (p) => (
36
+ // eslint-disable-next-line unicorn/no-thenable -- Deferred is intentionally thenable; it is the mechanism that makes Task awaitable
37
+ { then: ((f) => p.then(f)) }
38
+ );
39
+ Deferred2.toPromise = (d) => new Promise((resolve) => d.then(resolve));
42
40
  })(Deferred || (Deferred = {}));
43
41
 
44
42
  // src/Core/Result.ts
@@ -554,7 +552,7 @@ var Rec;
554
552
  const vals = Object.values(data);
555
553
  const result = {};
556
554
  for (let i = 0; i < keys2.length; i++) {
557
- result[keys2[i]] = f(vals[i]);
555
+ Object.defineProperty(result, keys2[i], { value: f(vals[i]), writable: true, enumerable: true, configurable: true });
558
556
  }
559
557
  return result;
560
558
  };
@@ -563,21 +561,30 @@ var Rec;
563
561
  const vals = Object.values(data);
564
562
  const result = {};
565
563
  for (let i = 0; i < keys2.length; i++) {
566
- result[keys2[i]] = f(keys2[i], vals[i]);
564
+ Object.defineProperty(result, keys2[i], {
565
+ value: f(keys2[i], vals[i]),
566
+ writable: true,
567
+ enumerable: true,
568
+ configurable: true
569
+ });
567
570
  }
568
571
  return result;
569
572
  };
570
573
  Rec2.filter = (predicate) => (data) => {
571
574
  const result = {};
572
575
  for (const [k, v] of Object.entries(data)) {
573
- if (predicate(v)) result[k] = v;
576
+ if (predicate(v)) {
577
+ Object.defineProperty(result, k, { value: v, writable: true, enumerable: true, configurable: true });
578
+ }
574
579
  }
575
580
  return result;
576
581
  };
577
582
  Rec2.filterWithKey = (predicate) => (data) => {
578
583
  const result = {};
579
584
  for (const [k, v] of Object.entries(data)) {
580
- if (predicate(k, v)) result[k] = v;
585
+ if (predicate(k, v)) {
586
+ Object.defineProperty(result, k, { value: v, writable: true, enumerable: true, configurable: true });
587
+ }
581
588
  }
582
589
  return result;
583
590
  };
@@ -590,8 +597,11 @@ var Rec;
590
597
  const result = {};
591
598
  for (const item of items) {
592
599
  const key = keyFn(item);
593
- if (key in result) result[key].push(item);
594
- else result[key] = [item];
600
+ if (Object.hasOwn(result, key)) {
601
+ result[key].push(item);
602
+ } else {
603
+ Object.defineProperty(result, key, { value: [item], writable: true, enumerable: true, configurable: true });
604
+ }
595
605
  }
596
606
  return result;
597
607
  };
@@ -599,7 +609,7 @@ var Rec;
599
609
  const result = {};
600
610
  for (const key of pickedKeys) {
601
611
  if (Object.hasOwn(data, key)) {
602
- result[key] = data[key];
612
+ Object.defineProperty(result, key, { value: data[key], writable: true, enumerable: true, configurable: true });
603
613
  }
604
614
  }
605
615
  return result;
@@ -609,7 +619,12 @@ var Rec;
609
619
  const result = {};
610
620
  for (const key of Object.keys(data)) {
611
621
  if (!omitSet.has(key)) {
612
- result[key] = data[key];
622
+ Object.defineProperty(result, key, {
623
+ value: data[key],
624
+ writable: true,
625
+ enumerable: true,
626
+ configurable: true
627
+ });
613
628
  }
614
629
  }
615
630
  return result;
@@ -623,14 +638,16 @@ var Rec;
623
638
  Rec2.mapKeys = (f) => (data) => {
624
639
  const result = {};
625
640
  for (const [k, v] of Object.entries(data)) {
626
- result[f(k)] = v;
641
+ Object.defineProperty(result, f(k), { value: v, writable: true, enumerable: true, configurable: true });
627
642
  }
628
643
  return result;
629
644
  };
630
645
  Rec2.compact = (data) => {
631
646
  const result = {};
632
647
  for (const [k, v] of Object.entries(data)) {
633
- if (v.kind === "Some") result[k] = v.value;
648
+ if (v.kind === "Some") {
649
+ Object.defineProperty(result, k, { value: v.value, writable: true, enumerable: true, configurable: true });
650
+ }
634
651
  }
635
652
  return result;
636
653
  };
package/dist/utils.mjs CHANGED
@@ -5,8 +5,8 @@ import {
5
5
  Rec,
6
6
  Str,
7
7
  Uniq
8
- } from "./chunk-AC7RQXWC.mjs";
9
- import "./chunk-RUDOUVQR.mjs";
8
+ } from "./chunk-C3Z56PCR.mjs";
9
+ import "./chunk-2DPG2RDB.mjs";
10
10
  import "./chunk-DBIC62UV.mjs";
11
11
  export {
12
12
  Arr,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nlozgachev/pipelined",
3
- "version": "0.20.0",
3
+ "version": "0.22.0",
4
4
  "description": "Opinionated functional abstractions for TypeScript",
5
5
  "license": "BSD-3-Clause",
6
6
  "homepage": "https://pipelined.lozgachev.dev",
@@ -57,6 +57,7 @@
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/node": "25.5.0",
60
+ "fast-check": "4.6.0",
60
61
  "@vitest/coverage-v8": "4.1.0",
61
62
  "dprint": "0.53.0",
62
63
  "oxlint": "1.56.0",