@prisma-next/mongo-schema-ir 0.5.0-dev.9 → 0.6.0-dev.1

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":"index.d.mts","names":[],"sources":["../../src/canonicalize.ts","../../src/schema-collection-options.ts","../../src/schema-validator.ts","../../src/schema-collection.ts","../../src/schema-ir.ts","../../src/visitor.ts","../../src/schema-node.ts","../../src/schema-index.ts","../../src/index-equivalence.ts","../../src/types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/canonicalize.ts","../../src/schema-collection-options.ts","../../src/schema-validator.ts","../../src/schema-collection.ts","../../src/schema-ir.ts","../../src/visitor.ts","../../src/schema-node.ts","../../src/schema-index.ts","../../src/index-equivalence.ts","../../src/types.ts"],"mappings":"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"}
@@ -7,7 +7,6 @@ function canonicalize(obj) {
7
7
  const record = obj;
8
8
  return `{${Object.keys(record).sort().map((k) => `${JSON.stringify(k)}:${canonicalize(record[k])}`).join(",")}}`;
9
9
  }
10
-
11
10
  //#endregion
12
11
  //#region src/index-equivalence.ts
13
12
  /**
@@ -60,7 +59,6 @@ function indexesEquivalent(a, b) {
60
59
  if (a.language_override !== b.language_override) return false;
61
60
  return true;
62
61
  }
63
-
64
62
  //#endregion
65
63
  //#region src/schema-node.ts
66
64
  var MongoSchemaNode = class {
@@ -68,7 +66,6 @@ var MongoSchemaNode = class {
68
66
  Object.freeze(this);
69
67
  }
70
68
  };
71
-
72
69
  //#endregion
73
70
  //#region src/schema-collection.ts
74
71
  var MongoSchemaCollection = class extends MongoSchemaNode {
@@ -89,7 +86,6 @@ var MongoSchemaCollection = class extends MongoSchemaNode {
89
86
  return visitor.collection(this);
90
87
  }
91
88
  };
92
-
93
89
  //#endregion
94
90
  //#region src/schema-collection-options.ts
95
91
  var MongoSchemaCollectionOptions = class extends MongoSchemaNode {
@@ -112,7 +108,6 @@ var MongoSchemaCollectionOptions = class extends MongoSchemaNode {
112
108
  return visitor.collectionOptions(this);
113
109
  }
114
110
  };
115
-
116
111
  //#endregion
117
112
  //#region src/schema-index.ts
118
113
  var MongoSchemaIndex = class extends MongoSchemaNode {
@@ -145,7 +140,6 @@ var MongoSchemaIndex = class extends MongoSchemaNode {
145
140
  return visitor.index(this);
146
141
  }
147
142
  };
148
-
149
143
  //#endregion
150
144
  //#region src/schema-ir.ts
151
145
  var MongoSchemaIR = class extends MongoSchemaNode {
@@ -168,7 +162,6 @@ var MongoSchemaIR = class extends MongoSchemaNode {
168
162
  return this._byName.get(name);
169
163
  }
170
164
  };
171
-
172
165
  //#endregion
173
166
  //#region src/schema-validator.ts
174
167
  var MongoSchemaValidator = class extends MongoSchemaNode {
@@ -187,7 +180,7 @@ var MongoSchemaValidator = class extends MongoSchemaNode {
187
180
  return visitor.validator(this);
188
181
  }
189
182
  };
190
-
191
183
  //#endregion
192
184
  export { MongoSchemaCollection, MongoSchemaCollectionOptions, MongoSchemaIR, MongoSchemaIndex, MongoSchemaNode, MongoSchemaValidator, canonicalize, deepEqual, indexesEquivalent };
185
+
193
186
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/canonicalize.ts","../../src/index-equivalence.ts","../../src/schema-node.ts","../../src/schema-collection.ts","../../src/schema-collection-options.ts","../../src/schema-index.ts","../../src/schema-ir.ts","../../src/schema-validator.ts"],"sourcesContent":["export function canonicalize(obj: unknown): string {\n if (obj === null) return 'null';\n if (obj === undefined) return 'undefined';\n if (typeof obj !== 'object') return JSON.stringify(obj);\n if (Array.isArray(obj)) return `[${obj.map(canonicalize).join(',')}]`;\n const record = obj as Record<string, unknown>;\n const sorted = Object.keys(record).sort();\n const entries = sorted.map((k) => `${JSON.stringify(k)}:${canonicalize(record[k])}`);\n return `{${entries.join(',')}}`;\n}\n","import { canonicalize } from './canonicalize';\nimport type { MongoSchemaIndex } from './schema-index';\n\n/**\n * Key-order-sensitive structural comparison. For key-order-independent\n * comparison (e.g. lookup key construction), use {@link canonicalize}.\n */\nexport function deepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (a === null || b === null) return false;\n if (a === undefined || b === undefined) return false;\n if (typeof a !== typeof b) return false;\n\n if (Array.isArray(a)) {\n if (!Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i])) return false;\n }\n return true;\n }\n\n if (typeof a === 'object' && typeof b === 'object') {\n const aObj = a as Record<string, unknown>;\n const bObj = b as Record<string, unknown>;\n const aKeys = Object.keys(aObj);\n const bKeys = Object.keys(bObj);\n if (aKeys.length !== bKeys.length) return false;\n for (let i = 0; i < aKeys.length; i++) {\n if (aKeys[i] !== bKeys[i]) return false;\n const key = aKeys[i] as string;\n if (!deepEqual(aObj[key], bObj[key])) return false;\n }\n return true;\n }\n\n return false;\n}\n\nexport function indexesEquivalent(a: MongoSchemaIndex, b: MongoSchemaIndex): boolean {\n if (a.keys.length !== b.keys.length) return false;\n for (let i = 0; i < a.keys.length; i++) {\n const aKey = a.keys[i];\n const bKey = b.keys[i];\n if (!aKey || !bKey) return false;\n if (aKey.field !== bKey.field) return false;\n if (aKey.direction !== bKey.direction) return false;\n }\n if (a.unique !== b.unique) return false;\n if (a.sparse !== b.sparse) return false;\n if (a.expireAfterSeconds !== b.expireAfterSeconds) return false;\n if (canonicalize(a.partialFilterExpression) !== canonicalize(b.partialFilterExpression))\n return false;\n if (canonicalize(a.wildcardProjection) !== canonicalize(b.wildcardProjection)) return false;\n if (canonicalize(a.collation) !== canonicalize(b.collation)) return false;\n if (canonicalize(a.weights) !== canonicalize(b.weights)) return false;\n if (a.default_language !== b.default_language) return false;\n if (a.language_override !== b.language_override) return false;\n return true;\n}\n","import type { MongoSchemaVisitor } from './visitor';\n\nexport abstract class MongoSchemaNode {\n abstract readonly kind: string;\n\n abstract accept<R>(visitor: MongoSchemaVisitor<R>): R;\n\n protected freeze(): void {\n Object.freeze(this);\n }\n}\n","import type { MongoSchemaCollectionOptions } from './schema-collection-options';\nimport type { MongoSchemaIndex } from './schema-index';\nimport { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaValidator } from './schema-validator';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaCollectionCtorOptions {\n readonly name: string;\n readonly indexes?: ReadonlyArray<MongoSchemaIndex>;\n readonly validator?: MongoSchemaValidator;\n readonly options?: MongoSchemaCollectionOptions;\n}\n\nexport class MongoSchemaCollection extends MongoSchemaNode {\n readonly kind = 'collection' as const;\n readonly name: string;\n readonly indexes: ReadonlyArray<MongoSchemaIndex>;\n readonly validator?: MongoSchemaValidator | undefined;\n readonly options?: MongoSchemaCollectionOptions | undefined;\n\n constructor(options: MongoSchemaCollectionCtorOptions) {\n super();\n this.name = options.name;\n this.indexes = options.indexes ?? [];\n this.validator = options.validator;\n this.options = options.options;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.collection(this);\n }\n}\n","import { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaCollectionOptionsInput {\n readonly capped?: { size: number; max?: number };\n readonly timeseries?: {\n timeField: string;\n metaField?: string;\n granularity?: 'seconds' | 'minutes' | 'hours';\n };\n readonly collation?: Record<string, unknown>;\n readonly changeStreamPreAndPostImages?: { enabled: boolean };\n readonly clusteredIndex?: { name?: string };\n}\n\nexport class MongoSchemaCollectionOptions extends MongoSchemaNode {\n readonly kind = 'collectionOptions' as const;\n readonly capped?: { size: number; max?: number } | undefined;\n readonly timeseries?:\n | { timeField: string; metaField?: string; granularity?: 'seconds' | 'minutes' | 'hours' }\n | undefined;\n readonly collation?: Record<string, unknown> | undefined;\n readonly changeStreamPreAndPostImages?: { enabled: boolean } | undefined;\n readonly clusteredIndex?: { name?: string } | undefined;\n\n constructor(options: MongoSchemaCollectionOptionsInput) {\n super();\n this.capped = options.capped;\n this.timeseries = options.timeseries;\n this.collation = options.collation;\n this.changeStreamPreAndPostImages = options.changeStreamPreAndPostImages;\n this.clusteredIndex = options.clusteredIndex;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.collectionOptions(this);\n }\n}\n","import type { MongoIndexKey } from '@prisma-next/mongo-contract';\nimport { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaIndexOptions {\n readonly keys: ReadonlyArray<MongoIndexKey>;\n readonly unique?: boolean | undefined;\n readonly sparse?: boolean | undefined;\n readonly expireAfterSeconds?: number | undefined;\n readonly partialFilterExpression?: Record<string, unknown> | undefined;\n readonly wildcardProjection?: Record<string, 0 | 1> | undefined;\n readonly collation?: Record<string, unknown> | undefined;\n readonly weights?: Record<string, number> | undefined;\n readonly default_language?: string | undefined;\n readonly language_override?: string | undefined;\n}\n\nexport class MongoSchemaIndex extends MongoSchemaNode {\n readonly kind = 'index' as const;\n readonly keys: ReadonlyArray<MongoIndexKey>;\n readonly unique: boolean;\n readonly sparse?: boolean | undefined;\n readonly expireAfterSeconds?: number | undefined;\n readonly partialFilterExpression?: Record<string, unknown> | undefined;\n readonly wildcardProjection?: Record<string, 0 | 1> | undefined;\n readonly collation?: Record<string, unknown> | undefined;\n readonly weights?: Record<string, number> | undefined;\n readonly default_language?: string | undefined;\n readonly language_override?: string | undefined;\n\n constructor(options: MongoSchemaIndexOptions) {\n super();\n this.keys = options.keys;\n this.unique = options.unique ?? false;\n this.sparse = options.sparse;\n this.expireAfterSeconds = options.expireAfterSeconds;\n this.partialFilterExpression = options.partialFilterExpression;\n this.wildcardProjection = options.wildcardProjection;\n this.collation = options.collation;\n this.weights = options.weights;\n this.default_language = options.default_language;\n this.language_override = options.language_override;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.index(this);\n }\n}\n","import type { MongoSchemaCollection } from './schema-collection';\nimport { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport class MongoSchemaIR extends MongoSchemaNode {\n readonly kind = 'schema' as const;\n readonly collections: ReadonlyArray<MongoSchemaCollection>;\n readonly collectionNames: ReadonlyArray<string>;\n\n private readonly _byName: Map<string, MongoSchemaCollection>;\n\n constructor(collections: ReadonlyArray<MongoSchemaCollection>) {\n super();\n const sorted = [...collections].sort((a, b) => a.name.localeCompare(b.name));\n this.collections = sorted;\n this._byName = new Map(sorted.map((c) => [c.name, c]));\n this.collectionNames = sorted.map((c) => c.name);\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.schema(this);\n }\n\n collection(name: string): MongoSchemaCollection | undefined {\n return this._byName.get(name);\n }\n}\n","import { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaValidatorOptions {\n readonly jsonSchema: Record<string, unknown>;\n readonly validationLevel: 'strict' | 'moderate';\n readonly validationAction: 'error' | 'warn';\n}\n\nexport class MongoSchemaValidator extends MongoSchemaNode {\n readonly kind = 'validator' as const;\n readonly jsonSchema: Record<string, unknown>;\n readonly validationLevel: 'strict' | 'moderate';\n readonly validationAction: 'error' | 'warn';\n\n constructor(options: MongoSchemaValidatorOptions) {\n super();\n this.jsonSchema = options.jsonSchema;\n this.validationLevel = options.validationLevel;\n this.validationAction = options.validationAction;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.validator(this);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/canonicalize.ts","../../src/index-equivalence.ts","../../src/schema-node.ts","../../src/schema-collection.ts","../../src/schema-collection-options.ts","../../src/schema-index.ts","../../src/schema-ir.ts","../../src/schema-validator.ts"],"sourcesContent":["export function canonicalize(obj: unknown): string {\n if (obj === null) return 'null';\n if (obj === undefined) return 'undefined';\n if (typeof obj !== 'object') return JSON.stringify(obj);\n if (Array.isArray(obj)) return `[${obj.map(canonicalize).join(',')}]`;\n const record = obj as Record<string, unknown>;\n const sorted = Object.keys(record).sort();\n const entries = sorted.map((k) => `${JSON.stringify(k)}:${canonicalize(record[k])}`);\n return `{${entries.join(',')}}`;\n}\n","import { canonicalize } from './canonicalize';\nimport type { MongoSchemaIndex } from './schema-index';\n\n/**\n * Key-order-sensitive structural comparison. For key-order-independent\n * comparison (e.g. lookup key construction), use {@link canonicalize}.\n */\nexport function deepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n if (a === null || b === null) return false;\n if (a === undefined || b === undefined) return false;\n if (typeof a !== typeof b) return false;\n\n if (Array.isArray(a)) {\n if (!Array.isArray(b)) return false;\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i])) return false;\n }\n return true;\n }\n\n if (typeof a === 'object' && typeof b === 'object') {\n const aObj = a as Record<string, unknown>;\n const bObj = b as Record<string, unknown>;\n const aKeys = Object.keys(aObj);\n const bKeys = Object.keys(bObj);\n if (aKeys.length !== bKeys.length) return false;\n for (let i = 0; i < aKeys.length; i++) {\n if (aKeys[i] !== bKeys[i]) return false;\n const key = aKeys[i] as string;\n if (!deepEqual(aObj[key], bObj[key])) return false;\n }\n return true;\n }\n\n return false;\n}\n\nexport function indexesEquivalent(a: MongoSchemaIndex, b: MongoSchemaIndex): boolean {\n if (a.keys.length !== b.keys.length) return false;\n for (let i = 0; i < a.keys.length; i++) {\n const aKey = a.keys[i];\n const bKey = b.keys[i];\n if (!aKey || !bKey) return false;\n if (aKey.field !== bKey.field) return false;\n if (aKey.direction !== bKey.direction) return false;\n }\n if (a.unique !== b.unique) return false;\n if (a.sparse !== b.sparse) return false;\n if (a.expireAfterSeconds !== b.expireAfterSeconds) return false;\n if (canonicalize(a.partialFilterExpression) !== canonicalize(b.partialFilterExpression))\n return false;\n if (canonicalize(a.wildcardProjection) !== canonicalize(b.wildcardProjection)) return false;\n if (canonicalize(a.collation) !== canonicalize(b.collation)) return false;\n if (canonicalize(a.weights) !== canonicalize(b.weights)) return false;\n if (a.default_language !== b.default_language) return false;\n if (a.language_override !== b.language_override) return false;\n return true;\n}\n","import type { MongoSchemaVisitor } from './visitor';\n\nexport abstract class MongoSchemaNode {\n abstract readonly kind: string;\n\n abstract accept<R>(visitor: MongoSchemaVisitor<R>): R;\n\n protected freeze(): void {\n Object.freeze(this);\n }\n}\n","import type { MongoSchemaCollectionOptions } from './schema-collection-options';\nimport type { MongoSchemaIndex } from './schema-index';\nimport { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaValidator } from './schema-validator';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaCollectionCtorOptions {\n readonly name: string;\n readonly indexes?: ReadonlyArray<MongoSchemaIndex>;\n readonly validator?: MongoSchemaValidator;\n readonly options?: MongoSchemaCollectionOptions;\n}\n\nexport class MongoSchemaCollection extends MongoSchemaNode {\n readonly kind = 'collection' as const;\n readonly name: string;\n readonly indexes: ReadonlyArray<MongoSchemaIndex>;\n readonly validator?: MongoSchemaValidator | undefined;\n readonly options?: MongoSchemaCollectionOptions | undefined;\n\n constructor(options: MongoSchemaCollectionCtorOptions) {\n super();\n this.name = options.name;\n this.indexes = options.indexes ?? [];\n this.validator = options.validator;\n this.options = options.options;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.collection(this);\n }\n}\n","import { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaCollectionOptionsInput {\n readonly capped?: { size: number; max?: number };\n readonly timeseries?: {\n timeField: string;\n metaField?: string;\n granularity?: 'seconds' | 'minutes' | 'hours';\n };\n readonly collation?: Record<string, unknown>;\n readonly changeStreamPreAndPostImages?: { enabled: boolean };\n readonly clusteredIndex?: { name?: string };\n}\n\nexport class MongoSchemaCollectionOptions extends MongoSchemaNode {\n readonly kind = 'collectionOptions' as const;\n readonly capped?: { size: number; max?: number } | undefined;\n readonly timeseries?:\n | { timeField: string; metaField?: string; granularity?: 'seconds' | 'minutes' | 'hours' }\n | undefined;\n readonly collation?: Record<string, unknown> | undefined;\n readonly changeStreamPreAndPostImages?: { enabled: boolean } | undefined;\n readonly clusteredIndex?: { name?: string } | undefined;\n\n constructor(options: MongoSchemaCollectionOptionsInput) {\n super();\n this.capped = options.capped;\n this.timeseries = options.timeseries;\n this.collation = options.collation;\n this.changeStreamPreAndPostImages = options.changeStreamPreAndPostImages;\n this.clusteredIndex = options.clusteredIndex;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.collectionOptions(this);\n }\n}\n","import type { MongoIndexKey } from '@prisma-next/mongo-contract';\nimport { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaIndexOptions {\n readonly keys: ReadonlyArray<MongoIndexKey>;\n readonly unique?: boolean | undefined;\n readonly sparse?: boolean | undefined;\n readonly expireAfterSeconds?: number | undefined;\n readonly partialFilterExpression?: Record<string, unknown> | undefined;\n readonly wildcardProjection?: Record<string, 0 | 1> | undefined;\n readonly collation?: Record<string, unknown> | undefined;\n readonly weights?: Record<string, number> | undefined;\n readonly default_language?: string | undefined;\n readonly language_override?: string | undefined;\n}\n\nexport class MongoSchemaIndex extends MongoSchemaNode {\n readonly kind = 'index' as const;\n readonly keys: ReadonlyArray<MongoIndexKey>;\n readonly unique: boolean;\n readonly sparse?: boolean | undefined;\n readonly expireAfterSeconds?: number | undefined;\n readonly partialFilterExpression?: Record<string, unknown> | undefined;\n readonly wildcardProjection?: Record<string, 0 | 1> | undefined;\n readonly collation?: Record<string, unknown> | undefined;\n readonly weights?: Record<string, number> | undefined;\n readonly default_language?: string | undefined;\n readonly language_override?: string | undefined;\n\n constructor(options: MongoSchemaIndexOptions) {\n super();\n this.keys = options.keys;\n this.unique = options.unique ?? false;\n this.sparse = options.sparse;\n this.expireAfterSeconds = options.expireAfterSeconds;\n this.partialFilterExpression = options.partialFilterExpression;\n this.wildcardProjection = options.wildcardProjection;\n this.collation = options.collation;\n this.weights = options.weights;\n this.default_language = options.default_language;\n this.language_override = options.language_override;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.index(this);\n }\n}\n","import type { MongoSchemaCollection } from './schema-collection';\nimport { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport class MongoSchemaIR extends MongoSchemaNode {\n readonly kind = 'schema' as const;\n readonly collections: ReadonlyArray<MongoSchemaCollection>;\n readonly collectionNames: ReadonlyArray<string>;\n\n private readonly _byName: Map<string, MongoSchemaCollection>;\n\n constructor(collections: ReadonlyArray<MongoSchemaCollection>) {\n super();\n const sorted = [...collections].sort((a, b) => a.name.localeCompare(b.name));\n this.collections = sorted;\n this._byName = new Map(sorted.map((c) => [c.name, c]));\n this.collectionNames = sorted.map((c) => c.name);\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.schema(this);\n }\n\n collection(name: string): MongoSchemaCollection | undefined {\n return this._byName.get(name);\n }\n}\n","import { MongoSchemaNode } from './schema-node';\nimport type { MongoSchemaVisitor } from './visitor';\n\nexport interface MongoSchemaValidatorOptions {\n readonly jsonSchema: Record<string, unknown>;\n readonly validationLevel: 'strict' | 'moderate';\n readonly validationAction: 'error' | 'warn';\n}\n\nexport class MongoSchemaValidator extends MongoSchemaNode {\n readonly kind = 'validator' as const;\n readonly jsonSchema: Record<string, unknown>;\n readonly validationLevel: 'strict' | 'moderate';\n readonly validationAction: 'error' | 'warn';\n\n constructor(options: MongoSchemaValidatorOptions) {\n super();\n this.jsonSchema = options.jsonSchema;\n this.validationLevel = options.validationLevel;\n this.validationAction = options.validationAction;\n this.freeze();\n }\n\n accept<R>(visitor: MongoSchemaVisitor<R>): R {\n return visitor.validator(this);\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@prisma-next/mongo-schema-ir",
3
- "version": "0.5.0-dev.9",
3
+ "version": "0.6.0-dev.1",
4
+ "license": "Apache-2.0",
4
5
  "type": "module",
5
6
  "sideEffects": false,
6
7
  "description": "MongoDB schema IR AST for migration diffing",
7
8
  "dependencies": {
8
- "@prisma-next/mongo-contract": "0.5.0-dev.9"
9
+ "@prisma-next/mongo-contract": "0.6.0-dev.1"
9
10
  },
10
11
  "devDependencies": {
11
- "tsdown": "0.18.4",
12
+ "tsdown": "0.22.0",
12
13
  "typescript": "5.9.3",
13
- "vitest": "4.0.17",
14
+ "vitest": "4.1.5",
14
15
  "@prisma-next/test-utils": "0.0.1",
15
16
  "@prisma-next/tsconfig": "0.0.0",
16
17
  "@prisma-next/tsdown": "0.0.0"