@dbml/core 10.3.0-alpha.0 → 10.3.0-alpha.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.
- package/lib/export/DbmlExporter.cjs +13 -13
- package/lib/export/DbmlExporter.mjs +88 -84
- package/lib/export/MysqlExporter.cjs +8 -8
- package/lib/export/MysqlExporter.mjs +54 -50
- package/lib/export/OracleExporter.cjs +7 -7
- package/lib/export/OracleExporter.mjs +79 -74
- package/lib/export/PostgresExporter.cjs +9 -9
- package/lib/export/PostgresExporter.mjs +82 -78
- package/lib/export/SqlServerExporter.cjs +11 -11
- package/lib/export/SqlServerExporter.mjs +64 -60
- package/lib/model_structure/database.cjs +1 -1
- package/lib/model_structure/database.mjs +56 -53
- package/lib/model_structure/dep.cjs +1 -1
- package/lib/model_structure/dep.mjs +11 -9
- package/lib/model_structure/enum.cjs +1 -1
- package/lib/model_structure/enum.mjs +15 -13
- package/lib/model_structure/enumValue.cjs +1 -1
- package/lib/model_structure/enumValue.mjs +8 -6
- package/lib/model_structure/field.cjs +1 -1
- package/lib/model_structure/field.mjs +10 -8
- package/lib/model_structure/schema.cjs +1 -1
- package/lib/model_structure/schema.mjs +25 -23
- package/lib/model_structure/table.cjs +1 -1
- package/lib/model_structure/table.mjs +43 -40
- package/lib/model_structure/tableGroup.cjs +1 -1
- package/lib/model_structure/tableGroup.mjs +11 -9
- package/lib/model_structure/tablePartial.cjs +1 -1
- package/lib/model_structure/tablePartial.mjs +8 -6
- package/lib/node_modules/lodash-es/_DataView.cjs +1 -0
- package/lib/node_modules/lodash-es/_DataView.mjs +10 -0
- package/lib/node_modules/lodash-es/_Hash.cjs +1 -0
- package/lib/node_modules/lodash-es/_Hash.mjs +20 -0
- package/lib/node_modules/lodash-es/_ListCache.cjs +1 -0
- package/lib/node_modules/lodash-es/_ListCache.mjs +20 -0
- package/lib/node_modules/lodash-es/_Map.cjs +1 -0
- package/lib/node_modules/lodash-es/_Map.mjs +10 -0
- package/lib/node_modules/lodash-es/_MapCache.cjs +1 -0
- package/lib/node_modules/lodash-es/_MapCache.mjs +20 -0
- package/lib/node_modules/lodash-es/_Promise.cjs +1 -0
- package/lib/node_modules/lodash-es/_Promise.mjs +10 -0
- package/lib/node_modules/lodash-es/_Set.cjs +1 -0
- package/lib/node_modules/lodash-es/_Set.mjs +10 -0
- package/lib/node_modules/lodash-es/_SetCache.cjs +1 -0
- package/lib/node_modules/lodash-es/_SetCache.mjs +15 -0
- package/lib/node_modules/lodash-es/_Stack.cjs +1 -0
- package/lib/node_modules/lodash-es/_Stack.mjs +18 -0
- package/lib/node_modules/lodash-es/_Symbol.cjs +1 -0
- package/lib/node_modules/lodash-es/_Symbol.mjs +9 -0
- package/lib/node_modules/lodash-es/_Uint8Array.cjs +1 -0
- package/lib/node_modules/lodash-es/_Uint8Array.mjs +9 -0
- package/lib/node_modules/lodash-es/_WeakMap.cjs +1 -0
- package/lib/node_modules/lodash-es/_WeakMap.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayAggregator.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayAggregator.mjs +13 -0
- package/lib/node_modules/lodash-es/_arrayEach.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayEach.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayFilter.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayFilter.mjs +13 -0
- package/lib/node_modules/lodash-es/_arrayLikeKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayLikeKeys.mjs +19 -0
- package/lib/node_modules/lodash-es/_arrayMap.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayMap.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayPush.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayPush.mjs +10 -0
- package/lib/node_modules/lodash-es/_arrayReduce.cjs +1 -0
- package/lib/node_modules/lodash-es/_arrayReduce.mjs +11 -0
- package/lib/node_modules/lodash-es/_arraySome.cjs +1 -0
- package/lib/node_modules/lodash-es/_arraySome.mjs +10 -0
- package/lib/node_modules/lodash-es/_asciiToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_asciiToArray.mjs +9 -0
- package/lib/node_modules/lodash-es/_assocIndexOf.cjs +1 -0
- package/lib/node_modules/lodash-es/_assocIndexOf.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseAggregator.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseAggregator.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseAssignValue.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseAssignValue.mjs +17 -0
- package/lib/node_modules/lodash-es/_baseEach.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseEach.mjs +10 -0
- package/lib/node_modules/lodash-es/_baseFlatten.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseFlatten.mjs +18 -0
- package/lib/node_modules/lodash-es/_baseFor.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseFor.mjs +9 -0
- package/lib/node_modules/lodash-es/_baseForOwn.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseForOwn.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseGet.mjs +15 -0
- package/lib/node_modules/lodash-es/_baseGetAllKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseGetAllKeys.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseGetTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseGetTag.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseHasIn.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseHasIn.mjs +9 -0
- package/lib/node_modules/lodash-es/_baseIsArguments.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsArguments.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseIsEqual.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsEqual.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseIsEqualDeep.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsEqualDeep.mjs +34 -0
- package/lib/node_modules/lodash-es/_baseIsMatch.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsMatch.mjs +30 -0
- package/lib/node_modules/lodash-es/_baseIsNative.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsNative.mjs +15 -0
- package/lib/node_modules/lodash-es/_baseIsTypedArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIsTypedArray.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseIteratee.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseIteratee.mjs +16 -0
- package/lib/node_modules/lodash-es/_baseKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseKeys.mjs +16 -0
- package/lib/node_modules/lodash-es/_baseMatches.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseMatches.mjs +17 -0
- package/lib/node_modules/lodash-es/_baseMatchesProperty.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseMatchesProperty.mjs +21 -0
- package/lib/node_modules/lodash-es/_baseNth.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseNth.mjs +13 -0
- package/lib/node_modules/lodash-es/_baseProperty.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseProperty.mjs +11 -0
- package/lib/node_modules/lodash-es/_basePropertyDeep.cjs +1 -0
- package/lib/node_modules/lodash-es/_basePropertyDeep.mjs +14 -0
- package/lib/node_modules/lodash-es/_baseReduce.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseReduce.mjs +11 -0
- package/lib/node_modules/lodash-es/_baseSlice.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseSlice.mjs +12 -0
- package/lib/node_modules/lodash-es/_baseTimes.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseTimes.mjs +10 -0
- package/lib/node_modules/lodash-es/_baseToString.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseToString.mjs +19 -0
- package/lib/node_modules/lodash-es/_baseTrim.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseTrim.mjs +12 -0
- package/lib/node_modules/lodash-es/_baseUnary.cjs +1 -0
- package/lib/node_modules/lodash-es/_baseUnary.mjs +11 -0
- package/lib/node_modules/lodash-es/_cacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_cacheHas.mjs +9 -0
- package/lib/node_modules/lodash-es/_castFunction.cjs +1 -0
- package/lib/node_modules/lodash-es/_castFunction.mjs +12 -0
- package/lib/node_modules/lodash-es/_castPath.cjs +1 -0
- package/lib/node_modules/lodash-es/_castPath.mjs +15 -0
- package/lib/node_modules/lodash-es/_castSlice.cjs +1 -0
- package/lib/node_modules/lodash-es/_castSlice.mjs +13 -0
- package/lib/node_modules/lodash-es/_copyArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_copyArray.mjs +11 -0
- package/lib/node_modules/lodash-es/_coreJsData.cjs +1 -0
- package/lib/node_modules/lodash-es/_coreJsData.mjs +9 -0
- package/lib/node_modules/lodash-es/_createAggregator.cjs +1 -0
- package/lib/node_modules/lodash-es/_createAggregator.mjs +18 -0
- package/lib/node_modules/lodash-es/_createBaseEach.cjs +1 -0
- package/lib/node_modules/lodash-es/_createBaseEach.mjs +17 -0
- package/lib/node_modules/lodash-es/_createBaseFor.cjs +1 -0
- package/lib/node_modules/lodash-es/_createBaseFor.mjs +15 -0
- package/lib/node_modules/lodash-es/_createCaseFirst.cjs +1 -0
- package/lib/node_modules/lodash-es/_createCaseFirst.mjs +19 -0
- package/lib/node_modules/lodash-es/_defineProperty.cjs +1 -0
- package/lib/node_modules/lodash-es/_defineProperty.mjs +14 -0
- package/lib/node_modules/lodash-es/_equalArrays.cjs +1 -0
- package/lib/node_modules/lodash-es/_equalArrays.mjs +39 -0
- package/lib/node_modules/lodash-es/_equalByTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_equalByTag.mjs +39 -0
- package/lib/node_modules/lodash-es/_equalObjects.cjs +1 -0
- package/lib/node_modules/lodash-es/_equalObjects.mjs +36 -0
- package/lib/node_modules/lodash-es/_freeGlobal.cjs +1 -0
- package/lib/node_modules/lodash-es/_freeGlobal.mjs +8 -0
- package/lib/node_modules/lodash-es/_getAllKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_getAllKeys.mjs +14 -0
- package/lib/node_modules/lodash-es/_getMapData.cjs +1 -0
- package/lib/node_modules/lodash-es/_getMapData.mjs +13 -0
- package/lib/node_modules/lodash-es/_getMatchData.cjs +1 -0
- package/lib/node_modules/lodash-es/_getMatchData.mjs +21 -0
- package/lib/node_modules/lodash-es/_getNative.cjs +1 -0
- package/lib/node_modules/lodash-es/_getNative.mjs +14 -0
- package/lib/node_modules/lodash-es/_getRawTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_getRawTag.mjs +18 -0
- package/lib/node_modules/lodash-es/_getSymbols.cjs +1 -0
- package/lib/node_modules/lodash-es/_getSymbols.mjs +14 -0
- package/lib/node_modules/lodash-es/_getTag.cjs +1 -0
- package/lib/node_modules/lodash-es/_getTag.mjs +25 -0
- package/lib/node_modules/lodash-es/_getValue.cjs +1 -0
- package/lib/node_modules/lodash-es/_getValue.mjs +9 -0
- package/lib/node_modules/lodash-es/_hasPath.cjs +1 -0
- package/lib/node_modules/lodash-es/_hasPath.mjs +23 -0
- package/lib/node_modules/lodash-es/_hasUnicode.cjs +1 -0
- package/lib/node_modules/lodash-es/_hasUnicode.mjs +11 -0
- package/lib/node_modules/lodash-es/_hashClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashClear.mjs +12 -0
- package/lib/node_modules/lodash-es/_hashDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashDelete.mjs +10 -0
- package/lib/node_modules/lodash-es/_hashGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashGet.mjs +17 -0
- package/lib/node_modules/lodash-es/_hashHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashHas.mjs +13 -0
- package/lib/node_modules/lodash-es/_hashSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_hashSet.mjs +13 -0
- package/lib/node_modules/lodash-es/_isFlattenable.cjs +1 -0
- package/lib/node_modules/lodash-es/_isFlattenable.mjs +14 -0
- package/lib/node_modules/lodash-es/_isIndex.cjs +1 -0
- package/lib/node_modules/lodash-es/_isIndex.mjs +12 -0
- package/lib/node_modules/lodash-es/_isKey.cjs +1 -0
- package/lib/node_modules/lodash-es/_isKey.mjs +15 -0
- package/lib/node_modules/lodash-es/_isKeyable.cjs +1 -0
- package/lib/node_modules/lodash-es/_isKeyable.mjs +10 -0
- package/lib/node_modules/lodash-es/_isMasked.cjs +1 -0
- package/lib/node_modules/lodash-es/_isMasked.mjs +15 -0
- package/lib/node_modules/lodash-es/_isPrototype.cjs +1 -0
- package/lib/node_modules/lodash-es/_isPrototype.mjs +12 -0
- package/lib/node_modules/lodash-es/_isStrictComparable.cjs +1 -0
- package/lib/node_modules/lodash-es/_isStrictComparable.mjs +12 -0
- package/lib/node_modules/lodash-es/_listCacheClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheClear.mjs +9 -0
- package/lib/node_modules/lodash-es/_listCacheDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheDelete.mjs +13 -0
- package/lib/node_modules/lodash-es/_listCacheGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheGet.mjs +13 -0
- package/lib/node_modules/lodash-es/_listCacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheHas.mjs +12 -0
- package/lib/node_modules/lodash-es/_listCacheSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_listCacheSet.mjs +13 -0
- package/lib/node_modules/lodash-es/_mapCacheClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheClear.mjs +18 -0
- package/lib/node_modules/lodash-es/_mapCacheDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheDelete.mjs +13 -0
- package/lib/node_modules/lodash-es/_mapCacheGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheGet.mjs +12 -0
- package/lib/node_modules/lodash-es/_mapCacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheHas.mjs +12 -0
- package/lib/node_modules/lodash-es/_mapCacheSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapCacheSet.mjs +13 -0
- package/lib/node_modules/lodash-es/_mapToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_mapToArray.mjs +12 -0
- package/lib/node_modules/lodash-es/_matchesStrictComparable.cjs +1 -0
- package/lib/node_modules/lodash-es/_matchesStrictComparable.mjs +11 -0
- package/lib/node_modules/lodash-es/_memoizeCapped.cjs +1 -0
- package/lib/node_modules/lodash-es/_memoizeCapped.mjs +15 -0
- package/lib/node_modules/lodash-es/_nativeCreate.cjs +1 -0
- package/lib/node_modules/lodash-es/_nativeCreate.mjs +9 -0
- package/lib/node_modules/lodash-es/_nativeKeys.cjs +1 -0
- package/lib/node_modules/lodash-es/_nativeKeys.mjs +9 -0
- package/lib/node_modules/lodash-es/_nodeUtil.cjs +1 -0
- package/lib/node_modules/lodash-es/_nodeUtil.mjs +13 -0
- package/lib/node_modules/lodash-es/_objectToString.cjs +1 -0
- package/lib/node_modules/lodash-es/_objectToString.mjs +11 -0
- package/lib/node_modules/lodash-es/_overArg.cjs +1 -0
- package/lib/node_modules/lodash-es/_overArg.mjs +11 -0
- package/lib/node_modules/lodash-es/_root.cjs +1 -0
- package/lib/node_modules/lodash-es/_root.mjs +9 -0
- package/lib/node_modules/lodash-es/_setCacheAdd.cjs +1 -0
- package/lib/node_modules/lodash-es/_setCacheAdd.mjs +11 -0
- package/lib/node_modules/lodash-es/_setCacheHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_setCacheHas.mjs +9 -0
- package/lib/node_modules/lodash-es/_setToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_setToArray.mjs +12 -0
- package/lib/node_modules/lodash-es/_stackClear.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackClear.mjs +12 -0
- package/lib/node_modules/lodash-es/_stackDelete.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackDelete.mjs +10 -0
- package/lib/node_modules/lodash-es/_stackGet.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackGet.mjs +9 -0
- package/lib/node_modules/lodash-es/_stackHas.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackHas.mjs +9 -0
- package/lib/node_modules/lodash-es/_stackSet.cjs +1 -0
- package/lib/node_modules/lodash-es/_stackSet.mjs +20 -0
- package/lib/node_modules/lodash-es/_stringToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_stringToArray.mjs +14 -0
- package/lib/node_modules/lodash-es/_stringToPath.cjs +1 -0
- package/lib/node_modules/lodash-es/_stringToPath.mjs +14 -0
- package/lib/node_modules/lodash-es/_toKey.cjs +1 -0
- package/lib/node_modules/lodash-es/_toKey.mjs +14 -0
- package/lib/node_modules/lodash-es/_toSource.cjs +1 -0
- package/lib/node_modules/lodash-es/_toSource.mjs +19 -0
- package/lib/node_modules/lodash-es/_trimmedEndIndex.cjs +1 -0
- package/lib/node_modules/lodash-es/_trimmedEndIndex.mjs +12 -0
- package/lib/node_modules/lodash-es/_unicodeToArray.cjs +1 -0
- package/lib/node_modules/lodash-es/_unicodeToArray.mjs +21 -0
- package/lib/node_modules/lodash-es/capitalize.cjs +1 -0
- package/lib/node_modules/lodash-es/capitalize.mjs +13 -0
- package/lib/node_modules/lodash-es/concat.cjs +1 -0
- package/lib/node_modules/lodash-es/concat.mjs +18 -0
- package/lib/node_modules/lodash-es/eq.cjs +1 -0
- package/lib/node_modules/lodash-es/eq.mjs +9 -0
- package/lib/node_modules/lodash-es/first.cjs +1 -0
- package/lib/node_modules/lodash-es/first.mjs +9 -0
- package/lib/node_modules/lodash-es/flatten.cjs +1 -0
- package/lib/node_modules/lodash-es/flatten.mjs +12 -0
- package/lib/node_modules/lodash-es/flattenDeep.cjs +1 -0
- package/lib/node_modules/lodash-es/flattenDeep.mjs +12 -0
- package/lib/node_modules/lodash-es/flattenDepth.cjs +1 -0
- package/lib/node_modules/lodash-es/flattenDepth.mjs +13 -0
- package/lib/node_modules/lodash-es/forEach.cjs +1 -0
- package/lib/node_modules/lodash-es/forEach.mjs +15 -0
- package/lib/node_modules/lodash-es/get.cjs +1 -0
- package/lib/node_modules/lodash-es/get.mjs +13 -0
- package/lib/node_modules/lodash-es/groupBy.cjs +1 -0
- package/lib/node_modules/lodash-es/groupBy.mjs +12 -0
- package/lib/node_modules/lodash-es/hasIn.cjs +1 -0
- package/lib/node_modules/lodash-es/hasIn.mjs +13 -0
- package/lib/node_modules/lodash-es/head.cjs +1 -0
- package/lib/node_modules/lodash-es/head.mjs +9 -0
- package/lib/node_modules/lodash-es/identity.cjs +1 -0
- package/lib/node_modules/lodash-es/identity.mjs +9 -0
- package/lib/node_modules/lodash-es/isArguments.cjs +1 -0
- package/lib/node_modules/lodash-es/isArguments.mjs +14 -0
- package/lib/node_modules/lodash-es/isArray.cjs +1 -0
- package/lib/node_modules/lodash-es/isArray.mjs +8 -0
- package/lib/node_modules/lodash-es/isArrayLike.cjs +1 -0
- package/lib/node_modules/lodash-es/isArrayLike.mjs +13 -0
- package/lib/node_modules/lodash-es/isBuffer.cjs +1 -0
- package/lib/node_modules/lodash-es/isBuffer.mjs +10 -0
- package/lib/node_modules/lodash-es/isEmpty.cjs +1 -0
- package/lib/node_modules/lodash-es/isEmpty.mjs +25 -0
- package/lib/node_modules/lodash-es/isFunction.cjs +1 -0
- package/lib/node_modules/lodash-es/isFunction.mjs +15 -0
- package/lib/node_modules/lodash-es/isLength.cjs +1 -0
- package/lib/node_modules/lodash-es/isLength.mjs +11 -0
- package/lib/node_modules/lodash-es/isNil.cjs +1 -0
- package/lib/node_modules/lodash-es/isNil.mjs +9 -0
- package/lib/node_modules/lodash-es/isObject.cjs +1 -0
- package/lib/node_modules/lodash-es/isObject.mjs +10 -0
- package/lib/node_modules/lodash-es/isObjectLike.cjs +1 -0
- package/lib/node_modules/lodash-es/isObjectLike.mjs +9 -0
- package/lib/node_modules/lodash-es/isSymbol.cjs +1 -0
- package/lib/node_modules/lodash-es/isSymbol.mjs +13 -0
- package/lib/node_modules/lodash-es/isTypedArray.cjs +1 -0
- package/lib/node_modules/lodash-es/isTypedArray.mjs +11 -0
- package/lib/node_modules/lodash-es/keys.cjs +1 -0
- package/lib/node_modules/lodash-es/keys.mjs +14 -0
- package/lib/node_modules/lodash-es/last.cjs +1 -0
- package/lib/node_modules/lodash-es/last.mjs +10 -0
- package/lib/node_modules/lodash-es/lodash.cjs +1 -0
- package/lib/node_modules/lodash-es/lodash.mjs +46 -0
- package/lib/node_modules/lodash-es/memoize.cjs +1 -0
- package/lib/node_modules/lodash-es/memoize.mjs +19 -0
- package/lib/node_modules/lodash-es/nth.cjs +1 -0
- package/lib/node_modules/lodash-es/nth.mjs +13 -0
- package/lib/node_modules/lodash-es/property.cjs +1 -0
- package/lib/node_modules/lodash-es/property.mjs +15 -0
- package/lib/node_modules/lodash-es/reduce.cjs +1 -0
- package/lib/node_modules/lodash-es/reduce.mjs +17 -0
- package/lib/node_modules/lodash-es/stubArray.cjs +1 -0
- package/lib/node_modules/lodash-es/stubArray.mjs +9 -0
- package/lib/node_modules/lodash-es/stubFalse.cjs +1 -0
- package/lib/node_modules/lodash-es/stubFalse.mjs +9 -0
- package/lib/node_modules/lodash-es/toFinite.cjs +1 -0
- package/lib/node_modules/lodash-es/toFinite.mjs +12 -0
- package/lib/node_modules/lodash-es/toInteger.cjs +1 -0
- package/lib/node_modules/lodash-es/toInteger.mjs +13 -0
- package/lib/node_modules/lodash-es/toNumber.cjs +1 -0
- package/lib/node_modules/lodash-es/toNumber.mjs +23 -0
- package/lib/node_modules/lodash-es/toString.cjs +1 -0
- package/lib/node_modules/lodash-es/toString.mjs +12 -0
- package/lib/node_modules/lodash-es/upperFirst.cjs +1 -0
- package/lib/node_modules/lodash-es/upperFirst.mjs +9 -0
- package/lib/packages/dbml-core/package.json.cjs +1 -0
- package/lib/{package.json.mjs → packages/dbml-core/package.json.mjs} +1 -1
- package/lib/parse/ANTLR/ASTGeneration/helpers.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/helpers.mjs +5 -3
- package/lib/parse/ANTLR/ASTGeneration/mssql/MssqlASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/mssql/MssqlASTGen.mjs +149 -143
- package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/mysql/MySQLASTGen.mjs +146 -142
- package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/oraclesql/OracleSQLASTGen.mjs +184 -181
- package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/postgres/PostgresASTGen.mjs +149 -145
- package/lib/parse/ANTLR/ASTGeneration/snowflake/SnowflakeASTGen.cjs +1 -1
- package/lib/parse/ANTLR/ASTGeneration/snowflake/SnowflakeASTGen.mjs +89 -85
- package/lib/parse/deprecated/mssql/column_definition/actions.cjs +1 -1
- package/lib/parse/deprecated/mssql/column_definition/actions.mjs +9 -6
- package/lib/parse/deprecated/mssql/expression.cjs +1 -1
- package/lib/parse/deprecated/mssql/expression.mjs +26 -25
- package/lib/parse/deprecated/mssql/statements/actions.cjs +1 -1
- package/lib/parse/deprecated/mssql/statements/actions.mjs +36 -33
- package/lib/parse/deprecated/mssql/utils.cjs +1 -1
- package/lib/parse/deprecated/mssql/utils.mjs +23 -22
- package/lib/utils/version.cjs +1 -1
- package/lib/utils/version.mjs +1 -1
- package/package.json +2 -2
- package/lib/package.json.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../parsers/oraclesql/OracleSqlParserVisitor.cjs"),t=require("../../parsers/oraclesql/OracleSqlParser.cjs"),n=require("../AST.cjs"),r=require("../constants.cjs"),i=require("../helpers.cjs"),a=require("../../../error.cjs");let o=require("lodash-es"),s=require("@dbml/parse"),c=require("antlr4");var l={FIELD:`table_field`,INDEX:`table_index`,FK:`table_fk`,UNIQUE:`table_unique`,PK:`table_pk`,DEFAULT:`table_default`,CHECK:`table_check`},u={NOT_NULL:`col_not_null`,NULLABLE:`col_nullable`,UNIQUE:`col_unique`,PK:`col_pk`,DEFAULT:`col_dbdefault`,INCREMENT:`col_increment`,INLINE_REF:`col_inline_ref`,NOTE:`col_note`,CHECK:`col_check`},d=(e,t,n)=>{let r=t??null;return e.find(e=>(e.schemaName??null)===r&&e.name===n)},f=(e,t)=>e.fields.find(e=>e.name===t),p=e=>({value:e.type===r.CONSTRAINT_TYPE.COLUMN?e.rawValue:e.value,type:e.type===r.CONSTRAINT_TYPE.COLUMN?r.DATA_TYPE.EXPRESSION:e.type}),m=e=>{let t;switch(e.type){case r.CONSTRAINT_TYPE.COLUMN:t=r.CONSTRAINT_TYPE.COLUMN;break;case r.DATA_TYPE.STRING:t=r.CONSTRAINT_TYPE.STRING;break;default:t=r.CONSTRAINT_TYPE.EXPRESSION;break}return{value:e.value.toString(),type:t}},h=(e,t)=>a.CompilerError.create([{message:t,location:{start:{line:e.start.line,column:e.start.column+1},end:{line:e.stop.line,column:e.stop.column+i.getOriginalText(e).length+1}}}]),g=(e,t=`"`)=>e.startsWith(t)?e.slice(1,-1).replaceAll(`${t}${t}`,t):e,_=class extends e.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],deps:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}visitCreate_view(e){let t=e.id_expression?e.id_expression():null;if(!t)return;let n=t.getText().replace(/"/g,``),r=e.schema_name?e.schema_name():null,a=r?r.getText().replace(/"/g,``):void 0,o=i.getOriginalText(e);this.data.tables.push({name:n,schemaName:a,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:o,kind:`view`}}),v(this,e.select_only_statement(),n,a)}visitCreate_materialized_view(e){let t=(e.getText?e.getText():``).match(/MATERIALIZEDVIEW(?:IFNOTEXISTS)?(?:"([^"]+)"\.)?"?([^("\s]+)"?/i);if(!t)return;let n=t[1]||void 0,r=t[2],a=i.getOriginalText(e);this.data.tables.push({name:r,schemaName:n,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:a,kind:`materialized_view`,materialized:!0}}),v(this,e.select_only_statement(),r,n)}visitSql_script(e){return e.unit_statement()?.forEach(e=>e.accept(this)),this.data}visitUnit_statement(e){e.create_table()?e.create_table().accept(this):e.comment_on_table()?e.comment_on_table().accept(this):e.comment_on_column()?e.comment_on_column().accept(this):e.alter_table()?e.alter_table().accept(this):e.create_index()?e.create_index().accept(this):e.data_manipulation_language_statements()&&e.data_manipulation_language_statements().accept(this)}visitData_manipulation_language_statements(e){e.insert_statement()&&e.insert_statement().accept(this)}visitCreate_table(e){let t=e.table_name().accept(this),r=e.schema_name()?e.schema_name().accept(this):void 0;if(e.relational_table()){let[i,a,s,c]=e.relational_table().accept(this).reduce((e,t)=>(t.type===l.FIELD?e[0].push(t.value):[l.INDEX,l.UNIQUE,l.PK].includes(t.type)?e[1].push(t.value):t.type===l.FK?e[2].push(t.value):t.type===l.CHECK&&e[3].push(...t.value.checks),e),[[],[],[],[]]);this.data.refs.push(...(0,o.flatten)(i.map(e=>e.inline_refs.map(n=>(n.endpoints[0].tableName=t,n.endpoints[0].schemaName=r,n.endpoints[0].fieldNames=[e.field.name],n))))),this.data.refs.push(...s.map(e=>(e.endpoints[0].tableName=t,e.endpoints[0].schemaName=r,e))),this.data.tables.push(new n.Table({name:t,schemaName:r,fields:i.map(e=>e.field),indexes:a,checks:c}))}}visitRelational_table(e){return e.relational_property()?e.relational_property().map(e=>e.accept(this)):[]}visitRelational_property(e){return e.column_definition()?e.column_definition().accept(this):e.out_of_line_constraint()?e.out_of_line_constraint().accept(this):e.out_of_line_ref_constraint()?e.out_of_line_ref_constraint().accept(this):null}visitColumn_definition(e){let t=(0,o.last)(e.column_name().accept(this)),r=e.datatype()?.accept(this)||e.type_name()?.accept(this);if(!r)throw h(e,`Importing a column definition without a type is not supported`);let i=(e.inline_constraint()||[]).map(e=>e.accept(this)).filter(Boolean);if(e.DEFAULT()){let t=e.expression().accept(this);i.push({type:u.DEFAULT,value:{dbdefault:p(t)}})}e.identity_clause()&&i.push({type:u.INCREMENT,value:{increment:!0}});let a={checks:[],inline_refs:[]};i.forEach(e=>{switch(e.type){case u.DEFAULT:a.dbdefault=e.value.dbdefault;break;case u.NOT_NULL:a.not_null=!0;break;case u.NULLABLE:a.not_null=!1;break;case u.PK:a.pk=!0;break;case u.UNIQUE:a.unique=!0;break;case u.CHECK:a.checks.push(...e.value.checks);break;case u.INCREMENT:a.increment=!0;break;case u.FK:a.inline_refs.push(...e.value.inline_refs);break;default:}});let s=new n.Field({name:t,type:r,...a});return{type:l.FIELD,value:{field:s,inline_refs:a.inline_refs||[]}}}visitInline_constraint(e){if(e.NULL_()&&e.NOT())return{type:u.NOT_NULL,value:{not_null:!0}};if(e.NULL_())return{type:u.NULLABLE,value:{not_null:!1}};if(e.UNIQUE())return{type:u.UNIQUE,value:{unique:!0}};if(e.PRIMARY())return{type:u.PK,value:{pk:!0}};let t=e.constraint_name()?.accept(this);if(e.references_clause()){let n=e.references_clause().accept(this);return n.name=t,{type:u.FK,value:{inline_refs:[n]}}}if(e.check_constraint()){let n=e.check_constraint();n.isColumn=!0;let r=n.accept(this);return r.value.checks[0].name=t,r}return null}visitOut_of_line_constraint(e){if(e.UNIQUE()){let t=e.column_name().map(e=>({value:(0,o.last)(e.accept(this)),type:r.CONSTRAINT_TYPE.COLUMN}));return{type:l.UNIQUE,value:new n.Index({columns:t,unique:!0,name:e.constraint_name()?.accept(this)})}}if(e.PRIMARY()){let t=e.column_name().map(e=>({value:(0,o.last)(e.accept(this)),type:r.CONSTRAINT_TYPE.COLUMN}));return{type:l.PK,value:new n.Index({columns:t,pk:!0,name:e.constraint_name()?.accept(this)})}}if(e.foreign_key_clause()){let t=e.foreign_key_clause().accept(this);return t.value.name=e.constraint_name()?.accept(this),t}if(e.condition()){let t=i.getOriginalText(e.condition());return{type:l.CHECK,value:{checks:[{name:e.constraint_name()?.accept(this),expression:t}]}}}return null}visitOut_of_line_ref_constraint(e){let t=e.constraint_name()?.accept(this),n=e.regular_id().map(e=>e.accept(this)),r=e.references_clause().accept(this);return r.endpoints[0].fieldNames=n,t&&(r.name=t),{type:l.FK,value:r}}visitForeign_key_clause(e){let t=e.paren_column_list().accept(this).map(e=>(0,o.last)(e)),n=e.references_clause().accept(this);return n.endpoints[0].fieldNames=t,e.on_delete_clause()&&(n.onDelete=e.on_delete_clause().accept(this)),{type:l.FK,value:n}}visitReferences_clause(e){if(!e.paren_column_list())throw h(e.tableview_name(),`Importing a foreign key with implicit referenced columns is not supported`);let t=e.tableview_name().accept(this),r=(0,o.last)(t),i=t.length>1?t[t.length-2]:void 0,a=e.paren_column_list().accept(this).map(e=>(0,o.last)(e));return new n.Ref({endpoints:[new n.Endpoint({tableName:null,schemaName:null,fieldNames:[],relation:s.CARDINALITY_MANY}),new n.Endpoint({tableName:r,schemaName:i,fieldNames:a,relation:s.CARDINALITY_MAYBE})]})}visitOn_delete_clause(e){return e.CASCADE()?`cascade`:e.SET()&&e.NULL_()?`set null`:null}visitCheck_constraint(e){let t=i.getOriginalText(e.condition());return{type:e.isColumn?u.CHECK:l.CHECK,value:{checks:[{expression:t}]}}}visitColumn_list(e){return e.column_name().map(e=>e.accept(this))}visitTableview_name(e){let t=e.id_expression()?[e.identifier().accept(this)]:[],n=e.id_expression()?e.id_expression().accept(this):e.identifier().accept(this);return[...t,n]}visitSchema_name(e){return e.identifier().accept(this)}visitTable_name(e){return e.identifier().accept(this)}visitColumn_name(e){return[e.identifier().accept(this)].concat(e.id_expression().map(e=>e.accept(this)))}visitIdentifier(e){return g(i.getOriginalText(e))}visitType_name(e){let t=e.id_expression().map(e=>e.accept(this));return{type_name:(0,o.last)(t),schemaName:t.length>1?t[t.length-2]:void 0}}visitDatatype(e){return{type_name:g(i.getOriginalText(e))}}visitComment_on_table(e){let t=e.tableview_name().accept(this),n=(0,o.last)(t),r=t.length>1?t[t.length-2]:void 0,i=d(this.data.tables,r,n);if(!i)throw h(e.tableview_name(),`Table "${n}" not found`);i.note={value:e.quoted_string().accept(this)}}visitComment_on_column(e){let t=e.column_name().accept(this),n=(0,o.last)(t);t.pop();let r=(0,o.last)(t);t.pop();let i=(0,o.last)(t),a=d(this.data.tables,i,r);if(!a)throw h(e.column_name(),`Table "${r}" not found`);let s=f(a,n);if(!s)throw h(e.column_name(),`Column "${n}" not found in table "${r}"`);s.note={value:e.quoted_string().accept(this)}}visitAlter_table(e){let t=e.tableview_name().accept(this),n=(0,o.last)(t),r=t.length>1?t[t.length-2]:void 0,i=d(this.data.tables,r,n);if(!i)throw h(e.tableview_name(),`Table "${n}" not found`);function a(e,t){switch(t.type){case l.FK:case u.FK:t.value.endpoints[0].tableName=n,t.value.endpoints[0].schemaName=r,this.data.refs.push(t.value);break;case l.CHECK:i.checks||=[],i.checks.push(...t.value.checks);break;case u.CHECK:e.checks||(i.checks=[]),e.checks.push(...t.value.checks);break;case u.PK:e.pk=!0,e.unique=void 0;break;case u.UNIQUE:e.unique=!0;break;case l.UNIQUE:case l.INDEX:case l.PK:i.indexes||=[],i.indexes.push(t.value);break;case u.DEFAULT:e.dbdefault=t.value.dbdefault;break;case u.NOT_NULL:e.not_null=!0;break;case u.NULLABLE:e.not_null=!1;break;case u.INCREMENT:e.increment=!0;break;default:}}(e.constraint_clauses()||e.column_clauses())&&(e.constraint_clauses()?[{column:null,constraints:e.constraint_clauses().accept(this)}]:e.column_clauses().accept(this)).forEach(t=>{let r=t.column===null?null:f(i,t.column);if(t.column!==null&&!r)throw h(e.tableview_name(),`Column "${t.column}" not found on Table "${n}"`);t.constraints.forEach(e=>a.bind(this)(r,e))})}visitColumn_clauses(e){return e.add_modify_drop_column_clauses()?e.add_modify_drop_column_clauses().accept(this):[]}visitAdd_modify_drop_column_clauses(e){let t=[];return e.constraint_clauses()&&t.push({column:null,constraints:e.constraint_clauses().flatMap(e=>e.accept(this))}),e.modify_column_clauses()&&t.push(...e.modify_column_clauses().flatMap(e=>e.accept(this))),t}visitModify_column_clauses(e){return e.modify_col_properties().map(e=>e.accept(this))}visitModify_col_properties(e){let t=[],n=(0,o.last)(e.column_name().accept(this));if(e.DEFAULT()){let n=e.expression().accept(this);t.push({type:u.DEFAULT,value:{dbdefault:p(n)}})}else e.inline_constraint()&&t.push(...e.inline_constraint().map(e=>e.accept(this)));return{column:n,constraints:t}}visitConstraint_clauses(e){return e.out_of_line_constraint()?e.out_of_line_constraint().map(e=>e.accept(this)).filter(Boolean):e.out_of_line_ref_constraint()?[e.out_of_line_ref_constraint().accept(this)]:[]}visitCreate_index(e){if(!e.table_index_clause())return;let t=!!e.UNIQUE(),r=!!e.BITMAP(),i=e.index_name().accept(this),{names:a,columns:s}=e.table_index_clause().accept(this),c=(0,o.last)(a),l=a.length>1?a[a.length-2]:void 0,u=d(this.data.tables,l,c);if(!u)throw h(e.table_index_clause(),`Table ${c} not found`);u.indexes||=[],u.indexes.push(new n.Index({name:i,columns:s,unique:t,type:r?`bitmap`:void 0}))}visitTable_index_clause(e){return{names:e.tableview_name().accept(this),columns:e.index_expr().map(e=>e.accept(this))}}visitConstraint_name(e){return g(i.getOriginalText(e))}visitIndex_name(e){return e.identifier().accept(this)}visitIndex_expr(e){if(e.expression()){let t=m(e.expression().accept(this));return{value:t.value,type:t.type}}return{value:(0,o.last)(e.column_name().accept(this)),type:r.CONSTRAINT_TYPE.COLUMN}}visitInsert_statement(e){e.single_table_insert()?e.single_table_insert().accept(this):e.multi_table_insert()&&e.multi_table_insert().accept(this)}visitSingle_table_insert(e){let t=e.insert_into_clause().accept(this),r=e.values_clause().accept(this);if(t&&r){let{tableName:e,schemaName:i,columns:a}=t,{values:o}=r,s=new n.TableRecord({schemaName:i,tableName:e,columns:a,values:o});this.data.records.push(s)}}visitMulti_table_insert(e){if(!e.multi_table_element())return;let t=e.multi_table_element().map(e=>e.accept(this)).filter(Boolean),r=new Map;t.forEach(e=>{let{tableName:t,schemaName:n,columns:i,values:a}=e,o=`${n||``}.${t}.${i.join(`,`)}`;r.has(o)?r.get(o).values.push(...a):r.set(o,{tableName:t,schemaName:n,columns:i,values:a})}),r.forEach(e=>{let t=new n.TableRecord({schemaName:e.schemaName,tableName:e.tableName,columns:e.columns,values:e.values});this.data.records.push(t)})}visitMulti_table_element(e){let t=e.insert_into_clause().accept(this),n=e.values_clause()?.accept(this);if(t&&n){let{tableName:e,schemaName:r,columns:i}=t,{values:a}=n;return{tableName:e,schemaName:r,columns:i,values:a}}return null}visitInsert_into_clause(e){let t=e.general_table_ref().accept(this),n=(0,o.last)(t),r=t.length>1?t[t.length-2]:void 0;return{tableName:n,schemaName:r,columns:e.paren_column_list()?e.paren_column_list().accept(this).map(e=>(0,o.last)(e)):d(this.data.tables,r,n)?.fields.map(e=>e.name)}}visitGeneral_table_ref(e){return e.dml_table_expression_clause().accept(this)}visitDml_table_expression_clause(e){return e.tableview_name()?e.tableview_name().accept(this):[]}visitParen_column_list(e){return e.column_list().accept(this)}visitValues_clause(e){return{values:[e.expressions_().accept(this).map(e=>({value:e.type===r.CONSTRAINT_TYPE.COLUMN?e.rawValue:e.value,type:e.type===r.CONSTRAINT_TYPE.COLUMN?r.DATA_TYPE.EXPRESSION:e.type}))]}}visitExpressions_(e){return e.expression().map(e=>e.accept(this))}visitId_expression(e){return g(i.getOriginalText(e))}visitExpression(e){let t=i.getOriginalText(e);return e.CHAR_STRING()?{type:r.DATA_TYPE.STRING,value:g(t,`'`)}:e.TRUE()?{type:r.DATA_TYPE.BOOLEAN,value:!0}:e.FALSE()?{type:r.DATA_TYPE.BOOLEAN,value:!1}:e.NULL_()?{type:r.DATA_TYPE.BOOLEAN,value:null}:e.APPROXIMATE_NUM_LIT()||e.UNSIGNED_INTEGER()?{type:r.DATA_TYPE.NUMBER,value:parseFloat(t)}:e.column_name()?{type:r.CONSTRAINT_TYPE.COLUMN,rawValue:g(t),value:g(i.getOriginalText(e.column_name()))}:{type:r.CONSTRAINT_TYPE.EXPRESSION,value:t}}visitQuoted_string(e){return g(i.getOriginalText(e),`'`)}visitRegular_id(e){return g(i.getOriginalText(e),`"`)}};function v(e,n,r,i){if(!n)return;let a=new Set,l=(0,s.normalizeQualifiedName)(i??``,r),u=new c.ParseTreeListener;u.enterEveryRule=n=>{if(!(n instanceof t.default.Tableview_nameContext))return;let c=n.accept(e),u=Array.isArray(c)?(0,o.last)(c):c,f=Array.isArray(c)&&c.length>1?c[c.length-2]:void 0,p=(0,s.normalizeQualifiedName)(f??``,u);p!==l&&(a.has(p)||d(e.data.tables,f,u)&&(a.add(p),e.data.deps.push({edges:[{upstream:{schemaName:f,tableName:u,fieldNames:[]},downstream:{schemaName:i,tableName:r,fieldNames:[]}}],note:null,custom:{}})))},c.ParseTreeWalker.DEFAULT.walk(u,n)}exports.default=_;
|
|
1
|
+
require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../../node_modules/lodash-es/flatten.cjs"),t=require("../../../../node_modules/lodash-es/last.cjs"),n=require("../../../../node_modules/lodash-es/lodash.cjs"),r=require("../../parsers/oraclesql/OracleSqlParserVisitor.cjs"),i=require("../../parsers/oraclesql/OracleSqlParser.cjs"),a=require("../AST.cjs"),o=require("../constants.cjs"),s=require("../helpers.cjs"),c=require("../../../error.cjs");let l=require("@dbml/parse"),u=require("antlr4");n.init_lodash();var d={FIELD:`table_field`,INDEX:`table_index`,FK:`table_fk`,UNIQUE:`table_unique`,PK:`table_pk`,DEFAULT:`table_default`,CHECK:`table_check`},f={NOT_NULL:`col_not_null`,NULLABLE:`col_nullable`,UNIQUE:`col_unique`,PK:`col_pk`,DEFAULT:`col_dbdefault`,INCREMENT:`col_increment`,INLINE_REF:`col_inline_ref`,NOTE:`col_note`,CHECK:`col_check`},p=(e,t,n)=>{let r=t??null;return e.find(e=>(e.schemaName??null)===r&&e.name===n)},m=(e,t)=>e.fields.find(e=>e.name===t),h=e=>({value:e.type===o.CONSTRAINT_TYPE.COLUMN?e.rawValue:e.value,type:e.type===o.CONSTRAINT_TYPE.COLUMN?o.DATA_TYPE.EXPRESSION:e.type}),g=e=>{let t;switch(e.type){case o.CONSTRAINT_TYPE.COLUMN:t=o.CONSTRAINT_TYPE.COLUMN;break;case o.DATA_TYPE.STRING:t=o.CONSTRAINT_TYPE.STRING;break;default:t=o.CONSTRAINT_TYPE.EXPRESSION;break}return{value:e.value.toString(),type:t}},_=(e,t)=>c.CompilerError.create([{message:t,location:{start:{line:e.start.line,column:e.start.column+1},end:{line:e.stop.line,column:e.stop.column+s.getOriginalText(e).length+1}}}]),v=(e,t=`"`)=>e.startsWith(t)?e.slice(1,-1).replaceAll(`${t}${t}`,t):e,y=class extends r.default{constructor(){super(),this.data={schemas:[],tables:[],refs:[],deps:[],enums:[],tableGroups:[],aliases:[],project:{},records:[]}}visitCreate_view(e){let t=e.id_expression?e.id_expression():null;if(!t)return;let n=t.getText().replace(/"/g,``),r=e.schema_name?e.schema_name():null,i=r?r.getText().replace(/"/g,``):void 0,a=s.getOriginalText(e);this.data.tables.push({name:n,schemaName:i,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:a,kind:`view`}}),b(this,e.select_only_statement(),n,i)}visitCreate_materialized_view(e){let t=(e.getText?e.getText():``).match(/MATERIALIZEDVIEW(?:IFNOTEXISTS)?(?:"([^"]+)"\.)?"?([^("\s]+)"?/i);if(!t)return;let n=t[1]||void 0,r=t[2],i=s.getOriginalText(e);this.data.tables.push({name:r,schemaName:n,fields:[],indexes:[],checks:[],note:null,headerColor:null,custom:{query:i,kind:`materialized_view`,materialized:!0}}),b(this,e.select_only_statement(),r,n)}visitSql_script(e){return e.unit_statement()?.forEach(e=>e.accept(this)),this.data}visitUnit_statement(e){e.create_table()?e.create_table().accept(this):e.comment_on_table()?e.comment_on_table().accept(this):e.comment_on_column()?e.comment_on_column().accept(this):e.alter_table()?e.alter_table().accept(this):e.create_index()?e.create_index().accept(this):e.data_manipulation_language_statements()&&e.data_manipulation_language_statements().accept(this)}visitData_manipulation_language_statements(e){e.insert_statement()&&e.insert_statement().accept(this)}visitCreate_table(t){let n=t.table_name().accept(this),r=t.schema_name()?t.schema_name().accept(this):void 0;if(t.relational_table()){let[i,o,s,c]=t.relational_table().accept(this).reduce((e,t)=>(t.type===d.FIELD?e[0].push(t.value):[d.INDEX,d.UNIQUE,d.PK].includes(t.type)?e[1].push(t.value):t.type===d.FK?e[2].push(t.value):t.type===d.CHECK&&e[3].push(...t.value.checks),e),[[],[],[],[]]);this.data.refs.push(...e.default(i.map(e=>e.inline_refs.map(t=>(t.endpoints[0].tableName=n,t.endpoints[0].schemaName=r,t.endpoints[0].fieldNames=[e.field.name],t))))),this.data.refs.push(...s.map(e=>(e.endpoints[0].tableName=n,e.endpoints[0].schemaName=r,e))),this.data.tables.push(new a.Table({name:n,schemaName:r,fields:i.map(e=>e.field),indexes:o,checks:c}))}}visitRelational_table(e){return e.relational_property()?e.relational_property().map(e=>e.accept(this)):[]}visitRelational_property(e){return e.column_definition()?e.column_definition().accept(this):e.out_of_line_constraint()?e.out_of_line_constraint().accept(this):e.out_of_line_ref_constraint()?e.out_of_line_ref_constraint().accept(this):null}visitColumn_definition(e){let n=t.default(e.column_name().accept(this)),r=e.datatype()?.accept(this)||e.type_name()?.accept(this);if(!r)throw _(e,`Importing a column definition without a type is not supported`);let i=(e.inline_constraint()||[]).map(e=>e.accept(this)).filter(Boolean);if(e.DEFAULT()){let t=e.expression().accept(this);i.push({type:f.DEFAULT,value:{dbdefault:h(t)}})}e.identity_clause()&&i.push({type:f.INCREMENT,value:{increment:!0}});let o={checks:[],inline_refs:[]};i.forEach(e=>{switch(e.type){case f.DEFAULT:o.dbdefault=e.value.dbdefault;break;case f.NOT_NULL:o.not_null=!0;break;case f.NULLABLE:o.not_null=!1;break;case f.PK:o.pk=!0;break;case f.UNIQUE:o.unique=!0;break;case f.CHECK:o.checks.push(...e.value.checks);break;case f.INCREMENT:o.increment=!0;break;case f.FK:o.inline_refs.push(...e.value.inline_refs);break;default:}});let s=new a.Field({name:n,type:r,...o});return{type:d.FIELD,value:{field:s,inline_refs:o.inline_refs||[]}}}visitInline_constraint(e){if(e.NULL_()&&e.NOT())return{type:f.NOT_NULL,value:{not_null:!0}};if(e.NULL_())return{type:f.NULLABLE,value:{not_null:!1}};if(e.UNIQUE())return{type:f.UNIQUE,value:{unique:!0}};if(e.PRIMARY())return{type:f.PK,value:{pk:!0}};let t=e.constraint_name()?.accept(this);if(e.references_clause()){let n=e.references_clause().accept(this);return n.name=t,{type:f.FK,value:{inline_refs:[n]}}}if(e.check_constraint()){let n=e.check_constraint();n.isColumn=!0;let r=n.accept(this);return r.value.checks[0].name=t,r}return null}visitOut_of_line_constraint(e){if(e.UNIQUE()){let n=e.column_name().map(e=>({value:t.default(e.accept(this)),type:o.CONSTRAINT_TYPE.COLUMN}));return{type:d.UNIQUE,value:new a.Index({columns:n,unique:!0,name:e.constraint_name()?.accept(this)})}}if(e.PRIMARY()){let n=e.column_name().map(e=>({value:t.default(e.accept(this)),type:o.CONSTRAINT_TYPE.COLUMN}));return{type:d.PK,value:new a.Index({columns:n,pk:!0,name:e.constraint_name()?.accept(this)})}}if(e.foreign_key_clause()){let t=e.foreign_key_clause().accept(this);return t.value.name=e.constraint_name()?.accept(this),t}if(e.condition()){let t=s.getOriginalText(e.condition());return{type:d.CHECK,value:{checks:[{name:e.constraint_name()?.accept(this),expression:t}]}}}return null}visitOut_of_line_ref_constraint(e){let t=e.constraint_name()?.accept(this),n=e.regular_id().map(e=>e.accept(this)),r=e.references_clause().accept(this);return r.endpoints[0].fieldNames=n,t&&(r.name=t),{type:d.FK,value:r}}visitForeign_key_clause(e){let n=e.paren_column_list().accept(this).map(e=>t.default(e)),r=e.references_clause().accept(this);return r.endpoints[0].fieldNames=n,e.on_delete_clause()&&(r.onDelete=e.on_delete_clause().accept(this)),{type:d.FK,value:r}}visitReferences_clause(e){if(!e.paren_column_list())throw _(e.tableview_name(),`Importing a foreign key with implicit referenced columns is not supported`);let n=e.tableview_name().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,o=e.paren_column_list().accept(this).map(e=>t.default(e));return new a.Ref({endpoints:[new a.Endpoint({tableName:null,schemaName:null,fieldNames:[],relation:l.CARDINALITY_MANY}),new a.Endpoint({tableName:r,schemaName:i,fieldNames:o,relation:l.CARDINALITY_MAYBE})]})}visitOn_delete_clause(e){return e.CASCADE()?`cascade`:e.SET()&&e.NULL_()?`set null`:null}visitCheck_constraint(e){let t=s.getOriginalText(e.condition());return{type:e.isColumn?f.CHECK:d.CHECK,value:{checks:[{expression:t}]}}}visitColumn_list(e){return e.column_name().map(e=>e.accept(this))}visitTableview_name(e){let t=e.id_expression()?[e.identifier().accept(this)]:[],n=e.id_expression()?e.id_expression().accept(this):e.identifier().accept(this);return[...t,n]}visitSchema_name(e){return e.identifier().accept(this)}visitTable_name(e){return e.identifier().accept(this)}visitColumn_name(e){return[e.identifier().accept(this)].concat(e.id_expression().map(e=>e.accept(this)))}visitIdentifier(e){return v(s.getOriginalText(e))}visitType_name(e){let n=e.id_expression().map(e=>e.accept(this));return{type_name:t.default(n),schemaName:n.length>1?n[n.length-2]:void 0}}visitDatatype(e){return{type_name:v(s.getOriginalText(e))}}visitComment_on_table(e){let n=e.tableview_name().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=p(this.data.tables,i,r);if(!a)throw _(e.tableview_name(),`Table "${r}" not found`);a.note={value:e.quoted_string().accept(this)}}visitComment_on_column(e){let n=e.column_name().accept(this),r=t.default(n);n.pop();let i=t.default(n);n.pop();let a=t.default(n),o=p(this.data.tables,a,i);if(!o)throw _(e.column_name(),`Table "${i}" not found`);let s=m(o,r);if(!s)throw _(e.column_name(),`Column "${r}" not found in table "${i}"`);s.note={value:e.quoted_string().accept(this)}}visitAlter_table(e){let n=e.tableview_name().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0,a=p(this.data.tables,i,r);if(!a)throw _(e.tableview_name(),`Table "${r}" not found`);function o(e,t){switch(t.type){case d.FK:case f.FK:t.value.endpoints[0].tableName=r,t.value.endpoints[0].schemaName=i,this.data.refs.push(t.value);break;case d.CHECK:a.checks||=[],a.checks.push(...t.value.checks);break;case f.CHECK:e.checks||(a.checks=[]),e.checks.push(...t.value.checks);break;case f.PK:e.pk=!0,e.unique=void 0;break;case f.UNIQUE:e.unique=!0;break;case d.UNIQUE:case d.INDEX:case d.PK:a.indexes||=[],a.indexes.push(t.value);break;case f.DEFAULT:e.dbdefault=t.value.dbdefault;break;case f.NOT_NULL:e.not_null=!0;break;case f.NULLABLE:e.not_null=!1;break;case f.INCREMENT:e.increment=!0;break;default:}}(e.constraint_clauses()||e.column_clauses())&&(e.constraint_clauses()?[{column:null,constraints:e.constraint_clauses().accept(this)}]:e.column_clauses().accept(this)).forEach(t=>{let n=t.column===null?null:m(a,t.column);if(t.column!==null&&!n)throw _(e.tableview_name(),`Column "${t.column}" not found on Table "${r}"`);t.constraints.forEach(e=>o.bind(this)(n,e))})}visitColumn_clauses(e){return e.add_modify_drop_column_clauses()?e.add_modify_drop_column_clauses().accept(this):[]}visitAdd_modify_drop_column_clauses(e){let t=[];return e.constraint_clauses()&&t.push({column:null,constraints:e.constraint_clauses().flatMap(e=>e.accept(this))}),e.modify_column_clauses()&&t.push(...e.modify_column_clauses().flatMap(e=>e.accept(this))),t}visitModify_column_clauses(e){return e.modify_col_properties().map(e=>e.accept(this))}visitModify_col_properties(e){let n=[],r=t.default(e.column_name().accept(this));if(e.DEFAULT()){let t=e.expression().accept(this);n.push({type:f.DEFAULT,value:{dbdefault:h(t)}})}else e.inline_constraint()&&n.push(...e.inline_constraint().map(e=>e.accept(this)));return{column:r,constraints:n}}visitConstraint_clauses(e){return e.out_of_line_constraint()?e.out_of_line_constraint().map(e=>e.accept(this)).filter(Boolean):e.out_of_line_ref_constraint()?[e.out_of_line_ref_constraint().accept(this)]:[]}visitCreate_index(e){if(!e.table_index_clause())return;let n=!!e.UNIQUE(),r=!!e.BITMAP(),i=e.index_name().accept(this),{names:o,columns:s}=e.table_index_clause().accept(this),c=t.default(o),l=o.length>1?o[o.length-2]:void 0,u=p(this.data.tables,l,c);if(!u)throw _(e.table_index_clause(),`Table ${c} not found`);u.indexes||=[],u.indexes.push(new a.Index({name:i,columns:s,unique:n,type:r?`bitmap`:void 0}))}visitTable_index_clause(e){return{names:e.tableview_name().accept(this),columns:e.index_expr().map(e=>e.accept(this))}}visitConstraint_name(e){return v(s.getOriginalText(e))}visitIndex_name(e){return e.identifier().accept(this)}visitIndex_expr(e){if(e.expression()){let t=g(e.expression().accept(this));return{value:t.value,type:t.type}}return{value:t.default(e.column_name().accept(this)),type:o.CONSTRAINT_TYPE.COLUMN}}visitInsert_statement(e){e.single_table_insert()?e.single_table_insert().accept(this):e.multi_table_insert()&&e.multi_table_insert().accept(this)}visitSingle_table_insert(e){let t=e.insert_into_clause().accept(this),n=e.values_clause().accept(this);if(t&&n){let{tableName:e,schemaName:r,columns:i}=t,{values:o}=n,s=new a.TableRecord({schemaName:r,tableName:e,columns:i,values:o});this.data.records.push(s)}}visitMulti_table_insert(e){if(!e.multi_table_element())return;let t=e.multi_table_element().map(e=>e.accept(this)).filter(Boolean),n=new Map;t.forEach(e=>{let{tableName:t,schemaName:r,columns:i,values:a}=e,o=`${r||``}.${t}.${i.join(`,`)}`;n.has(o)?n.get(o).values.push(...a):n.set(o,{tableName:t,schemaName:r,columns:i,values:a})}),n.forEach(e=>{let t=new a.TableRecord({schemaName:e.schemaName,tableName:e.tableName,columns:e.columns,values:e.values});this.data.records.push(t)})}visitMulti_table_element(e){let t=e.insert_into_clause().accept(this),n=e.values_clause()?.accept(this);if(t&&n){let{tableName:e,schemaName:r,columns:i}=t,{values:a}=n;return{tableName:e,schemaName:r,columns:i,values:a}}return null}visitInsert_into_clause(e){let n=e.general_table_ref().accept(this),r=t.default(n),i=n.length>1?n[n.length-2]:void 0;return{tableName:r,schemaName:i,columns:e.paren_column_list()?e.paren_column_list().accept(this).map(e=>t.default(e)):p(this.data.tables,i,r)?.fields.map(e=>e.name)}}visitGeneral_table_ref(e){return e.dml_table_expression_clause().accept(this)}visitDml_table_expression_clause(e){return e.tableview_name()?e.tableview_name().accept(this):[]}visitParen_column_list(e){return e.column_list().accept(this)}visitValues_clause(e){return{values:[e.expressions_().accept(this).map(e=>({value:e.type===o.CONSTRAINT_TYPE.COLUMN?e.rawValue:e.value,type:e.type===o.CONSTRAINT_TYPE.COLUMN?o.DATA_TYPE.EXPRESSION:e.type}))]}}visitExpressions_(e){return e.expression().map(e=>e.accept(this))}visitId_expression(e){return v(s.getOriginalText(e))}visitExpression(e){let t=s.getOriginalText(e);return e.CHAR_STRING()?{type:o.DATA_TYPE.STRING,value:v(t,`'`)}:e.TRUE()?{type:o.DATA_TYPE.BOOLEAN,value:!0}:e.FALSE()?{type:o.DATA_TYPE.BOOLEAN,value:!1}:e.NULL_()?{type:o.DATA_TYPE.BOOLEAN,value:null}:e.APPROXIMATE_NUM_LIT()||e.UNSIGNED_INTEGER()?{type:o.DATA_TYPE.NUMBER,value:parseFloat(t)}:e.column_name()?{type:o.CONSTRAINT_TYPE.COLUMN,rawValue:v(t),value:v(s.getOriginalText(e.column_name()))}:{type:o.CONSTRAINT_TYPE.EXPRESSION,value:t}}visitQuoted_string(e){return v(s.getOriginalText(e),`'`)}visitRegular_id(e){return v(s.getOriginalText(e),`"`)}};function b(e,n,r,a){if(!n)return;let o=new Set,s=(0,l.normalizeQualifiedName)(a??``,r),c=new u.ParseTreeListener;c.enterEveryRule=n=>{if(!(n instanceof i.default.Tableview_nameContext))return;let c=n.accept(e),u=Array.isArray(c)?t.default(c):c,d=Array.isArray(c)&&c.length>1?c[c.length-2]:void 0,f=(0,l.normalizeQualifiedName)(d??``,u);f!==s&&(o.has(f)||p(e.data.tables,d,u)&&(o.add(f),e.data.deps.push({edges:[{upstream:{schemaName:d,tableName:u,fieldNames:[]},downstream:{schemaName:a,tableName:r,fieldNames:[]}}],note:null,custom:{}})))},u.ParseTreeWalker.DEFAULT.walk(c,n)}exports.default=y;
|