@bridgekitux/postgres 0.1.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.
package/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # @bridgekitux/postgres
2
+
3
+ PostgreSQL adapter for BridgeKit-enabled restricted runtimes.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install @bridgekitux/client @bridgekitux/postgres
9
+ ```
10
+
11
+ ## Use
12
+
13
+ ```ts
14
+ import { bridgekit } from '@bridgekitux/client';
15
+ import { createBridgePostgresClient } from '@bridgekitux/postgres';
16
+
17
+ await bridgekit.connect();
18
+ const db = createBridgePostgresClient('local-postgres');
19
+ const result = await db.query('SELECT * FROM users');
20
+ ```
21
+
22
+ For existing `pg`-style code, use the compatibility entry point:
23
+
24
+ ```ts
25
+ import { Pool } from '@bridgekitux/postgres/pg-compatible';
26
+
27
+ const pool = new Pool({ bridgeResource: 'local-postgres' });
28
+ ```
@@ -0,0 +1,21 @@
1
+ import { type BridgeKitClient } from '@bridgekitux/client';
2
+ export interface BridgePostgresQueryResult<TRow = Record<string, unknown>> {
3
+ rows: TRow[];
4
+ rowCount?: number;
5
+ fields?: Array<{
6
+ name: string;
7
+ dataTypeID?: number;
8
+ }>;
9
+ }
10
+ export declare function createBridgePostgresClient(resourceId: string, client?: BridgeKitClient): {
11
+ connect: () => Promise<unknown>;
12
+ query: <TRow = Record<string, unknown>>(sql: string, params?: unknown[]) => Promise<BridgePostgresQueryResult<TRow>>;
13
+ inspectSchema: () => Promise<any>;
14
+ listTables: () => Promise<any>;
15
+ runMigration: (sql: string) => Promise<any>;
16
+ raw: (args: unknown) => Promise<any>;
17
+ close: () => Promise<unknown>;
18
+ end: () => Promise<unknown>;
19
+ };
20
+ export { bridgekit } from '@bridgekitux/client';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,yBAAyB,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,eAA2B;;YAGhF,IAAI,iCAAiC,MAAM,WAAW,OAAO,EAAE,KAAG,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;;;wBAGpG,MAAM;gBACd,OAAO;;;EAItB;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { bridgekit } from '@bridgekitux/client';
2
+ export function createBridgePostgresClient(resourceId, client = bridgekit) {
3
+ return {
4
+ connect: () => client.database(resourceId).connect(),
5
+ query: async (sql, params) => client.database(resourceId).query(sql, params),
6
+ inspectSchema: () => client.database(resourceId).inspectSchema(),
7
+ listTables: () => client.database(resourceId).listTables(),
8
+ runMigration: (sql) => client.database(resourceId).runMigration(sql),
9
+ raw: (args) => client.database(resourceId).raw(args),
10
+ close: () => client.database(resourceId).close(),
11
+ end: () => client.database(resourceId).close()
12
+ };
13
+ }
14
+ export { bridgekit } from '@bridgekitux/client';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAC;AAQtE,MAAM,UAAU,0BAA0B,CAAC,UAAkB,EAAE,SAA0B,SAAS;IAChG,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;QACpD,KAAK,EAAE,KAAK,EAAkC,GAAW,EAAE,MAAkB,EAA4C,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;QAC1K,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE;QAChE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE;QAC1D,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;QAC5E,GAAG,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7D,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;QAChD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type BridgeKitClient } from '@bridgekitux/client';
2
+ export interface BridgePoolOptions {
3
+ bridgeResource: string;
4
+ bridgekit?: BridgeKitClient;
5
+ }
6
+ export declare class Pool {
7
+ private readonly db;
8
+ constructor(options: BridgePoolOptions);
9
+ query(sql: string, params?: unknown[]): Promise<import("./index.js").BridgePostgresQueryResult<Record<string, unknown>>>;
10
+ end(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=pg-compatible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-compatible.d.ts","sourceRoot":"","sources":["../../src/pg-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtE,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,qBAAa,IAAI;IACf,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgD;gBACvD,OAAO,EAAE,iBAAiB;IAGtC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE;IAG/B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3B"}
@@ -0,0 +1,15 @@
1
+ import { bridgekit } from '@bridgekitux/client';
2
+ import { createBridgePostgresClient } from './index.js';
3
+ export class Pool {
4
+ db;
5
+ constructor(options) {
6
+ this.db = createBridgePostgresClient(options.bridgeResource, options.bridgekit ?? bridgekit);
7
+ }
8
+ query(sql, params) {
9
+ return this.db.query(sql, params);
10
+ }
11
+ async end() {
12
+ await this.db.end();
13
+ }
14
+ }
15
+ //# sourceMappingURL=pg-compatible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-compatible.js","sourceRoot":"","sources":["../../src/pg-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAOxD,MAAM,OAAO,IAAI;IACE,EAAE,CAAgD;IACnE,YAAY,OAA0B;QACpC,IAAI,CAAC,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,MAAkB;QACnC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@bridgekitux/postgres",
3
+ "version": "0.1.0",
4
+ "license": "Apache-2.0",
5
+ "description": "BridgeKit PostgreSQL adapter for restricted runtimes.",
6
+ "type": "module",
7
+ "main": "./dist/src/index.js",
8
+ "types": "./dist/src/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/src/index.d.ts",
12
+ "import": "./dist/src/index.js"
13
+ },
14
+ "./pg-compatible": {
15
+ "types": "./dist/src/pg-compatible.d.ts",
16
+ "import": "./dist/src/pg-compatible.js"
17
+ }
18
+ },
19
+ "scripts": {
20
+ "build": "tsc -b",
21
+ "test": "node --test dist/test/*.test.js"
22
+ },
23
+ "dependencies": {
24
+ "@bridgekitux/client": "0.1.0"
25
+ },
26
+ "files": [
27
+ "dist/src",
28
+ "README.md"
29
+ ],
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "keywords": [
34
+ "bridgekit",
35
+ "webcontainer",
36
+ "sandbox",
37
+ "capability",
38
+ "local-agent",
39
+ "browser-ide",
40
+ "postgres"
41
+ ]
42
+ }