{"version":3,"sources":["../../src/sql/Table.ts"],"sourcesContent":["import { Column } from './Column';\nimport { Select } from './Select';\nimport { Insert } from './Insert';\nimport { Update } from './Update';\nimport { Delete } from './Delete';\nimport { Join } from './Join';\nimport { Count } from './Count';\nimport { MapOptions, Mapper, mappings } from '../utils/Mapper';\nimport { PropertyOptions } from '../utils/Property';\nimport { toUuid } from '../types/Uuid';\nimport { Database } from '../data/Database';\nimport { toList } from '../types/List';\nimport { Json } from '../types/Json';\n\nexport class Table extends Mapper {\n  protected readonly map = {\n    ...mappings,\n    column: <T = unknown>(name: string, options?: PropertyOptions<T>): Column => new Column(this, name, options),\n  };\n\n  readonly id = this.map.column('', { dflt: toUuid });\n\n  constructor(options: MapOptions = { startFrom: 'source' }) {\n    super(options);\n  }\n\n  get db(): Database {\n    return Database.Default;\n  }\n\n  get count(): Count {\n    return new Count(this);\n  }\n\n  /**\n   * @deprecated Deprecated since version 6.2. Please use map.column instead.\n   */\n  prop = <T = unknown>(name: string, options?: PropertyOptions<T>): Column => this.map.column(name, options);\n\n  select = (...columns: Column[]): Select => new Select(this, toList(columns));\n\n  insert = (fields: Json): Insert => new Insert(this, this.out(fields));\n  update = (fields: Json): Update => new Update(this, this.out(fields));\n  delete = (): Delete => new Delete(this, toList());\n\n  readonly join = (t: Table): Join => new Join(this, t);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,IAAM,QAAN,cAAoB,OAAO;AAAA,EACb,MAAM;AAAA,IACvB,GAAG;AAAA,IACH,QAAQ,CAAc,MAAc,YAAyC,IAAI,OAAO,MAAM,MAAM,OAAO;AAAA,EAC7G;AAAA,EAES,KAAK,KAAK,IAAI,OAAO,IAAI,EAAE,MAAM,OAAO,CAAC;AAAA,EAElD,YAAY,UAAsB,EAAE,WAAW,SAAS,GAAG;AACzD,UAAM,OAAO;AAAA,EACf;AAAA,EAEA,IAAI,KAAe;AACjB,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,IAAI,QAAe;AACjB,WAAO,IAAI,MAAM,IAAI;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,CAAc,MAAc,YAAyC,KAAK,IAAI,OAAO,MAAM,OAAO;AAAA,EAEzG,SAAS,IAAI,YAA8B,IAAI,OAAO,MAAM,OAAO,OAAO,CAAC;AAAA,EAE3E,SAAS,CAAC,WAAyB,IAAI,OAAO,MAAM,KAAK,IAAI,MAAM,CAAC;AAAA,EACpE,SAAS,CAAC,WAAyB,IAAI,OAAO,MAAM,KAAK,IAAI,MAAM,CAAC;AAAA,EACpE,SAAS,MAAc,IAAI,OAAO,MAAM,OAAO,CAAC;AAAA,EAEvC,OAAO,CAAC,MAAmB,IAAI,KAAK,MAAM,CAAC;AACtD;","names":[]}