const mkTaggedStruct = <
Name extends LiteralValue,
Fields extends Schema.Struct.Fields
>(
name: Name,
fields: Fields
) => {
const mySt = Schema.TaggedStruct(name, fields);
Schema.encodeSync(mySt); // Argument of type 'TaggedStruct<Name, Fields>' is not assignable to parameter of type 'Schema<Simplify<Type<{ _tag: tag<Name>; } & Fields>>, Simplify<Encoded<{ _tag: tag<Name>; } & Fields, []>>, never>'
return mySt;
};
const MyTs = mkTaggedStruct("SignUpUser", {
email: Schema.String,
password: Schema.String,
});
Schema.encodeSync(MyTs);
const mkTaggedStruct = <
Name extends LiteralValue,
Fields extends Schema.Struct.Fields
>(
name: Name,
fields: Fields
) => {
const mySt = Schema.TaggedStruct(name, fields);
Schema.encodeSync(mySt); // Argument of type 'TaggedStruct<Name, Fields>' is not assignable to parameter of type 'Schema<Simplify<Type<{ _tag: tag<Name>; } & Fields>>, Simplify<Encoded<{ _tag: tag<Name>; } & Fields, []>>, never>'
return mySt;
};
const MyTs = mkTaggedStruct("SignUpUser", {
email: Schema.String,
password: Schema.String,
});
Schema.encodeSync(MyTs);