@uql/core 0.4.68 → 0.4.74

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 (53) hide show
  1. package/README.md +1 -1
  2. package/dialect/{baseSqlDialect.d.ts → abstractSqlDialect.d.ts} +1 -1
  3. package/dialect/abstractSqlDialect.js +367 -0
  4. package/dialect/index.d.ts +1 -1
  5. package/dialect/index.js +5 -5
  6. package/dialect/mysqlDialect.d.ts +2 -4
  7. package/dialect/mysqlDialect.js +3 -13
  8. package/dialect/postgresDialect.d.ts +2 -2
  9. package/dialect/postgresDialect.js +6 -6
  10. package/dialect/sqliteDialect.d.ts +4 -2
  11. package/dialect/sqliteDialect.js +12 -3
  12. package/entity/decorator/definition.js +21 -21
  13. package/entity/decorator/entity.js +2 -2
  14. package/entity/decorator/field.js +2 -2
  15. package/entity/decorator/id.js +2 -2
  16. package/entity/decorator/index.js +5 -5
  17. package/entity/decorator/relation.js +2 -2
  18. package/entity/index.js +2 -2
  19. package/index.js +2 -2
  20. package/options.js +3 -3
  21. package/package.json +6 -6
  22. package/querier/{baseQuerier.d.ts → abstractQuerier.d.ts} +4 -3
  23. package/querier/abstractQuerier.js +230 -0
  24. package/querier/abstractSqlQuerier.d.ts +27 -0
  25. package/querier/abstractSqlQuerier.js +88 -0
  26. package/querier/decorator/index.js +3 -3
  27. package/querier/decorator/transactional.js +4 -4
  28. package/querier/index.d.ts +2 -2
  29. package/querier/index.js +4 -4
  30. package/repository/{baseRepository.d.ts → genericRepository.d.ts} +1 -1
  31. package/repository/genericRepository.js +50 -0
  32. package/repository/index.d.ts +1 -1
  33. package/repository/index.js +2 -2
  34. package/type/entity.d.ts +14 -13
  35. package/type/entity.js +1 -7
  36. package/type/index.d.ts +1 -0
  37. package/type/index.js +9 -8
  38. package/type/options.d.ts +0 -4
  39. package/type/options.js +1 -1
  40. package/type/querier.d.ts +8 -91
  41. package/type/querier.js +1 -1
  42. package/type/querierPool.d.ts +2 -27
  43. package/type/querierPool.js +1 -1
  44. package/type/universalQuerier.d.ts +96 -0
  45. package/type/universalQuerier.js +3 -0
  46. package/util/dialect.util.js +5 -5
  47. package/util/index.js +6 -6
  48. package/util/sql.util.js +4 -4
  49. package/dialect/baseSqlDialect.js +0 -365
  50. package/querier/baseQuerier.js +0 -230
  51. package/querier/sqlQuerier.d.ts +0 -19
  52. package/querier/sqlQuerier.js +0 -91
  53. package/repository/baseRepository.js +0 -50
package/type/entity.js CHANGED
@@ -2,10 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.idKey = void 0;
4
4
  exports.idKey = Symbol('idKey');
5
- // TODO
6
- // export interface NamingStrategy {
7
- // tableName<T>(entity: Type<T>): string;
8
- // columnName<T>(entity: Type<T>, fieldName: string): string;
9
- // referenceColumnName<T>(sourceEntity: Type<T>, targetEntity: string, fieldName: string): string;
10
- // }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGUvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFhLFFBQUEsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQXFGckMsT0FBTztBQUNQLG9DQUFvQztBQUNwQywyQ0FBMkM7QUFDM0MsK0RBQStEO0FBQy9ELG9HQUFvRztBQUNwRyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlSYXcsIFF1ZXJ5UmF3Rm5PcHRpb25zIH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBTY2FsYXIsIFR5cGUgfSBmcm9tICcuL3V0aWxpdHknO1xuXG5leHBvcnQgdHlwZSBLZXk8RT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIGtleW9mIEVdOiBLICYgc3RyaW5nO1xufVtrZXlvZiBFICYgc3RyaW5nXTtcblxuZXhwb3J0IHR5cGUgRmllbGRLZXk8RT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIEtleTxFPl06IEVbS10gZXh0ZW5kcyBTY2FsYXIgPyBLIDogbmV2ZXI7XG59W0tleTxFPl07XG5cbmV4cG9ydCB0eXBlIEZpZWxkVmFsdWU8RT4gPSBFW0ZpZWxkS2V5PEU+XTtcblxuZXhwb3J0IGNvbnN0IGlkS2V5ID0gU3ltYm9sKCdpZEtleScpO1xuXG5leHBvcnQgdHlwZSBJZFZhbHVlPEU+ID0gRSBleHRlbmRzIHsgW2lkS2V5XT86IGluZmVyIFUgfVxuICA/IFVcbiAgOiBFIGV4dGVuZHMgeyBpZD86IGluZmVyIFUgfVxuICA/IFVcbiAgOiBFIGV4dGVuZHMgeyBfaWQ/OiBpbmZlciBVIH1cbiAgPyBVICYgc3RyaW5nXG4gIDogRmllbGRWYWx1ZTxFPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25LZXk8RT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIEtleTxFPl06IEVbS10gZXh0ZW5kcyBTY2FsYXIgPyBuZXZlciA6IEs7XG59W0tleTxFPl07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uVmFsdWU8RT4gPSBFW1JlbGF0aW9uS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgRW50aXR5T3B0aW9ucyA9IHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc29mdERlbGV0ZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZE9wdGlvbnMgPSB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzSWQ/OiB0cnVlO1xuICByZWFkb25seSB0eXBlPzogYW55O1xuICByZWFkb25seSByZWZlcmVuY2U/OiBFbnRpdHlHZXR0ZXIgfCBSZWZlcmVuY2VPcHRpb25zO1xuICByZWFkb25seSB2aXJ0dWFsPzogUXVlcnlSYXc7XG4gIHJlYWRvbmx5IG9uSW5zZXJ0PzogT25GaWVsZENhbGxiYWNrO1xuICByZWFkb25seSBvblVwZGF0ZT86IE9uRmllbGRDYWxsYmFjaztcbiAgcmVhZG9ubHkgb25EZWxldGU/OiBPbkZpZWxkQ2FsbGJhY2s7XG59O1xuXG5leHBvcnQgdHlwZSBPbkZpZWxkQ2FsbGJhY2sgPSAob3B0cz86IFF1ZXJ5UmF3Rm5PcHRpb25zKSA9PiBTY2FsYXI7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUdldHRlcjxFID0gYW55PiA9ICgpID0+IFR5cGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlZmVyZW5jZU9wdGlvbnM8RSA9IGFueT4gPSB7IGVudGl0eTogRW50aXR5R2V0dGVyPEU+IH07XG5cbmV4cG9ydCB0eXBlIENhc2NhZGVUeXBlID0gJ3BlcnNpc3QnIHwgJ2RlbGV0ZSc7XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uT3B0aW9uczxFID0gYW55PiA9IHtcbiAgZW50aXR5PzogRW50aXR5R2V0dGVyPEU+O1xuICByZWFkb25seSBjYXJkaW5hbGl0eT86IFJlbGF0aW9uQ2FyZGluYWxpdHk7XG4gIHJlYWRvbmx5IGNhc2NhZGU/OiBib29sZWFuIHwgQ2FzY2FkZVR5cGU7XG4gIG1hcHBlZEJ5PzogUmVsYXRpb25NYXBwZWRCeTxFPjtcbiAgdGhyb3VnaD86IEVudGl0eUdldHRlcjxSZWxhdGlvblZhbHVlPEU+PjtcbiAgcmVmZXJlbmNlcz86IFJlbGF0aW9uUmVmZXJlbmNlcztcbn07XG5cbnR5cGUgUmVsYXRpb25PcHRpb25zT3duZXI8RT4gPSBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2VudGl0eScgfCAncmVmZXJlbmNlcycgfCAnY2FzY2FkZSc+O1xudHlwZSBSZWxhdGlvbk9wdGlvbnNJbnZlcnNlU2lkZTxFPiA9IFBpY2s8UmVsYXRpb25PcHRpb25zPEU+LCAnZW50aXR5JyB8ICdtYXBwZWRCeScgfCAnY2FzY2FkZSc+O1xudHlwZSBSZWxhdGlvbk9wdGlvbnNUaHJvdWdoT3duZXI8RT4gPSBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2VudGl0eScgfCAndGhyb3VnaCcgfCAncmVmZXJlbmNlcycgfCAnY2FzY2FkZSc+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbktleU1hcDxFPiA9IHsgcmVhZG9ubHkgW0sgaW4gUmVsYXRpb25LZXk8RT5dOiBLIH07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5TWFwcGVyPEU+ID0gKGtleU1hcDogUmVsYXRpb25LZXlNYXA8RT4pID0+IFJlbGF0aW9uS2V5PEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvblJlZmVyZW5jZXMgPSB7IGxvY2FsOiBzdHJpbmc7IGZvcmVpZ246IHN0cmluZyB9W107XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTWFwcGVkQnk8RT4gPSBSZWxhdGlvbktleTxFPiB8IFJlbGF0aW9uS2V5TWFwcGVyPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbkNhcmRpbmFsaXR5ID0gJzExJyB8ICdtMScgfCAnMW0nIHwgJ21tJztcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25PbmVUb09uZU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk9uZVRvTWFueU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+IHwgUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb09uZU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb01hbnlPcHRpb25zPEU+ID0gUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIEVudGl0eU1ldGE8RT4gPSB7XG4gIHJlYWRvbmx5IGVudGl0eTogVHlwZTxFPjtcbiAgbmFtZTogc3RyaW5nO1xuICBpZD86IEZpZWxkS2V5PEU+O1xuICBzb2Z0RGVsZXRlPzogRmllbGRLZXk8RT47XG4gIGZpZWxkczoge1xuICAgIFtLIGluIEZpZWxkS2V5PEU+XT86IEZpZWxkT3B0aW9ucztcbiAgfTtcbiAgcmVsYXRpb25zOiB7XG4gICAgW0sgaW4gUmVsYXRpb25LZXk8RT5dPzogUmVsYXRpb25PcHRpb25zO1xuICB9O1xuICBwcm9jZXNzZWQ/OiBib29sZWFuO1xufTtcblxuLy8gVE9ET1xuLy8gZXhwb3J0IGludGVyZmFjZSBOYW1pbmdTdHJhdGVneSB7XG4vLyAgIHRhYmxlTmFtZTxUPihlbnRpdHk6IFR5cGU8VD4pOiBzdHJpbmc7XG4vLyAgIGNvbHVtbk5hbWU8VD4oZW50aXR5OiBUeXBlPFQ+LCBmaWVsZE5hbWU6IHN0cmluZyk6IHN0cmluZztcbi8vICAgcmVmZXJlbmNlQ29sdW1uTmFtZTxUPihzb3VyY2VFbnRpdHk6IFR5cGU8VD4sIHRhcmdldEVudGl0eTogc3RyaW5nLCBmaWVsZE5hbWU6IHN0cmluZyk6IHN0cmluZztcbi8vIH1cbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGUvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdhLFFBQUEsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UmF3LCBRdWVyeVJhd0ZuT3B0aW9ucyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgU2NhbGFyLCBUeXBlIH0gZnJvbSAnLi91dGlsaXR5JztcblxuZXhwb3J0IGNvbnN0IGlkS2V5ID0gU3ltYm9sKCdpZEtleScpO1xuXG5leHBvcnQgdHlwZSBLZXk8RT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIGtleW9mIEVdPzogSyAmIHN0cmluZztcbn1ba2V5b2YgRSAmIHN0cmluZ107XG5cbmV4cG9ydCB0eXBlIEZpZWxkS2V5PEU+ID0ge1xuICByZWFkb25seSBbSyBpbiBLZXk8RT5dPzogRVtLXSBleHRlbmRzIFNjYWxhciA/IEsgOiBuZXZlcjtcbn1bS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgRmllbGRWYWx1ZTxFPiA9IEVbRmllbGRLZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBJZEtleTxFPiA9IEUgZXh0ZW5kcyB7IFtpZEtleV0/OiBpbmZlciBLIH1cbiAgPyBLICYgRmllbGRLZXk8RT5cbiAgOiBFIGV4dGVuZHMgeyBfaWQ/OiB1bmtub3duIH1cbiAgPyAnX2lkJyAmIEZpZWxkS2V5PEU+XG4gIDogRSBleHRlbmRzIHsgaWQ/OiB1bmtub3duIH1cbiAgPyAnaWQnICYgRmllbGRLZXk8RT5cbiAgOiBGaWVsZEtleTxFPjtcblxuZXhwb3J0IHR5cGUgSWRWYWx1ZTxFPiA9IEVbSWRLZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbktleTxFPiA9IHtcbiAgcmVhZG9ubHkgW0sgaW4gS2V5PEU+XT86IEVbS10gZXh0ZW5kcyBTY2FsYXIgPyBuZXZlciA6IEs7XG59W0tleTxFPl07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uVmFsdWU8RT4gPSBFW1JlbGF0aW9uS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgRW50aXR5T3B0aW9ucyA9IHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc29mdERlbGV0ZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZE9wdGlvbnMgPSB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzSWQ/OiB0cnVlO1xuICByZWFkb25seSB0eXBlPzogYW55O1xuICByZWFkb25seSByZWZlcmVuY2U/OiBFbnRpdHlHZXR0ZXIgfCBSZWZlcmVuY2VPcHRpb25zO1xuICByZWFkb25seSB2aXJ0dWFsPzogUXVlcnlSYXc7XG4gIHJlYWRvbmx5IG9uSW5zZXJ0PzogT25GaWVsZENhbGxiYWNrO1xuICByZWFkb25seSBvblVwZGF0ZT86IE9uRmllbGRDYWxsYmFjaztcbiAgcmVhZG9ubHkgb25EZWxldGU/OiBPbkZpZWxkQ2FsbGJhY2s7XG59O1xuXG5leHBvcnQgdHlwZSBPbkZpZWxkQ2FsbGJhY2sgPSAob3B0cz86IFF1ZXJ5UmF3Rm5PcHRpb25zKSA9PiBTY2FsYXI7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUdldHRlcjxFID0gYW55PiA9ICgpID0+IFR5cGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlZmVyZW5jZU9wdGlvbnM8RSA9IGFueT4gPSB7IGVudGl0eTogRW50aXR5R2V0dGVyPEU+IH07XG5cbmV4cG9ydCB0eXBlIENhc2NhZGVUeXBlID0gJ3BlcnNpc3QnIHwgJ2RlbGV0ZSc7XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uT3B0aW9uczxFID0gYW55PiA9IHtcbiAgZW50aXR5PzogRW50aXR5R2V0dGVyPEU+O1xuICByZWFkb25seSBjYXJkaW5hbGl0eT86IFJlbGF0aW9uQ2FyZGluYWxpdHk7XG4gIHJlYWRvbmx5IGNhc2NhZGU/OiBib29sZWFuIHwgQ2FzY2FkZVR5cGU7XG4gIG1hcHBlZEJ5PzogUmVsYXRpb25NYXBwZWRCeTxFPjtcbiAgdGhyb3VnaD86IEVudGl0eUdldHRlcjxSZWxhdGlvblZhbHVlPEU+PjtcbiAgcmVmZXJlbmNlcz86IFJlbGF0aW9uUmVmZXJlbmNlcztcbn07XG5cbnR5cGUgUmVsYXRpb25PcHRpb25zT3duZXI8RT4gPSBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2VudGl0eScgfCAncmVmZXJlbmNlcycgfCAnY2FzY2FkZSc+O1xudHlwZSBSZWxhdGlvbk9wdGlvbnNJbnZlcnNlU2lkZTxFPiA9IFBpY2s8UmVsYXRpb25PcHRpb25zPEU+LCAnZW50aXR5JyB8ICdtYXBwZWRCeScgfCAnY2FzY2FkZSc+O1xudHlwZSBSZWxhdGlvbk9wdGlvbnNUaHJvdWdoT3duZXI8RT4gPSBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2VudGl0eScgfCAndGhyb3VnaCcgfCAncmVmZXJlbmNlcycgfCAnY2FzY2FkZSc+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbktleU1hcDxFPiA9IHsgcmVhZG9ubHkgW0sgaW4gUmVsYXRpb25LZXk8RT5dOiBLIH07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5TWFwcGVyPEU+ID0gKGtleU1hcDogUmVsYXRpb25LZXlNYXA8RT4pID0+IFJlbGF0aW9uS2V5PEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvblJlZmVyZW5jZXMgPSB7IGxvY2FsOiBzdHJpbmc7IGZvcmVpZ246IHN0cmluZyB9W107XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTWFwcGVkQnk8RT4gPSBSZWxhdGlvbktleTxFPiB8IFJlbGF0aW9uS2V5TWFwcGVyPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbkNhcmRpbmFsaXR5ID0gJzExJyB8ICdtMScgfCAnMW0nIHwgJ21tJztcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25PbmVUb09uZU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk9uZVRvTWFueU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+IHwgUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb09uZU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb01hbnlPcHRpb25zPEU+ID0gUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIEVudGl0eU1ldGE8RT4gPSB7XG4gIHJlYWRvbmx5IGVudGl0eTogVHlwZTxFPjtcbiAgbmFtZT86IHN0cmluZztcbiAgaWQ/OiBJZEtleTxFPjtcbiAgc29mdERlbGV0ZT86IEZpZWxkS2V5PEU+O1xuICBmaWVsZHM6IHtcbiAgICBbSyBpbiBGaWVsZEtleTxFPl0/OiBGaWVsZE9wdGlvbnM7XG4gIH07XG4gIHJlbGF0aW9uczoge1xuICAgIFtLIGluIFJlbGF0aW9uS2V5PEU+XT86IFJlbGF0aW9uT3B0aW9ucztcbiAgfTtcbiAgcHJvY2Vzc2VkPzogYm9vbGVhbjtcbn07XG4iXX0=
package/type/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './utility';
2
2
  export * from './options';
