/** biome-ignore-all lint/complexity/useArrowFunction: necessary for class prototypes */ import { type Equivalence, Function, Predicate } from "effect" import type * as Component from "./Component.js" export const TypeId: unique symbol = Symbol.for("effect-fc/Memoized") export type TypeId = typeof TypeId export interface Memoized
extends Memoized.Options
{ readonly [TypeId]: TypeId } export namespace Memoized { export interface Options
{ readonly propsAreEqual?: Equivalence.Equivalence
}
}
const MemoizedProto = Object.freeze({
[TypeId]: TypeId
} as const)
export const isMemoized = (u: unknown): u is Memoized