drizzle-orm 0.35.2 → 0.35.3-4cb1bdb

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 (101) hide show
  1. package/libsql/driver-core.cjs +67 -0
  2. package/libsql/driver-core.cjs.map +1 -0
  3. package/libsql/driver-core.d.cts +8 -0
  4. package/libsql/driver-core.d.ts +8 -0
  5. package/libsql/driver-core.js +45 -0
  6. package/libsql/driver-core.js.map +1 -0
  7. package/libsql/driver.cjs +8 -43
  8. package/libsql/driver.cjs.map +1 -1
  9. package/libsql/driver.d.cts +3 -8
  10. package/libsql/driver.d.ts +3 -8
  11. package/libsql/driver.js +2 -40
  12. package/libsql/driver.js.map +1 -1
  13. package/libsql/http/index.cjs +53 -0
  14. package/libsql/http/index.cjs.map +1 -0
  15. package/libsql/http/index.d.cts +24 -0
  16. package/libsql/http/index.d.ts +24 -0
  17. package/libsql/http/index.js +29 -0
  18. package/libsql/http/index.js.map +1 -0
  19. package/libsql/node/index.cjs +53 -0
  20. package/libsql/node/index.cjs.map +1 -0
  21. package/libsql/node/index.d.cts +24 -0
  22. package/libsql/node/index.d.ts +24 -0
  23. package/libsql/node/index.js +29 -0
  24. package/libsql/node/index.js.map +1 -0
  25. package/libsql/sqlite3/index.cjs +53 -0
  26. package/libsql/sqlite3/index.cjs.map +1 -0
  27. package/libsql/sqlite3/index.d.cts +24 -0
  28. package/libsql/sqlite3/index.d.ts +24 -0
  29. package/libsql/sqlite3/index.js +29 -0
  30. package/libsql/sqlite3/index.js.map +1 -0
  31. package/libsql/wasm/index.cjs +53 -0
  32. package/libsql/wasm/index.cjs.map +1 -0
  33. package/libsql/wasm/index.d.cts +24 -0
  34. package/libsql/wasm/index.d.ts +24 -0
  35. package/libsql/wasm/index.js +29 -0
  36. package/libsql/wasm/index.js.map +1 -0
  37. package/libsql/web/index.cjs +53 -0
  38. package/libsql/web/index.cjs.map +1 -0
  39. package/libsql/web/index.d.cts +24 -0
  40. package/libsql/web/index.d.ts +24 -0
  41. package/libsql/web/index.js +29 -0
  42. package/libsql/web/index.js.map +1 -0
  43. package/libsql/ws/index.cjs +53 -0
  44. package/libsql/ws/index.cjs.map +1 -0
  45. package/libsql/ws/index.d.cts +24 -0
  46. package/libsql/ws/index.d.ts +24 -0
  47. package/libsql/ws/index.js +29 -0
  48. package/libsql/ws/index.js.map +1 -0
  49. package/neon/index.cjs +23 -0
  50. package/neon/index.cjs.map +1 -0
  51. package/neon/index.d.cts +1 -0
  52. package/neon/index.d.ts +1 -0
  53. package/neon/index.js +2 -0
  54. package/neon/index.js.map +1 -0
  55. package/neon/rls.cjs +75 -0
  56. package/neon/rls.cjs.map +1 -0
  57. package/neon/rls.d.cts +11 -0
  58. package/neon/rls.d.ts +11 -0
  59. package/neon/rls.js +48 -0
  60. package/neon/rls.js.map +1 -0
  61. package/package.json +136 -2
  62. package/pg-core/index.cjs +4 -0
  63. package/pg-core/index.cjs.map +1 -1
  64. package/pg-core/index.d.cts +2 -0
  65. package/pg-core/index.d.ts +2 -0
  66. package/pg-core/index.js +2 -0
  67. package/pg-core/index.js.map +1 -1
  68. package/pg-core/policies.cjs +52 -0
  69. package/pg-core/policies.cjs.map +1 -0
  70. package/pg-core/policies.d.cts +22 -0
  71. package/pg-core/policies.d.ts +22 -0
  72. package/pg-core/policies.js +27 -0
  73. package/pg-core/policies.js.map +1 -0
  74. package/pg-core/roles.cjs +57 -0
  75. package/pg-core/roles.cjs.map +1 -0
  76. package/pg-core/roles.d.cts +13 -0
  77. package/pg-core/roles.d.ts +13 -0
  78. package/pg-core/roles.js +32 -0
  79. package/pg-core/roles.js.map +1 -0
  80. package/pg-core/table.cjs +13 -2
  81. package/pg-core/table.cjs.map +1 -1
  82. package/pg-core/table.d.cts +25 -3
  83. package/pg-core/table.d.ts +25 -3
  84. package/pg-core/table.js +12 -2
  85. package/pg-core/table.js.map +1 -1
  86. package/pg-core/utils.cjs +10 -2
  87. package/pg-core/utils.cjs.map +1 -1
  88. package/pg-core/utils.d.cts +3 -0
  89. package/pg-core/utils.d.ts +3 -0
  90. package/pg-core/utils.js +10 -2
  91. package/pg-core/utils.js.map +1 -1
  92. package/planetscale-serverless/driver.cjs +1 -4
  93. package/planetscale-serverless/driver.cjs.map +1 -1
  94. package/planetscale-serverless/driver.js +1 -4
  95. package/planetscale-serverless/driver.js.map +1 -1
  96. package/table.cjs.map +1 -1
  97. package/table.js.map +1 -1
  98. package/version.cjs +1 -1
  99. package/version.d.cts +1 -1
  100. package/version.d.ts +1 -1
  101. package/version.js +1 -1
