pg-dump-parser 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scopeSchemaObject = void 0;
4
+ const zod_1 = require("zod");
5
+ const extractOwnedByTarget = (fragment) => {
6
+ var _a, _b;
7
+ const { schema, name } = (_b = (_a = fragment.match(/OWNED BY\s(?<schema>[^.]+)\.(?<name>[^.]+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
8
+ if (!schema) {
9
+ throw new Error('Invalid OWNED BY target (missing schema)');
10
+ }
11
+ if (!name) {
12
+ throw new Error('Invalid OWNED BY target (missing name)');
13
+ }
14
+ return {
15
+ name,
16
+ schema,
17
+ };
18
+ };
19
+ const extractOnTableTarget = (fragment) => {
20
+ var _a, _b;
21
+ const { schema, name } = (_b = (_a = fragment.match(/ON TABLE\s(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
22
+ if (!schema) {
23
+ throw new Error('Invalid ON TABLE target');
24
+ }
25
+ if (!name) {
26
+ throw new Error('Invalid ON TABLE target');
27
+ }
28
+ return {
29
+ name,
30
+ schema,
31
+ };
32
+ };
33
+ const extractCreateIndexTarget = (fragment) => {
34
+ var _a, _b;
35
+ const { schema, name } = (_b = (_a = fragment.match(/ON\s(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
36
+ if (!schema) {
37
+ throw new Error('Invalid CREATE INDEX target');
38
+ }
39
+ if (!name) {
40
+ throw new Error('Invalid CREATE INDEX target');
41
+ }
42
+ return {
43
+ name,
44
+ schema,
45
+ };
46
+ };
47
+ const extractCreateViewTarget = (fragment) => {
48
+ var _a, _b;
49
+ const { schema, name } = (_b = (_a = fragment.match(/CREATE VIEW (?:IF NOT EXISTS\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
50
+ if (!schema) {
51
+ throw new Error('Invalid CREATE VIEW target');
52
+ }
53
+ if (!name) {
54
+ throw new Error('Invalid CREATE VIEW target');
55
+ }
56
+ return {
57
+ name,
58
+ schema,
59
+ };
60
+ };
61
+ const extractCreateTableTarget = (fragment) => {
62
+ var _a, _b;
63
+ const { schema, name } = (_b = (_a = fragment.match(/CREATE TABLE (?:IF NOT EXISTS\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
64
+ if (!schema) {
65
+ throw new Error('Invalid CREATE TABLE target');
66
+ }
67
+ if (!name) {
68
+ throw new Error('Invalid CREATE TABLE target');
69
+ }
70
+ return {
71
+ name,
72
+ schema,
73
+ };
74
+ };
75
+ const extractAlterTableTarget = (fragment) => {
76
+ var _a, _b;
77
+ const { schema, name } = (_b = (_a = fragment.match(/ALTER TABLE (?:ONLY\s)?(?<schema>[^.]+)\.(?<name>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
78
+ if (!schema) {
79
+ throw new Error('Invalid ALTER TABLE target');
80
+ }
81
+ if (!name) {
82
+ throw new Error('Invalid ALTER TABLE target');
83
+ }
84
+ return {
85
+ name,
86
+ schema,
87
+ };
88
+ };
89
+ const extractCommentOnTarget = (fragment) => {
90
+ var _a, _b;
91
+ const { target, type } = (_b = (_a = fragment.match(/COMMENT ON (?<type>TABLE|EXTENSION|COLUMN|SEQUENCE|INDEX)\s(?<target>\S+)/u)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
92
+ if (!target) {
93
+ throw new Error('Invalid COMMENT ON target (missing target)');
94
+ }
95
+ if (!type) {
96
+ throw new Error('Invalid COMMENT ON target (missing type)');
97
+ }
98
+ return {
99
+ target,
100
+ type: type,
101
+ };
102
+ };
103
+ // eslint-disable-next-line complexity
104
+ const scopeAttributedSchemaObject = (schemaObjects, subject) => {
105
+ var _a, _b, _c, _d, _e, _f;
106
+ if (subject.header.Type === 'FUNCTION') {
107
+ return {
108
+ name: subject.header.Name.split('(')[0],
109
+ schema: (_a = subject.header.Schema) !== null && _a !== void 0 ? _a : 'public',
110
+ type: 'FUNCTION',
111
+ };
112
+ }
113
+ if (subject.header.Type === 'PROCEDURE') {
114
+ return {
115
+ name: subject.header.Name.split('(')[0],
116
+ schema: (_b = subject.header.Schema) !== null && _b !== void 0 ? _b : 'public',
117
+ type: 'PROCEDURE',
118
+ };
119
+ }
120
+ if (subject.header.Type === 'TRIGGER') {
121
+ return {
122
+ name: subject.header.Name.split(' ')[0],
123
+ schema: (_c = subject.header.Schema) !== null && _c !== void 0 ? _c : 'public',
124
+ type: 'TABLE',
125
+ };
126
+ }
127
+ if (subject.header.Type === 'TYPE') {
128
+ return {
129
+ name: subject.header.Name,
130
+ schema: (_d = subject.header.Schema) !== null && _d !== void 0 ? _d : 'public',
131
+ type: 'TYPE',
132
+ };
133
+ }
134
+ if (subject.header.Type === 'AGGREGATE') {
135
+ return {
136
+ name: subject.header.Name.split('(')[0],
137
+ schema: (_e = subject.header.Schema) !== null && _e !== void 0 ? _e : 'public',
138
+ type: 'AGGREGATE',
139
+ };
140
+ }
141
+ if (subject.header.Type === 'INDEX') {
142
+ const target = extractCreateIndexTarget(subject.sql);
143
+ return {
144
+ name: target.name,
145
+ schema: target.schema,
146
+ type: 'TABLE',
147
+ };
148
+ }
149
+ if (subject.header.Type === 'EXTENSION') {
150
+ return {
151
+ name: subject.header.Name,
152
+ schema: null,
153
+ type: 'EXTENSION',
154
+ };
155
+ }
156
+ if (subject.header.Type === 'MATERIALIZED VIEW') {
157
+ return {
158
+ name: subject.header.Name,
159
+ schema: (_f = subject.header.Schema) !== null && _f !== void 0 ? _f : 'public',
160
+ type: 'MATERIALIZED VIEW',
161
+ };
162
+ }
163
+ if (subject.sql.startsWith('CREATE VIEW ')) {
164
+ const target = extractCreateViewTarget(subject.sql);
165
+ return {
166
+ name: target.name,
167
+ schema: target.schema,
168
+ type: 'VIEW',
169
+ };
170
+ }
171
+ if (subject.sql.startsWith('CREATE TABLE ')) {
172
+ const target = extractCreateTableTarget(subject.sql);
173
+ return {
174
+ name: target.name,
175
+ schema: target.schema,
176
+ type: 'TABLE',
177
+ };
178
+ }
179
+ if (subject.sql.startsWith('ALTER TABLE ')) {
180
+ const target = extractAlterTableTarget(subject.sql);
181
+ return {
182
+ name: target.name,
183
+ schema: target.schema,
184
+ type: 'TABLE',
185
+ };
186
+ }
187
+ if (subject.sql.startsWith('COMMENT ON ')) {
188
+ const target = extractCommentOnTarget(subject.sql);
189
+ if (target.type === 'EXTENSION') {
190
+ return {
191
+ name: target.target,
192
+ schema: null,
193
+ type: 'EXTENSION',
194
+ };
195
+ }
196
+ if (target.type === 'TABLE') {
197
+ const [schema, name] = zod_1.z
198
+ .tuple([zod_1.z.string(), zod_1.z.string()])
199
+ .parse(target.target.split('.'));
200
+ return {
201
+ name,
202
+ schema,
203
+ type: 'TABLE',
204
+ };
205
+ }
206
+ if (target.type === 'COLUMN') {
207
+ const [schema, name] = zod_1.z
208
+ .tuple([zod_1.z.string(), zod_1.z.string(), zod_1.z.string()])
209
+ .parse(target.target.split('.'));
210
+ return {
211
+ name,
212
+ schema,
213
+ type: 'TABLE',
214
+ };
215
+ }
216
+ if (target.type === 'INDEX') {
217
+ const [schema, indexName] = zod_1.z
218
+ .tuple([zod_1.z.string(), zod_1.z.string()])
219
+ .parse(target.target.split('.'));
220
+ const indexSchemaObject = schemaObjects.find((schemaObject) => {
221
+ if (schemaObject.header.Type !== 'INDEX') {
222
+ return false;
223
+ }
224
+ return schemaObject.header.Name === indexName;
225
+ });
226
+ if (indexSchemaObject) {
227
+ throw new Error('Not implemented');
228
+ }
229
+ const constraintSchemaObject = schemaObjects.find((schemaObject) => {
230
+ if (schemaObject.header.Type !== 'CONSTRAINT') {
231
+ return false;
232
+ }
233
+ return schemaObject.header.Name.split(' ')[1] === indexName;
234
+ });
235
+ if (constraintSchemaObject) {
236
+ const [tableName] = constraintSchemaObject.header.Name.split(' ');
237
+ return {
238
+ name: tableName,
239
+ schema,
240
+ type: 'TABLE',
241
+ };
242
+ }
243
+ }
244
+ if (target.type === 'SEQUENCE') {
245
+ const [schemaName, sequenceName] = zod_1.z
246
+ .tuple([zod_1.z.string(), zod_1.z.string()])
247
+ .parse(target.target.split('.'));
248
+ const sequenceSchemaObject = schemaObjects.find((schemaObject) => {
249
+ if (schemaObject.header.Type !== 'SEQUENCE') {
250
+ return false;
251
+ }
252
+ return (schemaObject.header.Name === sequenceName &&
253
+ schemaObject.header.Schema === schemaName);
254
+ });
255
+ if (!sequenceSchemaObject) {
256
+ throw new Error('Sequence not found');
257
+ }
258
+ const alterTableTarget = extractAlterTableTarget(sequenceSchemaObject.sql);
259
+ return {
260
+ name: alterTableTarget.name,
261
+ schema: alterTableTarget.schema,
262
+ type: 'TABLE',
263
+ };
264
+ }
265
+ }
266
+ try {
267
+ const target = extractOwnedByTarget(subject.sql);
268
+ return {
269
+ name: target.name,
270
+ schema: target.schema,
271
+ type: 'TABLE',
272
+ };
273
+ }
274
+ catch (_g) {
275
+ // ignore
276
+ }
277
+ try {
278
+ const target = extractOnTableTarget(subject.sql);
279
+ return {
280
+ name: target.name,
281
+ schema: target.schema,
282
+ type: 'TABLE',
283
+ };
284
+ }
285
+ catch (_h) {
286
+ // ignore
287
+ }
288
+ return null;
289
+ };
290
+ const scopeSchemaObject = (schemaObjects, subject) => {
291
+ if (!('Type' in subject.header)) {
292
+ return null;
293
+ }
294
+ const attributedSchemaObjects = schemaObjects.filter((schemaObject) => 'Type' in schemaObject.header);
295
+ return scopeAttributedSchemaObject(attributedSchemaObjects, subject);
296
+ };
297
+ exports.scopeSchemaObject = scopeSchemaObject;
298
+ //# sourceMappingURL=scopeSchemaObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeSchemaObject.js","sourceRoot":"","sources":["../src/scopeSchemaObject.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -56,5 +56,5 @@
56
56
  "test:vitest": "vitest --run --passWithNoTests"
57
57
  },
58
58
  "types": "./dist/parsePgDump.d.ts",
59
- "version": "1.0.3"
59
+ "version": "1.1.0"
60
60
  }
package/src/index.ts ADDED
@@ -0,0 +1,8 @@
1
+ export {
2
+ type AttributedHeader,
3
+ type Header,
4
+ parsePgDump,
5
+ type SchemaObject,
6
+ type TitleHeader,
7
+ } from './parsePgDump';
8
+ export { type SchemaObjectScope, scopeSchemaObject } from './scopeSchemaObject';