@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.
Files changed (241) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +4 -4
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/browser.d.ts +1 -1
  5. package/dist/browser.d.ts.map +1 -1
  6. package/dist/browser.js.map +1 -1
  7. package/dist/procedures/invoke.d.ts +6 -1
  8. package/dist/procedures/invoke.d.ts.map +1 -1
  9. package/dist/procedures/invoke.js +2 -2
  10. package/dist/procedures/invoke.js.map +1 -1
  11. package/dist/procedures/schema.d.ts +4 -1
  12. package/dist/procedures/schema.d.ts.map +1 -1
  13. package/dist/procedures/schema.js +27 -2
  14. package/dist/procedures/schema.js.map +1 -1
  15. package/dist/server/host-policy.d.ts +3 -3
  16. package/dist/server/host-policy.d.ts.map +1 -1
  17. package/dist/server/procedure-server.d.ts +2 -2
  18. package/dist/server/procedure-server.d.ts.map +1 -1
  19. package/dist/server/procedure-server.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/browser.ts +1 -0
  22. package/src/procedures/invoke.ts +10 -4
  23. package/src/procedures/schema.ts +27 -2
  24. package/src/server/host-policy.ts +3 -3
  25. package/src/server/procedure-server.ts +2 -2
  26. package/dist/client/middleware/batching.d.ts +0 -102
  27. package/dist/client/middleware/batching.d.ts.map +0 -1
  28. package/dist/client/middleware/batching.js +0 -245
  29. package/dist/client/middleware/batching.js.map +0 -1
  30. package/dist/collections/async/async-queue.d.ts +0 -144
  31. package/dist/collections/async/async-queue.d.ts.map +0 -1
  32. package/dist/collections/async/async-queue.js +0 -347
  33. package/dist/collections/async/async-queue.js.map +0 -1
  34. package/dist/collections/async/channels.d.ts +0 -188
  35. package/dist/collections/async/channels.d.ts.map +0 -1
  36. package/dist/collections/async/channels.js +0 -312
  37. package/dist/collections/async/channels.js.map +0 -1
  38. package/dist/collections/behaviors/bounded.d.ts +0 -79
  39. package/dist/collections/behaviors/bounded.d.ts.map +0 -1
  40. package/dist/collections/behaviors/bounded.js +0 -384
  41. package/dist/collections/behaviors/bounded.js.map +0 -1
  42. package/dist/collections/behaviors/evented.d.ts +0 -154
  43. package/dist/collections/behaviors/evented.d.ts.map +0 -1
  44. package/dist/collections/behaviors/evented.js +0 -299
  45. package/dist/collections/behaviors/evented.js.map +0 -1
  46. package/dist/collections/behaviors/lru.d.ts +0 -84
  47. package/dist/collections/behaviors/lru.d.ts.map +0 -1
  48. package/dist/collections/behaviors/lru.js +0 -330
  49. package/dist/collections/behaviors/lru.js.map +0 -1
  50. package/dist/collections/behaviors/readonly.d.ts +0 -73
  51. package/dist/collections/behaviors/readonly.d.ts.map +0 -1
  52. package/dist/collections/behaviors/readonly.js +0 -158
  53. package/dist/collections/behaviors/readonly.js.map +0 -1
  54. package/dist/collections/behaviors/safe.d.ts +0 -163
  55. package/dist/collections/behaviors/safe.d.ts.map +0 -1
  56. package/dist/collections/behaviors/safe.js +0 -172
  57. package/dist/collections/behaviors/safe.js.map +0 -1
  58. package/dist/collections/behaviors/synchronized.d.ts +0 -88
  59. package/dist/collections/behaviors/synchronized.d.ts.map +0 -1
  60. package/dist/collections/behaviors/synchronized.js +0 -294
  61. package/dist/collections/behaviors/synchronized.js.map +0 -1
  62. package/dist/collections/behaviors/ttl.d.ts +0 -118
  63. package/dist/collections/behaviors/ttl.d.ts.map +0 -1
  64. package/dist/collections/behaviors/ttl.js +0 -338
  65. package/dist/collections/behaviors/ttl.js.map +0 -1
  66. package/dist/collections/core/effects.d.ts +0 -176
  67. package/dist/collections/core/effects.d.ts.map +0 -1
  68. package/dist/collections/core/effects.js +0 -180
  69. package/dist/collections/core/effects.js.map +0 -1
  70. package/dist/collections/core/events.d.ts +0 -192
  71. package/dist/collections/core/events.d.ts.map +0 -1
  72. package/dist/collections/core/events.js +0 -291
  73. package/dist/collections/core/events.js.map +0 -1
  74. package/dist/collections/core/middleware.d.ts +0 -231
  75. package/dist/collections/core/middleware.d.ts.map +0 -1
  76. package/dist/collections/core/middleware.js +0 -161
  77. package/dist/collections/core/middleware.js.map +0 -1
  78. package/dist/collections/core/policies.d.ts +0 -220
  79. package/dist/collections/core/policies.d.ts.map +0 -1
  80. package/dist/collections/core/policies.js +0 -48
  81. package/dist/collections/core/policies.js.map +0 -1
  82. package/dist/collections/core/traits.d.ts +0 -142
  83. package/dist/collections/core/traits.d.ts.map +0 -1
  84. package/dist/collections/core/traits.js +0 -8
  85. package/dist/collections/core/traits.js.map +0 -1
  86. package/dist/collections/examples.d.ts +0 -13
  87. package/dist/collections/examples.d.ts.map +0 -1
  88. package/dist/collections/examples.js +0 -302
  89. package/dist/collections/examples.js.map +0 -1
  90. package/dist/collections/fx/collectors.d.ts +0 -190
  91. package/dist/collections/fx/collectors.d.ts.map +0 -1
  92. package/dist/collections/fx/collectors.js +0 -369
  93. package/dist/collections/fx/collectors.js.map +0 -1
  94. package/dist/collections/fx/iter.d.ts +0 -166
  95. package/dist/collections/fx/iter.d.ts.map +0 -1
  96. package/dist/collections/fx/iter.js +0 -421
  97. package/dist/collections/fx/iter.js.map +0 -1
  98. package/dist/collections/impl/array-deque.d.ts +0 -107
  99. package/dist/collections/impl/array-deque.d.ts.map +0 -1
  100. package/dist/collections/impl/array-deque.js +0 -381
  101. package/dist/collections/impl/array-deque.js.map +0 -1
  102. package/dist/collections/impl/array-list.d.ts +0 -101
  103. package/dist/collections/impl/array-list.d.ts.map +0 -1
  104. package/dist/collections/impl/array-list.js +0 -387
  105. package/dist/collections/impl/array-list.js.map +0 -1
  106. package/dist/collections/impl/hash-map.d.ts +0 -141
  107. package/dist/collections/impl/hash-map.d.ts.map +0 -1
  108. package/dist/collections/impl/hash-map.js +0 -450
  109. package/dist/collections/impl/hash-map.js.map +0 -1
  110. package/dist/collections/impl/hash-set.d.ts +0 -125
  111. package/dist/collections/impl/hash-set.d.ts.map +0 -1
  112. package/dist/collections/impl/hash-set.js +0 -264
  113. package/dist/collections/impl/hash-set.js.map +0 -1
  114. package/dist/collections/impl/linked-hash-map.d.ts +0 -141
  115. package/dist/collections/impl/linked-hash-map.d.ts.map +0 -1
  116. package/dist/collections/impl/linked-hash-map.js +0 -472
  117. package/dist/collections/impl/linked-hash-map.js.map +0 -1
  118. package/dist/collections/impl/linked-list.d.ts +0 -109
  119. package/dist/collections/impl/linked-list.d.ts.map +0 -1
  120. package/dist/collections/impl/linked-list.js +0 -491
  121. package/dist/collections/impl/linked-list.js.map +0 -1
  122. package/dist/collections/impl/priority-queue.d.ts +0 -134
  123. package/dist/collections/impl/priority-queue.d.ts.map +0 -1
  124. package/dist/collections/impl/priority-queue.js +0 -336
  125. package/dist/collections/impl/priority-queue.js.map +0 -1
  126. package/dist/collections/impl/tree-map.d.ts +0 -146
  127. package/dist/collections/impl/tree-map.d.ts.map +0 -1
  128. package/dist/collections/impl/tree-map.js +0 -781
  129. package/dist/collections/impl/tree-map.js.map +0 -1
  130. package/dist/collections/impl/tree-set.d.ts +0 -112
  131. package/dist/collections/impl/tree-set.d.ts.map +0 -1
  132. package/dist/collections/impl/tree-set.js +0 -374
  133. package/dist/collections/impl/tree-set.js.map +0 -1
  134. package/dist/collections/index.d.ts +0 -105
  135. package/dist/collections/index.d.ts.map +0 -1
  136. package/dist/collections/index.js +0 -135
  137. package/dist/collections/index.js.map +0 -1
  138. package/dist/collections/interfaces/collection.d.ts +0 -119
  139. package/dist/collections/interfaces/collection.d.ts.map +0 -1
  140. package/dist/collections/interfaces/collection.js +0 -8
  141. package/dist/collections/interfaces/collection.js.map +0 -1
  142. package/dist/collections/interfaces/list.d.ts +0 -247
  143. package/dist/collections/interfaces/list.d.ts.map +0 -1
  144. package/dist/collections/interfaces/list.js +0 -8
  145. package/dist/collections/interfaces/list.js.map +0 -1
  146. package/dist/collections/interfaces/map.d.ts +0 -344
  147. package/dist/collections/interfaces/map.d.ts.map +0 -1
  148. package/dist/collections/interfaces/map.js +0 -8
  149. package/dist/collections/interfaces/map.js.map +0 -1
  150. package/dist/collections/interfaces/queue.d.ts +0 -304
  151. package/dist/collections/interfaces/queue.d.ts.map +0 -1
  152. package/dist/collections/interfaces/queue.js +0 -8
  153. package/dist/collections/interfaces/queue.js.map +0 -1
  154. package/dist/collections/interfaces/set.d.ts +0 -137
  155. package/dist/collections/interfaces/set.d.ts.map +0 -1
  156. package/dist/collections/interfaces/set.js +0 -8
  157. package/dist/collections/interfaces/set.js.map +0 -1
  158. package/dist/collections/storage/api.d.ts +0 -109
  159. package/dist/collections/storage/api.d.ts.map +0 -1
  160. package/dist/collections/storage/api.js +0 -182
  161. package/dist/collections/storage/api.js.map +0 -1
  162. package/dist/collections/storage/hybrid.d.ts +0 -164
  163. package/dist/collections/storage/hybrid.d.ts.map +0 -1
  164. package/dist/collections/storage/hybrid.js +0 -416
  165. package/dist/collections/storage/hybrid.js.map +0 -1
  166. package/dist/collections/storage/index.d.ts +0 -16
  167. package/dist/collections/storage/index.d.ts.map +0 -1
  168. package/dist/collections/storage/index.js +0 -13
  169. package/dist/collections/storage/index.js.map +0 -1
  170. package/dist/collections/storage/interface.d.ts +0 -141
  171. package/dist/collections/storage/interface.d.ts.map +0 -1
  172. package/dist/collections/storage/interface.js +0 -23
  173. package/dist/collections/storage/interface.js.map +0 -1
  174. package/dist/collections/storage/memory.d.ts +0 -68
  175. package/dist/collections/storage/memory.d.ts.map +0 -1
  176. package/dist/collections/storage/memory.js +0 -154
  177. package/dist/collections/storage/memory.js.map +0 -1
  178. package/dist/collections/utils/defaults.d.ts +0 -135
  179. package/dist/collections/utils/defaults.d.ts.map +0 -1
  180. package/dist/collections/utils/defaults.js +0 -322
  181. package/dist/collections/utils/defaults.js.map +0 -1
  182. package/dist/collections/utils/factories.d.ts +0 -144
  183. package/dist/collections/utils/factories.d.ts.map +0 -1
  184. package/dist/collections/utils/factories.js +0 -293
  185. package/dist/collections/utils/factories.js.map +0 -1
  186. package/dist/collections/utils/helpers.d.ts +0 -137
  187. package/dist/collections/utils/helpers.d.ts.map +0 -1
  188. package/dist/collections/utils/helpers.js +0 -221
  189. package/dist/collections/utils/helpers.js.map +0 -1
  190. package/dist/collections.d.ts +0 -12
  191. package/dist/collections.d.ts.map +0 -1
  192. package/dist/collections.js +0 -10
  193. package/dist/collections.js.map +0 -1
  194. package/dist/components/define.d.ts +0 -134
  195. package/dist/components/define.d.ts.map +0 -1
  196. package/dist/components/define.js +0 -486
  197. package/dist/components/define.js.map +0 -1
  198. package/dist/components/index.d.ts +0 -39
  199. package/dist/components/index.d.ts.map +0 -1
  200. package/dist/components/index.js +0 -38
  201. package/dist/components/index.js.map +0 -1
  202. package/dist/components/types.d.ts +0 -264
  203. package/dist/components/types.d.ts.map +0 -1
  204. package/dist/components/types.js +0 -46
  205. package/dist/components/types.js.map +0 -1
  206. package/dist/procedures/storage/adapter.d.ts +0 -148
  207. package/dist/procedures/storage/adapter.d.ts.map +0 -1
  208. package/dist/procedures/storage/adapter.js +0 -214
  209. package/dist/procedures/storage/adapter.js.map +0 -1
  210. package/dist/procedures/storage/api.d.ts +0 -125
  211. package/dist/procedures/storage/api.d.ts.map +0 -1
  212. package/dist/procedures/storage/api.js +0 -220
  213. package/dist/procedures/storage/api.js.map +0 -1
  214. package/dist/procedures/storage/factory.d.ts +0 -134
  215. package/dist/procedures/storage/factory.d.ts.map +0 -1
  216. package/dist/procedures/storage/factory.js +0 -166
  217. package/dist/procedures/storage/factory.js.map +0 -1
  218. package/dist/procedures/storage/hybrid.d.ts +0 -193
  219. package/dist/procedures/storage/hybrid.d.ts.map +0 -1
  220. package/dist/procedures/storage/hybrid.js +0 -519
  221. package/dist/procedures/storage/hybrid.js.map +0 -1
  222. package/dist/procedures/storage/index.d.ts +0 -17
  223. package/dist/procedures/storage/index.d.ts.map +0 -1
  224. package/dist/procedures/storage/index.js +0 -17
  225. package/dist/procedures/storage/index.js.map +0 -1
  226. package/dist/procedures/storage/procedures.d.ts +0 -39
  227. package/dist/procedures/storage/procedures.d.ts.map +0 -1
  228. package/dist/procedures/storage/procedures.js +0 -261
  229. package/dist/procedures/storage/procedures.js.map +0 -1
  230. package/dist/procedures/storage/serialization.d.ts +0 -123
  231. package/dist/procedures/storage/serialization.d.ts.map +0 -1
  232. package/dist/procedures/storage/serialization.js +0 -216
  233. package/dist/procedures/storage/serialization.js.map +0 -1
  234. package/dist/procedures/storage/synced-registry.d.ts +0 -246
  235. package/dist/procedures/storage/synced-registry.d.ts.map +0 -1
  236. package/dist/procedures/storage/synced-registry.js +0 -575
  237. package/dist/procedures/storage/synced-registry.js.map +0 -1
  238. package/dist/procedures/storage/types.d.ts +0 -130
  239. package/dist/procedures/storage/types.d.ts.map +0 -1
  240. package/dist/procedures/storage/types.js +0 -8
  241. 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":"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"}
@@ -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"}