Validating Data Against TypeScript Schemas in Effect Library
Hi . i have these schema
how can i validate data against these schema, i just want to check whether passed data matches with schema or not?
export class ServerSuccessResponse extends Schema.Class<ServerSuccessResponse>('schema:server_success_response')({
data: Schema.optional(Schema.NullishOr(Schema.Any)),
status: Schema.Number,
message: Schema.optional(Schema.NullishOr(Schema.String)),
}) {
schemaDataJson<A, I, R>(schema: Schema.Schema<A, I, R>, options?: SchemaAST.ParseOptions | undefined) {
Effect.flatMap(this.data, Schema.decodeUnknown(schema, options))
}
}
export class ServerErrorResponse extends Schema.Class<ServerErrorResponse>('schema:server_error_response')({
error: Schema.Struct({
status: Schema.Number,
message: Schema.String,
code: Schema.String,
data: Schema.optional(Schema.NullishOr(Schema.Any)),
}),
}) {
schemaDataJson<A, I, R>(schema: Schema.Schema<A, I, R>, options?: SchemaAST.ParseOptions | undefined) {
Effect.flatMap(this.error.data, Schema.decodeUnknown(schema, options))
}
}export class ServerSuccessResponse extends Schema.Class<ServerSuccessResponse>('schema:server_success_response')({
data: Schema.optional(Schema.NullishOr(Schema.Any)),
status: Schema.Number,
message: Schema.optional(Schema.NullishOr(Schema.String)),
}) {
schemaDataJson<A, I, R>(schema: Schema.Schema<A, I, R>, options?: SchemaAST.ParseOptions | undefined) {
Effect.flatMap(this.data, Schema.decodeUnknown(schema, options))
}
}
export class ServerErrorResponse extends Schema.Class<ServerErrorResponse>('schema:server_error_response')({
error: Schema.Struct({
status: Schema.Number,
message: Schema.String,
code: Schema.String,
data: Schema.optional(Schema.NullishOr(Schema.Any)),
}),
}) {
schemaDataJson<A, I, R>(schema: Schema.Schema<A, I, R>, options?: SchemaAST.ParseOptions | undefined) {
Effect.flatMap(this.error.data, Schema.decodeUnknown(schema, options))
}
}how can i validate data against these schema, i just want to check whether passed data matches with schema or not?
