@casekit/orm 0.0.1-alpha.5 → 0.0.1-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,9 @@ export type CreateBuilder = {
11
11
  path: string;
12
12
  values: unknown[];
13
13
  }[];
14
+ onConflict?: {
15
+ do: "nothing";
16
+ };
14
17
  returning: {
15
18
  name: string;
16
19
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"buildCreate.d.ts","sourceRoot":"","sources":["../../../src/queries/create/buildCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAI5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,CAAC;IAC5D,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D,CAAC;AAEF,eAAO,MAAM,WAAW,WACZ,iBAAiB,KACtB,MAAM,UACD,oBAAoB,2BAE7B,aA2CF,CAAC"}
1
+ {"version":3,"file":"buildCreate.d.ts","sourceRoot":"","sources":["../../../src/queries/create/buildCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAI5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,CAAC;IAC5D,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE,CAAC;IAC/B,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D,CAAC;AAEF,eAAO,MAAM,WAAW,WACZ,iBAAiB,KACtB,MAAM,UACD,oBAAoB,2BAE7B,aA6CF,CAAC"}
@@ -34,6 +34,7 @@ export const buildCreate = (config, m, params, _tableIndex = 0) => {
34
34
  alias: `${table}_${colIndex++}`,
35
35
  });
36
36
  }
37
+ builder.onConflict = params.onConflict;
37
38
  return builder;
38
39
  };
39
40
  //# sourceMappingURL=buildCreate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildCreate.js","sourceRoot":"","sources":["../../../src/queries/create/buildCreate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAUhD,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,MAAyB,EACzB,CAAS,EACT,MAA4B,EAC5B,WAAW,GAAG,CAAC,EACF,EAAE;IACf,MAAM,OAAO,GAAkB;QAC3B,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE;YACH,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;SAClC;QACD,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;KAChB,CAAC;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;QAC5B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC,CACV,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC,uCAAuC,EAAE;YACxD,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE;SACtB,CAAC,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACrC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,KAAK,IAAI,QAAQ,EAAE,EAAE;SAClC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"buildCreate.js","sourceRoot":"","sources":["../../../src/queries/create/buildCreate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWhD,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,MAAyB,EACzB,CAAS,EACT,MAA4B,EAC5B,WAAW,GAAG,CAAC,EACF,EAAE;IACf,MAAM,OAAO,GAAkB;QAC3B,UAAU,EAAE,WAAW;QACvB,KAAK,EAAE;YACH,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;SAClC;QACD,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;KAChB,CAAC;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;QAC5B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC,CACV,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC,uCAAuC,EAAE;YACxD,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE;SACtB,CAAC,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACrC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,KAAK,IAAI,QAAQ,EAAE,EAAE;SAClC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAEvC,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createToSql.d.ts","sourceRoot":"","sources":["../../../src/queries/create/createToSql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAO,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,WAAW,YAAa,aAAa,KAAG,YA8BpD,CAAC"}
1
+ {"version":3,"file":"createToSql.d.ts","sourceRoot":"","sources":["../../../src/queries/create/createToSql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAO,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,WAAW,YAAa,aAAa,KAAG,YAkCpD,CAAC"}
@@ -15,6 +15,9 @@ export const createToSql = (builder) => {
15
15
  });
16
16
  frag.push(sql.splat(values));
17
17
  }
