@payloadcms/drizzle 3.50.0-internal.f87db1c → 3.51.0-canary.0

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.
Files changed (88) hide show
  1. package/dist/createGlobalVersion.d.ts.map +1 -1
  2. package/dist/createGlobalVersion.js.map +1 -1
  3. package/dist/createVersion.d.ts.map +1 -1
  4. package/dist/createVersion.js.map +1 -1
  5. package/dist/find/traverseFields.d.ts.map +1 -1
  6. package/dist/find/traverseFields.js +48 -6
  7. package/dist/find/traverseFields.js.map +1 -1
  8. package/dist/findOne.d.ts +1 -1
  9. package/dist/findOne.d.ts.map +1 -1
  10. package/dist/findOne.js.map +1 -1
  11. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -1
  12. package/dist/postgres/createJSONQuery/index.js +4 -3
  13. package/dist/postgres/createJSONQuery/index.js.map +1 -1
  14. package/dist/types.d.ts +2 -1
  15. package/dist/types.d.ts.map +1 -1
  16. package/dist/types.js.map +1 -1
  17. package/dist/updateGlobalVersion.d.ts.map +1 -1
  18. package/dist/updateGlobalVersion.js.map +1 -1
  19. package/dist/updateJobs.d.ts.map +1 -1
  20. package/dist/updateJobs.js +22 -1
  21. package/dist/updateJobs.js.map +1 -1
  22. package/dist/updateVersion.d.ts.map +1 -1
  23. package/dist/updateVersion.js.map +1 -1
  24. package/dist/utilities/buildCreateMigration.d.ts +1 -2
  25. package/dist/utilities/buildCreateMigration.d.ts.map +1 -1
  26. package/dist/utilities/buildCreateMigration.js +6 -8
  27. package/dist/utilities/buildCreateMigration.js.map +1 -1
  28. package/package.json +3 -8
  29. package/dist/exports/sqlite.d.ts +0 -13
  30. package/dist/exports/sqlite.d.ts.map +0 -1
  31. package/dist/exports/sqlite.js +0 -14
  32. package/dist/exports/sqlite.js.map +0 -1
  33. package/dist/sqlite/columnToCodeConverter.d.ts +0 -3
  34. package/dist/sqlite/columnToCodeConverter.d.ts.map +0 -1
  35. package/dist/sqlite/columnToCodeConverter.js +0 -107
  36. package/dist/sqlite/columnToCodeConverter.js.map +0 -1
  37. package/dist/sqlite/countDistinct.d.ts +0 -3
  38. package/dist/sqlite/countDistinct.d.ts.map +0 -1
  39. package/dist/sqlite/countDistinct.js +0 -24
  40. package/dist/sqlite/countDistinct.js.map +0 -1
  41. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.d.ts +0 -2
  42. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.d.ts.map +0 -1
  43. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js +0 -12
  44. package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js.map +0 -1
  45. package/dist/sqlite/createJSONQuery/index.d.ts +0 -3
  46. package/dist/sqlite/createJSONQuery/index.d.ts.map +0 -1
  47. package/dist/sqlite/createJSONQuery/index.js +0 -60
  48. package/dist/sqlite/createJSONQuery/index.js.map +0 -1
  49. package/dist/sqlite/defaultSnapshot.d.ts +0 -3
  50. package/dist/sqlite/defaultSnapshot.d.ts.map +0 -1
  51. package/dist/sqlite/defaultSnapshot.js +0 -15
  52. package/dist/sqlite/defaultSnapshot.js.map +0 -1
  53. package/dist/sqlite/deleteWhere.d.ts +0 -3
  54. package/dist/sqlite/deleteWhere.d.ts.map +0 -1
  55. package/dist/sqlite/deleteWhere.js +0 -6
  56. package/dist/sqlite/deleteWhere.js.map +0 -1
  57. package/dist/sqlite/dropDatabase.d.ts +0 -3
  58. package/dist/sqlite/dropDatabase.d.ts.map +0 -1
  59. package/dist/sqlite/dropDatabase.js +0 -19
  60. package/dist/sqlite/dropDatabase.js.map +0 -1
  61. package/dist/sqlite/execute.d.ts +0 -3
  62. package/dist/sqlite/execute.d.ts.map +0 -1
  63. package/dist/sqlite/execute.js +0 -13
  64. package/dist/sqlite/execute.js.map +0 -1
  65. package/dist/sqlite/init.d.ts +0 -3
  66. package/dist/sqlite/init.d.ts.map +0 -1
  67. package/dist/sqlite/init.js +0 -42
  68. package/dist/sqlite/init.js.map +0 -1
  69. package/dist/sqlite/insert.d.ts +0 -3
  70. package/dist/sqlite/insert.d.ts.map +0 -1
  71. package/dist/sqlite/insert.js +0 -8
  72. package/dist/sqlite/insert.js.map +0 -1
  73. package/dist/sqlite/requireDrizzleKit.d.ts +0 -3
  74. package/dist/sqlite/requireDrizzleKit.d.ts.map +0 -1
  75. package/dist/sqlite/requireDrizzleKit.js +0 -12
  76. package/dist/sqlite/requireDrizzleKit.js.map +0 -1
  77. package/dist/sqlite/schema/buildDrizzleTable.d.ts +0 -3
  78. package/dist/sqlite/schema/buildDrizzleTable.d.ts.map +0 -1
  79. package/dist/sqlite/schema/buildDrizzleTable.js +0 -143
  80. package/dist/sqlite/schema/buildDrizzleTable.js.map +0 -1
  81. package/dist/sqlite/schema/setColumnID.d.ts +0 -3
  82. package/dist/sqlite/schema/setColumnID.d.ts.map +0 -1
  83. package/dist/sqlite/schema/setColumnID.js +0 -39
  84. package/dist/sqlite/schema/setColumnID.js.map +0 -1
  85. package/dist/sqlite/types.d.ts +0 -210
  86. package/dist/sqlite/types.d.ts.map +0 -1
  87. package/dist/sqlite/types.js +0 -3
  88. package/dist/sqlite/types.js.map +0 -1
