prostgles-server 3.0.131 → 3.0.133

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 (56) hide show
  1. package/dist/Prostgles.d.ts +6 -1
  2. package/dist/Prostgles.d.ts.map +1 -1
  3. package/dist/Prostgles.js +6 -2
  4. package/dist/Prostgles.js.map +1 -1
  5. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  6. package/dist/TableConfig/TableConfig.js +81 -147
  7. package/dist/TableConfig/TableConfig.js.map +1 -1
  8. package/dist/TableConfig/getColumnDefinitionQuery.d.ts +3 -19
  9. package/dist/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
  10. package/dist/TableConfig/getColumnDefinitionQuery.js +5 -38
  11. package/dist/TableConfig/getColumnDefinitionQuery.js.map +1 -1
  12. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts +27 -1
  13. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  14. package/dist/TableConfig/getConstraintDefinitionQueries.js +40 -6
  15. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  16. package/dist/TableConfig/getFutureTableSchema.d.ts +15 -0
  17. package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -0
  18. package/dist/TableConfig/getFutureTableSchema.js +51 -0
  19. package/dist/TableConfig/getFutureTableSchema.js.map +1 -0
  20. package/dist/TableConfig/getTableColumnQueries.d.ts +16 -0
  21. package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -0
  22. package/dist/TableConfig/getTableColumnQueries.js +108 -0
  23. package/dist/TableConfig/getTableColumnQueries.js.map +1 -0
  24. package/lib/Prostgles.d.ts +6 -1
  25. package/lib/Prostgles.d.ts.map +1 -1
  26. package/lib/Prostgles.js +6 -2
  27. package/lib/Prostgles.ts +12 -3
  28. package/lib/TableConfig/TableConfig.d.ts.map +1 -1
  29. package/lib/TableConfig/TableConfig.js +81 -147
  30. package/lib/TableConfig/TableConfig.ts +94 -154
  31. package/lib/TableConfig/getColumnDefinitionQuery.d.ts +3 -19
  32. package/lib/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
  33. package/lib/TableConfig/getColumnDefinitionQuery.js +5 -38
  34. package/lib/TableConfig/getColumnDefinitionQuery.ts +4 -46
  35. package/lib/TableConfig/getConstraintDefinitionQueries.d.ts +27 -1
  36. package/lib/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  37. package/lib/TableConfig/getConstraintDefinitionQueries.js +40 -6
  38. package/lib/TableConfig/getConstraintDefinitionQueries.ts +64 -6
  39. package/lib/TableConfig/getFutureTableSchema.d.ts +15 -0
  40. package/lib/TableConfig/getFutureTableSchema.d.ts.map +1 -0
  41. package/lib/TableConfig/getFutureTableSchema.js +50 -0
  42. package/lib/TableConfig/getFutureTableSchema.ts +73 -0
  43. package/lib/TableConfig/getTableColumnQueries.d.ts +16 -0
  44. package/lib/TableConfig/getTableColumnQueries.d.ts.map +1 -0
  45. package/lib/TableConfig/getTableColumnQueries.js +107 -0
  46. package/lib/TableConfig/getTableColumnQueries.ts +130 -0
  47. package/package.json +1 -1
  48. package/tests/client/PID.txt +1 -1
  49. package/tests/config_test/index.ts +1 -2
  50. package/tests/config_test/init.sql +1 -8
  51. package/tests/server/DBoGenerated.d.ts +12 -2
  52. package/tests/server/index.js +5 -1
  53. package/tests/server/index.ts +5 -1
  54. package/tests/server/init.sql +1 -7
  55. package/tests/server/package-lock.json +1 -1
  56. package/tests/server/package.json +1 -1
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTableColumns = exports.getColConstraints = exports.getColConstraintsQuery = exports.getColumnDefinitionQuery = void 0;
3
+ exports.getTableColumns = exports.getColumnDefinitionQuery = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const PubSubManager_1 = require("../PubSubManager/PubSubManager");
6
6
  const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_schema_sql");
7
+ const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
7
8
  /**
8
9
  * Column create statement for a given config
9
10
  */
@@ -62,7 +63,7 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
62
63
  const namePreffix = 'prostgles_jsonb_';
63
64
  const { val: nameEnding } = await db.one("SELECT MD5( ${table} || ${column} || ${schema}) as val", { table: table, column, schema: jsonbSchemaStr });
64
65
  const constraintName = namePreffix + nameEnding;
65
- const colConstraints = await (0, exports.getColConstraints)({ db, table, column });
66
+ const colConstraints = await (0, getConstraintDefinitionQueries_1.getColConstraints)({ db, table, column });
66
67
  const existingNonMatchingConstraints = colConstraints.filter(c => c.name.startsWith(namePreffix) && c.name !== constraintName);
67
68
  for await (const oldCons of existingNonMatchingConstraints) {
68
69
  await db.any(`ALTER TABLE ${(0, prostgles_types_1.asName)(table)} DROP CONSTRAINT ${(0, prostgles_types_1.asName)(oldCons.name)};`);
@@ -82,41 +83,7 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
82
83
  }
83
84
  };
84
85
  exports.getColumnDefinitionQuery = getColumnDefinitionQuery;
