Spaces:
Sleeping
Sleeping
| import { entityKind } from "../entity.js"; | |
| class IndexBuilderOn { | |
| constructor(name, unique) { | |
| this.name = name; | |
| this.unique = unique; | |
| } | |
| static [entityKind] = "MySqlIndexBuilderOn"; | |
| on(...columns) { | |
| return new IndexBuilder(this.name, columns, this.unique); | |
| } | |
| } | |
| class IndexBuilder { | |
| static [entityKind] = "MySqlIndexBuilder"; | |
| /** @internal */ | |
| config; | |
| constructor(name, columns, unique) { | |
| this.config = { | |
| name, | |
| columns, | |
| unique | |
| }; | |
| } | |
| using(using) { | |
| this.config.using = using; | |
| return this; | |
| } | |
| algorithm(algorithm) { | |
| this.config.algorithm = algorithm; | |
| return this; | |
| } | |
| lock(lock) { | |
| this.config.lock = lock; | |
| return this; | |
| } | |
| /** @internal */ | |
| build(table) { | |
| return new Index(this.config, table); | |
| } | |
| } | |
| class Index { | |
| static [entityKind] = "MySqlIndex"; | |
| config; | |
| constructor(config, table) { | |
| this.config = { ...config, table }; | |
| } | |
| } | |
| function index(name) { | |
| return new IndexBuilderOn(name, false); | |
| } | |
| function uniqueIndex(name) { | |
| return new IndexBuilderOn(name, true); | |
| } | |
| export { | |
| Index, | |
| IndexBuilder, | |
| IndexBuilderOn, | |
| index, | |
| uniqueIndex | |
| }; | |
| //# sourceMappingURL=indexes.js.map |