3
3
  export * from './entity';
4
4
  export * from './query';
5
+ export * from './universalQuerier';
5
6
  export * from './querier';
6
7
  export * from './querierPool';
7
8
  export * from './repository';
package/type/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./utility"), exports);
5
- tslib_1.__exportStar(require("./options"), exports);
6
- tslib_1.__exportStar(require("./entity"), exports);
7
- tslib_1.__exportStar(require("./query"), exports);
8
- tslib_1.__exportStar(require("./querier"), exports);
9
- tslib_1.__exportStar(require("./querierPool"), exports);
10
- tslib_1.__exportStar(require("./repository"), exports);
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBMEI7QUFDMUIsb0RBQTBCO0FBQzFCLG1EQUF5QjtBQUN6QixrREFBd0I7QUFDeEIsb0RBQTBCO0FBQzFCLHdEQUE4QjtBQUM5Qix1REFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3V0aWxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVyJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcmllclBvb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvc2l0b3J5JztcbiJdfQ==
4
+ (0, tslib_1.__exportStar)(require("./utility"), exports);
5
+ (0, tslib_1.__exportStar)(require("./options"), exports);
6
+ (0, tslib_1.__exportStar)(require("./entity"), exports);
7
+ (0, tslib_1.__exportStar)(require("./query"), exports);
8
+ (0, tslib_1.__exportStar)(require("./universalQuerier"), exports);
9
+ (0, tslib_1.__exportStar)(require("./querier"), exports);
10
+ (0, tslib_1.__exportStar)(require("./querierPool"), exports);
11
+ (0, tslib_1.__exportStar)(require("./repository"), exports);
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBMEI7QUFDMUIseURBQTBCO0FBQzFCLHdEQUF5QjtBQUN6Qix1REFBd0I7QUFDeEIsa0VBQW1DO0FBQ25DLHlEQUEwQjtBQUMxQiw2REFBOEI7QUFDOUIsNERBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi91dGlsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdmVyc2FsUXVlcmllcic7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXInO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVyUG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9zaXRvcnknO1xuIl19
package/type/options.d.ts CHANGED
@@ -1,8 +1,4 @@
1
1
  import { QuerierPool } from './querierPool';
