Skip to content

Consider accepting model types as explicit parameters #20

@kmahar

Description

@kmahar

Some feedback based on the examples in the pitch for the SSWG incubation process: for the API methods that allow returning a model object, it seems worth considering accepting the model type as an explicit parameter, for example something like:

let result = try await session.query("select * from table ...", withModelType: Model.self)

While the type annotations get the job done, I think the explicit parameter is more discoverable for users, and seems more consistent with other Swift APIs. Most notably perhaps JSONDecoder:

let result = try JSONEncoder().decode(Model.self, from: myData)

But there are various other examples of this around the ecosystem too, e.g. ByteBuffer.getInteger or EventLoop.makePromise.

We've got some similar API methods in the MongoDB driver and we went with explicit type parameters for this reason.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions