@query-doctor/core 0.10.9 → 0.11.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.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.mts","names":[],"sources":["../src/schema.ts"],"mappings":";;;;;;;cAUa,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;KASpB,mBAAA,GAAsB,CAAA,CAAE,KAAA,QAAa,mBAAA;AAAA,cAEpC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;KAIzB,wBAAA,GAA2B,CAAA,CAAE,KAAA,QAAa,wBAAA;AAAA,cAEzC,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBhB,eAAA,GAAkB,CAAA,CAAE,KAAA,QAAa,eAAA;AAAA,cAEhC,gBAAA,EAAgB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;KAajB,gBAAA,GAAmB,CAAA,CAAE,KAAA,QAAa,gBAAA;AAAA,cAEjC,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUhB,eAAA,GAAkB,CAAA,CAAE,KAAA,QAAa,eAAA;AAAA,cAEhC,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;KAwBrB,oBAAA,GAAuB,CAAA,CAAE,KAAA,QAAa,oBAAA;AAAA,cAErC,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;;KASnB,kBAAA,GAAqB,CAAA,CAAE,KAAA,QAAa,kBAAA;AAAA,cAEnC,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;KAMpB,mBAAA,GAAsB,CAAA,CAAE,KAAA,QAAa,mBAAA;AAAA,cAEpC,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;KASf,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,cAAA;AAAA,cAE/B,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;KAKzB,wBAAA,GAA2B,CAAA,CAAE,KAAA,QAAa,wBAAA;AAAA,cAEzC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;KAO7B,4BAAA,GAA+B,CAAA,CAAE,KAAA,QACpC,4BAAA;AAAA,cAGI,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;KAaf,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,cAAA;AAAA,cAE/B,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;;;;KAQlB,iBAAA,GAAoB,CAAA,CAAE,KAAA,QAAa,iBAAA;AAAA,cAElC,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWX,UAAA,GAAa,CAAA,CAAE,KAAA,QAAa,UAAA;AAAA,iBAElB,UAAA,CAAW,EAAA,EAAI,QAAA,GAAW,OAAA,CAAQ,UAAA"}
1
+ {"version":3,"file":"schema.d.mts","names":[],"sources":["../src/schema.ts"],"mappings":";;;;;;;cAUa,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;KASpB,mBAAA,GAAsB,CAAA,CAAE,KAAA,QAAa,mBAAA;AAAA,cAEpC,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;KAIzB,wBAAA,GAA2B,CAAA,CAAE,KAAA,QAAa,wBAAA;AAAA,cAEzC,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBhB,eAAA,GAAkB,CAAA,CAAE,KAAA,QAAa,eAAA;AAAA,cAEhC,gBAAA,EAAgB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;KAajB,gBAAA,GAAmB,CAAA,CAAE,KAAA,QAAa,gBAAA;AAAA,cAEjC,eAAA,EAAe,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUhB,eAAA,GAAkB,CAAA,CAAE,KAAA,QAAa,eAAA;AAAA,cAEhC,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;KAwBrB,oBAAA,GAAuB,CAAA,CAAE,KAAA,QAAa,oBAAA;AAAA,cAErC,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;;;;;;;;KASnB,kBAAA,GAAqB,CAAA,CAAE,KAAA,QAAa,kBAAA;AAAA,cAEnC,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;KAOpB,mBAAA,GAAsB,CAAA,CAAE,KAAA,QAAa,mBAAA;AAAA,cAEpC,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;KASf,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,cAAA;AAAA,cAE/B,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;KAKzB,wBAAA,GAA2B,CAAA,CAAE,KAAA,QAAa,wBAAA;AAAA,cAEzC,4BAAA,EAA4B,CAAA,CAAA,SAAA;;;;;;KAO7B,4BAAA,GAA+B,CAAA,CAAE,KAAA,QACpC,4BAAA;AAAA,cAGI,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;KAaf,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,cAAA;AAAA,cAE/B,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;;;;;KASlB,iBAAA,GAAoB,CAAA,CAAE,KAAA,QAAa,iBAAA;AAAA,cAElC,UAAA,EAAU,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWX,UAAA,GAAa,CAAA,CAAE,KAAA,QAAa,UAAA;AAAA,iBAElB,UAAA,CAAW,EAAA,EAAI,QAAA,GAAW,OAAA,CAAQ,UAAA"}
package/dist/schema.mjs CHANGED
@@ -92,6 +92,7 @@ const FullSchemaFunction = z.object({
92
92
  definition: z.string()
93
93
  });
94
94
  const FullSchemaExtension = z.object({
95
+ type: z.literal("extension"),
95
96
  extensionName: z.string(),
96
97
  version: z.string(),
97
98
  schemaName: Identifier
@@ -131,6 +132,7 @@ const FullSchemaType = z.object({
131
132
  compositeAttributes: z.array(FullSchemaCompositeAttribute).optional()
132
133
  });
133
134
  const FullSchemaTrigger = z.object({
135
+ type: z.literal("trigger"),
134
136
  schemaName: Identifier,
135
137
  tableName: Identifier,
136
138
  triggerName: Identifier,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.mjs","names":[],"sources":["../src/schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { SCHEMA_DUMP_SQL } from \"./schema-dump.js\";\nimport type { Postgres } from \"./sql/database.js\";\nimport { PgIdentifier } from \"./sql/pg-identifier.js\";\n\nconst Identifier = z.codec(z.string(), z.custom<PgIdentifier>(), {\n encode: (v) => v.toString(),\n decode: (v) => PgIdentifier.fromString(v),\n});\n\nexport const FullSchemaKeyColumn = z.object({\n type: z.literal(\"indexColumn\"),\n name: Identifier,\n order: z.enum([\"ASC\", \"DESC\"]).optional(),\n nulls: z.enum([\"FIRST\", \"LAST\"]).optional(),\n opclass: z.string().optional(),\n collation: z.string().optional(),\n});\n\nexport type FullSchemaKeyColumn = z.infer<typeof FullSchemaKeyColumn>;\n\nexport const FullSchemaIncludedColumn = z.object({\n name: Identifier,\n});\n\nexport type FullSchemaIncludedColumn = z.infer<typeof FullSchemaIncludedColumn>;\n\nexport const FullSchemaIndex = z.object({\n type: z.literal(\"index\"),\n oid: z.number(),\n schemaName: Identifier,\n tableName: Identifier,\n indexName: Identifier,\n indexType: z.string(),\n isUnique: z.boolean(),\n isPrimary: z.boolean(),\n isClustered: z.boolean(),\n wherePredicate: z.string().optional(),\n tablespace: z.string().optional(),\n keyColumns: z.array(FullSchemaKeyColumn),\n includedColumns: z.array(FullSchemaIncludedColumn).optional(),\n});\n\nexport type FullSchemaIndex = z.infer<typeof FullSchemaIndex>;\n\nexport const FullSchemaColumn = z.object({\n type: z.literal(\"column\"),\n name: Identifier,\n order: z.number(),\n columnType: z.string(),\n isNullable: z.boolean(),\n defaultValue: z.string().optional(),\n dropped: z.boolean(),\n collation: z.string().optional(),\n storage: z.enum([\"plain\", \"main\", \"external\", \"extended\"]).optional(),\n isIdentity: z.enum([\"always\", \"by default\"]).optional(),\n});\n\nexport type FullSchemaColumn = z.infer<typeof FullSchemaColumn>;\n\nexport const FullSchemaTable = z.object({\n type: z.literal(\"table\"),\n oid: z.number(),\n schemaName: Identifier,\n tableName: Identifier,\n tablespace: z.string().optional(),\n partitionKeyDef: z.string().optional(),\n columns: z.array(FullSchemaColumn).default([]),\n});\n\nexport type FullSchemaTable = z.infer<typeof FullSchemaTable>;\n\nexport const FullSchemaConstraint = z.object({\n type: z.literal(\"constraint\"),\n oid: z.number(),\n schemaName: Identifier,\n tableName: Identifier,\n constraintName: Identifier,\n constraintType: z\n .enum([\n \"check\",\n \"foreign_key\",\n \"not_null\",\n \"primary_key\",\n \"unique\",\n \"trigger\",\n \"exclusion\",\n ])\n .or(z.string()),\n definition: z.string(),\n isDeferrable: z.boolean().optional(),\n isInitiallyDeferred: z.boolean().optional(),\n isValidated: z.boolean().optional(),\n backingIndexOid: z.number().optional(),\n});\n\nexport type FullSchemaConstraint = z.infer<typeof FullSchemaConstraint>;\n\nexport const FullSchemaFunction = z.object({\n type: z.literal(\"function\"),\n schemaName: Identifier,\n objectName: Identifier,\n objectType: z.enum([\"function\", \"procedure\", \"aggregate\", \"window function\"]),\n identityArguments: z.string().optional(),\n definition: z.string(),\n});\n\nexport type FullSchemaFunction = z.infer<typeof FullSchemaFunction>;\n\nexport const FullSchemaExtension = z.object({\n extensionName: z.string(),\n version: z.string(),\n schemaName: Identifier,\n});\n\nexport type FullSchemaExtension = z.infer<typeof FullSchemaExtension>;\n\nexport const FullSchemaView = z.object({\n type: z.literal(\"view\"),\n schemaName: Identifier,\n viewName: Identifier,\n objectType: z.enum([\"view\", \"materialized_view\"]),\n definition: z.string(),\n tablespace: z.string().optional(),\n});\n\nexport type FullSchemaView = z.infer<typeof FullSchemaView>;\n\nexport const FullSchemaTypeConstraint = z.object({\n name: Identifier,\n definition: z.string(),\n});\n\nexport type FullSchemaTypeConstraint = z.infer<typeof FullSchemaTypeConstraint>;\n\nexport const FullSchemaCompositeAttribute = z.object({\n type: z.literal(\"compositeAttribute\"),\n name: Identifier,\n attributeType: z.string(),\n collation: Identifier.optional(),\n});\n\nexport type FullSchemaCompositeAttribute = z.infer<\n typeof FullSchemaCompositeAttribute\n>;\n\nexport const FullSchemaType = z.object({\n type: z.literal(\"type\"),\n schemaName: Identifier,\n typeName: Identifier,\n typeCategory: z.enum([\"enum\", \"domain\", \"composite\"]),\n enumLabels: z.array(z.string()).optional(),\n domainBaseType: z.string().optional(),\n domainIsNotNull: z.boolean().optional(),\n domainDefault: z.string().optional(),\n domainConstraints: z.array(FullSchemaTypeConstraint).optional(),\n compositeAttributes: z.array(FullSchemaCompositeAttribute).optional(),\n});\n\nexport type FullSchemaType = z.infer<typeof FullSchemaType>;\n\nexport const FullSchemaTrigger = z.object({\n schemaName: Identifier,\n tableName: Identifier,\n triggerName: Identifier,\n definition: z.string(),\n enabledMode: z.string(),\n});\n\nexport type FullSchemaTrigger = z.infer<typeof FullSchemaTrigger>;\n\nexport const FullSchema = z.object({\n indexes: z.array(FullSchemaIndex).default([]),\n tables: z.array(FullSchemaTable).default([]),\n constraints: z.array(FullSchemaConstraint).default([]),\n functions: z.array(FullSchemaFunction).default([]),\n extensions: z.array(FullSchemaExtension).default([]),\n views: z.array(FullSchemaView).default([]),\n types: z.array(FullSchemaType).default([]),\n triggers: z.array(FullSchemaTrigger).default([]),\n});\n\nexport type FullSchema = z.infer<typeof FullSchema>;\n\nexport async function dumpSchema(db: Postgres): Promise<FullSchema> {\n const rows = await db.exec<{ result: FullSchema }>(SCHEMA_DUMP_SQL);\n return FullSchema.parse(rows[0]?.result ?? {});\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"schema.mjs","names":[],"sources":["../src/schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { SCHEMA_DUMP_SQL } from \"./schema-dump.js\";\nimport type { Postgres } from \"./sql/database.js\";\nimport { PgIdentifier } from \"./sql/pg-identifier.js\";\n\nconst Identifier = z.codec(z.string(), z.custom<PgIdentifier>(), {\n encode: (v) => v.toString(),\n decode: (v) => PgIdentifier.fromString(v),\n});\n\nexport const FullSchemaKeyColumn = z.object({\n type: z.literal(\"indexColumn\"),\n name: Identifier,\n order: z.enum([\"ASC\", \"DESC\"]).optional(),\n nulls: z.enum([\"FIRST\", \"LAST\"]).optional(),\n opclass: z.string().optional(),\n collation: z.string().optional(),\n});\n\nexport type FullSchemaKeyColumn = z.infer<typeof FullSchemaKeyColumn>;\n\nexport const FullSchemaIncludedColumn = z.object({\n name: Identifier,\n});\n\nexport type FullSchemaIncludedColumn = z.infer<typeof FullSchemaIncludedColumn>;\n\nexport const FullSchemaIndex = z.object({\n type: z.literal(\"index\"),\n oid: z.number(),\n schemaName: Identifier,\n tableName: Identifier,\n indexName: Identifier,\n indexType: z.string(),\n isUnique: z.boolean(),\n isPrimary: z.boolean(),\n isClustered: z.boolean(),\n wherePredicate: z.string().optional(),\n tablespace: z.string().optional(),\n keyColumns: z.array(FullSchemaKeyColumn),\n includedColumns: z.array(FullSchemaIncludedColumn).optional(),\n});\n\nexport type FullSchemaIndex = z.infer<typeof FullSchemaIndex>;\n\nexport const FullSchemaColumn = z.object({\n type: z.literal(\"column\"),\n name: Identifier,\n order: z.number(),\n columnType: z.string(),\n isNullable: z.boolean(),\n defaultValue: z.string().optional(),\n dropped: z.boolean(),\n collation: z.string().optional(),\n storage: z.enum([\"plain\", \"main\", \"external\", \"extended\"]).optional(),\n isIdentity: z.enum([\"always\", \"by default\"]).optional(),\n});\n\nexport type FullSchemaColumn = z.infer<typeof FullSchemaColumn>;\n\nexport const FullSchemaTable = z.object({\n type: z.literal(\"table\"),\n oid: z.number(),\n schemaName: Identifier,\n tableName: Identifier,\n tablespace: z.string().optional(),\n partitionKeyDef: z.string().optional(),\n columns: z.array(FullSchemaColumn).default([]),\n});\n\nexport type FullSchemaTable = z.infer<typeof FullSchemaTable>;\n\nexport const FullSchemaConstraint = z.object({\n type: z.literal(\"constraint\"),\n oid: z.number(),\n schemaName: Identifier,\n tableName: Identifier,\n constraintName: Identifier,\n constraintType: z\n .enum([\n \"check\",\n \"foreign_key\",\n \"not_null\",\n \"primary_key\",\n \"unique\",\n \"trigger\",\n \"exclusion\",\n ])\n .or(z.string()),\n definition: z.string(),\n isDeferrable: z.boolean().optional(),\n isInitiallyDeferred: z.boolean().optional(),\n isValidated: z.boolean().optional(),\n backingIndexOid: z.number().optional(),\n});\n\nexport type FullSchemaConstraint = z.infer<typeof FullSchemaConstraint>;\n\nexport const FullSchemaFunction = z.object({\n type: z.literal(\"function\"),\n schemaName: Identifier,\n objectName: Identifier,\n objectType: z.enum([\"function\", \"procedure\", \"aggregate\", \"window function\"]),\n identityArguments: z.string().optional(),\n definition: z.string(),\n});\n\nexport type FullSchemaFunction = z.infer<typeof FullSchemaFunction>;\n\nexport const FullSchemaExtension = z.object({\n type: z.literal(\"extension\"),\n extensionName: z.string(),\n version: z.string(),\n schemaName: Identifier,\n});\n\nexport type FullSchemaExtension = z.infer<typeof FullSchemaExtension>;\n\nexport const FullSchemaView = z.object({\n type: z.literal(\"view\"),\n schemaName: Identifier,\n viewName: Identifier,\n objectType: z.enum([\"view\", \"materialized_view\"]),\n definition: z.string(),\n tablespace: z.string().optional(),\n});\n\nexport type FullSchemaView = z.infer<typeof FullSchemaView>;\n\nexport const FullSchemaTypeConstraint = z.object({\n name: Identifier,\n definition: z.string(),\n});\n\nexport type FullSchemaTypeConstraint = z.infer<typeof FullSchemaTypeConstraint>;\n\nexport const FullSchemaCompositeAttribute = z.object({\n type: z.literal(\"compositeAttribute\"),\n name: Identifier,\n attributeType: z.string(),\n collation: Identifier.optional(),\n});\n\nexport type FullSchemaCompositeAttribute = z.infer<\n typeof FullSchemaCompositeAttribute\n>;\n\nexport const FullSchemaType = z.object({\n type: z.literal(\"type\"),\n schemaName: Identifier,\n typeName: Identifier,\n typeCategory: z.enum([\"enum\", \"domain\", \"composite\"]),\n enumLabels: z.array(z.string()).optional(),\n domainBaseType: z.string().optional(),\n domainIsNotNull: z.boolean().optional(),\n domainDefault: z.string().optional(),\n domainConstraints: z.array(FullSchemaTypeConstraint).optional(),\n compositeAttributes: z.array(FullSchemaCompositeAttribute).optional(),\n});\n\nexport type FullSchemaType = z.infer<typeof FullSchemaType>;\n\nexport const FullSchemaTrigger = z.object({\n type: z.literal(\"trigger\"),\n schemaName: Identifier,\n tableName: Identifier,\n triggerName: Identifier,\n definition: z.string(),\n enabledMode: z.string(),\n});\n\nexport type FullSchemaTrigger = z.infer<typeof FullSchemaTrigger>;\n\nexport const FullSchema = z.object({\n indexes: z.array(FullSchemaIndex).default([]),\n tables: z.array(FullSchemaTable).default([]),\n constraints: z.array(FullSchemaConstraint).default([]),\n functions: z.array(FullSchemaFunction).default([]),\n extensions: z.array(FullSchemaExtension).default([]),\n views: z.array(FullSchemaView).default([]),\n types: z.array(FullSchemaType).default([]),\n triggers: z.array(FullSchemaTrigger).default([]),\n});\n\nexport type FullSchema = z.infer<typeof FullSchema>;\n\nexport async function dumpSchema(db: Postgres): Promise<FullSchema> {\n const rows = await db.exec<{ result: FullSchema }>(SCHEMA_DUMP_SQL);\n return FullSchema.parse(rows[0]?.result ?? {});\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@query-doctor/core",
3
- "version": "0.10.9",
3
+ "version": "0.11.0",
4
4
  "private": false,
5
5
  "description": "Core logic for Query Doctor",
6
6
  "license": "",