Open cahman opened 7 months ago
Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch optics-ts@2.4.1 for the project I'm working on.
optics-ts@2.4.1
Here is the diff that solved my problem:
diff --git a/node_modules/optics-ts/utils.d.ts b/node_modules/optics-ts/utils.d.ts index 75da246..c769d97 100644 --- a/node_modules/optics-ts/utils.d.ts +++ b/node_modules/optics-ts/utils.d.ts @@ -2,7 +2,7 @@ export interface NotAnArrayType<T> { readonly _: unique symbol; readonly _t: T; } -export type ElemType<A> = IfElse<IsOptional<A>, NotAnArrayType<A>, A extends (infer Item)[] ? Item : NotAnArrayType<A>>; +export type ElemType<A> = IfElse<IsOptional<A>, NotAnArrayType<A>, A extends (infer Item)[] ? Item : A extends readonly (infer Item)[] ? Item : NotAnArrayType<A>>; export type Eq<A, B> = [A, B] extends [B, A] ? true : false; export type Simplify<A, B> = Eq<A, B> extends true ? A : B; export type IsOptional<A> = Or<ExtendsUndefined<A>, ExtendsNull<A>>;
This issue body was partially generated by patch-package.
We are also running into the same thing, it would be great if optics-ts would support readonly arrays.
Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch
optics-ts@2.4.1
for the project I'm working on.Here is the diff that solved my problem:
This issue body was partially generated by patch-package.