{"version":3,"file":"utils.cjs","names":["MsSqlTable","Table","IndexBuilder","CheckBuilder","UniqueConstraintBuilder","PrimaryKeyBuilder","ForeignKeyBuilder","ViewBaseConfig","MsSqlViewConfig"],"sources":["../../src/mssql-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport { MsSqlTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport { MsSqlViewConfig } from './view-common.ts';\nimport type { MsSqlView } from './view.ts';\n\nexport function getTableConfig(table: MsSqlTable) {\n\tconst columns = Object.values(table[MsSqlTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[MsSqlTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst baseName = table[Table.Symbol.BaseName];\n\n\tconst extraConfigBuilder = table[MsSqlTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[MsSqlTable.Symbol.Columns]);\n\t\tfor (const builder of Object.values(extraConfig)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tbaseName,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: MsSqlView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[MsSqlViewConfig],\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;AAgBA,SAAgB,eAAe,OAAmB;CACjD,MAAM,UAAU,OAAO,OAAO,MAAMA,oCAAW,OAAO,SAAS;CAC/D,MAAM,UAAmB,EAAE;CAC3B,MAAM,SAAkB,EAAE;CAC1B,MAAM,cAA4B,EAAE;CACpC,MAAM,oBAAwC,EAAE;CAChD,MAAM,cAA4B,OAAO,OAAO,MAAMA,oCAAW,OAAO,mBAAmB;CAC3F,MAAM,OAAO,MAAMC,iBAAM,OAAO;CAChC,MAAM,SAAS,MAAMA,iBAAM,OAAO;CAClC,MAAM,WAAW,MAAMA,iBAAM,OAAO;CAEpC,MAAM,qBAAqB,MAAMD,oCAAW,OAAO;AAEnD,KAAI,uBAAuB,QAAW;EACrC,MAAM,cAAc,mBAAmB,MAAMA,oCAAW,OAAO,SAAS;AACxE,OAAK,MAAM,WAAW,OAAO,OAAO,YAAY,CAC/C,yBAAO,SAASE,wCAAa,CAC5B,SAAQ,KAAK,QAAQ,MAAM,MAAM,CAAC;+BACrB,SAASC,uCAAa,CACnC,QAAO,KAAK,QAAQ,MAAM,MAAM,CAAC;+BACpB,SAASC,6DAAwB,CAC9C,mBAAkB,KAAK,QAAQ,MAAM,MAAM,CAAC;+BAC/B,SAASC,kDAAkB,CACxC,aAAY,KAAK,QAAQ,MAAM,MAAM,CAAC;+BACzB,SAASC,kDAAkB,CACxC,aAAY,KAAK,QAAQ,MAAM,MAAM,CAAC;;AAKzC,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF,SAAgB,cAGd,MAAmC;AACpC,QAAO;EACN,GAAG,KAAKC;EACR,GAAG,KAAKC;EACR"}