| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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
|