18
+ if (builder.onConflict?.do === "nothing") {
19
+ frag.push("\nON CONFLICT DO NOTHING");
20
+ }
18
21
  if (returning.length > 0) {
19
22
  frag.push("\nRETURNING ");
20
23
  frag.push(returning
@@ -1 +1 @@
1
- {"version":3,"file":"createToSql.js","sourceRoot":"","sources":["../../../src/queries/create/createToSql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,WAAW,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAsB,EAAgB,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;IAEhC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CACL,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CACtE,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC7C,OAAO,GAAG,CAAA,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CACL,SAAS;aACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAClD,IAAI,CAAC,KAAK,CAAC,CACnB,CAAC;IACN,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"createToSql.js","sourceRoot":"","sources":["../../../src/queries/create/createToSql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,WAAW,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAsB,EAAgB,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;IAEhC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CACL,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CACtE,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC7C,OAAO,GAAG,CAAA,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CACL,SAAS;aACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAClD,IAAI,CAAC,KAAK,CAAC,CACnB,CAAC;IACN,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
@@ -136,5 +136,22 @@ describe("createOne", () => {
136
136
  expect(rows[0].name).toEqual("hello");
137
137
  }, { rollback: true });
138
138
  });
139
+ test("conflicts can be ignored", async () => {
140
+ await db.transact(async (db) => {
141
+ await db.createOne("user", { values: { username: "russell" } });
142
+ // creating a duplicate user should throw an error
143
+ await expect(db.transact(async (db) => {
144
+ return db.createOne("user", {
145
+ values: { username: "russell" },
146
+ });
147
+ })).rejects.toThrow('duplicate key value violates unique constraint "user_username_idx"');
148
+ // but if we ignore the conflict, it should work
149
+ const result = await db.createOne("user", {
150
+ values: { username: "russell" },
151
+ onConflict: { do: "nothing" },
152
+ });
153
+ expect(result).toEqual(0);
154
+ }, { rollback: true });
155
+ });
139
156
  });
140
157
  //# sourceMappingURL=createOne.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createOne.test.js","sourceRoot":"","sources":["../../../../src/queries/create/tests/createOne.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createOne.test.js","sourceRoot":"","sources":["../../../../src/queries/create/tests/createOne.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { NonEmptyArray } from "../../../types/util/NonEmptyArray";
2
2
  export type BaseCreateManyParams = {
3
3
  values: Record<string, unknown | null>[];
4
+ onConflict?: {
5
+ do: "nothing";
6
+ };
4
7
  returning?: NonEmptyArray<string>;
5
8
  };
6
9
  //# sourceMappingURL=BaseCreateManyParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCreateManyParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/BaseCreateManyParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IACzC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC"}
1
+ {"version":3,"file":"BaseCreateManyParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/BaseCreateManyParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IACzC,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { NonEmptyArray } from "../../../types/util/NonEmptyArray";
2
2
  export type BaseCreateOneParams = {
3
3
  values: Record<string, unknown | null>;
4
+ onConflict?: {
5
+ do: "nothing";
6
+ };
4
7
  returning?: NonEmptyArray<string>;
5
8
  };
6
9
  //# sourceMappingURL=BaseCreateOneParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCreateOneParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/BaseCreateOneParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC"}
1
+ {"version":3,"file":"BaseCreateOneParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/BaseCreateOneParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,SAAS,CAAA;KAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC"}
@@ -5,5 +5,8 @@ import { CreateValues } from "./CreateOneParams";
5
5
  export type CreateManyParams<Models extends LooseModelDefinitions, M extends ModelName<Models>> = {
6
6
  values: CreateValues<Models, M>[];
7
7
  returning?: ReturningClause<Models, M>;
8
+ onConflict?: {
9
+ do: "nothing";
10
+ };
8
11
  };
9
12
  //# sourceMappingURL=CreateManyParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateManyParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/CreateManyParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,CACxB,MAAM,SAAS,qBAAqB,EACpC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B;IACA,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"CreateManyParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/CreateManyParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,CACxB,MAAM,SAAS,qBAAqB,EACpC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B;IACA,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE;QACT,EAAE,EAAE,SAAS,CAAC;KACjB,CAAC;CACL,CAAC"}
@@ -8,5 +8,8 @@ export type CreateValues<Models extends LooseModelDefinitions, M extends ModelNa
8
8
  export type CreateOneParams<Models extends LooseModelDefinitions, M extends ModelName<Models>> = {
9
9
  values: CreateValues<Models, M>;
10
10
  returning?: ReturningClause<Models, M>;
11
+ onConflict?: {
12
+ do: "nothing";
13
+ };
11
14
  };
12
15
  //# sourceMappingURL=CreateOneParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOneParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/CreateOneParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,MAAM,MAAM,YAAY,CACpB,MAAM,SAAS,qBAAqB,EACpC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,eAAe,CACvB,MAAM,SAAS,qBAAqB,EACpC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B;IACA,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"CreateOneParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/create/types/CreateOneParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,MAAM,MAAM,YAAY,CACpB,MAAM,SAAS,qBAAqB,EACpC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,eAAe,CACvB,MAAM,SAAS,qBAAqB,EACpC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B;IACA,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE;QACT,EAAE,EAAE,SAAS,CAAC;KACjB,CAAC;CACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casekit/orm",
3
- "version": "0.0.1-alpha.5",
3
+ "version": "0.0.1-alpha.6",
4
4
  "description": "A simple ORM",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -8,6 +8,7 @@ export type CreateBuilder = {
8
8
  tableIndex: number;
9
9
  table: { name: string; schema: string };
10
10
  params: { name: string; path: string; values: unknown[] }[];
11
+ onConflict?: { do: "nothing" };
11
12
  returning: { name: string; path: string; alias: string }[];
12
13
  };
13
14
 
@@ -58,5 +59,7 @@ export const buildCreate = (
58
59
  });
