vsrepo 2.5.0 → 2.7.0

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 (64) hide show
  1. package/CHANGELOG.md +611 -531
  2. package/LICENSE +20 -20
  3. package/README.md +221 -1243
  4. package/README.pt-BR.md +221 -1246
  5. package/dist/VSRepoAdapter.d.ts +12 -0
  6. package/dist/VSRepoAdapter.js.map +1 -1
  7. package/dist/VSRepository.d.ts +93 -5
  8. package/dist/VSRepository.js +116 -35
  9. package/dist/VSRepository.js.map +1 -1
  10. package/dist/decorators/dynamic-method.decorator.d.ts +1 -1
  11. package/dist/decorators/dynamic-method.decorator.js +2 -4
  12. package/dist/decorators/dynamic-method.decorator.js.map +1 -1
  13. package/dist/decorators/query-method.decorator.d.ts +3 -24
  14. package/dist/decorators/query-method.decorator.js +4 -27
  15. package/dist/decorators/query-method.decorator.js.map +1 -1
  16. package/dist/index.d.ts +5 -0
  17. package/dist/index.js +7 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/internal/enums/vsrepo-error-type.enum.d.ts +3 -1
  20. package/dist/internal/enums/vsrepo-error-type.enum.js +2 -0
  21. package/dist/internal/enums/vsrepo-error-type.enum.js.map +1 -1
  22. package/dist/internal/resolvers/dynamic-methods.resolver.d.ts +7 -1
  23. package/dist/internal/resolvers/dynamic-methods.resolver.js +191 -112
  24. package/dist/internal/resolvers/dynamic-methods.resolver.js.map +1 -1
  25. package/dist/internal/utils/vs-logger.util.js.map +1 -1
  26. package/dist/internal/utils/vs-placeholder-parser.util.d.ts +2 -0
  27. package/dist/internal/utils/vs-placeholder-parser.util.js +62 -0
  28. package/dist/internal/utils/vs-placeholder-parser.util.js.map +1 -0
  29. package/dist/internal/utils/vs-query-builder.util.d.ts +239 -0
  30. package/dist/internal/utils/vs-query-builder.util.js +401 -0
  31. package/dist/internal/utils/vs-query-builder.util.js.map +1 -0
  32. package/dist/internal/utils/vs-raw-query-builder.util.d.ts +238 -0
  33. package/dist/internal/utils/vs-raw-query-builder.util.js +433 -0
  34. package/dist/internal/utils/vs-raw-query-builder.util.js.map +1 -0
  35. package/dist/internal/utils/vs-sql.util.d.ts +100 -0
  36. package/dist/internal/utils/vs-sql.util.js +151 -0
  37. package/dist/internal/utils/vs-sql.util.js.map +1 -0
  38. package/dist/internal/utils/with-db.util.js.map +1 -1
  39. package/dist/internal/validators/decorators.validator.js +3 -7
  40. package/dist/internal/validators/decorators.validator.js.map +1 -1
  41. package/dist/internal/validators/schemas/pagination.schema.d.ts +2 -2
  42. package/dist/internal/validators/schemas/pagination.schema.js +2 -2
  43. package/dist/internal/validators/schemas/pagination.schema.js.map +1 -1
  44. package/dist/internal/validators/schemas/relations.schema.d.ts +4 -0
  45. package/dist/internal/validators/schemas/relations.schema.js +39 -0
  46. package/dist/internal/validators/schemas/relations.schema.js.map +1 -0
  47. package/dist/internal/validators/schemas/see-mode.schema.d.ts +3 -0
  48. package/dist/internal/validators/schemas/see-mode.schema.js +38 -0
  49. package/dist/internal/validators/schemas/see-mode.schema.js.map +1 -0
  50. package/dist/internal/validators/schemas/select.schema.d.ts +4 -0
  51. package/dist/internal/validators/schemas/select.schema.js +39 -0
  52. package/dist/internal/validators/schemas/select.schema.js.map +1 -0
  53. package/dist/internal/validators/vsrepo.validator.js +7 -5
  54. package/dist/internal/validators/vsrepo.validator.js.map +1 -1
  55. package/dist/types/dynamic-methods/dynamic-method-info.type.d.ts +1 -0
  56. package/dist/types/utils/query-args.type.d.ts +1 -4
  57. package/dist/types/vsrepo/vs-raw-query-builder-cte-query.type.d.ts +8 -0
  58. package/dist/types/vsrepo/vs-raw-query-builder-cte-query.type.js +3 -0
  59. package/dist/types/vsrepo/vs-raw-query-builder-cte-query.type.js.map +1 -0
  60. package/dist/types/vsrepo/vs-raw-query-builder-target.type.d.ts +7 -0
  61. package/dist/types/vsrepo/vs-raw-query-builder-target.type.js +3 -0
  62. package/dist/types/vsrepo/vs-raw-query-builder-target.type.js.map +1 -0
  63. package/dist/types/vsrepo/vsrepo-options.type.d.ts +27 -0
  64. package/package.json +88 -80
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VSLogger = exports.withDb = exports.AdapterErrorCode = exports.TransactionIsolationLevel = exports.VSLogLevel = exports.VSRepoErrorType = exports.QueryMethod = exports.DynamicMethod = exports.DbArg = exports.VSRepoAdapterError = exports.VSRepoError = exports.VSRepoAdapter = exports.VSRepository = void 0;
3
+ exports.VSLogger = exports.withDb = exports.AdapterErrorCode = exports.TransactionIsolationLevel = exports.VSLogLevel = exports.VSRepoErrorType = exports.QueryMethod = exports.DynamicMethod = exports.VSSql = exports.VSRawQueryBuilder = exports.VSQueryBuilder = exports.DbArg = exports.VSRepoAdapterError = exports.VSRepoError = exports.VSRepoAdapter = exports.VSRepository = void 0;
4
4
  require("reflect-metadata");
