TypeScript Error: Implicit 'any' in SQL Insert Example

effect/sql readme examples to not work:

import { Effect, Schema } from 'effect';
import { SqlClient, SqlResolver } from '@effect/sql';

class Person extends Schema.Class<Person>('Person')({
    id       : Schema.Number,
    name     : Schema.String,
    createdAt: Schema.DateFromSelf,
    updatedAt: Schema.DateFromSelf
}) {
}

const InsertPersonSchema = Schema.Struct(
    Person.fields
).pipe(
    Schema.omit('id')
);

export const makePersonService = Effect.gen(function* () {
    const sql = yield* SqlClient.SqlClient;

    const InsertPerson = yield* SqlResolver.ordered('InsertPerson', {
        Request: InsertPersonSchema,
        Result : Person,
        execute: (requests) =>
            sql`INSERT INTO people ${sql.insert(requests)} RETURNING people.*`
    });

    const insert = InsertPerson.execute;

    return { insert };
});


Gives TS7022: InsertPerson implicitly has type any because it does not have a type annotation and is referenced directly or indirectly in its own initializer. on const InsertPerson and TS7022: insert implicitly has type any because it does not have a type annotation and is referenced directly or indirectly in its own initializer. on const insert
Was this page helpful?