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

Function copyToArray

packages/effect/src/Chunk.ts:352–378  ·  view source on GitHub ↗
(self: Chunk<A>, array: Array<any>, initial: number)

Source from the content-addressed store, hash-verified

350 isChunk(self) ? self : fromArrayUnsafe(RA.fromIterable(self))
351
352const copyToArray = <A>(self: Chunk<A>, array: Array<any>, initial: number): void => {
353 switch (self.backing._tag) {
354 case "IArray": {
355 copy(self.backing.array, 0, array, initial, self.length)
356 break
357 }
358 case "IConcat": {
359 copyToArray(self.left, array, initial)
360 copyToArray(self.right, array, initial + self.left.length)
361 break
362 }
363 case "ISingleton": {
364 array[initial] = self.backing.a
365 break
366 }
367 case "ISlice": {
368 let i = 0
369 let j = initial
370 while (i < self.length) {
371 array[j] = getUnsafe(self, i)
372 i += 1
373 j += 1
374 }
375 break
376 }
377 }
378}
379
380const toArray_ = <A>(self: Chunk<A>): Array<A> => toReadonlyArray(self).slice()
381

Callers 1

toReadonlyArray_Function · 0.85

Calls 2

copyFunction · 0.70
getUnsafeFunction · 0.70

Tested by

no test coverage detected