85
- const getColConstraintsQuery = ({ column, table, types }) => {
86
- let query = `
87
- SELECT *
88
- FROM (
89
- SELECT distinct c.conname as name, c.contype as type,
90
- pg_get_constraintdef(c.oid) as definition,
91
- nsp.nspname as schema,
92
- (SELECT r.relname from pg_class r where r.oid = c.conrelid) as "table",
93
- (SELECT array_agg(attname::text) from pg_attribute
94
- where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols
95
- -- (SELECT array_agg(attname::text) from pg_attribute
96
- -- where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
97
- -- (SELECT r.relname from pg_class r where r.oid = c.confrelid) as ftable
98
- FROM pg_catalog.pg_constraint c
99
- INNER JOIN pg_catalog.pg_class rel
100
- ON rel.oid = c.conrelid
101
- INNER JOIN pg_catalog.pg_namespace nsp
102
- ON nsp.oid = connamespace
103
- ) t
104
- WHERE TRUE
105
- `;
106
- if (table)
107
- query += `\nAND "table" = ${(0, PubSubManager_1.asValue)(table)}`;
108
- if (column)
109
- query += `\nAND cols @> ARRAY[${(0, PubSubManager_1.asValue)(column)}]`;
110
- if (types?.length)
111
- query += `\nAND type IN (${types.map(v => (0, PubSubManager_1.asValue)(v)).join(", ")})`;
112
- return query;
113
- };
114
- exports.getColConstraintsQuery = getColConstraintsQuery;
115
- const getColConstraints = ({ db, column, table, types }) => {
116
- return db.manyOrNone((0, exports.getColConstraintsQuery)({ column, table, types }));
117
- };
118
- exports.getColConstraints = getColConstraints;
119
- const getTableColumns = ({ db, tableName }) => {
86
+ const getTableColumns = ({ db, table }) => {
120
87
  return db.manyOrNone(`
121
88
  SELECT table_name,
122
89
  table_schema, column_name,
@@ -124,7 +91,7 @@ const getTableColumns = ({ db, tableName }) => {
124
91
  is_nullable = 'YES' as nullable
125
92
  FROM information_schema.columns
126
93
  WHERE table_name = $1
127
- `, [tableName]);
94
+ `, [table]);
128
95
  };
129
96
  exports.getTableColumns = getTableColumns;
130
97
  //# sourceMappingURL=getColumnDefinitionQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,34 @@
1
+ import pgPromise from "pg-promise";
2
+ import { DB } from "../Prostgles";
1
3
  import { TableConfig } from "./TableConfig";
2
4
  type Args = {
3
5
  tableName: string;
4
6
  tableConf: TableConfig[string];
5
7
  };
6
- export declare const getConstraintDefinitionQueries: ({ tableConf, tableName }: Args) => string[] | undefined;
8
+ export type ConstraintDef = {
9
+ /**
10
+ * Named constraints are used to show a relevant error message
11
+ */
12
+ name?: string;
13
+ content: string;
14
+ alterQuery: string;
15
+ };
16
+ export declare const getConstraintDefinitionQueries: ({ tableConf, tableName }: Args) => ConstraintDef[] | undefined;
17
+ export type ColConstraint = {
18
+ name: string;
19
+ table: string;
20
+ type: "c" | "p" | "u" | "f";
21
+ cols: Array<string>;
22
+ definition: string;
23
+ schema: string;
24
+ };
25
+ type ColConstraintsArgs = {
26
+ db: DB | pgPromise.ITask<{}>;
27
+ table?: string;
28
+ column?: string;
29
+ types?: ColConstraint["type"][];
30
+ };
31
+ export declare const getColConstraintsQuery: ({ column, table, types }: Omit<ColConstraintsArgs, "db">) => string;
32
+ export declare const getColConstraints: ({ db, column, table, types }: ColConstraintsArgs) => Promise<ColConstraint[]>;
7
33
  export {};
8
34
  //# sourceMappingURL=getConstraintDefinitionQueries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getConstraintDefinitionQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAE/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,6BAA8B,IAAI,KAAG,MAAM,EAAE,GAAG,SA2B1F,CAAA"}
1
+ {"version":3,"file":"getConstraintDefinitionQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAE/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,eAAO,MAAM,8BAA8B,6BAA8B,IAAI,KAAG,aAAa,EAAE,GAAG,SA6BjG,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AACD,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;CACjC,CAAA;AACD,eAAO,MAAM,sBAAsB,6BAA8B,KAAK,kBAAkB,EAAE,IAAI,CAAC,WAyB9F,CAAA;AACD,eAAO,MAAM,iBAAiB,iCAAkC,kBAAkB,KAAI,QAAQ,aAAa,EAAE,CAG5G,CAAA"}
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConstraintDefinitionQueries = void 0;
3
+ exports.getColConstraints = exports.getColConstraintsQuery = exports.getConstraintDefinitionQueries = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
+ const PubSubManager_1 = require("../PubSubManager/PubSubManager");
5
6
  const getConstraintDefinitionQueries = ({ tableConf, tableName }) => {
6
7
  if ("constraints" in tableConf && tableConf.constraints) {
7
8
  const { constraints } = tableConf;
8
9
  if (!constraints) {
9
10
  return undefined;
10
11
  }
11
- const queries = [];
12
12
  if (Array.isArray(constraints)) {
13
- return constraints.map(c => `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD ${c}`);
13
+ return constraints.map(c => ({ content: c, alterQuery: `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD ${c}` }));
14
14
  }
15
15
  else {
16
16
  const constraintNames = (0, prostgles_types_1.getKeys)(tableConf.constraints);
17
- constraintNames.map(constraintName => {
17
+ return constraintNames.map(constraintName => {
18
18
  const _cnstr = constraints[constraintName];
19
19
  const constraintDef = typeof _cnstr === "string" ? _cnstr : `${_cnstr.type} (${_cnstr.content})`;
20
20
  /** Drop constraints with the same name */
@@ -22,11 +22,45 @@ const getConstraintDefinitionQueries = ({ tableConf, tableName }) => {
22
22
  // if(existingConstraint){
23
23
  // if(canDrop) queries.push(`ALTER TABLE ${asName(tableName)} DROP CONSTRAINT ${asName(constraintName)};`);
24
24
  // }
25
- queries.push(`ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD CONSTRAINT ${(0, prostgles_types_1.asName)(constraintName)} ${constraintDef} ;`);
25
+ const alterQuery = `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD CONSTRAINT ${(0, prostgles_types_1.asName)(constraintName)} ${constraintDef};`;
26
+ return { name: constraintName, alterQuery, content: constraintDef };
26
27
  });
27
- return queries;
28
28
  }
29
29
  }
30
30
  };
31
31
  exports.getConstraintDefinitionQueries = getConstraintDefinitionQueries;
32
+ const getColConstraintsQuery = ({ column, table, types }) => {
33
+ let query = `
34
+ SELECT *
35
+ FROM (
36
+ SELECT distinct c.conname as name, c.contype as type,
37
+ pg_get_constraintdef(c.oid) as definition,
38
+ nsp.nspname as schema,
39
+ (SELECT r.relname from pg_class r where r.oid = c.conrelid) as "table",
40
+ (SELECT array_agg(attname::text) from pg_attribute
41
+ where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols
42
+ -- (SELECT array_agg(attname::text) from pg_attribute
43
+ -- where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
44
+ -- (SELECT r.relname from pg_class r where r.oid = c.confrelid) as ftable
45
+ FROM pg_catalog.pg_constraint c
46
+ INNER JOIN pg_catalog.pg_class rel
47
+ ON rel.oid = c.conrelid
48
+ INNER JOIN pg_catalog.pg_namespace nsp
49
+ ON nsp.oid = connamespace
50
+ ) t
51
+ WHERE TRUE
52
+ `;
53
+ if (table)
54
+ query += `\nAND "table" = ${(0, PubSubManager_1.asValue)(table)}`;
55
+ if (column)
56
+ query += `\nAND cols @> ARRAY[${(0, PubSubManager_1.asValue)(column)}]`;
57
+ if (types?.length)
58
+ query += `\nAND type IN (${types.map(v => (0, PubSubManager_1.asValue)(v)).join(", ")})`;
59
+ return query;
60
+ };
61
+ exports.getColConstraintsQuery = getColConstraintsQuery;
62
+ const getColConstraints = ({ db, column, table, types }) => {
63
+ return db.manyOrNone((0, exports.getColConstraintsQuery)({ column, table, types }));
64
+ };
65
+ exports.getColConstraints = getColConstraints;
32
66
  //# sourceMappingURL=getConstraintDefinitionQueries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getConstraintDefinitionQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAS3C,MAAM,8BAA8B,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAQ,EAAwB,EAAE;IAErG,IAAI,aAAa,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE;QACvD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAClC,IAAG,CAAC,WAAW,EAAC;YACd,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;YAC5B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC1E;aAAM;YACL,MAAM,eAAe,GAAG,IAAA,yBAAO,EAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACvD,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;gBACnC,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC3C,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC;gBAEhG,0CAA0C;gBAC1C,kFAAkF;gBAClF,0BAA0B;gBAC1B,6GAA6G;gBAC7G,IAAI;gBAEJ,OAAO,CAAC,IAAI,CAAC,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,mBAAmB,IAAA,wBAAM,EAAC,cAAc,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC;YAC/G,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;SAChB;KACF;AACH,CAAC,CAAA;AA3BY,QAAA,8BAA8B,kCA2B1C"}
1
+ {"version":3,"file":"getConstraintDefinitionQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAElD,kEAAyD;AAiBlD,MAAM,8BAA8B,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAQ,EAA+B,EAAE;IAE5G,IAAI,aAAa,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE;QACvD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAClC,IAAG,CAAC,WAAW,EAAC;YACd,OAAO,SAAS,CAAC;SAClB;QAED,IAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;YAC5B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;SAEvG;aAAM;YACL,MAAM,eAAe,GAAG,IAAA,yBAAO,EAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACvD,OAAO,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;gBAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC3C,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC;gBAEhG,0CAA0C;gBAC1C,kFAAkF;gBAClF,0BAA0B;gBAC1B,6GAA6G;gBAC7G,IAAI;gBAEJ,MAAM,UAAU,GAAG,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,mBAAmB,IAAA,wBAAM,EAAC,cAAc,CAAC,IAAI,aAAa,GAAG,CAAC;gBAEjH,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;KACF;AACH,CAAC,CAAA;AA7BY,QAAA,8BAA8B,kCA6B1C;AAgBM,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAkC,EAAE,EAAE;IACjG,IAAI,KAAK,GAAG;;;;;;;;;;;;;;;;;;;GAmBX,CAAC;IACF,IAAI,KAAK;QAAE,KAAK,IAAI,mBAAmB,IAAA,uBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;IACxD,IAAI,MAAM;QAAE,KAAK,IAAI,uBAAuB,IAAA,uBAAO,EAAC,MAAM,CAAC,GAAG,CAAC;IAC/D,IAAI,KAAK,EAAE,MAAM;QAAE,KAAK,IAAI,kBAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,uBAAO,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvF,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AAzBY,QAAA,sBAAsB,0BAyBlC;AACM,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAsB,EAA8B,EAAE;IAEhH,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,8BAAsB,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B"}
@@ -0,0 +1,15 @@
1
+ import { DB } from "../Prostgles";
2
+ import { ColumnMinimalInfo } from "./getColumnDefinitionQuery";
3
+ import { ColConstraint, ConstraintDef } from "./getConstraintDefinitionQueries";
4
+ type Args = {
5
+ db: DB;
6
+ columnDefs: string[];
7
+ tableName: string;
8
+ constraintDefs?: ConstraintDef[];
9
+ };
10
+ export declare const getFutureTableSchema: ({ columnDefs, tableName, constraintDefs, db }: Args) => Promise<{
11
+ constraints: ColConstraint[];
12
+ cols: ColumnMinimalInfo[];
13
+ }>;
14
+ export {};
15
+ //# sourceMappingURL=getFutureTableSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAyD1B,CAAA"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFutureTableSchema = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
6
+ const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
7
+ const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
8
+ let constraints = [];
9
+ let cols = [];
10
+ const ROLLBACK = "Rollback";
11
+ try {
12
+ await db.tx(async (t) => {
13
+ // const { v } = await t.one("SELECT md5(random()::text) as v");
14
+ // /** TODO: create all tables in a random new schema */
15
+ // const randomTableName = `prostgles_constr_${v}`;
16
+ // /* References are removed to avoid potential issues with ftables missing */
17
+ // const columnDefsWithoutReferences = columnDefs.map(cdef => {
18
+ // const refIdx = cdef.toLowerCase().indexOf(" references ");
19
+ // if(refIdx < 0) return cdef;
20
+ // return cdef.slice(0, refIdx);
21
+ // });
22
+ // const query = `CREATE TABLE ${randomTableName} (
23
+ // ${columnDefsWithoutReferences.join(",\n")}
24
+ // );
25
+ // ${alterQueries}
26
+ // `;
27
+ const tableEsc = (0, prostgles_types_1.asName)(tableName);
28
+ const consQueries = constraintDefs.map(c => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`).join("\n");
29
+ const query = `
30
+ DROP TABLE IF EXISTS ${tableEsc} CASCADE;
31
+ CREATE TABLE ${tableEsc} (
32
+ ${columnDefs.join(",\n")}
33
+ );
34
+ ${consQueries}
35
+ `;
36
+ await t.any(query);
37
+ constraints = await (0, getConstraintDefinitionQueries_1.getColConstraints)({ db: t, table: tableName });
38
+ cols = await (0, getColumnDefinitionQuery_1.getTableColumns)({ db: t, table: tableName });
39
+ /** Rollback */
40
+ return Promise.reject(ROLLBACK);
41
+ });
42
+ }
43
+ catch (e) {
44
+ if (e !== ROLLBACK) {
45
+ throw e;
46
+ }
47
+ }
48
+ return { cols, constraints };
49
+ };
50
+ exports.getFutureTableSchema = getFutureTableSchema;
51
+ //# sourceMappingURL=getFutureTableSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AAGzC,yEAAgF;AAChF,qFAAmG;AAS5F,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAQ,EAGhG,EAAE;IAEH,IAAI,WAAW,GAAoB,EAAE,CAAC;IACtC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI;QACF,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YACpB,gEAAgE;YAEhE,wDAAwD;YACxD,mDAAmD;YAEnD,8EAA8E;YAC9E,+DAA+D;YAC/D,+DAA+D;YAC/D,gCAAgC;YAChC,kCAAkC;YAClC,MAAM;YAIN,oDAAoD;YACpD,iDAAiD;YACjD,OAAO;YACP,oBAAoB;YACpB,KAAK;YAEL,MAAM,QAAQ,GAAG,IAAA,wBAAM,EAAC,SAAS,CAAC,CAAC;YAEnC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzC,eAAe,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,eAAe,IAAA,wBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,KAAK,GAAG;+BACW,QAAQ;uBAChB,QAAQ;YACnB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;UAExB,WAAW;OACd,CAAA;YAED,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,WAAW,GAAG,MAAM,IAAA,kDAAiB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,IAAI,GAAG,MAAM,IAAA,0CAAe,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1D,eAAe;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;KAEJ;IAAC,OAAM,CAAC,EAAC;QACR,IAAG,CAAC,KAAK,QAAQ,EAAE;YACjB,MAAM,CAAC,CAAC;SACT;KACF;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAA;AA3DY,QAAA,oBAAoB,wBA2DhC"}
@@ -0,0 +1,16 @@
1
+ import { DB, DBHandlerServer } from "../Prostgles";
2
+ import { TableConfig } from "./TableConfig";
3
+ type Args = {
4
+ db: DB;
5
+ tableConf: TableConfig[string];
6
+ tableName: string;
7
+ tableHandler: DBHandlerServer[string];
8
+ };
9
+ export declare const getTableColumnQueries: ({ db, tableConf, tableName, tableHandler }: Args) => Promise<{
10
+ columnDefs: string[];
11
+ newColumnDefs: string[];
12
+ fullQuery: string;
13
+ isCreate: boolean;
14
+ } | undefined>;
15
+ export {};
16
+ //# sourceMappingURL=getTableColumnQueries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;cA8GlB,CAAA"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTableColumnQueries = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_schema_sql");
6
+ const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
7
+ const getFutureTableSchema_1 = require("./getFutureTableSchema");
8
+ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler }) => {
9
+ let newColumnDefs = [];
10
+ const droppedColNames = [];
11
+ const alteredColQueries = [];
12
+ let fullQuery = "";
13
+ let isCreate = false;
14
+ if ("columns" in tableConf && tableConf.columns) {
15
+ const hasJSONBValidation = (0, prostgles_types_1.getKeys)(tableConf.columns).some(c => {
16
+ const cConf = tableConf.columns?.[c];
17
+ return cConf && (0, prostgles_types_1.isObject)(cConf) && (cConf.jsonbSchema || cConf.jsonbSchemaType);
18
+ });
19
+ /** Must install validation function */
20
+ if (hasJSONBValidation) {
21
+ try {
22
+ await db.any(validate_jsonb_schema_sql_1.validate_jsonb_schema_sql);
23
+ }
24
+ catch (err) {
25
+ console.error("Could not install the jsonb validation function due to error: ", err);
26
+ throw err;
27
+ }
28
+ }
29
+ const columns = (0, prostgles_types_1.getKeys)(tableConf.columns).filter(c => {
30
+ const colDef = tableConf.columns[c];
31
+ /** Exclude NamedJoinColumn */
32
+ return typeof colDef === "string" || !("joinDef" in colDef);
33
+ });
34
+ const colDefs = [];
35
+ for await (const colName of columns) {
36
+ const colConf = tableConf.columns[colName];
37
+ /* Get column definition */
38
+ const colDef = await (0, getColumnDefinitionQuery_1.getColumnDefinitionQuery)({ colConf, column: colName, db, table: tableName });
39
+ if (colDef) {
40
+ colDefs.push({ name: colName, def: colDef });
41
+ }
42
+ }
43
+ const columnDefs = colDefs.map(c => c.def);
44
+ if (!colDefs.length) {
45
+ return undefined;
46
+ }
47
+ const ALTERQ = `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}`;
48
+ if (!tableHandler) {
49
+ newColumnDefs.push(...colDefs.map(c => c.def));
50
+ }
51
+ else if (tableHandler) {
52
+ const currCols = await (0, getColumnDefinitionQuery_1.getTableColumns)({ db, table: tableName });
53
+ /** Add new columns */
54
+ newColumnDefs = colDefs.filter(nc => !tableHandler.columns?.some(c => nc.name === c.name)).map(c => c.def);
55
+ /** Altered/Dropped columns */
56
+ const { cols: futureCols } = await (0, getFutureTableSchema_1.getFutureTableSchema)({ tableName, columnDefs, constraintDefs: [], db });
57
+ currCols.forEach(c => {
58
+ const newCol = futureCols.find(nc => nc.column_name === c.column_name);
59
+ if (!newCol) {
60
+ droppedColNames.push(c.column_name);
61
+ }
62
+ else if (newCol.nullable !== c.nullable) {
63
+ alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.nullable ? "SET" : "DROP"} NOT NULL;`);
64
+ }
65
+ else if (newCol.udt_name !== c.udt_name) {
66
+ alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name};`);
67
+ }
68
+ else if (newCol.column_default !== c.column_default) {
69
+ const colConfig = colDefs.find(cd => cd.name === c.column_name);
70
+ if (["serial", "bigserial"].some(t => colConfig?.def.toLowerCase().includes(` ${t}`)) && c.column_default?.toLowerCase().includes("nextval")) {
71
+ /** Ignore SERIAL/BIGSERIAL <> nextval mismatch */
72
+ }
73
+ else {
74
+ alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.column_default === null ? "DROP DEFAULT" : `SET DEFAULT ${newCol.column_default}`};`);
75
+ }
76
+ }
77
+ });
78
+ }
79
+ if (!tableHandler || tableConf.dropIfExists || tableConf.dropIfExistsCascade) {
80
+ isCreate = true;
81
+ const DROPQ = `DROP TABLE IF EXISTS ${(0, prostgles_types_1.asName)(tableName)}`;
82
+ fullQuery = ([
83
+ ...(tableConf.dropIfExists ? [`${DROPQ};`] : tableConf.dropIfExistsCascade ? [`${DROPQ} CASCADE;`] : []),
84
+ `CREATE TABLE ${(0, prostgles_types_1.asName)(tableName)} (`,
85
+ columnDefs.join(", \n"),
86
+ `);`
87
+ ].join("\n"));
88
+ }
89
+ else {
90
+ fullQuery = [
91
+ ...droppedColNames.map(c => `${ALTERQ} DROP COLUMN ${(0, prostgles_types_1.asName)(c)};`),
92
+ ...newColumnDefs.map(c => `${ALTERQ} ADD COLUMN ${c};`),
93
+ ...alteredColQueries,
94
+ ].join("\n");
95
+ }
96
+ return {
97
+ fullQuery,
98
+ columnDefs,
99
+ isCreate,
100
+ newColumnDefs,
101
+ };
102
+ }
103
+ else {
104
+ return undefined;
105
+ }
106
+ };
107
+ exports.getTableColumnQueries = getTableColumnQueries;
108
+ //# sourceMappingURL=getTableColumnQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"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"}
@@ -183,6 +183,11 @@ export type ProstglesInitOptions<S = void, SUser extends SessionUser = SessionUs
183
183
  */