package/neon/index.cjs ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var neon_exports = {};
17
+ module.exports = __toCommonJS(neon_exports);
18
+ __reExport(neon_exports, require("./rls.cjs"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./rls.cjs")
22
+ });
23
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/neon/index.ts"],"sourcesContent":["export * from './rls.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,qBAAd;","names":[]}
@@ -0,0 +1 @@
1
+ export * from "./rls.cjs";
@@ -0,0 +1 @@
1
+ export * from "./rls.js";
package/neon/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./rls.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/neon/index.ts"],"sourcesContent":["export * from './rls.ts';\n"],"mappings":"AAAA,cAAc;","names":[]}
package/neon/rls.cjs ADDED
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var rls_exports = {};
20
+ __export(rls_exports, {
21
+ anonymousRole: () => anonymousRole,
22
+ authUid: () => authUid,
23
+ authenticatedRole: () => authenticatedRole,
24
+ crudPolicy: () => crudPolicy
25
+ });
26
+ module.exports = __toCommonJS(rls_exports);
27
+ var import_entity = require("../entity.cjs");
28
+ var import_pg_core = require("../pg-core/index.cjs");
29
+ var import_sql = require("../sql/sql.cjs");
30
+ const crudPolicy = (options) => {
31
+ const read = options.read === true ? import_sql.sql`true` : options.read === false || options.read === void 0 ? import_sql.sql`false` : options.read;
32
+ const modify = options.modify === true ? import_sql.sql`true` : options.modify === false || options.modify === void 0 ? import_sql.sql`false` : options.modify;
33
+ let rolesName = "";
34
+ if (Array.isArray(options.role)) {
35
+ rolesName = options.role.map((it) => {
36
+ return (0, import_entity.is)(it, import_pg_core.PgRole) ? it.name : it;
37
+ }).join("-");
38
+ } else {
39
+ rolesName = (0, import_entity.is)(options.role, import_pg_core.PgRole) ? options.role.name : options.role;
40
+ }
41
+ return [
42
+ (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-insert`, {
43
+ for: "insert",
44
+ to: options.role,
45
+ withCheck: modify
46
+ }),
47
+ (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-update`, {
48
+ for: "update",
49
+ to: options.role,
50
+ using: modify,
51
+ withCheck: modify
52
+ }),
53
+ (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-delete`, {
54
+ for: "delete",
55
+ to: options.role,
56
+ using: modify
57
+ }),
58
+ (0, import_pg_core.pgPolicy)(`crud-${rolesName}-policy-select`, {
59
+ for: "select",
60
+ to: options.role,
61
+ using: read
62
+ })
63
+ ];
64
+ };
65
+ const authenticatedRole = (0, import_pg_core.pgRole)("authenticated").existing();
66
+ const anonymousRole = (0, import_pg_core.pgRole)("anonymous").existing();
67
+ const authUid = (userIdColumn) => import_sql.sql`(select auth.user_id() = ${userIdColumn})`;
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ anonymousRole,
71
+ authUid,
72
+ authenticatedRole,
73
+ crudPolicy
74
+ });
75
+ //# sourceMappingURL=rls.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/neon/rls.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { pgPolicy, PgRole, pgRole } from '~/pg-core/index.ts';\nimport type { AnyPgColumn, PgPolicyToOption } from '~/pg-core/index.ts';\nimport { type SQL, sql } from '~/sql/sql.ts';\n\nexport const crudPolicy = (options: {\n\trole: PgPolicyToOption;\n\tread?: SQL | boolean;\n\tmodify?: SQL | boolean;\n}) => {\n\tconst read: SQL = options.read === true\n\t\t? sql`true`\n\t\t: options.read === false || options.read === undefined\n\t\t? sql`false`\n\t\t: options.read;\n\n\tconst modify: SQL = options.modify === true\n\t\t? sql`true`\n\t\t: options.modify === false || options.modify === undefined\n\t\t? sql`false`\n\t\t: options.modify;\n\n\tlet rolesName = '';\n\tif (Array.isArray(options.role)) {\n\t\trolesName = options.role\n\t\t\t.map((it) => {\n\t\t\t\treturn is(it, PgRole) ? it.name : (it as string);\n\t\t\t})\n\t\t\t.join('-');\n\t} else {\n\t\trolesName = is(options.role, PgRole)\n\t\t\t? options.role.name\n\t\t\t: (options.role as string);\n\t}\n\n\treturn [\n\t\tpgPolicy(`crud-${rolesName}-policy-insert`, {\n\t\t\tfor: 'insert',\n\t\t\tto: options.role,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-update`, {\n\t\t\tfor: 'update',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-delete`, {\n\t\t\tfor: 'delete',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-select`, {\n\t\t\tfor: 'select',\n\t\t\tto: options.role,\n\t\t\tusing: read,\n\t\t}),\n\t];\n};\n\n// These are default roles that Neon will set up.\nexport const authenticatedRole = pgRole('authenticated').existing();\nexport const anonymousRole = pgRole('anonymous').existing();\n\nexport const authUid = (userIdColumn: AnyPgColumn) => sql`(select auth.user_id() = ${userIdColumn})`;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,qBAAyC;AAEzC,iBAA8B;AAEvB,MAAM,aAAa,CAAC,YAIrB;AACL,QAAM,OAAY,QAAQ,SAAS,OAChC,uBACA,QAAQ,SAAS,SAAS,QAAQ,SAAS,SAC3C,wBACA,QAAQ;AAEX,QAAM,SAAc,QAAQ,WAAW,OACpC,uBACA,QAAQ,WAAW,SAAS,QAAQ,WAAW,SAC/C,wBACA,QAAQ;AAEX,MAAI,YAAY;AAChB,MAAI,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAChC,gBAAY,QAAQ,KAClB,IAAI,CAAC,OAAO;AACZ,iBAAO,kBAAG,IAAI,qBAAM,IAAI,GAAG,OAAQ;AAAA,IACpC,CAAC,EACA,KAAK,GAAG;AAAA,EACX,OAAO;AACN,oBAAY,kBAAG,QAAQ,MAAM,qBAAM,IAChC,QAAQ,KAAK,OACZ,QAAQ;AAAA,EACb;AAEA,SAAO;AAAA,QACN,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,WAAW;AAAA,IACZ,CAAC;AAAA,QACD,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,QACD,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,IACR,CAAC;AAAA,QACD,yBAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;AAGO,MAAM,wBAAoB,uBAAO,eAAe,EAAE,SAAS;AAC3D,MAAM,oBAAgB,uBAAO,WAAW,EAAE,SAAS;AAEnD,MAAM,UAAU,CAAC,iBAA8B,0CAA+B,YAAY;","names":[]}
package/neon/rls.d.cts ADDED
@@ -0,0 +1,11 @@
1
+ import { PgRole } from "../pg-core/index.cjs";
2
+ import type { AnyPgColumn, PgPolicyToOption } from "../pg-core/index.cjs";
3
+ import { type SQL } from "../sql/sql.cjs";
4
+ export declare const crudPolicy: (options: {
5
+ role: PgPolicyToOption;
6
+ read?: SQL | boolean;
7
+ modify?: SQL | boolean;
8
+ }) => import("../pg-core/index.ts").PgPolicy[];
9
+ export declare const authenticatedRole: PgRole;
10
+ export declare const anonymousRole: PgRole;
11
+ export declare const authUid: (userIdColumn: AnyPgColumn) => SQL<unknown>;
package/neon/rls.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { PgRole } from "../pg-core/index.js";
2
+ import type { AnyPgColumn, PgPolicyToOption } from "../pg-core/index.js";
3
+ import { type SQL } from "../sql/sql.js";
4
+ export declare const crudPolicy: (options: {
5
+ role: PgPolicyToOption;
6
+ read?: SQL | boolean;
7
+ modify?: SQL | boolean;
8
+ }) => import("../pg-core/index.js").PgPolicy[];
9
+ export declare const authenticatedRole: PgRole;
10
+ export declare const anonymousRole: PgRole;
11
+ export declare const authUid: (userIdColumn: AnyPgColumn) => SQL<unknown>;
package/neon/rls.js ADDED
@@ -0,0 +1,48 @@
1
+ import { is } from "../entity.js";
2
+ import { pgPolicy, PgRole, pgRole } from "../pg-core/index.js";
3
+ import { sql } from "../sql/sql.js";
4
+ const crudPolicy = (options) => {
5
+ const read = options.read === true ? sql`true` : options.read === false || options.read === void 0 ? sql`false` : options.read;
6
+ const modify = options.modify === true ? sql`true` : options.modify === false || options.modify === void 0 ? sql`false` : options.modify;
7
+ let rolesName = "";
8
+ if (Array.isArray(options.role)) {
9
+ rolesName = options.role.map((it) => {
10
+ return is(it, PgRole) ? it.name : it;
11
+ }).join("-");
12
+ } else {
13
+ rolesName = is(options.role, PgRole) ? options.role.name : options.role;
14
+ }
15
+ return [
16
+ pgPolicy(`crud-${rolesName}-policy-insert`, {
17
+ for: "insert",
18
+ to: options.role,
19
+ withCheck: modify
20
+ }),
21
+ pgPolicy(`crud-${rolesName}-policy-update`, {
22
+ for: "update",
23
+ to: options.role,
24
+ using: modify,
25
+ withCheck: modify
26
+ }),
27
+ pgPolicy(`crud-${rolesName}-policy-delete`, {
28
+ for: "delete",
29
+ to: options.role,
30
+ using: modify
31
+ }),
32
+ pgPolicy(`crud-${rolesName}-policy-select`, {
33
+ for: "select",
34
+ to: options.role,
35
+ using: read
36
+ })
37
+ ];
38
+ };
39
+ const authenticatedRole = pgRole("authenticated").existing();
40
+ const anonymousRole = pgRole("anonymous").existing();
41
+ const authUid = (userIdColumn) => sql`(select auth.user_id() = ${userIdColumn})`;
42
+ export {
43
+ anonymousRole,
44
+ authUid,
45
+ authenticatedRole,
46
+ crudPolicy
47
+ };
48
+ //# sourceMappingURL=rls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/neon/rls.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { pgPolicy, PgRole, pgRole } from '~/pg-core/index.ts';\nimport type { AnyPgColumn, PgPolicyToOption } from '~/pg-core/index.ts';\nimport { type SQL, sql } from '~/sql/sql.ts';\n\nexport const crudPolicy = (options: {\n\trole: PgPolicyToOption;\n\tread?: SQL | boolean;\n\tmodify?: SQL | boolean;\n}) => {\n\tconst read: SQL = options.read === true\n\t\t? sql`true`\n\t\t: options.read === false || options.read === undefined\n\t\t? sql`false`\n\t\t: options.read;\n\n\tconst modify: SQL = options.modify === true\n\t\t? sql`true`\n\t\t: options.modify === false || options.modify === undefined\n\t\t? sql`false`\n\t\t: options.modify;\n\n\tlet rolesName = '';\n\tif (Array.isArray(options.role)) {\n\t\trolesName = options.role\n\t\t\t.map((it) => {\n\t\t\t\treturn is(it, PgRole) ? it.name : (it as string);\n\t\t\t})\n\t\t\t.join('-');\n\t} else {\n\t\trolesName = is(options.role, PgRole)\n\t\t\t? options.role.name\n\t\t\t: (options.role as string);\n\t}\n\n\treturn [\n\t\tpgPolicy(`crud-${rolesName}-policy-insert`, {\n\t\t\tfor: 'insert',\n\t\t\tto: options.role,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-update`, {\n\t\t\tfor: 'update',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t\twithCheck: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-delete`, {\n\t\t\tfor: 'delete',\n\t\t\tto: options.role,\n\t\t\tusing: modify,\n\t\t}),\n\t\tpgPolicy(`crud-${rolesName}-policy-select`, {\n\t\t\tfor: 'select',\n\t\t\tto: options.role,\n\t\t\tusing: read,\n\t\t}),\n\t];\n};\n\n// These are default roles that Neon will set up.\nexport const authenticatedRole = pgRole('authenticated').existing();\nexport const anonymousRole = pgRole('anonymous').existing();\n\nexport const authUid = (userIdColumn: AnyPgColumn) => sql`(select auth.user_id() = ${userIdColumn})`;\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,UAAU,QAAQ,cAAc;AAEzC,SAAmB,WAAW;AAEvB,MAAM,aAAa,CAAC,YAIrB;AACL,QAAM,OAAY,QAAQ,SAAS,OAChC,YACA,QAAQ,SAAS,SAAS,QAAQ,SAAS,SAC3C,aACA,QAAQ;AAEX,QAAM,SAAc,QAAQ,WAAW,OACpC,YACA,QAAQ,WAAW,SAAS,QAAQ,WAAW,SAC/C,aACA,QAAQ;AAEX,MAAI,YAAY;AAChB,MAAI,MAAM,QAAQ,QAAQ,IAAI,GAAG;AAChC,gBAAY,QAAQ,KAClB,IAAI,CAAC,OAAO;AACZ,aAAO,GAAG,IAAI,MAAM,IAAI,GAAG,OAAQ;AAAA,IACpC,CAAC,EACA,KAAK,GAAG;AAAA,EACX,OAAO;AACN,gBAAY,GAAG,QAAQ,MAAM,MAAM,IAChC,QAAQ,KAAK,OACZ,QAAQ;AAAA,EACb;AAEA,SAAO;AAAA,IACN,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,IACZ,CAAC;AAAA,IACD,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,IACR,CAAC;AAAA,IACD,SAAS,QAAQ,SAAS,kBAAkB;AAAA,MAC3C,KAAK;AAAA,MACL,IAAI,QAAQ;AAAA,MACZ,OAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;AAGO,MAAM,oBAAoB,OAAO,eAAe,EAAE,SAAS;AAC3D,MAAM,gBAAgB,OAAO,WAAW,EAAE,SAAS;AAEnD,MAAM,UAAU,CAAC,iBAA8B,+BAA+B,YAAY;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "0.35.2",
3
+ "version": "0.35.3-4cb1bdb",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -45,8 +45,9 @@
45
45
  "peerDependencies": {
46
46
  "@aws-sdk/client-rds-data": ">=3",
47
47
  "@cloudflare/workers-types": ">=3",
48
- "@electric-sql/pglite": ">=0.1.1",
48
+ "@electric-sql/pglite": ">=0.2.0",
49
49
  "@libsql/client": ">=0.10.0",
50
+ "@libsql/client-wasm": ">=0.10.0",
50
51
  "@neondatabase/serverless": ">=0.1",
51
52
  "@op-engineering/op-sqlite": ">=2",
52
53
  "@opentelemetry/api": "^1.4.1",
@@ -162,6 +163,7 @@
162
163
  "@cloudflare/workers-types": "^4.20230904.0",
163
164
  "@electric-sql/pglite": "^0.2.12",
164
165
  "@libsql/client": "^0.10.0",
166
+ "@libsql/client-wasm": "^0.10.0",
165
167
  "@miniflare/d1": "^2.14.4",
166
168
  "@neondatabase/serverless": "^0.9.0",
167
169
  "@op-engineering/op-sqlite": "^2.0.16",
@@ -738,6 +740,18 @@
738
740
  "types": "./kysely/index.d.ts",
739
741
  "default": "./kysely/index.js"
740
742
  },
743
+ "./libsql/driver-core": {
744
+ "import": {
745
+ "types": "./libsql/driver-core.d.ts",
746
+ "default": "./libsql/driver-core.js"
747
+ },
748
+ "require": {
749
+ "types": "./libsql/driver-core.d.cts",
750
+ "default": "./libsql/driver-core.cjs"
751
+ },
752
+ "types": "./libsql/driver-core.d.ts",
753
+ "default": "./libsql/driver-core.js"
754
+ },
741
755
  "./libsql/driver": {
742
756
  "import": {
743
757
  "types": "./libsql/driver.d.ts",
@@ -1098,6 +1112,30 @@
1098
1112
  "types": "./mysql2/session.d.ts",
1099
1113
  "default": "./mysql2/session.js"
1100
1114
  },
1115
+ "./neon": {
1116
+ "import": {
1117
+ "types": "./neon/index.d.ts",
1118
+ "default": "./neon/index.js"
1119
+ },
1120
+ "require": {
1121
+ "types": "./neon/index.d.cts",
1122
+ "default": "./neon/index.cjs"
1123
+ },
1124
+ "types": "./neon/index.d.ts",
1125
+ "default": "./neon/index.js"
1126
+ },
1127
+ "./neon/rls": {
1128
+ "import": {
1129
+ "types": "./neon/rls.d.ts",
1130
+ "default": "./neon/rls.js"
1131
+ },
1132
+ "require": {
1133
+ "types": "./neon/rls.d.cts",
1134
+ "default": "./neon/rls.cjs"
1135
+ },
1136
+ "types": "./neon/rls.d.ts",
1137
+ "default": "./neon/rls.js"
1138
+ },
1101
1139
  "./neon-http/driver": {
1102
1140
  "import": {
1103
1141
  "types": "./neon-http/driver.d.ts",
@@ -1386,6 +1424,18 @@
1386
1424
  "types": "./pg-core/indexes.d.ts",
1387
1425
  "default": "./pg-core/indexes.js"
1388
1426
  },
1427
+ "./pg-core/policies": {
1428
+ "import": {
1429
+ "types": "./pg-core/policies.d.ts",
1430
+ "default": "./pg-core/policies.js"
1431
+ },
1432
+ "require": {
1433
+ "types": "./pg-core/policies.d.cts",
1434
+ "default": "./pg-core/policies.cjs"
1435
+ },
1436
+ "types": "./pg-core/policies.d.ts",
1437
+ "default": "./pg-core/policies.js"
1438
+ },
1389
1439
  "./pg-core/primary-keys": {
1390
1440
  "import": {
1391
1441
  "types": "./pg-core/primary-keys.d.ts",
@@ -1398,6 +1448,18 @@
1398
1448
  "types": "./pg-core/primary-keys.d.ts",
1399
1449
  "default": "./pg-core/primary-keys.js"
1400
1450
  },
1451
+ "./pg-core/roles": {
1452
+ "import": {
1453
+ "types": "./pg-core/roles.d.ts",
1454
+ "default": "./pg-core/roles.js"
1455
+ },
1456
+ "require": {
1457
+ "types": "./pg-core/roles.d.cts",
1458
+ "default": "./pg-core/roles.cjs"
1459
+ },
1460
+ "types": "./pg-core/roles.d.ts",
1461
+ "default": "./pg-core/roles.js"
1462
+ },
1401
1463
  "./pg-core/schema": {
1402
1464
  "import": {
1403
1465
  "types": "./pg-core/schema.d.ts",
@@ -2262,6 +2324,78 @@
2262
2324
  "types": "./aws-data-api/pg/session.d.ts",
2263
2325
  "default": "./aws-data-api/pg/session.js"
2264
2326
  },
2327
+ "./libsql/http": {
2328
+ "import": {
2329
+ "types": "./libsql/http/index.d.ts",
2330
+ "default": "./libsql/http/index.js"
2331
+ },
2332
+ "require": {
2333
+ "types": "./libsql/http/index.d.cts",
2334
+ "default": "./libsql/http/index.cjs"
2335
+ },
2336
+ "types": "./libsql/http/index.d.ts",
2337
+ "default": "./libsql/http/index.js"
2338
+ },
2339
+ "./libsql/node": {
2340
+ "import": {
2341
+ "types": "./libsql/node/index.d.ts",
2342
+ "default": "./libsql/node/index.js"
2343
+ },
2344
+ "require": {
2345
+ "types": "./libsql/node/index.d.cts",
2346
+ "default": "./libsql/node/index.cjs"
2347
+ },
2348
+ "types": "./libsql/node/index.d.ts",
2349
+ "default": "./libsql/node/index.js"
2350
+ },
2351
+ "./libsql/sqlite3": {
2352
+ "import": {
2353
+ "types": "./libsql/sqlite3/index.d.ts",
2354
+ "default": "./libsql/sqlite3/index.js"
2355
+ },
2356
+ "require": {
2357
+ "types": "./libsql/sqlite3/index.d.cts",
2358
+ "default": "./libsql/sqlite3/index.cjs"
2359
+ },
2360
+ "types": "./libsql/sqlite3/index.d.ts",
2361
+ "default": "./libsql/sqlite3/index.js"
2362
+ },
2363
+ "./libsql/wasm": {
2364
+ "import": {
2365
+ "types": "./libsql/wasm/index.d.ts",
2366
+ "default": "./libsql/wasm/index.js"
2367
+ },
2368
+ "require": {
2369
+ "types": "./libsql/wasm/index.d.cts",
2370
+ "default": "./libsql/wasm/index.cjs"
2371
+ },
2372
+ "types": "./libsql/wasm/index.d.ts",
2373
+ "default": "./libsql/wasm/index.js"
2374
+ },
2375
+ "./libsql/web": {
2376
+ "import": {
2377
+ "types": "./libsql/web/index.d.ts",
2378
+ "default": "./libsql/web/index.js"
2379
+ },
2380
+ "require": {
2381
+ "types": "./libsql/web/index.d.cts",
2382
+ "default": "./libsql/web/index.cjs"
2383
+ },
2384
+ "types": "./libsql/web/index.d.ts",
2385
+ "default": "./libsql/web/index.js"
2386
+ },
2387
+ "./libsql/ws": {
2388
+ "import": {
2389
+ "types": "./libsql/ws/index.d.ts",
2390
+ "default": "./libsql/ws/index.js"
2391
+ },
2392
+ "require": {
2393
+ "types": "./libsql/ws/index.d.cts",
2394
+ "default": "./libsql/ws/index.cjs"
2395
+ },
2396
+ "types": "./libsql/ws/index.d.ts",
2397
+ "default": "./libsql/ws/index.js"
2398
+ },
2265
2399
  "./mysql-core/columns/all": {
2266
2400
  "import": {
2267
2401
  "types": "./mysql-core/columns/all.d.ts",
package/pg-core/index.cjs CHANGED
@@ -22,8 +22,10 @@ __reExport(pg_core_exports, require("./db.cjs"), module.exports);
22
22
  __reExport(pg_core_exports, require("./dialect.cjs"), module.exports);
23
23
  __reExport(pg_core_exports, require("./foreign-keys.cjs"), module.exports);
24
24
  __reExport(pg_core_exports, require("./indexes.cjs"), module.exports);
25
+ __reExport(pg_core_exports, require("./policies.cjs"), module.exports);
25
26
  __reExport(pg_core_exports, require("./primary-keys.cjs"), module.exports);
26
27
  __reExport(pg_core_exports, require("./query-builders/index.cjs"), module.exports);
28
+ __reExport(pg_core_exports, require("./roles.cjs"), module.exports);
27
29
  __reExport(pg_core_exports, require("./schema.cjs"), module.exports);
28
30
  __reExport(pg_core_exports, require("./sequence.cjs"), module.exports);
29
31
  __reExport(pg_core_exports, require("./session.cjs"), module.exports);
@@ -43,8 +45,10 @@ __reExport(pg_core_exports, require("./view.cjs"), module.exports);
43
45
  ...require("./dialect.cjs"),
44
46
  ...require("./foreign-keys.cjs"),
45
47
  ...require("./indexes.cjs"),
48
+ ...require("./policies.cjs"),
46
49
  ...require("./primary-keys.cjs"),
47
50
  ...require("./query-builders/index.cjs"),
51
+ ...require("./roles.cjs"),
48
52
  ...require("./schema.cjs"),
49
53
  ...require("./sequence.cjs"),
50
54
  ...require("./session.cjs"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './checks.ts';\nexport * from './columns/index.ts';\nexport * from './db.ts';\nexport * from './dialect.ts';\nexport * from './foreign-keys.ts';\nexport * from './indexes.ts';\nexport * from './primary-keys.ts';\nexport * from './query-builders/index.ts';\nexport * from './schema.ts';\nexport * from './sequence.ts';\nexport * from './session.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './unique-constraint.ts';\nexport * from './utils.ts';\nexport * from './utils/index.ts';\nexport * from './view-common.ts';\nexport * from './view.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,uBAAd;AACA,4BAAc,wBADd;AAEA,4BAAc,+BAFd;AAGA,4BAAc,oBAHd;AAIA,4BAAc,yBAJd;AAKA,4BAAc,8BALd;AAMA,4BAAc,yBANd;AAOA,4BAAc,8BAPd;AAQA,4BAAc,sCARd;AASA,4BAAc,wBATd;AAUA,4BAAc,0BAVd;AAWA,4BAAc,yBAXd;AAYA,4BAAc,0BAZd;AAaA,4BAAc,uBAbd;AAcA,4BAAc,mCAdd;AAeA,4BAAc,uBAfd;AAgBA,4BAAc,6BAhBd;AAiBA,4BAAc,6BAjBd;AAkBA,4BAAc,sBAlBd;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './checks.ts';\nexport * from './columns/index.ts';\nexport * from './db.ts';\nexport * from './dialect.ts';\nexport * from './foreign-keys.ts';\nexport * from './indexes.ts';\nexport * from './policies.ts';\nexport * from './primary-keys.ts';\nexport * from './query-builders/index.ts';\nexport * from './roles.ts';\nexport * from './schema.ts';\nexport * from './sequence.ts';\nexport * from './session.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './unique-constraint.ts';\nexport * from './utils.ts';\nexport * from './utils/index.ts';\nexport * from './view-common.ts';\nexport * from './view.ts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,uBAAd;AACA,4BAAc,wBADd;AAEA,4BAAc,+BAFd;AAGA,4BAAc,oBAHd;AAIA,4BAAc,yBAJd;AAKA,4BAAc,8BALd;AAMA,4BAAc,yBANd;AAOA,4BAAc,0BAPd;AAQA,4BAAc,8BARd;AASA,4BAAc,sCATd;AAUA,4BAAc,uBAVd;AAWA,4BAAc,wBAXd;AAYA,4BAAc,0BAZd;AAaA,4BAAc,yBAbd;AAcA,4BAAc,0BAdd;AAeA,4BAAc,uBAfd;AAgBA,4BAAc,mCAhBd;AAiBA,4BAAc,uBAjBd;AAkBA,4BAAc,6BAlBd;AAmBA,4BAAc,6BAnBd;AAoBA,4BAAc,sBApBd;","names":[]}
@@ -5,8 +5,10 @@ export * from "./db.cjs";
5
5
  export * from "./dialect.cjs";
6
6
  export * from "./foreign-keys.cjs";
7
7
  export * from "./indexes.cjs";
8
+ export * from "./policies.cjs";
8
9
  export * from "./primary-keys.cjs";
9
10
  export * from "./query-builders/index.cjs";
11
+ export * from "./roles.cjs";
10
12
  export * from "./schema.cjs";
11
13
  export * from "./sequence.cjs";
12
14
  export * from "./session.cjs";
@@ -5,8 +5,10 @@ export * from "./db.js";
5
5
  export * from "./dialect.js";
6
6
  export * from "./foreign-keys.js";
7
7
  export * from "./indexes.js";
8
+ export * from "./policies.js";
8
9
  export * from "./primary-keys.js";
9
10
  export * from "./query-builders/index.js";
11
+ export * from "./roles.js";
10
12
  export * from "./schema.js";
11
13
  export * from "./sequence.js";
12
14
  export * from "./session.js";
package/pg-core/index.js CHANGED
@@ -5,8 +5,10 @@ export * from "./db.js";
5
5
  export * from "./dialect.js";
6
6
  export * from "./foreign-keys.js";
7
7
  export * from "./indexes.js";
8
+ export * from "./policies.js";
8
9
  export * from "./primary-keys.js";
9
10
  export * from "./query-builders/index.js";
11
+ export * from "./roles.js";
10
12
  export * from "./schema.js";
11
13
  export * from "./sequence.js";
12
14
  export * from "./session.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pg-core/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './checks.ts';\nexport * from './columns/index.ts';\nexport * from './db.ts';\nexport * from './dialect.ts';\nexport * from './foreign-keys.ts';\nexport * from './indexes.ts';\nexport * from './primary-keys.ts';\nexport * from './query-builders/index.ts';\nexport * from './schema.ts';\nexport * from './sequence.ts';\nexport * from './session.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './unique-constraint.ts';\nexport * from './utils.ts';\nexport * from './utils/index.ts';\nexport * from './view-common.ts';\nexport * from './view.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/pg-core/index.ts"],"sourcesContent":["export * from './alias.ts';\nexport * from './checks.ts';\nexport * from './columns/index.ts';\nexport * from './db.ts';\nexport * from './dialect.ts';\nexport * from './foreign-keys.ts';\nexport * from './indexes.ts';\nexport * from './policies.ts';\nexport * from './primary-keys.ts';\nexport * from './query-builders/index.ts';\nexport * from './roles.ts';\nexport * from './schema.ts';\nexport * from './sequence.ts';\nexport * from './session.ts';\nexport * from './subquery.ts';\nexport * from './table.ts';\nexport * from './unique-constraint.ts';\nexport * from './utils.ts';\nexport * from './utils/index.ts';\nexport * from './view-common.ts';\nexport * from './view.ts';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var policies_exports = {};
20
+ __export(policies_exports, {
21
+ PgPolicy: () => PgPolicy,
22
+ pgPolicy: () => pgPolicy
23
+ });
24
+ module.exports = __toCommonJS(policies_exports);
25
+ var import_entity = require("../entity.cjs");
26
+ class PgPolicy {
27
+ constructor(name, config) {
28
+ this.name = name;
29
+ if (config) {
30
+ this.as = config.as;
31
+ this.for = config.for;
32
+ this.to = config.to;
33
+ this.using = config.using;
34
+ this.withCheck = config.withCheck;
35
+ }
36
+ }
37
+ static [import_entity.entityKind] = "PgPolicy";
38
+ as;
39
+ for;
40
+ to;
41
+ using;
42
+ withCheck;
43
+ }
44
+ function pgPolicy(name, config) {
45
+ return new PgPolicy(name, config);
46
+ }
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ PgPolicy,
50
+ pgPolicy
51
+ });
52
+ //# sourceMappingURL=policies.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/pg-core/policies.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { PgRole } from './roles.ts';\n\nexport type PgPolicyToOption =\n\t| 'public'\n\t| 'current_role'\n\t| 'current_user'\n\t| 'session_user'\n\t| (string & {})\n\t| PgPolicyToOption[]\n\t| PgRole;\n\nexport interface PgPolicyConfig {\n\tas?: 'permissive' | 'restrictive';\n\tfor?: 'all' | 'select' | 'insert' | 'update' | 'delete';\n\tto?: PgPolicyToOption;\n\tusing?: SQL;\n\twithCheck?: SQL;\n}\n\nexport class PgPolicy implements PgPolicyConfig {\n\tstatic readonly [entityKind]: string = 'PgPolicy';\n\n\treadonly as: PgPolicyConfig['as'];\n\treadonly for: PgPolicyConfig['for'];\n\treadonly to: PgPolicyConfig['to'];\n\treadonly using: PgPolicyConfig['using'];\n\treadonly withCheck: PgPolicyConfig['withCheck'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgPolicyConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.as = config.as;\n\t\t\tthis.for = config.for;\n\t\t\tthis.to = config.to;\n\t\t\tthis.using = config.using;\n\t\t\tthis.withCheck = config.withCheck;\n\t\t}\n\t}\n}\n\nexport function pgPolicy(name: string, config?: PgPolicyConfig) {\n\treturn new PgPolicy(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAqBpB,MAAM,SAAmC;AAAA,EAS/C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,KAAK,OAAO;AACjB,WAAK,MAAM,OAAO;AAClB,WAAK,KAAK,OAAO;AACjB,WAAK,QAAQ,OAAO;AACpB,WAAK,YAAY,OAAO;AAAA,IACzB;AAAA,EACD;AAAA,EAnBA,QAAiB,wBAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAcV;AAEO,SAAS,SAAS,MAAc,QAAyB;AAC/D,SAAO,IAAI,SAAS,MAAM,MAAM;AACjC;","names":[]}
@@ -0,0 +1,22 @@
1
+ import { entityKind } from "../entity.cjs";
2
+ import type { SQL } from "../sql/sql.cjs";
3
+ import type { PgRole } from "./roles.cjs";
4
+ export type PgPolicyToOption = 'public' | 'current_role' | 'current_user' | 'session_user' | (string & {}) | PgPolicyToOption[] | PgRole;
5
+ export interface PgPolicyConfig {
6
+ as?: 'permissive' | 'restrictive';
7
+ for?: 'all' | 'select' | 'insert' | 'update' | 'delete';
8
+ to?: PgPolicyToOption;
9
+ using?: SQL;
10
+ withCheck?: SQL;
11
+ }
12
+ export declare class PgPolicy implements PgPolicyConfig {
13
+ readonly name: string;
14
+ static readonly [entityKind]: string;
15
+ readonly as: PgPolicyConfig['as'];
16
+ readonly for: PgPolicyConfig['for'];
17
+ readonly to: PgPolicyConfig['to'];
18
+ readonly using: PgPolicyConfig['using'];
19
+ readonly withCheck: PgPolicyConfig['withCheck'];
20
+ constructor(name: string, config?: PgPolicyConfig);
21
+ }
22
+ export declare function pgPolicy(name: string, config?: PgPolicyConfig): PgPolicy;
@@ -0,0 +1,22 @@
1
+ import { entityKind } from "../entity.js";
2
+ import type { SQL } from "../sql/sql.js";
3
+ import type { PgRole } from "./roles.js";
4
+ export type PgPolicyToOption = 'public' | 'current_role' | 'current_user' | 'session_user' | (string & {}) | PgPolicyToOption[] | PgRole;
5
+ export interface PgPolicyConfig {
6
+ as?: 'permissive' | 'restrictive';
7
+ for?: 'all' | 'select' | 'insert' | 'update' | 'delete';
8
+ to?: PgPolicyToOption;
9
+ using?: SQL;
10
+ withCheck?: SQL;
11
+ }
12
+ export declare class PgPolicy implements PgPolicyConfig {
13
+ readonly name: string;
14
+ static readonly [entityKind]: string;
15
+ readonly as: PgPolicyConfig['as'];
16
+ readonly for: PgPolicyConfig['for'];
17
+ readonly to: PgPolicyConfig['to'];
18
+ readonly using: PgPolicyConfig['using'];
19
+ readonly withCheck: PgPolicyConfig['withCheck'];
20
+ constructor(name: string, config?: PgPolicyConfig);
21
+ }
22
+ export declare function pgPolicy(name: string, config?: PgPolicyConfig): PgPolicy;
@@ -0,0 +1,27 @@
1
+ import { entityKind } from "../entity.js";
2
+ class PgPolicy {
3
+ constructor(name, config) {
4
+ this.name = name;
5
+ if (config) {
6
+ this.as = config.as;
7
+ this.for = config.for;
8
+ this.to = config.to;
9
+ this.using = config.using;
10
+ this.withCheck = config.withCheck;
11
+ }
12
+ }
13
+ static [entityKind] = "PgPolicy";
14
+ as;
15
+ for;
16
+ to;
17
+ using;
18
+ withCheck;
19
+ }
20
+ function pgPolicy(name, config) {
21
+ return new PgPolicy(name, config);
22
+ }
23
+ export {
24
+ PgPolicy,
25
+ pgPolicy
26
+ };
27
+ //# sourceMappingURL=policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/pg-core/policies.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport type { PgRole } from './roles.ts';\n\nexport type PgPolicyToOption =\n\t| 'public'\n\t| 'current_role'\n\t| 'current_user'\n\t| 'session_user'\n\t| (string & {})\n\t| PgPolicyToOption[]\n\t| PgRole;\n\nexport interface PgPolicyConfig {\n\tas?: 'permissive' | 'restrictive';\n\tfor?: 'all' | 'select' | 'insert' | 'update' | 'delete';\n\tto?: PgPolicyToOption;\n\tusing?: SQL;\n\twithCheck?: SQL;\n}\n\nexport class PgPolicy implements PgPolicyConfig {\n\tstatic readonly [entityKind]: string = 'PgPolicy';\n\n\treadonly as: PgPolicyConfig['as'];\n\treadonly for: PgPolicyConfig['for'];\n\treadonly to: PgPolicyConfig['to'];\n\treadonly using: PgPolicyConfig['using'];\n\treadonly withCheck: PgPolicyConfig['withCheck'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgPolicyConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.as = config.as;\n\t\t\tthis.for = config.for;\n\t\t\tthis.to = config.to;\n\t\t\tthis.using = config.using;\n\t\t\tthis.withCheck = config.withCheck;\n\t\t}\n\t}\n}\n\nexport function pgPolicy(name: string, config?: PgPolicyConfig) {\n\treturn new PgPolicy(name, config);\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAqBpB,MAAM,SAAmC;AAAA,EAS/C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,KAAK,OAAO;AACjB,WAAK,MAAM,OAAO;AAClB,WAAK,KAAK,OAAO;AACjB,WAAK,QAAQ,OAAO;AACpB,WAAK,YAAY,OAAO;AAAA,IACzB;AAAA,EACD;AAAA,EAnBA,QAAiB,UAAU,IAAY;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAcV;AAEO,SAAS,SAAS,MAAc,QAAyB;AAC/D,SAAO,IAAI,SAAS,MAAM,MAAM;AACjC;","names":[]}