Implementation of getPropertySignatures in user land
Is this still required to be implemented in user land?
// https://github.com/Effect-TS/schema/releases/tag/v0.18.0
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const getPropertySignatures = <I extends { [K in keyof A]: any }, A>(
schema: S.Schema<I, A>,
): { [K in keyof A]: S.Schema<I[K], A[K]> } => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const out: Record<PropertyKey, S.Schema<any>> = {};
const propertySignatures = AST.getPropertySignatures(schema.ast);
for (let i = 0; i < propertySignatures.length; i++) {
const propertySignature = propertySignatures[i];
out[propertySignature.name] = make(propertySignature.type);
}
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any
return out as any;
};// https://github.com/Effect-TS/schema/releases/tag/v0.18.0
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const getPropertySignatures = <I extends { [K in keyof A]: any }, A>(
schema: S.Schema<I, A>,
): { [K in keyof A]: S.Schema<I[K], A[K]> } => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const out: Record<PropertyKey, S.Schema<any>> = {};
const propertySignatures = AST.getPropertySignatures(schema.ast);
for (let i = 0; i < propertySignatures.length; i++) {
const propertySignature = propertySignatures[i];
out[propertySignature.name] = make(propertySignature.type);
}
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any
return out as any;
};