@procedures/client 0.2.0 → 0.2.2
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/CHANGELOG.md +12 -0
- package/README.md +4 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/procedures/invoke.d.ts +6 -1
- package/dist/procedures/invoke.d.ts.map +1 -1
- package/dist/procedures/invoke.js +2 -2
- package/dist/procedures/invoke.js.map +1 -1
- package/dist/procedures/schema.d.ts +4 -1
- package/dist/procedures/schema.d.ts.map +1 -1
- package/dist/procedures/schema.js +27 -2
- package/dist/procedures/schema.js.map +1 -1
- package/dist/server/host-policy.d.ts +3 -3
- package/dist/server/host-policy.d.ts.map +1 -1
- package/dist/server/procedure-server.d.ts +2 -2
- package/dist/server/procedure-server.d.ts.map +1 -1
- package/dist/server/procedure-server.js.map +1 -1
- package/package.json +1 -1
- package/src/browser.ts +1 -0
- package/src/procedures/invoke.ts +10 -4
- package/src/procedures/schema.ts +27 -2
- package/src/server/host-policy.ts +3 -3
- package/src/server/procedure-server.ts +2 -2
- package/dist/client/middleware/batching.d.ts +0 -102
- package/dist/client/middleware/batching.d.ts.map +0 -1
- package/dist/client/middleware/batching.js +0 -245
- package/dist/client/middleware/batching.js.map +0 -1
- package/dist/collections/async/async-queue.d.ts +0 -144
- package/dist/collections/async/async-queue.d.ts.map +0 -1
- package/dist/collections/async/async-queue.js +0 -347
- package/dist/collections/async/async-queue.js.map +0 -1
- package/dist/collections/async/channels.d.ts +0 -188
- package/dist/collections/async/channels.d.ts.map +0 -1
- package/dist/collections/async/channels.js +0 -312
- package/dist/collections/async/channels.js.map +0 -1
- package/dist/collections/behaviors/bounded.d.ts +0 -79
- package/dist/collections/behaviors/bounded.d.ts.map +0 -1
- package/dist/collections/behaviors/bounded.js +0 -384
- package/dist/collections/behaviors/bounded.js.map +0 -1
- package/dist/collections/behaviors/evented.d.ts +0 -154
- package/dist/collections/behaviors/evented.d.ts.map +0 -1
- package/dist/collections/behaviors/evented.js +0 -299
- package/dist/collections/behaviors/evented.js.map +0 -1
- package/dist/collections/behaviors/lru.d.ts +0 -84
- package/dist/collections/behaviors/lru.d.ts.map +0 -1
- package/dist/collections/behaviors/lru.js +0 -330
- package/dist/collections/behaviors/lru.js.map +0 -1
- package/dist/collections/behaviors/readonly.d.ts +0 -73
- package/dist/collections/behaviors/readonly.d.ts.map +0 -1
- package/dist/collections/behaviors/readonly.js +0 -158
- package/dist/collections/behaviors/readonly.js.map +0 -1
- package/dist/collections/behaviors/safe.d.ts +0 -163
- package/dist/collections/behaviors/safe.d.ts.map +0 -1
- package/dist/collections/behaviors/safe.js +0 -172
- package/dist/collections/behaviors/safe.js.map +0 -1
- package/dist/collections/behaviors/synchronized.d.ts +0 -88
- package/dist/collections/behaviors/synchronized.d.ts.map +0 -1
- package/dist/collections/behaviors/synchronized.js +0 -294
- package/dist/collections/behaviors/synchronized.js.map +0 -1
- package/dist/collections/behaviors/ttl.d.ts +0 -118
- package/dist/collections/behaviors/ttl.d.ts.map +0 -1
- package/dist/collections/behaviors/ttl.js +0 -338
- package/dist/collections/behaviors/ttl.js.map +0 -1
- package/dist/collections/core/effects.d.ts +0 -176
- package/dist/collections/core/effects.d.ts.map +0 -1
- package/dist/collections/core/effects.js +0 -180
- package/dist/collections/core/effects.js.map +0 -1
- package/dist/collections/core/events.d.ts +0 -192
- package/dist/collections/core/events.d.ts.map +0 -1
- package/dist/collections/core/events.js +0 -291
- package/dist/collections/core/events.js.map +0 -1
- package/dist/collections/core/middleware.d.ts +0 -231
- package/dist/collections/core/middleware.d.ts.map +0 -1
- package/dist/collections/core/middleware.js +0 -161
- package/dist/collections/core/middleware.js.map +0 -1
- package/dist/collections/core/policies.d.ts +0 -220
- package/dist/collections/core/policies.d.ts.map +0 -1
- package/dist/collections/core/policies.js +0 -48
- package/dist/collections/core/policies.js.map +0 -1
- package/dist/collections/core/traits.d.ts +0 -142
- package/dist/collections/core/traits.d.ts.map +0 -1
- package/dist/collections/core/traits.js +0 -8
- package/dist/collections/core/traits.js.map +0 -1
- package/dist/collections/examples.d.ts +0 -13
- package/dist/collections/examples.d.ts.map +0 -1
- package/dist/collections/examples.js +0 -302
- package/dist/collections/examples.js.map +0 -1
- package/dist/collections/fx/collectors.d.ts +0 -190
- package/dist/collections/fx/collectors.d.ts.map +0 -1
- package/dist/collections/fx/collectors.js +0 -369
- package/dist/collections/fx/collectors.js.map +0 -1
- package/dist/collections/fx/iter.d.ts +0 -166
- package/dist/collections/fx/iter.d.ts.map +0 -1
- package/dist/collections/fx/iter.js +0 -421
- package/dist/collections/fx/iter.js.map +0 -1
- package/dist/collections/impl/array-deque.d.ts +0 -107
- package/dist/collections/impl/array-deque.d.ts.map +0 -1
- package/dist/collections/impl/array-deque.js +0 -381
- package/dist/collections/impl/array-deque.js.map +0 -1
- package/dist/collections/impl/array-list.d.ts +0 -101
- package/dist/collections/impl/array-list.d.ts.map +0 -1
- package/dist/collections/impl/array-list.js +0 -387
- package/dist/collections/impl/array-list.js.map +0 -1
- package/dist/collections/impl/hash-map.d.ts +0 -141
- package/dist/collections/impl/hash-map.d.ts.map +0 -1
- package/dist/collections/impl/hash-map.js +0 -450
- package/dist/collections/impl/hash-map.js.map +0 -1
- package/dist/collections/impl/hash-set.d.ts +0 -125
- package/dist/collections/impl/hash-set.d.ts.map +0 -1
- package/dist/collections/impl/hash-set.js +0 -264
- package/dist/collections/impl/hash-set.js.map +0 -1
- package/dist/collections/impl/linked-hash-map.d.ts +0 -141
- package/dist/collections/impl/linked-hash-map.d.ts.map +0 -1
- package/dist/collections/impl/linked-hash-map.js +0 -472
- package/dist/collections/impl/linked-hash-map.js.map +0 -1
- package/dist/collections/impl/linked-list.d.ts +0 -109
- package/dist/collections/impl/linked-list.d.ts.map +0 -1
- package/dist/collections/impl/linked-list.js +0 -491
- package/dist/collections/impl/linked-list.js.map +0 -1
- package/dist/collections/impl/priority-queue.d.ts +0 -134
- package/dist/collections/impl/priority-queue.d.ts.map +0 -1
- package/dist/collections/impl/priority-queue.js +0 -336
- package/dist/collections/impl/priority-queue.js.map +0 -1
- package/dist/collections/impl/tree-map.d.ts +0 -146
- package/dist/collections/impl/tree-map.d.ts.map +0 -1
- package/dist/collections/impl/tree-map.js +0 -781
- package/dist/collections/impl/tree-map.js.map +0 -1
- package/dist/collections/impl/tree-set.d.ts +0 -112
- package/dist/collections/impl/tree-set.d.ts.map +0 -1
- package/dist/collections/impl/tree-set.js +0 -374
- package/dist/collections/impl/tree-set.js.map +0 -1
- package/dist/collections/index.d.ts +0 -105
- package/dist/collections/index.d.ts.map +0 -1
- package/dist/collections/index.js +0 -135
- package/dist/collections/index.js.map +0 -1
- package/dist/collections/interfaces/collection.d.ts +0 -119
- package/dist/collections/interfaces/collection.d.ts.map +0 -1
- package/dist/collections/interfaces/collection.js +0 -8
- package/dist/collections/interfaces/collection.js.map +0 -1
- package/dist/collections/interfaces/list.d.ts +0 -247
- package/dist/collections/interfaces/list.d.ts.map +0 -1
- package/dist/collections/interfaces/list.js +0 -8
- package/dist/collections/interfaces/list.js.map +0 -1
- package/dist/collections/interfaces/map.d.ts +0 -344
- package/dist/collections/interfaces/map.d.ts.map +0 -1
- package/dist/collections/interfaces/map.js +0 -8
- package/dist/collections/interfaces/map.js.map +0 -1
- package/dist/collections/interfaces/queue.d.ts +0 -304
- package/dist/collections/interfaces/queue.d.ts.map +0 -1
- package/dist/collections/interfaces/queue.js +0 -8
- package/dist/collections/interfaces/queue.js.map +0 -1
- package/dist/collections/interfaces/set.d.ts +0 -137
- package/dist/collections/interfaces/set.d.ts.map +0 -1
- package/dist/collections/interfaces/set.js +0 -8
- package/dist/collections/interfaces/set.js.map +0 -1
- package/dist/collections/storage/api.d.ts +0 -109
- package/dist/collections/storage/api.d.ts.map +0 -1
- package/dist/collections/storage/api.js +0 -182
- package/dist/collections/storage/api.js.map +0 -1
- package/dist/collections/storage/hybrid.d.ts +0 -164
- package/dist/collections/storage/hybrid.d.ts.map +0 -1
- package/dist/collections/storage/hybrid.js +0 -416
- package/dist/collections/storage/hybrid.js.map +0 -1
- package/dist/collections/storage/index.d.ts +0 -16
- package/dist/collections/storage/index.d.ts.map +0 -1
- package/dist/collections/storage/index.js +0 -13
- package/dist/collections/storage/index.js.map +0 -1
- package/dist/collections/storage/interface.d.ts +0 -141
- package/dist/collections/storage/interface.d.ts.map +0 -1
- package/dist/collections/storage/interface.js +0 -23
- package/dist/collections/storage/interface.js.map +0 -1
- package/dist/collections/storage/memory.d.ts +0 -68
- package/dist/collections/storage/memory.d.ts.map +0 -1
- package/dist/collections/storage/memory.js +0 -154
- package/dist/collections/storage/memory.js.map +0 -1
- package/dist/collections/utils/defaults.d.ts +0 -135
- package/dist/collections/utils/defaults.d.ts.map +0 -1
- package/dist/collections/utils/defaults.js +0 -322
- package/dist/collections/utils/defaults.js.map +0 -1
- package/dist/collections/utils/factories.d.ts +0 -144
- package/dist/collections/utils/factories.d.ts.map +0 -1
- package/dist/collections/utils/factories.js +0 -293
- package/dist/collections/utils/factories.js.map +0 -1
- package/dist/collections/utils/helpers.d.ts +0 -137
- package/dist/collections/utils/helpers.d.ts.map +0 -1
- package/dist/collections/utils/helpers.js +0 -221
- package/dist/collections/utils/helpers.js.map +0 -1
- package/dist/collections.d.ts +0 -12
- package/dist/collections.d.ts.map +0 -1
- package/dist/collections.js +0 -10
- package/dist/collections.js.map +0 -1
- package/dist/components/define.d.ts +0 -134
- package/dist/components/define.d.ts.map +0 -1
- package/dist/components/define.js +0 -486
- package/dist/components/define.js.map +0 -1
- package/dist/components/index.d.ts +0 -39
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -38
- package/dist/components/index.js.map +0 -1
- package/dist/components/types.d.ts +0 -264
- package/dist/components/types.d.ts.map +0 -1
- package/dist/components/types.js +0 -46
- package/dist/components/types.js.map +0 -1
- package/dist/procedures/storage/adapter.d.ts +0 -148
- package/dist/procedures/storage/adapter.d.ts.map +0 -1
- package/dist/procedures/storage/adapter.js +0 -214
- package/dist/procedures/storage/adapter.js.map +0 -1
- package/dist/procedures/storage/api.d.ts +0 -125
- package/dist/procedures/storage/api.d.ts.map +0 -1
- package/dist/procedures/storage/api.js +0 -220
- package/dist/procedures/storage/api.js.map +0 -1
- package/dist/procedures/storage/factory.d.ts +0 -134
- package/dist/procedures/storage/factory.d.ts.map +0 -1
- package/dist/procedures/storage/factory.js +0 -166
- package/dist/procedures/storage/factory.js.map +0 -1
- package/dist/procedures/storage/hybrid.d.ts +0 -193
- package/dist/procedures/storage/hybrid.d.ts.map +0 -1
- package/dist/procedures/storage/hybrid.js +0 -519
- package/dist/procedures/storage/hybrid.js.map +0 -1
- package/dist/procedures/storage/index.d.ts +0 -17
- package/dist/procedures/storage/index.d.ts.map +0 -1
- package/dist/procedures/storage/index.js +0 -17
- package/dist/procedures/storage/index.js.map +0 -1
- package/dist/procedures/storage/procedures.d.ts +0 -39
- package/dist/procedures/storage/procedures.d.ts.map +0 -1
- package/dist/procedures/storage/procedures.js +0 -261
- package/dist/procedures/storage/procedures.js.map +0 -1
- package/dist/procedures/storage/serialization.d.ts +0 -123
- package/dist/procedures/storage/serialization.d.ts.map +0 -1
- package/dist/procedures/storage/serialization.js +0 -216
- package/dist/procedures/storage/serialization.js.map +0 -1
- package/dist/procedures/storage/synced-registry.d.ts +0 -246
- package/dist/procedures/storage/synced-registry.d.ts.map +0 -1
- package/dist/procedures/storage/synced-registry.js +0 -575
- package/dist/procedures/storage/synced-registry.js.map +0 -1
- package/dist/procedures/storage/types.d.ts +0 -130
- package/dist/procedures/storage/types.d.ts.map +0 -1
- package/dist/procedures/storage/types.js +0 -8
- package/dist/procedures/storage/types.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/collections/utils/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory utilities for creating collections.
|
|
3
|
-
*
|
|
4
|
-
* Provides convenient factory methods similar to Java's Collections class.
|
|
5
|
-
* These mirror methods like Collections.emptyList(), singletonList(), etc.
|
|
6
|
-
*/
|
|
7
|
-
import { ArrayList } from "../impl/array-list.js";
|
|
8
|
-
import { ArrayDeque } from "../impl/array-deque.js";
|
|
9
|
-
import { HashMap } from "../impl/hash-map.js";
|
|
10
|
-
import type { List } from "../interfaces/list.js";
|
|
11
|
-
import type { Queue } from "../interfaces/queue.js";
|
|
12
|
-
import type { MapLike } from "../interfaces/map.js";
|
|
13
|
-
export declare function emptyList<T>(): List<T>;
|
|
14
|
-
export declare function emptyQueue<T>(): Queue<T>;
|
|
15
|
-
export declare function emptyMap<K, V>(): MapLike<K, V>;
|
|
16
|
-
/**
|
|
17
|
-
* Returns an immutable list containing only the specified element.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* const list = singletonList(42)
|
|
21
|
-
* list.size // 1
|
|
22
|
-
* list.get(0) // 42
|
|
23
|
-
* list.add(2) // Error: Cannot modify readonly collection
|
|
24
|
-
*/
|
|
25
|
-
export declare function singletonList<T>(element: T): List<T>;
|
|
26
|
-
/**
|
|
27
|
-
* Returns an immutable map containing only the specified key-value mapping.
|
|
28
|
-
*/
|
|
29
|
-
export declare function singletonMap<K, V>(key: K, value: V): MapLike<K, V>;
|
|
30
|
-
/**
|
|
31
|
-
* Returns an immutable list consisting of n copies of the specified element.
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* const list = nCopies(5, 'hello')
|
|
35
|
-
* list.size // 5
|
|
36
|
-
* list.get(2) // 'hello'
|
|
37
|
-
*/
|
|
38
|
-
export declare function nCopies<T>(n: number, element: T): List<T>;
|
|
39
|
-
/**
|
|
40
|
-
* Creates a new ArrayList from the given elements.
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* const list = listOf(1, 2, 3, 4, 5)
|
|
44
|
-
*/
|
|
45
|
-
export declare function listOf<T>(...elements: T[]): ArrayList<T>;
|
|
46
|
-
/**
|
|
47
|
-
* Creates a new ArrayDeque from the given elements.
|
|
48
|
-
*/
|
|
49
|
-
export declare function queueOf<T>(...elements: T[]): ArrayDeque<T>;
|
|
50
|
-
/**
|
|
51
|
-
* Creates a new HashMap from the given key-value pairs.
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* const map = mapOf(['a', 1], ['b', 2], ['c', 3])
|
|
55
|
-
*/
|
|
56
|
-
export declare function mapOf<K, V>(...entries: [K, V][]): HashMap<K, V>;
|
|
57
|
-
/**
|
|
58
|
-
* Creates a new mutable ArrayList with optional initial elements.
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* const list = mutableListOf(1, 2, 3)
|
|
62
|
-
* list.add(4)
|
|
63
|
-
*/
|
|
64
|
-
export declare function mutableListOf<T>(...elements: T[]): ArrayList<T>;
|
|
65
|
-
/**
|
|
66
|
-
* Creates a new mutable HashMap with optional initial entries.
|
|
67
|
-
*/
|
|
68
|
-
export declare function mutableMapOf<K, V>(...entries: [K, V][]): HashMap<K, V>;
|
|
69
|
-
/**
|
|
70
|
-
* Creates an immutable List from the given elements.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* const list = immutableListOf(1, 2, 3)
|
|
74
|
-
* list.get(0) // 1
|
|
75
|
-
* list.add(4) // Error: Cannot modify readonly collection
|
|
76
|
-
*/
|
|
77
|
-
export declare function immutableListOf<T>(...elements: T[]): List<T>;
|
|
78
|
-
/**
|
|
79
|
-
* Creates an immutable Map from the given entries.
|
|
80
|
-
*/
|
|
81
|
-
export declare function immutableMapOf<K, V>(...entries: [K, V][]): MapLike<K, V>;
|
|
82
|
-
/**
|
|
83
|
-
* Creates a list containing integers from start (inclusive) to end (exclusive).
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* const list = range(0, 5) // [0, 1, 2, 3, 4]
|
|
87
|
-
* const list2 = range(10, 15) // [10, 11, 12, 13, 14]
|
|
88
|
-
*/
|
|
89
|
-
export declare function range(start: number, end: number, step?: number): ArrayList<number>;
|
|
90
|
-
/**
|
|
91
|
-
* Creates a list containing integers from 0 to n (exclusive).
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* const list = rangeTo(5) // [0, 1, 2, 3, 4]
|
|
95
|
-
*/
|
|
96
|
-
export declare function rangeTo(n: number): ArrayList<number>;
|
|
97
|
-
/**
|
|
98
|
-
* Builder for constructing lists with a fluent API.
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* const list = buildList<number>((builder) => {
|
|
102
|
-
* builder.add(1)
|
|
103
|
-
* builder.add(2)
|
|
104
|
-
* if (someCondition) {
|
|
105
|
-
* builder.add(3)
|
|
106
|
-
* }
|
|
107
|
-
* })
|
|
108
|
-
*/
|
|
109
|
-
export declare function buildList<T>(builder: (list: ArrayList<T>) => void): ArrayList<T>;
|
|
110
|
-
/**
|
|
111
|
-
* Builder for constructing maps with a fluent API.
|
|
112
|
-
*/
|
|
113
|
-
export declare function buildMap<K, V>(builder: (map: HashMap<K, V>) => void): HashMap<K, V>;
|
|
114
|
-
/**
|
|
115
|
-
* Converts an iterable to an ArrayList.
|
|
116
|
-
*
|
|
117
|
-
* @example
|
|
118
|
-
* const set = new Set([1, 2, 3])
|
|
119
|
-
* const list = toList(set)
|
|
120
|
-
*/
|
|
121
|
-
export declare function toList<T>(iterable: Iterable<T>): ArrayList<T>;
|
|
122
|
-
/**
|
|
123
|
-
* Converts an iterable to a HashMap using a key extractor function.
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* const users = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]
|
|
127
|
-
* const userMap = toMap(users, u => u.id)
|
|
128
|
-
*/
|
|
129
|
-
export declare function toMap<T, K>(iterable: Iterable<T>, keyExtractor: (value: T) => K): HashMap<K, T>;
|
|
130
|
-
export declare function toMap<T, K, V>(iterable: Iterable<T>, keyExtractor: (value: T) => K, valueExtractor: (value: T) => V): HashMap<K, V>;
|
|
131
|
-
/**
|
|
132
|
-
* Groups elements by a key extractor function.
|
|
133
|
-
*
|
|
134
|
-
* @example
|
|
135
|
-
* const users = [
|
|
136
|
-
* { age: 25, name: 'Alice' },
|
|
137
|
-
* { age: 30, name: 'Bob' },
|
|
138
|
-
* { age: 25, name: 'Charlie' }
|
|
139
|
-
* ]
|
|
140
|
-
* const byAge = groupBy(users, u => u.age)
|
|
141
|
-
* // Map { 25 => [Alice, Charlie], 30 => [Bob] }
|
|
142
|
-
*/
|
|
143
|
-
export declare function groupBy<T, K>(iterable: Iterable<T>, keyExtractor: (value: T) => K): HashMap<K, ArrayList<T>>;
|
|
144
|
-
//# sourceMappingURL=factories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../src/collections/utils/factories.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory utilities for creating collections.
|
|
3
|
-
*
|
|
4
|
-
* Provides convenient factory methods similar to Java's Collections class.
|
|
5
|
-
* These mirror methods like Collections.emptyList(), singletonList(), etc.
|
|
6
|
-
*/
|
|
7
|
-
import { arrayList, ArrayList } from "../impl/array-list.js";
|
|
8
|
-
import { arrayDeque, ArrayDeque } from "../impl/array-deque.js";
|
|
9
|
-
import { hashMap, HashMap } from "../impl/hash-map.js";
|
|
10
|
-
import { readonly } from "../behaviors/readonly.js";
|
|
11
|
-
import { compose } from "../core/middleware.js";
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// Empty collections
|
|
14
|
-
// ============================================================================
|
|
15
|
-
/**
|
|
16
|
-
* Returns an empty, immutable list.
|
|
17
|
-
* Multiple calls return the same instance (singleton pattern).
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* const list = emptyList<number>()
|
|
21
|
-
* list.size // 0
|
|
22
|
-
* list.add(1) // Error: Cannot modify readonly collection
|
|
23
|
-
*/
|
|
24
|
-
const EMPTY_LIST_CACHE = new Map();
|
|
25
|
-
export function emptyList() {
|
|
26
|
-
const key = "list";
|
|
27
|
-
if (!EMPTY_LIST_CACHE.has(key)) {
|
|
28
|
-
const list = compose(readonly())(arrayList());
|
|
29
|
-
EMPTY_LIST_CACHE.set(key, list);
|
|
30
|
-
}
|
|
31
|
-
return EMPTY_LIST_CACHE.get(key);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Returns an empty, immutable queue.
|
|
35
|
-
*/
|
|
36
|
-
const EMPTY_QUEUE_CACHE = new Map();
|
|
37
|
-
export function emptyQueue() {
|
|
38
|
-
const key = "queue";
|
|
39
|
-
if (!EMPTY_QUEUE_CACHE.has(key)) {
|
|
40
|
-
const queue = compose(readonly())(arrayDeque());
|
|
41
|
-
EMPTY_QUEUE_CACHE.set(key, queue);
|
|
42
|
-
}
|
|
43
|
-
return EMPTY_QUEUE_CACHE.get(key);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Returns an empty, immutable map.
|
|
47
|
-
*/
|
|
48
|
-
const EMPTY_MAP_CACHE = new Map();
|
|
49
|
-
export function emptyMap() {
|
|
50
|
-
const key = "map";
|
|
51
|
-
if (!EMPTY_MAP_CACHE.has(key)) {
|
|
52
|
-
const map = compose(readonly())(hashMap());
|
|
53
|
-
EMPTY_MAP_CACHE.set(key, map);
|
|
54
|
-
}
|
|
55
|
-
return EMPTY_MAP_CACHE.get(key);
|
|
56
|
-
}
|
|
57
|
-
// ============================================================================
|
|
58
|
-
// Singleton collections (single element)
|
|
59
|
-
// ============================================================================
|
|
60
|
-
/**
|
|
61
|
-
* Returns an immutable list containing only the specified element.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* const list = singletonList(42)
|
|
65
|
-
* list.size // 1
|
|
66
|
-
* list.get(0) // 42
|
|
67
|
-
* list.add(2) // Error: Cannot modify readonly collection
|
|
68
|
-
*/
|
|
69
|
-
export function singletonList(element) {
|
|
70
|
-
const list = arrayList();
|
|
71
|
-
list.add(element);
|
|
72
|
-
return compose(readonly())(list);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Returns an immutable map containing only the specified key-value mapping.
|
|
76
|
-
*/
|
|
77
|
-
export function singletonMap(key, value) {
|
|
78
|
-
const map = hashMap();
|
|
79
|
-
map.set(key, value);
|
|
80
|
-
return compose(readonly())(map);
|
|
81
|
-
}
|
|
82
|
-
// ============================================================================
|
|
83
|
-
// N-copies collections
|
|
84
|
-
// ============================================================================
|
|
85
|
-
/**
|
|
86
|
-
* Returns an immutable list consisting of n copies of the specified element.
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* const list = nCopies(5, 'hello')
|
|
90
|
-
* list.size // 5
|
|
91
|
-
* list.get(2) // 'hello'
|
|
92
|
-
*/
|
|
93
|
-
export function nCopies(n, element) {
|
|
94
|
-
if (n < 0) {
|
|
95
|
-
throw new Error(`n must be non-negative, got ${n}`);
|
|
96
|
-
}
|
|
97
|
-
const list = arrayList();
|
|
98
|
-
for (let i = 0; i < n; i++) {
|
|
99
|
-
list.add(element);
|
|
100
|
-
}
|
|
101
|
-
return compose(readonly())(list);
|
|
102
|
-
}
|
|
103
|
-
// ============================================================================
|
|
104
|
-
// Collection creation from iterables
|
|
105
|
-
// ============================================================================
|
|
106
|
-
/**
|
|
107
|
-
* Creates a new ArrayList from the given elements.
|
|
108
|
-
*
|
|
109
|
-
* @example
|
|
110
|
-
* const list = listOf(1, 2, 3, 4, 5)
|
|
111
|
-
*/
|
|
112
|
-
export function listOf(...elements) {
|
|
113
|
-
return arrayList(elements);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Creates a new ArrayDeque from the given elements.
|
|
117
|
-
*/
|
|
118
|
-
export function queueOf(...elements) {
|
|
119
|
-
return arrayDeque(elements);
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Creates a new HashMap from the given key-value pairs.
|
|
123
|
-
*
|
|
124
|
-
* @example
|
|
125
|
-
* const map = mapOf(['a', 1], ['b', 2], ['c', 3])
|
|
126
|
-
*/
|
|
127
|
-
export function mapOf(...entries) {
|
|
128
|
-
return hashMap(entries);
|
|
129
|
-
}
|
|
130
|
-
// ============================================================================
|
|
131
|
-
// Mutable collection factories
|
|
132
|
-
// ============================================================================
|
|
133
|
-
/**
|
|
134
|
-
* Creates a new mutable ArrayList with optional initial elements.
|
|
135
|
-
*
|
|
136
|
-
* @example
|
|
137
|
-
* const list = mutableListOf(1, 2, 3)
|
|
138
|
-
* list.add(4)
|
|
139
|
-
*/
|
|
140
|
-
export function mutableListOf(...elements) {
|
|
141
|
-
return arrayList(elements);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Creates a new mutable HashMap with optional initial entries.
|
|
145
|
-
*/
|
|
146
|
-
export function mutableMapOf(...entries) {
|
|
147
|
-
return hashMap(entries);
|
|
148
|
-
}
|
|
149
|
-
// ============================================================================
|
|
150
|
-
// Immutable collection factories
|
|
151
|
-
// ============================================================================
|
|
152
|
-
/**
|
|
153
|
-
* Creates an immutable List from the given elements.
|
|
154
|
-
*
|
|
155
|
-
* @example
|
|
156
|
-
* const list = immutableListOf(1, 2, 3)
|
|
157
|
-
* list.get(0) // 1
|
|
158
|
-
* list.add(4) // Error: Cannot modify readonly collection
|
|
159
|
-
*/
|
|
160
|
-
export function immutableListOf(...elements) {
|
|
161
|
-
if (elements.length === 0) {
|
|
162
|
-
return emptyList();
|
|
163
|
-
}
|
|
164
|
-
if (elements.length === 1) {
|
|
165
|
-
return singletonList(elements[0]);
|
|
166
|
-
}
|
|
167
|
-
const list = arrayList(elements);
|
|
168
|
-
return compose(readonly())(list);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Creates an immutable Map from the given entries.
|
|
172
|
-
*/
|
|
173
|
-
export function immutableMapOf(...entries) {
|
|
174
|
-
if (entries.length === 0) {
|
|
175
|
-
return emptyMap();
|
|
176
|
-
}
|
|
177
|
-
if (entries.length === 1) {
|
|
178
|
-
return singletonMap(entries[0][0], entries[0][1]);
|
|
179
|
-
}
|
|
180
|
-
const map = hashMap(entries);
|
|
181
|
-
return compose(readonly())(map);
|
|
182
|
-
}
|
|
183
|
-
// ============================================================================
|
|
184
|
-
// Range factories
|
|
185
|
-
// ============================================================================
|
|
186
|
-
/**
|
|
187
|
-
* Creates a list containing integers from start (inclusive) to end (exclusive).
|
|
188
|
-
*
|
|
189
|
-
* @example
|
|
190
|
-
* const list = range(0, 5) // [0, 1, 2, 3, 4]
|
|
191
|
-
* const list2 = range(10, 15) // [10, 11, 12, 13, 14]
|
|
192
|
-
*/
|
|
193
|
-
export function range(start, end, step = 1) {
|
|
194
|
-
if (step === 0) {
|
|
195
|
-
throw new Error("step cannot be zero");
|
|
196
|
-
}
|
|
197
|
-
const list = arrayList();
|
|
198
|
-
if (step > 0) {
|
|
199
|
-
for (let i = start; i < end; i += step) {
|
|
200
|
-
list.add(i);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
for (let i = start; i > end; i += step) {
|
|
205
|
-
list.add(i);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
return list;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Creates a list containing integers from 0 to n (exclusive).
|
|
212
|
-
*
|
|
213
|
-
* @example
|
|
214
|
-
* const list = rangeTo(5) // [0, 1, 2, 3, 4]
|
|
215
|
-
*/
|
|
216
|
-
export function rangeTo(n) {
|
|
217
|
-
return range(0, n);
|
|
218
|
-
}
|
|
219
|
-
// ============================================================================
|
|
220
|
-
// Collection builders
|
|
221
|
-
// ============================================================================
|
|
222
|
-
/**
|
|
223
|
-
* Builder for constructing lists with a fluent API.
|
|
224
|
-
*
|
|
225
|
-
* @example
|
|
226
|
-
* const list = buildList<number>((builder) => {
|
|
227
|
-
* builder.add(1)
|
|
228
|
-
* builder.add(2)
|
|
229
|
-
* if (someCondition) {
|
|
230
|
-
* builder.add(3)
|
|
231
|
-
* }
|
|
232
|
-
* })
|
|
233
|
-
*/
|
|
234
|
-
export function buildList(builder) {
|
|
235
|
-
const list = arrayList();
|
|
236
|
-
builder(list);
|
|
237
|
-
return list;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Builder for constructing maps with a fluent API.
|
|
241
|
-
*/
|
|
242
|
-
export function buildMap(builder) {
|
|
243
|
-
const map = hashMap();
|
|
244
|
-
builder(map);
|
|
245
|
-
return map;
|
|
246
|
-
}
|
|
247
|
-
// ============================================================================
|
|
248
|
-
// Conversion utilities
|
|
249
|
-
// ============================================================================
|
|
250
|
-
/**
|
|
251
|
-
* Converts an iterable to an ArrayList.
|
|
252
|
-
*
|
|
253
|
-
* @example
|
|
254
|
-
* const set = new Set([1, 2, 3])
|
|
255
|
-
* const list = toList(set)
|
|
256
|
-
*/
|
|
257
|
-
export function toList(iterable) {
|
|
258
|
-
return arrayList(iterable);
|
|
259
|
-
}
|
|
260
|
-
export function toMap(iterable, keyExtractor, valueExtractor) {
|
|
261
|
-
const map = hashMap();
|
|
262
|
-
for (const item of iterable) {
|
|
263
|
-
const key = keyExtractor(item);
|
|
264
|
-
const value = valueExtractor ? valueExtractor(item) : item;
|
|
265
|
-
map.set(key, value);
|
|
266
|
-
}
|
|
267
|
-
return map;
|
|
268
|
-
}
|
|
269
|
-
// ============================================================================
|
|
270
|
-
// Grouping utilities
|
|
271
|
-
// ============================================================================
|
|
272
|
-
/**
|
|
273
|
-
* Groups elements by a key extractor function.
|
|
274
|
-
*
|
|
275
|
-
* @example
|
|
276
|
-
* const users = [
|
|
277
|
-
* { age: 25, name: 'Alice' },
|
|
278
|
-
* { age: 30, name: 'Bob' },
|
|
279
|
-
* { age: 25, name: 'Charlie' }
|
|
280
|
-
* ]
|
|
281
|
-
* const byAge = groupBy(users, u => u.age)
|
|
282
|
-
* // Map { 25 => [Alice, Charlie], 30 => [Bob] }
|
|
283
|
-
*/
|
|
284
|
-
export function groupBy(iterable, keyExtractor) {
|
|
285
|
-
const map = hashMap();
|
|
286
|
-
for (const item of iterable) {
|
|
287
|
-
const key = keyExtractor(item);
|
|
288
|
-
const list = map.computeIfAbsent(key, () => arrayList());
|
|
289
|
-
list.add(item);
|
|
290
|
-
}
|
|
291
|
-
return map;
|
|
292
|
-
}
|
|
293
|
-
//# sourceMappingURL=factories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factories.js","sourceRoot":"","sources":["../../../src/collections/utils/factories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAY,CAAC;AAE7C,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC;IACnB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAW,CAAC,CAAC,SAAS,EAAK,CAAC,CAAC;QAC1D,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAY,CAAC;AAE9C,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC;IACpB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAY,CAAC,CAAC,UAAU,EAAiB,CAAC,CAAC;QACzE,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAY,CAAC;AAE5C,MAAM,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAiB,CAAC,CAAC,OAAO,EAAQ,CAAC,CAAC;QAChE,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAI,OAAU;IACzC,MAAM,IAAI,GAAG,SAAS,EAAK,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC,QAAQ,EAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAO,GAAM,EAAE,KAAQ;IACjD,MAAM,GAAG,GAAG,OAAO,EAAQ,CAAC;IAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,QAAQ,EAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAI,CAAS,EAAE,OAAU;IAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,EAAK,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,EAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAI,GAAG,QAAa;IACxC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,GAAG,QAAa;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAO,GAAG,OAAiB;IAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAI,GAAG,QAAa;IAC/C,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAO,GAAG,OAAiB;IACrD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAI,GAAG,QAAa;IACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,EAAK,CAAC;IACxB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAO,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,OAAO,CAAC,QAAQ,EAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAO,GAAG,OAAiB;IACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,EAAQ,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC,QAAQ,EAAiB,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,OAAe,CAAC;IAChE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,EAAU,CAAC;IAEjC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAI,OAAqC;IAChE,MAAM,IAAI,GAAG,SAAS,EAAK,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAO,OAAqC;IAClE,MAAM,GAAG,GAAG,OAAO,EAAQ,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAI,QAAqB;IAC7C,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAkBD,MAAM,UAAU,KAAK,CACnB,QAAqB,EACrB,YAA6B,EAC7B,cAAgC;IAEhC,MAAM,GAAG,GAAG,OAAO,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CACrB,QAAqB,EACrB,YAA6B;IAE7B,MAAM,GAAG,GAAG,OAAO,EAAmB,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Common helper utilities for collections.
|
|
3
|
-
*
|
|
4
|
-
* Provides shared functionality to reduce code duplication across implementations.
|
|
5
|
-
*/
|
|
6
|
-
import type { Eq } from "../core/traits.js";
|
|
7
|
-
/**
|
|
8
|
-
* Checks if an index is within valid bounds [0, size).
|
|
9
|
-
* Throws RangeError if out of bounds.
|
|
10
|
-
*
|
|
11
|
-
* @param index The index to check
|
|
12
|
-
* @param size The size of the collection
|
|
13
|
-
* @param collectionName Optional name for error message
|
|
14
|
-
* @throws RangeError if index is out of bounds
|
|
15
|
-
*/
|
|
16
|
-
export declare function checkBounds(index: number, size: number, collectionName?: string): void;
|
|
17
|
-
/**
|
|
18
|
-
* Checks if an index is valid for insertion [0, size].
|
|
19
|
-
* Allows index === size for append operations.
|
|
20
|
-
*
|
|
21
|
-
* @param index The index to check
|
|
22
|
-
* @param size The size of the collection
|
|
23
|
-
* @param collectionName Optional name for error message
|
|
24
|
-
* @throws RangeError if index is out of bounds
|
|
25
|
-
*/
|
|
26
|
-
export declare function checkInsertBounds(index: number, size: number, collectionName?: string): void;
|
|
27
|
-
/**
|
|
28
|
-
* Checks if a range [start, end) is valid.
|
|
29
|
-
*
|
|
30
|
-
* @param start Start index (inclusive)
|
|
31
|
-
* @param end End index (exclusive)
|
|
32
|
-
* @param size The size of the collection
|
|
33
|
-
* @param collectionName Optional name for error message
|
|
34
|
-
* @throws RangeError if range is invalid
|
|
35
|
-
*/
|
|
36
|
-
export declare function checkRangeBounds(start: number, end: number, size: number, collectionName?: string): void;
|
|
37
|
-
/**
|
|
38
|
-
* Finds the index of an element in an array using custom equality.
|
|
39
|
-
*
|
|
40
|
-
* @param array The array to search
|
|
41
|
-
* @param element The element to find
|
|
42
|
-
* @param eq Equality function
|
|
43
|
-
* @returns Index of element, or -1 if not found
|
|
44
|
-
*/
|
|
45
|
-
export declare function findIndex<T>(array: T[], element: T, eq: Eq<T>): number;
|
|
46
|
-
/**
|
|
47
|
-
* Finds the last index of an element in an array using custom equality.
|
|
48
|
-
*
|
|
49
|
-
* @param array The array to search
|
|
50
|
-
* @param element The element to find
|
|
51
|
-
* @param eq Equality function
|
|
52
|
-
* @returns Last index of element, or -1 if not found
|
|
53
|
-
*/
|
|
54
|
-
export declare function findLastIndex<T>(array: T[], element: T, eq: Eq<T>): number;
|
|
55
|
-
/**
|
|
56
|
-
* Checks if an array contains an element using custom equality.
|
|
57
|
-
*
|
|
58
|
-
* @param array The array to search
|
|
59
|
-
* @param element The element to find
|
|
60
|
-
* @param eq Equality function
|
|
61
|
-
* @returns true if element is found
|
|
62
|
-
*/
|
|
63
|
-
export declare function arrayContains<T>(array: T[], element: T, eq: Eq<T>): boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Removes the first occurrence of an element from an array.
|
|
66
|
-
*
|
|
67
|
-
* @param array The array to modify
|
|
68
|
-
* @param element The element to remove
|
|
69
|
-
* @param eq Equality function
|
|
70
|
-
* @returns true if element was found and removed
|
|
71
|
-
*/
|
|
72
|
-
export declare function arrayRemove<T>(array: T[], element: T, eq: Eq<T>): boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Removes all occurrences of an element from an array.
|
|
75
|
-
*
|
|
76
|
-
* @param array The array to modify
|
|
77
|
-
* @param element The element to remove
|
|
78
|
-
* @param eq Equality function
|
|
79
|
-
* @returns Number of elements removed
|
|
80
|
-
*/
|
|
81
|
-
export declare function arrayRemoveAll<T>(array: T[], element: T, eq: Eq<T>): number;
|
|
82
|
-
/**
|
|
83
|
-
* Creates a simple iterator for an array.
|
|
84
|
-
*
|
|
85
|
-
* @param array The array to iterate
|
|
86
|
-
* @returns Iterator over the array
|
|
87
|
-
*/
|
|
88
|
-
export declare function arrayIterator<T>(array: T[]): Iterator<T>;
|
|
89
|
-
/**
|
|
90
|
-
* Creates a reversed iterator for an array.
|
|
91
|
-
*
|
|
92
|
-
* @param array The array to iterate
|
|
93
|
-
* @returns Reversed iterator over the array
|
|
94
|
-
*/
|
|
95
|
-
export declare function reverseArrayIterator<T>(array: T[]): Iterator<T>;
|
|
96
|
-
/**
|
|
97
|
-
* Converts an iterable to an array.
|
|
98
|
-
*
|
|
99
|
-
* @param iterable The iterable to convert
|
|
100
|
-
* @returns Array containing all elements
|
|
101
|
-
*/
|
|
102
|
-
export declare function toArray<T>(iterable: Iterable<T>): T[];
|
|
103
|
-
/**
|
|
104
|
-
* Ensures a value is not null or undefined.
|
|
105
|
-
*
|
|
106
|
-
* @param value The value to check
|
|
107
|
-
* @param message Error message
|
|
108
|
-
* @returns The non-null value
|
|
109
|
-
* @throws Error if value is null or undefined
|
|
110
|
-
*/
|
|
111
|
-
export declare function requireNonNull<T>(value: T | null | undefined, message?: string): T;
|
|
112
|
-
/**
|
|
113
|
-
* Ensures a collection is not empty.
|
|
114
|
-
*
|
|
115
|
-
* @param size Current size
|
|
116
|
-
* @param collectionName Optional name for error message
|
|
117
|
-
* @throws Error if collection is empty
|
|
118
|
-
*/
|
|
119
|
-
export declare function requireNonEmpty(size: number, collectionName?: string): void;
|
|
120
|
-
/**
|
|
121
|
-
* Clamps a value between min and max.
|
|
122
|
-
*
|
|
123
|
-
* @param value The value to clamp
|
|
124
|
-
* @param min Minimum value
|
|
125
|
-
* @param max Maximum value
|
|
126
|
-
* @returns Clamped value
|
|
127
|
-
*/
|
|
128
|
-
export declare function clamp(value: number, min: number, max: number): number;
|
|
129
|
-
/**
|
|
130
|
-
* Calculates hash code for a string.
|
|
131
|
-
* Uses Java's String.hashCode() algorithm.
|
|
132
|
-
*
|
|
133
|
-
* @param str The string to hash
|
|
134
|
-
* @returns Hash code
|
|
135
|
-
*/
|
|
136
|
-
export declare function stringHashCode(str: string): number;
|
|
137
|
-
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/collections/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAM5C;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,MAAqB,GAAG,IAAI,CAIpG;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,MAAqB,GAAG,IAAI,CAI1G;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,MAAqB,GACpC,IAAI,CAMN;AAMD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAOtE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAO1E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAKzE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAS3E;AAMD;;;;;GAKG;AACH,wBAAiB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAEzD;AAED;;;;;GAKG;AACH,wBAAiB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAIhE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAErD;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,GAAE,MAA4C,GAAG,CAAC,CAKvH;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,MAAqB,GAAG,IAAI,CAIzF;AAMD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQlD"}
|