Skip to content

Latest commit

 

History

History
191 lines (119 loc) · 6.56 KB

CHANGELOG.md

File metadata and controls

191 lines (119 loc) · 6.56 KB

d1-orm

0.5.5

Patch Changes

  • fc7cb87 Thanks @Skye-31! - Feat: Allow null items in Infer

    This change checks NOT NULL constraints on the model definition, and allows null when the constraint is not present.

0.5.4

Patch Changes

  • b8e1ce6 Thanks @Skye-31! - Chore: fix inferred return type for Model.First()

0.5.3

Patch Changes

  • 5d09207 Thanks @Skye-31! - Chore: export some types used by Model so VSC can pick up on them

0.5.2

Patch Changes

0.5.1

Patch Changes

  • 926d8c6 Thanks @Skye-31! - Chore: fix Model return types for First() and All()

0.5.0

Minor Changes

  • #44 101043b Thanks @Skye-31! - Feat: Inferred Types!

    Models no longer require you to specify a definition when you create them. Instead, you can just pass in an object and the model will infer the types for you. See the following example:

    import { Model, DataTypes } from "d1-orm";
    import type { Infer } from "d1-orm";
    
    const users = new Model(
    	{
    		tableName: "users",
    		D1Orm: MyD1OrmInstance,
    	},
    	{
    		name: DataTypes.STRING,
    		age: DataTypes.NUMBER,
    	}
    );
    
    type User = Infer<typeof users>;
    // type User = {
    // 	name: string,
    // 	age: number
    // }

0.4.0

Minor Changes

0.3.3

Patch Changes

0.3.2

Patch Changes

  • de7eb7d Thanks @Skye-31! - Chore: Make first() return null on a D1_NORESULTS error, as it's inconsistent with local and remote, and that error is near meaningless.

0.3.1

Patch Changes

0.3.0

Minor Changes

Patch Changes

0.2.2

Patch Changes

  • b0088b2 Thanks @Skye-31! - Fix types for Model.First() (should return T, not D1Result)

0.2.1

Patch Changes

  • #27 1e8e4e5 Thanks @Skye-31! - Chore: Make Model#constructor#columns use the provided type of the model, rather than any keys

0.2.0

Minor Changes

  • #21 b2559ef Thanks @Skye-31! - [breaking] feat: Switch to use a QueryBuilder instead of duplicate code in the Model class

    This will be much more expandable in future to support things like advanced where querying, using operators other than AND, joins, etc.

Patch Changes

  • #26 bc18cce Thanks @Skye-31! - Chore: Add a build test

    Also ensure that the lib is built before publishing.

  • #25 1750a55 Thanks @Skye-31! - Chore: readable guides for interacting with the library Closes #22

0.1.3

Patch Changes

  • 7ddad51: Chore: start tests

    This initially focuses on just testing Model & ORM validation, with future PRs to be focused on validation of model methods being run

0.1.2

Patch Changes

0.1.1

Patch Changes

  • 8173b4c: Chore: Readme with basic usage examples

0.1.0

Minor Changes

  • 3f02112: Feat: Start implementing models

    This initial concept looks something like the following. The key goals for this PR are to support:

    • Creating table, with a force option, and an alter table option
    • Dropping tables
    • First()
    • All()
    • Update()
    • InsertOne()
    • InsertMany()
    • Delete()
    • Upsert()
    type User = {
      id: number,
      name?: string
    };
    
    const Users = new Model<User>({
      tableName: 'users',
      D1Orm: myD1Orm
    }, {
      id: {
        type: DataTypes.Integer,
        primaryKey: true,
        notNull: true,
        unique: true,
        autoIncrement: true
      },
      name: {
        type: DataTypes.String,
        default: "John Doe"
      }
    });
    
    Users.First(Options): Promise<D1Result<User>>