import { UI5SemanticModel } from "@ui5-language-assistant/semantic-model-types" ; import { TypeNameFix , Json } from "../api" ; import { ConcreteSymbol } from "./api-json" ; import { convertToSemanticModel } from "./convert" ; import { resolveSemanticProperties } from "./resolve" ; import { generateMissingSymbols } from "./enhance" ; import { newMap } from "./utils" ; import deepFreezeStrict from "deep-freeze-strict" ; export const GENERATED_LIBRARY = "Generated" ; export function generate ( { version , libraries , typeNameFix , strict , printValidationErrors = true , } ) { const jsonSymbols = newMap < ConcreteSymbol > ( ) ; const model = convertToSemanticModel ( libraries , jsonSymbols , strict , printValidationErrors ) ; generateMissingSymbols ( model , strict ) ; resolveSemanticProperties ( model , jsonSymbols , typeNameFix , strict ) ; model . version = version ; return deepFreezeStrict ( model ) ; } export { forEachSymbol , findSymbol } from "./utils" ;