MCPcopy Create free account
hub / github.com/Effect-TS/effect / hashBucketsAdd

Function hashBucketsAdd

packages/effect/src/Array.ts:3081–3096  ·  view source on GitHub ↗
(buckets: HashBuckets, value: unknown)

Source from the content-addressed store, hash-verified

3079type HashBuckets = Map<number, Array<unknown>>
3080
3081const hashBucketsAdd = (buckets: HashBuckets, value: unknown): boolean => {
3082 const hash = Hash.hash(value)
3083 const bucket = buckets.get(hash)
3084 if (bucket === undefined) {
3085 buckets.set(hash, [value])
3086 return true
3087 }
3088 // Hash collisions still require an Effect equality check.
3089 for (const previous of bucket) {
3090 if (Equal.equals(previous, value)) {
3091 return false
3092 }
3093 }
3094 bucket.push(value)
3095 return true
3096}
3097
3098const makeHashBuckets = (values: Iterable<unknown>): HashBuckets => {
3099 const buckets: HashBuckets = new Map()

Callers 2

makeHashBucketsFunction · 0.85
dedupeFunction · 0.85

Calls 4

equalsMethod · 0.80
pushMethod · 0.80
getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected