@payloadcms/drizzle 3.0.0-beta.126 → 3.0.0-beta.128

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 (74) hide show
  1. package/dist/countGlobalVersions.d.ts +3 -0
  2. package/dist/countGlobalVersions.d.ts.map +1 -0
  3. package/dist/countGlobalVersions.js +27 -0
  4. package/dist/countGlobalVersions.js.map +1 -0
  5. package/dist/countVersions.d.ts +3 -0
  6. package/dist/countVersions.d.ts.map +1 -0
  7. package/dist/countVersions.js +27 -0
  8. package/dist/countVersions.js.map +1 -0
  9. package/dist/exports/postgres.d.ts +1 -1
  10. package/dist/exports/postgres.d.ts.map +1 -1
  11. package/dist/exports/postgres.js +1 -1
  12. package/dist/exports/postgres.js.map +1 -1
  13. package/dist/find/traverseFields.d.ts.map +1 -1
  14. package/dist/find/traverseFields.js +51 -22
  15. package/dist/find/traverseFields.js.map +1 -1
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +2 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/migrate.d.ts.map +1 -1
  21. package/dist/migrate.js +3 -0
  22. package/dist/migrate.js.map +1 -1
  23. package/dist/migrateFresh.d.ts.map +1 -1
  24. package/dist/migrateFresh.js +3 -0
  25. package/dist/migrateFresh.js.map +1 -1
  26. package/dist/postgres/createExtensions.d.ts +3 -0
  27. package/dist/postgres/createExtensions.d.ts.map +1 -0
  28. package/dist/postgres/createExtensions.js +16 -0
  29. package/dist/postgres/createExtensions.js.map +1 -0
  30. package/dist/postgres/createJSONQuery/index.d.ts +2 -9
  31. package/dist/postgres/createJSONQuery/index.d.ts.map +1 -1
  32. package/dist/postgres/createJSONQuery/index.js +34 -46
  33. package/dist/postgres/createJSONQuery/index.js.map +1 -1
  34. package/dist/postgres/defaultSnapshot.d.ts.map +1 -1
  35. package/dist/postgres/defaultSnapshot.js +2 -0
  36. package/dist/postgres/defaultSnapshot.js.map +1 -1
  37. package/dist/postgres/schema/geometryColumn.d.ts +12 -0
  38. package/dist/postgres/schema/geometryColumn.d.ts.map +1 -0
  39. package/dist/postgres/schema/geometryColumn.js +18 -0
  40. package/dist/postgres/schema/geometryColumn.js.map +1 -0
  41. package/dist/postgres/schema/traverseFields.d.ts.map +1 -1
  42. package/dist/postgres/schema/traverseFields.js +248 -244
  43. package/dist/postgres/schema/traverseFields.js.map +1 -1
  44. package/dist/postgres/schema/withDefault.d.ts.map +1 -1
  45. package/dist/postgres/schema/withDefault.js +3 -0
  46. package/dist/postgres/schema/withDefault.js.map +1 -1
  47. package/dist/postgres/types.d.ts +3 -0
  48. package/dist/postgres/types.d.ts.map +1 -1
  49. package/dist/postgres/types.js.map +1 -1
  50. package/dist/queries/getTableColumnFromPath.js +170 -170
  51. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  52. package/dist/queries/operatorMap.d.ts.map +1 -1
  53. package/dist/queries/operatorMap.js +0 -4
  54. package/dist/queries/operatorMap.js.map +1 -1
  55. package/dist/queries/parseParams.d.ts.map +1 -1
  56. package/dist/queries/parseParams.js +38 -5
  57. package/dist/queries/parseParams.js.map +1 -1
  58. package/dist/queries/sanitizeQueryValue.js +8 -2
  59. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  60. package/dist/transform/read/traverseFields.js +15 -15
  61. package/dist/transform/read/traverseFields.js.map +1 -1
  62. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  63. package/dist/transform/write/traverseFields.js +4 -0
  64. package/dist/transform/write/traverseFields.js.map +1 -1
  65. package/dist/types.d.ts +4 -3
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/types.js.map +1 -1
  68. package/dist/upsertRow/index.js +2 -2
  69. package/dist/upsertRow/index.js.map +1 -1
  70. package/dist/utilities/pushDevSchema.d.ts.map +1 -1
  71. package/dist/utilities/pushDevSchema.js +5 -0
  72. package/dist/utilities/pushDevSchema.js.map +1 -1
  73. package/license.md +22 -0
  74. package/package.json +12 -5
