@uql/core 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +1 -1
  2. package/dialect/abstractSqlDialect.d.ts +1 -1
  3. package/dialect/abstractSqlDialect.js +56 -52
  4. package/dialect/index.d.ts +4 -4
  5. package/dialect/index.js +8 -5
  6. package/dialect/mysqlDialect.d.ts +2 -2
  7. package/dialect/mysqlDialect.js +9 -5
  8. package/dialect/postgresDialect.d.ts +2 -2
  9. package/dialect/postgresDialect.js +10 -6
  10. package/dialect/sqliteDialect.d.ts +1 -1
  11. package/dialect/sqliteDialect.js +7 -3
  12. package/entity/decorator/definition.d.ts +1 -1
  13. package/entity/decorator/definition.js +28 -18
  14. package/entity/decorator/entity.d.ts +1 -1
  15. package/entity/decorator/entity.js +8 -4
  16. package/entity/decorator/field.d.ts +1 -1
  17. package/entity/decorator/field.js +8 -4
  18. package/entity/decorator/id.d.ts +1 -1
  19. package/entity/decorator/id.js +8 -4
  20. package/entity/decorator/index.d.ts +5 -5
  21. package/entity/decorator/index.js +12 -6
  22. package/entity/decorator/relation.d.ts +1 -1
  23. package/entity/decorator/relation.js +14 -7
  24. package/entity/index.d.ts +1 -1
  25. package/entity/index.js +5 -2
  26. package/index.d.ts +1 -1
  27. package/index.js +5 -2
  28. package/options.d.ts +1 -1
  29. package/options.js +14 -7
  30. package/package.json +1 -3
  31. package/querier/abstractQuerier.d.ts +3 -3
  32. package/querier/abstractQuerier.js +23 -19
  33. package/querier/abstractSqlQuerier.d.ts +4 -4
  34. package/querier/abstractSqlQuerier.js +14 -10
  35. package/querier/decorator/index.d.ts +2 -2
  36. package/querier/decorator/index.js +6 -3
  37. package/querier/decorator/injectQuerier.d.ts +1 -1
  38. package/querier/decorator/injectQuerier.js +8 -3
  39. package/querier/decorator/transactional.d.ts +1 -1
  40. package/querier/decorator/transactional.js +10 -6
  41. package/querier/index.d.ts +3 -3
  42. package/querier/index.js +7 -4
  43. package/repository/genericRepository.d.ts +1 -1
  44. package/repository/genericRepository.js +6 -2
  45. package/repository/index.d.ts +1 -1
  46. package/repository/index.js +5 -2
  47. package/type/entity.d.ts +2 -2
  48. package/type/entity.js +5 -2
  49. package/type/index.d.ts +7 -7
  50. package/type/index.js +11 -8
  51. package/type/querier.d.ts +5 -5
  52. package/type/querier.js +3 -2
  53. package/type/querierPool.d.ts +1 -1
  54. package/type/querierPool.js +3 -2
  55. package/type/query.d.ts +2 -2
  56. package/type/query.js +6 -2
  57. package/type/repository.d.ts +3 -3
  58. package/type/repository.js +3 -2
  59. package/type/universalQuerier.d.ts +4 -4
  60. package/type/universalQuerier.js +3 -2
  61. package/type/utility.js +2 -1
  62. package/util/dialect.util.d.ts +2 -2
  63. package/util/dialect.util.js +33 -19
  64. package/util/index.d.ts +5 -5
  65. package/util/index.js +9 -6
  66. package/util/object.util.js +10 -4
  67. package/util/raw.d.ts +1 -1
  68. package/util/raw.js +8 -4
  69. package/util/sql.util.js +12 -7
  70. package/util/string.util.js +10 -4
