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

Function mapOrSame

packages/effect/src/SchemaAST.ts:3489–3501  ·  view source on GitHub ↗
(as: ReadonlyArray<A>, f: (a: A) => A)

Source from the content-addressed store, hash-verified

3487export function mapOrSame<A>(as: Arr.NonEmptyReadonlyArray<A>, f: (a: A) => A): Arr.NonEmptyReadonlyArray<A>
3488export function mapOrSame<A>(as: ReadonlyArray<A>, f: (a: A) => A): ReadonlyArray<A>
3489export function mapOrSame<A>(as: ReadonlyArray<A>, f: (a: A) => A): ReadonlyArray<A> {
3490 let changed = false
3491 const out: Array<A> = new Array(as.length)
3492 for (let i = 0; i < as.length; i++) {
3493 const a = as[i]
3494 const fa = f(a)
3495 if (fa !== a) {
3496 changed = true
3497 }
3498 out[i] = fa
3499 }
3500 return changed ? out : as
3501}
3502
3503/** @internal */
3504export function annotateKey<A extends AST>(ast: A, annotations: Schema.Annotations.Key<unknown>): A {

Callers 4

_rebuildMethod · 0.85
_rebuildMethod · 0.85
_rebuildMethod · 0.85
_rebuildMethod · 0.85

Calls 1

fFunction · 0.50

Tested by

no test coverage detected