59
60
  }
60
61
 
62
+ builder.onConflict = params.onConflict;
63
+
61
64
  return builder;
62
65
  };
@@ -22,6 +22,10 @@ export const createToSql = (builder: CreateBuilder): SQLStatement => {
22
22
  frag.push(sql.splat(values));
23
23
  }
24
24
 
25
+ if (builder.onConflict?.do === "nothing") {
26
+ frag.push("\nON CONFLICT DO NOTHING");
27
+ }
28
+
25
29
  if (returning.length > 0) {
26
30
  frag.push("\nRETURNING ");
27
31
  frag.push(
@@ -167,4 +167,31 @@ describe("createOne", () => {
167
167
  { rollback: true },
168
168
  );
169
169
  });
170
+
171
+ test("conflicts can be ignored", async () => {
172
+ await db.transact(
173
+ async (db) => {
174
+ await db.createOne("user", { values: { username: "russell" } });
175
+
176
+ // creating a duplicate user should throw an error
177
+ await expect(
178
+ db.transact(async (db) => {
179
+ return db.createOne("user", {
180
+ values: { username: "russell" },
181
+ });
182
+ }),
183
+ ).rejects.toThrow(
184
+ 'duplicate key value violates unique constraint "user_username_idx"',
185
+ );
186
+
187
+ // but if we ignore the conflict, it should work
188
+ const result = await db.createOne("user", {
189
+ values: { username: "russell" },
190
+ onConflict: { do: "nothing" },
191
+ });
192
+ expect(result).toEqual(0);
193
+ },
194
+ { rollback: true },
195
+ );
196
+ });
170
197
  });
@@ -2,5 +2,6 @@ import { NonEmptyArray } from "../../../types/util/NonEmptyArray";
2
2
 
3
3
  export type BaseCreateManyParams = {
4
4
  values: Record<string, unknown | null>[];
5
+ onConflict?: { do: "nothing" };
5
6
  returning?: NonEmptyArray<string>;
6
7
  };
@@ -2,5 +2,6 @@ import { NonEmptyArray } from "../../../types/util/NonEmptyArray";
2
2
 
3
3
  export type BaseCreateOneParams = {
4
4
  values: Record<string, unknown | null>;
5
+ onConflict?: { do: "nothing" };
5
6
  returning?: NonEmptyArray<string>;
6
7
  };
@@ -9,4 +9,7 @@ export type CreateManyParams<
9
9
  > = {
10
10
  values: CreateValues<Models, M>[];
11
11
  returning?: ReturningClause<Models, M>;
12
+ onConflict?: {
13
+ do: "nothing";
14
+ };
12
15
  };
@@ -16,4 +16,7 @@ export type CreateOneParams<
16
16
  > = {
17
17
  values: CreateValues<Models, M>;
18
18
  returning?: ReturningClause<Models, M>;
19
+ onConflict?: {
20
+ do: "nothing";
21
+ };
19
22
  };