Transforming a recursive schema in TypeScript can lead to redeclaration errors if the schema is r...

How to do transformation with recursive schema?
I tried this but got redeclare errors
export const ModuleFromApi = Schema.transform(ModuleApi, Module, {
    strict: true,
    decode: (moduleApi) => ({
        id: moduleApi.id,
        parentId: moduleApi.parent_id,
        children: moduleApi.children.map((moduleApi) =>
            Schema.decodeUnknownSync(ModuleFromApi)(moduleApi),
        ),
    }),
    encode: (_module) => ({
        id: _module.id,
        parent_id: _module.parentId,
        children: _module.children.map((module) =>
            Schema.encodeUnknownSync(ModuleFromApi)(module),
        ),
    }),
});
Was this page helpful?