effect 3.14.5 → 3.14.6

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.
@@ -446,16 +446,17 @@ const go = (ast, $defs, handleIdentifier, path, options) => {
446
446
  let patternProperties = undefined;
447
447
  let propertyNames = undefined;
448
448
  for (const is of ast.indexSignatures) {
449
+ const pruned = pruneUndefined(is.type) ?? is.type;
449
450
  const parameter = is.parameter;
450
451
  switch (parameter._tag) {
451
452
  case "StringKeyword":
452
453
  {
453
- output.additionalProperties = go(is.type, $defs, true, path, options);
454
+ output.additionalProperties = go(pruned, $defs, true, path, options);
454
455
  break;
455
456
  }
456
457
  case "TemplateLiteral":
457
458
  {
458
- patternProperties = go(is.type, $defs, true, path, options);
459
+ patternProperties = go(pruned, $defs, true, path, options);
459
460
  propertyNames = {
460
461
  type: "string",
461
462
  pattern: AST.getTemplateLiteralRegExp(parameter).source
@@ -464,14 +465,14 @@ const go = (ast, $defs, handleIdentifier, path, options) => {
464
465
  }
465
466
  case "Refinement":
466
467
  {
467
- patternProperties = go(is.type, $defs, true, path, options);
468
+ patternProperties = go(pruned, $defs, true, path, options);
468
469
  propertyNames = go(parameter, $defs, true, path, options);
469
470
  break;
470
471
  }
471
472
  case "SymbolKeyword":
472
473
  {
473
474
  const indexSignaturePath = path.concat("[symbol]");
474
- output.additionalProperties = go(is.type, $defs, true, indexSignaturePath, options);
475
+ output.additionalProperties = go(pruned, $defs, true, indexSignaturePath, options);
475
476
  propertyNames = go(parameter, $defs, true, indexSignaturePath, options);
476
477
  break;
477
478
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JSONSchema.js","names":["errors_","_interopRequireWildcard","require","Option","Predicate","Record","AST","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","schema","definitions","ast","isTransformation","isParseJsonTransformation","from","to","jsonSchema","fromAST","out","$schema","$defs","isEmptyRecord","exports","options","definitionPath","getRef","id","target","handleIdentifier","topLevelReferenceStrategy","additionalPropertiesStrategy","go","constNever","constAny","constUnknown","constVoid","constAnyObject","constEmpty","getJsonSchemaAnnotations","annotated","getSomes","description","getDescriptionAnnotation","title","getTitleAnnotation","examples","getExamplesAnnotation","getDefaultAnnotation","removeDefaultJsonSchemaAnnotations","jsonSchemaAnnotations","annotations","TitleAnnotationId","DescriptionAnnotationId","getASTJsonSchemaAnnotations","_tag","stringKeyword","numberKeyword","booleanKeyword","pruneUndefined","isNone","getJSONSchemaAnnotation","SchemaIdAnnotationId","ParseJsonSchemaId","isOverrideAnnotation","isMergeableEnum","len","keys","length","addEnumType","type","enum","every","isString","isNumber","isBoolean","undefined","mergeRefinements","allOf","handle","name","filter","unshift","minLength","maxLength","pattern","minItems","maxItems","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","isContentSchemaSupported","isNullTypeKeywordSupported","isNullableKeywordSupported","getAdditionalProperties","isNeverJSONSchema","$id","isAnyJSONSchema","isUnknownJSONSchema","isVoidJSONSchema","shrink","members","findIndex","path","identifier","getJSONIdentifier","isSome","value","$ref","hook","handler","isRefinement","getTransformationFrom","surrogate","getSurrogateAnnotation","Error","getJSONSchemaMissingAnnotationErrorMessage","literal","elements","map","concat","rest","annotatedAST","output","element","isOptional","items","restLength","head","isHomogeneous","additionalItems","getJSONSchemaUnsupportedPostRestElementsErrorMessage","propertySignatures","indexSignatures","required","properties","additionalProperties","patternProperties","propertyNames","is","parameter","getTemplateLiteralRegExp","source","indexSignaturePath","ps","pruned","push","getJSONSchemaUnsupportedKeyErrorMessage","types","last","anyOf","finalize","nullable","nonNullables","s","nn","nnes","enums","$comment","regex","String","orElse","f","getJSONSchemaMissingIdentifierAnnotationErrorMessage","next","isTypeLiteralTransformation","transformation","getIdentifierAnnotation","IdentifierAnnotationId"],"sources":["../../src/JSONSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"JSONSchema.js","names":["errors_","_interopRequireWildcard","require","Option","Predicate","Record","AST","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","schema","definitions","ast","isTransformation","isParseJsonTransformation","from","to","jsonSchema","fromAST","out","$schema","$defs","isEmptyRecord","exports","options","definitionPath","getRef","id","target","handleIdentifier","topLevelReferenceStrategy","additionalPropertiesStrategy","go","constNever","constAny","constUnknown","constVoid","constAnyObject","constEmpty","getJsonSchemaAnnotations","annotated","getSomes","description","getDescriptionAnnotation","title","getTitleAnnotation","examples","getExamplesAnnotation","getDefaultAnnotation","removeDefaultJsonSchemaAnnotations","jsonSchemaAnnotations","annotations","TitleAnnotationId","DescriptionAnnotationId","getASTJsonSchemaAnnotations","_tag","stringKeyword","numberKeyword","booleanKeyword","pruneUndefined","isNone","getJSONSchemaAnnotation","SchemaIdAnnotationId","ParseJsonSchemaId","isOverrideAnnotation","isMergeableEnum","len","keys","length","addEnumType","type","enum","every","isString","isNumber","isBoolean","undefined","mergeRefinements","allOf","handle","name","filter","unshift","minLength","maxLength","pattern","minItems","maxItems","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","isContentSchemaSupported","isNullTypeKeywordSupported","isNullableKeywordSupported","getAdditionalProperties","isNeverJSONSchema","$id","isAnyJSONSchema","isUnknownJSONSchema","isVoidJSONSchema","shrink","members","findIndex","path","identifier","getJSONIdentifier","isSome","value","$ref","hook","handler","isRefinement","getTransformationFrom","surrogate","getSurrogateAnnotation","Error","getJSONSchemaMissingAnnotationErrorMessage","literal","elements","map","concat","rest","annotatedAST","output","element","isOptional","items","restLength","head","isHomogeneous","additionalItems","getJSONSchemaUnsupportedPostRestElementsErrorMessage","propertySignatures","indexSignatures","required","properties","additionalProperties","patternProperties","propertyNames","is","pruned","parameter","getTemplateLiteralRegExp","source","indexSignaturePath","ps","push","getJSONSchemaUnsupportedKeyErrorMessage","types","last","anyOf","finalize","nullable","nonNullables","s","nn","nnes","enums","$comment","regex","String","orElse","f","getJSONSchemaMissingIdentifierAnnotationErrorMessage","next","isTypeLiteralTransformation","transformation","getIdentifierAnnotation","IdentifierAnnotationId"],"sources":["../../src/JSONSchema.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,97 @@ var _Pipeable = require("./Pipeable.js");
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  /**
14
+ * # MutableHashSet
15
+ *
16
+ * A mutable `MutableHashSet` provides a collection of unique values with
17
+ * efficient lookup, insertion and removal. Unlike its immutable sibling
18
+ * {@link module:HashSet}, a `MutableHashSet` can be modified in-place;
19
+ * operations like add, remove, and clear directly modify the original set
20
+ * rather than creating a new one. This mutability offers benefits like improved
21
+ * performance in scenarios where you need to build or modify a set
22
+ * incrementally.
23
+ *
24
+ * ## What Problem Does It Solve?
25
+ *
26
+ * `MutableHashSet` solves the problem of maintaining an unsorted collection
27
+ * where each value appears exactly once, with fast operations for checking
28
+ * membership and adding/removing values, in contexts where mutability is
29
+ * preferred for performance or implementation simplicity.
30
+ *
31
+ * ## When to Use
32
+ *
33
+ * Use `MutableHashSet` when you need:
34
+ *
35
+ * - A collection with no duplicate values
36
+ * - Efficient membership testing (**`O(1)`** average complexity)
37
+ * - In-place modifications for better performance
38
+ * - A set that will be built or modified incrementally
39
+ * - Local mutability in otherwise immutable code
40
+ *
41
+ * ## Advanced Features
42
+ *
43
+ * MutableHashSet provides operations for:
44
+ *
45
+ * - Adding and removing elements with direct mutation
46
+ * - Checking for element existence
47
+ * - Clearing all elements at once
48
+ * - Converting to/from other collection types
49
+ *
50
+ * ## Performance Characteristics
51
+ *
52
+ * - **Lookup** operations ({@link module:MutableHashSet.has}): **`O(1)`** average
53
+ * time complexity
54
+ * - **Insertion** operations ({@link module:MutableHashSet.add}): **`O(1)`**
55
+ * average time complexity
56
+ * - **Removal** operations ({@link module:MutableHashSet.remove}): **`O(1)`**
57
+ * average time complexity
58
+ * - **Iteration**: **`O(n)`** where n is the size of the set
59
+ *
60
+ * The MutableHashSet data structure implements the following traits:
61
+ *
62
+ * - {@link Iterable}: allows iterating over the values in the set
63
+ * - {@link Pipeable}: allows chaining operations with the pipe operator
64
+ * - {@link Inspectable}: allows inspecting the contents of the set
65
+ *
66
+ * ## Operations Reference
67
+ *
68
+ * | Category | Operation | Description | Complexity |
69
+ * | ------------ | ------------------------------------------ | ----------------------------------- | ---------- |
70
+ * | constructors | {@link module:MutableHashSet.empty} | Creates an empty MutableHashSet | O(1) |
71
+ * | constructors | {@link module:MutableHashSet.fromIterable} | Creates a set from an iterable | O(n) |
72
+ * | constructors | {@link module:MutableHashSet.make} | Creates a set from multiple values | O(n) |
73
+ * | | | | |
74
+ * | elements | {@link module:MutableHashSet.has} | Checks if a value exists in the set | O(1) avg |
75
+ * | elements | {@link module:MutableHashSet.add} | Adds a value to the set | O(1) avg |
76
+ * | elements | {@link module:MutableHashSet.remove} | Removes a value from the set | O(1) avg |
77
+ * | elements | {@link module:MutableHashSet.size} | Gets the number of elements | O(1) |
78
+ * | elements | {@link module:MutableHashSet.clear} | Removes all values from the set | O(1) |
79
+ *
80
+ * ## Notes
81
+ *
82
+ * ### Mutability Considerations:
83
+ *
84
+ * Unlike most data structures in the Effect ecosystem, `MutableHashSet` is
85
+ * mutable. This means that operations like `add`, `remove`, and `clear` modify
86
+ * the original set rather than creating a new one. This can lead to more
87
+ * efficient code in some scenarios, but requires careful handling to avoid
88
+ * unexpected side effects.
89
+ *
90
+ * ### When to Choose `MutableHashSet` vs {@link module:HashSet}:
91
+ *
92
+ * - Use `MutableHashSet` when you need to build or modify a set incrementally and
93
+ * performance is a priority
94
+ * - Use `HashSet` when you want immutability guarantees and functional
95
+ * programming patterns
96
+ * - Consider using {@link module:HashSet}'s bounded mutation context (via
97
+ * {@link module:HashSet.beginMutation}, {@link module:HashSet.endMutation}, and
98
+ * {@link module:HashSet.mutate} methods) when you need temporary mutability
99
+ * within an otherwise immutable context - this approach might be sufficient
100
+ * for many use cases without requiring a separate `MutableHashSet`
101
+ * - `MutableHashSet` is often useful for local operations where the mutability is
102
+ * contained and doesn't leak into the broader application
103
+ *
104
+ * @module MutableHashSet
14
105
  * @since 2.0.0
15
106
  */
16
107
 
@@ -42,48 +133,391 @@ const fromHashMap = keyMap => {
42
133
  return set;
43
134
  };
44
135
  /**
136
+ * Creates an empty mutable hash set.
137
+ *
138
+ * This function initializes and returns an empty `MutableHashSet` instance,
139
+ * which allows for efficient storage and manipulation of unique elements.
140
+ *
141
+ * Time complexity: **`O(1)`**
142
+ *
143
+ * @memberof MutableHashSet
45
144
  * @since 2.0.0
46
145
  * @category constructors
146
+ * @example
147
+ *
148
+ * ```ts
149
+ * import { MutableHashSet } from "effect"
150
+ *
151
+ * type T = unknown // replace with your type
152
+ *
153
+ * // in places where the type can't be inferred, replace with your type
154
+ * const set: MutableHashSet.MutableHashSet<T> = MutableHashSet.empty<T>()
155
+ * ```
156
+ *
157
+ * @template K - The type of the elements to be stored in the hash set. Defaults
158
+ * to `never` if not specified.
159
+ * @returns A new mutable instance of `MutableHashSet` containing no elements
160
+ * for the specified type `K`.
161
+ * @see Other `MutableHashSet` constructors are {@link module:MutableHashSet.make} {@link module:MutableHashSet.fromIterable}
47
162
  */
48
163
  const empty = () => fromHashMap(MutableHashMap.empty());
49
164
  /**
50
165
  * Creates a new `MutableHashSet` from an iterable collection of values.
166
+ * Duplicate values are omitted.
167
+ *
168
+ * Time complexity: **`O(n)`** where n is the number of elements in the iterable
169
+ *
170
+ * Creating a `MutableHashSet` from an {@link Array}
171
+ *
172
+ * ```ts
173
+ * import { MutableHashSet } from "effect"
174
+ *
175
+ * const array: Iterable<number> = [1, 2, 3, 4, 5, 1, 2, 3] // Array<T> is also Iterable<T>
176
+ * const mutableHashSet: MutableHashSet.MutableHashSet<number> =
177
+ * MutableHashSet.fromIterable(array)
178
+ *
179
+ * console.log(
180
+ * // MutableHashSet.MutableHashSet<T> is also an Iterable<T>
181
+ * Array.from(mutableHashSet)
182
+ * ) // Output: [1, 2, 3, 4, 5]
183
+ * ```
184
+ *
185
+ * Creating a `MutableHashSet` from a {@link Set}
186
+ *
187
+ * ```ts
188
+ * import { MutableHashSet, pipe } from "effect"
189
+ *
190
+ * console.log(
191
+ * pipe(
192
+ * // Set<string> is an Iterable<string>
193
+ * new Set(["apple", "banana", "orange", "apple"]),
194
+ * // constructs MutableHashSet from an Iterable Set
195
+ * MutableHashSet.fromIterable,
196
+ * // since MutableHashSet it is itself an Iterable, we can pass it to other functions expecting an Iterable
197
+ * Array.from
198
+ * )
199
+ * ) // Output: ["apple", "banana", "orange"]
200
+ * ```
201
+ *
202
+ * Creating a `MutableHashSet` from a {@link Generator}
203
+ *
204
+ * ```ts
205
+ * import { MutableHashSet } from "effect"
206
+ *
207
+ * // Generator functions return iterables
208
+ * function* fibonacci(n: number): Generator<number, void, never> {
209
+ * let [a, b] = [0, 1]
210
+ * for (let i = 0; i < n; i++) {
211
+ * yield a
212
+ * ;[a, b] = [b, a + b]
213
+ * }
214
+ * }
215
+ *
216
+ * // Create a MutableHashSet from the first 10 Fibonacci numbers
217
+ * const fibonacciSet = MutableHashSet.fromIterable(fibonacci(10))
218
+ *
219
+ * console.log(Array.from(fibonacciSet))
220
+ * // Outputs: [0, 1, 2, 3, 5, 8, 13, 21, 34] but in unsorted order
221
+ * ```
222
+ *
223
+ * Creating a `MutableHashSet` from another {@link module:MutableHashSet}
224
+ *
225
+ * ```ts
226
+ * import { MutableHashSet, pipe } from "effect"
227
+ *
228
+ * console.log(
229
+ * pipe(
230
+ * MutableHashSet.make(1, 2, 3, 4),
231
+ * MutableHashSet.fromIterable,
232
+ * Array.from
233
+ * )
234
+ * ) // Output: [1, 2, 3, 4]
235
+ * ```
236
+ *
237
+ * Creating a `MutableHashSet` from an {@link module:HashSet}
238
+ *
239
+ * ```ts
240
+ * import { HashSet, MutableHashSet, pipe } from "effect"
241
+ *
242
+ * console.log(
243
+ * pipe(
244
+ * HashSet.make(1, 2, 3, 4), // it works also with its immutable HashSet sibling
245
+ * MutableHashSet.fromIterable,
246
+ * Array.from
247
+ * )
248
+ * ) // Output: [1, 2, 3, 4]
249
+ * ```
51
250
  *
251
+ * Creating a `MutableHashSet` from other Effect's data structures like
252
+ * {@link Chunk}
253
+ *
254
+ * ```ts
255
+ * import { Chunk, MutableHashSet, pipe } from "effect"
256
+ *
257
+ * console.log(
258
+ * pipe(
259
+ * Chunk.make(1, 2, 3, 4), // Chunk is also an Iterable<T>
260
+ * MutableHashSet.fromIterable,
261
+ * Array.from
262
+ * )
263
+ * ) // Outputs: [1, 2, 3, 4]
264
+ * ```
265
+ *
266
+ * @memberof MutableHashSet
52
267
  * @since 2.0.0
53
268
  * @category constructors
269
+ * @template K - The type of elements to be stored in the resulting
270
+ * `MutableHashSet`.
271
+ * @param keys - An `Iterable` collection containing the keys to be added to the
272
+ * `MutableHashSet`.
273
+ * @returns A new `MutableHashSet` containing just the unique elements from the
274
+ * provided iterable.
275
+ * @see Other `MutableHashSet` constructors are {@link module:MutableHashSet.empty} {@link module:MutableHashSet.make}
54
276
  */
55
277
  exports.empty = empty;
56
278
  const fromIterable = keys => fromHashMap(MutableHashMap.fromIterable(Array.from(keys).map(k => [k, true])));
57
279
  /**
280
+ * Construct a new `MutableHashSet` from a variable number of values.
281
+ *
282
+ * Time complexity: **`O(n)`** where n is the number of elements
283
+ *
284
+ * @memberof MutableHashSet
58
285
  * @since 2.0.0
59
286
  * @category constructors
287
+ * @example
288
+ *
289
+ * ```ts
290
+ * import { Equal, Hash, MutableHashSet } from "effect"
291
+ * import assert from "node:assert/strict"
292
+ *
293
+ * class Character implements Equal.Equal {
294
+ * readonly name: string
295
+ * readonly trait: string
296
+ *
297
+ * constructor(name: string, trait: string) {
298
+ * this.name = name
299
+ * this.trait = trait
300
+ * }
301
+ *
302
+ * // Define equality based on name, and trait
303
+ * [Equal.symbol](that: Equal.Equal): boolean {
304
+ * if (that instanceof Character) {
305
+ * return (
306
+ * Equal.equals(this.name, that.name) &&
307
+ * Equal.equals(this.trait, that.trait)
308
+ * )
309
+ * }
310
+ * return false
311
+ * }
312
+ *
313
+ * // Generate a hash code based on the sum of the character's name and trait
314
+ * [Hash.symbol](): number {
315
+ * return Hash.hash(this.name + this.trait)
316
+ * }
317
+ *
318
+ * static readonly of = (name: string, trait: string): Character => {
319
+ * return new Character(name, trait)
320
+ * }
321
+ * }
322
+ *
323
+ * const mutableCharacterHashSet = MutableHashSet.make(
324
+ * Character.of("Alice", "Curious"),
325
+ * Character.of("Alice", "Curious"),
326
+ * Character.of("White Rabbit", "Always late"),
327
+ * Character.of("Mad Hatter", "Tea enthusiast")
328
+ * )
329
+ *
330
+ * assert.equal(
331
+ * MutableHashSet.has(
332
+ * mutableCharacterHashSet,
333
+ * Character.of("Alice", "Curious")
334
+ * ),
335
+ * true
336
+ * )
337
+ * assert.equal(
338
+ * MutableHashSet.has(
339
+ * mutableCharacterHashSet,
340
+ * Character.of("Fluffy", "Kind")
341
+ * ),
342
+ * false
343
+ * )
344
+ * ```
345
+ *
346
+ * @see Other `MutableHashSet` constructors are {@link module:MutableHashSet.fromIterable} {@link module:MutableHashSet.empty}
60
347
  */
61
348
  exports.fromIterable = fromIterable;
62
349
  const make = (...keys) => fromIterable(keys);
63
350
  /**
351
+ * **Checks** whether the `MutableHashSet` contains the given element, and
352
+ * **adds** it if not.
353
+ *
354
+ * Time complexity: **`O(1)`** average
355
+ *
356
+ * **Syntax**
357
+ *
358
+ * ```ts
359
+ * import { MutableHashSet, pipe } from "effect"
360
+ *
361
+ * // with data-last, a.k.a. pipeable API
362
+ * pipe(
363
+ * MutableHashSet.empty(),
364
+ * MutableHashSet.add(0),
365
+ * MutableHashSet.add(0)
366
+ * )
367
+ *
368
+ * // or piped with the pipe function
369
+ * MutableHashSet.empty().pipe(MutableHashSet.add(0))
370
+ *
371
+ * // or with data-first API
372
+ * MutableHashSet.add(MutableHashSet.empty(), 0)
373
+ * ```
374
+ *
375
+ * @memberof MutableHashSet
64
376
  * @since 2.0.0
65
377
  * @category elements
378
+ * @see Other `MutableHashSet` elements are {@link module:MutableHashSet.remove} {@link module:MutableHashSet.size} {@link module:MutableHashSet.clear} {@link module:MutableHashSet.has}
66
379
  */
67
380
  exports.make = make;
68
381
  const add = exports.add = /*#__PURE__*/Dual.dual(2, (self, key) => (MutableHashMap.set(self.keyMap, key, true), self));
69
382
  /**
383
+ * Checks if the specified value exists in the `MutableHashSet`.
384
+ *
385
+ * Time complexity: `O(1)` average
386
+ *
387
+ * **Syntax**
388
+ *
389
+ * ```ts
390
+ * import { MutableHashSet, pipe } from "effect"
391
+ * import assert from "node:assert/strict"
392
+ *
393
+ * assert.equal(
394
+ * // with `data-last`, a.k.a. `pipeable` API
395
+ * pipe(MutableHashSet.make(0, 1, 2), MutableHashSet.has(3)),
396
+ * false
397
+ * )
398
+ *
399
+ * assert.equal(
400
+ * // or piped with the pipe function
401
+ * MutableHashSet.make(0, 1, 2).pipe(MutableHashSet.has(3)),
402
+ * false
403
+ * )
404
+ *
405
+ * assert.equal(
406
+ * // or with `data-first` API
407
+ * MutableHashSet.has(MutableHashSet.make(0, 1, 2), 3),
408
+ * false
409
+ * )
410
+ * ```
411
+ *
412
+ * @memberof MutableHashSet
70
413
  * @since 2.0.0
71
414
  * @category elements
415
+ * @see Other `MutableHashSet` elements are {@link module:MutableHashSet.add} {@link module:MutableHashSet.remove} {@link module:MutableHashSet.size} {@link module:MutableHashSet.clear}
72
416
  */
73
417
  const has = exports.has = /*#__PURE__*/Dual.dual(2, (self, key) => MutableHashMap.has(self.keyMap, key));
74
418
  /**
419
+ * Removes a value from the `MutableHashSet`.
420
+ *
421
+ * Time complexity: **`O(1)`** average
422
+ *
423
+ * **Syntax**
424
+ *
425
+ * ```ts
426
+ * import { MutableHashSet, pipe } from "effect"
427
+ * import assert from "node:assert/strict"
428
+ *
429
+ * assert.equal(
430
+ * // with `data-last`, a.k.a. `pipeable` API
431
+ * pipe(
432
+ * MutableHashSet.make(0, 1, 2),
433
+ * MutableHashSet.remove(0),
434
+ * MutableHashSet.has(0)
435
+ * ),
436
+ * false
437
+ * )
438
+ *
439
+ * assert.equal(
440
+ * // or piped with the pipe function
441
+ * MutableHashSet.make(0, 1, 2).pipe(
442
+ * MutableHashSet.remove(0),
443
+ * MutableHashSet.has(0)
444
+ * ),
445
+ * false
446
+ * )
447
+ *
448
+ * assert.equal(
449
+ * // or with `data-first` API
450
+ * MutableHashSet.remove(MutableHashSet.make(0, 1, 2), 0).pipe(
451
+ * MutableHashSet.has(0)
452
+ * ),
453
+ * false
454
+ * )
455
+ * ```
456
+ *
457
+ * @memberof MutableHashSet
75
458
  * @since 2.0.0
76
459
  * @category elements
460
+ * @see Other `MutableHashSet` elements are {@link module:MutableHashSet.add} {@link module:MutableHashSet.has} {@link module:MutableHashSet.size} {@link module:MutableHashSet.clear}
77
461
  */
78
462
  const remove = exports.remove = /*#__PURE__*/Dual.dual(2, (self, key) => (MutableHashMap.remove(self.keyMap, key), self));
79
463
  /**
464
+ * Calculates the number of values in the `HashSet`.
465
+ *
466
+ * Time complexity: **`O(1)`**
467
+ *
468
+ * @memberof MutableHashSet
80
469
  * @since 2.0.0
81
470
  * @category elements
471
+ * @example
472
+ *
473
+ * ```ts
474
+ * import { MutableHashSet } from "effect"
475
+ * import assert from "node:assert/strict"
476
+ *
477
+ * assert.equal(MutableHashSet.size(MutableHashSet.empty()), 0)
478
+ *
479
+ * assert.equal(
480
+ * MutableHashSet.size(MutableHashSet.make(1, 2, 2, 3, 4, 3)),
481
+ * 4
482
+ * )
483
+ * ```
484
+ *
485
+ * @template V - The type of the elements to be stored in the `MutableHashSet`.
486
+ * @param self - The `MutableHashSet` instance for which the size is to be
487
+ * determined.
488
+ * @returns The total number of elements within the `MutableHashSet`.
489
+ * @see Other `MutableHashSet` elements are {@link module:MutableHashSet.add} {@link module:MutableHashSet.has} {@link module:MutableHashSet.remove} {@link module:MutableHashSet.clear}
82
490
  */
83
491
  const size = self => MutableHashMap.size(self.keyMap);
84
492
  /**
493
+ * Removes all values from the `MutableHashSet`.
494
+ *
495
+ * This function operates by delegating the clearing action to the underlying
496
+ * key map associated with the given `MutableHashSet`. It ensures that the hash
497
+ * set becomes empty while maintaining its existence and structure.
498
+ *
499
+ * @memberof MutableHashSet
85
500
  * @since 2.0.0
86
501
  * @category elements
502
+ * @example
503
+ *
504
+ * ```ts
505
+ * import { MutableHashSet, pipe } from "effect"
506
+ * import assert from "node:assert/strict"
507
+ *
508
+ * assert.deepStrictEqual(
509
+ * pipe(
510
+ * MutableHashSet.make(1, 2, 3, 4),
511
+ * MutableHashSet.clear,
512
+ * MutableHashSet.size
513
+ * ),
514
+ * 0
515
+ * )
516
+ * ```
517
+ *
518
+ * @param self - The `MutableHashSet` to clear.
519
+ * @returns The same `MutableHashSet` after all elements have been removed.
520
+ * @see Other `MutableHashSet` elements are {@link module:MutableHashSet.add} {@link module:MutableHashSet.has} {@link module:MutableHashSet.remove} {@link module:MutableHashSet.size}
87
521
  */
88
522
  exports.size = size;
89
523
  const clear = self => (MutableHashMap.clear(self.keyMap), self);
@@ -1 +1 @@
1
- {"version":3,"file":"MutableHashSet.js","names":["Dual","_interopRequireWildcard","require","_Inspectable","MutableHashMap","_Pipeable","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","Symbol","for","MutableHashSetProto","iterator","Array","from","keyMap","map","_","toString","format","toJSON","_id","values","NodeInspectSymbol","pipe","pipeArguments","arguments","fromHashMap","create","empty","exports","fromIterable","keys","k","make","add","dual","self","key","remove","size","clear"],"sources":["../../src/MutableHashSet.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MutableHashSet.js","names":["Dual","_interopRequireWildcard","require","_Inspectable","MutableHashMap","_Pipeable","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","Symbol","for","MutableHashSetProto","iterator","Array","from","keyMap","map","_","toString","format","toJSON","_id","values","NodeInspectSymbol","pipe","pipeArguments","arguments","fromHashMap","create","empty","exports","fromIterable","keys","k","make","add","dual","self","key","remove","size","clear"],"sources":["../../src/MutableHashSet.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}