@nicolastoulemont/std 0.6.0 → 0.7.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.
- package/README.md +232 -33
- package/dist/adt/index.d.mts +2 -2
- package/dist/adt/index.mjs +1 -1
- package/dist/adt-DajUZvJe.mjs +2 -0
- package/dist/adt-DajUZvJe.mjs.map +1 -0
- package/dist/brand/index.d.mts +2 -2
- package/dist/brand/index.mjs +1 -1
- package/dist/brand-Bia3Vj6l.mjs +2 -0
- package/dist/brand-Bia3Vj6l.mjs.map +1 -0
- package/dist/context/index.d.mts +2 -0
- package/dist/context/index.mjs +1 -0
- package/dist/context-CCHj1nab.mjs +2 -0
- package/dist/context-CCHj1nab.mjs.map +1 -0
- package/dist/context-r8ESJiFn.d.mts +176 -0
- package/dist/context-r8ESJiFn.d.mts.map +1 -0
- package/dist/data/index.d.mts +2 -2
- package/dist/data/index.mjs +1 -1
- package/dist/data-BLXO4XwS.mjs +2 -0
- package/dist/data-BLXO4XwS.mjs.map +1 -0
- package/dist/data.tagged-error.types-CGiKD-ES.d.mts +29 -0
- package/dist/data.tagged-error.types-CGiKD-ES.d.mts.map +1 -0
- package/dist/{discriminator.types-9PxvrZki.d.mts → discriminator.types-CTURejXz.d.mts} +1 -1
- package/dist/discriminator.types-CTURejXz.d.mts.map +1 -0
- package/dist/dual-CZhzZslG.mjs +2 -0
- package/dist/dual-CZhzZslG.mjs.map +1 -0
- package/dist/either/index.d.mts +2 -2
- package/dist/either/index.mjs +1 -1
- package/dist/either-BMLPfvMl.mjs +2 -0
- package/dist/either-BMLPfvMl.mjs.map +1 -0
- package/dist/{equality-CD4_A1Op.mjs → equality-CoyUHWh9.mjs} +1 -1
- package/dist/{equality-CD4_A1Op.mjs.map → equality-CoyUHWh9.mjs.map} +1 -1
- package/dist/{flow-CYjiodlC.mjs → flow-D8_tllWl.mjs} +1 -1
- package/dist/flow-D8_tllWl.mjs.map +1 -0
- package/dist/functions/index.d.mts +2 -0
- package/dist/functions/index.mjs +1 -0
- package/dist/functions-BkevX2Dw.mjs +2 -0
- package/dist/functions-BkevX2Dw.mjs.map +1 -0
- package/dist/fx/index.d.mts +2 -3
- package/dist/fx/index.mjs +1 -1
- package/dist/fx-K-a9Smhn.mjs +2 -0
- package/dist/fx-K-a9Smhn.mjs.map +1 -0
- package/dist/fx.runtime-DclEDyjY.mjs +2 -0
- package/dist/fx.runtime-DclEDyjY.mjs.map +1 -0
- package/dist/{fx.types-CDVjDn_3.mjs → fx.types-Bg-Mmdm5.mjs} +1 -1
- package/dist/fx.types-Bg-Mmdm5.mjs.map +1 -0
- package/dist/{fx.types-B34asVRX.d.mts → fx.types-DeEWEltG.d.mts} +2 -2
- package/dist/{fx.types-B34asVRX.d.mts.map → fx.types-DeEWEltG.d.mts.map} +1 -1
- package/dist/index-7Lv982Om.d.mts +217 -0
- package/dist/index-7Lv982Om.d.mts.map +1 -0
- package/dist/{index-CklRfom5.d.mts → index-B1-tBzc0.d.mts} +263 -368
- package/dist/index-B1-tBzc0.d.mts.map +1 -0
- package/dist/index-BNQ9xSAz.d.mts +464 -0
- package/dist/index-BNQ9xSAz.d.mts.map +1 -0
- package/dist/index-B_iY5tq0.d.mts +241 -0
- package/dist/index-B_iY5tq0.d.mts.map +1 -0
- package/dist/index-B_wWGszy.d.mts +129 -0
- package/dist/index-B_wWGszy.d.mts.map +1 -0
- package/dist/index-BiiE8NS7.d.mts +108 -0
- package/dist/index-BiiE8NS7.d.mts.map +1 -0
- package/dist/index-By6dNRc4.d.mts +277 -0
- package/dist/index-By6dNRc4.d.mts.map +1 -0
- package/dist/{index-BzYtgdX0.d.mts → index-CGiLfREk.d.mts} +123 -16
- package/dist/index-CGiLfREk.d.mts.map +1 -0
- package/dist/index-CUZn-ohG.d.mts +490 -0
- package/dist/index-CUZn-ohG.d.mts.map +1 -0
- package/dist/index-Cq2IFito.d.mts +121 -0
- package/dist/index-Cq2IFito.d.mts.map +1 -0
- package/dist/{index-B2l8_CiD.d.mts → index-DEAWPlcI.d.mts} +155 -216
- package/dist/index-DEAWPlcI.d.mts.map +1 -0
- package/dist/{index-C4v_3f3-.d.mts → index-DKS1g1oC.d.mts} +95 -42
- package/dist/index-DKS1g1oC.d.mts.map +1 -0
- package/dist/{index-jeC5jyRh.d.mts → index-DXbYlSnB.d.mts} +64 -101
- package/dist/index-DXbYlSnB.d.mts.map +1 -0
- package/dist/{index-CjZ95Dsv.d.mts → index-UzMbg1dh.d.mts} +188 -202
- package/dist/index-UzMbg1dh.d.mts.map +1 -0
- package/dist/index.d.mts +23 -16
- package/dist/index.mjs +1 -1
- package/dist/layer/index.d.mts +2 -0
- package/dist/layer/index.mjs +1 -0
- package/dist/layer-BttmtDrs.mjs +2 -0
- package/dist/layer-BttmtDrs.mjs.map +1 -0
- package/dist/layer.types-DgpCIsk_.d.mts +100 -0
- package/dist/layer.types-DgpCIsk_.d.mts.map +1 -0
- package/dist/multithread/index.d.mts +2 -0
- package/dist/multithread/index.mjs +1 -0
- package/dist/multithread-xUUh4eLn.mjs +19 -0
- package/dist/multithread-xUUh4eLn.mjs.map +1 -0
- package/dist/option/index.d.mts +2 -3
- package/dist/option/index.mjs +1 -1
- package/dist/option-Tfbo4wty.mjs +2 -0
- package/dist/option-Tfbo4wty.mjs.map +1 -0
- package/dist/option.types-D1mm0zUb.mjs +2 -0
- package/dist/option.types-D1mm0zUb.mjs.map +1 -0
- package/dist/{option.types-ClJiBTdg.d.mts → option.types-qPevEZQd.d.mts} +7 -12
- package/dist/option.types-qPevEZQd.d.mts.map +1 -0
- package/dist/order/index.d.mts +2 -0
- package/dist/order/index.mjs +1 -0
- package/dist/order-D5c4QChk.mjs +2 -0
- package/dist/order-D5c4QChk.mjs.map +1 -0
- package/dist/pipeable-COGyGMUV.mjs +2 -0
- package/dist/pipeable-COGyGMUV.mjs.map +1 -0
- package/dist/{pipeable-B4YJA56p.d.mts → pipeable-rfqacPxZ.d.mts} +2 -9
- package/dist/{pipeable-B4YJA56p.d.mts.map → pipeable-rfqacPxZ.d.mts.map} +1 -1
- package/dist/predicate/index.d.mts +2 -2
- package/dist/predicate/index.mjs +1 -1
- package/dist/predicate-DUhhQqWY.mjs +2 -0
- package/dist/predicate-DUhhQqWY.mjs.map +1 -0
- package/dist/provide/index.d.mts +2 -0
- package/dist/provide/index.mjs +1 -0
- package/dist/provide-C2cWOx2B.mjs +2 -0
- package/dist/provide-C2cWOx2B.mjs.map +1 -0
- package/dist/queue/index.d.mts +2 -0
- package/dist/queue/index.mjs +1 -0
- package/dist/queue-Sg6KJerl.mjs +2 -0
- package/dist/queue-Sg6KJerl.mjs.map +1 -0
- package/dist/queue.types-CD2LOu37.d.mts +36 -0
- package/dist/queue.types-CD2LOu37.d.mts.map +1 -0
- package/dist/result/index.d.mts +2 -3
- package/dist/result/index.mjs +1 -1
- package/dist/result-BEzV0DYC.mjs +2 -0
- package/dist/result-BEzV0DYC.mjs.map +1 -0
- package/dist/{result.types-HHDzgSTV.d.mts → result.types-_xDAei3-.d.mts} +5 -97
- package/dist/result.types-_xDAei3-.d.mts.map +1 -0
- package/dist/schedule/index.d.mts +2 -0
- package/dist/schedule/index.mjs +1 -0
- package/dist/schedule-C6tjcJ1O.mjs +2 -0
- package/dist/schedule-C6tjcJ1O.mjs.map +1 -0
- package/dist/schedule-DlX2Dg69.d.mts +144 -0
- package/dist/schedule-DlX2Dg69.d.mts.map +1 -0
- package/dist/scope/index.d.mts +2 -0
- package/dist/scope/index.mjs +1 -0
- package/dist/scope-CZdp4wKX.d.mts +79 -0
- package/dist/scope-CZdp4wKX.d.mts.map +1 -0
- package/dist/scope-D_kzd1nT.mjs +2 -0
- package/dist/scope-D_kzd1nT.mjs.map +1 -0
- package/dist/service/index.d.mts +2 -0
- package/dist/service/index.mjs +1 -0
- package/dist/service-3PYQTUdH.mjs +2 -0
- package/dist/service-3PYQTUdH.mjs.map +1 -0
- package/dist/service-DrXU7KJG.d.mts +69 -0
- package/dist/service-DrXU7KJG.d.mts.map +1 -0
- package/dist/service-resolution-C19smeaO.mjs +2 -0
- package/dist/service-resolution-C19smeaO.mjs.map +1 -0
- package/package.json +50 -12
- package/dist/adt-CkRcY_GA.mjs +0 -2
- package/dist/adt-CkRcY_GA.mjs.map +0 -1
- package/dist/apply-fn.types-0g_9eXRy.d.mts +0 -8
- package/dist/apply-fn.types-0g_9eXRy.d.mts.map +0 -1
- package/dist/brand-Gy0kW6-n.mjs +0 -2
- package/dist/brand-Gy0kW6-n.mjs.map +0 -1
- package/dist/data-C0_3MGwm.mjs +0 -2
- package/dist/data-C0_3MGwm.mjs.map +0 -1
- package/dist/discriminator.types-9PxvrZki.d.mts.map +0 -1
- package/dist/either-CPzK-s8W.mjs +0 -2
- package/dist/either-CPzK-s8W.mjs.map +0 -1
- package/dist/err/index.d.mts +0 -2
- package/dist/err/index.mjs +0 -1
- package/dist/err-3KpQ4pj9.mjs +0 -2
- package/dist/err-3KpQ4pj9.mjs.map +0 -1
- package/dist/flow/index.d.mts +0 -2
- package/dist/flow/index.mjs +0 -1
- package/dist/flow-CYjiodlC.mjs.map +0 -1
- package/dist/fx-vqywVJhV.mjs +0 -2
- package/dist/fx-vqywVJhV.mjs.map +0 -1
- package/dist/fx.types-CDVjDn_3.mjs.map +0 -1
- package/dist/index-8Ne4GdOG.d.mts +0 -288
- package/dist/index-8Ne4GdOG.d.mts.map +0 -1
- package/dist/index-B2l8_CiD.d.mts.map +0 -1
- package/dist/index-BOrJQBPO.d.mts +0 -80
- package/dist/index-BOrJQBPO.d.mts.map +0 -1
- package/dist/index-BsXtpnw-.d.mts +0 -225
- package/dist/index-BsXtpnw-.d.mts.map +0 -1
- package/dist/index-BzYtgdX0.d.mts.map +0 -1
- package/dist/index-C4v_3f3-.d.mts.map +0 -1
- package/dist/index-CjZ95Dsv.d.mts.map +0 -1
- package/dist/index-CklRfom5.d.mts.map +0 -1
- package/dist/index-DZdmFtjA.d.mts +0 -79
- package/dist/index-DZdmFtjA.d.mts.map +0 -1
- package/dist/index-a4MEBZZ1.d.mts +0 -850
- package/dist/index-a4MEBZZ1.d.mts.map +0 -1
- package/dist/index-jeC5jyRh.d.mts.map +0 -1
- package/dist/option-DawZC1cE.mjs +0 -2
- package/dist/option-DawZC1cE.mjs.map +0 -1
- package/dist/option.types-ClJiBTdg.d.mts.map +0 -1
- package/dist/pipe/index.d.mts +0 -2
- package/dist/pipe/index.mjs +0 -1
- package/dist/pipe-BPpJyZf7.mjs +0 -2
- package/dist/pipe-BPpJyZf7.mjs.map +0 -1
- package/dist/pipeable-BA0mXhs4.mjs +0 -2
- package/dist/pipeable-BA0mXhs4.mjs.map +0 -1
- package/dist/predicate-Cy_oHA1Q.mjs +0 -2
- package/dist/predicate-Cy_oHA1Q.mjs.map +0 -1
- package/dist/result-CgGYLp0L.mjs +0 -2
- package/dist/result-CgGYLp0L.mjs.map +0 -1
- package/dist/result.types-HHDzgSTV.d.mts.map +0 -1
- /package/dist/{chunk-DAexk1S7.mjs → chunk-C934ptG5.mjs} +0 -0
- /package/dist/{option-Bb-taghv.mjs → option-CBCwzF0L.mjs} +0 -0
- /package/dist/{result-fiJhwVGz.mjs → result-B5WbPg8C.mjs} +0 -0
|
@@ -0,0 +1,490 @@
|
|
|
1
|
+
//#region src/order/order.types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Ordering result of comparing two values.
|
|
4
|
+
*
|
|
5
|
+
* - `-1`: first value is less than second
|
|
6
|
+
* - `0`: values are equal
|
|
7
|
+
* - `1`: first value is greater than second
|
|
8
|
+
*/
|
|
9
|
+
type Ordering$1 = -1 | 0 | 1;
|
|
10
|
+
/**
|
|
11
|
+
* Total ordering function for values of type `A`.
|
|
12
|
+
*
|
|
13
|
+
* An order must be consistent and return one of `-1 | 0 | 1`.
|
|
14
|
+
*/
|
|
15
|
+
type Order$1<in A> = (self: A, that: A) => Ordering$1;
|
|
16
|
+
/**
|
|
17
|
+
* Inclusive bounds used by `clamp` and `between`.
|
|
18
|
+
*/
|
|
19
|
+
type OrderBounds<A> = {
|
|
20
|
+
readonly minimum: A;
|
|
21
|
+
readonly maximum: A;
|
|
22
|
+
};
|
|
23
|
+
declare namespace order_d_exports {
|
|
24
|
+
export { Order, Ordering, alwaysEqual, array, between, bigint, boolean, by, clamp, date, greaterThan, greaterThanOrEqual, lessThan, lessThanOrEqual, make, max, merge, min, number, reverse, sort, sortBy, sortWith, string, struct, tuple };
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Re-exported `Order` type.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import type { Order } from "@nicolastoulemont/std"
|
|
32
|
+
*
|
|
33
|
+
* type Example = Order.Order<unknown>
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @category Re-exports
|
|
37
|
+
*/
|
|
38
|
+
type Order<A> = Order$1<A>;
|
|
39
|
+
/**
|
|
40
|
+
* Re-exported `Ordering` type.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* import type { Order } from "@nicolastoulemont/std"
|
|
45
|
+
*
|
|
46
|
+
* type Example = Order.Ordering
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @category Re-exports
|
|
50
|
+
*/
|
|
51
|
+
type Ordering = Ordering$1;
|
|
52
|
+
/**
|
|
53
|
+
* Create an `Order` from a comparison function.
|
|
54
|
+
*
|
|
55
|
+
* The created order short-circuits identical references (`===`) to `0`.
|
|
56
|
+
*
|
|
57
|
+
* @param compare - Comparison function returning `-1 | 0 | 1`
|
|
58
|
+
* @returns An order function
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
63
|
+
*
|
|
64
|
+
* const byLength = Order.make<string>((self, that) =>
|
|
65
|
+
* self.length < that.length ? -1 : self.length > that.length ? 1 : 0,
|
|
66
|
+
* )
|
|
67
|
+
* const result = byLength("a", "bbb")
|
|
68
|
+
* // => -1
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @category Constructors
|
|
72
|
+
*/
|
|
73
|
+
declare function make<A>(compare: (self: A, that: A) => Ordering): Order$1<A>;
|
|
74
|
+
/**
|
|
75
|
+
* `Order` instance for strings (lexicographic, case-sensitive).
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
80
|
+
*
|
|
81
|
+
* const result = Order.string("a", "b")
|
|
82
|
+
* // => -1
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @category Instances
|
|
86
|
+
*/
|
|
87
|
+
declare const string: Order$1<string>;
|
|
88
|
+
/**
|
|
89
|
+
* `Order` instance for numbers.
|
|
90
|
+
*
|
|
91
|
+
* - `NaN` equals `NaN`
|
|
92
|
+
* - `NaN` is less than any non-`NaN`
|
|
93
|
+
* - `0` equals `-0`
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
98
|
+
*
|
|
99
|
+
* const result = Order.number(1, 2)
|
|
100
|
+
* // => -1
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @category Instances
|
|
104
|
+
*/
|
|
105
|
+
declare const number: Order$1<number>;
|
|
106
|
+
/**
|
|
107
|
+
* `Order` instance for booleans where `false < true`.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
112
|
+
*
|
|
113
|
+
* const result = Order.boolean(false, true)
|
|
114
|
+
* // => -1
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* @category Instances
|
|
118
|
+
*/
|
|
119
|
+
declare const boolean: Order$1<boolean>;
|
|
120
|
+
/**
|
|
121
|
+
* `Order` instance for bigints.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
126
|
+
*
|
|
127
|
+
* const result = Order.bigint(1n, 2n)
|
|
128
|
+
* // => -1
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* @category Instances
|
|
132
|
+
*/
|
|
133
|
+
declare const bigint: Order$1<bigint>;
|
|
134
|
+
/**
|
|
135
|
+
* `Order` instance for dates based on `getTime()`.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
140
|
+
*
|
|
141
|
+
* const result = Order.date(new Date("2024-01-01"), new Date("2024-01-02"))
|
|
142
|
+
* // => -1
|
|
143
|
+
* ```
|
|
144
|
+
*
|
|
145
|
+
* @category Instances
|
|
146
|
+
*/
|
|
147
|
+
declare const date: Order$1<Date>;
|
|
148
|
+
/**
|
|
149
|
+
* Create an order that treats all values as equal.
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```ts
|
|
153
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
154
|
+
*
|
|
155
|
+
* const compare = Order.alwaysEqual<number>()
|
|
156
|
+
* const result = compare(1, 2)
|
|
157
|
+
* // => 0
|
|
158
|
+
* ```
|
|
159
|
+
*
|
|
160
|
+
* @category Constructors
|
|
161
|
+
*/
|
|
162
|
+
declare function alwaysEqual<A>(): Order$1<A>;
|
|
163
|
+
/**
|
|
164
|
+
* Reverse an existing order.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```ts
|
|
168
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
169
|
+
*
|
|
170
|
+
* const desc = Order.reverse(Order.number)
|
|
171
|
+
* const result = desc(1, 2)
|
|
172
|
+
* // => 1
|
|
173
|
+
* ```
|
|
174
|
+
*
|
|
175
|
+
* @category Combinators
|
|
176
|
+
*/
|
|
177
|
+
declare function reverse<A>(order: Order$1<A>): Order$1<A>;
|
|
178
|
+
/**
|
|
179
|
+
* Map inputs before comparison.
|
|
180
|
+
*
|
|
181
|
+
* Supports data-first and data-last styles:
|
|
182
|
+
* - `by(order, project)`
|
|
183
|
+
* - `pipe(order, by(project))`
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```ts
|
|
187
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
188
|
+
*
|
|
189
|
+
* type User = { age: number }
|
|
190
|
+
* const dataFirst = Order.by(Order.number, (user: User) => user.age)
|
|
191
|
+
* const compareFirst = dataFirst({ age: 1 }, { age: 2 })
|
|
192
|
+
* // => -1
|
|
193
|
+
*
|
|
194
|
+
* const dataLast = Order.by((user: User) => user.age)(Order.number)
|
|
195
|
+
* const compareLast = dataLast({ age: 1 }, { age: 2 })
|
|
196
|
+
* // => -1
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* @category Combinators
|
|
200
|
+
*/
|
|
201
|
+
declare const by: {
|
|
202
|
+
<B, A>(project: (value: B) => A): (order: Order$1<A>) => Order$1<B>;
|
|
203
|
+
<A, B>(order: Order$1<A>, project: (value: B) => A): Order$1<B>;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Merge orders lexicographically.
|
|
207
|
+
*
|
|
208
|
+
* Supports three forms:
|
|
209
|
+
* - `merge(self, that)`
|
|
210
|
+
* - `merge(that)(self)`
|
|
211
|
+
* - `merge([order1, order2, ...])`
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```ts
|
|
215
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
216
|
+
*
|
|
217
|
+
* type User = { first: string; last: string }
|
|
218
|
+
* const byLast = Order.by(Order.string, (user: User) => user.last)
|
|
219
|
+
* const byFirst = Order.by(Order.string, (user: User) => user.first)
|
|
220
|
+
* const compare = Order.merge([byLast, byFirst])({ first: "Ada", last: "Lovelace" }, { first: "Alan", last: "Turing" })
|
|
221
|
+
* // => -1
|
|
222
|
+
* ```
|
|
223
|
+
*
|
|
224
|
+
* @category Combining
|
|
225
|
+
*/
|
|
226
|
+
declare const merge: {
|
|
227
|
+
<A>(that: Order$1<A>): (self: Order$1<A>) => Order$1<A>;
|
|
228
|
+
<A>(self: Order$1<A>, that: Order$1<A>): Order$1<A>;
|
|
229
|
+
<A>(orders: Iterable<Order$1<A>>): Order$1<A>;
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Create an order for tuples, compared left-to-right.
|
|
233
|
+
*/
|
|
234
|
+
type TupleOrders<Elements extends ReadonlyArray<unknown>> = { readonly [K in keyof Elements]: Order$1<Elements[K]> };
|
|
235
|
+
/**
|
|
236
|
+
* tuple utility.
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```ts
|
|
240
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
241
|
+
*
|
|
242
|
+
* const compare = Order.tuple([Order.string, Order.number] as const)(["a", 1], ["a", 2])
|
|
243
|
+
* // => -1
|
|
244
|
+
* ```
|
|
245
|
+
*
|
|
246
|
+
* @category Constructors
|
|
247
|
+
*/
|
|
248
|
+
declare function tuple<const Elements extends ReadonlyArray<unknown>>(orders: TupleOrders<Elements>): Order$1<Elements>;
|
|
249
|
+
/**
|
|
250
|
+
* Create an order for arrays.
|
|
251
|
+
*
|
|
252
|
+
* Arrays are compared element-by-element, then by length when all compared
|
|
253
|
+
* elements are equal.
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```ts
|
|
257
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
258
|
+
*
|
|
259
|
+
* const compare = Order.array(Order.number)([1, 2], [1, 3])
|
|
260
|
+
* // => -1
|
|
261
|
+
* ```
|
|
262
|
+
*
|
|
263
|
+
* @category Constructors
|
|
264
|
+
*/
|
|
265
|
+
declare function array<A>(order: Order$1<A>): Order$1<readonly A[]>;
|
|
266
|
+
/**
|
|
267
|
+
* Create an order for objects by key order in `fields`.
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```ts
|
|
271
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
272
|
+
*
|
|
273
|
+
* const compare = Order.struct<{ id: number; name: string }>({
|
|
274
|
+
* id: Order.number,
|
|
275
|
+
* name: Order.string,
|
|
276
|
+
* })({ id: 1, name: "a" }, { id: 1, name: "b" })
|
|
277
|
+
* // => -1
|
|
278
|
+
* ```
|
|
279
|
+
*
|
|
280
|
+
* @category Constructors
|
|
281
|
+
*/
|
|
282
|
+
declare function struct<const R extends Record<string, unknown>>(fields: { readonly [K in keyof R]: Order$1<R[K]> }): Order$1<R>;
|
|
283
|
+
/**
|
|
284
|
+
* Test strict less-than using an order.
|
|
285
|
+
*
|
|
286
|
+
* @example
|
|
287
|
+
* ```ts
|
|
288
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
289
|
+
*
|
|
290
|
+
* const result = Order.lessThan(Order.number)(1, 2)
|
|
291
|
+
* // => true
|
|
292
|
+
* ```
|
|
293
|
+
*
|
|
294
|
+
* @category Predicates
|
|
295
|
+
*/
|
|
296
|
+
declare const lessThan: <A>(order: Order$1<A>) => {
|
|
297
|
+
(that: A): (self: A) => boolean;
|
|
298
|
+
(self: A, that: A): boolean;
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* Test less-than-or-equal using an order.
|
|
302
|
+
*
|
|
303
|
+
* @example
|
|
304
|
+
* ```ts
|
|
305
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
306
|
+
*
|
|
307
|
+
* const result = Order.lessThanOrEqual(Order.number)(2, 2)
|
|
308
|
+
* // => true
|
|
309
|
+
* ```
|
|
310
|
+
*
|
|
311
|
+
* @category Predicates
|
|
312
|
+
*/
|
|
313
|
+
declare const lessThanOrEqual: <A>(order: Order$1<A>) => {
|
|
314
|
+
(that: A): (self: A) => boolean;
|
|
315
|
+
(self: A, that: A): boolean;
|
|
316
|
+
};
|
|
317
|
+
/**
|
|
318
|
+
* Test strict greater-than using an order.
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```ts
|
|
322
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
323
|
+
*
|
|
324
|
+
* const result = Order.greaterThan(Order.number)(3, 2)
|
|
325
|
+
* // => true
|
|
326
|
+
* ```
|
|
327
|
+
*
|
|
328
|
+
* @category Predicates
|
|
329
|
+
*/
|
|
330
|
+
declare const greaterThan: <A>(order: Order$1<A>) => {
|
|
331
|
+
(that: A): (self: A) => boolean;
|
|
332
|
+
(self: A, that: A): boolean;
|
|
333
|
+
};
|
|
334
|
+
/**
|
|
335
|
+
* Test greater-than-or-equal using an order.
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* ```ts
|
|
339
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
340
|
+
*
|
|
341
|
+
* const result = Order.greaterThanOrEqual(Order.number)(2, 2)
|
|
342
|
+
* // => true
|
|
343
|
+
* ```
|
|
344
|
+
*
|
|
345
|
+
* @category Predicates
|
|
346
|
+
*/
|
|
347
|
+
declare const greaterThanOrEqual: <A>(order: Order$1<A>) => {
|
|
348
|
+
(that: A): (self: A) => boolean;
|
|
349
|
+
(self: A, that: A): boolean;
|
|
350
|
+
};
|
|
351
|
+
/**
|
|
352
|
+
* Get the minimum of two values.
|
|
353
|
+
*
|
|
354
|
+
* If equal, returns the first argument.
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* ```ts
|
|
358
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
359
|
+
*
|
|
360
|
+
* const value = Order.min(Order.number)(3, 5)
|
|
361
|
+
* // => 3
|
|
362
|
+
* ```
|
|
363
|
+
*
|
|
364
|
+
* @category Combinators
|
|
365
|
+
*/
|
|
366
|
+
declare const min: <A>(order: Order$1<A>) => {
|
|
367
|
+
(that: A): (self: A) => A;
|
|
368
|
+
(self: A, that: A): A;
|
|
369
|
+
};
|
|
370
|
+
/**
|
|
371
|
+
* Get the maximum of two values.
|
|
372
|
+
*
|
|
373
|
+
* If equal, returns the first argument.
|
|
374
|
+
*
|
|
375
|
+
* @example
|
|
376
|
+
* ```ts
|
|
377
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
378
|
+
*
|
|
379
|
+
* const value = Order.max(Order.number)(3, 5)
|
|
380
|
+
* // => 5
|
|
381
|
+
* ```
|
|
382
|
+
*
|
|
383
|
+
* @category Combinators
|
|
384
|
+
*/
|
|
385
|
+
declare const max: <A>(order: Order$1<A>) => {
|
|
386
|
+
(that: A): (self: A) => A;
|
|
387
|
+
(self: A, that: A): A;
|
|
388
|
+
};
|
|
389
|
+
/**
|
|
390
|
+
* Clamp a value to inclusive bounds.
|
|
391
|
+
*
|
|
392
|
+
* @example
|
|
393
|
+
* ```ts
|
|
394
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
395
|
+
*
|
|
396
|
+
* const value = Order.clamp(Order.number)(7, { minimum: 0, maximum: 5 })
|
|
397
|
+
* // => 5
|
|
398
|
+
* ```
|
|
399
|
+
*
|
|
400
|
+
* @category Combinators
|
|
401
|
+
*/
|
|
402
|
+
declare const clamp: <A>(order: Order$1<A>) => {
|
|
403
|
+
(bounds: OrderBounds<A>): (self: A) => A;
|
|
404
|
+
(self: A, bounds: OrderBounds<A>): A;
|
|
405
|
+
};
|
|
406
|
+
/**
|
|
407
|
+
* Check whether a value is within inclusive bounds.
|
|
408
|
+
*
|
|
409
|
+
* @example
|
|
410
|
+
* ```ts
|
|
411
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
412
|
+
*
|
|
413
|
+
* const isBetween = Order.between(Order.number)(3, { minimum: 0, maximum: 5 })
|
|
414
|
+
* // => true
|
|
415
|
+
* ```
|
|
416
|
+
*
|
|
417
|
+
* @category Predicates
|
|
418
|
+
*/
|
|
419
|
+
declare const between: <A>(order: Order$1<A>) => {
|
|
420
|
+
(bounds: OrderBounds<A>): (self: A) => boolean;
|
|
421
|
+
(self: A, bounds: OrderBounds<A>): boolean;
|
|
422
|
+
};
|
|
423
|
+
/**
|
|
424
|
+
* Sort an iterable by an order, returning a new array.
|
|
425
|
+
*
|
|
426
|
+
* Supports data-first and data-last styles.
|
|
427
|
+
*
|
|
428
|
+
* @example
|
|
429
|
+
* ```ts
|
|
430
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
431
|
+
*
|
|
432
|
+
* const values = [3, 1, 2]
|
|
433
|
+
* const dataFirst = Order.sort(values, Order.number)
|
|
434
|
+
* // => [1, 2, 3]
|
|
435
|
+
*
|
|
436
|
+
* const dataLast = Order.sort(Order.number)(values)
|
|
437
|
+
* // => [1, 2, 3]
|
|
438
|
+
* ```
|
|
439
|
+
*
|
|
440
|
+
* @category Utilities
|
|
441
|
+
*/
|
|
442
|
+
declare const sort: {
|
|
443
|
+
<B>(order: Order$1<B>): <A extends B>(input: Iterable<A>) => A[];
|
|
444
|
+
<A extends B, B>(input: Iterable<A>, order: Order$1<B>): A[];
|
|
445
|
+
};
|
|
446
|
+
/**
|
|
447
|
+
* Sort an iterable by a projected value.
|
|
448
|
+
*
|
|
449
|
+
* Supports data-first and data-last styles.
|
|
450
|
+
*
|
|
451
|
+
* @example
|
|
452
|
+
* ```ts
|
|
453
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
454
|
+
*
|
|
455
|
+
* const users = [{ age: 2 }, { age: 1 }]
|
|
456
|
+
* const dataFirst = Order.sortWith(users, (user) => user.age, Order.number)
|
|
457
|
+
* // => [{ age: 1 }, { age: 2 }]
|
|
458
|
+
*
|
|
459
|
+
* const dataLast = Order.sortWith((user: { age: number }) => user.age, Order.number)(users)
|
|
460
|
+
* // => [{ age: 1 }, { age: 2 }]
|
|
461
|
+
* ```
|
|
462
|
+
*
|
|
463
|
+
* @category Utilities
|
|
464
|
+
*/
|
|
465
|
+
declare const sortWith: {
|
|
466
|
+
<A, B>(project: (value: A) => B, order: Order$1<B>): (input: Iterable<A>) => A[];
|
|
467
|
+
<A, B>(input: Iterable<A>, project: (value: A) => B, order: Order$1<B>): A[];
|
|
468
|
+
};
|
|
469
|
+
/**
|
|
470
|
+
* Sort an iterable by multiple orders, in sequence.
|
|
471
|
+
*
|
|
472
|
+
* - first order has highest priority
|
|
473
|
+
* - ties are broken by subsequent orders
|
|
474
|
+
* - no orders returns a shallow copy preserving iteration order
|
|
475
|
+
*
|
|
476
|
+
* @example
|
|
477
|
+
* ```ts
|
|
478
|
+
* import { Order } from "@nicolastoulemont/std"
|
|
479
|
+
*
|
|
480
|
+
* const users = [{ age: 2, name: "b" }, { age: 1, name: "a" }]
|
|
481
|
+
* const sorted = Order.sortBy(Order.by(Order.number, (user: { age: number; name: string }) => user.age))(users)
|
|
482
|
+
* // => [{ age: 1, name: "a" }, { age: 2, name: "b" }]
|
|
483
|
+
* ```
|
|
484
|
+
*
|
|
485
|
+
* @category Utilities
|
|
486
|
+
*/
|
|
487
|
+
declare const sortBy: <A>(...orders: readonly Order$1<A>[]) => (input: Iterable<A>) => A[];
|
|
488
|
+
//#endregion
|
|
489
|
+
export { order_d_exports as t };
|
|
490
|
+
//# sourceMappingURL=index-CUZn-ohG.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CUZn-ohG.d.mts","names":[],"sources":["../src/order/order.types.ts","../src/order/order.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { t as TaggedErrorFactory } from "./data.tagged-error.types-CGiKD-ES.mjs";
|
|
2
|
+
import { i as QueueOptions, n as Queue, r as QueueBoundedOptions } from "./queue.types-CD2LOu37.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/queue/queue.d.ts
|
|
5
|
+
declare namespace queue_d_exports {
|
|
6
|
+
export { QueueAbortedError, QueueClosedError, QueueTaskAbortedError, bounded, is, make, unbounded };
|
|
7
|
+
}
|
|
8
|
+
declare const QueueClosedError_base: TaggedErrorFactory<"QueueClosedError">;
|
|
9
|
+
/**
|
|
10
|
+
* Error raised when enqueueing into a non-open queue.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { Queue } from "@nicolastoulemont/std"
|
|
15
|
+
*
|
|
16
|
+
* const error = new Queue.QueueClosedError({ state: "draining" })
|
|
17
|
+
* // => { _tag: "QueueClosedError", state: "draining" }
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category Models
|
|
21
|
+
*/
|
|
22
|
+
declare class QueueClosedError extends QueueClosedError_base<{
|
|
23
|
+
state: "draining" | "aborted";
|
|
24
|
+
}> {}
|
|
25
|
+
declare const QueueAbortedError_base: TaggedErrorFactory<"QueueAbortedError">;
|
|
26
|
+
/**
|
|
27
|
+
* Error raised when queue processing is aborted.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { Queue } from "@nicolastoulemont/std"
|
|
32
|
+
*
|
|
33
|
+
* const error = new Queue.QueueAbortedError({ reason: "manual" })
|
|
34
|
+
* // => { _tag: "QueueAbortedError", reason: "manual" }
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @category Models
|
|
38
|
+
*/
|
|
39
|
+
declare class QueueAbortedError extends QueueAbortedError_base<{
|
|
40
|
+
reason?: unknown;
|
|
41
|
+
}> {}
|
|
42
|
+
declare const QueueTaskAbortedError_base: TaggedErrorFactory<"QueueTaskAbortedError">;
|
|
43
|
+
/**
|
|
44
|
+
* Error raised when a specific task is aborted.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { Queue } from "@nicolastoulemont/std"
|
|
49
|
+
*
|
|
50
|
+
* const error = new Queue.QueueTaskAbortedError({ reason: "signal" })
|
|
51
|
+
* // => { _tag: "QueueTaskAbortedError", reason: "signal" }
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @category Models
|
|
55
|
+
*/
|
|
56
|
+
declare class QueueTaskAbortedError extends QueueTaskAbortedError_base<{
|
|
57
|
+
reason?: unknown;
|
|
58
|
+
}> {}
|
|
59
|
+
/**
|
|
60
|
+
* Check if a value is a `Queue`.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* import { Queue } from "@nicolastoulemont/std"
|
|
65
|
+
*
|
|
66
|
+
* const queue = Queue.make()
|
|
67
|
+
* const isQueue = Queue.is(queue)
|
|
68
|
+
* // => true
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @category Guards
|
|
72
|
+
*/
|
|
73
|
+
declare const is: (value: unknown) => value is Queue;
|
|
74
|
+
/**
|
|
75
|
+
* Create a queue with default unbounded capacity.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* import { Queue } from "@nicolastoulemont/std"
|
|
80
|
+
*
|
|
81
|
+
* const queue = Queue.make()
|
|
82
|
+
* const pending = queue.pending
|
|
83
|
+
* // => 0
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @category Constructors
|
|
87
|
+
*/
|
|
88
|
+
declare const make: (options?: QueueOptions) => Queue;
|
|
89
|
+
/**
|
|
90
|
+
* Create a queue with bounded capacity.
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* import { Queue } from "@nicolastoulemont/std"
|
|
95
|
+
*
|
|
96
|
+
* const queue = Queue.bounded(2)
|
|
97
|
+
* const size = queue.size
|
|
98
|
+
* // => 0
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @category Constructors
|
|
102
|
+
*/
|
|
103
|
+
declare const bounded: (maxSize: number, options?: QueueBoundedOptions) => Queue;
|
|
104
|
+
/**
|
|
105
|
+
* Create a queue with explicit unbounded capacity.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* import { Queue } from "@nicolastoulemont/std"
|
|
110
|
+
*
|
|
111
|
+
* const queue = Queue.unbounded()
|
|
112
|
+
* const paused = queue.isPaused
|
|
113
|
+
* // => false
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @category Constructors
|
|
117
|
+
*/
|
|
118
|
+
declare const unbounded: (options?: QueueOptions) => Queue;
|
|
119
|
+
//#endregion
|
|
120
|
+
export { queue_d_exports as t };
|
|
121
|
+
//# sourceMappingURL=index-Cq2IFito.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Cq2IFito.d.mts","names":[],"sources":["../src/queue/queue.ts"],"sourcesContent":[],"mappings":";;;;;;;cAsCsB,uBAAA;;;;;;;;;;;;;AAAA;AAgBT,cAAA,gBAAA,SAAyB,qBAAA,CAAA;EAA0E,KAAA,EAAA,UAAA,GAAA,SAAA;AAchH,CAAA,CAAA,CAAA;AAcA,cA5BgH,sBA4B7E,EA5B6E,kBA4BrE,CAAA,mBAAA,CAAA;AAsG3C;AAsWA;AAgBA;AAgBA;;;;;;;;;;cA1fa,iBAAA,SAA0B;;;cAA8D,4BAAA;;;;;;;;;;;;;;cAcxF,qBAAA,SAA8B;;;;;;;;;;;;;;;;;cAsG9B,iCAAgC;;;;;;;;;;;;;;;cAsWhC,iBAAkB,iBAAe;;;;;;;;;;;;;;;cAgBjC,qCAAsC,wBAAsB;;;;;;;;;;;;;;;cAgB5D,sBAAuB,iBAAe"}
|