5
5
  // Public classes / constructors
6
6
  var VSRepository_js_1 = require("./VSRepository.js");
@@ -13,6 +13,12 @@ var VSRepoAdapterError_js_1 = require("./errors/VSRepoAdapterError.js");
13
13
  Object.defineProperty(exports, "VSRepoAdapterError", { enumerable: true, get: function () { return VSRepoAdapterError_js_1.VSRepoAdapterError; } });
14
14
  var db_arg_util_js_1 = require("./internal/utils/db-arg.util.js");
15
15
  Object.defineProperty(exports, "DbArg", { enumerable: true, get: function () { return db_arg_util_js_1.DbArg; } });
16
+ var vs_query_builder_util_js_1 = require("./internal/utils/vs-query-builder.util.js");
17
+ Object.defineProperty(exports, "VSQueryBuilder", { enumerable: true, get: function () { return vs_query_builder_util_js_1.VSQueryBuilder; } });
18
+ var vs_raw_query_builder_util_js_1 = require("./internal/utils/vs-raw-query-builder.util.js");
19
+ Object.defineProperty(exports, "VSRawQueryBuilder", { enumerable: true, get: function () { return vs_raw_query_builder_util_js_1.VSRawQueryBuilder; } });
20
+ var vs_sql_util_js_1 = require("./internal/utils/vs-sql.util.js");
21
+ Object.defineProperty(exports, "VSSql", { enumerable: true, get: function () { return vs_sql_util_js_1.VSSql; } });
16
22
  // Decorators
17
23
  var dynamic_method_decorator_js_1 = require("./decorators/dynamic-method.decorator.js");