2
- /**
3
- * logger function to print debug messages.
4
- */
5
- export declare type Logger = (message: any, ...args: any[]) => any;
6
2
  export declare type UqlOptions<T extends QuerierPool = QuerierPool> = {
7
3
  /**
8
4
  * the default querier-pool instance.
package/type/options.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJpZXJQb29sIH0gZnJvbSAnLi9xdWVyaWVyUG9vbCc7XG5cbi8qKlxuICogbG9nZ2VyIGZ1bmN0aW9uIHRvIHByaW50IGRlYnVnIG1lc3NhZ2VzLlxuICovXG5leHBvcnQgdHlwZSBMb2dnZXIgPSAobWVzc2FnZTogYW55LCAuLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG5leHBvcnQgdHlwZSBVcWxPcHRpb25zPFQgZXh0ZW5kcyBRdWVyaWVyUG9vbCA9IFF1ZXJpZXJQb29sPiA9IHtcbiAgLyoqXG4gICAqIHRoZSBkZWZhdWx0IHF1ZXJpZXItcG9vbCBpbnN0YW5jZS5cbiAgICovXG4gIHF1ZXJpZXJQb29sOiBUO1xufTtcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJpZXJQb29sIH0gZnJvbSAnLi9xdWVyaWVyUG9vbCc7XG5cbmV4cG9ydCB0eXBlIFVxbE9wdGlvbnM8VCBleHRlbmRzIFF1ZXJpZXJQb29sID0gUXVlcmllclBvb2w+ID0ge1xuICAvKipcbiAgICogdGhlIGRlZmF1bHQgcXVlcmllci1wb29sIGluc3RhbmNlLlxuICAgKi9cbiAgcXVlcmllclBvb2w6IFQ7XG59O1xuIl19
package/type/querier.d.ts CHANGED
@@ -1,99 +1,16 @@
1
1
  import { Type } from './utility';
2
2
  import { Query, QueryCriteria, QueryOne, QueryOptions, QuerySearch, QueryUnique } from './query';
3
- import { Repository, UniversalRepository } from './repository';
3
+ import { Repository } from './repository';
4
4
  import { IdValue } from './entity';
5
+ import { UniversalQuerier } from './universalQuerier';
5
6
  /**
6
- * A `querier` allows to interact with the datasource to perform persistence operations on any entity.
7
+ * logger function to debug queries.
7
8
  */
8
- export interface UniversalQuerier {
9
- /**
10
- * counts the number of records matching the given search parameters.
11
- * @param entity the target entity
12
- * @param qm the search options
13
- */
14
- count<E>(entity: Type<E>, qm?: QuerySearch<E>): Promise<any>;
15
- /**
16
- * obtains the record with the given primary key.
17
- * @param entity the target entity
18
- * @param id the primary key value
19
- * @param qm the criteria options
20
- */
21
- findOneById<E>(entity: Type<E>, id: IdValue<E>, qm?: QueryUnique<E>): Promise<any>;
22
- /**
23
- * obtains the first record matching the given search parameters.
24
- * @param entity the target entity
25
- * @param qm the criteria options
26
- */
27
- findOne<E>(entity: Type<E>, qm: QueryOne<E>): Promise<any>;
28
- /**
29
- * obtains the records matching the given search parameters.
30
- * @param entity the target entity
31
- * @param qm the criteria options
32
- */
33
- findMany<E>(entity: Type<E>, qm: Query<E>): Promise<any>;
34
- /**
35
- * obtains the records matching the given search parameters,
36
- * also counts the number of matches ignoring pagination.
37
- * @param entity the target entity
38
- * @param qm the criteria options
39
- */
40
- findManyAndCount<E>(entity: Type<E>, qm: Query<E>): Promise<any>;
41
- /**
42
- * inserts a record.
43
- * @param entity the entity to persist on
44
- * @param payload the data to be persisted
45
- */
46
- insertOne<E>(entity: Type<E>, payload: E): Promise<any>;
47
- /**
48
- * Inserts many records.
49
- * @param entity the entity to persist on
50
- * @param payload the data to be persisted
51
- */
52
- insertMany?<E>(entity: Type<E>, payload: E[]): Promise<any>;
53
- /**
54
- * updates a record partially.
55
- * @param entity the entity to persist on
56
- * @param id the primary key of the record to be updated
57
- * @param payload the data to be persisted
58
- */
59
- updateOneById<E>(entity: Type<E>, id: IdValue<E>, payload: E): Promise<any>;
60
- /**
61
- * updates many records partially.
62
- * @param entity the entity to persist on
63
- * @param qm the criteria to look for the records
64
- * @param payload the data to be persisted
65
- */
66
- updateMany?<E>(entity: Type<E>, qm: QueryCriteria<E>, payload: E): Promise<any>;
67
- /**
68
- * insert or update a record.
69
- * @param entity the entity to persist on
70
- * @param payload the data to be persisted
71
- */
72
- saveOne<E>(entity: Type<E>, payload: E): Promise<any>;
73
- /**
74
- * Insert or update records.
75
- * @param entity the entity to persist on
76
- * @param payload the data to be persisted
77
- */
78
- saveMany?<E>(entity: Type<E>, payload: E[]): Promise<any>;
79
- /**
80
- * delete or SoftDelete a record.
81
- * @param entity the entity to persist on
82
- * @param id the primary key of the record
83
- */
84
- deleteOneById<E>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions): Promise<any>;
85
- /**
86
- * delete or SoftDelete records.
87
- * @param entity the entity to persist on
88
- * @param qm the criteria to look for the records
89
- */
90
- deleteMany<E>(entity: Type<E>, qm: QueryCriteria<E>, opts?: QueryOptions): Promise<any>;
91
- /**
92
- * get a repository for the given entity.
93
- * @param entity the entity to get the repository for
94
- */
95
- getRepository<E>(entity: Type<E>): UniversalRepository<E>;
96
- }
9
+ export declare type QuerierLogger = (message: any, ...args: any[]) => any;
10
+ /**
11
+ * Isolation levels for transactions.
12
+ */
13
+ export declare type IsolationLevel = 'read uncommitted' | 'read committed' | 'repeteable read' | 'serializable';
97
14
  export interface Querier extends UniversalQuerier {
98
15
  count<E>(entity: Type<E>, qm?: QuerySearch<E>): Promise<number>;
99
16
  findOneById<E>(entity: Type<E>, id: IdValue<E>, qm?: QueryUnique<E>): Promise<E>;
package/type/querier.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3F1ZXJpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICcuL3V0aWxpdHknO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5Q3JpdGVyaWEsIFF1ZXJ5T25lLCBRdWVyeU9wdGlvbnMsIFF1ZXJ5U2VhcmNoLCBRdWVyeVVuaXF1ZSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSwgVW5pdmVyc2FsUmVwb3NpdG9yeSB9IGZyb20gJy4vcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBJZFZhbHVlIH0gZnJvbSAnLi9lbnRpdHknO1xuXG4vKipcbiAqIEEgYHF1ZXJpZXJgIGFsbG93cyB0byBpbnRlcmFjdCB3aXRoIHRoZSBkYXRhc291cmNlIHRvIHBlcmZvcm0gcGVyc2lzdGVuY2Ugb3BlcmF0aW9ucyBvbiBhbnkgZW50aXR5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVuaXZlcnNhbFF1ZXJpZXIge1xuICAvKipcbiAgICogY291bnRzIHRoZSBudW1iZXIgb2YgcmVjb3JkcyBtYXRjaGluZyB0aGUgZ2l2ZW4gc2VhcmNoIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIHFtIHRoZSBzZWFyY2ggb3B0aW9uc1xuICAgKi9cbiAgY291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbT86IFF1ZXJ5U2VhcmNoPEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBvYnRhaW5zIHRoZSByZWNvcmQgd2l0aCB0aGUgZ2l2ZW4gcHJpbWFyeSBrZXkuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIGlkIHRoZSBwcmltYXJ5IGtleSB2YWx1ZVxuICAgKiBAcGFyYW0gcW0gdGhlIGNyaXRlcmlhIG9wdGlvbnNcbiAgICovXG4gIGZpbmRPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHFtPzogUXVlcnlVbmlxdWU8RT4pOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIG9idGFpbnMgdGhlIGZpcnN0IHJlY29yZCBtYXRjaGluZyB0aGUgZ2l2ZW4gc2VhcmNoIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSBvcHRpb25zXG4gICAqL1xuICBmaW5kT25lPEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5T25lPEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBvYnRhaW5zIHRoZSByZWNvcmRzIG1hdGNoaW5nIHRoZSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgdGFyZ2V0IGVudGl0eVxuICAgKiBAcGFyYW0gcW0gdGhlIGNyaXRlcmlhIG9wdGlvbnNcbiAgICovXG4gIGZpbmRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBvYnRhaW5zIHRoZSByZWNvcmRzIG1hdGNoaW5nIHRoZSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVycyxcbiAgICogYWxzbyBjb3VudHMgdGhlIG51bWJlciBvZiBtYXRjaGVzIGlnbm9yaW5nIHBhZ2luYXRpb24uXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSBvcHRpb25zXG4gICAqL1xuICBmaW5kTWFueUFuZENvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBpbnNlcnRzIGEgcmVjb3JkLlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gcGVyc2lzdCBvblxuICAgKiBAcGFyYW0gcGF5bG9hZCB0aGUgZGF0YSB0byBiZSBwZXJzaXN0ZWRcbiAgICovXG4gIGluc2VydE9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIEluc2VydHMgbWFueSByZWNvcmRzLlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gcGVyc2lzdCBvblxuICAgKiBAcGFyYW0gcGF5bG9hZCB0aGUgZGF0YSB0byBiZSBwZXJzaXN0ZWRcbiAgICovXG4gIGluc2VydE1hbnk/PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdKTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiB1cGRhdGVzIGEgcmVjb3JkIHBhcnRpYWxseS5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIGlkIHRoZSBwcmltYXJ5IGtleSBvZiB0aGUgcmVjb3JkIHRvIGJlIHVwZGF0ZWRcbiAgICogQHBhcmFtIHBheWxvYWQgdGhlIGRhdGEgdG8gYmUgcGVyc2lzdGVkXG4gICAqL1xuICB1cGRhdGVPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIHVwZGF0ZXMgbWFueSByZWNvcmRzIHBhcnRpYWxseS5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSB0byBsb29rIGZvciB0aGUgcmVjb3Jkc1xuICAgKiBAcGFyYW0gcGF5bG9hZCB0aGUgZGF0YSB0byBiZSBwZXJzaXN0ZWRcbiAgICovXG4gIHVwZGF0ZU1hbnk/PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIGluc2VydCBvciB1cGRhdGUgYSByZWNvcmQuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIGVudGl0eSB0byBwZXJzaXN0IG9uXG4gICAqIEBwYXJhbSBwYXlsb2FkIHRoZSBkYXRhIHRvIGJlIHBlcnNpc3RlZFxuICAgKi9cbiAgc2F2ZU9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIEluc2VydCBvciB1cGRhdGUgcmVjb3Jkcy5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIHBheWxvYWQgdGhlIGRhdGEgdG8gYmUgcGVyc2lzdGVkXG4gICAqL1xuICBzYXZlTWFueT88RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBvciBTb2Z0RGVsZXRlIGEgcmVjb3JkLlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gcGVyc2lzdCBvblxuICAgKiBAcGFyYW0gaWQgdGhlIHByaW1hcnkga2V5IG9mIHRoZSByZWNvcmRcbiAgICovXG4gIGRlbGV0ZU9uZUJ5SWQ8RT4oZW50aXR5OiBUeXBlPEU+LCBpZDogSWRWYWx1ZTxFPiwgb3B0cz86IFF1ZXJ5T3B0aW9ucyk6IFByb21pc2U8YW55PjtcblxuICAvKipcbiAgICogZGVsZXRlIG9yIFNvZnREZWxldGUgcmVjb3Jkcy5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSB0byBsb29rIGZvciB0aGUgcmVjb3Jkc1xuICAgKi9cbiAgZGVsZXRlTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBnZXQgYSByZXBvc2l0b3J5IGZvciB0aGUgZ2l2ZW4gZW50aXR5LlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gZ2V0IHRoZSByZXBvc2l0b3J5IGZvclxuICAgKi9cbiAgZ2V0UmVwb3NpdG9yeTxFPihlbnRpdHk6IFR5cGU8RT4pOiBVbml2ZXJzYWxSZXBvc2l0b3J5PEU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJpZXIgZXh0ZW5kcyBVbml2ZXJzYWxRdWVyaWVyIHtcbiAgY291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbT86IFF1ZXJ5U2VhcmNoPEU+KTogUHJvbWlzZTxudW1iZXI+O1xuXG4gIGZpbmRPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHFtPzogUXVlcnlVbmlxdWU8RT4pOiBQcm9taXNlPEU+O1xuXG4gIGZpbmRPbmU8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlPbmU8RT4pOiBQcm9taXNlPEU+O1xuXG4gIGZpbmRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogUHJvbWlzZTxFW10+O1xuXG4gIGZpbmRNYW55QW5kQ291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnk8RT4pOiBQcm9taXNlPFtFW10sIG51bWJlcl0+O1xuXG4gIGluc2VydE9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPElkVmFsdWU8RT4+O1xuXG4gIGluc2VydE1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pOiBQcm9taXNlPElkVmFsdWU8RT5bXT47XG5cbiAgdXBkYXRlT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBwYXlsb2FkOiBFKTogUHJvbWlzZTxudW1iZXI+O1xuXG4gIHVwZGF0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgcGF5bG9hZDogRSk6IFByb21pc2U8bnVtYmVyPjtcblxuICBzYXZlT25lPEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRSk6IFByb21pc2U8SWRWYWx1ZTxFPj47XG5cbiAgc2F2ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pOiBQcm9taXNlPElkVmFsdWU8RT5bXT47XG5cbiAgZGVsZXRlT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKTogUHJvbWlzZTxudW1iZXI+O1xuXG4gIGRlbGV0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgb3B0cz86IFF1ZXJ5T3B0aW9ucyk6IFByb21pc2U8bnVtYmVyPjtcblxuICBnZXRSZXBvc2l0b3J5PEU+KGVudGl0eTogVHlwZTxFPik6IFJlcG9zaXRvcnk8RT47XG5cbiAgLyoqXG4gICAqIHdoZXRoZXIgdGhpcyBxdWVyaWVyIGlzIGluIGEgdHJhbnNhY3Rpb24gb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgaGFzT3BlblRyYW5zYWN0aW9uOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBydW4gdGhlIGdpdmVuIGNhbGxiYWNrIGluc2lkZSBhIHRyYW5zYWN0aW9uIGluIHRoaXMgcXVlcmllci5cbiAgICovXG4gIHRyYW5zYWN0aW9uPFQ+KGNhbGxiYWNrOiAocXVlcmllcj86IFRoaXNUeXBlPFF1ZXJpZXI+KSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPjtcblxuICAvKipcbiAgICogc3RhcnRzIGEgbmV3IHRyYW5zYWN0aW9uIGluIHRoaXMgcXVlcmllci5cbiAgICovXG4gIGJlZ2luVHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogY29tbWl0cyB0aGUgY3VycmVudGx5IGFjdGl2ZSB0cmFuc2FjdGlvbiBpbiB0aGlzIHF1ZXJpZXIuXG4gICAqL1xuICBjb21taXRUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBhYm9ydHMgdGhlIGN1cnJlbnRseSBhY3RpdmUgdHJhbnNhY3Rpb24gaW4gdGhpcyBxdWVyaWVyLlxuICAgKi9cbiAgcm9sbGJhY2tUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiByZWxlYXNlIHRoZSBxdWVyaWVyIHRvIHRoZSBwb29sLlxuICAgKi9cbiAgcmVsZWFzZSgpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3F1ZXJpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICcuL3V0aWxpdHknO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5Q3JpdGVyaWEsIFF1ZXJ5T25lLCBRdWVyeU9wdGlvbnMsIFF1ZXJ5U2VhcmNoLCBRdWVyeVVuaXF1ZSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gJy4vcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBJZFZhbHVlIH0gZnJvbSAnLi9lbnRpdHknO1xuaW1wb3J0IHsgVW5pdmVyc2FsUXVlcmllciB9IGZyb20gJy4vdW5pdmVyc2FsUXVlcmllcic7XG5cbi8qKlxuICogbG9nZ2VyIGZ1bmN0aW9uIHRvIGRlYnVnIHF1ZXJpZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJpZXJMb2dnZXIgPSAobWVzc2FnZTogYW55LCAuLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG4vKipcbiAqIElzb2xhdGlvbiBsZXZlbHMgZm9yIHRyYW5zYWN0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgSXNvbGF0aW9uTGV2ZWwgPSAncmVhZCB1bmNvbW1pdHRlZCcgfCAncmVhZCBjb21taXR0ZWQnIHwgJ3JlcGV0ZWFibGUgcmVhZCcgfCAnc2VyaWFsaXphYmxlJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyaWVyIGV4dGVuZHMgVW5pdmVyc2FsUXVlcmllciB7XG4gIGNvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW0/OiBRdWVyeVNlYXJjaDxFPik6IFByb21pc2U8bnVtYmVyPjtcblxuICBmaW5kT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBxbT86IFF1ZXJ5VW5pcXVlPEU+KTogUHJvbWlzZTxFPjtcblxuICBmaW5kT25lPEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5T25lPEU+KTogUHJvbWlzZTxFPjtcblxuICBmaW5kTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPik6IFByb21pc2U8RVtdPjtcblxuICBmaW5kTWFueUFuZENvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogUHJvbWlzZTxbRVtdLCBudW1iZXJdPjtcblxuICBpbnNlcnRPbmU8RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFKTogUHJvbWlzZTxJZFZhbHVlPEU+PjtcblxuICBpbnNlcnRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdKTogUHJvbWlzZTxJZFZhbHVlPEU+W10+O1xuXG4gIHVwZGF0ZU9uZUJ5SWQ8RT4oZW50aXR5OiBUeXBlPEU+LCBpZDogSWRWYWx1ZTxFPiwgcGF5bG9hZDogRSk6IFByb21pc2U8bnVtYmVyPjtcblxuICB1cGRhdGVNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPG51bWJlcj47XG5cbiAgc2F2ZU9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPElkVmFsdWU8RT4+O1xuXG4gIHNhdmVNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdKTogUHJvbWlzZTxJZFZhbHVlPEU+W10+O1xuXG4gIGRlbGV0ZU9uZUJ5SWQ8RT4oZW50aXR5OiBUeXBlPEU+LCBpZDogSWRWYWx1ZTxFPiwgb3B0cz86IFF1ZXJ5T3B0aW9ucyk6IFByb21pc2U8bnVtYmVyPjtcblxuICBkZWxldGVNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIG9wdHM/OiBRdWVyeU9wdGlvbnMpOiBQcm9taXNlPG51bWJlcj47XG5cbiAgZ2V0UmVwb3NpdG9yeTxFPihlbnRpdHk6IFR5cGU8RT4pOiBSZXBvc2l0b3J5PEU+O1xuXG4gIC8qKlxuICAgKiB3aGV0aGVyIHRoaXMgcXVlcmllciBpcyBpbiBhIHRyYW5zYWN0aW9uIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGhhc09wZW5UcmFuc2FjdGlvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogcnVuIHRoZSBnaXZlbiBjYWxsYmFjayBpbnNpZGUgYSB0cmFuc2FjdGlvbiBpbiB0aGlzIHF1ZXJpZXIuXG4gICAqL1xuICB0cmFuc2FjdGlvbjxUPihjYWxsYmFjazogKHF1ZXJpZXI/OiBUaGlzVHlwZTxRdWVyaWVyPikgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD47XG5cbiAgLyoqXG4gICAqIHN0YXJ0cyBhIG5ldyB0cmFuc2FjdGlvbiBpbiB0aGlzIHF1ZXJpZXIuXG4gICAqL1xuICBiZWdpblRyYW5zYWN0aW9uKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIGNvbW1pdHMgdGhlIGN1cnJlbnRseSBhY3RpdmUgdHJhbnNhY3Rpb24gaW4gdGhpcyBxdWVyaWVyLlxuICAgKi9cbiAgY29tbWl0VHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogYWJvcnRzIHRoZSBjdXJyZW50bHkgYWN0aXZlIHRyYW5zYWN0aW9uIGluIHRoaXMgcXVlcmllci5cbiAgICovXG4gIHJvbGxiYWNrVHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogcmVsZWFzZSB0aGUgcXVlcmllciB0byB0aGUgcG9vbC5cbiAgICovXG4gIHJlbGVhc2UoKTogUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
@@ -1,29 +1,4 @@
1
- import { Logger } from './options';
2
- import { Querier } from './querier';
3
- import { QueryUpdateResult } from './query';
4
- /**
5
- * querier connection.
6
- */
7
- export declare type QuerierPoolConnection = {
8
- /**
9
- * find query.
10
- * @param query the query
11
- */
12
- all<T>(query: string): Promise<T[]>;
13
- /**
14
- * insert/update/delete query.
15
- * @param query the query
16
- */
17
- run(query: string): Promise<QueryUpdateResult>;
18
- /**
19
- * release the connection to the pool.
20
- */
21
- release(): Promise<void>;
22
- /**
23
- * end the connection.
24
- */
25
- end(): Promise<void>;
26
- };
1
+ import { Querier, QuerierLogger } from './querier';
27
2
  /**
28
3
  * querier pool.
29
4
  */
@@ -31,7 +6,7 @@ export declare type QuerierPool<Q extends Querier = Querier> = {
31
6
  /**
32
7
  * logger function to print debug messages.
33
8
  */
34
- logger?: Logger;
9
+ logger?: QuerierLogger;
35
10
  /**
36
11
  * get a querier from the pool.
37
12
  */
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllclBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9xdWVyaWVyUG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IFF1ZXJpZXIgfSBmcm9tICcuL3F1ZXJpZXInO1xuaW1wb3J0IHsgUXVlcnlVcGRhdGVSZXN1bHQgfSBmcm9tICcuL3F1ZXJ5JztcblxuLyoqXG4gKiBxdWVyaWVyIGNvbm5lY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJpZXJQb29sQ29ubmVjdGlvbiA9IHtcbiAgLyoqXG4gICAqIGZpbmQgcXVlcnkuXG4gICAqIEBwYXJhbSBxdWVyeSB0aGUgcXVlcnlcbiAgICovXG4gIGFsbDxUPihxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxUW10+O1xuICAvKipcbiAgICogaW5zZXJ0L3VwZGF0ZS9kZWxldGUgcXVlcnkuXG4gICAqIEBwYXJhbSBxdWVyeSB0aGUgcXVlcnlcbiAgICovXG4gIHJ1bihxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxRdWVyeVVwZGF0ZVJlc3VsdD47XG4gIC8qKlxuICAgKiByZWxlYXNlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBwb29sLlxuICAgKi9cbiAgcmVsZWFzZSgpOiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogZW5kIHRoZSBjb25uZWN0aW9uLlxuICAgKi9cbiAgZW5kKCk6IFByb21pc2U8dm9pZD47XG59O1xuXG4vKipcbiAqIHF1ZXJpZXIgcG9vbC5cbiAqL1xuZXhwb3J0IHR5cGUgUXVlcmllclBvb2w8USBleHRlbmRzIFF1ZXJpZXIgPSBRdWVyaWVyPiA9IHtcbiAgLyoqXG4gICAqIGxvZ2dlciBmdW5jdGlvbiB0byBwcmludCBkZWJ1ZyBtZXNzYWdlcy5cbiAgICovXG4gIGxvZ2dlcj86IExvZ2dlcjtcbiAgLyoqXG4gICAqIGdldCBhIHF1ZXJpZXIgZnJvbSB0aGUgcG9vbC5cbiAgICovXG4gIGdldFF1ZXJpZXI6ICgpID0+IFByb21pc2U8UT47XG4gIC8qKlxuICAgKiBlbmQgdGhlIHBvb2wuXG4gICAqL1xuICBlbmQoKTogUHJvbWlzZTx2b2lkPjtcbn07XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllclBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9xdWVyaWVyUG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcmllciwgUXVlcmllckxvZ2dlciB9IGZyb20gJy4vcXVlcmllcic7XG5cbi8qKlxuICogcXVlcmllciBwb29sLlxuICovXG5leHBvcnQgdHlwZSBRdWVyaWVyUG9vbDxRIGV4dGVuZHMgUXVlcmllciA9IFF1ZXJpZXI+ID0ge1xuICAvKipcbiAgICogbG9nZ2VyIGZ1bmN0aW9uIHRvIHByaW50IGRlYnVnIG1lc3NhZ2VzLlxuICAgKi9cbiAgbG9nZ2VyPzogUXVlcmllckxvZ2dlcjtcblxuICAvKipcbiAgICogZ2V0IGEgcXVlcmllciBmcm9tIHRoZSBwb29sLlxuICAgKi9cbiAgZ2V0UXVlcmllcjogKCkgPT4gUHJvbWlzZTxRPjtcblxuICAvKipcbiAgICogZW5kIHRoZSBwb29sLlxuICAgKi9cbiAgZW5kKCk6IFByb21pc2U8dm9pZD47XG59O1xuIl19
@@ -0,0 +1,96 @@
1
+ import { Type } from './utility';
2
+ import { Query, QueryCriteria, QueryOne, QueryOptions, QuerySearch, QueryUnique } from './query';
3
+ import { UniversalRepository } from './repository';
4
+ import { IdValue } from './entity';
5
+ /**
6
+ * A `querier` allows to interact with the datasource to perform persistence operations on any entity.
7
+ */
8
+ export interface UniversalQuerier {
9
+ /**
10
+ * counts the number of records matching the given search parameters.
11
+ * @param entity the target entity
12
+ * @param qm the search options
13
+ */
14
+ count<E>(entity: Type<E>, qm?: QuerySearch<E>): Promise<any>;
15
+ /**
16
+ * obtains the record with the given primary key.
17
+ * @param entity the target entity
18
+ * @param id the primary key value
19
+ * @param qm the criteria options
20
+ */
21
+ findOneById<E>(entity: Type<E>, id: IdValue<E>, qm?: QueryUnique<E>): Promise<any>;
22
+ /**
23
+ * obtains the first record matching the given search parameters.
24
+ * @param entity the target entity
25
+ * @param qm the criteria options
26
+ */
27
+ findOne<E>(entity: Type<E>, qm: QueryOne<E>): Promise<any>;
28
+ /**
29
+ * obtains the records matching the given search parameters.
30
+ * @param entity the target entity
31
+ * @param qm the criteria options
32
+ */
33
+ findMany<E>(entity: Type<E>, qm: Query<E>): Promise<any>;
34
+ /**
35
+ * obtains the records matching the given search parameters,
36
+ * also counts the number of matches ignoring pagination.
37
+ * @param entity the target entity
38
+ * @param qm the criteria options
39
+ */
40
+ findManyAndCount<E>(entity: Type<E>, qm: Query<E>): Promise<any>;
41
+ /**
42
+ * inserts a record.
43
+ * @param entity the entity to persist on
44
+ * @param payload the data to be persisted
45
+ */
46
+ insertOne<E>(entity: Type<E>, payload: E): Promise<any>;
47
+ /**
48
+ * Inserts many records.
49
+ * @param entity the entity to persist on
50
+ * @param payload the data to be persisted
51
+ */
52
+ insertMany?<E>(entity: Type<E>, payload: E[]): Promise<any>;
53
+ /**
54
+ * updates a record partially.
55
+ * @param entity the entity to persist on
56
+ * @param id the primary key of the record to be updated
57
+ * @param payload the data to be persisted
58
+ */
59
+ updateOneById<E>(entity: Type<E>, id: IdValue<E>, payload: E): Promise<any>;
60
+ /**
61
+ * updates many records partially.
62
+ * @param entity the entity to persist on
63
+ * @param qm the criteria to look for the records
64
+ * @param payload the data to be persisted
65
+ */
66
+ updateMany?<E>(entity: Type<E>, qm: QueryCriteria<E>, payload: E): Promise<any>;
67
+ /**
68
+ * insert or update a record.
69
+ * @param entity the entity to persist on
70
+ * @param payload the data to be persisted
71
+ */
72
+ saveOne<E>(entity: Type<E>, payload: E): Promise<any>;
73
+ /**
74
+ * Insert or update records.
75
+ * @param entity the entity to persist on
76
+ * @param payload the data to be persisted
77
+ */
78
+ saveMany?<E>(entity: Type<E>, payload: E[]): Promise<any>;
79
+ /**
80
+ * delete or SoftDelete a record.
81
+ * @param entity the entity to persist on
82
+ * @param id the primary key of the record
83
+ */
84
+ deleteOneById<E>(entity: Type<E>, id: IdValue<E>, opts?: QueryOptions): Promise<any>;
85
+ /**
86
+ * delete or SoftDelete records.
87
+ * @param entity the entity to persist on
88
+ * @param qm the criteria to look for the records
89
+ */
90
+ deleteMany<E>(entity: Type<E>, qm: QueryCriteria<E>, opts?: QueryOptions): Promise<any>;
91
+ /**
92
+ * get a repository for the given entity.
93
+ * @param entity the entity to get the repository for
94
+ */
95
+ getRepository<E>(entity: Type<E>): UniversalRepository<E>;
96
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdmVyc2FsUXVlcmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3VuaXZlcnNhbFF1ZXJpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICcuL3V0aWxpdHknO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5Q3JpdGVyaWEsIFF1ZXJ5T25lLCBRdWVyeU9wdGlvbnMsIFF1ZXJ5U2VhcmNoLCBRdWVyeVVuaXF1ZSB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgVW5pdmVyc2FsUmVwb3NpdG9yeSB9IGZyb20gJy4vcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBJZFZhbHVlIH0gZnJvbSAnLi9lbnRpdHknO1xuXG4vKipcbiAqIEEgYHF1ZXJpZXJgIGFsbG93cyB0byBpbnRlcmFjdCB3aXRoIHRoZSBkYXRhc291cmNlIHRvIHBlcmZvcm0gcGVyc2lzdGVuY2Ugb3BlcmF0aW9ucyBvbiBhbnkgZW50aXR5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVuaXZlcnNhbFF1ZXJpZXIge1xuICAvKipcbiAgICogY291bnRzIHRoZSBudW1iZXIgb2YgcmVjb3JkcyBtYXRjaGluZyB0aGUgZ2l2ZW4gc2VhcmNoIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIHFtIHRoZSBzZWFyY2ggb3B0aW9uc1xuICAgKi9cbiAgY291bnQ8RT4oZW50aXR5OiBUeXBlPEU+LCBxbT86IFF1ZXJ5U2VhcmNoPEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBvYnRhaW5zIHRoZSByZWNvcmQgd2l0aCB0aGUgZ2l2ZW4gcHJpbWFyeSBrZXkuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIGlkIHRoZSBwcmltYXJ5IGtleSB2YWx1ZVxuICAgKiBAcGFyYW0gcW0gdGhlIGNyaXRlcmlhIG9wdGlvbnNcbiAgICovXG4gIGZpbmRPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHFtPzogUXVlcnlVbmlxdWU8RT4pOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIG9idGFpbnMgdGhlIGZpcnN0IHJlY29yZCBtYXRjaGluZyB0aGUgZ2l2ZW4gc2VhcmNoIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSBvcHRpb25zXG4gICAqL1xuICBmaW5kT25lPEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5T25lPEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBvYnRhaW5zIHRoZSByZWNvcmRzIG1hdGNoaW5nIHRoZSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgdGFyZ2V0IGVudGl0eVxuICAgKiBAcGFyYW0gcW0gdGhlIGNyaXRlcmlhIG9wdGlvbnNcbiAgICovXG4gIGZpbmRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBvYnRhaW5zIHRoZSByZWNvcmRzIG1hdGNoaW5nIHRoZSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVycyxcbiAgICogYWxzbyBjb3VudHMgdGhlIG51bWJlciBvZiBtYXRjaGVzIGlnbm9yaW5nIHBhZ2luYXRpb24uXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIHRhcmdldCBlbnRpdHlcbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSBvcHRpb25zXG4gICAqL1xuICBmaW5kTWFueUFuZENvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBpbnNlcnRzIGEgcmVjb3JkLlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gcGVyc2lzdCBvblxuICAgKiBAcGFyYW0gcGF5bG9hZCB0aGUgZGF0YSB0byBiZSBwZXJzaXN0ZWRcbiAgICovXG4gIGluc2VydE9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIEluc2VydHMgbWFueSByZWNvcmRzLlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gcGVyc2lzdCBvblxuICAgKiBAcGFyYW0gcGF5bG9hZCB0aGUgZGF0YSB0byBiZSBwZXJzaXN0ZWRcbiAgICovXG4gIGluc2VydE1hbnk/PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdKTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiB1cGRhdGVzIGEgcmVjb3JkIHBhcnRpYWxseS5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIGlkIHRoZSBwcmltYXJ5IGtleSBvZiB0aGUgcmVjb3JkIHRvIGJlIHVwZGF0ZWRcbiAgICogQHBhcmFtIHBheWxvYWQgdGhlIGRhdGEgdG8gYmUgcGVyc2lzdGVkXG4gICAqL1xuICB1cGRhdGVPbmVCeUlkPEU+KGVudGl0eTogVHlwZTxFPiwgaWQ6IElkVmFsdWU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIHVwZGF0ZXMgbWFueSByZWNvcmRzIHBhcnRpYWxseS5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSB0byBsb29rIGZvciB0aGUgcmVjb3Jkc1xuICAgKiBAcGFyYW0gcGF5bG9hZCB0aGUgZGF0YSB0byBiZSBwZXJzaXN0ZWRcbiAgICovXG4gIHVwZGF0ZU1hbnk/PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5Q3JpdGVyaWE8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIGluc2VydCBvciB1cGRhdGUgYSByZWNvcmQuXG4gICAqIEBwYXJhbSBlbnRpdHkgdGhlIGVudGl0eSB0byBwZXJzaXN0IG9uXG4gICAqIEBwYXJhbSBwYXlsb2FkIHRoZSBkYXRhIHRvIGJlIHBlcnNpc3RlZFxuICAgKi9cbiAgc2F2ZU9uZTxFPihlbnRpdHk6IFR5cGU8RT4sIHBheWxvYWQ6IEUpOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIEluc2VydCBvciB1cGRhdGUgcmVjb3Jkcy5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIHBheWxvYWQgdGhlIGRhdGEgdG8gYmUgcGVyc2lzdGVkXG4gICAqL1xuICBzYXZlTWFueT88RT4oZW50aXR5OiBUeXBlPEU+LCBwYXlsb2FkOiBFW10pOiBQcm9taXNlPGFueT47XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBvciBTb2Z0RGVsZXRlIGEgcmVjb3JkLlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gcGVyc2lzdCBvblxuICAgKiBAcGFyYW0gaWQgdGhlIHByaW1hcnkga2V5IG9mIHRoZSByZWNvcmRcbiAgICovXG4gIGRlbGV0ZU9uZUJ5SWQ8RT4oZW50aXR5OiBUeXBlPEU+LCBpZDogSWRWYWx1ZTxFPiwgb3B0cz86IFF1ZXJ5T3B0aW9ucyk6IFByb21pc2U8YW55PjtcblxuICAvKipcbiAgICogZGVsZXRlIG9yIFNvZnREZWxldGUgcmVjb3Jkcy5cbiAgICogQHBhcmFtIGVudGl0eSB0aGUgZW50aXR5IHRvIHBlcnNpc3Qgb25cbiAgICogQHBhcmFtIHFtIHRoZSBjcml0ZXJpYSB0byBsb29rIGZvciB0aGUgcmVjb3Jkc1xuICAgKi9cbiAgZGVsZXRlTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeUNyaXRlcmlhPEU+LCBvcHRzPzogUXVlcnlPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBnZXQgYSByZXBvc2l0b3J5IGZvciB0aGUgZ2l2ZW4gZW50aXR5LlxuICAgKiBAcGFyYW0gZW50aXR5IHRoZSBlbnRpdHkgdG8gZ2V0IHRoZSByZXBvc2l0b3J5IGZvclxuICAgKi9cbiAgZ2V0UmVwb3NpdG9yeTxFPihlbnRpdHk6IFR5cGU8RT4pOiBVbml2ZXJzYWxSZXBvc2l0b3J5PEU+O1xufVxuIl19
@@ -21,7 +21,7 @@ function getPersistable(meta, payload, callbackKey) {
21
21
  exports.getPersistable = getPersistable;
22
22
  function getPersistables(meta, payload, callbackKey) {
23
23
  const payloads = fillOnFields(meta, payload, callbackKey);
24
- const persistableKeys = util_1.getKeys(payloads[0]).filter((key) => meta.fields[key]);
24
+ const persistableKeys = (0, util_1.getKeys)(payloads[0]).filter((key) => meta.fields[key]);
25
25
  return payloads.map((it) => persistableKeys.reduce((acc, key) => {
26
26
  acc[key] = it[key];
27
27
  return acc;
@@ -30,7 +30,7 @@ function getPersistables(meta, payload, callbackKey) {
30
30
  exports.getPersistables = getPersistables;
31
31
  function fillOnFields(meta, payload, callbackKey) {
32
32
  const payloads = Array.isArray(payload) ? payload : [payload];
33
- const keys = util_1.getKeys(meta.fields).filter((col) => meta.fields[col][callbackKey]);
33
+ const keys = (0, util_1.getKeys)(meta.fields).filter((col) => meta.fields[col][callbackKey]);
34
34
  return payloads.map((it) => {
35
35
  for (const key of keys) {
36
36
  if (it[key] === undefined) {
@@ -41,7 +41,7 @@ function fillOnFields(meta, payload, callbackKey) {
41
41
  });
42
42
  }
43
43
  function getPersistableRelations(meta, payload, action) {
44
- const keys = util_1.getKeys(payload);
44
+ const keys = (0, util_1.getKeys)(payload);
45
45
  return keys.filter((key) => {
46
46
  const relOpts = meta.relations[key];
47
47
  return relOpts && isCascadable(action, relOpts.cascade);
@@ -69,7 +69,7 @@ function getProjectKeys(project) {
69
69
  if (Array.isArray(project)) {
70
70
  return project;
71
71
  }
72
- return util_1.getKeys(project).filter((key) => project[key]);
72
+ return (0, util_1.getKeys)(project).filter((key) => project[key]);
73
73
  }
74
74
  function buildSortMap(sort) {
75
75
  if (Array.isArray(sort)) {
@@ -107,4 +107,4 @@ function getQueryFilterAsMap(meta, filter = {}) {
107
107
  return filter;
108
108
  }
109
109
  exports.getQueryFilterAsMap = getQueryFilterAsMap;
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbGVjdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZGlhbGVjdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLHlDQUE4QztBQUk5QyxTQUFnQixXQUFXLENBQUMsSUFBbUY7O0lBQzdHLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzlELE1BQU0sR0FBRyxHQUFHLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3pGLE1BQU0sS0FBSyxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssbUNBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztJQUN4QyxJQUFJLEtBQUssRUFBRTtRQUNULE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsT0FBTyxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBVkQsa0NBVUM7QUFFRCxTQUFnQixjQUFjLENBQUksSUFBbUIsRUFBRSxPQUFVLEVBQUUsV0FBd0I7SUFDekYsT0FBTyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsd0NBRUM7QUFFRCxTQUFnQixlQUFlLENBQUksSUFBbUIsRUFBRSxPQUFnQixFQUFFLFdB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QyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsT0FBTztRQUNMLEdBQUcsZ0JBQWdCO1FBQ25CLEdBQUcsZ0JBQWdCO0tBQ3BCLENBQUM7QUFDSixDQUFDO0FBUEQsc0NBT0M7QUFFRCxTQUFnQixtQkFBbUIsQ0FBSSxJQUFtQixFQUFFLFNBQXlCLEVBQUU7SUFDckYsSUFBSSxNQUFNLFlBQVksVUFBRyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBdUIsQ0FBQztLQUNoRDtJQUNELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBUSxNQUFrQixDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7UUFDaEgsT0FBTztZQUNMLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU07U0FDRyxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxNQUEyQixDQUFDO0FBQ3JDLENBQUM7QUFWRCxrREFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eU1ldGEsXG4gIEZpZWxkS2V5LFxuICBRdWVyeVByb2plY3QsXG4gIENhc2NhZGVUeXBlLFxuICBSZWxhdGlvbktleSxcbiAgRmllbGRPcHRpb25zLFxuICBLZXksXG4gIFF1ZXJ5U29ydCxcbiAgUXVlcnlTb3J0TWFwLFxuICBRdWVyeVJhd0ZuT3B0aW9ucyxcbiAgUXVlcnlGaWx0ZXIsXG4gIFF1ZXJ5RmlsdGVyTWFwLFxufSBmcm9tICdAdXFsL2NvcmUvdHlwZSc7XG5pbXBvcnQgeyBnZXRLZXlzLCBSYXcgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5cbnR5cGUgQ2FsbGJhY2tLZXkgPSBrZXlvZiBQaWNrPEZpZWxkT3B0aW9ucywgJ29uSW5zZXJ0JyB8ICdvblVwZGF0ZScgfCAnb25EZWxldGUnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhd1ZhbHVlKG9wdHM6IFF1ZXJ5UmF3Rm5PcHRpb25zICYgeyB2YWx1ZTogUmF3OyBhbGlhcz86IHN0cmluZzsgYXV0b1ByZWZpeEFsaWFzPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHsgdmFsdWUsIHByZWZpeCA9ICcnLCBkaWFsZWN0LCBhdXRvUHJlZml4QWxpYXMgfSA9IG9wdHM7XG4gIGNvbnN0IHZhbCA9IHR5cGVvZiB2YWx1ZS52YWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IHZhbHVlLnZhbHVlKG9wdHMpIDogcHJlZml4ICsgdmFsdWUudmFsdWU7XG4gIGNvbnN0IGFsaWFzID0gb3B0cy5hbGlhcyA/PyB2YWx1ZS5hbGlhcztcbiAgaWYgKGFsaWFzKSB7XG4gICAgY29uc3QgZnVsbEFsaWFzID0gYXV0b1ByZWZpeEFsaWFzID8gcHJlZml4ICsgYWxpYXMgOiBhbGlhcztcbiAgICBjb25zdCBlc2NhcGVkRnVsbEFsaWFzID0gZGlhbGVjdC5lc2NhcGVJZChmdWxsQWxpYXMsIHRydWUpO1xuICAgIHJldHVybiBgJHt2YWx9ICR7ZXNjYXBlZEZ1bGxBbGlhc31gO1xuICB9XG4gIHJldHVybiB2YWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZXJzaXN0YWJsZTxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBwYXlsb2FkOiBFLCBjYWxsYmFja0tleTogQ2FsbGJhY2tLZXkpOiBFIHtcbiAgcmV0dXJuIGdldFBlcnNpc3RhYmxlcyhtZXRhLCBwYXlsb2FkLCBjYWxsYmFja0tleSlbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZXJzaXN0YWJsZXM8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgcGF5bG9hZDogRSB8IEVbXSwgY2FsbGJhY2tLZXk6IENhbGxiYWNrS2V5KTogRVtdIHtcbiAgY29uc3QgcGF5bG9hZHMgPSBmaWxsT25GaWVsZHMobWV0YSwgcGF5bG9hZCwgY2FsbGJhY2tLZXkpO1xuICBjb25zdCBwZXJzaXN0YWJsZUtleXMgPSBnZXRLZXlzKHBheWxvYWRzWzBdKS5maWx0ZXIoKGtleSkgPT4gbWV0YS5maWVsZHNba2V5XSkgYXMgRmllbGRLZXk8RT5bXTtcbiAgcmV0dXJuIHBheWxvYWRzLm1hcCgoaXQpID0+XG4gICAgcGVyc2lzdGFibGVLZXlzLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGFjY1trZXldID0gaXRba2V5XTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgRSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gZmlsbE9uRmllbGRzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHBheWxvYWQ6IEUgfCBFW10sIGNhbGxiYWNrS2V5OiBDYWxsYmFja0tleSk6IEVbXSB7XG4gIGNvbnN0IHBheWxvYWRzID0gQXJyYXkuaXNBcnJheShwYXlsb2FkKSA/IHBheWxvYWQgOiBbcGF5bG9hZF07XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlzKG1ldGEuZmllbGRzKS5maWx0ZXIoKGNvbCkgPT4gbWV0YS5maWVsZHNbY29sXVtjYWxsYmFja0tleV0pO1xuICByZXR1cm4gcGF5bG9hZHMubWFwKChpdCkgPT4ge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIGlmIChpdFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaXRba2V5XSA9IG1ldGEuZmllbGRzW2tleV1bY2FsbGJhY2tLZXldKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdDtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZXJzaXN0YWJsZVJlbGF0aW9uczxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBwYXlsb2FkOiBFLCBhY3Rpb246IENhc2NhZGVUeXBlKTogUmVsYXRpb25LZXk8RT5bXSB7XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlzKHBheWxvYWQpO1xuICByZXR1cm4ga2V5cy5maWx0ZXIoKGtleSkgPT4ge1xuICAgIGNvbnN0IHJlbE9wdHMgPSBtZXRhLnJlbGF0aW9uc1trZXkgYXMgUmVsYXRpb25LZXk8RT5dO1xuICAgIHJldHVybiByZWxPcHRzICYmIGlzQ2FzY2FkYWJsZShhY3Rpb24sIHJlbE9wdHMuY2FzY2FkZSk7XG4gIH0pIGFzIFJlbGF0aW9uS2V5PEU+W107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Nhc2NhZGFibGUoYWN0aW9uOiBDYXNjYWRlVHlwZSwgY29uZmlndXJhdGlvbj86IGJvb2xlYW4gfCBDYXNjYWRlVHlwZSk6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIGNvbmZpZ3VyYXRpb24gPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBjb25maWd1cmF0aW9uO1xuICB9XG4gIHJldHVybiBjb25maWd1cmF0aW9uID09PSBhY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9qZWN0UmVsYXRpb25LZXlzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IFJlbGF0aW9uS2V5PEU+W10ge1xuICBjb25zdCBrZXlzID0gZ2V0UHJvamVjdEtleXMocHJvamVjdCk7XG4gIHJldHVybiBrZXlzLmZpbHRlcigoa2V5KSA9PiBtZXRhLnJlbGF0aW9uc1trZXkgYXMgUmVsYXRpb25LZXk8RT5dKSBhcyBSZWxhdGlvbktleTxFPltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9qZWN0aW5nUmVsYXRpb25zPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IGJvb2xlYW4ge1xuICBjb25zdCBrZXlzID0gZ2V0UHJvamVjdEtleXMocHJvamVjdCk7XG4gIHJldHVybiBrZXlzLnNvbWUoKGtleSkgPT4gbWV0YS5yZWxhdGlvbnNba2V5IGFzIFJlbGF0aW9uS2V5PEU+XSk7XG59XG5cbmZ1bmN0aW9uIGdldFByb2plY3RLZXlzPEU+KHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IEtleTxFPltdIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvamVjdCkpIHtcbiAgICByZXR1cm4gcHJvamVjdCBhcyBLZXk8RT5bXTtcbiAgfVxuICByZXR1cm4gZ2V0S2V5cyhwcm9qZWN0KS5maWx0ZXIoKGtleSkgPT4gcHJvamVjdFtrZXldKSBhcyBLZXk8RT5bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU29ydE1hcDxFPihzb3J0OiBRdWVyeVNvcnQ8RT4pOiBRdWVyeVNvcnRNYXA8RT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShzb3J0KSkge1xuICAgIHJldHVybiBzb3J0LnJlZHVjZSgoYWNjLCBpdCkgPT4ge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXQpKSB7XG4gICAgICAgIGFjY1tpdFswXV0gPSBpdFsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjY1tpdC5maWVsZF0gPSBpdC5zb3J0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBRdWVyeVNvcnRNYXA8RT4pO1xuICB9XG4gIHJldHVybiBzb3J0IGFzIFF1ZXJ5U29ydE1hcDxFPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1Z21lbnRGaWx0ZXI8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgdGFyZ2V0OiBRdWVyeUZpbHRlcjxFPiA9IHt9LCBzb3VyY2U6IFF1ZXJ5RmlsdGVyPEU+ID0ge30pOiBRdWVyeUZpbHRlcjxFPiB7XG4gIGNvbnN0IHRhcmdldENvbXBhcmlzb24gPSBnZXRRdWVyeUZpbHRlckFzTWFwKG1ldGEsIHRhcmdldCk7XG4gIGNvbnN0IHNvdXJjZUNvbXBhcmlzb24gPSBnZXRRdWVyeUZpbHRlckFzTWFwKG1ldGEsIHNvdXJjZSk7XG4gIHJldHVybiB7XG4gICAgLi4udGFyZ2V0Q29tcGFyaXNvbixcbiAgICAuLi5zb3VyY2VDb21wYXJpc29uLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnlGaWx0ZXJBc01hcDxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBmaWx0ZXI6IFF1ZXJ5RmlsdGVyPEU+ID0ge30pOiBRdWVyeUZpbHRlck1hcDxFPiB7XG4gIGlmIChmaWx0ZXIgaW5zdGFuY2VvZiBSYXcpIHtcbiAgICByZXR1cm4geyAkYW5kOiBbZmlsdGVyXSB9IGFzIFF1ZXJ5RmlsdGVyTWFwPEU+O1xuICB9XG4gIGlmICh0eXBlb2YgZmlsdGVyICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGZpbHRlcikgfHwgdHlwZW9mIChmaWx0ZXIgYXMgTW9uZ29JZCkudG9IZXhTdHJpbmcgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4ge1xuICAgICAgW21ldGEuaWRdOiBmaWx0ZXIsXG4gICAgfSBhcyBRdWVyeUZpbHRlck1hcDxFPjtcbiAgfVxuICByZXR1cm4gZmlsdGVyIGFzIFF1ZXJ5RmlsdGVyTWFwPEU+O1xufVxuXG50eXBlIE1vbmdvSWQgPSB7XG4gIHJlYWRvbmx5IHRvSGV4U3RyaW5nOiBGdW5jdGlvbjtcbn07XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbGVjdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZGlhbGVjdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWNBLHlDQUE4QztBQUk5QyxTQUFnQixXQUFXLENBQUMsSUFBbUY7O0lBQzdHLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQzlELE1BQU0sR0FBRyxHQUFHLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3pGLE1BQU0sS0FBSyxHQUFHLE1BQUEsSUFBSSxDQUFDLEtBQUssbUNBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztJQUN4QyxJQUFJLEtBQUssRUFBRTtRQUNULE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsT0FBTyxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBVkQsa0NBVUM7QUFFRCxTQUFnQixjQUFjLENBQUksSUFBbUIsRUFBRSxPQUFVLEVBQUUsV0FBd0I7SUFDekYsT0FBTyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsd0NBRUM7QUFFRCxTQUFnQixlQUFlLENBQUksSUFBbUIsRUFBRSxPQUFnQixFQUFFLFdB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QUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxPQUFPO1FBQ0wsR0FBRyxnQkFBZ0I7UUFDbkIsR0FBRyxnQkFBZ0I7S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFQRCxzQ0FPQztBQUVELFNBQWdCLG1CQUFtQixDQUFJLElBQW1CLEVBQUUsU0FBeUIsRUFBRTtJQUNyRixJQUFJLE1BQU0sWUFBWSxVQUFHLEVBQUU7UUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUF1QixDQUFDO0tBQ2hEO0lBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFRLE1BQWtCLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRTtRQUNoSCxPQUFPO1lBQ0wsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTTtTQUNHLENBQUM7S0FDeEI7SUFDRCxPQUFPLE1BQTJCLENBQUM7QUFDckMsQ0FBQztBQVZELGtEQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5TWV0YSxcbiAgRmllbGRLZXksXG4gIFF1ZXJ5UHJvamVjdCxcbiAgQ2FzY2FkZVR5cGUsXG4gIFJlbGF0aW9uS2V5LFxuICBGaWVsZE9wdGlvbnMsXG4gIEtleSxcbiAgUXVlcnlTb3J0LFxuICBRdWVyeVNvcnRNYXAsXG4gIFF1ZXJ5UmF3Rm5PcHRpb25zLFxuICBRdWVyeUZpbHRlcixcbiAgUXVlcnlGaWx0ZXJNYXAsXG59IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IGdldEtleXMsIFJhdyB9IGZyb20gJ0B1cWwvY29yZS91dGlsJztcblxudHlwZSBDYWxsYmFja0tleSA9IGtleW9mIFBpY2s8RmllbGRPcHRpb25zLCAnb25JbnNlcnQnIHwgJ29uVXBkYXRlJyB8ICdvbkRlbGV0ZSc+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmF3VmFsdWUob3B0czogUXVlcnlSYXdGbk9wdGlvbnMgJiB7IHZhbHVlOiBSYXc7IGFsaWFzPzogc3RyaW5nOyBhdXRvUHJlZml4QWxpYXM/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgeyB2YWx1ZSwgcHJlZml4ID0gJycsIGRpYWxlY3QsIGF1dG9QcmVmaXhBbGlhcyB9ID0gb3B0cztcbiAgY29uc3QgdmFsID0gdHlwZW9mIHZhbHVlLnZhbHVlID09PSAnZnVuY3Rpb24nID8gdmFsdWUudmFsdWUob3B0cykgOiBwcmVmaXggKyB2YWx1ZS52YWx1ZTtcbiAgY29uc3QgYWxpYXMgPSBvcHRzLmFsaWFzID8/IHZhbHVlLmFsaWFzO1xuICBpZiAoYWxpYXMpIHtcbiAgICBjb25zdCBmdWxsQWxpYXMgPSBhdXRvUHJlZml4QWxpYXMgPyBwcmVmaXggKyBhbGlhcyA6IGFsaWFzO1xuICAgIGNvbnN0IGVzY2FwZWRGdWxsQWxpYXMgPSBkaWFsZWN0LmVzY2FwZUlkKGZ1bGxBbGlhcywgdHJ1ZSk7XG4gICAgcmV0dXJuIGAke3ZhbH0gJHtlc2NhcGVkRnVsbEFsaWFzfWA7XG4gIH1cbiAgcmV0dXJuIHZhbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBlcnNpc3RhYmxlPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHBheWxvYWQ6IEUsIGNhbGxiYWNrS2V5OiBDYWxsYmFja0tleSk6IEUge1xuICByZXR1cm4gZ2V0UGVyc2lzdGFibGVzKG1ldGEsIHBheWxvYWQsIGNhbGxiYWNrS2V5KVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBlcnNpc3RhYmxlczxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCBwYXlsb2FkOiBFIHwgRVtdLCBjYWxsYmFja0tleTogQ2FsbGJhY2tLZXkpOiBFW10ge1xuICBjb25zdCBwYXlsb2FkcyA9IGZpbGxPbkZpZWxkcyhtZXRhLCBwYXlsb2FkLCBjYWxsYmFja0tleSk7XG4gIGNvbnN0IHBlcnNpc3RhYmxlS2V5cyA9IGdldEtleXMocGF5bG9hZHNbMF0pLmZpbHRlcigoa2V5KSA9PiBtZXRhLmZpZWxkc1trZXldKSBhcyBGaWVsZEtleTxFPltdO1xuICByZXR1cm4gcGF5bG9hZHMubWFwKChpdCkgPT5cbiAgICBwZXJzaXN0YWJsZUtleXMucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgYWNjW2tleV0gPSBpdFtrZXldO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBFKVxuICApO1xufVxuXG5mdW5jdGlvbiBmaWxsT25GaWVsZHM8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgcGF5bG9hZDogRSB8IEVbXSwgY2FsbGJhY2tLZXk6IENhbGxiYWNrS2V5KTogRVtdIHtcbiAgY29uc3QgcGF5bG9hZHMgPSBBcnJheS5pc0FycmF5KHBheWxvYWQpID8gcGF5bG9hZCA6IFtwYXlsb2FkXTtcbiAgY29uc3Qga2V5cyA9IGdldEtleXMobWV0YS5maWVsZHMpLmZpbHRlcigoY29sKSA9PiBtZXRhLmZpZWxkc1tjb2xdW2NhbGxiYWNrS2V5XSk7XG4gIHJldHVybiBwYXlsb2Fkcy5tYXAoKGl0KSA9PiB7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgaWYgKGl0W2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpdFtrZXldID0gbWV0YS5maWVsZHNba2V5XVtjYWxsYmFja0tleV0oKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGl0O1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBlcnNpc3RhYmxlUmVsYXRpb25zPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIHBheWxvYWQ6IEUsIGFjdGlvbjogQ2FzY2FkZVR5cGUpOiBSZWxhdGlvbktleTxFPltdIHtcbiAgY29uc3Qga2V5cyA9IGdldEtleXMocGF5bG9hZCk7XG4gIHJldHVybiBrZXlzLmZpbHRlcigoa2V5KSA9PiB7XG4gICAgY29uc3QgcmVsT3B0cyA9IG1ldGEucmVsYXRpb25zW2tleSBhcyBSZWxhdGlvbktleTxFPl07XG4gICAgcmV0dXJuIHJlbE9wdHMgJiYgaXNDYXNjYWRhYmxlKGFjdGlvbiwgcmVsT3B0cy5jYXNjYWRlKTtcbiAgfSkgYXMgUmVsYXRpb25LZXk8RT5bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FzY2FkYWJsZShhY3Rpb246IENhc2NhZGVUeXBlLCBjb25maWd1cmF0aW9uPzogYm9vbGVhbiB8IENhc2NhZGVUeXBlKTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2YgY29uZmlndXJhdGlvbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247XG4gIH1cbiAgcmV0dXJuIGNvbmZpZ3VyYXRpb24gPT09IGFjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2plY3RSZWxhdGlvbktleXM8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgcHJvamVjdDogUXVlcnlQcm9qZWN0PEU+KTogUmVsYXRpb25LZXk8RT5bXSB7XG4gIGNvbnN0IGtleXMgPSBnZXRQcm9qZWN0S2V5cyhwcm9qZWN0KTtcbiAgcmV0dXJuIGtleXMuZmlsdGVyKChrZXkpID0+IG1ldGEucmVsYXRpb25zW2tleSBhcyBSZWxhdGlvbktleTxFPl0pIGFzIFJlbGF0aW9uS2V5PEU+W107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2plY3RpbmdSZWxhdGlvbnM8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgcHJvamVjdDogUXVlcnlQcm9qZWN0PEU+KTogYm9vbGVhbiB7XG4gIGNvbnN0IGtleXMgPSBnZXRQcm9qZWN0S2V5cyhwcm9qZWN0KTtcbiAgcmV0dXJuIGtleXMuc29tZSgoa2V5KSA9PiBtZXRhLnJlbGF0aW9uc1trZXkgYXMgUmVsYXRpb25LZXk8RT5dKTtcbn1cblxuZnVuY3Rpb24gZ2V0UHJvamVjdEtleXM8RT4ocHJvamVjdDogUXVlcnlQcm9qZWN0PEU+KTogS2V5PEU+W10ge1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9qZWN0KSkge1xuICAgIHJldHVybiBwcm9qZWN0IGFzIEtleTxFPltdO1xuICB9XG4gIHJldHVybiBnZXRLZXlzKHByb2plY3QpLmZpbHRlcigoa2V5KSA9PiBwcm9qZWN0W2tleV0pIGFzIEtleTxFPltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTb3J0TWFwPEU+KHNvcnQ6IFF1ZXJ5U29ydDxFPik6IFF1ZXJ5U29ydE1hcDxFPiB7XG4gIGlmIChBcnJheS5pc0FycmF5KHNvcnQpKSB7XG4gICAgcmV0dXJuIHNvcnQucmVkdWNlKChhY2MsIGl0KSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShpdCkpIHtcbiAgICAgICAgYWNjW2l0WzBdXSA9IGl0WzFdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWNjW2l0LmZpZWxkXSA9IGl0LnNvcnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFF1ZXJ5U29ydE1hcDxFPik7XG4gIH1cbiAgcmV0dXJuIHNvcnQgYXMgUXVlcnlTb3J0TWFwPEU+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXVnbWVudEZpbHRlcjxFPihtZXRhOiBFbnRpdHlNZXRhPEU+LCB0YXJnZXQ6IFF1ZXJ5RmlsdGVyPEU+ID0ge30sIHNvdXJjZTogUXVlcnlGaWx0ZXI8RT4gPSB7fSk6IFF1ZXJ5RmlsdGVyPEU+IHtcbiAgY29uc3QgdGFyZ2V0Q29tcGFyaXNvbiA9IGdldFF1ZXJ5RmlsdGVyQXNNYXAobWV0YSwgdGFyZ2V0KTtcbiAgY29uc3Qgc291cmNlQ29tcGFyaXNvbiA9IGdldFF1ZXJ5RmlsdGVyQXNNYXAobWV0YSwgc291cmNlKTtcbiAgcmV0dXJuIHtcbiAgICAuLi50YXJnZXRDb21wYXJpc29uLFxuICAgIC4uLnNvdXJjZUNvbXBhcmlzb24sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRRdWVyeUZpbHRlckFzTWFwPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIGZpbHRlcjogUXVlcnlGaWx0ZXI8RT4gPSB7fSk6IFF1ZXJ5RmlsdGVyTWFwPEU+IHtcbiAgaWYgKGZpbHRlciBpbnN0YW5jZW9mIFJhdykge1xuICAgIHJldHVybiB7ICRhbmQ6IFtmaWx0ZXJdIH0gYXMgUXVlcnlGaWx0ZXJNYXA8RT47XG4gIH1cbiAgaWYgKHR5cGVvZiBmaWx0ZXIgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZmlsdGVyKSB8fCB0eXBlb2YgKGZpbHRlciBhcyBNb25nb0lkKS50b0hleFN0cmluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB7XG4gICAgICBbbWV0YS5pZF06IGZpbHRlcixcbiAgICB9IGFzIFF1ZXJ5RmlsdGVyTWFwPEU+O1xuICB9XG4gIHJldHVybiBmaWx0ZXIgYXMgUXVlcnlGaWx0ZXJNYXA8RT47XG59XG5cbnR5cGUgTW9uZ29JZCA9IHtcbiAgcmVhZG9ubHkgdG9IZXhTdHJpbmc6IEZ1bmN0aW9uO1xufTtcbiJdfQ==
package/util/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./string.util"), exports);
5
- tslib_1.__exportStar(require("./object.util"), exports);
6
- tslib_1.__exportStar(require("./dialect.util"), exports);
7
- tslib_1.__exportStar(require("./sql.util"), exports);
8
- tslib_1.__exportStar(require("./raw"), exports);
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBOEI7QUFDOUIsd0RBQThCO0FBQzlCLHlEQUErQjtBQUMvQixxREFBMkI7QUFDM0IsZ0RBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdHJpbmcudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZGlhbGVjdC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vc3FsLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXcnO1xuIl19
4
+ (0, tslib_1.__exportStar)(require("./string.util"), exports);
5
+ (0, tslib_1.__exportStar)(require("./object.util"), exports);
6
+ (0, tslib_1.__exportStar)(require("./dialect.util"), exports);
7
+ (0, tslib_1.__exportStar)(require("./sql.util"), exports);
8
+ (0, tslib_1.__exportStar)(require("./raw"), exports);
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBOEI7QUFDOUIsNkRBQThCO0FBQzlCLDhEQUErQjtBQUMvQiwwREFBMkI7QUFDM0IscURBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdHJpbmcudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZGlhbGVjdC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vc3FsLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXcnO1xuIl19
package/util/sql.util.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.unflatObjects = exports.flatObject = void 0;
4
4
  const object_util_1 = require("./object.util");
5
5
  function flatObject(obj, pre) {
6
- return object_util_1.getKeys(obj).reduce((acc, key) => flatObjectEntry(acc, key, obj[key], typeof obj[key] === 'object' ? '' : pre), {});
6
+ return (0, object_util_1.getKeys)(obj).reduce((acc, key) => flatObjectEntry(acc, key, obj[key], typeof obj[key] === 'object' ? '' : pre), {});
7
7
  }
8
8
  exports.flatObject = flatObject;
9
9
  function flatObjectEntry(map, key, val, pre) {
@@ -17,7 +17,7 @@ function unflatObjects(objects) {
17
17
  return objects;
18
18
  }
19
19
  const attrsPaths = obtainAttrsPaths(objects[0]);
20
- if (!object_util_1.hasKeys(attrsPaths)) {
20
+ if (!(0, object_util_1.hasKeys)(attrsPaths)) {
21
21
  return objects;
22
22
  }
23
23
  return objects.map((row) => {
@@ -45,11 +45,11 @@ function unflatObjects(objects) {
45
45
  }
46
46
  exports.unflatObjects = unflatObjects;
47
47
  function obtainAttrsPaths(row) {
48
- return object_util_1.getKeys(row).reduce((acc, col) => {
48
+ return (0, object_util_1.getKeys)(row).reduce((acc, col) => {
49
49
  if (col.includes('.')) {
50
50
  acc[col] = col.split('.');
51
51
  }
52
52
  return acc;
53
53
  }, {});
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9zcWwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBaUQ7QUFFakQsU0FBZ0IsVUFBVSxDQUFJLEdBQU0sRUFBRSxHQUFZO0lBQ2hELE9BQU8scUJBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQU8sQ0FBQyxDQUFDO0FBQ2xJLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQVMsZUFBZSxDQUFJLEdBQU0sRUFBRSxHQUFXLEVBQUUsR0FBUSxFQUFFLEdBQVk7SUFDckUsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzNDLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUTtRQUM1QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDO1FBQzVGLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDaEMsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBSSxPQUFZO0lBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUM5QyxPQUFPLE9BQU8sQ0FBQztLQUNoQjtJQUVELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhELElBQUksQ0FBQyxxQkFBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sT0FBTyxDQUFDO0tBQ2hCO0lBRUQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDekIsTUFBTSxHQUFHLEdBQUcsRUFBTyxDQUFDO1FBRXBCLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDckIsU0FBUzthQUNWO1lBQ0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO29CQUN2RCxJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRTt3QkFDaEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztxQkFDZjtvQkFDRCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNSLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3JCO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQWxDRCxzQ0FrQ0M7QUFFRCxTQUFTLGdCQUFnQixDQUFJLEdBQU07SUFDakMsT0FBTyxxQkFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN0QyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUErQixDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc0tleXMsIGdldEtleXMgfSBmcm9tICcuL29iamVjdC51dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXRPYmplY3Q8RT4ob2JqOiBFLCBwcmU/OiBzdHJpbmcpOiBFIHtcbiAgcmV0dXJuIGdldEtleXMob2JqKS5yZWR1Y2UoKGFjYywga2V5KSA9PiBmbGF0T2JqZWN0RW50cnkoYWNjLCBrZXksIG9ialtrZXldLCB0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnID8gJycgOiBwcmUpLCB7fSBhcyBFKTtcbn1cblxuZnVuY3Rpb24gZmxhdE9iamVjdEVudHJ5PEU+KG1hcDogRSwga2V5OiBzdHJpbmcsIHZhbDogYW55LCBwcmU/OiBzdHJpbmcpOiBFIHtcbiAgY29uc3QgcHJlZml4ID0gcHJlID8gYCR7cHJlfS4ke2tleX1gIDoga2V5O1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ29iamVjdCdcbiAgICA/IE9iamVjdC5rZXlzKHZhbCkucmVkdWNlKChhY2MsIHByb3ApID0+IGZsYXRPYmplY3RFbnRyeShhY2MsIHByb3AsIHZhbFtwcm9wXSwgcHJlZml4KSwgbWFwKVxuICAgIDogeyAuLi5tYXAsIFtwcmVmaXhdOiB2YWwgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuZmxhdE9iamVjdHM8VD4ob2JqZWN0czogVFtdKTogVFtdIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KG9iamVjdHMpIHx8ICFvYmplY3RzLmxlbmd0aCkge1xuICAgIHJldHVybiBvYmplY3RzO1xuICB9XG5cbiAgY29uc3QgYXR0cnNQYXRocyA9IG9idGFpbkF0dHJzUGF0aHMob2JqZWN0c1swXSk7XG5cbiAgaWYgKCFoYXNLZXlzKGF0dHJzUGF0aHMpKSB7XG4gICAgcmV0dXJuIG9iamVjdHM7XG4gIH1cblxuICByZXR1cm4gb2JqZWN0cy5tYXAoKHJvdykgPT4ge1xuICAgIGNvbnN0IGR0byA9IHt9IGFzIFQ7XG5cbiAgICBmb3IgKGNvbnN0IGNvbCBpbiByb3cpIHtcbiAgICAgIGlmIChyb3dbY29sXSA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGF0dHJQYXRoID0gYXR0cnNQYXRoc1tjb2xdO1xuICAgICAgaWYgKGF0dHJQYXRoKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGF0dHJQYXRoLnNsaWNlKDAsIC0xKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBhY2Nba2V5XSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGFjY1trZXldID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY2Nba2V5XTtcbiAgICAgICAgfSwgZHRvKTtcbiAgICAgICAgdGFyZ2V0W2F0dHJQYXRoW2F0dHJQYXRoLmxlbmd0aCAtIDFdXSA9IHJvd1tjb2xdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZHRvW2NvbF0gPSByb3dbY29sXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZHRvO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gb2J0YWluQXR0cnNQYXRoczxUPihyb3c6IFQpIHtcbiAgcmV0dXJuIGdldEtleXMocm93KS5yZWR1Y2UoKGFjYywgY29sKSA9PiB7XG4gICAgaWYgKGNvbC5pbmNsdWRlcygnLicpKSB7XG4gICAgICBhY2NbY29sXSA9IGNvbC5zcGxpdCgnLicpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyB7IFtrOiBzdHJpbmddOiBzdHJpbmdbXSB9KTtcbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9zcWwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBaUQ7QUFFakQsU0FBZ0IsVUFBVSxDQUFJLEdBQU0sRUFBRSxHQUFZO0lBQ2hELE9BQU8sSUFBQSxxQkFBTyxFQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBTyxDQUFDLENBQUM7QUFDbEksQ0FBQztBQUZELGdDQUVDO0FBRUQsU0FBUyxlQUFlLENBQUksR0FBTSxFQUFFLEdBQVcsRUFBRSxHQUFRLEVBQUUsR0FBWTtJQUNyRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0MsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQzVCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUM7UUFDNUYsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNoQyxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFJLE9BQVk7SUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQzlDLE9BQU8sT0FBTyxDQUFDO0tBQ2hCO0lBRUQsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFaEQsSUFBSSxDQUFDLElBQUEscUJBQU8sRUFBQyxVQUFVLENBQUMsRUFBRTtRQUN4QixPQUFPLE9BQU8sQ0FBQztLQUNoQjtJQUVELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLEVBQU8sQ0FBQztRQUVwQixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3JCLFNBQVM7YUFDVjtZQUNELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQyxJQUFJLFFBQVEsRUFBRTtnQkFDWixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtvQkFDdkQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLEVBQUU7d0JBQ2hDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7cUJBQ2Y7b0JBQ0QsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDUixNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyQjtTQUNGO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFsQ0Qsc0NBa0NDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBSSxHQUFNO0lBQ2pDLE9BQU8sSUFBQSxxQkFBTyxFQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN0QyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUErQixDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhc0tleXMsIGdldEtleXMgfSBmcm9tICcuL29iamVjdC51dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXRPYmplY3Q8RT4ob2JqOiBFLCBwcmU/OiBzdHJpbmcpOiBFIHtcbiAgcmV0dXJuIGdldEtleXMob2JqKS5yZWR1Y2UoKGFjYywga2V5KSA9PiBmbGF0T2JqZWN0RW50cnkoYWNjLCBrZXksIG9ialtrZXldLCB0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnID8gJycgOiBwcmUpLCB7fSBhcyBFKTtcbn1cblxuZnVuY3Rpb24gZmxhdE9iamVjdEVudHJ5PEU+KG1hcDogRSwga2V5OiBzdHJpbmcsIHZhbDogYW55LCBwcmU/OiBzdHJpbmcpOiBFIHtcbiAgY29uc3QgcHJlZml4ID0gcHJlID8gYCR7cHJlfS4ke2tleX1gIDoga2V5O1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ29iamVjdCdcbiAgICA/IE9iamVjdC5rZXlzKHZhbCkucmVkdWNlKChhY2MsIHByb3ApID0+IGZsYXRPYmplY3RFbnRyeShhY2MsIHByb3AsIHZhbFtwcm9wXSwgcHJlZml4KSwgbWFwKVxuICAgIDogeyAuLi5tYXAsIFtwcmVmaXhdOiB2YWwgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuZmxhdE9iamVjdHM8VD4ob2JqZWN0czogVFtdKTogVFtdIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KG9iamVjdHMpIHx8ICFvYmplY3RzLmxlbmd0aCkge1xuICAgIHJldHVybiBvYmplY3RzO1xuICB9XG5cbiAgY29uc3QgYXR0cnNQYXRocyA9IG9idGFpbkF0dHJzUGF0aHMob2JqZWN0c1swXSk7XG5cbiAgaWYgKCFoYXNLZXlzKGF0dHJzUGF0aHMpKSB7XG4gICAgcmV0dXJuIG9iamVjdHM7XG4gIH1cblxuICByZXR1cm4gb2JqZWN0cy5tYXAoKHJvdykgPT4ge1xuICAgIGNvbnN0IGR0byA9IHt9IGFzIFQ7XG5cbiAgICBmb3IgKGNvbnN0IGNvbCBpbiByb3cpIHtcbiAgICAgIGlmIChyb3dbY29sXSA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGF0dHJQYXRoID0gYXR0cnNQYXRoc1tjb2xdO1xuICAgICAgaWYgKGF0dHJQYXRoKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGF0dHJQYXRoLnNsaWNlKDAsIC0xKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBhY2Nba2V5XSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGFjY1trZXldID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY2Nba2V5XTtcbiAgICAgICAgfSwgZHRvKTtcbiAgICAgICAgdGFyZ2V0W2F0dHJQYXRoW2F0dHJQYXRoLmxlbmd0aCAtIDFdXSA9IHJvd1tjb2xdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZHRvW2NvbF0gPSByb3dbY29sXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZHRvO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gb2J0YWluQXR0cnNQYXRoczxUPihyb3c6IFQpIHtcbiAgcmV0dXJuIGdldEtleXMocm93KS5yZWR1Y2UoKGFjYywgY29sKSA9PiB7XG4gICAgaWYgKGNvbC5pbmNsdWRlcygnLicpKSB7XG4gICAgICBhY2NbY29sXSA9IGNvbC5zcGxpdCgnLicpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyB7IFtrOiBzdHJpbmddOiBzdHJpbmdbXSB9KTtcbn1cbiJdfQ==