© 2026 Hedgehog Software, LLC
const commonData = { common: 'data' } as const; type CommonData = typeof commonData; type TypeA<Data extends CommonData> = { a: Data }; type TypeB<Data extends CommonData> = { b: Data }; const makeTypeA = <Data extends CommonData>(data: Data): TypeA<Data> => ({ a: data }); const makeTypeB = <Data extends CommonData>(typeA: TypeA<Data>): TypeB<Data> => ({ b: typeA.a }); const typeA1 = makeTypeA({ common: 'data', 1: 1 }); const typeA2 = makeTypeA({ common: 'data', 2: 2 }); const typeAList = [typeA1, typeA2]; const typeBList = typeAList.map(makeTypeB);
Property '1' is missing in type '{ common: "data"; 2: number; }' but required in type '{ common: "data"; 1: number; }'
Pipeable
ReadonlyArray