Skip to content

Commit b305823

Browse files
authored
fix(api): fn in OpaqueRef.map(fn) gets OpaqueRef arguments (#1937)
1 parent e52bf31 commit b305823

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

packages/api/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ export interface OpaqueRefMethods<T> {
6060
setSchema(schema: JSONSchema): void;
6161
map<S>(
6262
fn: (
63-
element: T extends Array<infer U> ? Opaque<U> : Opaque<T>,
64-
index: Opaque<number>,
65-
array: T,
63+
element: T extends Array<infer U> ? OpaqueRef<U> : OpaqueRef<T>,
64+
index: OpaqueRef<number>,
65+
array: OpaqueRef<T>,
6666
) => Opaque<S>,
67-
): Opaque<S[]>;
67+
): OpaqueRef<S[]>;
6868
}
6969

7070
// Factory types

packages/runner/src/builder/opaque-ref.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ export function opaqueRef<T>(
120120
},
121121
map: <S>(
122122
fn: (
123-
element: Opaque<Required<T extends Array<infer U> ? U : T>>,
124-
index: Opaque<number>,
123+
element: OpaqueRef<Required<T extends Array<infer U> ? U : T>>,
124+
index: OpaqueRef<number>,
125125
array: T,
126126
) => Opaque<S>,
127127
) => {

packages/runner/src/builder/types.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,11 @@ declare module "@commontools/api" {
123123
unsafe_getExternal(): OpaqueRef<T>;
124124
map<S>(
125125
fn: (
126-
element: T extends Array<infer U> ? Opaque<U> : Opaque<T>,
127-
index: Opaque<number>,
128-
array: T,
126+
element: T extends Array<infer U> ? OpaqueRef<U> : OpaqueRef<T>,
127+
index: OpaqueRef<number>,
128+
array: OpaqueRef<T>,
129129
) => Opaque<S>,
130-
): Opaque<S[]>;
130+
): OpaqueRef<S[]>;
131131
toJSON(): unknown;
132132
[Symbol.iterator](): Iterator<T>;
133133
[Symbol.toPrimitive](hint: string): T;

packages/static/assets/types/commontools.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export interface OpaqueRefMethods<T> {
3535
setDefault(value: Opaque<T> | T): void;
3636
setName(name: string): void;
3737
setSchema(schema: JSONSchema): void;
38-
map<S>(fn: (element: T extends Array<infer U> ? Opaque<U> : Opaque<T>, index: Opaque<number>, array: T) => Opaque<S>): Opaque<S[]>;
38+
map<S>(fn: (element: T extends Array<infer U> ? OpaqueRef<U> : OpaqueRef<T>, index: OpaqueRef<number>, array: OpaqueRef<T>) => Opaque<S>): OpaqueRef<S[]>;
3939
}
4040
export interface Recipe {
4141
argumentSchema: JSONSchema;

0 commit comments

Comments
 (0)