UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

1 lines 2.42 kB
{"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":[]}