@@ -1,54 +1,42 @@
1
- import { convertPathToJSONTraversal } from './convertPathToJSONTraversal.js';
2
- import { formatJSONPathSegment } from './formatJSONPathSegment.js';
3
1
  const operatorMap = {
4
- contains: '~*',
5
- equals: '=',
6
- like: '~*'
2
+ contains: '~',
3
+ equals: '==',
4
+ in: 'in',
5
+ like: 'like_regex',
6
+ not_equals: '!=',
7
+ not_in: 'in'
7
8
  };
8
- const fromArray = ({ isRoot, operator, pathSegments, treatAsArray, value })=>{
9
- const newPathSegments = pathSegments.slice(isRoot ? 1 : 2);
10
- const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`;
11
- newPathSegments.unshift(alias);
12
- const arrayElements = isRoot ? pathSegments[0] : `${pathSegments[0]} -> ${formatJSONPathSegment(pathSegments[1])}`;
13
- return `EXISTS (
14
- SELECT 1
15
- FROM jsonb_array_elements(${arrayElements}) AS ${alias}
16
- WHERE ${createJSONQuery({
17
- operator,
18
- pathSegments: newPathSegments,
19
- treatAsArray,
20
- value
21
- })}
22
- )`;
23
- };
24
- const createConstraint = ({ operator, pathSegments, value })=>{
25
- const jsonQuery = convertPathToJSONTraversal(pathSegments);
26
- return `${pathSegments[0]}${jsonQuery} ${operatorMap[operator]} '${value}'`;
27
- };
28
- export const createJSONQuery = ({ operator, pathSegments, treatAsArray, treatRootAsArray, value })=>{
29
- if (treatRootAsArray) {
30
- return fromArray({
31
- isRoot: true,
32
- operator,
33
- pathSegments,
34
- treatAsArray,
35
- value
36
- });
9
+ const sanitizeValue = (value, operator)=>{
10
+ if (typeof value === 'string') {
11
+ // ignore casing with like
12
+ return `"${operator === 'like' ? '(?i)' : ''}${value}"`;
37
13
  }
38
- if (treatAsArray.includes(pathSegments[1])) {
39
- return fromArray({
40
- operator,
41
- pathSegments,
42
- treatAsArray,
43
- value
14
+ return value;
15
+ };
16
+ export const createJSONQuery = ({ column, operator, pathSegments, value })=>{
17
+ const columnName = typeof column === 'object' ? column.name : column;
18
+ const jsonPaths = pathSegments.slice(1).map((key)=>{
19
+ return `${key}[*]`;
20
+ }).join('.');
21
+ let sql = '';
22
+ if ([
23
+ 'in',
24
+ 'not_in'
25
+ ].includes(operator) && Array.isArray(value)) {
26
+ value.forEach((item, i)=>{
27
+ sql = `${sql}${createJSONQuery({
28
+ column,
29
+ operator: operator === 'in' ? 'equals' : 'not_equals',
30
+ pathSegments,
31
+ value: item
32
+ })}${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`;
44
33
  });
34
+ } else if (operator === 'exists') {
35
+ sql = `${value === false ? 'NOT ' : ''}jsonb_path_exists(${columnName}, '$.${jsonPaths}')`;
36
+ } else {
37
+ sql = `jsonb_path_exists(${columnName}, '$.${jsonPaths} ? (@ ${operatorMap[operator]} ${sanitizeValue(value, operator)})')`;
45
38
  }
46
- return createConstraint({
47
- operator,
48
- pathSegments,
49
- treatAsArray,
50
- value
51
- });
39
+ return sql;
52
40
  };
53
41
 
54
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/postgres/createJSONQuery/index.ts"],"sourcesContent":["import { convertPathToJSONTraversal } from './convertPathToJSONTraversal.js'\nimport { formatJSONPathSegment } from './formatJSONPathSegment.js'\n\nconst operatorMap = {\n contains: '~*',\n equals: '=',\n like: '~*',\n}\n\ntype FromArrayArgs = {\n isRoot?: true\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n value: unknown\n}\n\nconst fromArray = ({ isRoot, operator, pathSegments, treatAsArray, value }: FromArrayArgs) => {\n const newPathSegments = pathSegments.slice(isRoot ? 1 : 2)\n const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`\n\n newPathSegments.unshift(alias)\n\n const arrayElements = isRoot\n ? pathSegments[0]\n : `${pathSegments[0]} -> ${formatJSONPathSegment(pathSegments[1])}`\n\n return `EXISTS (\n SELECT 1\n FROM jsonb_array_elements(${arrayElements}) AS ${alias}\n WHERE ${createJSONQuery({\n operator,\n pathSegments: newPathSegments,\n treatAsArray,\n value,\n })}\n )`\n}\n\ntype CreateConstraintArgs = {\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n value: unknown\n}\n\nconst createConstraint = ({ operator, pathSegments, value }: CreateConstraintArgs): string => {\n const jsonQuery = convertPathToJSONTraversal(pathSegments)\n return `${pathSegments[0]}${jsonQuery} ${operatorMap[operator]} '${value}'`\n}\n\ntype Args = {\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n treatRootAsArray?: boolean\n value: unknown\n}\n\nexport const createJSONQuery = ({\n operator,\n pathSegments,\n treatAsArray,\n treatRootAsArray,\n value,\n}: Args): string => {\n if (treatRootAsArray) {\n return fromArray({\n isRoot: true,\n operator,\n pathSegments,\n treatAsArray,\n value,\n })\n }\n\n if (treatAsArray.includes(pathSegments[1])) {\n return fromArray({\n operator,\n pathSegments,\n treatAsArray,\n value,\n })\n }\n\n return createConstraint({ operator, pathSegments, treatAsArray, value })\n}\n"],"names":["convertPathToJSONTraversal","formatJSONPathSegment","operatorMap","contains","equals","like","fromArray","isRoot","operator","pathSegments","treatAsArray","value","newPathSegments","slice","alias","length","unshift","arrayElements","createJSONQuery","createConstraint","jsonQuery","treatRootAsArray","includes"],"mappings":"AAAA,SAASA,0BAA0B,QAAQ,kCAAiC;AAC5E,SAASC,qBAAqB,QAAQ,6BAA4B;AAElE,MAAMC,cAAc;IAClBC,UAAU;IACVC,QAAQ;IACRC,MAAM;AACR;AAUA,MAAMC,YAAY,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,YAAY,EAAEC,KAAK,EAAiB;IACvF,MAAMC,kBAAkBH,aAAaI,KAAK,CAACN,SAAS,IAAI;IACxD,MAAMO,QAAQ,CAAC,EAAEL,YAAY,CAACF,SAAS,IAAI,EAAE,CAAC,OAAO,EAAEK,gBAAgBG,MAAM,CAAC,CAAC;IAE/EH,gBAAgBI,OAAO,CAACF;IAExB,MAAMG,gBAAgBV,SAClBE,YAAY,CAAC,EAAE,GACf,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,IAAI,EAAER,sBAAsBQ,YAAY,CAAC,EAAE,EAAE,CAAC;IAErE,OAAO,CAAC;;8BAEoB,EAAEQ,cAAc,KAAK,EAAEH,MAAM;UACjD,EAAEI,gBAAgB;QACtBV;QACAC,cAAcG;QACdF;QACAC;IACF,GAAG;GACJ,CAAC;AACJ;AASA,MAAMQ,mBAAmB,CAAC,EAAEX,QAAQ,EAAEC,YAAY,EAAEE,KAAK,EAAwB;IAC/E,MAAMS,YAAYpB,2BAA2BS;IAC7C,OAAO,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,EAAEW,UAAU,CAAC,EAAElB,WAAW,CAACM,SAAS,CAAC,EAAE,EAAEG,MAAM,CAAC,CAAC;AAC7E;AAUA,OAAO,MAAMO,kBAAkB,CAAC,EAC9BV,QAAQ,EACRC,YAAY,EACZC,YAAY,EACZW,gBAAgB,EAChBV,KAAK,EACA;IACL,IAAIU,kBAAkB;QACpB,OAAOf,UAAU;YACfC,QAAQ;YACRC;YACAC;YACAC;YACAC;QACF;IACF;IAEA,IAAID,aAAaY,QAAQ,CAACb,YAAY,CAAC,EAAE,GAAG;QAC1C,OAAOH,UAAU;YACfE;YACAC;YACAC;YACAC;QACF;IACF;IAEA,OAAOQ,iBAAiB;QAAEX;QAAUC;QAAcC;QAAcC;IAAM;AACxE,EAAC"}
1
+ {"version":3,"sources":["../../../src/postgres/createJSONQuery/index.ts"],"sourcesContent":["import type { CreateJSONQueryArgs } from '../../types.js'\n\nconst operatorMap: Record<string, string> = {\n contains: '~',\n equals: '==',\n in: 'in',\n like: 'like_regex',\n not_equals: '!=',\n not_in: 'in',\n}\n\nconst sanitizeValue = (value: unknown, operator?: string) => {\n if (typeof value === 'string') {\n // ignore casing with like\n return `\"${operator === 'like' ? '(?i)' : ''}${value}\"`\n }\n\n return value as string\n}\n\nexport const createJSONQuery = ({ column, operator, pathSegments, value }: CreateJSONQueryArgs) => {\n const columnName = typeof column === 'object' ? column.name : column\n const jsonPaths = pathSegments\n .slice(1)\n .map((key) => {\n return `${key}[*]`\n })\n .join('.')\n\n let sql = ''\n\n if (['in', 'not_in'].includes(operator) && Array.isArray(value)) {\n value.forEach((item, i) => {\n sql = `${sql}${createJSONQuery({ column, operator: operator === 'in' ? 'equals' : 'not_equals', pathSegments, value: item })}${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`\n })\n } else if (operator === 'exists') {\n sql = `${value === false ? 'NOT ' : ''}jsonb_path_exists(${columnName}, '$.${jsonPaths}')`\n } else {\n sql = `jsonb_path_exists(${columnName}, '$.${jsonPaths} ? (@ ${operatorMap[operator]} ${sanitizeValue(value, operator)})')`\n }\n\n return sql\n}\n"],"names":["operatorMap","contains","equals","in","like","not_equals","not_in","sanitizeValue","value","operator","createJSONQuery","column","pathSegments","columnName","name","jsonPaths","slice","map","key","join","sql","includes","Array","isArray","forEach","item","i","length"],"mappings":"AAEA,MAAMA,cAAsC;IAC1CC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC,MAAM;IACNC,YAAY;IACZC,QAAQ;AACV;AAEA,MAAMC,gBAAgB,CAACC,OAAgBC;IACrC,IAAI,OAAOD,UAAU,UAAU;QAC7B,0BAA0B;QAC1B,OAAO,CAAC,CAAC,EAAEC,aAAa,SAAS,SAAS,GAAG,EAAED,MAAM,CAAC,CAAC;IACzD;IAEA,OAAOA;AACT;AAEA,OAAO,MAAME,kBAAkB,CAAC,EAAEC,MAAM,EAAEF,QAAQ,EAAEG,YAAY,EAAEJ,KAAK,EAAuB;IAC5F,MAAMK,aAAa,OAAOF,WAAW,WAAWA,OAAOG,IAAI,GAAGH;IAC9D,MAAMI,YAAYH,aACfI,KAAK,CAAC,GACNC,GAAG,CAAC,CAACC;QACJ,OAAO,CAAC,EAAEA,IAAI,GAAG,CAAC;IACpB,GACCC,IAAI,CAAC;IAER,IAAIC,MAAM;IAEV,IAAI;QAAC;QAAM;KAAS,CAACC,QAAQ,CAACZ,aAAaa,MAAMC,OAAO,CAACf,QAAQ;QAC/DA,MAAMgB,OAAO,CAAC,CAACC,MAAMC;YACnBN,MAAM,CAAC,EAAEA,IAAI,EAAEV,gBAAgB;gBAAEC;gBAAQF,UAAUA,aAAa,OAAO,WAAW;gBAAcG;gBAAcJ,OAAOiB;YAAK,GAAG,EAAEC,MAAMlB,MAAMmB,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAElB,aAAa,OAAO,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACxM;IACF,OAAO,IAAIA,aAAa,UAAU;QAChCW,MAAM,CAAC,EAAEZ,UAAU,QAAQ,SAAS,GAAG,kBAAkB,EAAEK,WAAW,KAAK,EAAEE,UAAU,EAAE,CAAC;IAC5F,OAAO;QACLK,MAAM,CAAC,kBAAkB,EAAEP,WAAW,KAAK,EAAEE,UAAU,MAAM,EAAEf,WAAW,CAACS,SAAS,CAAC,CAAC,EAAEF,cAAcC,OAAOC,UAAU,GAAG,CAAC;IAC7H;IAEA,OAAOW;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../../src/postgres/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,EAAE,mBAepC,CAAA"}
1
+ {"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../../src/postgres/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,EAAE,mBAiBpC,CAAA"}
@@ -7,7 +7,9 @@ export const defaultDrizzleSnapshot = {
7
7
  },
8
8
  dialect: 'postgresql',
9
9
  enums: {},
10
+ policies: {},
10
11
  prevId: '00000000-0000-0000-0000-00000000000',
12
+ roles: {},
11
13
  schemas: {},
12
14
  sequences: {},
13
15
  tables: {},
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/postgres/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n schemas: {},\n tables: {},\n },\n dialect: 'postgresql',\n enums: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n schemas: {},\n sequences: {},\n tables: {},\n version: '7',\n views: {},\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","schemas","tables","dialect","enums","prevId","sequences","version","views"],"mappings":"AAEA,OAAO,MAAMA,yBAA8C;IACzDC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,QAAQ;IACRJ,SAAS,CAAC;IACVK,WAAW,CAAC;IACZJ,QAAQ,CAAC;IACTK,SAAS;IACTC,OAAO,CAAC;AACV,EAAC"}
1
+ {"version":3,"sources":["../../src/postgres/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n schemas: {},\n tables: {},\n },\n dialect: 'postgresql',\n enums: {},\n policies: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n roles: {},\n schemas: {},\n sequences: {},\n tables: {},\n version: '7',\n views: {},\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","schemas","tables","dialect","enums","policies","prevId","roles","sequences","version","views"],"mappings":"AAEA,OAAO,MAAMA,yBAA8C;IACzDC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,UAAU,CAAC;IACXC,QAAQ;IACRC,OAAO,CAAC;IACRN,SAAS,CAAC;IACVO,WAAW,CAAC;IACZN,QAAQ,CAAC;IACTO,SAAS;IACTC,OAAO,CAAC;AACV,EAAC"}
@@ -0,0 +1,12 @@
1
+ type Point = [number, number];
2
+ export declare const geometryColumn: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
3
+ name: string;
4
+ dataType: "custom";
5
+ columnType: "PgCustomColumn";
6
+ data: Point;
7
+ driverParam: string;
8
+ enumValues: undefined;
9
+ generated: undefined;
10
+ }>;
11
+ export {};
12
+ //# sourceMappingURL=geometryColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometryColumn.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/geometryColumn.ts"],"names":[],"mappings":"AAMA,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE7B,eAAO,MAAM,cAAc,SAAU,MAAM;;;;;;;;EAWjC,CAAA"}
@@ -0,0 +1,18 @@
1
+ // Uses custom one instead of geometry() from drizzle-orm/pg-core because it's broken on pushDevSchema
2
+ // Why?
3
+ // It tries to give us a prompt "you're about to change.. from geometry(Point) to geometry(point)"
4
+ import { customType } from 'drizzle-orm/pg-core';
5
+ import { parseEWKB } from 'drizzle-orm/pg-core/columns/postgis_extension/utils';
6
+ export const geometryColumn = (name)=>customType({
7
+ dataType () {
8
+ return `geometry(Point)`;
9
+ },
10
+ fromDriver (value) {
11
+ return parseEWKB(value);
12
+ },
13
+ toDriver (value) {
14
+ return `SRID=4326;point(${value[0]} ${value[1]})`;
15
+ }
16
+ })(name);
17
+
18
+ //# sourceMappingURL=geometryColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/postgres/schema/geometryColumn.ts"],"sourcesContent":["// Uses custom one instead of geometry() from drizzle-orm/pg-core because it's broken on pushDevSchema\n// Why?\n// It tries to give us a prompt \"you're about to change.. from geometry(Point) to geometry(point)\"\nimport { customType } from 'drizzle-orm/pg-core'\nimport { parseEWKB } from 'drizzle-orm/pg-core/columns/postgis_extension/utils'\n\ntype Point = [number, number]\n\nexport const geometryColumn = (name: string) =>\n customType<{ data: Point; driverData: string }>({\n dataType() {\n return `geometry(Point)`\n },\n fromDriver(value: string) {\n return parseEWKB(value)\n },\n toDriver(value: Point) {\n return `SRID=4326;point(${value[0]} ${value[1]})`\n },\n })(name)\n"],"names":["customType","parseEWKB","geometryColumn","name","dataType","fromDriver","value","toDriver"],"mappings":"AAAA,sGAAsG;AACtG,OAAO;AACP,kGAAkG;AAClG,SAASA,UAAU,QAAQ,sBAAqB;AAChD,SAASC,SAAS,QAAQ,sDAAqD;AAI/E,OAAO,MAAMC,iBAAiB,CAACC,OAC7BH,WAAgD;QAC9CI;YACE,OAAO,CAAC,eAAe,CAAC;QAC1B;QACAC,YAAWC,KAAa;YACtB,OAAOL,UAAUK;QACnB;QACAC,UAASD,KAAY;YACnB,OAAO,CAAC,gBAAgB,EAAEA,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEA,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD;IACF,GAAGH,MAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAE,KAAK,EAAkB,UAAU,EAAE,MAAM,SAAS,CAAA;AAqBhE,OAAO,KAAK,EAEV,mBAAmB,EACnB,cAAc,EAEd,WAAW,EACZ,MAAM,aAAa,CAAA;AAYpB,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,mBAAmB,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,gBAAgB,EAAE,WAAW,CAAA;IAC7B,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,yBAAyB,EAAE,OAAO,CAAA;IAClC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,kWAuBxB,IAAI,KAAG,MAu1BT,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAE,KAAK,EAAkB,UAAU,EAAE,MAAM,SAAS,CAAA;AAsBhE,OAAO,KAAK,EAEV,mBAAmB,EACnB,cAAc,EAEd,WAAW,EACZ,MAAM,aAAa,CAAA;AAapB,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,mBAAmB,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,gBAAgB,EAAE,WAAW,CAAA;IAC7B,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,yBAAyB,EAAE,OAAO,CAAA;IAClC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,kWAuBxB,IAAI,KAAG,MA21BT,CAAA"}