@bitbeater/ecma-utils 2.7.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.
Files changed (90) hide show
  1. package/README.md +23 -0
  2. package/dist/bytes.d.ts +65 -0
  3. package/dist/bytes.d.ts.map +1 -0
  4. package/dist/bytes.js +68 -0
  5. package/dist/bytes.js.map +1 -0
  6. package/dist/collection/CircularArray.d.ts +98 -0
  7. package/dist/collection/CircularArray.d.ts.map +1 -0
  8. package/dist/collection/CircularArray.js +134 -0
  9. package/dist/collection/CircularArray.js.map +1 -0
  10. package/dist/collection/EvictingDequeue.d.ts +22 -0
  11. package/dist/collection/EvictingDequeue.d.ts.map +1 -0
  12. package/dist/collection/EvictingDequeue.js +57 -0
  13. package/dist/collection/EvictingDequeue.js.map +1 -0
  14. package/dist/collection/collection.d.ts +4 -0
  15. package/dist/collection/collection.d.ts.map +1 -0
  16. package/dist/collection/collection.js +23 -0
  17. package/dist/collection/collection.js.map +1 -0
  18. package/dist/collection/collectionOperations.d.ts +125 -0
  19. package/dist/collection/collectionOperations.d.ts.map +1 -0
  20. package/dist/collection/collectionOperations.js +193 -0
  21. package/dist/collection/collectionOperations.js.map +1 -0
  22. package/dist/cons.d.ts +34 -0
  23. package/dist/cons.d.ts.map +1 -0
  24. package/dist/cons.js +49 -0
  25. package/dist/cons.js.map +1 -0
  26. package/dist/consts.d.ts +2 -0
  27. package/dist/consts.d.ts.map +1 -0
  28. package/dist/consts.js +5 -0
  29. package/dist/consts.js.map +1 -0
  30. package/dist/index.d.ts +13 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +49 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/logger.d.ts +95 -0
  35. package/dist/logger.d.ts.map +1 -0
  36. package/dist/logger.js +172 -0
  37. package/dist/logger.js.map +1 -0
  38. package/dist/math.d.ts +183 -0
  39. package/dist/math.d.ts.map +1 -0
  40. package/dist/math.js +263 -0
  41. package/dist/math.js.map +1 -0
  42. package/dist/net/http.d.ts +22 -0
  43. package/dist/net/http.d.ts.map +1 -0
  44. package/dist/net/http.js +74 -0
  45. package/dist/net/http.js.map +1 -0
  46. package/dist/object.d.ts +98 -0
  47. package/dist/object.d.ts.map +1 -0
  48. package/dist/object.js +127 -0
  49. package/dist/object.js.map +1 -0
  50. package/dist/path/path.d.ts +2 -0
  51. package/dist/path/path.d.ts.map +1 -0
  52. package/dist/path/path.js +8 -0
  53. package/dist/path/path.js.map +1 -0
  54. package/dist/promises.d.ts +3 -0
  55. package/dist/promises.d.ts.map +1 -0
  56. package/dist/promises.js +13 -0
  57. package/dist/promises.js.map +1 -0
  58. package/dist/random.d.ts +46 -0
  59. package/dist/random.d.ts.map +1 -0
  60. package/dist/random.js +76 -0
  61. package/dist/random.js.map +1 -0
  62. package/dist/revivers.d.ts +25 -0
  63. package/dist/revivers.d.ts.map +1 -0
  64. package/dist/revivers.js +34 -0
  65. package/dist/revivers.js.map +1 -0
  66. package/dist/strings.d.ts +16 -0
  67. package/dist/strings.d.ts.map +1 -0
  68. package/dist/strings.js +34 -0
  69. package/dist/strings.js.map +1 -0
  70. package/dist/time/time.d.ts +189 -0
  71. package/dist/time/time.d.ts.map +1 -0
  72. package/dist/time/time.js +315 -0
  73. package/dist/time/time.js.map +1 -0
  74. package/dist/time/timer.d.ts +93 -0
  75. package/dist/time/timer.d.ts.map +1 -0
  76. package/dist/time/timer.js +182 -0
  77. package/dist/time/timer.js.map +1 -0
  78. package/dist/time.d.ts +189 -0
  79. package/dist/time.d.ts.map +1 -0
  80. package/dist/time.js +308 -0
  81. package/dist/time.js.map +1 -0
  82. package/dist/utils/task_duration_tracker.d.ts +102 -0
  83. package/dist/utils/task_duration_tracker.d.ts.map +1 -0
  84. package/dist/utils/task_duration_tracker.js +144 -0
  85. package/dist/utils/task_duration_tracker.js.map +1 -0
  86. package/dist/utils/utils.d.ts +24 -0
  87. package/dist/utils/utils.d.ts.map +1 -0
  88. package/dist/utils/utils.js +47 -0
  89. package/dist/utils/utils.js.map +1 -0
  90. package/package.json +68 -0
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskDurationTracker = void 0;
4
+ const collection_1 = require("../collection/collection");
5
+ const time_1 = require("../time/time");
6
+ /**
7
+ * @description A utility class to track the duration of multiple tasks and estimate completion times.
8
+ * - It records the start and end times of each task, calculates elapsed time, estimates remaining time,
9
+ * - and provides the expected finish time based on the average duration of completed tasks.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * // let's assume the date is Jan 1, 2000, 00:00:00
14
+ * const tracker = new TaskDurationTracker(5); // Initialize tracker for 5 tasks
15
+ *
16
+ * for (let i = 0; i < 5; i++) {
17
+ * performTask(i); // Lets assume it takes 1 second to perform a task
18
+ * tracker.recordTaskEnd(); // Record the end of the task
19
+ *
20
+ * console.log(`Completed ${tracker.getCompletedTasks()} out of ${tracker.tasksCount} tasks.`);
21
+ * console.log(`Elapsed Time: ${tracker.getElapsedTime().milliseconds} ms`);
22
+ * console.log(`Estimated Completion Time: ${tracker.getEstimatedCompletionTime().milliseconds} ms`);
23
+ * console.log(`Expected Finish Time: ${tracker.getExpectedFinishTime()}`);
24
+ *
25
+ * }
26
+ * // OUTPUT:
27
+ * // Completed 1 out of 5 tasks.
28
+ * // Elapsed Time: 1000 ms
29
+ * // Estimated Completion Time: 4000 ms
30
+ * // Expected Finish Time: Jan 1, 2000, 00:00:05
31
+ *
32
+ * // Completed 2 out of 5 tasks.
33
+ * // Elapsed Time: 2000 ms
34
+ * // Estimated Completion Time: 3000 ms
35
+ * // Expected Finish Time: Jan 1, 2000, 00:00:05
36
+ *
37
+ * // Completed 3 out of 5 tasks.
38
+ * // Elapsed Time: 3000 ms
39
+ * // Estimated Completion Time: 2000 ms
40
+ * // Expected Finish Time: Jan 1, 2000, 00:00:05
41
+ *
42
+ * // Completed 4 out of 5 tasks.
43
+ * // Elapsed Time: 4000 ms
44
+ * // Estimated Completion Time: 1000 ms
45
+ * // Expected Finish Time: Jan 1, 2000, 00:00:05
46
+ *
47
+ * // Completed 5 out of 5 tasks.
48
+ * // Elapsed Time: 5000 ms
49
+ * // Estimated Completion Time: 0 ms
50
+ * // Expected Finish Time: Jan 1, 2000, 00:00:05
51
+ * ```
52
+ *
53
+ * @see {@link Duration}
54
+ * @see {@link Interval}
55
+ */
56
+ class TaskDurationTracker {
57
+ constructor(tasksCount) {
58
+ this.tasksCount = tasksCount;
59
+ this.intervals = [];
60
+ this.creationTime = new Date();
61
+ }
62
+ /**
63
+ * @description Gets the total elapsed time since the first task started.
64
+ * @returns the total elapsed time since the first task started.
65
+ */
66
+ getElapsedTime() {
67
+ const milliseconds = new Date().getTime() - this.getStartTime().getTime();
68
+ return (0, time_1.millisecondsToDuration)(milliseconds);
69
+ }
70
+ /**
71
+ * @description Estimates the total time taken to complete all tasks.
72
+ */
73
+ getEstimatedCompletionTime() {
74
+ const meanTime = this.getMeanTimePerTask();
75
+ const remainingTasks = this.getRemainingTasks();
76
+ const remainingMillis = (0, time_1.durationToMilliSeconds)(meanTime) * remainingTasks;
77
+ return (0, time_1.millisecondsToDuration)(remainingMillis);
78
+ }
79
+ /**
80
+ * @description Gets the expected finish time for all tasks.
81
+ */
82
+ getExpectedFinishTime() {
83
+ const remainingMillis = (0, time_1.durationToMilliSeconds)(this.getEstimatedCompletionTime());
84
+ return new Date(Date.now() + remainingMillis);
85
+ }
86
+ /**
87
+ * @description Gets the number of completed tasks.
88
+ * @returns the number of completed tasks.
89
+ */
90
+ getCompletedTasks() {
91
+ return this.intervals.length;
92
+ }
93
+ /**
94
+ * @description Gets the number of remaining tasks.
95
+ * @returns the number of remaining tasks.
96
+ */
97
+ getRemainingTasks() {
98
+ return Math.max(this.tasksCount - this.intervals.length, 0);
99
+ }
100
+ /**
101
+ * @description Gets the mean time taken per task.
102
+ * @returns the mean time taken per task.
103
+ */
104
+ getMeanTimePerTask() {
105
+ if (this.intervals.length === 0) {
106
+ return this.getElapsedTime();
107
+ }
108
+ const totalMillis = this.intervals.reduce((acc, interval) => {
109
+ if (interval.start && interval.end) {
110
+ return acc + (interval.end.getTime() - interval.start.getTime());
111
+ }
112
+ return acc;
113
+ }, 0);
114
+ const meanMillis = totalMillis / this.intervals.length;
115
+ return (0, time_1.millisecondsToDuration)(Math.round(meanMillis));
116
+ }
117
+ /**
118
+ * @description Adds a task interval to the tracker.
119
+ * @param interval The interval of the task to add.
120
+ */
121
+ addCompletedTask(interval) {
122
+ this.intervals.push(interval);
123
+ }
124
+ /**
125
+ * @description Gets the start time of the first task, or the creation time if no tasks have been started.
126
+ * @returns the start time of the first task, or the creation time if no tasks have been started.
127
+ */
128
+ getStartTime() {
129
+ return this.intervals[0]?.start || this.creationTime;
130
+ }
131
+ /**
132
+ * @description Marks the current task as completed,
133
+ * - the start time is either the end time of the last task or the TaskDurationTracker creation time,
134
+ * - the end time is the current time.
135
+ */
136
+ recordTaskEnd() {
137
+ this.intervals.push({
138
+ start: (0, collection_1.lastEl)(this.intervals)?.end || this.creationTime,
139
+ end: new Date(),
140
+ });
141
+ }
142
+ }
143
+ exports.TaskDurationTracker = TaskDurationTracker;
144
+ //# sourceMappingURL=task_duration_tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task_duration_tracker.js","sourceRoot":"","sources":["../../src/utils/task_duration_tracker.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAClD,uCAAkG;AAElG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAa,mBAAmB;IAI/B,YAAmB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;QAH7B,cAAS,GAAe,EAAE,CAAC;QAC3B,iBAAY,GAAG,IAAI,IAAI,EAAE,CAAC;IAEM,CAAC;IAEzC;;;OAGG;IACH,cAAc;QACb,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1E,OAAO,IAAA,6BAAsB,EAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,0BAA0B;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,IAAA,6BAAsB,EAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;QAC1E,OAAO,IAAA,6BAAsB,EAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,qBAAqB;QACpB,MAAM,eAAe,GAAG,IAAA,6BAAsB,EAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,iBAAiB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,iBAAiB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACjB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC3D,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACpC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACvD,OAAO,IAAA,6BAAsB,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAkB;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,aAAa;QACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,IAAA,mBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY;YACvD,GAAG,EAAE,IAAI,IAAI,EAAE;SACf,CAAC,CAAC;IACJ,CAAC;CACD;AA/FD,kDA+FC"}
@@ -0,0 +1,24 @@
1
+ export { TaskDurationTracker } from './task_duration_tracker';
2
+ /**
3
+ * @description Executes a function a specified number of times and collects the results in an array.
4
+ * @example
5
+ * ```ts
6
+ * const results = forEach(5, i => i * 2);
7
+ * console.log(results); // [0, 2, 4, 6, 8]
8
+ * ```
9
+ * @param execs number of executions
10
+ * @param fn function to be executed
11
+ */
12
+ export declare function forEach<T>(execs: number, fn: (i: number) => T): T[];
13
+ /**
14
+ *
15
+ * @description A simple utility that benchmarks a function execution,
16
+ *
17
+ * @returns an object with min, max and mean time execution, in millis.
18
+ */
19
+ export declare function benchmarkFn(fn: Function, iterations?: number): {
20
+ min: number;
21
+ max: number;
22
+ mean: number;
23
+ };
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAInE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,SAAI,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAmBpG"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskDurationTracker = void 0;
4
+ exports.forEach = forEach;
5
+ exports.benchmarkFn = benchmarkFn;
6
+ const collectionOperations_1 = require("../collection/collectionOperations");
7
+ var task_duration_tracker_1 = require("./task_duration_tracker");
8
+ Object.defineProperty(exports, "TaskDurationTracker", { enumerable: true, get: function () { return task_duration_tracker_1.TaskDurationTracker; } });
9
+ /**
10
+ * @description Executes a function a specified number of times and collects the results in an array.
11
+ * @example
12
+ * ```ts
13
+ * const results = forEach(5, i => i * 2);
14
+ * console.log(results); // [0, 2, 4, 6, 8]
15
+ * ```
16
+ * @param execs number of executions
17
+ * @param fn function to be executed
18
+ */
19
+ function forEach(execs, fn) {
20
+ const results = [];
21
+ for (var i = 0; execs; i++, execs--)
22
+ results.push(fn(i));
23
+ return results;
24
+ }
25
+ /**
26
+ *
27
+ * @description A simple utility that benchmarks a function execution,
28
+ *
29
+ * @returns an object with min, max and mean time execution, in millis.
30
+ */
31
+ function benchmarkFn(fn, iterations = 1) {
32
+ const execTimes = [];
33
+ var _iterations = iterations + 1;
34
+ while (--_iterations) {
35
+ const start = Date.now();
36
+ fn();
37
+ const end = Date.now();
38
+ //execTimes[_iterations] = end - start;
39
+ execTimes.push(end - start);
40
+ }
41
+ const orderedExecTimes = execTimes.sort();
42
+ const min = orderedExecTimes[0];
43
+ const max = (0, collectionOperations_1.lastEl)(orderedExecTimes);
44
+ const mean = execTimes.reduce((pre, cur) => pre + cur, 0) / execTimes.length;
45
+ return { min, max, mean };
46
+ }
47
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;AAaA,0BAIC;AAQD,kCAmBC;AA5CD,6EAA4D;AAC5D,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAE5B;;;;;;;;;GASG;AACH,SAAgB,OAAO,CAAI,KAAa,EAAE,EAAoB;IAC7D,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,EAAY,EAAE,UAAU,GAAG,CAAC;IACvD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;IAEjC,OAAO,EAAE,WAAW,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,EAAE,EAAE,CAAC;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,uCAAuC;QACvC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAA,6BAAM,EAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IAE7E,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@bitbeater/ecma-utils",
3
+ "version": "2.7.0",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "sideEffects": false,
7
+ "exports": {
8
+ ".": {
9
+ "default": "./dist/index.js"
10
+ },
11
+ "./collection": {
12
+ "default": "./dist/collection/collection.js"
13
+ },
14
+ "./bytes": {
15
+ "default": "./dist/bytes.js"
16
+ },
17
+ "./http": {
18
+ "default": "./dist/net/http.js"
19
+ },
20
+ "./utils": {
21
+ "default": "./dist/utils/utils.js"
22
+ },
23
+ "./time": {
24
+ "default": "./dist/time/time.js"
25
+ },
26
+ "./*": {
27
+ "default": "./dist/*.js"
28
+ }
29
+ },
30
+ "files": [
31
+ "dist"
32
+ ],
33
+ "scripts": {
34
+ "build": "tsc",
35
+ "genDocs": "npx typedoc --options typedoc.json",
36
+ "prettify": "prettier --config ./.prettierrc.json --write \"src/**/*.ts\"",
37
+ "test": "tsc && node --test -r ./node_modules/ts-node/register/transpile-only.js ./tests/{**/*,*}.test.ts"
38
+ },
39
+ "author": "",
40
+ "license": "ISC",
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "git+https://github.com/bitBeater/ecma-utils.git"
44
+ },
45
+ "bugs": {
46
+ "url": "https://github.com/bitBeater/ecma-utils/issues"
47
+ },
48
+ "homepage": "https://github.com/bitBeater/ecma-utils#readme",
49
+ "description": "",
50
+ "typesVersions": {
51
+ "*": {
52
+ "*": [
53
+ "dist/*",
54
+ "dist/*/index.d.ts"
55
+ ]
56
+ }
57
+ },
58
+ "publishConfig": {
59
+ "access": "public"
60
+ },
61
+ "devDependencies": {
62
+ "@types/node": "^24.3.0",
63
+ "prettier": "^3.7.4",
64
+ "ts-node": "^10.9.1",
65
+ "typedoc": "^0.28.11",
66
+ "typescript": "^5.9.2"
67
+ }
68
+ }