184
184
  tableConfig?: TableConfig;
185
185
  tableConfigMigrations?: {
186
+ /**
187
+ * If false then prostgles won't start on any tableConfig error
188
+ * true by default
189
+ */
190
+ silentFail?: boolean;
186
191
  version: number;
187
192
  /** Table that will contain the schema version number and the tableConfig
188
193
  * Defaults to schema_version
@@ -217,7 +222,7 @@ export type InitResult = {
217
222
  restart: () => Promise<InitResult>;
218
223
  };
219
224
  import { DBOFullyTyped } from "./DBSchemaBuilder";
220
- import { ColConstraint } from "./TableConfig/getColumnDefinitionQuery";
225
+ import { ColConstraint } from "./TableConfig/getConstraintDefinitionQueries";
221
226
  export declare class Prostgles {
222
227
  opts: ProstglesInitOptions;
223
228
  db?: DB;
@@ -1 +1 @@
1
- {"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,QAAQ,iCAAiC,CAAC,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG3E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAiB,YAAY,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAElD,OAAO,EAA8C,SAAS,EAAwC,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AACpK,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AACrD,KAAK,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAClE,KAAK,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AAErC,eAAO,MAAM,aAAa,sEAAuE,CAAC;AAoElG,eAAO,MAAM,UAAU,2DAA4D,CAAC;AACpF,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,EAAE,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAChC,IAAI,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;AAIxC,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAYF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,CACH,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CACF,GAAG,EAAE;QACH,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KACzB,EACD,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,GAAG,CAAC;QACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,GAAG,CAAC;QAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YACxB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,GAAG,CAAC;SACpC,CAAA;KACF,KACE,GAAG,KACL,GAAG,CAAC;IACT,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,QAAQ,CAAC;YACjB,IAAI,EAAE,SAAS,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,EAAE,MAAM,CAAC;aACf,CAAA;SACF,EAAE,CAAA;KACJ,CAAA;CACF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAQ1B;;;;OAIG;IACH,aAAa,CAAC,EAAE;QACd;;WAEG;QACH,gBAAgB,EAAE,MAAM,CAAC;QACzB;;WAEG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAA;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE;QACjB,CAAC,SAAS,EAAE,MAAM,GACd,KAAK,GAAG,MAAM;QAEhB;;aAEK;QAGL;;;aAGK;WACH;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;SAAE,CAAA;KAC3E,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI;IACpF,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,aAAa,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9F,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5G,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC;IAEhB;;;OAGG;IACD,aAAa;IAEf;;;OAGG;OACD,mBAAmB;IAErB;;OAEG;OACD;QAAE,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EACR,OAAO;IAET;;;OAGG;OACD,eAAe;IAEjB;;OAEG;OACD,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,CAAA;IAEzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qBAAqB,CAAC,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB;;UAEE;QACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B;;WAEG;QACH,SAAS,EAAE,CAAC,IAAI,EAAE;YAChB,EAAE,EAAE,EAAE,CAAC;YACP,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;YAC/B,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAC5B,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;SAC9B,KAAK,IAAI,CAAC;KACZ,CAAC;CACH,CAAA;AAUD,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;CACR,CAAA;AAED,KAAK,eAAe,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC;AAExE,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,aAAa,CAAC;IAClB,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;CACnC,CAAA;AAUD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,qBAAa,SAAS;IAEpB,IAAI,EAAE,oBAAoB,CAaxB;IAQF,EAAE,CAAC,EAAE,EAAE,CAAC;IACR,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,IAAI,UAAU,IAAI,UAAU,CAG3B;IACD,IAAI,UAAU,CAAC,CAAC,EAAE,UAAU,EAE3B;IACD,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,QAAQ;;;;;MAAoB;IAC5B,OAAO,CAAC,MAAM,CAAS;IAEvB,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,OAAO,CAAC,SAAS,EAAE,MAAM;gBAIb,MAAM,EAAE,oBAAoB;IA+BxC,SAAS,UAAS;IAEZ,cAAc,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA+B9D,OAAO;IAIP,aAAa;;;;IAMb,OAAO,CAAC,WAAW;IASnB,gBAAgB,eAKf;IAED;;OAEG;IACH,aAAa,CAAC,KAAK,UAAQ;IAgB3B;;OAEG;IACH,UAAU,uEAUT;IAED,OAAO,CAAC,eAAe,CAyBtB;IAGD,aAAa,sBAiBZ;IAED,WAAW,UAAS;IACpB,0BAA0B,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAGtC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAoInD,UAAU,CAAC,QAAQ,EAAE,MAAM;IA0BjC,gBAAgB,EAAE,GAAG,EAAE,CAAM;IACvB,eAAe;IAkHrB,gBAAgB,WAAkB,GAAG,mBAoGpC;CACF;AAqCD,wBAAsB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1D"}
1
+ {"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
package/lib/Prostgles.js CHANGED
@@ -348,8 +348,12 @@ class Prostgles {
348
348
  await this.tableConfigurator.init();
349
349
  }
350
350
  catch (e) {
351
- console.error("TableConfigurator: ", e);
352
- throw e;
351
+ if (this.opts.tableConfigMigrations?.silentFail === false) {
352
+ console.error("TableConfigurator silentFail: ", e);
353
+ }
354
+ else {
355
+ throw e;
356
+ }
353
357
  }
354
358
  }
355
359
  /* 3. Make DBO object from all tables and views */
package/lib/Prostgles.ts CHANGED
@@ -288,6 +288,12 @@ export type ProstglesInitOptions<S = void, SUser extends SessionUser = SessionUs
288
288
  */
289
289
  tableConfig?: TableConfig;
290
290
  tableConfigMigrations?: {
291
+ /**
292
+ * If false then prostgles won't start on any tableConfig error
293
+ * true by default
294
+ */
295
+ silentFail?: boolean;
296
+
291
297
  version: number;
292
298
  /** Table that will contain the schema version number and the tableConfig
293
299
  * Defaults to schema_version
@@ -346,7 +352,7 @@ const DEFAULT_KEYWORDS = {
346
352
 
347
353
  import * as fs from 'fs';
348
354
  import { DBOFullyTyped } from "./DBSchemaBuilder";
349
- import { ColConstraint } from "./TableConfig/getColumnDefinitionQuery";
355
+ import { ColConstraint } from "./TableConfig/getConstraintDefinitionQueries";
350
356
  export class Prostgles {
351
357
 
352
358
  opts: ProstglesInitOptions = {
@@ -612,8 +618,11 @@ export class Prostgles {
612
618
  try {
613
619
  await this.tableConfigurator.init();
614
620
  } catch (e) {
615
- console.error("TableConfigurator: ", e);
616
- throw e;
621
+ if(this.opts.tableConfigMigrations?.silentFail === false){
622
+ console.error("TableConfigurator silentFail: ", e);
623
+ } else {
624
+ throw e;
625
+ }
617
626
  }
618
627
  }
619
628
 
@@ -1 +1 @@
1
- {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,SAAS,EAAG,iBAAiB,EAAE,oBAAoB,EAAY,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1J,OAAO,EAAiB,QAAQ,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9D,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;KACjC,OAAO,IAAI,MAAM,QAAQ,GAAG,MAAM;CACpC,CAAA;AAED,eAAO,MAAM,SAAS;;;;;kBAiBrB,CAAA;AAED,KAAK,mBAAmB,CAAC,QAAQ,GAAG,SAAS,IAAI;IAC/C,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;KACxC,CAAA;IACD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,CAAC,WAAW,EAAE,MAAM,GAAG;YACrB;;eAEG;YACH,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;YACxC,OAAO,EAAE,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,WAAW,GAAG,KAAK,CAAC;YAC7B;;;;;;;;;;;;;;;;;;;eAmBG;YACH,KAAK,EAAE,MAAM,CAAC;SACf,CAAA;KACF,CAAC;CACH,CAAA;AAED,KAAK,qBAAqB,CAAC,QAAQ,IAAI;IACrC,aAAa,EAAE;QACb,MAAM,EAAE;YACN,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG;iBACtB,OAAO,IAAI,MAAM,QAAQ,GAAG,MAAM;aACpC,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,QAAQ,IAAI;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SAAG,OAAO,IAAI,MAAM,QAAQ,GAAG,MAAM;KAAG,CAAC,CAAC;CACpE,CAAA;AAED,KAAK,YAAY,GAAG;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,KAAK,UAAU,GAAG,eAAe,GAAG;IAClC,MAAM,EAAE,IAAI,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,eAAe,GAAG,EAK/C,CAAC,GAAG,CAAC;IACJ,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GAAG;IACF,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC,CAAA;AAEF;;;GAGG;AACH,KAAK,WAAW,GAAG,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CACvB,GAAG,CACA;IAEE;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAC/G,GACD;IACE,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAA;CAC1D,CACF,CAAC,CAAC;AAEL,KAAK,gBAAgB,GAAG;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,GAAG;QAG7B,SAAS,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAA;CACF,CAAA;AAED,KAAK,OAAO,GAAG;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;CACrC,CAAA;AAED;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAA;AAED,KAAK,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,IAAI,MAAM,GAAG,WAAW,CAAC,eAAe,GAAG,WAAW,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,GAAG,gBAAgB,GAAG,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvM,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,IAAI;IAChD,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;IAClD,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;IAC7C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IACpD,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;IACxC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;IAC7C,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CACnC,CAAA;AAED,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAClD,KAAK,iBAAiB,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;AACxH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpD,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAC5E,MAAM,MAAM,eAAe,CAAC,QAAQ,IAAI;IACtC,OAAO,CAAC,EAAE;QACR,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;KAC9C,CAAC;IACF,WAAW,CAAC,EACR,MAAM,EAAE,GACR;QACA,CAAC,eAAe,EAAE,MAAM,GACpB,MAAM,GACN;YACE,IAAI,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACtC,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB;;;;;eAKG;YACH,OAAO,EAAE,MAAM,CAAC;SACjB,CAAA;KAUR,CAAC;IAEF;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE;QACR,CAAC,UAAU,EAAE,MAAM,GAAG;YAEpB;;;eAGG;YACH,OAAO,CAAC,EAAE,OAAO,CAAC;YAElB;;;eAGG;YACH,MAAM,CAAC,EAAE,OAAO,CAAC;YAEjB;;;;eAIG;YACH,YAAY,CAAC,EAAE,OAAO,CAAC;YAEvB;;eAEG;YAGH;;;eAGG;YACH,OAAO,EAAE,MAAM,CAAC;YAEhB;;;;eAIG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YAEf;;;eAGG;YACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;SAC3C,CAAA;KACF,CAAA;CACF,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,IAAI;IAC9C,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;CACrH,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE;IAEzD,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,eAAe,CAGzB;IACD,IAAI,EAAE,IAAI,EAAE,CAGX;IAED,SAAS,EAAE,SAAS,CAAA;gBAER,SAAS,EAAE,SAAS;IAKhC,eAAe,cAAe,MAAM,WAAW,MAAM,KAAG,YAAY,GAAG,SAAS,CAM/E;IAED,YAAY,WAAY;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAM3F;IAED,UAAU,WAAY;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,CAAC,YAAY,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;KAAE,GAAG,KAAK,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG,SAAS,CAqCvJ;IAED,WAAW,WAAY;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,KAAG,IAAI,CAQvE;IAED,WAAW,gBAAiB,MAAM,eAAe,MAAM,KAAG,QAAQ,GAAG,SAAS,CA4B7E;IAEK,IAAI;IAoTV,GAAG,YAAa,GAAG,EAAE,UAIpB;CAEF"}
1
+ {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,SAAS,EAAG,iBAAiB,EAAE,oBAAoB,EAAY,KAAK,EAAE,UAAU,EAAU,MAAM,iBAAiB,CAAC;AAClK,OAAO,EAAiB,QAAQ,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9D,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;KACjC,OAAO,IAAI,MAAM,QAAQ,GAAG,MAAM;CACpC,CAAA;AAED,eAAO,MAAM,SAAS;;;;;kBAiBrB,CAAA;AAED,KAAK,mBAAmB,CAAC,QAAQ,GAAG,SAAS,IAAI;IAC/C,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;KACxC,CAAA;IACD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,CAAC,WAAW,EAAE,MAAM,GAAG;YACrB;;eAEG;YACH,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;YACxC,OAAO,EAAE,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,WAAW,GAAG,KAAK,CAAC;YAC7B;;;;;;;;;;;;;;;;;;;eAmBG;YACH,KAAK,EAAE,MAAM,CAAC;SACf,CAAA;KACF,CAAC;CACH,CAAA;AAED,KAAK,qBAAqB,CAAC,QAAQ,IAAI;IACrC,aAAa,EAAE;QACb,MAAM,EAAE;YACN,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG;iBACtB,OAAO,IAAI,MAAM,QAAQ,GAAG,MAAM;aACpC,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,QAAQ,IAAI;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;SAAG,OAAO,IAAI,MAAM,QAAQ,GAAG,MAAM;KAAG,CAAC,CAAC;CACpE,CAAA;AAED,KAAK,YAAY,GAAG;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,KAAK,UAAU,GAAG,eAAe,GAAG;IAClC,MAAM,EAAE,IAAI,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,eAAe,GAAG,EAK/C,CAAC,GAAG,CAAC;IACJ,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,GAAG;IACF,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC,CAAA;AAEF;;;GAGG;AACH,KAAK,WAAW,GAAG,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CACvB,GAAG,CACA;IAEE;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAC/G,GACD;IACE,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAA;CAC1D,CACF,CAAC,CAAC;AAEL,KAAK,gBAAgB,GAAG;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,GAAG;QAG7B,SAAS,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAA;CACF,CAAA;AAED,KAAK,OAAO,GAAG;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;CACrC,CAAA;AAED;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAA;AAED,KAAK,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,GAAG,IAAI;IAC3C,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,IAAI,MAAM,GAAG,WAAW,CAAC,eAAe,GAAG,WAAW,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,GAAG,gBAAgB,GAAG,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvM,MAAM,MAAM,aAAa,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,IAAI;IAChD,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;IAClD,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;IAC7C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;IAC1C,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IACpD,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;IACxC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;IAC7C,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CACnC,CAAA;AAED,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAClD,KAAK,iBAAiB,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;AACxH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpD,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAC5E,MAAM,MAAM,eAAe,CAAC,QAAQ,IAAI;IACtC,OAAO,CAAC,EAAE;QACR,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;KAC9C,CAAC;IACF,WAAW,CAAC,EACR,MAAM,EAAE,GACR;QACA,CAAC,eAAe,EAAE,MAAM,GACpB,MAAM,GACN;YACE,IAAI,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACtC,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB;;;;;eAKG;YACH,OAAO,EAAE,MAAM,CAAC;SACjB,CAAA;KAUR,CAAC;IAEF;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE;QACR,CAAC,UAAU,EAAE,MAAM,GAAG;YAEpB;;;eAGG;YACH,OAAO,CAAC,EAAE,OAAO,CAAC;YAElB;;;eAGG;YACH,MAAM,CAAC,EAAE,OAAO,CAAC;YAEjB;;;;eAIG;YACH,YAAY,CAAC,EAAE,OAAO,CAAC;YAEvB;;eAEG;YAGH;;;eAGG;YACH,OAAO,EAAE,MAAM,CAAC;YAEhB;;;;eAIG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YAEf;;;eAGG;YACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;SAC3C,CAAA;KACF,CAAA;CACF,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,IAAI;IAC9C,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;CACrH,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE;IAEzD,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,eAAe,CAGzB;IACD,IAAI,EAAE,IAAI,EAAE,CAGX;IAED,SAAS,EAAE,SAAS,CAAA;gBAER,SAAS,EAAE,SAAS;IAKhC,eAAe,cAAe,MAAM,WAAW,MAAM,KAAG,YAAY,GAAG,SAAS,CAM/E;IAED,YAAY,WAAY;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAM3F;IAED,UAAU,WAAY;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,CAAC,YAAY,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;KAAE,GAAG,KAAK,UAAU,EAAE,aAAa,CAAC,CAAC,GAAG,SAAS,CAqCvJ;IAED,WAAW,WAAY;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,KAAG,IAAI,CAQvE;IAED,WAAW,gBAAiB,MAAM,eAAe,MAAM,KAAG,QAAQ,GAAG,SAAS,CA4B7E;IAEK,IAAI;IA8QV,GAAG,YAAa,GAAG,EAAE,UAIpB;CAEF"}