import { Effect } from "@effect/io/Effect"; import { Opt } from "@effect-ts-app/core/Option"; export declare function assertUnreachable(x: never): never; export type OptPromise any> = (...args: Parameters) => Promise> | ReturnType; export declare const typedValuesOf: (obj: Record) => readonly T2[]; export declare function access(t: Record): (key: T) => T2; export declare function todayAtUTCNoon(): Date; /** * @tsplus getter Object $$ * @tsplus getter number $$ * @tsplus getter bigint $$ * @tsplus getter boolean $$ * @tsplus getter regexp $$ * @tsplus getter string $$ * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function anyOp$(self: T): AnyOps; /** * @tsplus type Any.Ops * @tsplus type Object.Ops */ export interface AnyOps { subject: T; } /** * @tsplus fluent effect/io/Effect debug * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function Effect_debug(self: Effect, name: string): import("@effect/io/Effect").Effect; /** * @tsplus fluent effect/io/Effect debugUnsafe * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function Effect_debugUnsafe(self: Effect, name: string): import("@effect/io/Effect").Effect; /** * @tsplus fluent Any.Ops debug * @tsplus fluent Object.Ops debug * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function debug(a: AnyOps, name: string): import("@effect/io/Effect").Effect; /** * @tsplus fluent Any.Ops debugUnsafe * @tsplus fluent Object.Ops debugUnsafe * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function debugUnsafe(a: AnyOps, name: string): A; export declare function spread, NewProps>(props: Props, fnc: (props: Props) => NewProps): NewProps; export declare function spreadS>(props: Props, fnc: (props: Props) => Props): Props; type Key = T extends Record ? TKey : never; type Values = T extends { [s: string]: infer S; } ? S : any; declare function object_$(self: T): { readonly subject: T; spread

(this: void, fnc: (t: T) => P): P; spreadS(this: void, fnc: (t: T) => T): T; }; type BasicObjectOps = ReturnType>; /** * @tsplus getter Object $$ * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function object$(self: T): ObjectOps; /** * @tsplus type Object.Ops */ export interface ObjectOps extends BasicObjectOps { } /** * @tsplus getter Object.Ops entries * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function RecordEntries(o: ObjectOps): [Key, Values][]; /** * @tsplus getter Object.Ops keys * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function RecordKeys(o: ObjectOps): (keyof TT)[]; /** * @tsplus getter Object.Ops values * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function RecordValues(o: ObjectOps): Values[]; /** * @tsplus getter Any.Ops pretty * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function AnyPretty(o: AnyOps): string; /** * @tsplus getter Object.Ops pretty * @tsplus location "@effect-ts-app/boilerplate-prelude/utils" */ export declare function RecordPretty(o: ObjectOps): string; export declare function makeAzureFriendly(path: string): string; export declare function undoAzureFriendly(path: T): T; export declare function arrayMove(arrInput: readonly T[], oldIndex: number, newIndex: number): (T | undefined)[]; export declare function arrayMoveDropUndefined(arrInput: readonly (T | undefined)[], oldIndex: number, newIndex: number): T[]; export declare function arMoveElDropUndefined(el: T, newIndex: number): (arrInput: ReadonlyArray) => Opt>; export declare function setMoveElDropUndefined(el: T, newIndex: number): (arrInput: ReadonlySet) => Opt>; export * from "@effect-ts-app/core/utils"; export { default as get } from "lodash/get.js"; export { default as omit } from "lodash/omit.js"; export { default as pick } from "lodash/pick.js"; export type DistributiveOmit = T extends any ? Omit : never; type RemoveNonArray = T extends readonly any[] ? T : never; export declare function isNativeTuple(a: A): a is RemoveNonArray; export declare const LazySymbol: unique symbol; export declare function lazyGetter(creator: (target: T) => T2): (target: T) => T2; export declare function exhaustiveMatch(): any>>(handlers: Out) => (t: T) => ReturnType; export declare function exhaustiveMatch_(t: T): any>>(handlers: Out) => ReturnType; //# sourceMappingURL=utils.d.ts.map