@@ -1,15 +0,0 @@
1
- export const defaultDrizzleSnapshot = {
2
- id: '00000000-0000-0000-0000-000000000000',
3
- _meta: {
4
- columns: {},
5
- tables: {}
6
- },
7
- dialect: 'sqlite',
8
- enums: {},
9
- prevId: '00000000-0000-0000-0000-00000000000',
10
- tables: {},
11
- version: '6',
12
- views: {}
13
- };
14
-
15
- //# sourceMappingURL=defaultSnapshot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/sqlite/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSQLiteSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSQLiteSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n tables: {},\n },\n dialect: 'sqlite',\n enums: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n tables: {},\n version: '6',\n views: {},\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","tables","dialect","enums","prevId","version","views"],"mappings":"AAEA,OAAO,MAAMA,yBAAoD;IAC/DC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,QAAQ;IACRH,QAAQ,CAAC;IACTI,SAAS;IACTC,OAAO,CAAC;AACV,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { DeleteWhere } from './types.js';
2
- export declare const deleteWhere: DeleteWhere;
3
- //# sourceMappingURL=deleteWhere.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deleteWhere.d.ts","sourceRoot":"","sources":["../../src/sqlite/deleteWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAA;AAEhE,eAAO,MAAM,WAAW,EAAE,WAQzB,CAAA"}
@@ -1,6 +0,0 @@
1
- export const deleteWhere = async function({ db, tableName, where }) {
2
- const table = this.tables[tableName];
3
- await db.delete(table).where(where);
4
- };
5
-
6
- //# sourceMappingURL=deleteWhere.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/sqlite/deleteWhere.ts"],"sourcesContent":["import type { BaseSQLiteAdapter, DeleteWhere } from './types.js'\n\nexport const deleteWhere: DeleteWhere = async function (\n // Here 'this' is not a parameter. See:\n // https://www.typescriptlang.org/docs/handbook/2/classes.html#this-parameters\n this: BaseSQLiteAdapter,\n { db, tableName, where },\n) {\n const table = this.tables[tableName]\n await db.delete(table).where(where)\n}\n"],"names":["deleteWhere","db","tableName","where","table","tables","delete"],"mappings":"AAEA,OAAO,MAAMA,cAA2B,eAItC,EAAEC,EAAE,EAAEC,SAAS,EAAEC,KAAK,EAAE;IAExB,MAAMC,QAAQ,IAAI,CAACC,MAAM,CAACH,UAAU;IACpC,MAAMD,GAAGK,MAAM,CAACF,OAAOD,KAAK,CAACA;AAC/B,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { DropDatabase } from './types.js';
2
- export declare const dropDatabase: DropDatabase;
3
- //# sourceMappingURL=dropDatabase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropDatabase.d.ts","sourceRoot":"","sources":["../../src/sqlite/dropDatabase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,YAAY,CAAA;AAiBjE,eAAO,MAAM,YAAY,EAAE,YAG1B,CAAA"}
@@ -1,19 +0,0 @@
1
- const getTables = (adapter)=>{
2
- return adapter.client.execute(`SELECT name
3
- FROM sqlite_master
4
- WHERE type = 'table'
5
- AND name NOT LIKE 'sqlite_%';`);
6
- };
7
- const dropTables = (adapter, rows)=>{
8
- const multi = `
9
- PRAGMA foreign_keys = OFF;\n
10
- ${rows.map(({ name })=>`DROP TABLE IF EXISTS ${name}`).join(';\n ')};\n
11
- PRAGMA foreign_keys = ON;`;
12
- return adapter.client.executeMultiple(multi);
13
- };
14
- export const dropDatabase = async function({ adapter }) {
15
- const result = await getTables(adapter);
16
- await dropTables(adapter, result.rows);
17
- };
18
-
19
- //# sourceMappingURL=dropDatabase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/sqlite/dropDatabase.ts"],"sourcesContent":["import type { Row } from '@libsql/client'\n\nimport type { BaseSQLiteAdapter, DropDatabase } from './types.js'\n\nconst getTables = (adapter: BaseSQLiteAdapter) => {\n return adapter.client.execute(`SELECT name\n FROM sqlite_master\n WHERE type = 'table'\n AND name NOT LIKE 'sqlite_%';`)\n}\n\nconst dropTables = (adapter: BaseSQLiteAdapter, rows: Row[]) => {\n const multi = `\n PRAGMA foreign_keys = OFF;\\n\n ${rows.map(({ name }) => `DROP TABLE IF EXISTS ${name as string}`).join(';\\n ')};\\n\n PRAGMA foreign_keys = ON;`\n return adapter.client.executeMultiple(multi)\n}\n\nexport const dropDatabase: DropDatabase = async function ({ adapter }) {\n const result = await getTables(adapter)\n await dropTables(adapter, result.rows)\n}\n"],"names":["getTables","adapter","client","execute","dropTables","rows","multi","map","name","join","executeMultiple","dropDatabase","result"],"mappings":"AAIA,MAAMA,YAAY,CAACC;IACjB,OAAOA,QAAQC,MAAM,CAACC,OAAO,CAAC,CAAC;;;gEAG+B,CAAC;AACjE;AAEA,MAAMC,aAAa,CAACH,SAA4BI;IAC9C,MAAMC,QAAQ,CAAC;;EAEf,EAAED,KAAKE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAK,CAAC,qBAAqB,EAAEA,MAAgB,EAAEC,IAAI,CAAC,QAAQ;2BACvD,CAAC;IAC1B,OAAOR,QAAQC,MAAM,CAACQ,eAAe,CAACJ;AACxC;AAEA,OAAO,MAAMK,eAA6B,eAAgB,EAAEV,OAAO,EAAE;IACnE,MAAMW,SAAS,MAAMZ,UAAUC;IAC/B,MAAMG,WAAWH,SAASW,OAAOP,IAAI;AACvC,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { Execute } from './types.js';
2
- export declare const execute: Execute<any>;
3
- //# sourceMappingURL=execute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/sqlite/execute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,GAAG,CAUhC,CAAA"}
@@ -1,13 +0,0 @@
1
- import { sql } from 'drizzle-orm';
2
- export const execute = function execute({ db, drizzle, raw, sql: statement }) {
3
- const executeFrom = db ?? drizzle;
4
- if (raw) {
5
- const result = executeFrom.run(sql.raw(raw));
6
- return result;
7
- } else {
8
- const result = executeFrom.run(statement);
9
- return result;
10
- }
11
- };
12
-
13
- //# sourceMappingURL=execute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/sqlite/execute.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\n\nimport type { Execute } from './types.js'\n\nexport const execute: Execute<any> = function execute({ db, drizzle, raw, sql: statement }) {\n const executeFrom = (db ?? drizzle)\n\n if (raw) {\n const result = executeFrom.run(sql.raw(raw))\n return result\n } else {\n const result = executeFrom.run(statement)\n return result\n }\n}\n"],"names":["sql","execute","db","drizzle","raw","statement","executeFrom","result","run"],"mappings":"AAAA,SAASA,GAAG,QAAQ,cAAa;AAIjC,OAAO,MAAMC,UAAwB,SAASA,QAAQ,EAAEC,EAAE,EAAEC,OAAO,EAAEC,GAAG,EAAEJ,KAAKK,SAAS,EAAE;IACxF,MAAMC,cAAeJ,MAAMC;IAE3B,IAAIC,KAAK;QACP,MAAMG,SAASD,YAAYE,GAAG,CAACR,IAAII,GAAG,CAACA;QACvC,OAAOG;IACT,OAAO;QACL,MAAMA,SAASD,YAAYE,GAAG,CAACH;QAC/B,OAAOE;IACT;AACF,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { Init } from 'payload';
2
- export declare const init: Init;
3
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/sqlite/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAWnC,eAAO,MAAM,IAAI,EAAE,IAiClB,CAAA"}
@@ -1,42 +0,0 @@
1
- import { buildDrizzleRelations } from '../schema/buildDrizzleRelations.js';
2
- import { buildRawSchema } from '../schema/buildRawSchema.js';
3
- import { executeSchemaHooks } from '../utilities/executeSchemaHooks.js';
4
- import { buildDrizzleTable } from './schema/buildDrizzleTable.js';
5
- import { setColumnID } from './schema/setColumnID.js';
6
- export const init = async function init() {
7
- let locales;
8
- this.rawRelations = {};
9
- this.rawTables = {};
10
- if (this.payload.config.localization) {
11
- locales = this.payload.config.localization.locales.map(({ code })=>code);
12
- }
13
- const adapter = this;
14
- buildRawSchema({
15
- adapter,
16
- setColumnID
17
- });
18
- await executeSchemaHooks({
19
- type: 'beforeSchemaInit',
20
- adapter: this
21
- });
22
- for(const tableName in this.rawTables){
23
- buildDrizzleTable({
24
- adapter,
25
- locales,
26
- rawTable: this.rawTables[tableName]
27
- });
28
- }
29
- buildDrizzleRelations({
30
- adapter
31
- });
32
- await executeSchemaHooks({
33
- type: 'afterSchemaInit',
34
- adapter: this
35
- });
36
- this.schema = {
37
- ...this.tables,
38
- ...this.relations
39
- };
40
- };
41
-
42
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/sqlite/init.ts"],"sourcesContent":["import type { Init } from 'payload'\n\nimport type { DrizzleAdapter } from '../types.js'\nimport type { BaseSQLiteAdapter } from './types.js'\n\nimport { buildDrizzleRelations } from '../schema/buildDrizzleRelations.js'\nimport { buildRawSchema } from '../schema/buildRawSchema.js'\nimport { executeSchemaHooks } from '../utilities/executeSchemaHooks.js'\nimport { buildDrizzleTable } from './schema/buildDrizzleTable.js'\nimport { setColumnID } from './schema/setColumnID.js'\n\nexport const init: Init = async function init(this: BaseSQLiteAdapter) {\n let locales: string[] | undefined\n\n this.rawRelations = {}\n this.rawTables = {}\n\n if (this.payload.config.localization) {\n locales = this.payload.config.localization.locales.map(({ code }) => code)\n }\n\n const adapter = this as unknown as DrizzleAdapter\n\n buildRawSchema({\n adapter,\n setColumnID,\n })\n\n await executeSchemaHooks({ type: 'beforeSchemaInit', adapter: this })\n\n for (const tableName in this.rawTables) {\n buildDrizzleTable({ adapter, locales, rawTable: this.rawTables[tableName] })\n }\n\n buildDrizzleRelations({\n adapter,\n })\n\n await executeSchemaHooks({ type: 'afterSchemaInit', adapter: this })\n\n this.schema = {\n ...this.tables,\n ...this.relations,\n }\n}\n"],"names":["buildDrizzleRelations","buildRawSchema","executeSchemaHooks","buildDrizzleTable","setColumnID","init","locales","rawRelations","rawTables","payload","config","localization","map","code","adapter","type","tableName","rawTable","schema","tables","relations"],"mappings":"AAKA,SAASA,qBAAqB,QAAQ,qCAAoC;AAC1E,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,kBAAkB,QAAQ,qCAAoC;AACvE,SAASC,iBAAiB,QAAQ,gCAA+B;AACjE,SAASC,WAAW,QAAQ,0BAAyB;AAErD,OAAO,MAAMC,OAAa,eAAeA;IACvC,IAAIC;IAEJ,IAAI,CAACC,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,SAAS,GAAG,CAAC;IAElB,IAAI,IAAI,CAACC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;QACpCL,UAAU,IAAI,CAACG,OAAO,CAACC,MAAM,CAACC,YAAY,CAACL,OAAO,CAACM,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IACvE;IAEA,MAAMC,UAAU,IAAI;IAEpBb,eAAe;QACba;QACAV;IACF;IAEA,MAAMF,mBAAmB;QAAEa,MAAM;QAAoBD,SAAS,IAAI;IAAC;IAEnE,IAAK,MAAME,aAAa,IAAI,CAACR,SAAS,CAAE;QACtCL,kBAAkB;YAAEW;YAASR;YAASW,UAAU,IAAI,CAACT,SAAS,CAACQ,UAAU;QAAC;IAC5E;IAEAhB,sBAAsB;QACpBc;IACF;IAEA,MAAMZ,mBAAmB;QAAEa,MAAM;QAAmBD,SAAS,IAAI;IAAC;IAElE,IAAI,CAACI,MAAM,GAAG;QACZ,GAAG,IAAI,CAACC,MAAM;QACd,GAAG,IAAI,CAACC,SAAS;IACnB;AACF,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { Insert } from './types.js';
2
- export declare const insert: Insert;
3
- //# sourceMappingURL=insert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/sqlite/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,MAAM,EAAE,MAcpB,CAAA"}
@@ -1,8 +0,0 @@
1
- export const insert = async function({ db, onConflictDoUpdate, tableName, values }) {
2
- const table = this.tables[tableName];
3
- const result = onConflictDoUpdate ? await db.insert(table).values(values).onConflictDoUpdate(onConflictDoUpdate).returning() : await db.insert(table).values(values).returning();
4
- // See https://github.com/payloadcms/payload/pull/11831#discussion_r2010431908
5
- return result;
6
- };
7
-
8
- //# sourceMappingURL=insert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/sqlite/insert.ts"],"sourcesContent":["import type { BaseSQLiteAdapter, Insert } from './types.js'\n\nexport const insert: Insert = async function (\n // Here 'this' is not a parameter. See:\n // https://www.typescriptlang.org/docs/handbook/2/classes.html#this-parameters\n this: BaseSQLiteAdapter,\n { db, onConflictDoUpdate, tableName, values },\n): Promise<Record<string, unknown>[]> {\n const table = this.tables[tableName]\n\n const result = onConflictDoUpdate\n ? await db.insert(table).values(values).onConflictDoUpdate(onConflictDoUpdate).returning()\n : await db.insert(table).values(values).returning()\n\n // See https://github.com/payloadcms/payload/pull/11831#discussion_r2010431908\n return result as Record<string, unknown>[]\n}\n"],"names":["insert","db","onConflictDoUpdate","tableName","values","table","tables","result","returning"],"mappings":"AAEA,OAAO,MAAMA,SAAiB,eAI5B,EAAEC,EAAE,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,MAAM,EAAE;IAE7C,MAAMC,QAAQ,IAAI,CAACC,MAAM,CAACH,UAAU;IAEpC,MAAMI,SAASL,qBACX,MAAMD,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACA,QAAQF,kBAAkB,CAACA,oBAAoBM,SAAS,KACtF,MAAMP,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACA,QAAQI,SAAS;IAEnD,8EAA8E;IAC9E,OAAOD;AACT,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { RequireDrizzleKit } from '../types.js';
2
- export declare const requireDrizzleKit: RequireDrizzleKit;
3
- //# sourceMappingURL=requireDrizzleKit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requireDrizzleKit.d.ts","sourceRoot":"","sources":["../../src/sqlite/requireDrizzleKit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,eAAO,MAAM,iBAAiB,EAAE,iBAY/B,CAAA"}
@@ -1,12 +0,0 @@
1
- import { createRequire } from 'module';
2
- const require = createRequire(import.meta.url);
3
- export const requireDrizzleKit = ()=>{
4
- const { generateSQLiteDrizzleJson, generateSQLiteMigration, pushSQLiteSchema } = require('drizzle-kit/api');
5
- return {
6
- generateDrizzleJson: generateSQLiteDrizzleJson,
7
- generateMigration: generateSQLiteMigration,
8
- pushSchema: pushSQLiteSchema
9
- };
10
- };
11
-
12
- //# sourceMappingURL=requireDrizzleKit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/sqlite/requireDrizzleKit.ts"],"sourcesContent":["import { createRequire } from 'module'\n\nimport type { RequireDrizzleKit } from '../types.js'\n\nconst require = createRequire(import.meta.url)\n\nexport const requireDrizzleKit: RequireDrizzleKit = () => {\n const {\n generateSQLiteDrizzleJson,\n generateSQLiteMigration,\n pushSQLiteSchema,\n } = require('drizzle-kit/api')\n\n return {\n generateDrizzleJson: generateSQLiteDrizzleJson,\n generateMigration: generateSQLiteMigration,\n pushSchema: pushSQLiteSchema,\n }\n}\n"],"names":["createRequire","require","url","requireDrizzleKit","generateSQLiteDrizzleJson","generateSQLiteMigration","pushSQLiteSchema","generateDrizzleJson","generateMigration","pushSchema"],"mappings":"AAAA,SAASA,aAAa,QAAQ,SAAQ;AAItC,MAAMC,UAAUD,cAAc,YAAYE,GAAG;AAE7C,OAAO,MAAMC,oBAAuC;IAClD,MAAM,EACJC,yBAAyB,EACzBC,uBAAuB,EACvBC,gBAAgB,EACjB,GAAGL,QAAQ;IAEZ,OAAO;QACLM,qBAAqBH;QACrBI,mBAAmBH;QACnBI,YAAYH;IACd;AACF,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { BuildDrizzleTable } from '../../types.js';
2
- export declare const buildDrizzleTable: BuildDrizzleTable;
3
- //# sourceMappingURL=buildDrizzleTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildDrizzleTable.d.ts","sourceRoot":"","sources":["../../../src/sqlite/schema/buildDrizzleTable.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,gBAAgB,CAAA;AAQlE,eAAO,MAAM,iBAAiB,EAAE,iBA8I/B,CAAA"}
@@ -1,143 +0,0 @@
1
- import { sql } from 'drizzle-orm';
2
- import { foreignKey, index, integer, numeric, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core';
3
- import { v4 as uuidv4 } from 'uuid';
4
- const rawColumnBuilderMap = {
5
- integer,
6
- numeric,
7
- text
8
- };
9
- export const buildDrizzleTable = ({ adapter, locales, rawTable })=>{
10
- const columns = {};
11
- for (const [key, column] of Object.entries(rawTable.columns)){
12
- switch(column.type){
13
- case 'boolean':
14
- {
15
- columns[key] = integer(column.name, {
16
- mode: 'boolean'
17
- });
18
- break;
19
- }
20
- case 'enum':
21
- if ('locale' in column) {
22
- columns[key] = text(column.name, {
23
- enum: locales
24
- });
25
- } else {
26
- columns[key] = text(column.name, {
27
- enum: column.options
28
- });
29
- }
30
- break;
31
- case 'geometry':
32
- case 'jsonb':
33
- {
34
- columns[key] = text(column.name, {
35
- mode: 'json'
36
- });
37
- break;
38
- }
39
- case 'serial':
40
- {
41
- columns[key] = integer(column.name);
42
- break;
43
- }
44
- case 'timestamp':
45
- {
46
- let builder = text(column.name);
47
- if (column.defaultNow) {
48
- builder = builder.default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`);
49
- }
50
- columns[key] = builder;
51
- break;
52
- }
53
- case 'uuid':
54
- {
55
- let builder = text(column.name, {
56
- length: 36
57
- });
58
- if (column.defaultRandom) {
59
- builder = builder.$defaultFn(()=>uuidv4());
60
- }
61
- columns[key] = builder;
62
- break;
63
- }
64
- case 'varchar':
65
- {
66
- columns[key] = text(column.name);
67
- break;
68
- }
69
- default:
70
- columns[key] = rawColumnBuilderMap[column.type](column.name);
71
- break;
72
- }
73
- if (column.reference) {
74
- const ref = column.reference;
75
- columns[key].references(()=>adapter.tables[ref.table][ref.name], {
76
- onDelete: ref.onDelete
77
- });
78
- }
79
- if (column.primaryKey) {
80
- let args = undefined;
81
- if (column.type === 'integer' && column.autoIncrement) {
82
- args = {
83
- autoIncrement: true
84
- };
85
- }
86
- columns[key].primaryKey(args);
87
- }
88
- if (column.notNull) {
89
- columns[key].notNull();
90
- }
91
- if (typeof column.default !== 'undefined') {
92
- let sanitizedDefault = column.default;
93
- if (column.type === 'geometry' && Array.isArray(column.default)) {
94
- sanitizedDefault = JSON.stringify({
95
- type: 'Point',
96
- coordinates: [
97
- column.default[0],
98
- column.default[1]
99
- ]
100
- });
101
- }
102
- columns[key].default(sanitizedDefault);
103
- }
104
- }
105
- const extraConfig = (cols)=>{
106
- const config = {};
107
- if (rawTable.indexes) {
108
- for (const [key, rawIndex] of Object.entries(rawTable.indexes)){
109
- let fn = index;
110
- if (rawIndex.unique) {
111
- fn = uniqueIndex;
112
- }
113
- if (Array.isArray(rawIndex.on)) {
114
- if (rawIndex.on.length) {
115
- config[key] = fn(rawIndex.name).on(...rawIndex.on.map((colName)=>cols[colName]));
116
- }
117
- } else {
118
- config[key] = fn(rawIndex.name).on(cols[rawIndex.on]);
119
- }
120
- }
121
- }
122
- if (rawTable.foreignKeys) {
123
- for (const [key, rawForeignKey] of Object.entries(rawTable.foreignKeys)){
124
- let builder = foreignKey({
125
- name: rawForeignKey.name,
126
- columns: rawForeignKey.columns.map((colName)=>cols[colName]),
127
- foreignColumns: rawForeignKey.foreignColumns.map((column)=>adapter.tables[column.table][column.name])
128
- });
129
- if (rawForeignKey.onDelete) {
130
- builder = builder.onDelete(rawForeignKey.onDelete);
131
- }
132
- if (rawForeignKey.onUpdate) {
133
- builder = builder.onDelete(rawForeignKey.onUpdate);
134
- }
135
- config[key] = builder;
136
- }
137
- }
138
- return config;
139
- };
140
- adapter.tables[rawTable.name] = sqliteTable(rawTable.name, columns, extraConfig);
141
- };
142
-
143
- //# sourceMappingURL=buildDrizzleTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/sqlite/schema/buildDrizzleTable.ts"],"sourcesContent":["import type { ForeignKeyBuilder, IndexBuilder } from 'drizzle-orm/sqlite-core'\n\nimport { sql } from 'drizzle-orm'\nimport {\n foreignKey,\n index,\n integer,\n numeric,\n sqliteTable,\n text,\n uniqueIndex,\n} from 'drizzle-orm/sqlite-core'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport type { BuildDrizzleTable, RawColumn } from '../../types.js'\n\nconst rawColumnBuilderMap: Partial<Record<RawColumn['type'], any>> = {\n integer,\n numeric,\n text,\n}\n\nexport const buildDrizzleTable: BuildDrizzleTable = ({ adapter, locales, rawTable }) => {\n const columns: Record<string, any> = {}\n\n for (const [key, column] of Object.entries(rawTable.columns)) {\n switch (column.type) {\n case 'boolean': {\n columns[key] = integer(column.name, { mode: 'boolean' })\n break\n }\n\n case 'enum':\n if ('locale' in column) {\n columns[key] = text(column.name, { enum: locales as [string, ...string[]] })\n } else {\n columns[key] = text(column.name, { enum: column.options as [string, ...string[]] })\n }\n break\n\n case 'geometry':\n case 'jsonb': {\n columns[key] = text(column.name, { mode: 'json' })\n break\n }\n\n case 'serial': {\n columns[key] = integer(column.name)\n break\n }\n\n case 'timestamp': {\n let builder = text(column.name)\n\n if (column.defaultNow) {\n builder = builder.default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`)\n }\n\n columns[key] = builder\n break\n }\n\n case 'uuid': {\n let builder = text(column.name, { length: 36 })\n\n if (column.defaultRandom) {\n builder = builder.$defaultFn(() => uuidv4())\n }\n\n columns[key] = builder\n break\n }\n\n case 'varchar': {\n columns[key] = text(column.name)\n break\n }\n\n default:\n columns[key] = rawColumnBuilderMap[column.type](column.name)\n break\n }\n\n if (column.reference) {\n const ref = column.reference\n columns[key].references(() => adapter.tables[ref.table][ref.name], {\n onDelete: ref.onDelete,\n })\n }\n\n if (column.primaryKey) {\n let args: Record<string, unknown> | undefined = undefined\n\n if (column.type === 'integer' && column.autoIncrement) {\n args = { autoIncrement: true }\n }\n\n columns[key].primaryKey(args)\n }\n\n if (column.notNull) {\n columns[key].notNull()\n }\n\n if (typeof column.default !== 'undefined') {\n let sanitizedDefault = column.default\n\n if (column.type === 'geometry' && Array.isArray(column.default)) {\n sanitizedDefault = JSON.stringify({\n type: 'Point',\n coordinates: [column.default[0], column.default[1]],\n })\n }\n\n columns[key].default(sanitizedDefault)\n }\n }\n\n const extraConfig = (cols: any) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {}\n\n if (rawTable.indexes) {\n for (const [key, rawIndex] of Object.entries(rawTable.indexes)) {\n let fn: any = index\n if (rawIndex.unique) {\n fn = uniqueIndex\n }\n\n if (Array.isArray(rawIndex.on)) {\n if (rawIndex.on.length) {\n config[key] = fn(rawIndex.name).on(...rawIndex.on.map((colName) => cols[colName]))\n }\n } else {\n config[key] = fn(rawIndex.name).on(cols[rawIndex.on])\n }\n }\n }\n\n if (rawTable.foreignKeys) {\n for (const [key, rawForeignKey] of Object.entries(rawTable.foreignKeys)) {\n let builder = foreignKey({\n name: rawForeignKey.name,\n columns: rawForeignKey.columns.map((colName) => cols[colName]) as any,\n foreignColumns: rawForeignKey.foreignColumns.map(\n (column) => adapter.tables[column.table][column.name],\n ),\n })\n\n if (rawForeignKey.onDelete) {\n builder = builder.onDelete(rawForeignKey.onDelete)\n }\n\n if (rawForeignKey.onUpdate) {\n builder = builder.onDelete(rawForeignKey.onUpdate)\n }\n\n config[key] = builder\n }\n }\n\n return config\n }\n\n adapter.tables[rawTable.name] = sqliteTable(rawTable.name, columns as any, extraConfig as any)\n}\n"],"names":["sql","foreignKey","index","integer","numeric","sqliteTable","text","uniqueIndex","v4","uuidv4","rawColumnBuilderMap","buildDrizzleTable","adapter","locales","rawTable","columns","key","column","Object","entries","type","name","mode","enum","options","builder","defaultNow","default","length","defaultRandom","$defaultFn","reference","ref","references","tables","table","onDelete","primaryKey","args","undefined","autoIncrement","notNull","sanitizedDefault","Array","isArray","JSON","stringify","coordinates","extraConfig","cols","config","indexes","rawIndex","fn","unique","on","map","colName","foreignKeys","rawForeignKey","foreignColumns","onUpdate"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { SetColumnID } from '../../types.js';
2
- export declare const setColumnID: SetColumnID;
3
- //# sourceMappingURL=setColumnID.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setColumnID.d.ts","sourceRoot":"","sources":["../../../src/sqlite/schema/setColumnID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjD,eAAO,MAAM,WAAW,EAAE,WAyCzB,CAAA"}
@@ -1,39 +0,0 @@
1
- export const setColumnID = ({ adapter, columns, fields })=>{
2
- const idField = fields.find((field)=>field.name === 'id');
3
- if (idField) {
4
- if (idField.type === 'number') {
5
- columns.id = {
6
- name: 'id',
7
- type: 'numeric',
8
- primaryKey: true
9
- };
10
- return 'numeric';
11
- }
12
- if (idField.type === 'text') {
13
- columns.id = {
14
- name: 'id',
15
- type: 'text',
16
- primaryKey: true
17
- };
18
- return 'text';
19
- }
20
- }
21
- if (adapter.idType === 'uuid') {
22
- columns.id = {
23
- name: 'id',
24
- type: 'uuid',
25
- defaultRandom: true,
26
- primaryKey: true
27
- };
28
- return 'uuid';
29
- }
30
- columns.id = {
31
- name: 'id',
32
- type: 'integer',
33
- autoIncrement: adapter.autoIncrement,
34
- primaryKey: true
35
- };
36
- return 'integer';
37
- };
38
-
39
- //# sourceMappingURL=setColumnID.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/sqlite/schema/setColumnID.ts"],"sourcesContent":["import type { SetColumnID } from '../../types.js'\nimport type { BaseSQLiteAdapter } from '../types.js'\n\nexport const setColumnID: SetColumnID = ({ adapter, columns, fields }) => {\n const idField = fields.find((field) => field.name === 'id')\n if (idField) {\n if (idField.type === 'number') {\n columns.id = {\n name: 'id',\n type: 'numeric',\n primaryKey: true,\n }\n return 'numeric'\n }\n\n if (idField.type === 'text') {\n columns.id = {\n name: 'id',\n type: 'text',\n primaryKey: true,\n }\n return 'text'\n }\n }\n\n if (adapter.idType === 'uuid') {\n columns.id = {\n name: 'id',\n type: 'uuid',\n defaultRandom: true,\n primaryKey: true,\n }\n\n return 'uuid'\n }\n\n columns.id = {\n name: 'id',\n type: 'integer',\n autoIncrement: (adapter as unknown as BaseSQLiteAdapter).autoIncrement,\n primaryKey: true,\n }\n\n return 'integer'\n}\n"],"names":["setColumnID","adapter","columns","fields","idField","find","field","name","type","id","primaryKey","idType","defaultRandom","autoIncrement"],"mappings":"AAGA,OAAO,MAAMA,cAA2B,CAAC,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,EAAE;IACnE,MAAMC,UAAUD,OAAOE,IAAI,CAAC,CAACC,QAAUA,MAAMC,IAAI,KAAK;IACtD,IAAIH,SAAS;QACX,IAAIA,QAAQI,IAAI,KAAK,UAAU;YAC7BN,QAAQO,EAAE,GAAG;gBACXF,MAAM;gBACNC,MAAM;gBACNE,YAAY;YACd;YACA,OAAO;QACT;QAEA,IAAIN,QAAQI,IAAI,KAAK,QAAQ;YAC3BN,QAAQO,EAAE,GAAG;gBACXF,MAAM;gBACNC,MAAM;gBACNE,YAAY;YACd;YACA,OAAO;QACT;IACF;IAEA,IAAIT,QAAQU,MAAM,KAAK,QAAQ;QAC7BT,QAAQO,EAAE,GAAG;YACXF,MAAM;YACNC,MAAM;YACNI,eAAe;YACfF,YAAY;QACd;QAEA,OAAO;IACT;IAEAR,QAAQO,EAAE,GAAG;QACXF,MAAM;QACNC,MAAM;QACNK,eAAe,AAACZ,QAAyCY,aAAa;QACtEH,YAAY;IACd;IAEA,OAAO;AACT,EAAC"}