18
24
  Object.defineProperty(exports, "DynamicMethod", { enumerable: true, get: function () { return dynamic_method_decorator_js_1.DynamicMethod; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAE1B,gCAAgC;AAChC,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,0DAAsD;AAA7C,6GAAA,WAAW,OAAA;AACpB,wEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAC3B,kEAAwD;AAA/C,uGAAA,KAAK,OAAA;AAEd,aAAa;AACb,wFAAyE;AAAhE,4HAAA,aAAa,OAAA;AACtB,oFAAqE;AAA5D,wHAAA,WAAW,OAAA;AAEpB,eAAe;AACf,wFAA6E;AAApE,4HAAA,eAAe,OAAA;AACxB,8EAAmE;AAA1D,kHAAA,UAAU,OAAA;AACnB,4GAAiG;AAAxF,gJAAA,yBAAyB,OAAA;AAClC,0FAA+E;AAAtE,8HAAA,gBAAgB,OAAA;AAEzB,mBAAmB;AACnB,oEAA0D;AAAjD,yGAAA,MAAM,OAAA;AAsCf,oBAAoB;AACpB,wEAA8D;AAArD,6GAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAE1B,gCAAgC;AAChC,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,0DAAsD;AAA7C,6GAAA,WAAW,OAAA;AACpB,wEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAC3B,kEAAwD;AAA/C,uGAAA,KAAK,OAAA;AACd,sFAA2E;AAAlE,0HAAA,cAAc,OAAA;AACvB,8FAAkF;AAAzE,iIAAA,iBAAiB,OAAA;AAC1B,kEAAwD;AAA/C,uGAAA,KAAK,OAAA;AAEd,aAAa;AACb,wFAAyE;AAAhE,4HAAA,aAAa,OAAA;AACtB,oFAAqE;AAA5D,wHAAA,WAAW,OAAA;AAEpB,eAAe;AACf,wFAA6E;AAApE,4HAAA,eAAe,OAAA;AACxB,8EAAmE;AAA1D,kHAAA,UAAU,OAAA;AACnB,4GAAiG;AAAxF,gJAAA,yBAAyB,OAAA;AAClC,0FAA+E;AAAtE,8HAAA,gBAAgB,OAAA;AAEzB,mBAAmB;AACnB,oEAA0D;AAAjD,yGAAA,MAAM,OAAA;AAwCf,oBAAoB;AACpB,wEAA8D;AAArD,6GAAA,QAAQ,OAAA"}
@@ -15,5 +15,7 @@ export declare enum VSRepoErrorType {
15
15
  /** Invalid usage of a base method (`get`, `save`, `remove`, etc). */
16
16
  BASE = "BASE",
17
17
  /** Failure raised by a `VSRepoAdapter` while talking to the underlying ORM/database. */
18
- ADAPTER = "ADAPTER"
18
+ ADAPTER = "ADAPTER",
19
+ /** An invalid argument was passed to a `VSQueryBuilder` method (e.g. a negative `limit`) */
20
+ QUERY_BUILDER = "QUERY_BUILDER"
19
21
  }
@@ -20,5 +20,7 @@ var VSRepoErrorType;
20
20
  VSRepoErrorType["BASE"] = "BASE";
21
21
  /** Failure raised by a `VSRepoAdapter` while talking to the underlying ORM/database. */
22
22
  VSRepoErrorType["ADAPTER"] = "ADAPTER";
23
+ /** An invalid argument was passed to a `VSQueryBuilder` method (e.g. a negative `limit`) */
24
+ VSRepoErrorType["QUERY_BUILDER"] = "QUERY_BUILDER";
23
25
  })(VSRepoErrorType || (exports.VSRepoErrorType = VSRepoErrorType = {}));
24
26
  //# sourceMappingURL=vsrepo-error-type.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vsrepo-error-type.enum.js","sourceRoot":"","sources":["../../../src/internal/enums/vsrepo-error-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,eAaX;AAbD,WAAY,eAAe;IACvB,sEAAsE;IACtE,0CAAuB,CAAA;IACvB,gGAAgG;IAChG,wCAAqB,CAAA;IACrB,0EAA0E;IAC1E,sCAAmB,CAAA;IACnB,sEAAsE;IACtE,0CAAuB,CAAA;IACvB,qEAAqE;IACrE,gCAAa,CAAA;IACb,wFAAwF;IACxF,sCAAmB,CAAA;AACvB,CAAC,EAbW,eAAe,+BAAf,eAAe,QAa1B"}
1
+ {"version":3,"file":"vsrepo-error-type.enum.js","sourceRoot":"","sources":["../../../src/internal/enums/vsrepo-error-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,eAeX;AAfD,WAAY,eAAe;IACvB,sEAAsE;IACtE,0CAAuB,CAAA;IACvB,gGAAgG;IAChG,wCAAqB,CAAA;IACrB,0EAA0E;IAC1E,sCAAmB,CAAA;IACnB,sEAAsE;IACtE,0CAAuB,CAAA;IACvB,qEAAqE;IACrE,gCAAa,CAAA;IACb,wFAAwF;IACxF,sCAAmB,CAAA;IACnB,4FAA4F;IAC5F,kDAA+B,CAAA;AACnC,CAAC,EAfW,eAAe,+BAAf,eAAe,QAe1B"}
@@ -10,7 +10,13 @@ export declare class DynamicMethodsResolver<T, K> {
10
10
  private readonly mergeWheresResolver;
11
11
  private readonly validator;
12
12
  private readonly defaultOrdering?;
13
- constructor(logger: VSLogger, adapter: VSRepoAdapter<T>, mergeWheresResolver: MergeWheresResolver<T>, validator: VSRepoValidator<T, K>, defaultOrdering?: Ordering<T> | undefined);
13
+ private readonly vsPlaceholders;
14
+ constructor(logger: VSLogger, adapter: VSRepoAdapter<T>, mergeWheresResolver: MergeWheresResolver<T>, validator: VSRepoValidator<T, K>, defaultOrdering?: Ordering<T> | undefined, vsPlaceholders?: boolean);
15
+ private static keywordTemplate;
16
+ private static fieldModifiers;
17
+ private static operators;
18
+ private static customizationModifiers;
19
+ private logAndThrowError;
14
20
  private validateIndexedArg;
15
21
  private resolveDynamicMethodInfo;
16
22
  private resolveDynamicMethodCustomization;