hazo_connect 2.4.7 → 2.6.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 (37) hide show
  1. package/README.md +167 -3
  2. package/dist/adapters/pg-adapter.d.ts +53 -0
  3. package/dist/adapters/pg-adapter.d.ts.map +1 -0
  4. package/dist/adapters/pg-adapter.js +76 -0
  5. package/dist/adapters/pg-adapter.js.map +1 -0
  6. package/dist/adapters/sqlite-adapter.d.ts +35 -0
  7. package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
  8. package/dist/adapters/sqlite-adapter.js +66 -0
  9. package/dist/adapters/sqlite-adapter.js.map +1 -1
  10. package/dist/factory.d.ts.map +1 -1
  11. package/dist/factory.js +7 -3
  12. package/dist/factory.js.map +1 -1
  13. package/dist/migrations/runner.d.ts +39 -0
  14. package/dist/migrations/runner.d.ts.map +1 -0
  15. package/dist/migrations/runner.js +87 -0
  16. package/dist/migrations/runner.js.map +1 -0
  17. package/dist/nextjs/setup-helpers.d.ts.map +1 -1
  18. package/dist/nextjs/setup-helpers.js +15 -4
  19. package/dist/nextjs/setup-helpers.js.map +1 -1
  20. package/dist/query-builder.d.ts +65 -0
  21. package/dist/query-builder.d.ts.map +1 -1
  22. package/dist/query-builder.js +148 -0
  23. package/dist/query-builder.js.map +1 -1
  24. package/dist/server/index.d.ts +3 -0
  25. package/dist/server/index.d.ts.map +1 -1
  26. package/dist/server/index.js +4 -1
  27. package/dist/server/index.js.map +1 -1
  28. package/dist/sqlite/query-translator.d.ts.map +1 -1
  29. package/dist/sqlite/query-translator.js +39 -2
  30. package/dist/sqlite/query-translator.js.map +1 -1
  31. package/dist/types.d.ts +1 -1
  32. package/dist/types.d.ts.map +1 -1
  33. package/dist/utils/database-url.d.ts +20 -0
  34. package/dist/utils/database-url.d.ts.map +1 -0
  35. package/dist/utils/database-url.js +44 -0
  36. package/dist/utils/database-url.js.map +1 -0
  37. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Purpose: Parse `DATABASE_URL=sqlite:...` env-var values into the SQLite
3
+ * config shape that `createHazoConnect` already understands.
4
+ *
5
+ * Supports the URI forms commonly used in sister projects:
6
+ * - `sqlite:./relative/path.db` -> resolved against cwd
7
+ * - `sqlite:relative/path.db` -> resolved against cwd
8
+ * - `sqlite:/absolute/path.db` -> taken as absolute
9
+ * - `sqlite:///absolute/path.db` -> the `file://` style; same as absolute
10
+ * - `sqlite::memory:` -> in-memory marker
11
+ *
12
+ * Returns `null` for non-sqlite URLs or empty input. Callers can layer this
13
+ * on top of the existing `HAZO_CONNECT_SQLITE_PATH` env var.
14
+ */
15
+ export interface ParsedSqliteUrl {
16
+ type: 'sqlite';
17
+ database_path: string;
18
+ }
19
+ export declare function parseDatabaseUrl(url: string | undefined, cwd?: string): ParsedSqliteUrl | null;
20
+ //# sourceMappingURL=database-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-url.d.ts","sourceRoot":"","sources":["../../src/lib/utils/database-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,GAAE,MAAsB,GAC1B,eAAe,GAAG,IAAI,CAyBxB"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * Purpose: Parse `DATABASE_URL=sqlite:...` env-var values into the SQLite
4
+ * config shape that `createHazoConnect` already understands.
5
+ *
6
+ * Supports the URI forms commonly used in sister projects:
7
+ * - `sqlite:./relative/path.db` -> resolved against cwd
8
+ * - `sqlite:relative/path.db` -> resolved against cwd
9
+ * - `sqlite:/absolute/path.db` -> taken as absolute
10
+ * - `sqlite:///absolute/path.db` -> the `file://` style; same as absolute
11
+ * - `sqlite::memory:` -> in-memory marker
12
+ *
13
+ * Returns `null` for non-sqlite URLs or empty input. Callers can layer this
14
+ * on top of the existing `HAZO_CONNECT_SQLITE_PATH` env var.
15
+ */
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.parseDatabaseUrl = parseDatabaseUrl;
21
+ const path_1 = __importDefault(require("path"));
22
+ function parseDatabaseUrl(url, cwd = process.cwd()) {
23
+ if (!url)
24
+ return null;
25
+ // Match scheme case-insensitively.
26
+ const match = url.match(/^sqlite:(.*)$/i);
27
+ if (!match)
28
+ return null;
29
+ const rest = match[1];
30
+ if (rest === ':memory:') {
31
+ return { type: 'sqlite', database_path: ':memory:' };
32
+ }
33
+ // `sqlite:///abs/path` form — three slashes after the scheme.
34
+ if (rest.startsWith('///')) {
35
+ return { type: 'sqlite', database_path: '/' + rest.slice(3) };
36
+ }
37
+ // `sqlite:/abs/path` form — single leading slash already absolute.
38
+ if (path_1.default.isAbsolute(rest)) {
39
+ return { type: 'sqlite', database_path: rest };
40
+ }
41
+ // Relative form. Strip a leading `./` for consistency before resolving.
42
+ return { type: 'sqlite', database_path: path_1.default.resolve(cwd, rest) };
43
+ }
44
+ //# sourceMappingURL=database-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-url.js","sourceRoot":"","sources":["../../src/lib/utils/database-url.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;AASH,4CA4BC;AAnCD,gDAAuB;AAOvB,SAAgB,gBAAgB,CAC9B,GAAuB,EACvB,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,mCAAmC;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAErB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA;IACtD,CAAC;IAED,8DAA8D;IAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,CAAC;IAED,mEAAmE;IACnE,IAAI,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAChD,CAAC;IAED,wEAAwE;IACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAA;AACnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_connect",
3
- "version": "2.4.7",
3
+ "version": "2.6.0",
4
4
  "description": "Module to connect to the data store (postgres via postgrest, supabase, etc)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -56,6 +56,7 @@
56
56
  "test:coverage": "jest --coverage",
57
57
  "test:integration": "POSTGREST_INTEGRATION=true jest --runInBand tests/integration/postgrest.integration.test.ts",
58
58
  "test:integration:sqlite": "jest --runInBand tests/integration/sqlite.integration.test.ts",
59
+ "test:integration:pg": "PG_INTEGRATION=true jest --runInBand tests/integration/pg.integration.test.ts",
59
60
  "prepublishOnly": "npm run build:lib",
60
61
  "postinstall": "node scripts/postinstall-setup.js"
61
62
  },
@@ -79,6 +80,7 @@
79
80
  "homepage": "https://github.com/pub12/hazo_connect#readme",
80
81
  "dependencies": {
81
82
  "dotenv": "^16.4.5",
83
+ "postgres": "^3.4.5",
82
84
  "sql.js": "^1.13.0"
83
85
  },
84
86
  "peerDependencies": {