{"version":3,"sources":["../../src/orm/errors/introspection.ts"],"sourcesContent":["import { EquippedError } from '../../errors'\n\nexport class OrmIntrospectionError extends EquippedError {\n\treadonly adapter: string\n\treadonly table: string\n\n\tconstructor(opts: { adapter: string; table: string; cause: unknown }) {\n\t\tsuper(`Introspection failed for table '${opts.table}' on adapter '${opts.adapter}'`, { adapter: opts.adapter, table: opts.table }, opts.cause)\n\t\tthis.adapter = opts.adapter\n\t\tthis.table = opts.table\n\t}\n}\n\nif (import.meta.vitest) {\n\tconst { describe, test, expect } = import.meta.vitest\n\tconst { EquippedError } = await import('../../errors')\n\n\tdescribe('OrmIntrospectionError', () => {\n\t\ttest('stores adapter, table, and cause on the instance', () => {\n\t\t\tconst cause = new Error('unknown column type')\n\t\t\tconst err = new OrmIntrospectionError({ adapter: 'postgres', table: 'users', cause })\n\t\t\texpect(err.adapter).toBe('postgres')\n\t\t\texpect(err.table).toBe('users')\n\t\t\texpect(err.cause).toBe(cause)\n\t\t})\n\n\t\ttest('message includes adapter and table', () => {\n\t\t\tconst err = new OrmIntrospectionError({ adapter: 'pg', table: 'posts', cause: 'bad type' })\n\t\t\texpect(err.message).toBe(\"Introspection failed for table 'posts' on adapter 'pg'\")\n\t\t})\n\n\t\ttest('instanceof EquippedError is true', () => {\n\t\t\tconst err = new OrmIntrospectionError({ adapter: 'x', table: 'y', cause: null })\n\t\t\texpect(err).toBeInstanceOf(OrmIntrospectionError)\n\t\t\texpect(err).toBeInstanceOf(EquippedError)\n\t\t})\n\n\t\ttest('context carries adapter and table', () => {\n\t\t\tconst err = new OrmIntrospectionError({ adapter: 'mem', table: 'items', cause: 'fail' })\n\t\t\texpect((err.context as any).adapter).toBe('mem')\n\t\t\texpect((err.context as any).table).toBe('items')\n\t\t})\n\n\t\ttest('discriminates from sibling error classes', async () => {\n\t\t\tconst { OrmMigrationError } = await import('./migration')\n\t\t\tconst { OrmValidationError } = await import('./validation')\n\t\t\tconst err = new OrmIntrospectionError({ adapter: 'x', table: 'y', cause: null })\n\t\t\texpect(err).not.toBeInstanceOf(OrmMigrationError)\n\t\t\texpect(err).not.toBeInstanceOf(OrmValidationError)\n\t\t})\n\t})\n}\n"],"mappings":";;;;;AAEO,IAAM,wBAAN,cAAoC,cAAc;AAAA,EAC/C;AAAA,EACA;AAAA,EAET,YAAY,MAA0D;AACrE,UAAM,mCAAmC,KAAK,KAAK,iBAAiB,KAAK,OAAO,KAAK,EAAE,SAAS,KAAK,SAAS,OAAO,KAAK,MAAM,GAAG,KAAK,KAAK;AAC7I,SAAK,UAAU,KAAK;AACpB,SAAK,QAAQ,KAAK;AAAA,EACnB;AACD;AAEA,IAAI,QAAoB;AACvB,QAAM,EAAE,UAAU,MAAM,OAAO,IAAI;AACnC,QAAM,EAAE,eAAAA,eAAc,IAAI,MAAa;AAEvC,WAAS,yBAAyB,MAAM;AACvC,SAAK,oDAAoD,MAAM;AAC9D,YAAM,QAAQ,IAAI,MAAM,qBAAqB;AAC7C,YAAM,MAAM,IAAI,sBAAsB,EAAE,SAAS,YAAY,OAAO,SAAS,MAAM,CAAC;AACpF,aAAO,IAAI,OAAO,EAAE,KAAK,UAAU;AACnC,aAAO,IAAI,KAAK,EAAE,KAAK,OAAO;AAC9B,aAAO,IAAI,KAAK,EAAE,KAAK,KAAK;AAAA,IAC7B,CAAC;AAED,SAAK,sCAAsC,MAAM;AAChD,YAAM,MAAM,IAAI,sBAAsB,EAAE,SAAS,MAAM,OAAO,SAAS,OAAO,WAAW,CAAC;AAC1F,aAAO,IAAI,OAAO,EAAE,KAAK,wDAAwD;AAAA,IAClF,CAAC;AAED,SAAK,oCAAoC,MAAM;AAC9C,YAAM,MAAM,IAAI,sBAAsB,EAAE,SAAS,KAAK,OAAO,KAAK,OAAO,KAAK,CAAC;AAC/E,aAAO,GAAG,EAAE,eAAe,qBAAqB;AAChD,aAAO,GAAG,EAAE,eAAeA,cAAa;AAAA,IACzC,CAAC;AAED,SAAK,qCAAqC,MAAM;AAC/C,YAAM,MAAM,IAAI,sBAAsB,EAAE,SAAS,OAAO,OAAO,SAAS,OAAO,OAAO,CAAC;AACvF,aAAQ,IAAI,QAAgB,OAAO,EAAE,KAAK,KAAK;AAC/C,aAAQ,IAAI,QAAgB,KAAK,EAAE,KAAK,OAAO;AAAA,IAChD,CAAC;AAED,SAAK,4CAA4C,YAAY;AAC5D,YAAM,EAAE,kBAAkB,IAAI,MAAa;AAC3C,YAAM,EAAE,mBAAmB,IAAI,MAAa;AAC5C,YAAM,MAAM,IAAI,sBAAsB,EAAE,SAAS,KAAK,OAAO,KAAK,OAAO,KAAK,CAAC;AAC/E,aAAO,GAAG,EAAE,IAAI,eAAe,iBAAiB;AAChD,aAAO,GAAG,EAAE,IAAI,eAAe,kBAAkB;AAAA,IAClD,CAAC;AAAA,EACF,CAAC;AACF;","names":["EquippedError"]}