@@ -1,18 +1,21 @@
1
- import { getMeta } from '../entity/index.js';
2
- import { AbstractSqlDialect } from './abstractSqlDialect.js';
3
- export class PostgresDialect extends AbstractSqlDialect {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostgresDialect = void 0;
4
+ const index_1 = require("../entity/index");
5
+ const abstractSqlDialect_1 = require("./abstractSqlDialect");
6
+ class PostgresDialect extends abstractSqlDialect_1.AbstractSqlDialect {
4
7
  constructor() {
5
8
  super('"', 'BEGIN TRANSACTION');
6
9
  }
7
10
  insert(entity, payload) {
8
11
  const sql = super.insert(entity, payload);
9
- const meta = getMeta(entity);
12
+ const meta = (0, index_1.getMeta)(entity);
10
13
  const idName = meta.fields[meta.id].name;
11
14
  return `${sql} RETURNING ${this.escapeId(idName)} ${this.escapeId('id')}`;
12
15
  }
13
16
  compare(entity, key, val, opts) {
14
17
  if (key === '$text') {
15
- const meta = getMeta(entity);
18
+ const meta = (0, index_1.getMeta)(entity);
16
19
  const search = val;
17
20
  const fields = search.$fields.map((field) => this.escapeId(meta.fields[field]?.name ?? field)).join(` || ' ' || `);
18
21
  return `to_tsvector(${fields}) @@ to_tsquery(${this.escape(search.$value)})`;
@@ -37,4 +40,5 @@ export class PostgresDialect extends AbstractSqlDialect {
37
40
  }
38
41
  }
39
42
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdGdyZXNEaWFsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RpYWxlY3QvcG9zdGdyZXNEaWFsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBa0I7SUFDckQ7UUFDRSxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVRLE1BQU0sQ0FBSSxNQUFlLEVBQUUsT0FBZ0I7UUFDbEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN6QyxPQUFPLEdBQUcsR0FBRyxjQUFjLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzVFLENBQUM7SUFFUSxPQUFPLENBQXVDLE1BQWUsRUFBRSxHQUFNLEVBQUUsR0FBeUIsRUFBRSxJQUE2QjtRQUN0SSxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQWdDLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkgsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7U0FDOUU7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVRLG9CQUFvQixDQUMzQixNQUFlLEVBQ2YsR0FBZ0IsRUFDaEIsRUFBSyxFQUNMLEdBQXNDLEVBQ3RDLElBQW1CO1FBRW5CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELFFBQVEsRUFBRSxFQUFFO1lBQ1YsS0FBSyxjQUFjO2dCQUNqQixPQUFPLEdBQUcsYUFBYSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUQsS0FBSyxZQUFZO2dCQUNmLE9BQU8sR0FBRyxhQUFhLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxHQUFHLGFBQWEsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdELEtBQUssUUFBUTtnQkFDWCxPQUFPLEdBQUcsYUFBYSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxHQUFHLGFBQWEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEQ7Z0JBQ0UsT0FBTyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUXVlcnlDb21wYXJpc29uT3B0aW9ucyxcbiAgUXVlcnlGaWx0ZXJNYXAsXG4gIFF1ZXJ5T3B0aW9ucyxcbiAgUXVlcnlGaWx0ZXJGaWVsZE9wZXJhdG9yTWFwLFxuICBRdWVyeVRleHRTZWFyY2hPcHRpb25zLFxuICBUeXBlLFxuICBGaWVsZEtleSxcbn0gZnJvbSAnLi4vdHlwZS9pbmRleC5qcyc7XG5pbXBvcnQgeyBnZXRNZXRhIH0gZnJvbSAnLi4vZW50aXR5L2luZGV4LmpzJztcbmltcG9ydCB7IEFic3RyYWN0U3FsRGlhbGVjdCB9IGZyb20gJy4vYWJzdHJhY3RTcWxEaWFsZWN0LmpzJztcblxuZXhwb3J0IGNsYXNzIFBvc3RncmVzRGlhbGVjdCBleHRlbmRzIEFic3RyYWN0U3FsRGlhbGVjdCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdcIicsICdCRUdJTiBUUkFOU0FDVElPTicpO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW5zZXJ0PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRSB8IEVbXSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3FsID0gc3VwZXIuaW5zZXJ0KGVudGl0eSwgcGF5bG9hZCk7XG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcbiAgICBjb25zdCBpZE5hbWUgPSBtZXRhLmZpZWxkc1ttZXRhLmlkXS5uYW1lO1xuICAgIHJldHVybiBgJHtzcWx9IFJFVFVSTklORyAke3RoaXMuZXNjYXBlSWQoaWROYW1lKX0gJHt0aGlzLmVzY2FwZUlkKCdpZCcpfWA7XG4gIH1cblxuICBvdmVycmlkZSBjb21wYXJlPEUsIEsgZXh0ZW5kcyBrZXlvZiBRdWVyeUZpbHRlck1hcDxFPj4oZW50aXR5OiBUeXBlPEU+LCBrZXk6IEssIHZhbDogUXVlcnlGaWx0ZXJNYXA8RT5bS10sIG9wdHM/OiBRdWVyeUNvbXBhcmlzb25PcHRpb25zKTogc3RyaW5nIHtcbiAgICBpZiAoa2V5ID09PSAnJHRleHQnKSB7XG4gICAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgICAgY29uc3Qgc2VhcmNoID0gdmFsIGFzIFF1ZXJ5VGV4dFNlYXJjaE9wdGlvbnM8RT47XG4gICAgICBjb25zdCBmaWVsZHMgPSBzZWFyY2guJGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB0aGlzLmVzY2FwZUlkKG1ldGEuZmllbGRzW2ZpZWxkXT8ubmFtZSA/PyBmaWVsZCkpLmpvaW4oYCB8fCAnICcgfHwgYCk7XG4gICAgICByZXR1cm4gYHRvX3RzdmVjdG9yKCR7ZmllbGRzfSkgQEAgdG9fdHNxdWVyeSgke3RoaXMuZXNjYXBlKHNlYXJjaC4kdmFsdWUpfSlgO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuY29tcGFyZShlbnRpdHksIGtleSwgdmFsLCBvcHRzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvbXBhcmVGaWVsZE9wZXJhdG9yPEUsIEsgZXh0ZW5kcyBrZXlvZiBRdWVyeUZpbHRlckZpZWxkT3BlcmF0b3JNYXA8RT4+KFxuICAgIGVudGl0eTogVHlwZTxFPixcbiAgICBrZXk6IEZpZWxkS2V5PEU+LFxuICAgIG9wOiBLLFxuICAgIHZhbDogUXVlcnlGaWx0ZXJGaWVsZE9wZXJhdG9yTWFwPEU+W0tdLFxuICAgIG9wdHM/OiBRdWVyeU9wdGlvbnNcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21wYXJpc29uS2V5ID0gdGhpcy5nZXRDb21wYXJpc29uS2V5KGVudGl0eSwga2V5LCBvcHRzKTtcbiAgICBzd2l0Y2ggKG9wKSB7XG4gICAgICBjYXNlICckaXN0YXJ0c1dpdGgnOlxuICAgICAgICByZXR1cm4gYCR7Y29tcGFyaXNvbktleX0gSUxJS0UgJHt0aGlzLmVzY2FwZShgJHt2YWx9JWApfWA7XG4gICAgICBjYXNlICckaWVuZHNXaXRoJzpcbiAgICAgICAgcmV0dXJuIGAke2NvbXBhcmlzb25LZXl9IElMSUtFICR7dGhpcy5lc2NhcGUoYCUke3ZhbH1gKX1gO1xuICAgICAgY2FzZSAnJGlpbmNsdWRlcyc6XG4gICAgICAgIHJldHVybiBgJHtjb21wYXJpc29uS2V5fSBJTElLRSAke3RoaXMuZXNjYXBlKGAlJHt2YWx9JWApfWA7XG4gICAgICBjYXNlICckaWxpa2UnOlxuICAgICAgICByZXR1cm4gYCR7Y29tcGFyaXNvbktleX0gSUxJS0UgJHt0aGlzLmVzY2FwZSh2YWwpfWA7XG4gICAgICBjYXNlICckcmVnZXgnOlxuICAgICAgICByZXR1cm4gYCR7Y29tcGFyaXNvbktleX0gfiAke3RoaXMuZXNjYXBlKHZhbCl9YDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBzdXBlci5jb21wYXJlRmllbGRPcGVyYXRvcihlbnRpdHksIGtleSwgb3AsIHZhbCwgb3B0cyk7XG4gICAgfVxuICB9XG59XG4iXX0=
43
+ exports.PostgresDialect = PostgresDialect;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdGdyZXNEaWFsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RpYWxlY3QvcG9zdGdyZXNEaWFsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUEwQztBQUMxQyw2REFBMEQ7QUFFMUQsTUFBYSxlQUFnQixTQUFRLHVDQUFrQjtJQUNyRDtRQUNFLEtBQUssQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRVEsTUFBTSxDQUFJLE1BQWUsRUFBRSxPQUFnQjtRQUNsRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxNQUFNLElBQUksR0FBRyxJQUFBLGVBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsT0FBTyxHQUFHLEdBQUcsY0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0lBRVEsT0FBTyxDQUF1QyxNQUFlLEVBQUUsR0FBTSxFQUFFLEdBQXlCLEVBQUUsSUFBNkI7UUFDdEksSUFBSSxHQUFHLEtBQUssT0FBTyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUEsZUFBTyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQWdDLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkgsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7U0FDOUU7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVRLG9CQUFvQixDQUMzQixNQUFlLEVBQ2YsR0FBZ0IsRUFDaEIsRUFBSyxFQUNMLEdBQXNDLEVBQ3RDLElBQW1CO1FBRW5CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELFFBQVEsRUFBRSxFQUFFO1lBQ1YsS0FBSyxjQUFjO2dCQUNqQixPQUFPLEdBQUcsYUFBYSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUQsS0FBSyxZQUFZO2dCQUNmLE9BQU8sR0FBRyxhQUFhLFVBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxHQUFHLGFBQWEsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdELEtBQUssUUFBUTtnQkFDWCxPQUFPLEdBQUcsYUFBYSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxHQUFHLGFBQWEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEQ7Z0JBQ0UsT0FBTyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztDQUNGO0FBN0NELDBDQTZDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMsIFF1ZXJ5RmlsdGVyTWFwLCBRdWVyeU9wdGlvbnMsIFF1ZXJ5RmlsdGVyRmllbGRPcGVyYXRvck1hcCwgUXVlcnlUZXh0U2VhcmNoT3B0aW9ucywgVHlwZSwgRmllbGRLZXkgfSBmcm9tICcuLi90eXBlJztcbmltcG9ydCB7IGdldE1ldGEgfSBmcm9tICcuLi9lbnRpdHkvaW5kZXgnO1xuaW1wb3J0IHsgQWJzdHJhY3RTcWxEaWFsZWN0IH0gZnJvbSAnLi9hYnN0cmFjdFNxbERpYWxlY3QnO1xuXG5leHBvcnQgY2xhc3MgUG9zdGdyZXNEaWFsZWN0IGV4dGVuZHMgQWJzdHJhY3RTcWxEaWFsZWN0IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ1wiJywgJ0JFR0lOIFRSQU5TQUNUSU9OJyk7XG4gIH1cblxuICBvdmVycmlkZSBpbnNlcnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFIHwgRVtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBzcWwgPSBzdXBlci5pbnNlcnQoZW50aXR5LCBwYXlsb2FkKTtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGlkTmFtZSA9IG1ldGEuZmllbGRzW21ldGEuaWRdLm5hbWU7XG4gICAgcmV0dXJuIGAke3NxbH0gUkVUVVJOSU5HICR7dGhpcy5lc2NhcGVJZChpZE5hbWUpfSAke3RoaXMuZXNjYXBlSWQoJ2lkJyl9YDtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvbXBhcmU8RSwgSyBleHRlbmRzIGtleW9mIFF1ZXJ5RmlsdGVyTWFwPEU+PihlbnRpdHk6IFR5cGU8RT4sIGtleTogSywgdmFsOiBRdWVyeUZpbHRlck1hcDxFPltLXSwgb3B0cz86IFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmIChrZXkgPT09ICckdGV4dCcpIHtcbiAgICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgICBjb25zdCBzZWFyY2ggPSB2YWwgYXMgUXVlcnlUZXh0U2VhcmNoT3B0aW9uczxFPjtcbiAgICAgIGNvbnN0IGZpZWxkcyA9IHNlYXJjaC4kZmllbGRzLm1hcCgoZmllbGQpID0+IHRoaXMuZXNjYXBlSWQobWV0YS5maWVsZHNbZmllbGRdPy5uYW1lID8/IGZpZWxkKSkuam9pbihgIHx8ICcgJyB8fCBgKTtcbiAgICAgIHJldHVybiBgdG9fdHN2ZWN0b3IoJHtmaWVsZHN9KSBAQCB0b190c3F1ZXJ5KCR7dGhpcy5lc2NhcGUoc2VhcmNoLiR2YWx1ZSl9KWA7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5jb21wYXJlKGVudGl0eSwga2V5LCB2YWwsIG9wdHMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgY29tcGFyZUZpZWxkT3BlcmF0b3I8RSwgSyBleHRlbmRzIGtleW9mIFF1ZXJ5RmlsdGVyRmllbGRPcGVyYXRvck1hcDxFPj4oXG4gICAgZW50aXR5OiBUeXBlPEU+LFxuICAgIGtleTogRmllbGRLZXk8RT4sXG4gICAgb3A6IEssXG4gICAgdmFsOiBRdWVyeUZpbHRlckZpZWxkT3BlcmF0b3JNYXA8RT5bS10sXG4gICAgb3B0cz86IFF1ZXJ5T3B0aW9uc1xuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbXBhcmlzb25LZXkgPSB0aGlzLmdldENvbXBhcmlzb25LZXkoZW50aXR5LCBrZXksIG9wdHMpO1xuICAgIHN3aXRjaCAob3ApIHtcbiAgICAgIGNhc2UgJyRpc3RhcnRzV2l0aCc6XG4gICAgICAgIHJldHVybiBgJHtjb21wYXJpc29uS2V5fSBJTElLRSAke3RoaXMuZXNjYXBlKGAke3ZhbH0lYCl9YDtcbiAgICAgIGNhc2UgJyRpZW5kc1dpdGgnOlxuICAgICAgICByZXR1cm4gYCR7Y29tcGFyaXNvbktleX0gSUxJS0UgJHt0aGlzLmVzY2FwZShgJSR7dmFsfWApfWA7XG4gICAgICBjYXNlICckaWluY2x1ZGVzJzpcbiAgICAgICAgcmV0dXJuIGAke2NvbXBhcmlzb25LZXl9IElMSUtFICR7dGhpcy5lc2NhcGUoYCUke3ZhbH0lYCl9YDtcbiAgICAgIGNhc2UgJyRpbGlrZSc6XG4gICAgICAgIHJldHVybiBgJHtjb21wYXJpc29uS2V5fSBJTElLRSAke3RoaXMuZXNjYXBlKHZhbCl9YDtcbiAgICAgIGNhc2UgJyRyZWdleCc6XG4gICAgICAgIHJldHVybiBgJHtjb21wYXJpc29uS2V5fSB+ICR7dGhpcy5lc2NhcGUodmFsKX1gO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNvbXBhcmVGaWVsZE9wZXJhdG9yKGVudGl0eSwga2V5LCBvcCwgdmFsLCBvcHRzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { AbstractSqlDialect } from './abstractSqlDialect.js';
1
+ import { AbstractSqlDialect } from './abstractSqlDialect';
2
2
  export declare class SqliteDialect extends AbstractSqlDialect {
3
3
  constructor();
4
4
  }
@@ -1,7 +1,11 @@
1
- import { AbstractSqlDialect } from './abstractSqlDialect.js';
2
- export class SqliteDialect extends AbstractSqlDialect {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqliteDialect = void 0;
4
+ const abstractSqlDialect_1 = require("./abstractSqlDialect");
5
+ class SqliteDialect extends abstractSqlDialect_1.AbstractSqlDialect {
3
6
  constructor() {
4
7
  super('`', 'BEGIN TRANSACTION');
5
8
  }
6
9
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsaXRlRGlhbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWFsZWN0L3NxbGl0ZURpYWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxrQkFBa0I7SUFDbkQ7UUFDRSxLQUFLLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RTcWxEaWFsZWN0IH0gZnJvbSAnLi9hYnN0cmFjdFNxbERpYWxlY3QuanMnO1xuXG5leHBvcnQgY2xhc3MgU3FsaXRlRGlhbGVjdCBleHRlbmRzIEFic3RyYWN0U3FsRGlhbGVjdCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdgJywgJ0JFR0lOIFRSQU5TQUNUSU9OJyk7XG4gIH1cbn1cbiJdfQ==
10
+ exports.SqliteDialect = SqliteDialect;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsaXRlRGlhbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWFsZWN0L3NxbGl0ZURpYWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQTBEO0FBRTFELE1BQWEsYUFBYyxTQUFRLHVDQUFrQjtJQUNuRDtRQUNFLEtBQUssQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFKRCxzQ0FJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0U3FsRGlhbGVjdCB9IGZyb20gJy4vYWJzdHJhY3RTcWxEaWFsZWN0JztcblxuZXhwb3J0IGNsYXNzIFNxbGl0ZURpYWxlY3QgZXh0ZW5kcyBBYnN0cmFjdFNxbERpYWxlY3Qge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignYCcsICdCRUdJTiBUUkFOU0FDVElPTicpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import { RelationOptions, FieldOptions, EntityOptions, EntityMeta, Type } from '../../type/index.js';
2
+ import { RelationOptions, FieldOptions, EntityOptions, EntityMeta, Type } from '../../type';
3
3
  export declare function defineField<E>(entity: Type<E>, key: string, opts?: FieldOptions): EntityMeta<E>;
4
4
  export declare function defineId<E>(entity: Type<E>, key: string, opts: FieldOptions): EntityMeta<E>;
5
5
  export declare function defineRelation<E>(entity: Type<E>, key: string, opts: RelationOptions<E>): EntityMeta<E>;
@@ -1,10 +1,13 @@
1
- import 'reflect-metadata';
2
- import { hasKeys, lowerFirst, getKeys, upperFirst } from '../../util/index.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidEntityType = exports.getMeta = exports.getEntities = exports.defineEntity = exports.defineRelation = exports.defineId = exports.defineField = void 0;
4
+ require("reflect-metadata");
5
+ const index_1 = require("../../util/index");
3
6
  const holder = globalThis;
4
7
  const metaKey = '@uql/core/entity/decorator';
5
8
  const metas = holder[metaKey] ?? new Map();
6
9
  holder[metaKey] = metas;
7
- export function defineField(entity, key, opts = {}) {
10
+ function defineField(entity, key, opts = {}) {
8
11
  const meta = ensureMeta(entity);
9
12
  if (!opts.type) {
10
13
  const type = inferType(entity, key);
@@ -13,7 +16,8 @@ export function defineField(entity, key, opts = {}) {
13
16
  meta.fields[key] = { ...meta.fields[key], ...{ name: key, ...opts } };
14
17
  return meta;
15
18
  }
16
- export function defineId(entity, key, opts) {
19
+ exports.defineField = defineField;
20
+ function defineId(entity, key, opts) {
17
21
  const meta = ensureMeta(entity);
18
22
  const id = getIdKey(meta);
19
23
  if (id) {
@@ -21,7 +25,8 @@ export function defineId(entity, key, opts) {
21
25
  }
22
26
  return defineField(entity, key, { ...opts, isId: true });
23
27
  }
24
- export function defineRelation(entity, key, opts) {
28
+ exports.defineId = defineId;
29
+ function defineRelation(entity, key, opts) {
25
30
  if (!opts.entity) {
26
31
  const inferredType = inferEntityType(entity, key);
27
32
  opts.entity = () => inferredType;
@@ -30,12 +35,13 @@ export function defineRelation(entity, key, opts) {
30
35
  meta.relations[key] = { ...meta.relations[key], ...opts };
31
36
  return meta;
32
37
  }
33
- export function defineEntity(entity, opts = {}) {
38
+ exports.defineRelation = defineRelation;
39
+ function defineEntity(entity, opts = {}) {
34
40
  const meta = ensureMeta(entity);
35
- if (!hasKeys(meta.fields)) {
41
+ if (!(0, index_1.hasKeys)(meta.fields)) {
36
42
  throw TypeError(`'${entity.name}' must have fields`);
37
43
  }
38
- const onDeleteKeys = getKeys(meta.fields).filter((key) => meta.fields[key].onDelete);
44
+ const onDeleteKeys = (0, index_1.getKeys)(meta.fields).filter((key) => meta.fields[key].onDelete);
39
45
  if (onDeleteKeys.length > 1) {
40
46
  throw TypeError(`'${entity.name}' must have one field with 'onDelete' as maximum`);
41
47
  }
@@ -59,7 +65,8 @@ export function defineEntity(entity, opts = {}) {
59
65
  meta.id = id;
60
66
  return meta;
61
67
  }
62
- export function getEntities() {
68
+ exports.defineEntity = defineEntity;
69
+ function getEntities() {
63
70
  return [...metas.entries()].reduce((acc, [key, val]) => {
64
71
  if (val.id) {
65
72
  acc.push(key);
@@ -67,6 +74,7 @@ export function getEntities() {
67
74
  return acc;
68
75
  }, []);
69
76
  }
77
+ exports.getEntities = getEntities;
70
78
  function ensureMeta(entity) {
71
79
  let meta = metas.get(entity);
72
80
  if (meta) {
@@ -76,7 +84,7 @@ function ensureMeta(entity) {
76
84
  metas.set(entity, meta);
77
85
  return meta;
78
86
  }
79
- export function getMeta(entity) {
87
+ function getMeta(entity) {
80
88
  const meta = metas.get(entity);
81
89
  if (!meta) {
82
90
  throw TypeError(`'${entity.name}' is not an entity`);
@@ -87,6 +95,7 @@ export function getMeta(entity) {
87
95
  meta.processed = true;
88
96
  return fillRelations(meta);
89
97
  }
98
+ exports.getMeta = getMeta;
90
99
  function fillRelations(meta) {
91
100
  for (const relKey in meta.relations) {
92
101
  const relOpts = meta.relations[relKey];
@@ -103,8 +112,8 @@ function fillRelations(meta) {
103
112
  if (relOpts.cardinality === 'mm') {
104
113
  const idName = meta.fields[meta.id].name;
105
114
  const relIdName = relMeta.fields[relMeta.id].name;
106
- const source = lowerFirst(meta.name) + upperFirst(idName);
107
- const target = lowerFirst(relMeta.name) + upperFirst(relIdName);
115
+ const source = (0, index_1.lowerFirst)(meta.name) + (0, index_1.upperFirst)(idName);
116
+ const target = (0, index_1.lowerFirst)(relMeta.name) + (0, index_1.upperFirst)(relIdName);
108
117
  relOpts.references = [
109
118
  { local: source, foreign: meta.id },
110
119
  { local: target, foreign: relMeta.id },
@@ -140,7 +149,7 @@ function fillInverseSideRelations(relOpts) {
140
149
  }
141
150
  function fillThroughRelations(entity) {
142
151
  const meta = ensureMeta(entity);
143
- meta.relations = getKeys(meta.fields).reduce((relations, key) => {
152
+ meta.relations = (0, index_1.getKeys)(meta.fields).reduce((relations, key) => {
144
153
  const { reference } = meta.fields[key];
145
154
  if (reference) {
146
155
  const relEntity = reference();
@@ -166,15 +175,15 @@ function getMappedByRelationKey(relOpts) {
166
175
  return relOpts.mappedBy;
167
176
  }
168
177
  function getRelationKeyMap(meta) {
169
- return getKeys(meta.fields)
170
- .concat(getKeys(meta.relations))
178
+ return (0, index_1.getKeys)(meta.fields)
179
+ .concat((0, index_1.getKeys)(meta.relations))
171
180
  .reduce((acc, key) => {
172
181
  acc[key] = key;
173
182
  return acc;
174
183
  }, {});
175
184
  }
176
185
  function getIdKey(meta) {
177
- const id = getKeys(meta.fields).find((key) => meta.fields[key]?.isId);
186
+ const id = (0, index_1.getKeys)(meta.fields).find((key) => meta.fields[key]?.isId);
178
187
  return id;
179
188
  }
180
189
  function extendMeta(target, source) {
@@ -200,7 +209,7 @@ function inferEntityType(entity, key) {
200
209
  }
201
210
  return inferredType;
202
211
  }
203
- export function isValidEntityType(type) {
212
+ function isValidEntityType(type) {
204
213
  return (typeof type === 'function' &&
205
214
  type !== Boolean &&
206
215
  type !== String &&
@@ -210,4 +219,5 @@ export function isValidEntityType(type) {
210
219
  type !== Symbol &&
211
220
  type !== Object);
212
221
  }
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnRpdHkvZGVjb3JhdG9yL2RlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQWExQixPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFL0UsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDO0FBQzFCLE1BQU0sT0FBTyxHQUFHLDRCQUE0QixDQUFDO0FBQzdDLE1BQU0sS0FBSyxHQUFvQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUM1RSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBRXhCLE1BQU0sVUFBVSxXQUFXLENBQUksTUFBZSxFQUFFLEdBQVcsRUFBRSxPQUFxQixFQUFFO0lBQ2xGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNkLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDMUI7SUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUN0RSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFJLE1BQWUsRUFBRSxHQUFXLEVBQUUsSUFBa0I7SUFDMUUsTUFBTSxJQUFJLEdBQUcsVUFBVSxD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cG9ydCB7XG4gIFJlbGF0aW9uT3B0aW9ucyxcbiAgRmllbGRPcHRpb25zLFxuICBFbnRpdHlPcHRpb25zLFxuICBFbnRpdHlNZXRhLFxuICBUeXBlLFxuICBSZWxhdGlvbktleU1hcCxcbiAgUmVsYXRpb25LZXksXG4gIEtleSxcbiAgRmllbGRLZXksXG4gIElkS2V5LFxufSBmcm9tICcuLi8uLi90eXBlL2luZGV4LmpzJztcbmltcG9ydCB7IGhhc0tleXMsIGxvd2VyRmlyc3QsIGdldEtleXMsIHVwcGVyRmlyc3QgfSBmcm9tICcuLi8uLi91dGlsL2luZGV4LmpzJztcblxuY29uc3QgaG9sZGVyID0gZ2xvYmFsVGhpcztcbmNvbnN0IG1ldGFLZXkgPSAnQHVxbC9jb3JlL2VudGl0eS9kZWNvcmF0b3InO1xuY29uc3QgbWV0YXM6IE1hcDxUeXBlPGFueT4sIEVudGl0eU1ldGE8YW55Pj4gPSBob2xkZXJbbWV0YUtleV0gPz8gbmV3IE1hcCgpO1xuaG9sZGVyW21ldGFLZXldID0gbWV0YXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVGaWVsZDxFPihlbnRpdHk6IFR5cGU8RT4sIGtleTogc3RyaW5nLCBvcHRzOiBGaWVsZE9wdGlvbnMgPSB7fSk6IEVudGl0eU1ldGE8RT4ge1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YShlbnRpdHkpO1xuICBpZiAoIW9wdHMudHlwZSkge1xuICAgIGNvbnN0IHR5cGUgPSBpbmZlclR5cGUoZW50aXR5LCBrZXkpO1xuICAgIG9wdHMgPSB7IC4uLm9wdHMsIHR5cGUgfTtcbiAgfVxuICBtZXRhLmZpZWxkc1trZXldID0geyAuLi5tZXRhLmZpZWxkc1trZXldLCAuLi57IG5hbWU6IGtleSwgLi4ub3B0cyB9IH07XG4gIHJldHVybiBtZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lSWQ8RT4oZW50aXR5OiBUeXBlPEU+LCBrZXk6IHN0cmluZywgb3B0czogRmllbGRPcHRpb25zKTogRW50aXR5TWV0YTxFPiB7XG4gIGNvbnN0IG1ldGEgPSBlbnN1cmVNZXRhKGVudGl0eSk7XG4gIGNvbnN0IGlkID0gZ2V0SWRLZXkobWV0YSk7XG4gIGlmIChpZCkge1xuICAgIHRocm93IFR5cGVFcnJvcihgJyR7ZW50aXR5Lm5hbWV9JyBtdXN0IGhhdmUgYSBzaW5nbGUgZmllbGQgZGVjb3JhdGVkIHdpdGggQElkYCk7XG4gIH1cbiAgcmV0dXJuIGRlZmluZUZpZWxkKGVudGl0eSwga2V5LCB7IC4uLm9wdHMsIGlzSWQ6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVSZWxhdGlvbjxFPihlbnRpdHk6IFR5cGU8RT4sIGtleTogc3RyaW5nLCBvcHRzOiBSZWxhdGlvbk9wdGlvbnM8RT4pOiBFbnRpdHlNZXRhPEU+IHtcbiAgaWYgKCFvcHRzLmVudGl0eSkge1xuICAgIGNvbnN0IGluZmVycmVkVHlwZSA9IGluZmVyRW50aXR5VHlwZShlbnRpdHksIGtleSk7XG4gICAgb3B0cy5lbnRpdHkgPSAoKSA9PiBpbmZlcnJlZFR5cGU7XG4gIH1cbiAgY29uc3QgbWV0YSA9IGVuc3VyZU1ldGEoZW50aXR5KTtcbiAgbWV0YS5yZWxhdGlvbnNba2V5XSA9IHsgLi4ubWV0YS5yZWxhdGlvbnNba2V5XSwgLi4ub3B0cyB9O1xuICByZXR1cm4gbWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUVudGl0eTxFPihlbnRpdHk6IFR5cGU8RT4sIG9wdHM6IEVudGl0eU9wdGlvbnMgPSB7fSk6IEVudGl0eU1ldGE8RT4ge1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YShlbnRpdHkpO1xuXG4gIGlmICghaGFzS2V5cyhtZXRhLmZpZWxkcykpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IoYCcke2VudGl0eS5uYW1lfScgbXVzdCBoYXZlIGZpZWxkc2ApO1xuICB9XG5cbiAgY29uc3Qgb25EZWxldGVLZXlzID0gZ2V0S2V5cyhtZXRhLmZpZWxkcykuZmlsdGVyKChrZXkpID0+IG1ldGEuZmllbGRzW2tleV0ub25EZWxldGUpIGFzIEZpZWxkS2V5PEU+W107XG5cbiAgaWYgKG9uRGVsZXRlS2V5cy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKGAnJHtlbnRpdHkubmFtZX0nIG11c3QgaGF2ZSBvbmUgZmllbGQgd2l0aCAnb25EZWxldGUnIGFzIG1heGltdW1gKTtcbiAgfVxuXG4gIGlmIChvcHRzLnNvZnREZWxldGUpIHtcbiAgICBpZiAoIW9uRGVsZXRlS2V5cy5sZW5ndGgpIHtcbiAgICAgIHRocm93IFR5cGVFcnJvcihgJyR7ZW50aXR5Lm5hbWV9JyBtdXN0IGhhdmUgb25lIGZpZWxkIHdpdGggJ29uRGVsZXRlJyB0byBlbmFibGUgJ3NvZnREZWxldGUnYCk7XG4gICAgfVxuICAgIG1ldGEuc29mdERlbGV0ZSA9IG9uRGVsZXRlS2V5c1swXTtcbiAgfVxuXG4gIG1ldGEubmFtZSA9IG9wdHMubmFtZSA/PyBlbnRpdHkubmFtZTtcbiAgbGV0IHByb3RvOiBGdW5jdGlvbkNvbnN0cnVjdG9yID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGVudGl0eS5wcm90b3R5cGUpO1xuXG4gIHdoaWxlIChwcm90by5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7XG4gICAgY29uc3QgcGFyZW50TWV0YSA9IGVuc3VyZU1ldGEocHJvdG8uY29uc3RydWN0b3IgYXMgVHlwZTxFPik7XG4gICAgZXh0ZW5kTWV0YShtZXRhLCBwYXJlbnRNZXRhKTtcbiAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG4gIH1cblxuICBjb25zdCBpZCA9IGdldElkS2V5KG1ldGEpO1xuICBpZiAoIWlkKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKGAnJHtlbnRpdHkubmFtZX0nIG11c3QgaGF2ZSBvbmUgZmllbGQgZGVjb3JhdGVkIHdpdGggQElkYCk7XG4gIH1cbiAgbWV0YS5pZCA9IGlkO1xuXG4gIHJldHVybiBtZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXRpZXMoKTogVHlwZTxhbnk+W10ge1xuICByZXR1cm4gWy4uLm1ldGFzLmVudHJpZXMoKV0ucmVkdWNlKChhY2MsIFtrZXksIHZhbF0pID0+IHtcbiAgICBpZiAodmFsLmlkKSB7XG4gICAgICBhY2MucHVzaChrZXkpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbmZ1bmN0aW9uIGVuc3VyZU1ldGE8RT4oZW50aXR5OiBUeXBlPEU+KTogRW50aXR5TWV0YTxFPiB7XG4gIGxldCBtZXRhID0gbWV0YXMuZ2V0KGVudGl0eSk7XG4gIGlmIChtZXRhKSB7XG4gICAgcmV0dXJuIG1ldGE7XG4gIH1cbiAgbWV0YSA9IHsgZW50aXR5LCBmaWVsZHM6IHt9LCByZWxhdGlvbnM6IHt9IH07XG4gIG1ldGFzLnNldChlbnRpdHksIG1ldGEpO1xuICByZXR1cm4gbWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGE8RT4oZW50aXR5OiBUeXBlPEU+KTogRW50aXR5TWV0YTxFPiB7XG4gIGNvbnN0IG1ldGEgPSBtZXRhcy5nZXQoZW50aXR5KTtcbiAgaWYgKCFtZXRhKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKGAnJHtlbnRpdHkubmFtZX0nIGlzIG5vdCBhbiBlbnRpdHlgKTtcbiAgfVxuICBpZiAobWV0YS5wcm9jZXNzZWQpIHtcbiAgICByZXR1cm4gbWV0YTtcbiAgfVxuICBtZXRhLnByb2Nlc3NlZCA9IHRydWU7XG4gIHJldHVybiBmaWxsUmVsYXRpb25zKG1ldGEpO1xufVxuXG5mdW5jdGlvbiBmaWxsUmVsYXRpb25zPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4pOiBFbnRpdHlNZXRhPEU+IHtcbiAgZm9yIChjb25zdCByZWxLZXkgaW4gbWV0YS5yZWxhdGlvbnMpIHtcbiAgICBjb25zdCByZWxPcHRzID0gbWV0YS5yZWxhdGlvbnNbcmVsS2V5IGFzIFJlbGF0aW9uS2V5PEU+XTtcblxuICAgIGlmIChyZWxPcHRzLnJlZmVyZW5jZXMpIHtcbiAgICAgIC8vIHJlZmVyZW5jZXMgd2VyZSBtYW51YWxseSBzcGVjaWZpZWRcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChyZWxPcHRzLm1hcHBlZEJ5KSB7XG4gICAgICBmaWxsSW52ZXJzZVNpZGVSZWxhdGlvbnMocmVsT3B0cyk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxFbnRpdHkgPSByZWxPcHRzLmVudGl0eSgpO1xuICAgIGNvbnN0IHJlbE1ldGEgPSBlbnN1cmVNZXRhKHJlbEVudGl0eSk7XG5cbiAgICBpZiAocmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ21tJykge1xuICAgICAgY29uc3QgaWROYW1lID0gbWV0YS5maWVsZHNbbWV0YS5pZF0ubmFtZTtcbiAgICAgIGNvbnN0IHJlbElkTmFtZSA9IHJlbE1ldGEuZmllbGRzW3JlbE1ldGEuaWRdLm5hbWU7XG4gICAgICBjb25zdCBzb3VyY2UgPSBsb3dlckZpcnN0KG1ldGEubmFtZSkgKyB1cHBlckZpcnN0KGlkTmFtZSk7XG4gICAgICBjb25zdCB0YXJnZXQgPSBsb3dlckZpcnN0KHJlbE1ldGEubmFtZSkgKyB1cHBlckZpcnN0KHJlbElkTmFtZSk7XG4gICAgICByZWxPcHRzLnJlZmVyZW5jZXMgPSBbXG4gICAgICAgIHsgbG9jYWw6IHNvdXJjZSwgZm9yZWlnbjogbWV0YS5pZCB9LFxuICAgICAgICB7IGxvY2FsOiB0YXJnZXQsIGZvcmVpZ246IHJlbE1ldGEuaWQgfSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbE9wdHMucmVmZXJlbmNlcyA9IFt7IGxvY2FsOiBgJHtyZWxLZXl9SWRgLCBmb3JlaWduOiByZWxNZXRhLmlkIH1dO1xuICAgIH1cblxuICAgIGlmIChyZWxPcHRzLnRocm91Z2gpIHtcbiAgICAgIGZpbGxUaHJvdWdoUmVsYXRpb25zKHJlbE9wdHMudGhyb3VnaCgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YTtcbn1cblxuZnVuY3Rpb24gZmlsbEludmVyc2VTaWRlUmVsYXRpb25zPEU+KHJlbE9wdHM6IFJlbGF0aW9uT3B0aW9uczxFPik6IHZvaWQge1xuICBjb25zdCByZWxFbnRpdHkgPSByZWxPcHRzLmVudGl0eSgpO1xuICBjb25zdCByZWxNZXRhID0gZ2V0TWV0YShyZWxFbnRpdHkpO1xuICByZWxPcHRzLm1hcHBlZEJ5ID0gZ2V0TWFwcGVkQnlSZWxhdGlvbktleShyZWxPcHRzKTtcblxuICBpZiAocmVsTWV0YS5maWVsZHNbcmVsT3B0cy5tYXBwZWRCeSBhcyBGaWVsZEtleTxFPl0pIHtcbiAgICByZWxPcHRzLnJlZmVyZW5jZXMgPSBbeyBsb2NhbDogcmVsTWV0YS5pZCwgZm9yZWlnbjogcmVsT3B0cy5tYXBwZWRCeSB9XTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtYXBwZWRCeVJlbGF0aW9uID0gcmVsTWV0YS5yZWxhdGlvbnNbcmVsT3B0cy5tYXBwZWRCeSBhcyBSZWxhdGlvbktleTxFPl07XG5cbiAgaWYgKHJlbE9wdHMuY2FyZGluYWxpdHkgPT09ICdtMScgfHwgcmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ21tJykge1xuICAgIHJlbE9wdHMucmVmZXJlbmNlcyA9IG1hcHBlZEJ5UmVsYXRpb24ucmVmZXJlbmNlcy5zbGljZSgpLnJldmVyc2UoKTtcbiAgICByZWxPcHRzLnRocm91Z2ggPSBtYXBwZWRCeVJlbGF0aW9uLnRocm91Z2g7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVsT3B0cy5yZWZlcmVuY2VzID0gbWFwcGVkQnlSZWxhdGlvbi5yZWZlcmVuY2VzLm1hcCgoeyBsb2NhbCwgZm9yZWlnbiB9KSA9PiAoe1xuICAgIGxvY2FsOiBmb3JlaWduLFxuICAgIGZvcmVpZ246IGxvY2FsLFxuICB9KSk7XG59XG5cbmZ1bmN0aW9uIGZpbGxUaHJvdWdoUmVsYXRpb25zPEU+KGVudGl0eTogVHlwZTxFPik6IHZvaWQge1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YShlbnRpdHkpO1xuICBtZXRhLnJlbGF0aW9ucyA9IGdldEtleXMobWV0YS5maWVsZHMpLnJlZHVjZSgocmVsYXRpb25zLCBrZXkpID0+IHtcbiAgICBjb25zdCB7IHJlZmVyZW5jZSB9ID0gbWV0YS5maWVsZHNba2V5IGFzIEZpZWxkS2V5PEU+XTtcbiAgICBpZiAocmVmZXJlbmNlKSB7XG4gICAgICBjb25zdCByZWxFbnRpdHkgPSByZWZlcmVuY2UoKTtcbiAgICAgIGNvbnN0IHJlbE1ldGEgPSBlbnN1cmVNZXRhKHJlbEVudGl0eSk7XG4gICAgICBjb25zdCByZWxLZXkgPSBrZXkuc2xpY2UoMCwgLXJlbE1ldGEuaWQubGVuZ3RoKTtcbiAgICAgIGNvbnN0IHJlbE9wdHM6IFJlbGF0aW9uT3B0aW9ucyA9IHtcbiAgICAgICAgZW50aXR5OiByZWZlcmVuY2UsXG4gICAgICAgIGNhcmRpbmFsaXR5OiAnbTEnLFxuICAgICAgICByZWZlcmVuY2VzOiBbeyBsb2NhbDoga2V5LCBmb3JlaWduOiByZWxNZXRhLmlkIH1dLFxuICAgICAgfTtcbiAgICAgIHJlbGF0aW9uc1tyZWxLZXldID0gcmVsT3B0cztcbiAgICB9XG4gICAgcmV0dXJuIHJlbGF0aW9ucztcbiAgfSwge30pO1xufVxuXG5mdW5jdGlvbiBnZXRNYXBwZWRCeVJlbGF0aW9uS2V5PEU+KHJlbE9wdHM6IFJlbGF0aW9uT3B0aW9uczxFPik6IEtleTxFPiB7XG4gIGlmICh0eXBlb2YgcmVsT3B0cy5tYXBwZWRCeSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNvbnN0IHJlbEVudGl0eSA9IHJlbE9wdHMuZW50aXR5KCk7XG4gICAgY29uc3QgcmVsTWV0YSA9IGVuc3VyZU1ldGEocmVsRW50aXR5KTtcbiAgICBjb25zdCBrZXlNYXAgPSBnZXRSZWxhdGlvbktleU1hcChyZWxNZXRhKTtcbiAgICByZXR1cm4gcmVsT3B0cy5tYXBwZWRCeShrZXlNYXApO1xuICB9XG4gIHJldHVybiByZWxPcHRzLm1hcHBlZEJ5O1xufVxuXG5mdW5jdGlvbiBnZXRSZWxhdGlvbktleU1hcDxFPihtZXRhOiBFbnRpdHlNZXRhPEU+KTogUmVsYXRpb25LZXlNYXA8RT4ge1xuICByZXR1cm4gZ2V0S2V5cyhtZXRhLmZpZWxkcylcbiAgICAuY29uY2F0KGdldEtleXMobWV0YS5yZWxhdGlvbnMpKVxuICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBhY2Nba2V5XSA9IGtleTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgUmVsYXRpb25LZXlNYXA8RT4pO1xufVxuXG5mdW5jdGlvbiBnZXRJZEtleTxFPihtZXRhOiBFbnRpdHlNZXRhPEU+KTogSWRLZXk8RT4ge1xuICBjb25zdCBpZCA9IGdldEtleXMobWV0YS5maWVsZHMpLmZpbmQoKGtleSkgPT4gbWV0YS5maWVsZHNba2V5XT8uaXNJZCk7XG4gIHJldHVybiBpZCBhcyBJZEtleTxFPjtcbn1cblxuZnVuY3Rpb24gZXh0ZW5kTWV0YTxFPih0YXJnZXQ6IEVudGl0eU1ldGE8RT4sIHNvdXJjZTogRW50aXR5TWV0YTxFPik6IHZvaWQge1xuICBjb25zdCBzb3VyY2VGaWVsZHMgPSB7IC4uLnNvdXJjZS5maWVsZHMgfTtcbiAgY29uc3QgdGFyZ2V0SWQgPSBnZXRJZEtleSh0YXJnZXQpO1xuICBpZiAodGFyZ2V0SWQpIHtcbiAgICBjb25zdCBzb3VyY2VJZCA9IGdldElkS2V5KHNvdXJjZSk7XG4gICAgaWYgKHNvdXJjZUlkKSB7XG4gICAgICBkZWxldGUgc291cmNlRmllbGRzW3NvdXJjZUlkXTtcbiAgICB9XG4gIH1cbiAgdGFyZ2V0LmZpZWxkcyA9IHsgLi4uc291cmNlRmllbGRzLCAuLi50YXJnZXQuZmllbGRzIH07XG4gIHRhcmdldC5yZWxhdGlvbnMgPSB7IC4uLnNvdXJjZS5yZWxhdGlvbnMsIC4uLnRhcmdldC5yZWxhdGlvbnMgfTtcbn1cblxuZnVuY3Rpb24gaW5mZXJUeXBlPEU+KGVudGl0eTogVHlwZTxFPiwga2V5OiBzdHJpbmcpOiBhbnkge1xuICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YSgnZGVzaWduOnR5cGUnLCBlbnRpdHkucHJvdG90eXBlLCBrZXkpO1xufVxuXG5mdW5jdGlvbiBpbmZlckVudGl0eVR5cGU8RT4oZW50aXR5OiBUeXBlPEU+LCBrZXk6IHN0cmluZyk6IFR5cGU8YW55PiB7XG4gIGNvbnN0IGluZmVycmVkVHlwZSA9IGluZmVyVHlwZShlbnRpdHksIGtleSk7XG4gIGNvbnN0IGlzVmFsaWRUeXBlID0gaXNWYWxpZEVudGl0eVR5cGUoaW5mZXJyZWRUeXBlKTtcbiAgaWYgKCFpc1ZhbGlkVHlwZSkge1xuICAgIHRocm93IFR5cGVFcnJvcihgJyR7ZW50aXR5Lm5hbWV9LiR7a2V5fScgdHlwZSB3YXMgYXV0by1pbmZlcnJlZCB3aXRoIGludmFsaWQgdHlwZSAnJHtpbmZlcnJlZFR5cGU/Lm5hbWV9J2ApO1xuICB9XG4gIHJldHVybiBpbmZlcnJlZFR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRW50aXR5VHlwZSh0eXBlOiBhbnkpOiB0eXBlIGlzIFR5cGU8YW55PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlICE9PSBCb29sZWFuICYmXG4gICAgdHlwZSAhPT0gU3RyaW5nICYmXG4gICAgdHlwZSAhPT0gTnVtYmVyICYmXG4gICAgdHlwZSAhPT0gQmlnSW50ICYmXG4gICAgdHlwZSAhPT0gRGF0ZSAmJlxuICAgIHR5cGUgIT09IFN5bWJvbCAmJlxuICAgIHR5cGUgIT09IE9iamVjdFxuICApO1xufVxuIl19
222
+ exports.isValidEntityType = isValidEntityType;
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnRpdHkvZGVjb3JhdG9yL2RlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEJBQTBCO0FBRTFCLDRDQUE0RTtBQUU1RSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUM7QUFDMUIsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLENBQUM7QUFDN0MsTUFBTSxLQUFLLEdBQW9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7QUFFeEIsU0FBZ0IsV0FBVyxDQUFJLE1BQWUsRUFBRSxHQUFXLEVBQUUsT0FBcUIsRUFBRTtJQUNsRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDZCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQzFCO0lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUM7SUFDdEUsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBUkQsa0NBUUM7QUFFRCxTQUFnQixRQUFRLENBQUksTUFBZSxFQUFFLEdBQVcsRUFBRSxJQUFrQjtJQUMxRSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFD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dGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuaW1wb3J0IHsgUmVsYXRpb25PcHRpb25zLCBGaWVsZE9wdGlvbnMsIEVudGl0eU9wdGlvbnMsIEVudGl0eU1ldGEsIFR5cGUsIFJlbGF0aW9uS2V5TWFwLCBSZWxhdGlvbktleSwgS2V5LCBGaWVsZEtleSwgSWRLZXkgfSBmcm9tICcuLi8uLi90eXBlJztcbmltcG9ydCB7IGhhc0tleXMsIGxvd2VyRmlyc3QsIGdldEtleXMsIHVwcGVyRmlyc3QgfSBmcm9tICcuLi8uLi91dGlsL2luZGV4JztcblxuY29uc3QgaG9sZGVyID0gZ2xvYmFsVGhpcztcbmNvbnN0IG1ldGFLZXkgPSAnQHVxbC9jb3JlL2VudGl0eS9kZWNvcmF0b3InO1xuY29uc3QgbWV0YXM6IE1hcDxUeXBlPGFueT4sIEVudGl0eU1ldGE8YW55Pj4gPSBob2xkZXJbbWV0YUtleV0gPz8gbmV3IE1hcCgpO1xuaG9sZGVyW21ldGFLZXldID0gbWV0YXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVGaWVsZDxFPihlbnRpdHk6IFR5cGU8RT4sIGtleTogc3RyaW5nLCBvcHRzOiBGaWVsZE9wdGlvbnMgPSB7fSk6IEVudGl0eU1ldGE8RT4ge1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YShlbnRpdHkpO1xuICBpZiAoIW9wdHMudHlwZSkge1xuICAgIGNvbnN0IHR5cGUgPSBpbmZlclR5cGUoZW50aXR5LCBrZXkpO1xuICAgIG9wdHMgPSB7IC4uLm9wdHMsIHR5cGUgfTtcbiAgfVxuICBtZXRhLmZpZWxkc1trZXldID0geyAuLi5tZXRhLmZpZWxkc1trZXldLCAuLi57IG5hbWU6IGtleSwgLi4ub3B0cyB9IH07XG4gIHJldHVybiBtZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lSWQ8RT4oZW50aXR5OiBUeXBlPEU+LCBrZXk6IHN0cmluZywgb3B0czogRmllbGRPcHRpb25zKTogRW50aXR5TWV0YTxFPiB7XG4gIGNvbnN0IG1ldGEgPSBlbnN1cmVNZXRhKGVudGl0eSk7XG4gIGNvbnN0IGlkID0gZ2V0SWRLZXkobWV0YSk7XG4gIGlmIChpZCkge1xuICAgIHRocm93IFR5cGVFcnJvcihgJyR7ZW50aXR5Lm5hbWV9JyBtdXN0IGhhdmUgYSBzaW5nbGUgZmllbGQgZGVjb3JhdGVkIHdpdGggQElkYCk7XG4gIH1cbiAgcmV0dXJuIGRlZmluZUZpZWxkKGVudGl0eSwga2V5LCB7IC4uLm9wdHMsIGlzSWQ6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVSZWxhdGlvbjxFPihlbnRpdHk6IFR5cGU8RT4sIGtleTogc3RyaW5nLCBvcHRzOiBSZWxhdGlvbk9wdGlvbnM8RT4pOiBFbnRpdHlNZXRhPEU+IHtcbiAgaWYgKCFvcHRzLmVudGl0eSkge1xuICAgIGNvbnN0IGluZmVycmVkVHlwZSA9IGluZmVyRW50aXR5VHlwZShlbnRpdHksIGtleSk7XG4gICAgb3B0cy5lbnRpdHkgPSAoKSA9PiBpbmZlcnJlZFR5cGU7XG4gIH1cbiAgY29uc3QgbWV0YSA9IGVuc3VyZU1ldGEoZW50aXR5KTtcbiAgbWV0YS5yZWxhdGlvbnNba2V5XSA9IHsgLi4ubWV0YS5yZWxhdGlvbnNba2V5XSwgLi4ub3B0cyB9O1xuICByZXR1cm4gbWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUVudGl0eTxFPihlbnRpdHk6IFR5cGU8RT4sIG9wdHM6IEVudGl0eU9wdGlvbnMgPSB7fSk6IEVudGl0eU1ldGE8RT4ge1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YShlbnRpdHkpO1xuXG4gIGlmICghaGFzS2V5cyhtZXRhLmZpZWxkcykpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IoYCcke2VudGl0eS5uYW1lfScgbXVzdCBoYXZlIGZpZWxkc2ApO1xuICB9XG5cbiAgY29uc3Qgb25EZWxldGVLZXlzID0gZ2V0S2V5cyhtZXRhLmZpZWxkcykuZmlsdGVyKChrZXkpID0+IG1ldGEuZmllbGRzW2tleV0ub25EZWxldGUpIGFzIEZpZWxkS2V5PEU+W107XG5cbiAgaWYgKG9uRGVsZXRlS2V5cy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKGAnJHtlbnRpdHkubmFtZX0nIG11c3QgaGF2ZSBvbmUgZmllbGQgd2l0aCAnb25EZWxldGUnIGFzIG1heGltdW1gKTtcbiAgfVxuXG4gIGlmIChvcHRzLnNvZnREZWxldGUpIHtcbiAgICBpZiAoIW9uRGVsZXRlS2V5cy5sZW5ndGgpIHtcbiAgICAgIHRocm93IFR5cGVFcnJvcihgJyR7ZW50aXR5Lm5hbWV9JyBtdXN0IGhhdmUgb25lIGZpZWxkIHdpdGggJ29uRGVsZXRlJyB0byBlbmFibGUgJ3NvZnREZWxldGUnYCk7XG4gICAgfVxuICAgIG1ldGEuc29mdERlbGV0ZSA9IG9uRGVsZXRlS2V5c1swXTtcbiAgfVxuXG4gIG1ldGEubmFtZSA9IG9wdHMubmFtZSA/PyBlbnRpdHkubmFtZTtcbiAgbGV0IHByb3RvOiBGdW5jdGlvbkNvbnN0cnVjdG9yID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGVudGl0eS5wcm90b3R5cGUpO1xuXG4gIHdoaWxlIChwcm90by5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7XG4gICAgY29uc3QgcGFyZW50TWV0YSA9IGVuc3VyZU1ldGEocHJvdG8uY29uc3RydWN0b3IgYXMgVHlwZTxFPik7XG4gICAgZXh0ZW5kTWV0YShtZXRhLCBwYXJlbnRNZXRhKTtcbiAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG4gIH1cblxuICBjb25zdCBpZCA9IGdldElkS2V5KG1ldGEpO1xuICBpZiAoIWlkKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKGAnJHtlbnRpdHkubmFtZX0nIG11c3QgaGF2ZSBvbmUgZmllbGQgZGVjb3JhdGVkIHdpdGggQElkYCk7XG4gIH1cbiAgbWV0YS5pZCA9IGlkO1xuXG4gIHJldHVybiBtZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXRpZXMoKTogVHlwZTxhbnk+W10ge1xuICByZXR1cm4gWy4uLm1ldGFzLmVudHJpZXMoKV0ucmVkdWNlKChhY2MsIFtrZXksIHZhbF0pID0+IHtcbiAgICBpZiAodmFsLmlkKSB7XG4gICAgICBhY2MucHVzaChrZXkpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbmZ1bmN0aW9uIGVuc3VyZU1ldGE8RT4oZW50aXR5OiBUeXBlPEU+KTogRW50aXR5TWV0YTxFPiB7XG4gIGxldCBtZXRhID0gbWV0YXMuZ2V0KGVudGl0eSk7XG4gIGlmIChtZXRhKSB7XG4gICAgcmV0dXJuIG1ldGE7XG4gIH1cbiAgbWV0YSA9IHsgZW50aXR5LCBmaWVsZHM6IHt9LCByZWxhdGlvbnM6IHt9IH07XG4gIG1ldGFzLnNldChlbnRpdHksIG1ldGEpO1xuICByZXR1cm4gbWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGE8RT4oZW50aXR5OiBUeXBlPEU+KTogRW50aXR5TWV0YTxFPiB7XG4gIGNvbnN0IG1ldGEgPSBtZXRhcy5nZXQoZW50aXR5KTtcbiAgaWYgKCFtZXRhKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKGAnJHtlbnRpdHkubmFtZX0nIGlzIG5vdCBhbiBlbnRpdHlgKTtcbiAgfVxuICBpZiAobWV0YS5wcm9jZXNzZWQpIHtcbiAgICByZXR1cm4gbWV0YTtcbiAgfVxuICBtZXRhLnByb2Nlc3NlZCA9IHRydWU7XG4gIHJldHVybiBmaWxsUmVsYXRpb25zKG1ldGEpO1xufVxuXG5mdW5jdGlvbiBmaWxsUmVsYXRpb25zPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4pOiBFbnRpdHlNZXRhPEU+IHtcbiAgZm9yIChjb25zdCByZWxLZXkgaW4gbWV0YS5yZWxhdGlvbnMpIHtcbiAgICBjb25zdCByZWxPcHRzID0gbWV0YS5yZWxhdGlvbnNbcmVsS2V5IGFzIFJlbGF0aW9uS2V5PEU+XTtcblxuICAgIGlmIChyZWxPcHRzLnJlZmVyZW5jZXMpIHtcbiAgICAgIC8vIHJlZmVyZW5jZXMgd2VyZSBtYW51YWxseSBzcGVjaWZpZWRcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChyZWxPcHRzLm1hcHBlZEJ5KSB7XG4gICAgICBmaWxsSW52ZXJzZVNpZGVSZWxhdGlvbnMocmVsT3B0cyk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxFbnRpdHkgPSByZWxPcHRzLmVudGl0eSgpO1xuICAgIGNvbnN0IHJlbE1ldGEgPSBlbnN1cmVNZXRhKHJlbEVudGl0eSk7XG5cbiAgICBpZiAocmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ21tJykge1xuICAgICAgY29uc3QgaWROYW1lID0gbWV0YS5maWVsZHNbbWV0YS5pZF0ubmFtZTtcbiAgICAgIGNvbnN0IHJlbElkTmFtZSA9IHJlbE1ldGEuZmllbGRzW3JlbE1ldGEuaWRdLm5hbWU7XG4gICAgICBjb25zdCBzb3VyY2UgPSBsb3dlckZpcnN0KG1ldGEubmFtZSkgKyB1cHBlckZpcnN0KGlkTmFtZSk7XG4gICAgICBjb25zdCB0YXJnZXQgPSBsb3dlckZpcnN0KHJlbE1ldGEubmFtZSkgKyB1cHBlckZpcnN0KHJlbElkTmFtZSk7XG4gICAgICByZWxPcHRzLnJlZmVyZW5jZXMgPSBbXG4gICAgICAgIHsgbG9jYWw6IHNvdXJjZSwgZm9yZWlnbjogbWV0YS5pZCB9LFxuICAgICAgICB7IGxvY2FsOiB0YXJnZXQsIGZvcmVpZ246IHJlbE1ldGEuaWQgfSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbE9wdHMucmVmZXJlbmNlcyA9IFt7IGxvY2FsOiBgJHtyZWxLZXl9SWRgLCBmb3JlaWduOiByZWxNZXRhLmlkIH1dO1xuICAgIH1cblxuICAgIGlmIChyZWxPcHRzLnRocm91Z2gpIHtcbiAgICAgIGZpbGxUaHJvdWdoUmVsYXRpb25zKHJlbE9wdHMudGhyb3VnaCgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YTtcbn1cblxuZnVuY3Rpb24gZmlsbEludmVyc2VTaWRlUmVsYXRpb25zPEU+KHJlbE9wdHM6IFJlbGF0aW9uT3B0aW9uczxFPik6IHZvaWQge1xuICBjb25zdCByZWxFbnRpdHkgPSByZWxPcHRzLmVudGl0eSgpO1xuICBjb25zdCByZWxNZXRhID0gZ2V0TWV0YShyZWxFbnRpdHkpO1xuICByZWxPcHRzLm1hcHBlZEJ5ID0gZ2V0TWFwcGVkQnlSZWxhdGlvbktleShyZWxPcHRzKTtcblxuICBpZiAocmVsTWV0YS5maWVsZHNbcmVsT3B0cy5tYXBwZWRCeSBhcyBGaWVsZEtleTxFPl0pIHtcbiAgICByZWxPcHRzLnJlZmVyZW5jZXMgPSBbeyBsb2NhbDogcmVsTWV0YS5pZCwgZm9yZWlnbjogcmVsT3B0cy5tYXBwZWRCeSB9XTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtYXBwZWRCeVJlbGF0aW9uID0gcmVsTWV0YS5yZWxhdGlvbnNbcmVsT3B0cy5tYXBwZWRCeSBhcyBSZWxhdGlvbktleTxFPl07XG5cbiAgaWYgKHJlbE9wdHMuY2FyZGluYWxpdHkgPT09ICdtMScgfHwgcmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ21tJykge1xuICAgIHJlbE9wdHMucmVmZXJlbmNlcyA9IG1hcHBlZEJ5UmVsYXRpb24ucmVmZXJlbmNlcy5zbGljZSgpLnJldmVyc2UoKTtcbiAgICByZWxPcHRzLnRocm91Z2ggPSBtYXBwZWRCeVJlbGF0aW9uLnRocm91Z2g7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVsT3B0cy5yZWZlcmVuY2VzID0gbWFwcGVkQnlSZWxhdGlvbi5yZWZlcmVuY2VzLm1hcCgoeyBsb2NhbCwgZm9yZWlnbiB9KSA9PiAoe1xuICAgIGxvY2FsOiBmb3JlaWduLFxuICAgIGZvcmVpZ246IGxvY2FsLFxuICB9KSk7XG59XG5cbmZ1bmN0aW9uIGZpbGxUaHJvdWdoUmVsYXRpb25zPEU+KGVudGl0eTogVHlwZTxFPik6IHZvaWQge1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YShlbnRpdHkpO1xuICBtZXRhLnJlbGF0aW9ucyA9IGdldEtleXMobWV0YS5maWVsZHMpLnJlZHVjZSgocmVsYXRpb25zLCBrZXkpID0+IHtcbiAgICBjb25zdCB7IHJlZmVyZW5jZSB9ID0gbWV0YS5maWVsZHNba2V5IGFzIEZpZWxkS2V5PEU+XTtcbiAgICBpZiAocmVmZXJlbmNlKSB7XG4gICAgICBjb25zdCByZWxFbnRpdHkgPSByZWZlcmVuY2UoKTtcbiAgICAgIGNvbnN0IHJlbE1ldGEgPSBlbnN1cmVNZXRhKHJlbEVudGl0eSk7XG4gICAgICBjb25zdCByZWxLZXkgPSBrZXkuc2xpY2UoMCwgLXJlbE1ldGEuaWQubGVuZ3RoKTtcbiAgICAgIGNvbnN0IHJlbE9wdHM6IFJlbGF0aW9uT3B0aW9ucyA9IHtcbiAgICAgICAgZW50aXR5OiByZWZlcmVuY2UsXG4gICAgICAgIGNhcmRpbmFsaXR5OiAnbTEnLFxuICAgICAgICByZWZlcmVuY2VzOiBbeyBsb2NhbDoga2V5LCBmb3JlaWduOiByZWxNZXRhLmlkIH1dLFxuICAgICAgfTtcbiAgICAgIHJlbGF0aW9uc1tyZWxLZXldID0gcmVsT3B0cztcbiAgICB9XG4gICAgcmV0dXJuIHJlbGF0aW9ucztcbiAgfSwge30pO1xufVxuXG5mdW5jdGlvbiBnZXRNYXBwZWRCeVJlbGF0aW9uS2V5PEU+KHJlbE9wdHM6IFJlbGF0aW9uT3B0aW9uczxFPik6IEtleTxFPiB7XG4gIGlmICh0eXBlb2YgcmVsT3B0cy5tYXBwZWRCeSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNvbnN0IHJlbEVudGl0eSA9IHJlbE9wdHMuZW50aXR5KCk7XG4gICAgY29uc3QgcmVsTWV0YSA9IGVuc3VyZU1ldGEocmVsRW50aXR5KTtcbiAgICBjb25zdCBrZXlNYXAgPSBnZXRSZWxhdGlvbktleU1hcChyZWxNZXRhKTtcbiAgICByZXR1cm4gcmVsT3B0cy5tYXBwZWRCeShrZXlNYXApO1xuICB9XG4gIHJldHVybiByZWxPcHRzLm1hcHBlZEJ5O1xufVxuXG5mdW5jdGlvbiBnZXRSZWxhdGlvbktleU1hcDxFPihtZXRhOiBFbnRpdHlNZXRhPEU+KTogUmVsYXRpb25LZXlNYXA8RT4ge1xuICByZXR1cm4gZ2V0S2V5cyhtZXRhLmZpZWxkcylcbiAgICAuY29uY2F0KGdldEtleXMobWV0YS5yZWxhdGlvbnMpKVxuICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBhY2Nba2V5XSA9IGtleTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgUmVsYXRpb25LZXlNYXA8RT4pO1xufVxuXG5mdW5jdGlvbiBnZXRJZEtleTxFPihtZXRhOiBFbnRpdHlNZXRhPEU+KTogSWRLZXk8RT4ge1xuICBjb25zdCBpZCA9IGdldEtleXMobWV0YS5maWVsZHMpLmZpbmQoKGtleSkgPT4gbWV0YS5maWVsZHNba2V5XT8uaXNJZCk7XG4gIHJldHVybiBpZCBhcyBJZEtleTxFPjtcbn1cblxuZnVuY3Rpb24gZXh0ZW5kTWV0YTxFPih0YXJnZXQ6IEVudGl0eU1ldGE8RT4sIHNvdXJjZTogRW50aXR5TWV0YTxFPik6IHZvaWQge1xuICBjb25zdCBzb3VyY2VGaWVsZHMgPSB7IC4uLnNvdXJjZS5maWVsZHMgfTtcbiAgY29uc3QgdGFyZ2V0SWQgPSBnZXRJZEtleSh0YXJnZXQpO1xuICBpZiAodGFyZ2V0SWQpIHtcbiAgICBjb25zdCBzb3VyY2VJZCA9IGdldElkS2V5KHNvdXJjZSk7XG4gICAgaWYgKHNvdXJjZUlkKSB7XG4gICAgICBkZWxldGUgc291cmNlRmllbGRzW3NvdXJjZUlkXTtcbiAgICB9XG4gIH1cbiAgdGFyZ2V0LmZpZWxkcyA9IHsgLi4uc291cmNlRmllbGRzLCAuLi50YXJnZXQuZmllbGRzIH07XG4gIHRhcmdldC5yZWxhdGlvbnMgPSB7IC4uLnNvdXJjZS5yZWxhdGlvbnMsIC4uLnRhcmdldC5yZWxhdGlvbnMgfTtcbn1cblxuZnVuY3Rpb24gaW5mZXJUeXBlPEU+KGVudGl0eTogVHlwZTxFPiwga2V5OiBzdHJpbmcpOiBhbnkge1xuICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YSgnZGVzaWduOnR5cGUnLCBlbnRpdHkucHJvdG90eXBlLCBrZXkpO1xufVxuXG5mdW5jdGlvbiBpbmZlckVudGl0eVR5cGU8RT4oZW50aXR5OiBUeXBlPEU+LCBrZXk6IHN0cmluZyk6IFR5cGU8YW55PiB7XG4gIGNvbnN0IGluZmVycmVkVHlwZSA9IGluZmVyVHlwZShlbnRpdHksIGtleSk7XG4gIGNvbnN0IGlzVmFsaWRUeXBlID0gaXNWYWxpZEVudGl0eVR5cGUoaW5mZXJyZWRUeXBlKTtcbiAgaWYgKCFpc1ZhbGlkVHlwZSkge1xuICAgIHRocm93IFR5cGVFcnJvcihgJyR7ZW50aXR5Lm5hbWV9LiR7a2V5fScgdHlwZSB3YXMgYXV0by1pbmZlcnJlZCB3aXRoIGludmFsaWQgdHlwZSAnJHtpbmZlcnJlZFR5cGU/Lm5hbWV9J2ApO1xuICB9XG4gIHJldHVybiBpbmZlcnJlZFR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRW50aXR5VHlwZSh0eXBlOiBhbnkpOiB0eXBlIGlzIFR5cGU8YW55PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlICE9PSBCb29sZWFuICYmXG4gICAgdHlwZSAhPT0gU3RyaW5nICYmXG4gICAgdHlwZSAhPT0gTnVtYmVyICYmXG4gICAgdHlwZSAhPT0gQmlnSW50ICYmXG4gICAgdHlwZSAhPT0gRGF0ZSAmJlxuICAgIHR5cGUgIT09IFN5bWJvbCAmJlxuICAgIHR5cGUgIT09IE9iamVjdFxuICApO1xufVxuIl19
@@ -1,2 +1,2 @@
1
- import { EntityOptions, Type } from '../../type/index.js';
1
+ import { EntityOptions, Type } from '../../type/index';
2
2
  export declare function Entity<E>(opts?: EntityOptions): (entity: Type<E>) => void;
@@ -1,7 +1,11 @@
1
- import { defineEntity } from './definition.js';
2
- export function Entity(opts) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Entity = void 0;
4
+ const definition_1 = require("./definition");
5
+ function Entity(opts) {
3
6
  return (entity) => {
4
- defineEntity(entity, opts);
7
+ (0, definition_1.defineEntity)(entity, opts);
5
8
  };
6
9
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VudGl0eS9kZWNvcmF0b3IvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLFVBQVUsTUFBTSxDQUFJLElBQW9CO0lBQzVDLE9BQU8sQ0FBQyxNQUFlLEVBQVEsRUFBRTtRQUMvQixZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlPcHRpb25zLCBUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZS9pbmRleC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVFbnRpdHkgfSBmcm9tICcuL2RlZmluaXRpb24uanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gRW50aXR5PEU+KG9wdHM/OiBFbnRpdHlPcHRpb25zKSB7XG4gIHJldHVybiAoZW50aXR5OiBUeXBlPEU+KTogdm9pZCA9PiB7XG4gICAgZGVmaW5lRW50aXR5KGVudGl0eSwgb3B0cyk7XG4gIH07XG59XG4iXX0=
10
+ exports.Entity = Entity;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VudGl0eS9kZWNvcmF0b3IvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDZDQUE0QztBQUU1QyxTQUFnQixNQUFNLENBQUksSUFBb0I7SUFDNUMsT0FBTyxDQUFDLE1BQWUsRUFBUSxFQUFFO1FBQy9CLElBQUEseUJBQVksRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUpELHdCQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5T3B0aW9ucywgVHlwZSB9IGZyb20gJy4uLy4uL3R5cGUvaW5kZXgnO1xuaW1wb3J0IHsgZGVmaW5lRW50aXR5IH0gZnJvbSAnLi9kZWZpbml0aW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIEVudGl0eTxFPihvcHRzPzogRW50aXR5T3B0aW9ucykge1xuICByZXR1cm4gKGVudGl0eTogVHlwZTxFPik6IHZvaWQgPT4ge1xuICAgIGRlZmluZUVudGl0eShlbnRpdHksIG9wdHMpO1xuICB9O1xufVxuIl19
@@ -1,2 +1,2 @@
1
- import { FieldOptions } from '../../type/index.js';
1
+ import { FieldOptions } from '../../type/index';
2
2
  export declare function Field<E>(opts?: FieldOptions): (target: object, key: string) => void;
@@ -1,8 +1,12 @@
1
- import { defineField } from './definition.js';
2
- export function Field(opts) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Field = void 0;
4
+ const definition_1 = require("./definition");
5
+ function Field(opts) {
3
6
  return (target, key) => {
4
7
  const entity = target.constructor;
5
- defineField(entity, key, opts);
8
+ (0, definition_1.defineField)(entity, key, opts);
6
9
  };
7
10
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxVQUFVLEtBQUssQ0FBSSxJQUFtQjtJQUMxQyxPQUFPLENBQUMsTUFBYyxFQUFFLEdBQVcsRUFBUSxFQUFFO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFzQixDQUFDO1FBQzdDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZE9wdGlvbnMsIFR5cGUgfSBmcm9tICcuLi8uLi90eXBlL2luZGV4LmpzJztcbmltcG9ydCB7IGRlZmluZUZpZWxkIH0gZnJvbSAnLi9kZWZpbml0aW9uLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIEZpZWxkPEU+KG9wdHM/OiBGaWVsZE9wdGlvbnMpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IG9iamVjdCwga2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBjb25zdCBlbnRpdHkgPSB0YXJnZXQuY29uc3RydWN0b3IgYXMgVHlwZTxFPjtcbiAgICBkZWZpbmVGaWVsZChlbnRpdHksIGtleSwgb3B0cyk7XG4gIH07XG59XG4iXX0=
11
+ exports.Field = Field;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBMkM7QUFFM0MsU0FBZ0IsS0FBSyxDQUFJLElBQW1CO0lBQzFDLE9BQU8sQ0FBQyxNQUFjLEVBQUUsR0FBVyxFQUFRLEVBQUU7UUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQXNCLENBQUM7UUFDN0MsSUFBQSx3QkFBVyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUxELHNCQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRPcHRpb25zLCBUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZS9pbmRleCc7XG5pbXBvcnQgeyBkZWZpbmVGaWVsZCB9IGZyb20gJy4vZGVmaW5pdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBGaWVsZDxFPihvcHRzPzogRmllbGRPcHRpb25zKSB7XG4gIHJldHVybiAodGFyZ2V0OiBvYmplY3QsIGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgY29uc3QgZW50aXR5ID0gdGFyZ2V0LmNvbnN0cnVjdG9yIGFzIFR5cGU8RT47XG4gICAgZGVmaW5lRmllbGQoZW50aXR5LCBrZXksIG9wdHMpO1xuICB9O1xufVxuIl19
@@ -1,2 +1,2 @@
1
- import { FieldOptions } from '../../type/index.js';
1
+ import { FieldOptions } from '../../type/index';
2
2
  export declare function Id<E>(opts?: Omit<FieldOptions, 'isId'>): (target: object, key: string) => void;
@@ -1,8 +1,12 @@
1
- import { defineId } from './definition.js';
2
- export function Id(opts) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Id = void 0;
4
+ const definition_1 = require("./definition");
5
+ function Id(opts) {
3
6
  return (target, key) => {
4
7
  const entity = target.constructor;
5
- defineId(entity, key, opts);
8
+ (0, definition_1.defineId)(entity, key, opts);
6
9
  };
7
10
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsTUFBTSxVQUFVLEVBQUUsQ0FBSSxJQUFpQztJQUNyRCxPQUFPLENBQUMsTUFBYyxFQUFFLEdBQVcsRUFBUSxFQUFFO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFzQixDQUFDO1FBQzdDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZE9wdGlvbnMsIFR5cGUgfSBmcm9tICcuLi8uLi90eXBlL2luZGV4LmpzJztcbmltcG9ydCB7IGRlZmluZUlkIH0gZnJvbSAnLi9kZWZpbml0aW9uLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIElkPEU+KG9wdHM/OiBPbWl0PEZpZWxkT3B0aW9ucywgJ2lzSWQnPikge1xuICByZXR1cm4gKHRhcmdldDogb2JqZWN0LCBrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGVudGl0eSA9IHRhcmdldC5jb25zdHJ1Y3RvciBhcyBUeXBlPEU+O1xuICAgIGRlZmluZUlkKGVudGl0eSwga2V5LCBvcHRzKTtcbiAgfTtcbn1cbiJdfQ==
11
+ exports.Id = Id;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBd0M7QUFFeEMsU0FBZ0IsRUFBRSxDQUFJLElBQWlDO0lBQ3JELE9BQU8sQ0FBQyxNQUFjLEVBQUUsR0FBVyxFQUFRLEVBQUU7UUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQXNCLENBQUM7UUFDN0MsSUFBQSxxQkFBUSxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUxELGdCQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRPcHRpb25zLCBUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZS9pbmRleCc7XG5pbXBvcnQgeyBkZWZpbmVJZCB9IGZyb20gJy4vZGVmaW5pdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBJZDxFPihvcHRzPzogT21pdDxGaWVsZE9wdGlvbnMsICdpc0lkJz4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IG9iamVjdCwga2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBjb25zdCBlbnRpdHkgPSB0YXJnZXQuY29uc3RydWN0b3IgYXMgVHlwZTxFPjtcbiAgICBkZWZpbmVJZChlbnRpdHksIGtleSwgb3B0cyk7XG4gIH07XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- export * from './entity.js';
2
- export * from './id.js';
3
- export * from './field.js';
4
- export * from './relation.js';
5
- export { getMeta, getEntities } from './definition.js';
1
+ export * from './entity';
2
+ export * from './id';
3
+ export * from './field';
4
+ export * from './relation';
5
+ export { getMeta, getEntities } from './definition';
@@ -1,6 +1,12 @@
1
- export * from './entity.js';
2
- export * from './id.js';
3
- export * from './field.js';
4
- export * from './relation.js';
5
- export { getMeta, getEntities } from './definition.js';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGVBQWUsQ0FBQztBQUM5QixPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9pZC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVsYXRpb24uanMnO1xuZXhwb3J0IHsgZ2V0TWV0YSwgZ2V0RW50aXRpZXMgfSBmcm9tICcuL2RlZmluaXRpb24uanMnO1xuIl19
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEntities = exports.getMeta = void 0;
4
+ const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./entity"), exports);
6
+ tslib_1.__exportStar(require("./id"), exports);
7
+ tslib_1.__exportStar(require("./field"), exports);
8
+ tslib_1.__exportStar(require("./relation"), exports);
9
+ var definition_1 = require("./definition");
10
+ Object.defineProperty(exports, "getMeta", { enumerable: true, get: function () { return definition_1.getMeta; } });
11
+ Object.defineProperty(exports, "getEntities", { enumerable: true, get: function () { return definition_1.getEntities; } });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbURBQXlCO0FBQ3pCLCtDQUFxQjtBQUNyQixrREFBd0I7QUFDeEIscURBQTJCO0FBQzNCLDJDQUFvRDtBQUEzQyxxR0FBQSxPQUFPLE9BQUE7QUFBRSx5R0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL2lkJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWxhdGlvbic7XG5leHBvcnQgeyBnZXRNZXRhLCBnZXRFbnRpdGllcyB9IGZyb20gJy4vZGVmaW5pdGlvbic7XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { RelationOptions, RelationOneToOneOptions, RelationOneToManyOptions, RelationManyToOneOptions, RelationManyToManyOptions } from '../../type/index.js';
1
+ import { RelationOptions, RelationOneToOneOptions, RelationOneToManyOptions, RelationManyToOneOptions, RelationManyToManyOptions } from '../../type';
2
2
  declare function Relation<E>(opts: RelationOptions<E>): (target: object, key: string) => void;
3
3
  declare type RelationReturn = ReturnType<typeof Relation>;
4
4
  export declare function OneToOne<E>(opts?: RelationOneToOneOptions<E>): RelationReturn;
@@ -1,20 +1,27 @@
1
- import { defineRelation } from './definition.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ManyToMany = exports.OneToMany = exports.ManyToOne = exports.OneToOne = void 0;
4
+ const definition_1 = require("./definition");
2
5
  function Relation(opts) {
3
6
  return (target, key) => {
4
7
  const entity = target.constructor;
5
- defineRelation(entity, key, opts);
8
+ (0, definition_1.defineRelation)(entity, key, opts);
6
9
  };
7
10
  }
8
- export function OneToOne(opts) {
11
+ function OneToOne(opts) {
9
12
  return Relation({ cardinality: '11', ...opts });
10
13
  }
11
- export function ManyToOne(opts) {
14
+ exports.OneToOne = OneToOne;
15
+ function ManyToOne(opts) {
12
16
  return Relation({ cardinality: 'm1', ...opts });
13
17
  }
14
- export function OneToMany(opts) {
18
+ exports.ManyToOne = ManyToOne;
19
+ function OneToMany(opts) {
15
20
  return Relation({ cardinality: '1m', ...opts });
16
21
  }
17
- export function ManyToMany(opts) {
22
+ exports.OneToMany = OneToMany;
23
+ function ManyToMany(opts) {
18
24
  return Relation({ cardinality: 'mm', ...opts });
19
25
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9yZWxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsU0FBUyxRQUFRLENBQUksSUFBd0I7SUFDM0MsT0FBTyxDQUFDLE1BQWMsRUFBRSxHQUFXLEVBQUUsRUFBRTtRQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBc0IsQ0FBQztRQUM3QyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBSUQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxJQUFpQztJQUMzRCxPQUFPLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFJLElBQWtDO0lBQzdELE9BQU8sUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUksSUFBaUM7SUFDNUQsT0FBTyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBSSxJQUFrQztJQUM5RCxPQUFPLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWxhdGlvbk9wdGlvbnMsXG4gIFJlbGF0aW9uT25lVG9PbmVPcHRpb25zLFxuICBSZWxhdGlvbk9uZVRvTWFueU9wdGlvbnMsXG4gIFJlbGF0aW9uTWFueVRvT25lT3B0aW9ucyxcbiAgUmVsYXRpb25NYW55VG9NYW55T3B0aW9ucyxcbiAgVHlwZSxcbn0gZnJvbSAnLi4vLi4vdHlwZS9pbmRleC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVSZWxhdGlvbiB9IGZyb20gJy4vZGVmaW5pdGlvbi5qcyc7XG5cbmZ1bmN0aW9uIFJlbGF0aW9uPEU+KG9wdHM6IFJlbGF0aW9uT3B0aW9uczxFPikge1xuICByZXR1cm4gKHRhcmdldDogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGVudGl0eSA9IHRhcmdldC5jb25zdHJ1Y3RvciBhcyBUeXBlPEU+O1xuICAgIGRlZmluZVJlbGF0aW9uKGVudGl0eSwga2V5LCBvcHRzKTtcbiAgfTtcbn1cblxudHlwZSBSZWxhdGlvblJldHVybiA9IFJldHVyblR5cGU8dHlwZW9mIFJlbGF0aW9uPjtcblxuZXhwb3J0IGZ1bmN0aW9uIE9uZVRvT25lPEU+KG9wdHM/OiBSZWxhdGlvbk9uZVRvT25lT3B0aW9uczxFPik6IFJlbGF0aW9uUmV0dXJuIHtcbiAgcmV0dXJuIFJlbGF0aW9uKHsgY2FyZGluYWxpdHk6ICcxMScsIC4uLm9wdHMgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNYW55VG9PbmU8RT4ob3B0cz86IFJlbGF0aW9uTWFueVRvT25lT3B0aW9uczxFPik6IFJlbGF0aW9uUmV0dXJuIHtcbiAgcmV0dXJuIFJlbGF0aW9uKHsgY2FyZGluYWxpdHk6ICdtMScsIC4uLm9wdHMgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBPbmVUb01hbnk8RT4ob3B0czogUmVsYXRpb25PbmVUb01hbnlPcHRpb25zPEU+KTogUmVsYXRpb25SZXR1cm4ge1xuICByZXR1cm4gUmVsYXRpb24oeyBjYXJkaW5hbGl0eTogJzFtJywgLi4ub3B0cyB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1hbnlUb01hbnk8RT4ob3B0czogUmVsYXRpb25NYW55VG9NYW55T3B0aW9uczxFPik6IFJlbGF0aW9uUmV0dXJuIHtcbiAgcmV0dXJuIFJlbGF0aW9uKHsgY2FyZGluYWxpdHk6ICdtbScsIC4uLm9wdHMgfSk7XG59XG4iXX0=
26
+ exports.ManyToMany = ManyToMany;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW50aXR5L2RlY29yYXRvci9yZWxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSw2Q0FBOEM7QUFFOUMsU0FBUyxRQUFRLENBQUksSUFBd0I7SUFDM0MsT0FBTyxDQUFDLE1BQWMsRUFBRSxHQUFXLEVBQUUsRUFBRTtRQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBc0IsQ0FBQztRQUM3QyxJQUFBLDJCQUFjLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBSUQsU0FBZ0IsUUFBUSxDQUFJLElBQWlDO0lBQzNELE9BQU8sUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUZELDRCQUVDO0FBRUQsU0FBZ0IsU0FBUyxDQUFJLElBQWtDO0lBQzdELE9BQU8sUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUZELDhCQUVDO0FBRUQsU0FBZ0IsU0FBUyxDQUFJLElBQWlDO0lBQzVELE9BQU8sUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUZELDhCQUVDO0FBRUQsU0FBZ0IsVUFBVSxDQUFJLElBQWtDO0lBQzlELE9BQU8sUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUZELGdDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUmVsYXRpb25PcHRpb25zLFxuICBSZWxhdGlvbk9uZVRvT25lT3B0aW9ucyxcbiAgUmVsYXRpb25PbmVUb01hbnlPcHRpb25zLFxuICBSZWxhdGlvbk1hbnlUb09uZU9wdGlvbnMsXG4gIFJlbGF0aW9uTWFueVRvTWFueU9wdGlvbnMsXG4gIFR5cGUsXG59IGZyb20gJy4uLy4uL3R5cGUnO1xuaW1wb3J0IHsgZGVmaW5lUmVsYXRpb24gfSBmcm9tICcuL2RlZmluaXRpb24nO1xuXG5mdW5jdGlvbiBSZWxhdGlvbjxFPihvcHRzOiBSZWxhdGlvbk9wdGlvbnM8RT4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IG9iamVjdCwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBlbnRpdHkgPSB0YXJnZXQuY29uc3RydWN0b3IgYXMgVHlwZTxFPjtcbiAgICBkZWZpbmVSZWxhdGlvbihlbnRpdHksIGtleSwgb3B0cyk7XG4gIH07XG59XG5cbnR5cGUgUmVsYXRpb25SZXR1cm4gPSBSZXR1cm5UeXBlPHR5cGVvZiBSZWxhdGlvbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBPbmVUb09uZTxFPihvcHRzPzogUmVsYXRpb25PbmVUb09uZU9wdGlvbnM8RT4pOiBSZWxhdGlvblJldHVybiB7XG4gIHJldHVybiBSZWxhdGlvbih7IGNhcmRpbmFsaXR5OiAnMTEnLCAuLi5vcHRzIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTWFueVRvT25lPEU+KG9wdHM/OiBSZWxhdGlvbk1hbnlUb09uZU9wdGlvbnM8RT4pOiBSZWxhdGlvblJldHVybiB7XG4gIHJldHVybiBSZWxhdGlvbih7IGNhcmRpbmFsaXR5OiAnbTEnLCAuLi5vcHRzIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gT25lVG9NYW55PEU+KG9wdHM6IFJlbGF0aW9uT25lVG9NYW55T3B0aW9uczxFPik6IFJlbGF0aW9uUmV0dXJuIHtcbiAgcmV0dXJuIFJlbGF0aW9uKHsgY2FyZGluYWxpdHk6ICcxbScsIC4uLm9wdHMgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNYW55VG9NYW55PEU+KG9wdHM6IFJlbGF0aW9uTWFueVRvTWFueU9wdGlvbnM8RT4pOiBSZWxhdGlvblJldHVybiB7XG4gIHJldHVybiBSZWxhdGlvbih7IGNhcmRpbmFsaXR5OiAnbW0nLCAuLi5vcHRzIH0pO1xufVxuIl19
package/entity/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './decorator/index.js';
1
+ export * from './decorator/index';
package/entity/index.js CHANGED
@@ -1,2 +1,5 @@
1
- export * from './decorator/index.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlY29yYXRvci9pbmRleC5qcyc7XG4iXX0=
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./decorator/index"), exports);
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9yL2luZGV4JztcbiJdfQ==
package/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './options.js';
1
+ export * from './options';
package/index.js CHANGED
@@ -1,2 +1,5 @@
1
- export * from './options.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29wdGlvbnMuanMnO1xuIl19
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./options"), exports);
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vcHRpb25zJztcbiJdfQ==
package/options.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Querier, QuerierPool, Repository, Type } from './type/index.js';
1
+ import { Querier, QuerierPool, Repository, Type } from './type/index';
2
2
  export declare function setDefaultQuerierPool<T extends QuerierPool = QuerierPool>(pool: T): void;
3
3
  export declare function getDefaultQuerierPool(): QuerierPool;
4
4
  export declare function getQuerier(): Promise<Querier>;
package/options.js CHANGED
@@ -1,18 +1,25 @@
1
- import { GenericRepository } from './repository/index.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRepository = exports.getQuerier = exports.getDefaultQuerierPool = exports.setDefaultQuerierPool = void 0;
4
+ const index_1 = require("./repository/index");
2
5
  let defaultPool;
3
- export function setDefaultQuerierPool(pool) {
6
+ function setDefaultQuerierPool(pool) {
4
7
  defaultPool = pool;
5
8
  }
6
- export function getDefaultQuerierPool() {
9
+ exports.setDefaultQuerierPool = setDefaultQuerierPool;
10
+ function getDefaultQuerierPool() {
7
11
  if (!defaultPool) {
8
12
  throw new TypeError('A default querier-pool has to be set first');
9
13
  }
10
14
  return defaultPool;
11
15
  }
12
- export function getQuerier() {
16
+ exports.getDefaultQuerierPool = getDefaultQuerierPool;
17
+ function getQuerier() {
13
18
  return defaultPool.getQuerier();
14
19
  }
15
- export function getRepository(entity, querier) {
16
- return new GenericRepository(entity, querier);
20
+ exports.getQuerier = getQuerier;
21
+ function getRepository(entity, querier) {
22
+ return new index_1.GenericRepository(entity, querier);
17
23
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFELElBQUksV0FBd0IsQ0FBQztBQUU3QixNQUFNLFVBQVUscUJBQXFCLENBQXNDLElBQU87SUFDaEYsV0FBVyxHQUFHLElBQUksQ0FBQztBQUNyQixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxTQUFTLENBQUMsNENBQTRDLENBQUMsQ0FBQztLQUNuRTtJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVTtJQUN4QixPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBSSxNQUFlLEVBQUUsT0FBZ0I7SUFDaEUsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY1JlcG9zaXRvcnkgfSBmcm9tICcuL3JlcG9zaXRvcnkvaW5kZXguanMnO1xuaW1wb3J0IHsgUXVlcmllciwgUXVlcmllclBvb2wsIFJlcG9zaXRvcnksIFR5cGUgfSBmcm9tICcuL3R5cGUvaW5kZXguanMnO1xuXG5sZXQgZGVmYXVsdFBvb2w6IFF1ZXJpZXJQb29sO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGVmYXVsdFF1ZXJpZXJQb29sPFQgZXh0ZW5kcyBRdWVyaWVyUG9vbCA9IFF1ZXJpZXJQb29sPihwb29sOiBUKTogdm9pZCB7XG4gIGRlZmF1bHRQb29sID0gcG9vbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRRdWVyaWVyUG9vbCgpOiBRdWVyaWVyUG9vbCB7XG4gIGlmICghZGVmYXVsdFBvb2wpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBIGRlZmF1bHQgcXVlcmllci1wb29sIGhhcyB0byBiZSBzZXQgZmlyc3QnKTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdFBvb2w7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRRdWVyaWVyKCk6IFByb21pc2U8UXVlcmllcj4ge1xuICByZXR1cm4gZGVmYXVsdFBvb2wuZ2V0UXVlcmllcigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVwb3NpdG9yeTxFPihlbnRpdHk6IFR5cGU8RT4sIHF1ZXJpZXI6IFF1ZXJpZXIpOiBSZXBvc2l0b3J5PEU+IHtcbiAgcmV0dXJuIG5ldyBHZW5lcmljUmVwb3NpdG9yeShlbnRpdHksIHF1ZXJpZXIpO1xufVxuIl19
24
+ exports.getRepository = getRepository;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUF1RDtBQUd2RCxJQUFJLFdBQXdCLENBQUM7QUFFN0IsU0FBZ0IscUJBQXFCLENBQXNDLElBQU87SUFDaEYsV0FBVyxHQUFHLElBQUksQ0FBQztBQUNyQixDQUFDO0FBRkQsc0RBRUM7QUFFRCxTQUFnQixxQkFBcUI7SUFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixNQUFNLElBQUksU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7S0FDbkU7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBTEQsc0RBS0M7QUFFRCxTQUFnQixVQUFVO0lBQ3hCLE9BQU8sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQWdCLGFBQWEsQ0FBSSxNQUFlLEVBQUUsT0FBZ0I7SUFDaEUsT0FBTyxJQUFJLHlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljUmVwb3NpdG9yeSB9IGZyb20gJy4vcmVwb3NpdG9yeS9pbmRleCc7XG5pbXBvcnQgeyBRdWVyaWVyLCBRdWVyaWVyUG9vbCwgUmVwb3NpdG9yeSwgVHlwZSB9IGZyb20gJy4vdHlwZS9pbmRleCc7XG5cbmxldCBkZWZhdWx0UG9vbDogUXVlcmllclBvb2w7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWZhdWx0UXVlcmllclBvb2w8VCBleHRlbmRzIFF1ZXJpZXJQb29sID0gUXVlcmllclBvb2w+KHBvb2w6IFQpOiB2b2lkIHtcbiAgZGVmYXVsdFBvb2wgPSBwb29sO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFF1ZXJpZXJQb29sKCk6IFF1ZXJpZXJQb29sIHtcbiAgaWYgKCFkZWZhdWx0UG9vbCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0EgZGVmYXVsdCBxdWVyaWVyLXBvb2wgaGFzIHRvIGJlIHNldCBmaXJzdCcpO1xuICB9XG4gIHJldHVybiBkZWZhdWx0UG9vbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXJpZXIoKTogUHJvbWlzZTxRdWVyaWVyPiB7XG4gIHJldHVybiBkZWZhdWx0UG9vbC5nZXRRdWVyaWVyKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvc2l0b3J5PEU+KGVudGl0eTogVHlwZTxFPiwgcXVlcmllcjogUXVlcmllcik6IFJlcG9zaXRvcnk8RT4ge1xuICByZXR1cm4gbmV3IEdlbmVyaWNSZXBvc2l0b3J5KGVudGl0eSwgcXVlcmllcik7XG59XG4iXX0=
package/package.json CHANGED
@@ -3,10 +3,8 @@
3
3
  "homepage": "https://uql.io",
4
4
  "description": "flexible and efficient ORM, with declarative JSON syntax and smart type-safety",
5
5
  "license": "MIT",
6
- "version": "1.0.7",
7
- "type": "module",
6
+ "version": "1.0.8",
8
7
  "main": "index.js",
9
- "exports": "./index.js",
10
8
  "types": "./index.d.ts",
11
9
  "scripts": {
12
10
  "copyfiles": "copyfiles -f package.json ../../README.md ../../CHANGELOG.md dist",
@@ -1,4 +1,4 @@
1
- import { IdValue, Querier, Query, QueryCriteria, QueryOne, QueryOptions, QueryProject, QuerySearch, QueryUnique, RelationKey, Repository, Type } from '../type/index.js';
1
+ import { IdValue, Querier, Query, QueryCriteria, QueryOne, QueryOptions, QueryProject, QuerySearch, QueryUnique, RelationKey, Repository, Type } from '../type';
2
2
  export declare abstract class AbstractQuerier implements Querier {
3
3
  abstract count<E>(entity: Type<E>, qm?: QuerySearch<E>): Promise<number>;
4
4
  findOneById<E>(entity: Type<E>, id: IdValue<E>, qm?: QueryUnique<E>): Promise<E>;
@@ -11,8 +11,8 @@ export declare abstract class AbstractQuerier implements Querier {
11
11
  abstract updateMany<E>(entity: Type<E>, qm: QueryCriteria<E>, payload: E): Promise<number>;
12
12
  deleteOneById<E>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions): Promise<number>;
13
13
  abstract deleteMany<E>(entity: Type<E>, qm: QueryCriteria<E>, opts?: QueryOptions): Promise<number>;
14
- saveOne<E>(entity: Type<E>, payload: E): Promise<IdValue<E> | E[import("../type/entity.js").IdKey<E>]>;
15
- saveMany<E>(entity: Type<E>, payload: E[]): Promise<(Awaited<IdValue<E>> | Awaited<E[import("../type/entity.js").IdKey<E>]>)[]>;
14
+ saveOne<E>(entity: Type<E>, payload: E): Promise<IdValue<E> | E[import("../type").IdKey<E>]>;
15
+ saveMany<E>(entity: Type<E>, payload: E[]): Promise<(Awaited<IdValue<E>> | Awaited<E[import("../type").IdKey<E>]>)[]>;
16
16
  protected findToManyRelations<E>(entity: Type<E>, payload: E[], project: QueryProject<E>): Promise<void>;
17
17
  protected putChildrenInParents<E>(parents: E[], children: E[], parentIdKey: string, referenceKey: string, relKey: string): void;
18
18
  protected insertRelations<E>(entity: Type<E>, payload: E[]): Promise<void>;