@dbml/core 11.0.2-arch.0.0 → 11.0.2-arch.0.2
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.
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/lib/_virtual/_rolldown/runtime.cjs +1 -1
- package/lib/_virtual/_rolldown/runtime.mjs +2 -3
- package/lib/export/DbmlExporter.cjs +1 -1
- package/lib/export/DbmlExporter.mjs +2 -3
- package/lib/export/JsonExporter.mjs +1 -2
- package/lib/export/ModelExporter.cjs +1 -1
- package/lib/export/ModelExporter.mjs +9 -10
- package/lib/export/MysqlExporter.mjs +1 -2
- package/lib/export/OracleExporter.mjs +1 -2
- package/lib/export/PostgresExporter.cjs +8 -8
- package/lib/export/PostgresExporter.mjs +30 -31
- package/lib/export/SqlServerExporter.mjs +1 -2
- package/lib/export/index.cjs +1 -1
- package/lib/export/index.mjs +5 -6
- package/lib/export/utils.mjs +1 -2
- package/lib/import/index.cjs +1 -1
- package/lib/import/index.mjs +10 -11
- package/lib/index.cjs +1 -1
- package/lib/index.mjs +6 -6
- package/lib/model_structure/check.mjs +1 -2
- package/lib/model_structure/config.mjs +1 -2
- package/lib/model_structure/database.cjs +1 -1
- package/lib/model_structure/database.mjs +14 -15
- package/lib/model_structure/dbState.mjs +1 -2
- package/lib/model_structure/dep.cjs +1 -1
- package/lib/model_structure/dep.mjs +6 -7
- package/lib/model_structure/depEdge.cjs +1 -1
- package/lib/model_structure/depEdge.mjs +10 -11
- package/lib/model_structure/element.mjs +1 -2
- package/lib/model_structure/endpoint.cjs +1 -1
- package/lib/model_structure/endpoint.mjs +17 -18
- package/lib/model_structure/enum.cjs +1 -1
- package/lib/model_structure/enum.mjs +8 -9
- package/lib/model_structure/enumValue.mjs +1 -2
- package/lib/model_structure/field.cjs +1 -1
- package/lib/model_structure/field.mjs +5 -6
- package/lib/model_structure/group.mjs +1 -2
- package/lib/model_structure/indexColumn.mjs +1 -2
- package/lib/model_structure/indexes.mjs +1 -2
- package/lib/model_structure/link.mjs +1 -2
- package/lib/model_structure/node.mjs +1 -2
- package/lib/model_structure/ref.mjs +1 -2
- package/lib/model_structure/schema.cjs +1 -1
- package/lib/model_structure/schema.mjs +15 -16
- package/lib/model_structure/stickyNote.mjs +1 -2
- package/lib/model_structure/table.cjs +1 -1
- package/lib/model_structure/table.mjs +28 -29
- package/lib/model_structure/tableGroup.cjs +1 -1
- package/lib/model_structure/tableGroup.mjs +5 -6
- package/lib/model_structure/tablePartial.mjs +1 -2
- package/lib/model_structure/utils.mjs +1 -2
- package/lib/node_modules/antlr4/dist/antlr4.web.mjs +1 -2
- package/lib/node_modules/lodash-es/_DataView.cjs +1 -1
- package/lib/node_modules/lodash-es/_DataView.mjs +4 -5
- package/lib/node_modules/lodash-es/_Hash.mjs +1 -2
- package/lib/node_modules/lodash-es/_ListCache.mjs +1 -2
- package/lib/node_modules/lodash-es/_Map.cjs +1 -1
- package/lib/node_modules/lodash-es/_Map.mjs +4 -5
- package/lib/node_modules/lodash-es/_MapCache.mjs +1 -2
- package/lib/node_modules/lodash-es/_Promise.cjs +1 -1
- package/lib/node_modules/lodash-es/_Promise.mjs +4 -5
- package/lib/node_modules/lodash-es/_Set.cjs +1 -1
- package/lib/node_modules/lodash-es/_Set.mjs +4 -5
- package/lib/node_modules/lodash-es/_SetCache.mjs +1 -2
- package/lib/node_modules/lodash-es/_Stack.mjs +1 -2
- package/lib/node_modules/lodash-es/_Symbol.mjs +1 -2
- package/lib/node_modules/lodash-es/_Uint8Array.mjs +1 -2
- package/lib/node_modules/lodash-es/_WeakMap.cjs +1 -1
- package/lib/node_modules/lodash-es/_WeakMap.mjs +4 -5
- package/lib/node_modules/lodash-es/_arrayAggregator.mjs +1 -2
- package/lib/node_modules/lodash-es/_arrayEach.mjs +1 -2
- package/lib/node_modules/lodash-es/_arrayFilter.mjs +1 -2
- package/lib/node_modules/lodash-es/_arrayLikeKeys.cjs +1 -1
- package/lib/node_modules/lodash-es/_arrayLikeKeys.mjs +9 -10
- package/lib/node_modules/lodash-es/_arrayMap.mjs +1 -2
- package/lib/node_modules/lodash-es/_arrayPush.mjs +1 -2
- package/lib/node_modules/lodash-es/_arrayReduce.mjs +1 -2
- package/lib/node_modules/lodash-es/_arraySome.mjs +1 -2
- package/lib/node_modules/lodash-es/_asciiToArray.mjs +1 -2
- package/lib/node_modules/lodash-es/_assocIndexOf.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseAggregator.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseAssignValue.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseEach.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseFlatten.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseFor.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseForOwn.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseForOwn.mjs +5 -6
- package/lib/node_modules/lodash-es/_baseGet.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseGetAllKeys.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseGetAllKeys.mjs +5 -6
- package/lib/node_modules/lodash-es/_baseGetTag.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseHasIn.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseIsArguments.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseIsEqual.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseIsEqual.mjs +5 -6
- package/lib/node_modules/lodash-es/_baseIsEqualDeep.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseIsEqualDeep.mjs +15 -16
- package/lib/node_modules/lodash-es/_baseIsMatch.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseIsNative.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseIsNative.mjs +6 -7
- package/lib/node_modules/lodash-es/_baseIsTypedArray.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseIsTypedArray.mjs +5 -6
- package/lib/node_modules/lodash-es/_baseIteratee.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseIteratee.mjs +7 -8
- package/lib/node_modules/lodash-es/_baseKeys.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseMatches.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseMatchesProperty.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseMatchesProperty.mjs +10 -11
- package/lib/node_modules/lodash-es/_baseNth.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseProperty.mjs +1 -2
- package/lib/node_modules/lodash-es/_basePropertyDeep.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseReduce.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseSlice.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseTimes.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseToString.cjs +1 -1
- package/lib/node_modules/lodash-es/_baseToString.mjs +7 -8
- package/lib/node_modules/lodash-es/_baseTrim.mjs +1 -2
- package/lib/node_modules/lodash-es/_baseUnary.mjs +1 -2
- package/lib/node_modules/lodash-es/_cacheHas.mjs +1 -2
- package/lib/node_modules/lodash-es/_castFunction.mjs +1 -2
- package/lib/node_modules/lodash-es/_castPath.mjs +1 -2
- package/lib/node_modules/lodash-es/_castSlice.mjs +1 -2
- package/lib/node_modules/lodash-es/_copyArray.mjs +1 -2
- package/lib/node_modules/lodash-es/_coreJsData.mjs +1 -2
- package/lib/node_modules/lodash-es/_createAggregator.cjs +1 -1
- package/lib/node_modules/lodash-es/_createAggregator.mjs +8 -9
- package/lib/node_modules/lodash-es/_createBaseEach.mjs +1 -2
- package/lib/node_modules/lodash-es/_createBaseFor.mjs +1 -2
- package/lib/node_modules/lodash-es/_createCaseFirst.cjs +1 -1
- package/lib/node_modules/lodash-es/_createCaseFirst.mjs +8 -9
- package/lib/node_modules/lodash-es/_defineProperty.mjs +1 -2
- package/lib/node_modules/lodash-es/_equalArrays.mjs +1 -2
- package/lib/node_modules/lodash-es/_equalByTag.cjs +1 -1
- package/lib/node_modules/lodash-es/_equalByTag.mjs +6 -7
- package/lib/node_modules/lodash-es/_equalObjects.mjs +1 -2
- package/lib/node_modules/lodash-es/_freeGlobal.mjs +1 -2
- package/lib/node_modules/lodash-es/_getAllKeys.cjs +1 -1
- package/lib/node_modules/lodash-es/_getAllKeys.mjs +5 -6
- package/lib/node_modules/lodash-es/_getMapData.mjs +1 -2
- package/lib/node_modules/lodash-es/_getMatchData.cjs +1 -1
- package/lib/node_modules/lodash-es/_getMatchData.mjs +6 -7
- package/lib/node_modules/lodash-es/_getNative.mjs +1 -2
- package/lib/node_modules/lodash-es/_getRawTag.mjs +1 -2
- package/lib/node_modules/lodash-es/_getSymbols.mjs +1 -2
- package/lib/node_modules/lodash-es/_getTag.cjs +1 -1
- package/lib/node_modules/lodash-es/_getTag.mjs +12 -13
- package/lib/node_modules/lodash-es/_getValue.mjs +1 -2
- package/lib/node_modules/lodash-es/_hasPath.cjs +1 -1
- package/lib/node_modules/lodash-es/_hasPath.mjs +9 -10
- package/lib/node_modules/lodash-es/_hasUnicode.mjs +1 -2
- package/lib/node_modules/lodash-es/_hashClear.mjs +1 -2
- package/lib/node_modules/lodash-es/_hashDelete.mjs +1 -2
- package/lib/node_modules/lodash-es/_hashGet.mjs +1 -2
- package/lib/node_modules/lodash-es/_hashHas.mjs +1 -2
- package/lib/node_modules/lodash-es/_hashSet.mjs +1 -2
- package/lib/node_modules/lodash-es/_isFlattenable.cjs +1 -1
- package/lib/node_modules/lodash-es/_isFlattenable.mjs +5 -6
- package/lib/node_modules/lodash-es/_isIndex.mjs +1 -2
- package/lib/node_modules/lodash-es/_isKey.cjs +1 -1
- package/lib/node_modules/lodash-es/_isKey.mjs +6 -7
- package/lib/node_modules/lodash-es/_isKeyable.mjs +1 -2
- package/lib/node_modules/lodash-es/_isMasked.mjs +1 -2
- package/lib/node_modules/lodash-es/_isPrototype.mjs +1 -2
- package/lib/node_modules/lodash-es/_isStrictComparable.mjs +1 -2
- package/lib/node_modules/lodash-es/_listCacheClear.mjs +1 -2
- package/lib/node_modules/lodash-es/_listCacheDelete.mjs +1 -2
- package/lib/node_modules/lodash-es/_listCacheGet.mjs +1 -2
- package/lib/node_modules/lodash-es/_listCacheHas.mjs +1 -2
- package/lib/node_modules/lodash-es/_listCacheSet.mjs +1 -2
- package/lib/node_modules/lodash-es/_mapCacheClear.mjs +1 -2
- package/lib/node_modules/lodash-es/_mapCacheDelete.mjs +1 -2
- package/lib/node_modules/lodash-es/_mapCacheGet.mjs +1 -2
- package/lib/node_modules/lodash-es/_mapCacheHas.mjs +1 -2
- package/lib/node_modules/lodash-es/_mapCacheSet.mjs +1 -2
- package/lib/node_modules/lodash-es/_mapToArray.mjs +1 -2
- package/lib/node_modules/lodash-es/_matchesStrictComparable.mjs +1 -2
- package/lib/node_modules/lodash-es/_memoizeCapped.mjs +1 -2
- package/lib/node_modules/lodash-es/_nativeCreate.mjs +1 -2
- package/lib/node_modules/lodash-es/_nativeKeys.mjs +1 -2
- package/lib/node_modules/lodash-es/_nodeUtil.mjs +1 -2
- package/lib/node_modules/lodash-es/_objectToString.mjs +1 -2
- package/lib/node_modules/lodash-es/_overArg.mjs +1 -2
- package/lib/node_modules/lodash-es/_root.mjs +1 -2
- package/lib/node_modules/lodash-es/_setCacheAdd.mjs +1 -2
- package/lib/node_modules/lodash-es/_setCacheHas.mjs +1 -2
- package/lib/node_modules/lodash-es/_setToArray.mjs +1 -2
- package/lib/node_modules/lodash-es/_stackClear.mjs +1 -2
- package/lib/node_modules/lodash-es/_stackDelete.mjs +1 -2
- package/lib/node_modules/lodash-es/_stackGet.mjs +1 -2
- package/lib/node_modules/lodash-es/_stackHas.mjs +1 -2
- package/lib/node_modules/lodash-es/_stackSet.mjs +1 -2
- package/lib/node_modules/lodash-es/_stringToArray.cjs +1 -1
- package/lib/node_modules/lodash-es/_stringToArray.mjs +5 -6
- package/lib/node_modules/lodash-es/_stringToPath.mjs +1 -2
- package/lib/node_modules/lodash-es/_toKey.mjs +1 -2
- package/lib/node_modules/lodash-es/_toSource.mjs +1 -2
- package/lib/node_modules/lodash-es/_trimmedEndIndex.mjs +1 -2
- package/lib/node_modules/lodash-es/_unicodeToArray.mjs +1 -2
- package/lib/node_modules/lodash-es/capitalize.mjs +1 -2
- package/lib/node_modules/lodash-es/concat.cjs +1 -1
- package/lib/node_modules/lodash-es/concat.mjs +7 -8
- package/lib/node_modules/lodash-es/eq.mjs +1 -2
- package/lib/node_modules/lodash-es/first.mjs +1 -1
- package/lib/node_modules/lodash-es/flatten.mjs +1 -2
- package/lib/node_modules/lodash-es/flattenDeep.mjs +1 -2
- package/lib/node_modules/lodash-es/flattenDepth.cjs +1 -1
- package/lib/node_modules/lodash-es/flattenDepth.mjs +5 -6
- package/lib/node_modules/lodash-es/forEach.cjs +1 -1
- package/lib/node_modules/lodash-es/forEach.mjs +7 -8
- package/lib/node_modules/lodash-es/get.mjs +1 -2
- package/lib/node_modules/lodash-es/groupBy.mjs +1 -2
- package/lib/node_modules/lodash-es/hasIn.mjs +1 -2
- package/lib/node_modules/lodash-es/head.mjs +1 -2
- package/lib/node_modules/lodash-es/identity.mjs +1 -2
- package/lib/node_modules/lodash-es/isArguments.cjs +1 -1
- package/lib/node_modules/lodash-es/isArguments.mjs +6 -7
- package/lib/node_modules/lodash-es/isArray.mjs +1 -2
- package/lib/node_modules/lodash-es/isArrayLike.mjs +1 -2
- package/lib/node_modules/lodash-es/isBuffer.mjs +1 -2
- package/lib/node_modules/lodash-es/isEmpty.cjs +1 -1
- package/lib/node_modules/lodash-es/isEmpty.mjs +13 -14
- package/lib/node_modules/lodash-es/isFunction.mjs +1 -2
- package/lib/node_modules/lodash-es/isLength.mjs +1 -2
- package/lib/node_modules/lodash-es/isNil.mjs +1 -2
- package/lib/node_modules/lodash-es/isObject.mjs +1 -2
- package/lib/node_modules/lodash-es/isObjectLike.mjs +1 -2
- package/lib/node_modules/lodash-es/isSymbol.mjs +1 -2
- package/lib/node_modules/lodash-es/isTypedArray.mjs +1 -2
- package/lib/node_modules/lodash-es/keys.cjs +1 -1
- package/lib/node_modules/lodash-es/keys.mjs +6 -7
- package/lib/node_modules/lodash-es/last.mjs +1 -2
- package/lib/node_modules/lodash-es/lodash.cjs +1 -1
- package/lib/node_modules/lodash-es/lodash.mjs +19 -19
- package/lib/node_modules/lodash-es/memoize.mjs +1 -2
- package/lib/node_modules/lodash-es/nth.cjs +1 -1
- package/lib/node_modules/lodash-es/nth.mjs +5 -6
- package/lib/node_modules/lodash-es/property.cjs +1 -1
- package/lib/node_modules/lodash-es/property.mjs +7 -8
- package/lib/node_modules/lodash-es/reduce.cjs +1 -1
- package/lib/node_modules/lodash-es/reduce.mjs +8 -9
- package/lib/node_modules/lodash-es/stubArray.mjs +1 -2
- package/lib/node_modules/lodash-es/stubFalse.mjs +1 -2
- package/lib/node_modules/lodash-es/toFinite.mjs +1 -2
- package/lib/node_modules/lodash-es/toInteger.mjs +1 -2
- package/lib/node_modules/lodash-es/toNumber.cjs +1 -1
- package/lib/node_modules/lodash-es/toNumber.mjs +9 -10
- package/lib/node_modules/lodash-es/toString.mjs +1 -2
- package/lib/node_modules/lodash-es/upperFirst.mjs +1 -2
- package/lib/node_modules/luxon/build/es6/luxon.mjs +1 -2
- package/lib/node_modules/parsimmon/build/parsimmon.umd.min.cjs +1 -1
- package/lib/node_modules/parsimmon/build/parsimmon.umd.min.mjs +3 -4
- package/lib/node_modules/pluralize/pluralize.cjs +1 -1
- package/lib/node_modules/pluralize/pluralize.mjs +3 -4
- package/lib/packages/dbml-core/node_modules/lodash/lodash.cjs +2 -2
- package/lib/packages/dbml-core/node_modules/lodash/lodash.mjs +3 -4
- package/lib/packages/dbml-core/package.json.cjs +1 -1
- package/lib/packages/dbml-core/package.json.mjs +2 -3
- package/lib/parse/ANTLR/ASTGeneration/AST.mjs +1 -2
- package/lib/parse/ANTLR/ASTGeneration/ParserErrorListener.mjs +1 -2
- package/lib/parse/ANTLR/ASTGeneration/SyntaxError.mjs +1 -2
- package/lib/parse/ANTLR/ASTGeneration/constants.mjs +1 -2
- package/lib/parse/ANTLR/ASTGeneration/helpers.mjs +1 -2
- package/lib/parse/ANTLR/ASTGeneration/index.mjs +1 -2
- package/lib/parse/ANTLR/ASTGeneration/mssql/MssqlASTGen.mjs +1 -2
- package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.mjs +2 -3
- package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.mjs +57 -58
- package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.mjs +2 -3
- package/lib/parse/ANTLR/ASTGeneration/snowflake/SnowflakeASTGen.mjs +1 -2
- package/lib/parse/ANTLR/parsers/mssql/TSqlLexer.mjs +1 -2
- package/lib/parse/ANTLR/parsers/mssql/TSqlParser.mjs +1 -2
- package/lib/parse/ANTLR/parsers/mssql/TSqlParserVisitor.mjs +1 -2
- package/lib/parse/ANTLR/parsers/mysql/MySqlLexer.mjs +1 -2
- package/lib/parse/ANTLR/parsers/mysql/MySqlLexerBase.mjs +1 -2
- package/lib/parse/ANTLR/parsers/mysql/MySqlParser.mjs +1 -2
- package/lib/parse/ANTLR/parsers/mysql/MySqlParserVisitor.mjs +1 -2
- package/lib/parse/ANTLR/parsers/oraclesql/OracleSqlLexer.mjs +1 -2
- package/lib/parse/ANTLR/parsers/oraclesql/OracleSqlLexerBase.mjs +1 -2
- package/lib/parse/ANTLR/parsers/oraclesql/OracleSqlParser.mjs +1 -2
- package/lib/parse/ANTLR/parsers/oraclesql/OracleSqlParserBase.mjs +1 -2
- package/lib/parse/ANTLR/parsers/oraclesql/OracleSqlParserVisitor.mjs +1 -2
- package/lib/parse/ANTLR/parsers/postgresql/PostgreSQLLexer.mjs +1 -2
- package/lib/parse/ANTLR/parsers/postgresql/PostgreSQLLexerBase.mjs +1 -2
- package/lib/parse/ANTLR/parsers/postgresql/PostgreSQLParser.mjs +1 -2
- package/lib/parse/ANTLR/parsers/postgresql/PostgreSQLParserBase.mjs +1 -2
- package/lib/parse/ANTLR/parsers/postgresql/PostgreSQLParserVisitor.mjs +1 -2
- package/lib/parse/ANTLR/parsers/snowflake/SnowflakeLexer.mjs +1 -2
- package/lib/parse/ANTLR/parsers/snowflake/SnowflakeParser.mjs +1 -2
- package/lib/parse/ANTLR/parsers/snowflake/SnowflakeParserVisitor.mjs +1 -2
- package/lib/parse/Parser.cjs +1 -1
- package/lib/parse/Parser.mjs +37 -38
- package/lib/parse/databaseGenerator.mjs +1 -2
- package/lib/parse/deprecated/dbmlParser.mjs +1 -2
- package/lib/parse/deprecated/mssql/base_parsers.cjs +1 -1
- package/lib/parse/deprecated/mssql/base_parsers.mjs +27 -28
- package/lib/parse/deprecated/mssql/column_definition/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/column_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/column_definition/index.mjs +19 -19
- package/lib/parse/deprecated/mssql/constraint_definition/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/constraint_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/constraint_definition/index.mjs +10 -10
- package/lib/parse/deprecated/mssql/expression.cjs +1 -1
- package/lib/parse/deprecated/mssql/expression.mjs +17 -18
- package/lib/parse/deprecated/mssql/fk_definition/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/fk_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/fk_definition/index.mjs +7 -8
- package/lib/parse/deprecated/mssql/index.mjs +1 -2
- package/lib/parse/deprecated/mssql/index_definition/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/index_definition/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/index_definition/index.mjs +13 -14
- package/lib/parse/deprecated/mssql/keyword_parsers.mjs +1 -2
- package/lib/parse/deprecated/mssql/keyword_utils.mjs +1 -2
- package/lib/parse/deprecated/mssql/statements/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/statements/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/index.mjs +23 -24
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/add/actions.mjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/add/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/add/index.mjs +13 -14
- package/lib/parse/deprecated/mssql/statements/statement_types/alter_table/index.mjs +1 -2
- package/lib/parse/deprecated/mssql/statements/statement_types/comments/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/statements/statement_types/comments/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/comments/index.mjs +5 -6
- package/lib/parse/deprecated/mssql/statements/statement_types/create_index/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/statements/statement_types/create_index/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/create_index/index.mjs +11 -12
- package/lib/parse/deprecated/mssql/statements/statement_types/create_table/actions.mjs +1 -2
- package/lib/parse/deprecated/mssql/statements/statement_types/create_table/index.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/statement_types/create_table/index.mjs +11 -12
- package/lib/parse/deprecated/mssql/statements/statement_types/index.mjs +1 -1
- package/lib/parse/deprecated/mssql/utils.cjs +1 -1
- package/lib/parse/deprecated/mssql/utils.mjs +10 -11
- package/lib/parse/deprecated/mssql/whitespaces.mjs +1 -2
- package/lib/parse/deprecated/mssqlParser.mjs +1 -2
- package/lib/parse/deprecated/mysqlParser.mjs +1 -2
- package/lib/parse/deprecated/postgresParser.mjs +1 -2
- package/lib/parse/deprecated/schemarbParser.mjs +1 -2
- package/lib/parse/error.mjs +1 -2
- package/lib/transform/index.mjs +1 -2
- package/lib/transform/relations.mjs +1 -2
- package/lib/utils/version.mjs +1 -2
- package/package.json +3 -3
- package/types/export/DbmlExporter.d.ts +0 -0
- package/types/export/JsonExporter.d.ts +0 -0
- package/types/export/ModelExporter.d.ts +0 -0
- package/types/export/index.d.ts +0 -0
- package/types/index.d.ts +3 -3
- package/types/model_structure/check.d.ts +0 -0
- package/types/model_structure/element.d.ts +0 -0
- package/types/model_structure/enum.d.ts +0 -0
- package/types/model_structure/enumValue.d.ts +0 -0
- package/types/model_structure/index.d.ts +0 -0
- package/types/model_structure/indexes.d.ts +0 -0
- package/types/model_structure/ref.d.ts +0 -0
- package/types/model_structure/tablePartial.d.ts +0 -0
- package/types/parse/Parser.d.ts +0 -0
package/LICENSE
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);exports.__commonJSMin=s,exports.__esmMin=o,exports.__exportAll=c,exports.__toCommonJS=d,exports.__toESM=u;
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);exports.__commonJSMin=s,exports.__esmMin=o,exports.__exportAll=c,exports.__toCommonJS=d,exports.__toESM=u;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// \0rolldown/runtime.js
|
|
2
2
|
var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t, n) => () => {
|
|
3
3
|
if (n) throw n[0];
|
|
4
4
|
try {
|
|
@@ -6,7 +6,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
|
|
|
6
6
|
} catch (e) {
|
|
7
7
|
throw n = [e], e;
|
|
8
8
|
}
|
|
9
|
-
}, s = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), c = (e, n) => {
|
|
9
|
+
}, s = (e, t) => () => (t || (e((t = { exports: {} }).exports, t, t.exports), e = null), t.exports), c = (e, n) => {
|
|
10
10
|
let r = {};
|
|
11
11
|
for (var i in e) t(r, i, {
|
|
12
12
|
get: e[i],
|
|
@@ -26,5 +26,4 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
|
|
|
26
26
|
if (typeof require < "u") return require.apply(this, arguments);
|
|
27
27
|
throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
28
28
|
});
|
|
29
|
-
//#endregion
|
|
30
29
|
export { s as __commonJSMin, o as __esmMin, c as __exportAll, f as __require, d as __toCommonJS, u as __toESM };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/lodash-es/groupBy.cjs"),t=require("../node_modules/lodash-es/isEmpty.cjs"),n=require("../node_modules/lodash-es/reduce.cjs"),r=require("../node_modules/lodash-es/lodash.cjs")
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/lodash-es/groupBy.cjs"),t=require("../node_modules/lodash-es/isEmpty.cjs"),n=require("../node_modules/lodash-es/reduce.cjs"),r=require("../node_modules/lodash-es/lodash.cjs"),i=require("./utils.cjs");require("../model_structure/config.cjs");let a=require("@dbml/parse");r.init_lodash();var o=class r{static hasWhiteSpace(e){return/\s/g.test(e)}static hasSquareBracket(e){return/\[|\]/.test(e)}static isExpression(e){return/\s*(\*|\+|-|\([A-Za-z0-9_]+\)|\(\))/g.test(e)}static escapeNote(e){if(e===null)return``;let t=e.replaceAll(`\\`,`\\\\`);return t.match(/[\n\r']/)?(t=t.replaceAll(`'`,`\\'`),t=t.replaceAll(`\r
|
|
2
2
|
`,`
|
|
3
3
|
`),`'''${t}'''`):`'${t}'`}static exportEnums(e,t){let n=e.map(e=>{let n=t.enums[e],a=t.schemas[n.schemaId];return`Enum ${i.shouldPrintSchema(a,t)?`"${a.name}".`:``}"${n.name}" {\n${n.valueIds.map(e=>` "${t.enumValues[e].name}"${t.enumValues[e].note?` [note: ${r.escapeNote(t.enumValues[e].note)}]`:``}`).join(`
|
|
4
4
|
`)}\n}\n`});return n.length?n.join(`
|
|
@@ -2,10 +2,10 @@ import e from "../node_modules/lodash-es/groupBy.mjs";
|
|
|
2
2
|
import t from "../node_modules/lodash-es/isEmpty.mjs";
|
|
3
3
|
import n from "../node_modules/lodash-es/reduce.mjs";
|
|
4
4
|
import { init_lodash as r } from "../node_modules/lodash-es/lodash.mjs";
|
|
5
|
-
import "../model_structure/config.mjs";
|
|
6
5
|
import { shouldPrintSchema as i } from "./utils.mjs";
|
|
6
|
+
import "../model_structure/config.mjs";
|
|
7
7
|
import { addDoubleQuoteIfNeeded as a, escapeString as o, formatTypedValue as s, getRelationshipOp as c, normalizeQualifiedName as l, parseCardinality as u } from "@dbml/parse";
|
|
8
|
-
|
|
8
|
+
// src/export/DbmlExporter.ts
|
|
9
9
|
r();
|
|
10
10
|
var d = class r {
|
|
11
11
|
static hasWhiteSpace(e) {
|
|
@@ -195,5 +195,4 @@ var d = class r {
|
|
|
195
195
|
return s && i.push(s), i.join("\n");
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
|
-
//#endregion
|
|
199
198
|
export { d as default };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import e from "../model_structure/database.mjs";
|
|
2
|
-
|
|
2
|
+
// src/export/JsonExporter.ts
|
|
3
3
|
var t = class {
|
|
4
4
|
static export(t, n) {
|
|
5
5
|
let { isNormalized: r } = n;
|
|
6
6
|
return !r && t instanceof e ? JSON.stringify(t.export(), null, 2) : JSON.stringify(t, null, 2);
|
|
7
7
|
}
|
|
8
8
|
};
|
|
9
|
-
//#endregion
|
|
10
9
|
export { t as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");const e=require("./DbmlExporter.cjs"),t=require("./MysqlExporter.cjs"),n=require("./PostgresExporter.cjs"),r=require("
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");const e=require("./DbmlExporter.cjs"),t=require("./MysqlExporter.cjs"),n=require("./PostgresExporter.cjs"),r=require("./JsonExporter.cjs"),i=require("./SqlServerExporter.cjs"),a=require("./OracleExporter.cjs"),o=require("../model_structure/database.cjs"),s=require("./index.cjs");var c=class{static export(c,l,u={isNormalized:!0,includeRecords:!0}){let{isNormalized:d,includeRecords:f}=s.normalizeExportOptions(u),p=c instanceof o.default?c.normalize():c,m=``;switch(l){case`dbml`:m=e.default.export(p,{includeRecords:f});break;case`mysql`:m=t.default.export(p);break;case`postgres`:m=n.default.export(p);break;case`json`:m=r.default.export(c,{isNormalized:d});break;case`mssql`:m=i.default.export(p);break;case`oracle`:m=a.default.export(p)}return m}};exports.default=c;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import e from "./DbmlExporter.mjs";
|
|
2
2
|
import t from "./MysqlExporter.mjs";
|
|
3
3
|
import n from "./PostgresExporter.mjs";
|
|
4
|
-
import r from "
|
|
5
|
-
import i from "./
|
|
6
|
-
import a from "./
|
|
7
|
-
import o from "
|
|
4
|
+
import r from "./JsonExporter.mjs";
|
|
5
|
+
import i from "./SqlServerExporter.mjs";
|
|
6
|
+
import a from "./OracleExporter.mjs";
|
|
7
|
+
import o from "../model_structure/database.mjs";
|
|
8
8
|
import { normalizeExportOptions as s } from "./index.mjs";
|
|
9
|
-
|
|
9
|
+
// src/export/ModelExporter.ts
|
|
10
10
|
var c = class {
|
|
11
11
|
static export(c, l, u = {
|
|
12
12
|
isNormalized: !0,
|
|
13
13
|
includeRecords: !0
|
|
14
14
|
}) {
|
|
15
|
-
let { isNormalized: d, includeRecords: f } = s(u), p = c instanceof
|
|
15
|
+
let { isNormalized: d, includeRecords: f } = s(u), p = c instanceof o ? c.normalize() : c, m = "";
|
|
16
16
|
switch (l) {
|
|
17
17
|
case "dbml":
|
|
18
18
|
m = e.export(p, { includeRecords: f });
|
|
@@ -24,15 +24,14 @@ var c = class {
|
|
|
24
24
|
m = n.export(p);
|
|
25
25
|
break;
|
|
26
26
|
case "json":
|
|
27
|
-
m =
|
|
27
|
+
m = r.export(c, { isNormalized: d });
|
|
28
28
|
break;
|
|
29
29
|
case "mssql":
|
|
30
|
-
m =
|
|
30
|
+
m = i.export(p);
|
|
31
31
|
break;
|
|
32
|
-
case "oracle": m =
|
|
32
|
+
case "oracle": m = a.export(p);
|
|
33
33
|
}
|
|
34
34
|
return m;
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
//#endregion
|
|
38
37
|
export { c as default };
|
|
@@ -4,7 +4,7 @@ import n from "../node_modules/lodash-es/isEmpty.mjs";
|
|
|
4
4
|
import { init_lodash as r } from "../node_modules/lodash-es/lodash.mjs";
|
|
5
5
|
import { buildJunctionFields1 as i, buildJunctionFields2 as a, buildNewTableName as o, shouldPrintSchema as s } from "./utils.mjs";
|
|
6
6
|
import { isBinaryType as c, isBooleanType as l, isDateTimeType as u, isNumericType as d, isStringType as f, parseCardinality as p } from "@dbml/parse";
|
|
7
|
-
|
|
7
|
+
// src/export/MysqlExporter.js
|
|
8
8
|
r();
|
|
9
9
|
var m = class r {
|
|
10
10
|
static exportRecords(e) {
|
|
@@ -151,5 +151,4 @@ var m = class r {
|
|
|
151
151
|
return t(c.schemas, c.enums, c.tables, c.indexes, c.comments, c.refs, u).join("\n");
|
|
152
152
|
}
|
|
153
153
|
};
|
|
154
|
-
//#endregion
|
|
155
154
|
export { m as default };
|
|
@@ -5,7 +5,7 @@ import r from "../node_modules/lodash-es/isEmpty.mjs";
|
|
|
5
5
|
import { init_lodash as i } from "../node_modules/lodash-es/lodash.mjs";
|
|
6
6
|
import { buildJunctionFields1 as a, buildJunctionFields2 as o, buildUniqueTableName as s, escapeObjectName as c, formatDatetimeForOracle as l, parseIsoDatetime as u, shouldPrintSchema as d } from "./utils.mjs";
|
|
7
7
|
import { isBinaryType as f, isBooleanType as p, isDateTimeType as m, isNumericType as h, isStringType as g, parseCardinality as _ } from "@dbml/parse";
|
|
8
|
-
|
|
8
|
+
// src/export/OracleExporter.js
|
|
9
9
|
i();
|
|
10
10
|
var v = class {
|
|
11
11
|
static exportRecords(e) {
|
|
@@ -230,5 +230,4 @@ QUOTA UNLIMITED ON system;
|
|
|
230
230
|
return t(o.schemas, o.tables, o.indexes, o.comments, o.referenceGrants, o.refs, c).join("\n");
|
|
231
231
|
}
|
|
232
232
|
};
|
|
233
|
-
//#endregion
|
|
234
233
|
export { v as default };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/lodash-es/flatten.cjs"),t=require("../node_modules/lodash-es/concat.cjs"),n=require("../node_modules/lodash-es/isEmpty.cjs"),r=require("../node_modules/lodash-es/lodash.cjs"),i=require("
|
|
2
|
-
`)};`}).filter(Boolean)}static exportEnums(e,t){return e.map(e=>{let n=t.enums[e],r=t.schemas[n.schemaId],
|
|
3
|
-
`)}\n);\n`]})}static getFieldLines(e,t,n){return t.tables[e].fieldIds.map(e=>{let r=t.fields[e],o=``;if(r.increment){let e=new Set([`BIGINT`,`INT`,`INTEGER`,`SMALLINT`]),t=new Set([`SMALLSERIAL`,`SERIAL`,`BIGSERIAL`]),n=r.type.type_name.toUpperCase(),i=``;i=e.has(n)?`${n} GENERATED BY DEFAULT AS IDENTITY`:t.has(n)?n:`SERIAL`,o=`"${r.name}" ${i}`}else if(!r.type.schemaName||!
|
|
4
|
-
`)}\n);\n`})}static buildFieldName(e,t){return`(${e.map(e=>`"${t.fields[e].name}"`).join(`, `)})`}static buildTableManyToMany(e,t,n,r,
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/lodash-es/flatten.cjs"),t=require("../node_modules/lodash-es/concat.cjs"),n=require("../node_modules/lodash-es/isEmpty.cjs"),r=require("../node_modules/lodash-es/lodash.cjs"),i=require("../model_structure/utils.cjs"),a=require("./utils.cjs");let o=require("@dbml/parse");r.init_lodash();var s=`SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE PRECISION.SMALLSERIAL.SERIAL.BIGSERIAL.FLOAT.MONEY.CHARACTER.CHAR.CHARACTER VARYING.VARCHAR.TEXT.NAME.BPCHAR.BYTEA.TIMESTAMP.TIMESTAMP WITH TIME ZONE.TIMESTAMP WITHOUT TIME ZONE.DATE.TIME.TIME WITH TIME ZONE.TIME WITHOUT TIME ZONE.INTERVAL.BOOLEAN.BOOL.POINT.LINE.LSEG.BOX.PATH.POLYGON.CIRCLE.CIDR.INET.MACADDR.MACADDR8.BIT.BIT VARYING.VARBIT.UUID.XML.JSON.JSONB.INT4RANGE.INT8RANGE.NUMRANGE.TSRANGE.TSTZRANGE.DATERANGE.OID.REGCLASS.REGCOLLATION.REGCONFIG.REGDICTIONARY.REGNAMESPACE.REGOPER.REGOPERATOR.REGPROC.REGPROCEDURE.REGROLE.REGTYPE.PG_LSN.VOID.RECORD.TRIGGER.EVENT_TRIGGER.PG_DDL_COMMAND.UNKNOWN.ANYELEMENT.ANYARRAY.ANYNONARRAY.ANYENUM.ANYRANGE.ANY.CSTRING.INTERNAL.LANGUAGE_HANDLER.FDW_HANDLER.INDEX_AM_HANDLER.TSM_HANDLER.OPAQUE`.split(`.`),c=[`USER`],l=class r{static exportRecords(e){let t=Object.values(e.records||{}).filter(e=>!e.example);return n.default(t)?[]:t.map(e=>{let{schemaName:t,tableName:n,columns:r,values:i}=e;if(!i||i.length===0)return null;let a=t?`"${t}"."${n}"`:`"${n}"`,s=r.length>0?`(${r.map(e=>`"${e}"`).join(`, `)})`:``,c=e=>e.value===null?`NULL`:e.type===`expression`||(0,o.isNumericType)(e.type)?e.value:(0,o.isBooleanType)(e.type)?String(e.value).toUpperCase()===`TRUE`?`TRUE`:`FALSE`:(0,o.isStringType)(e.type)||(0,o.isDateTimeType)(e.type)||(0,o.isBinaryType)(e.type)?`'${String(e.value).replace(/'/g,`''`)}'`:`CAST('${String(e.value).replace(/'/g,`''`)}' AS ${e.type})`;return`INSERT INTO ${a} ${s}\nVALUES\n ${i.map(e=>`(${e.map(c).join(`, `)})`).join(`,
|
|
2
|
+
`)};`}).filter(Boolean)}static exportEnums(e,t){return e.map(e=>{let n=t.enums[e],r=t.schemas[n.schemaId],i=`${a.shouldPrintSchema(r,t)?`"${r.name}".`:``}"${n.name}"`;return[i,`CREATE TYPE ${i} AS ENUM (\n${n.valueIds.map(e=>` '${t.enumValues[e].name}'`).join(`,
|
|
3
|
+
`)}\n);\n`]})}static getFieldLines(e,t,n){return t.tables[e].fieldIds.map(e=>{let r=t.fields[e],o=``;if(r.increment){let e=new Set([`BIGINT`,`INT`,`INTEGER`,`SMALLINT`]),t=new Set([`SMALLSERIAL`,`SERIAL`,`BIGSERIAL`]),n=r.type.type_name.toUpperCase(),i=``;i=e.has(n)?`${n} GENERATED BY DEFAULT AS IDENTITY`:t.has(n)?n:`SERIAL`,o=`"${r.name}" ${i}`}else if(!r.type.schemaName||!i.shouldPrintSchemaName(r.type.schemaName)){let e=r.type.type_name,t=e.toUpperCase(),n=!s.includes(t)&&(a.hasWhiteSpaceOrUpperCase(e)||c.includes(t))?`"${e}"`:e;o=`"${r.name}" ${n}`}else if(r.type.originalTypeName)o=`"${r.name}" "${r.type.schemaName}"."${r.type.originalTypeName}"`;else{let e=`${a.hasWhiteSpaceOrUpperCase(r.type.schemaName)?`"${r.type.schemaName}".`:`${r.type.schemaName}.`}${a.hasWhiteSpaceOrUpperCase(r.type.type_name)?`"${r.type.type_name}"`:r.type.type_name}`,t=`"${r.type.schemaName}"."${r.type.type_name}"`;!n.has(t)&&!a.hasWhiteSpace(t)&&(e=e.replaceAll(`"`,``)),o=`"${r.name}" ${e}`}if(r.unique&&(o+=` UNIQUE`),r.pk&&(o+=` PRIMARY KEY`),r.not_null&&(o+=` NOT NULL`),r.checkIds&&r.checkIds.length>0){if(r.checkIds.length===1){let e=t.checks[r.checkIds[0]];e.name&&(o+=` CONSTRAINT "${e.name}"`),o+=` CHECK (${e.expression})`}else{let e=r.checkIds.map(e=>`(${t.checks[e].expression})`);o+=` CHECK (${e.join(` AND `)})`}}return r.dbdefault&&(r.dbdefault.type!==`boolean`||r.dbdefault.value!==null&&(typeof r.dbdefault.value!=`string`||r.dbdefault.value.toLowerCase()!==`null`))&&(r.dbdefault.type===`expression`?o+=` DEFAULT (${r.dbdefault.value})`:r.dbdefault.type===`string`?o+=` DEFAULT '${r.dbdefault.value}'`:o+=` DEFAULT ${r.dbdefault.value}`),o})}static getCompositePKs(e,t){let n=t.tables[e];return(n.indexIds?n.indexIds.filter(e=>t.indexes[e].pk):[]).map(e=>{let n=t.indexes[e],r=`PRIMARY KEY`,i=[];return n.columnIds.forEach(e=>{let n=t.indexColumns[e],r=``;r=n.type===`expression`?`(${n.value})`:`"${n.value}"`,i.push(r)}),r+=` (${i.join(`, `)})`,r})}static getCheckLines(e,t){let n=t.tables[e];return!n.checkIds||n.checkIds.length===0?[]:n.checkIds.map(e=>{let n=t.checks[e],r=``;return n.name&&(r=`CONSTRAINT "${n.name}" `),r+=`CHECK (${n.expression})`,r})}static getTableContentArr(e,t,n){return e.map(e=>({tableId:e,fieldContents:r.getFieldLines(e,t,n),checkContents:r.getCheckLines(e,t),compositePKs:r.getCompositePKs(e,t)}))}static exportTables(e,t,n){return r.getTableContentArr(e,t,n).map(e=>{let n=[...e.fieldContents,...e.checkContents,...e.compositePKs],r=t.tables[e.tableId],i=t.schemas[r.schemaId];return`CREATE TABLE ${a.shouldPrintSchema(i,t)?`"${i.name}".`:``}"${r.name}" (\n${n.map(e=>` ${e}`).join(`,
|
|
4
|
+
`)}\n);\n`})}static buildFieldName(e,t){return`(${e.map(e=>`"${t.fields[e].name}"`).join(`, `)})`}static buildTableManyToMany(e,t,n,r,i){let o=`CREATE TABLE ${a.shouldPrintSchema(r,i)?`"${r.name}".`:``}"${n}" (\n`,s=[...e.keys()].join(`", "`),c=[...t.keys()].join(`", "`);return e.forEach((e,t)=>{o+=` "${t}" ${e},\n`}),t.forEach((e,t)=>{o+=` "${t}" ${e},\n`}),o+=` PRIMARY KEY ("${s}", "${c}")\n`,o+=`);
|
|
5
5
|
|
|
6
|
-
`,o}static buildForeignKeyManyToMany(e,t,n,r,
|
|
7
|
-
`;return r})}static exportIndexes(e,t){return e.filter(e=>!t.indexes[e].pk).map(e=>{let n=t.indexes[e],r=t.tables[n.tableId],
|
|
8
|
-
`,o})}static exportComments(e,t){return e.map(e=>{let n=`COMMENT ON`,r=t.tables[e.tableId],
|
|
9
|
-
`,n})}static export(
|
|
6
|
+
`,o}static buildForeignKeyManyToMany(e,t,n,r,i,o,s){let c=[...e.keys()].join(`", "`);return`ALTER TABLE ${a.shouldPrintSchema(i,s)?`"${i.name}".`:``}"${n}" ADD FOREIGN KEY ("${c}") REFERENCES ${a.shouldPrintSchema(o,s)?`"${o.name}".`:``}"${r}" ${t} DEFERRABLE INITIALLY IMMEDIATE;\n\n`}static exportRefs(e,t,n){return e.map(e=>{let r=``,i=t.refs[e],s=i.endpointIds.findIndex(e=>(0,o.parseCardinality)(t.endpoints[e].relation).max===1),c=s===-1?0:s,l=i.endpointIds[1-c],u=i.endpointIds[c],d=t.endpoints[l],f=t.endpoints[u],p=t.fields[f.fieldIds[0]],m=t.tables[p.tableId],h=t.schemas[m.schemaId],g=this.buildFieldName(f.fieldIds,t,`postgres`),_=t.fields[d.fieldIds[0]],v=t.tables[_.tableId],y=t.schemas[v.schemaId],b=this.buildFieldName(d.fieldIds,t,`postgres`);if(s===-1){let e=a.buildJunctionFields1(f.fieldIds,t),i=a.buildJunctionFields2(d.fieldIds,t,e),o=a.buildNewTableName(m.name,v.name,n);r+=this.buildTableManyToMany(e,i,o,h,t),r+=this.buildForeignKeyManyToMany(e,g,o,m.name,h,h,t),r+=this.buildForeignKeyManyToMany(i,b,o,v.name,h,y,t)}else r=`ALTER TABLE ${a.shouldPrintSchema(y,t)?`"${y.name}".`:``}"${v.name}" ADD `,i.name&&(r+=`CONSTRAINT "${i.name}" `),r+=`FOREIGN KEY ${b} REFERENCES ${a.shouldPrintSchema(h,t)?`"${h.name}".`:``}"${m.name}" ${g}`,i.onDelete&&(r+=` ON DELETE ${i.onDelete.toUpperCase()}`),i.onUpdate&&(r+=` ON UPDATE ${i.onUpdate.toUpperCase()}`),r+=` DEFERRABLE INITIALLY IMMEDIATE;
|
|
7
|
+
`;return r})}static exportIndexes(e,t){return e.filter(e=>!t.indexes[e].pk).map(e=>{let n=t.indexes[e],r=t.tables[n.tableId],i=t.schemas[r.schemaId],o=`CREATE`;n.unique&&(o+=` UNIQUE`);let s=n.name?`"${n.name}"`:``;o+=` INDEX`,s&&(o+=` ${s}`),o+=` ON ${a.shouldPrintSchema(i,t)?`"${i.name}".`:``}"${r.name}"`,n.type&&(o+=` USING ${n.type.toUpperCase()}`);let c=[];return n.columnIds.forEach(e=>{let n=t.indexColumns[e],r=``;r=n.type===`expression`?`(${n.value})`:`"${n.value}"`,n.sortOrder===`desc`&&(r+=` DESC`),c.push(r)}),o+=` (${c.join(`, `)})`,o+=`;
|
|
8
|
+
`,o})}static exportComments(e,t){return e.map(e=>{let n=`COMMENT ON`,r=t.tables[e.tableId],i=t.schemas[r.schemaId];switch(e.type){case`table`:n+=` TABLE ${a.shouldPrintSchema(i,t)?`"${i.name}".`:``}"${r.name}" IS '${r.note.replace(/'/g,`''`)}'`;break;case`column`:{let o=t.fields[e.fieldId];n+=` COLUMN ${a.shouldPrintSchema(i,t)?`"${i.name}".`:``}"${r.name}"."${o.name}" IS '${o.note.replace(/'/g,`''`)}'`;break}}return n+=`;
|
|
9
|
+
`,n})}static export(i){let o=i.database[1],s=new Set(Object.values(i.tables).map(e=>e.name)),c=new Set,l=o.schemaIds.reduce((e,t)=>{let o=i.schemas[t],{enumIds:s}=o;return a.shouldPrintSchema(o,i)&&e.schemas.push(`CREATE SCHEMA "${o.name}";\n`),n.default(s)||r.exportEnums(s,i).forEach(t=>{let[n,r]=t;e.enums.push(r),c.add(n)}),e},{schemas:[],enums:[],tables:[],indexes:[],comments:[],refs:[]}),u=o.schemaIds.reduce((t,a)=>{let{tableIds:o,refIds:l}=i.schemas[a];n.default(o)||t.tables.push(...r.exportTables(o,i,c));let u=e.default(o.map(e=>i.tables[e].indexIds));n.default(u)||t.indexes.push(...r.exportIndexes(u,i));let d=e.default(o.map(e=>{let{fieldIds:t,note:n}=i.tables[e],r=t.filter(e=>i.fields[e].note).map(t=>({type:`column`,fieldId:t,tableId:e}));return n?[{type:`table`,tableId:e}].concat(r):r}));return n.default(d)||t.comments.push(...r.exportComments(d,i)),n.default(l)||t.refs.push(...r.exportRefs(l,i,s)),t},l),d=r.exportRecords(i),f=n.default(d)?[]:[`-- Defer constraint checking for INSERT`,`BEGIN;`,`SET CONSTRAINTS ALL DEFERRED;`,``,...d,``,`SET CONSTRAINTS ALL IMMEDIATE;`,`COMMIT;`];return t.default(u.schemas,u.enums,u.tables,u.indexes,u.comments,u.refs,f).join(`
|
|
10
10
|
`)}};exports.default=l;
|
|
@@ -2,10 +2,10 @@ import e from "../node_modules/lodash-es/flatten.mjs";
|
|
|
2
2
|
import t from "../node_modules/lodash-es/concat.mjs";
|
|
3
3
|
import n from "../node_modules/lodash-es/isEmpty.mjs";
|
|
4
4
|
import { init_lodash as r } from "../node_modules/lodash-es/lodash.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { shouldPrintSchemaName as i } from "../model_structure/utils.mjs";
|
|
6
|
+
import { buildJunctionFields1 as a, buildJunctionFields2 as o, buildNewTableName as s, hasWhiteSpace as c, hasWhiteSpaceOrUpperCase as l, shouldPrintSchema as u } from "./utils.mjs";
|
|
7
7
|
import { isBinaryType as d, isBooleanType as f, isDateTimeType as p, isNumericType as m, isStringType as h, parseCardinality as g } from "@dbml/parse";
|
|
8
|
-
|
|
8
|
+
// src/export/PostgresExporter.js
|
|
9
9
|
r();
|
|
10
10
|
var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE PRECISION.SMALLSERIAL.SERIAL.BIGSERIAL.FLOAT.MONEY.CHARACTER.CHAR.CHARACTER VARYING.VARCHAR.TEXT.NAME.BPCHAR.BYTEA.TIMESTAMP.TIMESTAMP WITH TIME ZONE.TIMESTAMP WITHOUT TIME ZONE.DATE.TIME.TIME WITH TIME ZONE.TIME WITHOUT TIME ZONE.INTERVAL.BOOLEAN.BOOL.POINT.LINE.LSEG.BOX.PATH.POLYGON.CIRCLE.CIDR.INET.MACADDR.MACADDR8.BIT.BIT VARYING.VARBIT.UUID.XML.JSON.JSONB.INT4RANGE.INT8RANGE.NUMRANGE.TSRANGE.TSTZRANGE.DATERANGE.OID.REGCLASS.REGCOLLATION.REGCONFIG.REGDICTIONARY.REGNAMESPACE.REGOPER.REGOPERATOR.REGPROC.REGPROCEDURE.REGROLE.REGTYPE.PG_LSN.VOID.RECORD.TRIGGER.EVENT_TRIGGER.PG_DDL_COMMAND.UNKNOWN.ANYELEMENT.ANYARRAY.ANYNONARRAY.ANYENUM.ANYRANGE.ANY.CSTRING.INTERNAL.LANGUAGE_HANDLER.FDW_HANDLER.INDEX_AM_HANDLER.TSM_HANDLER.OPAQUE".split("."), v = ["USER"], y = class r {
|
|
11
11
|
static exportRecords(e) {
|
|
@@ -19,13 +19,13 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
19
19
|
}
|
|
20
20
|
static exportEnums(e, t) {
|
|
21
21
|
return e.map((e) => {
|
|
22
|
-
let n = t.enums[e], r = t.schemas[n.schemaId], i = `${
|
|
22
|
+
let n = t.enums[e], r = t.schemas[n.schemaId], i = `${u(r, t) ? `"${r.name}".` : ""}"${n.name}"`;
|
|
23
23
|
return [i, `CREATE TYPE ${i} AS ENUM (\n${n.valueIds.map((e) => ` '${t.enumValues[e].name}'`).join(",\n")}\n);\n`];
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
static getFieldLines(e, t, n) {
|
|
27
27
|
return t.tables[e].fieldIds.map((e) => {
|
|
28
|
-
let r = t.fields[e],
|
|
28
|
+
let r = t.fields[e], a = "";
|
|
29
29
|
if (r.increment) {
|
|
30
30
|
let e = /* @__PURE__ */ new Set([
|
|
31
31
|
"BIGINT",
|
|
@@ -36,26 +36,26 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
36
36
|
"SMALLSERIAL",
|
|
37
37
|
"SERIAL",
|
|
38
38
|
"BIGSERIAL"
|
|
39
|
-
]), n = r.type.type_name.toUpperCase(),
|
|
40
|
-
|
|
41
|
-
} else if (!r.type.schemaName || !
|
|
42
|
-
let e = r.type.type_name, t = e.toUpperCase(), n = !_.includes(t) && (
|
|
43
|
-
|
|
44
|
-
} else if (r.type.originalTypeName)
|
|
39
|
+
]), n = r.type.type_name.toUpperCase(), i = "";
|
|
40
|
+
i = e.has(n) ? `${n} GENERATED BY DEFAULT AS IDENTITY` : t.has(n) ? n : "SERIAL", a = `"${r.name}" ${i}`;
|
|
41
|
+
} else if (!r.type.schemaName || !i(r.type.schemaName)) {
|
|
42
|
+
let e = r.type.type_name, t = e.toUpperCase(), n = !_.includes(t) && (l(e) || v.includes(t)) ? `"${e}"` : e;
|
|
43
|
+
a = `"${r.name}" ${n}`;
|
|
44
|
+
} else if (r.type.originalTypeName) a = `"${r.name}" "${r.type.schemaName}"."${r.type.originalTypeName}"`;
|
|
45
45
|
else {
|
|
46
|
-
let e = `${
|
|
47
|
-
!n.has(t) && !
|
|
46
|
+
let e = `${l(r.type.schemaName) ? `"${r.type.schemaName}".` : `${r.type.schemaName}.`}${l(r.type.type_name) ? `"${r.type.type_name}"` : r.type.type_name}`, t = `"${r.type.schemaName}"."${r.type.type_name}"`;
|
|
47
|
+
!n.has(t) && !c(t) && (e = e.replaceAll("\"", "")), a = `"${r.name}" ${e}`;
|
|
48
48
|
}
|
|
49
|
-
if (r.unique && (
|
|
49
|
+
if (r.unique && (a += " UNIQUE"), r.pk && (a += " PRIMARY KEY"), r.not_null && (a += " NOT NULL"), r.checkIds && r.checkIds.length > 0) {
|
|
50
50
|
if (r.checkIds.length === 1) {
|
|
51
51
|
let e = t.checks[r.checkIds[0]];
|
|
52
|
-
e.name && (
|
|
52
|
+
e.name && (a += ` CONSTRAINT "${e.name}"`), a += ` CHECK (${e.expression})`;
|
|
53
53
|
} else {
|
|
54
54
|
let e = r.checkIds.map((e) => `(${t.checks[e].expression})`);
|
|
55
|
-
|
|
55
|
+
a += ` CHECK (${e.join(" AND ")})`;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
return r.dbdefault && (r.dbdefault.type !== "boolean" || r.dbdefault.value !== null && (typeof r.dbdefault.value != "string" || r.dbdefault.value.toLowerCase() !== "null")) && (r.dbdefault.type === "expression" ?
|
|
58
|
+
return r.dbdefault && (r.dbdefault.type !== "boolean" || r.dbdefault.value !== null && (typeof r.dbdefault.value != "string" || r.dbdefault.value.toLowerCase() !== "null")) && (r.dbdefault.type === "expression" ? a += ` DEFAULT (${r.dbdefault.value})` : r.dbdefault.type === "string" ? a += ` DEFAULT '${r.dbdefault.value}'` : a += ` DEFAULT ${r.dbdefault.value}`), a;
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
static getCompositePKs(e, t) {
|
|
@@ -90,14 +90,14 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
90
90
|
...e.checkContents,
|
|
91
91
|
...e.compositePKs
|
|
92
92
|
], r = t.tables[e.tableId], i = t.schemas[r.schemaId];
|
|
93
|
-
return `CREATE TABLE ${
|
|
93
|
+
return `CREATE TABLE ${u(i, t) ? `"${i.name}".` : ""}"${r.name}" (\n${n.map((e) => ` ${e}`).join(",\n")}\n);\n`;
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
static buildFieldName(e, t) {
|
|
97
97
|
return `(${e.map((e) => `"${t.fields[e].name}"`).join(", ")})`;
|
|
98
98
|
}
|
|
99
99
|
static buildTableManyToMany(e, t, n, r, i) {
|
|
100
|
-
let a = `CREATE TABLE ${
|
|
100
|
+
let a = `CREATE TABLE ${u(r, i) ? `"${r.name}".` : ""}"${n}" (\n`, o = [...e.keys()].join("\", \""), s = [...t.keys()].join("\", \"");
|
|
101
101
|
return e.forEach((e, t) => {
|
|
102
102
|
a += ` "${t}" ${e},\n`;
|
|
103
103
|
}), t.forEach((e, t) => {
|
|
@@ -106,15 +106,15 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
106
106
|
}
|
|
107
107
|
static buildForeignKeyManyToMany(e, t, n, r, i, a, o) {
|
|
108
108
|
let s = [...e.keys()].join("\", \"");
|
|
109
|
-
return `ALTER TABLE ${
|
|
109
|
+
return `ALTER TABLE ${u(i, o) ? `"${i.name}".` : ""}"${n}" ADD FOREIGN KEY ("${s}") REFERENCES ${u(a, o) ? `"${a.name}".` : ""}"${r}" ${t} DEFERRABLE INITIALLY IMMEDIATE;\n\n`;
|
|
110
110
|
}
|
|
111
111
|
static exportRefs(e, t, n) {
|
|
112
112
|
return e.map((e) => {
|
|
113
|
-
let r = "",
|
|
113
|
+
let r = "", i = t.refs[e], c = i.endpointIds.findIndex((e) => g(t.endpoints[e].relation).max === 1), l = c === -1 ? 0 : c, d = i.endpointIds[1 - l], f = i.endpointIds[l], p = t.endpoints[d], m = t.endpoints[f], h = t.fields[m.fieldIds[0]], _ = t.tables[h.tableId], v = t.schemas[_.schemaId], y = this.buildFieldName(m.fieldIds, t, "postgres"), b = t.fields[p.fieldIds[0]], x = t.tables[b.tableId], S = t.schemas[x.schemaId], C = this.buildFieldName(p.fieldIds, t, "postgres");
|
|
114
114
|
if (c === -1) {
|
|
115
|
-
let e =
|
|
116
|
-
r += this.buildTableManyToMany(e,
|
|
117
|
-
} else r = `ALTER TABLE ${
|
|
115
|
+
let e = a(m.fieldIds, t), i = o(p.fieldIds, t, e), c = s(_.name, x.name, n);
|
|
116
|
+
r += this.buildTableManyToMany(e, i, c, v, t), r += this.buildForeignKeyManyToMany(e, y, c, _.name, v, v, t), r += this.buildForeignKeyManyToMany(i, C, c, x.name, v, S, t);
|
|
117
|
+
} else r = `ALTER TABLE ${u(S, t) ? `"${S.name}".` : ""}"${x.name}" ADD `, i.name && (r += `CONSTRAINT "${i.name}" `), r += `FOREIGN KEY ${C} REFERENCES ${u(v, t) ? `"${v.name}".` : ""}"${_.name}" ${y}`, i.onDelete && (r += ` ON DELETE ${i.onDelete.toUpperCase()}`), i.onUpdate && (r += ` ON UPDATE ${i.onUpdate.toUpperCase()}`), r += " DEFERRABLE INITIALLY IMMEDIATE;\n";
|
|
118
118
|
return r;
|
|
119
119
|
});
|
|
120
120
|
}
|
|
@@ -123,7 +123,7 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
123
123
|
let n = t.indexes[e], r = t.tables[n.tableId], i = t.schemas[r.schemaId], a = "CREATE";
|
|
124
124
|
n.unique && (a += " UNIQUE");
|
|
125
125
|
let o = n.name ? `"${n.name}"` : "";
|
|
126
|
-
a += " INDEX", o && (a += ` ${o}`), a += ` ON ${
|
|
126
|
+
a += " INDEX", o && (a += ` ${o}`), a += ` ON ${u(i, t) ? `"${i.name}".` : ""}"${r.name}"`, n.type && (a += ` USING ${n.type.toUpperCase()}`);
|
|
127
127
|
let s = [];
|
|
128
128
|
return n.columnIds.forEach((e) => {
|
|
129
129
|
let n = t.indexColumns[e], r = "";
|
|
@@ -136,11 +136,11 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
136
136
|
let n = "COMMENT ON", r = t.tables[e.tableId], i = t.schemas[r.schemaId];
|
|
137
137
|
switch (e.type) {
|
|
138
138
|
case "table":
|
|
139
|
-
n += ` TABLE ${
|
|
139
|
+
n += ` TABLE ${u(i, t) ? `"${i.name}".` : ""}"${r.name}" IS '${r.note.replace(/'/g, "''")}'`;
|
|
140
140
|
break;
|
|
141
141
|
case "column": {
|
|
142
142
|
let a = t.fields[e.fieldId];
|
|
143
|
-
n += ` COLUMN ${
|
|
143
|
+
n += ` COLUMN ${u(i, t) ? `"${i.name}".` : ""}"${r.name}"."${a.name}" IS '${a.note.replace(/'/g, "''")}'`;
|
|
144
144
|
break;
|
|
145
145
|
}
|
|
146
146
|
}
|
|
@@ -150,7 +150,7 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
150
150
|
static export(i) {
|
|
151
151
|
let a = i.database[1], o = new Set(Object.values(i.tables).map((e) => e.name)), s = /* @__PURE__ */ new Set(), c = a.schemaIds.reduce((e, t) => {
|
|
152
152
|
let a = i.schemas[t], { enumIds: o } = a;
|
|
153
|
-
return
|
|
153
|
+
return u(a, i) && e.schemas.push(`CREATE SCHEMA "${a.name}";\n`), n(o) || r.exportEnums(o, i).forEach((t) => {
|
|
154
154
|
let [n, r] = t;
|
|
155
155
|
e.enums.push(r), s.add(n);
|
|
156
156
|
}), e;
|
|
@@ -161,7 +161,7 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
161
161
|
indexes: [],
|
|
162
162
|
comments: [],
|
|
163
163
|
refs: []
|
|
164
|
-
}),
|
|
164
|
+
}), l = a.schemaIds.reduce((t, a) => {
|
|
165
165
|
let { tableIds: c, refIds: l } = i.schemas[a];
|
|
166
166
|
n(c) || t.tables.push(...r.exportTables(c, i, s));
|
|
167
167
|
let u = e(c.map((e) => i.tables[e].indexIds));
|
|
@@ -188,8 +188,7 @@ var _ = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMAL.NUMERIC.REAL.DOUBLE
|
|
|
188
188
|
"SET CONSTRAINTS ALL IMMEDIATE;",
|
|
189
189
|
"COMMIT;"
|
|
190
190
|
];
|
|
191
|
-
return t(
|
|
191
|
+
return t(l.schemas, l.enums, l.tables, l.indexes, l.comments, l.refs, f).join("\n");
|
|
192
192
|
}
|
|
193
193
|
};
|
|
194
|
-
//#endregion
|
|
195
194
|
export { y as default };
|
|
@@ -4,7 +4,7 @@ import n from "../node_modules/lodash-es/isEmpty.mjs";
|
|
|
4
4
|
import { init_lodash as r } from "../node_modules/lodash-es/lodash.mjs";
|
|
5
5
|
import { buildJunctionFields1 as i, buildJunctionFields2 as a, buildNewTableName as o, shouldPrintSchema as s } from "./utils.mjs";
|
|
6
6
|
import { isBinaryType as c, isBooleanType as l, isDateTimeType as u, isNumericType as d, isStringType as f, parseCardinality as p } from "@dbml/parse";
|
|
7
|
-
|
|
7
|
+
// src/export/SqlServerExporter.js
|
|
8
8
|
r();
|
|
9
9
|
var m = class r {
|
|
10
10
|
static exportRecords(e) {
|
|
@@ -164,5 +164,4 @@ var m = class r {
|
|
|
164
164
|
return t(c.schemas, c.enums, c.tables, c.indexes, c.comments, c.refs, u).join("\n");
|
|
165
165
|
}
|
|
166
166
|
};
|
|
167
|
-
//#endregion
|
|
168
167
|
export { m as default };
|
package/lib/export/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");const e=require("
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");const e=require("./ModelExporter.cjs"),t=require("../parse/Parser.cjs");function n(n,i,a={isNormalized:!0,includeRecords:!0}){let o=r(a),s=new t.default().parse(n,`dbmlv2`);return e.default.export(s.normalize(),i,o)}function r(e={}){if(typeof e==`boolean`)return{isNormalized:e,includeRecords:!0};let{isNormalized:t=!0,includeRecords:n=!0}=e;return{isNormalized:t,includeRecords:n}}var i={export:n};exports.default=i,exports.normalizeExportOptions=r;
|
package/lib/export/index.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import e from "
|
|
2
|
-
import t from "
|
|
3
|
-
|
|
1
|
+
import e from "./ModelExporter.mjs";
|
|
2
|
+
import t from "../parse/Parser.mjs";
|
|
3
|
+
// src/export/index.ts
|
|
4
4
|
function n(n, i, a = {
|
|
5
5
|
isNormalized: !0,
|
|
6
6
|
includeRecords: !0
|
|
7
7
|
}) {
|
|
8
|
-
let o = r(a), s = new
|
|
9
|
-
return
|
|
8
|
+
let o = r(a), s = new t().parse(n, "dbmlv2");
|
|
9
|
+
return e.export(s.normalize(), i, o);
|
|
10
10
|
}
|
|
11
11
|
function r(e = {}) {
|
|
12
12
|
if (typeof e == "boolean") return {
|
|
@@ -20,5 +20,4 @@ function r(e = {}) {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
var i = { export: n };
|
|
23
|
-
//#endregion
|
|
24
23
|
export { i as default, r as normalizeExportOptions };
|
package/lib/export/utils.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DateTime as e } from "../node_modules/luxon/build/es6/luxon.mjs";
|
|
2
2
|
import "../model_structure/config.mjs";
|
|
3
3
|
import { tryExtractDateTime as t } from "@dbml/parse";
|
|
4
|
-
|
|
4
|
+
// src/export/utils.ts
|
|
5
5
|
function n(e) {
|
|
6
6
|
return /\s/g.test(e);
|
|
7
7
|
}
|
|
@@ -63,5 +63,4 @@ function u(n) {
|
|
|
63
63
|
function d(e, t) {
|
|
64
64
|
return t ? e.toFormat("yyyy-MM-dd HH:mm:ss.SSS ZZ") : e.toUTC().toFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
|
65
65
|
}
|
|
66
|
-
//#endregion
|
|
67
66
|
export { a as buildJunctionFields1, o as buildJunctionFields2, s as buildNewTableName, c as buildUniqueTableName, l as escapeObjectName, d as formatDatetimeForOracle, n as hasWhiteSpace, r as hasWhiteSpaceOrUpperCase, u as parseIsoDatetime, i as shouldPrintSchema };
|
package/lib/import/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");const e=require("../parse/
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");const e=require("../parse/databaseGenerator.cjs"),t=require("../parse/Parser.cjs"),n=require("../export/ModelExporter.cjs");function r(e,r,i={includeRecords:!0}){let{includeRecords:a=!0}=i,o=new t.default().parse(e,r);return n.default.export(o.normalize(),`dbml`,{includeRecords:a})}function i(t){let r=e.generateDatabase(t);return n.default.export(r.normalize(),`dbml`)}var a={import:r,generateDbml:i};exports.default=a;
|
package/lib/import/index.mjs
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import e from "../parse/
|
|
2
|
-
import t from "../
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
function r(
|
|
6
|
-
let { includeRecords: a = !0 } = i, o = new
|
|
7
|
-
return
|
|
1
|
+
import { generateDatabase as e } from "../parse/databaseGenerator.mjs";
|
|
2
|
+
import t from "../parse/Parser.mjs";
|
|
3
|
+
import n from "../export/ModelExporter.mjs";
|
|
4
|
+
// src/import/index.ts
|
|
5
|
+
function r(e, r, i = { includeRecords: !0 }) {
|
|
6
|
+
let { includeRecords: a = !0 } = i, o = new t().parse(e, r);
|
|
7
|
+
return n.export(o.normalize(), "dbml", { includeRecords: a });
|
|
8
8
|
}
|
|
9
|
-
function i(
|
|
10
|
-
let r =
|
|
11
|
-
return
|
|
9
|
+
function i(t) {
|
|
10
|
+
let r = e(t);
|
|
11
|
+
return n.export(r.normalize(), "dbml");
|
|
12
12
|
}
|
|
13
13
|
var a = {
|
|
14
14
|
import: r,
|
|
15
15
|
generateDbml: i
|
|
16
16
|
};
|
|
17
|
-
//#endregion
|
|
18
17
|
export { a as default };
|
package/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("./_virtual/_rolldown/runtime.cjs");const e=require("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("./_virtual/_rolldown/runtime.cjs");const e=require("./export/ModelExporter.cjs"),t=require("./parse/Parser.cjs"),n=require("./parse/error.cjs"),r=require("./import/index.cjs"),i=require("./export/index.cjs"),a=require("./transform/index.cjs"),o=require("./utils/version.cjs"),s=require("./transform/relations.cjs");let c=require("@dbml/parse");Object.defineProperty(exports,"ARCH_BUILTIN_ROLES",{enumerable:!0,get:function(){return c.ARCH_BUILTIN_ROLES}}),Object.defineProperty(exports,"ARCH_NAME_PRECEDENCE",{enumerable:!0,get:function(){return c.ARCH_NAME_PRECEDENCE}}),Object.defineProperty(exports,"CARDINALITY_MANY",{enumerable:!0,get:function(){return c.CARDINALITY_MANY}}),Object.defineProperty(exports,"CARDINALITY_MAYBE",{enumerable:!0,get:function(){return c.CARDINALITY_MAYBE}}),Object.defineProperty(exports,"CARDINALITY_ONE",{enumerable:!0,get:function(){return c.CARDINALITY_ONE}}),Object.defineProperty(exports,"CARDINALITY_SOME",{enumerable:!0,get:function(){return c.CARDINALITY_SOME}}),Object.defineProperty(exports,"CompileError",{enumerable:!0,get:function(){return c.CompileError}}),Object.defineProperty(exports,"CompileErrorCode",{enumerable:!0,get:function(){return c.CompileErrorCode}}),Object.defineProperty(exports,"CompileInfo",{enumerable:!0,get:function(){return c.CompileInfo}}),Object.defineProperty(exports,"CompileWarning",{enumerable:!0,get:function(){return c.CompileWarning}}),exports.CompilerDiagnostics=n.CompilerDiagnostics,Object.defineProperty(exports,"DEFAULT_ENTRY",{enumerable:!0,get:function(){return c.DEFAULT_ENTRY}}),Object.defineProperty(exports,"Filepath",{enumerable:!0,get:function(){return c.Filepath}}),Object.defineProperty(exports,"MetadataKind",{enumerable:!0,get:function(){return c.MetadataKind}}),exports.ModelExporter=e.default,exports.Parser=t.default,Object.defineProperty(exports,"SymbolKind",{enumerable:!0,get:function(){return c.SymbolKind}}),exports.VERSION=o.VERSION,Object.defineProperty(exports,"addDoubleQuoteIfNeeded",{enumerable:!0,get:function(){return c.addDoubleQuoteIfNeeded}}),Object.defineProperty(exports,"applyTextEdits",{enumerable:!0,get:function(){return c.applyTextEdits}}),Object.defineProperty(exports,"dbmlMonarchTokensProvider",{enumerable:!0,get:function(){return c.dbmlMonarchTokensProvider}}),exports.exporter=i.default,Object.defineProperty(exports,"findDiagramViewBlocks",{enumerable:!0,get:function(){return c.findDiagramViewBlocks}}),Object.defineProperty(exports,"formatTypedValue",{enumerable:!0,get:function(){return c.formatTypedValue}}),Object.defineProperty(exports,"fullName",{enumerable:!0,get:function(){return c.fullName}}),Object.defineProperty(exports,"getMultiplicities",{enumerable:!0,get:function(){return c.getMultiplicities}}),Object.defineProperty(exports,"getRelationshipOp",{enumerable:!0,get:function(){return c.getRelationshipOp}}),exports.importer=r.default,exports.inferMultiplicitiesFromColumns=s.inferMultiplicitiesFromColumns,Object.defineProperty(exports,"isBinaryType",{enumerable:!0,get:function(){return c.isBinaryType}}),Object.defineProperty(exports,"isBooleanType",{enumerable:!0,get:function(){return c.isBooleanType}}),Object.defineProperty(exports,"isDateTimeType",{enumerable:!0,get:function(){return c.isDateTimeType}}),Object.defineProperty(exports,"isEndpointManySide",{enumerable:!0,get:function(){return c.isEndpointManySide}}),Object.defineProperty(exports,"isEndpointOneSide",{enumerable:!0,get:function(){return c.isEndpointOneSide}}),Object.defineProperty(exports,"isEndpointOptional",{enumerable:!0,get:function(){return c.isEndpointOptional}}),Object.defineProperty(exports,"isEndpointRequired",{enumerable:!0,get:function(){return c.isEndpointRequired}}),Object.defineProperty(exports,"isFloatType",{enumerable:!0,get:function(){return c.isFloatType}}),Object.defineProperty(exports,"isIntegerType",{enumerable:!0,get:function(){return c.isIntegerType}}),Object.defineProperty(exports,"isNumericType",{enumerable:!0,get:function(){return c.isNumericType}}),Object.defineProperty(exports,"isSerialType",{enumerable:!0,get:function(){return c.isSerialType}}),Object.defineProperty(exports,"isStringType",{enumerable:!0,get:function(){return c.isStringType}}),Object.defineProperty(exports,"makeRelationshipRequired",{enumerable:!0,get:function(){return c.makeRelationshipRequired}}),exports.renameElement=a.renameElement,exports.renameTable=a.renameTable,exports.syncDep=a.syncDep,exports.syncDiagramView=a.syncDiagramView,Object.defineProperty(exports,"syncElementMetadata",{enumerable:!0,get:function(){return c.syncElementMetadata}}),Object.defineProperty(exports,"tryExtractBoolean",{enumerable:!0,get:function(){return c.tryExtractBoolean}}),Object.defineProperty(exports,"tryExtractDateTime",{enumerable:!0,get:function(){return c.tryExtractDateTime}}),Object.defineProperty(exports,"tryExtractEnum",{enumerable:!0,get:function(){return c.tryExtractEnum}}),Object.defineProperty(exports,"tryExtractInteger",{enumerable:!0,get:function(){return c.tryExtractInteger}}),Object.defineProperty(exports,"tryExtractNumeric",{enumerable:!0,get:function(){return c.tryExtractNumeric}}),Object.defineProperty(exports,"tryExtractString",{enumerable:!0,get:function(){return c.tryExtractString}}),exports.updateElementSetting=a.updateElementSetting,exports.updateElementSettingEdit=a.updateElementSettingEdit;
|
package/lib/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from "./export/ModelExporter.mjs";
|
|
2
2
|
import t from "./parse/Parser.mjs";
|
|
3
|
-
import n from "./
|
|
4
|
-
import r from "./
|
|
5
|
-
import i from "./
|
|
3
|
+
import { CompilerDiagnostics as n } from "./parse/error.mjs";
|
|
4
|
+
import r from "./import/index.mjs";
|
|
5
|
+
import i from "./export/index.mjs";
|
|
6
6
|
import { findDiagramViewBlocks as a, renameElement as o, renameTable as s, syncDep as c, syncDiagramView as l, updateElementSetting as u, updateElementSettingEdit as d } from "./transform/index.mjs";
|
|
7
7
|
import { VERSION as f } from "./utils/version.mjs";
|
|
8
8
|
import { inferMultiplicitiesFromColumns as p } from "./transform/relations.mjs";
|
|
9
|
-
import {
|
|
10
|
-
export { m as
|
|
9
|
+
import { ARCH_BUILTIN_ROLES as m, ARCH_NAME_PRECEDENCE as h, CARDINALITY_MANY as g, CARDINALITY_MAYBE as _, CARDINALITY_ONE as v, CARDINALITY_SOME as y, CompileError as b, CompileErrorCode as x, CompileInfo as S, CompileWarning as C, DEFAULT_ENTRY as w, Filepath as T, MetadataKind as E, SymbolKind as D, addDoubleQuoteIfNeeded as O, applyTextEdits as k, dbmlMonarchTokensProvider as A, formatTypedValue as j, fullName as M, getMultiplicities as N, getRelationshipOp as P, isBinaryType as F, isBooleanType as I, isDateTimeType as L, isEndpointManySide as R, isEndpointOneSide as z, isEndpointOptional as B, isEndpointRequired as V, isFloatType as H, isIntegerType as U, isNumericType as W, isSerialType as G, isStringType as K, makeRelationshipRequired as q, syncElementMetadata as J, tryExtractBoolean as Y, tryExtractDateTime as X, tryExtractEnum as Z, tryExtractInteger as Q, tryExtractNumeric as $, tryExtractString as ee } from "@dbml/parse";
|
|
10
|
+
export { m as ARCH_BUILTIN_ROLES, h as ARCH_NAME_PRECEDENCE, g as CARDINALITY_MANY, _ as CARDINALITY_MAYBE, v as CARDINALITY_ONE, y as CARDINALITY_SOME, b as CompileError, x as CompileErrorCode, S as CompileInfo, C as CompileWarning, n as CompilerDiagnostics, w as DEFAULT_ENTRY, T as Filepath, E as MetadataKind, e as ModelExporter, t as Parser, D as SymbolKind, f as VERSION, O as addDoubleQuoteIfNeeded, k as applyTextEdits, A as dbmlMonarchTokensProvider, i as exporter, a as findDiagramViewBlocks, j as formatTypedValue, M as fullName, N as getMultiplicities, P as getRelationshipOp, r as importer, p as inferMultiplicitiesFromColumns, F as isBinaryType, I as isBooleanType, L as isDateTimeType, R as isEndpointManySide, z as isEndpointOneSide, B as isEndpointOptional, V as isEndpointRequired, H as isFloatType, U as isIntegerType, W as isNumericType, G as isSerialType, K as isStringType, q as makeRelationshipRequired, o as renameElement, s as renameTable, c as syncDep, l as syncDiagramView, J as syncElementMetadata, Y as tryExtractBoolean, X as tryExtractDateTime, Z as tryExtractEnum, Q as tryExtractInteger, $ as tryExtractNumeric, ee as tryExtractString, u as updateElementSetting, d as updateElementSettingEdit };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import e from "./element.mjs";
|
|
2
|
-
|
|
2
|
+
// src/model_structure/check.ts
|
|
3
3
|
var t = class extends e {
|
|
4
4
|
constructor({ token: e, name: t, expression: n, table: r, column: i = null, injectedPartial: a = null }) {
|
|
5
5
|
super(e), this.name = t, this.expression = n, this.table = r, this.column = i, this.injectedPartial = a, this.dbState = this.table.dbState, this.generateId();
|
|
@@ -31,5 +31,4 @@ var t = class extends e {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
|
-
//#endregion
|
|
35
34
|
export { t as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/lodash-es/get.cjs"),t=require("../node_modules/lodash-es/capitalize.cjs"),n=require("../node_modules/lodash-es/lodash.cjs"),r=require("./config.cjs"),i=require("./dbState.cjs"),a=require("./
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/lodash-es/get.cjs"),t=require("../node_modules/lodash-es/capitalize.cjs"),n=require("../node_modules/lodash-es/lodash.cjs"),r=require("./config.cjs"),i=require("./dbState.cjs"),a=require("./dep.cjs"),o=require("./element.cjs"),s=require("./enum.cjs"),c=require("./ref.cjs"),l=require("./schema.cjs"),u=require("./stickyNote.cjs"),d=require("./table.cjs"),f=require("./tableGroup.cjs"),p=require("./tablePartial.cjs"),m=require("./node.cjs"),h=require("./group.cjs"),g=require("./link.cjs");let _=require("@dbml/parse");n.init_lodash();var v=class extends o.default{constructor({schemas:t=[],tables:n=[],notes:a=[],enums:o=[],refs:s=[],deps:l=[],tableGroups:u=[],project:d={},aliases:f=[],records:p=[],tablePartials:m=[],diagramViews:h=[],nodes:g=[],groups:_=[],links:v=[],frontMatter:y,diagramType:b}={}){super(),this.dbState=new i.default,this.generateId(),this.hasDefaultSchema=!1,this.schemas=[],this.notes=[],this.note=d.note?e.default(d,`note.value`,typeof d.note==`string`?d.note:null):null,this.noteToken=d.note?e.default(d,`note.token`,d.noteToken):null,this.databaseType=d.database_type,this.name=d.name,this.token=d.token,this.aliases=f,this.records=[],this.tablePartials=[],this.diagramViews=h,this.injectedRawRefs=[],this.processNotes(a),this.processRecords(p),this.processTablePartials(m),this.processSchemas(t),this.processSchemaElements(o,r.ENUM),this.processSchemaElements(n,r.TABLE),this.linkRecordsToTables(),this.processSchemaElements(a,r.NOTE),this.processSchemaElements(s,`ref`),this.processSchemaElements(l,`dep`),this.processSchemaElements(u,r.TABLE_GROUP),this.injectedRawRefs.forEach(e=>{let t=this.findOrCreateSchema(r.DEFAULT_SCHEMA_NAME),n=new c.default({...e,schema:t});t.refs.some(e=>e.equals(n))||t.pushRef(n)}),this.nodes=[],this.groups=[],this.links=[],this.diagramType=b??null,this.frontMatter=y??null,this.processArch(g,_,v)}processArch(e,t,n){e.forEach(e=>this.nodes.push(new m.default({...e,database:this}))),t.forEach(e=>this.groups.push(new h.default({...e,database:this})));let r=(e,t)=>`${t}\u0000${e}`,i=new Map,a=(e,t,n,a)=>{let o=r(e,t);i.has(o)||i.set(o,{type:n,element:a})};this.nodes.forEach(e=>a(e.alias??e.name,e.role,`node`,e)),this.groups.forEach(e=>a(e.alias??e.name,`Group`,`group`,e)),this.notes.forEach(e=>a(e.name,`Note`,`note`,e)),this.groups.forEach(e=>{e.children.forEach(({handle:t,role:n})=>{let a=i.get(r(t,n));a&&(e.childIds.push(a.element.id),e.childTypes.push(a.type),(a.element instanceof m.default||a.element instanceof h.default)&&(a.element.groupId=e.id))})}),n.forEach(({from:e,fromRole:t,to:n,toRole:a,...o})=>{let s=i.get(r(e,t)),c=i.get(r(n,a));s&&c&&this.links.push(new g.default({...o,fromId:s.element.id,fromType:s.type,toId:c.element.id,toType:c.type,database:this}))})}generateId(){this.id=this.dbState.generateId(`dbId`)}processNotes(e){e.forEach(e=>{this.pushNote(new u.default({...e,database:this}))})}processRecords(e){e.forEach(({schemaName:e,tableName:t,columns:n,values:r,example:i,token:a})=>{this.records.push({id:this.dbState.generateId(`recordId`),schemaName:e,tableName:t,columns:n,values:r,example:i,token:a})})}processTablePartials(e){e.forEach(e=>{this.tablePartials.push(new p.default({...e,dbState:this.dbState}))})}pushNote(e){this.checkNote(e),this.notes.push(e)}checkNote(e){this.notes.some(t=>t.name===e.name)&&e.error(`Notes ${e.name} existed`)}processSchemas(e){e.forEach(e=>{this.pushSchema(new l.default({...e,database:this}))})}pushSchema(e){this.checkSchema(e),this.schemas.push(e)}checkSchema(e){this.schemas.some(t=>t.name===e.name)&&e.error(`Schemas ${e.name} existed`)}processSchemaElements(e,t){let n;e.forEach(e=>{switch(e.schemaName?(n=this.findOrCreateSchema(e.schemaName),e.schemaName):n=this.findOrCreateSchema(r.DEFAULT_SCHEMA_NAME),t){case r.TABLE:n.pushTable(new d.default({...e,schema:n}));break;case r.ENUM:n.pushEnum(new s.default({...e,schema:n}));break;case r.TABLE_GROUP:n.pushTableGroup(new f.default({...e,schema:n}));break;case`ref`:n.pushRef(new c.default({...e,schema:n}));break;case`dep`:n.pushDep(new a.default({...e,schema:n}))}})}linkRecordsToTables(){let e={};this.schemas.forEach(t=>{e[t.name]={},t.tables.forEach(n=>{e[t.name][n.name]=n})}),this.records.forEach(t=>{let n=t.schemaName??`public`,r=e[n]?.[t.tableName];r&&(t.tableId=r.id,r.records.push(t))})}findOrCreateSchema(e){let n=this.schemas.find(t=>t.name===e||t.alias===e);return n||(n=new l.default({name:e,note:{value:e===`public`?`Default ${t.default(r.DEFAULT_SCHEMA_NAME)} Schema`:null},database:this}),this.pushSchema(n)),n}findTableAlias(e){let t=this.aliases.find(t=>t.name===e);if(!t||t.kind!==`table`)return null;let n=t.value.schemaName||`public`,r=this.schemas.find(e=>e.name===n);if(!r)return null;let{tableName:i}=t.value;return r.tables.find(e=>e.name===i)||null}findTable(e,t){let n=null;if(!e&&(n=this.findTableAlias(t),n))return n;let r=this.findOrCreateSchema(e||`public`);return r||this.error(`Schema ${e||`public`} don't exist`),r.findTable(t)}findEnum(e,t){let n=this.schemas.find(t=>t.name===e||t.alias===e);if(n)return n.enums.find(e=>e.name===t)}findTablePartial(e){return this.tablePartials.find(t=>t.name===e)}adjustCardinalitiesFromColumns(){this.schemas.forEach(e=>{e.refs.forEach(e=>{let t=e.endpoints.find(e=>(0,_.parseCardinality)(e.relation).max===`*`),n=e.endpoints.find(e=>(0,_.parseCardinality)(e.relation).max===1);if(!n)return;let r,i;t?(r=t,i=n):(r=e.endpoints[1],i=e.endpoints[0]),r&&i&&r.fields.every(e=>e.not_null||e.pk||e.increment)&&(i.relation=(0,_.makeCardinalityRequired)(i.relation))})})}export(){return{...this.exportChild()}}shallowExport(){return{hasDefaultSchema:this.hasDefaultSchema,note:this.note,databaseType:this.databaseType,name:this.name}}exportChild(){return{schemas:this.schemas.map(e=>e.export()),notes:this.notes.map(e=>e.export()),records:this.records.map(e=>({...e})),...this.archEntries(e=>e.map(e=>e.export()))}}exportChildIds(){return{schemaIds:this.schemas.map(e=>e.id),noteIds:this.notes.map(e=>e.id),...this.archIds(),...this.diagramType?{diagramType:this.diagramType}:{},...this.frontMatter?{frontMatter:this.frontMatter}:{}}}archEntries(e){let t={},n={nodes:this.nodes,groups:this.groups,links:this.links};return Object.entries(n).forEach(([n,r])=>{r.length&&(t[n]=e(r))}),t}archIds(){let e=this.archEntries(e=>e.map(e=>e.id));return{...e.nodes?{nodeIds:e.nodes}:{},...e.groups?{groupIds:e.groups}:{},...e.links?{linkIds:e.links}:{}}}normalize(){let e={database:{[this.id]:{id:this.id,...this.shallowExport(),...this.exportChildIds()}},schemas:{},notes:{},refs:{},deps:{},depEdges:{},enums:{},tableGroups:{},tables:{},endpoints:{},enumValues:{},indexes:{},indexColumns:{},checks:{},fields:{},records:{},tablePartials:{}};return this.schemas.forEach(t=>t.normalize(e)),this.notes.forEach(t=>t.normalize(e)),this.records.forEach(t=>{e.records[t.id]={...t}}),this.tablePartials.forEach(t=>t.normalize(e)),Object.entries(this.archEntries(e=>e)).forEach(([t,n])=>{e[t]={},n.forEach(t=>t.normalize(e))}),e}};exports.default=v;
|