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
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VSSql = void 0;
4
+ const VSRepoError_1 = require("../../errors/VSRepoError");
5
+ const vsrepo_error_type_enum_1 = require("../enums/vsrepo-error-type.enum");
6
+ /**
7
+ * An ORM-agnostic, composable SQL fragment that compiles down to whatever placeholder
8
+ * syntax your adapter declares via `VSRepoAdapter.getPlaceholder()`, instead of assuming one.
9
+ *
10
+ * A `VSSql` never touches the database by itself — build one with `VSSql.sql`
11
+ * (or compose it from `VSSql.raw`/`VSSql.join`/`VSSql.empty`) and pass it
12
+ * straight to `VSRepository.query()`, which compiles and executes it.
13
+ *
14
+ * Values interpolated with `${...}` are always sent as parameters. Nesting
15
+ * another `VSSql` inline splices its text and parameters into the outer
16
+ * fragment, so fragments compose freely:
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { VSSql } from "vsrepo";
21
+ *
22
+ * const filter = onlyActive ? VSSql.sql`AND active = ${true}` : VSSql.empty;
23
+ *
24
+ * const fragment = VSSql.sql`
25
+ * SELECT * FROM ${VSSql.raw('"user"')}
26
+ * WHERE id IN (${VSSql.join(ids)})
27
+ * ${filter}
28
+ * `;
29
+ *
30
+ * const users = await userRepository.query<User[]>(fragment);
31
+ * ```
32
+ *
33
+ * @publicApi
34
+ */
35
+ class VSSql {
36
+ chunks;
37
+ values;
38
+ constructor(chunks, values) {
39
+ this.chunks = chunks;
40
+ this.values = values;
41
+ }
42
+ /**
43
+ * Appends `value` to the in-progress `chunks`/`values` pair: a nested
44
+ * `VSSql` is spliced in (its own text merged into the current trailing
45
+ * chunk, its own parameters appended in order), anything else becomes a
46
+ * single new parameter. `chunks` always has `values.length + 1` entries.
47
+ */
48
+ static appendValue(chunks, values, value) {
49
+ if (value instanceof VSSql) {
50
+ chunks[chunks.length - 1] += value.chunks[0] ?? "";
51
+ for (let i = 0; i < value.values.length; i++) {
52
+ values.push(value.values[i]);
53
+ chunks.push(value.chunks[i + 1] ?? "");
54
+ }
55
+ }
56
+ else {
57
+ values.push(value);
58
+ chunks.push("");
59
+ }
60
+ }
61
+ /**
62
+ * Compiles this fragment into a single SQL string and its positional
63
+ * argument array, rendering each parameter's placeholder with
64
+ * `getPlaceholder(index)` — `index` is the 0-based position of the
65
+ * parameter in the returned `args` array. Used internally by
66
+ * `VSRepository.query()`; only call this directly if you need the raw
67
+ * `{ text, args }` pair for something else (e.g. logging).
68
+ */
69
+ compile(getPlaceholder) {
70
+ let text = this.chunks[0] ?? "";
71
+ for (let i = 0; i < this.values.length; i++) {
72
+ text += getPlaceholder(i) + (this.chunks[i + 1] ?? "");
73
+ }
74
+ return { text, args: [...this.values] };
75
+ }
76
+ /**
77
+ * Builds a `VSSql` fragment from a tagged template literal. Every
78
+ * interpolated `${value}` becomes a parameter, except another `VSSql`
79
+ * (e.g. from `raw()`, `join()`, or a nested `sql` fragment), which is
80
+ * spliced in as text + its own parameters instead.
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const fragment = VSSql.sql`SELECT * FROM "user" WHERE email = ${email}`;
85
+ * const users = await userRepository.query<User[]>(fragment);
86
+ * ```
87
+ */
88
+ static sql(strings, ...values) {
89
+ const chunks = [strings[0] ?? ""];
90
+ const outValues = [];
91
+ for (let i = 0; i < values.length; i++) {
92
+ const value = values[i];
93
+ VSSql.appendValue(chunks, outValues, value);
94
+ chunks[chunks.length - 1] += strings[i + 1] ?? "";
95
+ }
96
+ return new VSSql(chunks, outValues);
97
+ }
98
+ /**
99
+ * Inserts `text` into the query as-is, unparameterized — for identifiers
100
+ * (table/column names) or SQL keywords that can't be bound as a
101
+ * parameter. `text` is never escaped or validated: only pass trusted,
102
+ * non-user-controlled input.
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const table = VSSql.raw('"user"');
107
+ * const fragment = VSSql.sql`SELECT * FROM ${table} WHERE active = ${true}`;
108
+ * ```
109
+ */
110
+ static raw(text) {
111
+ if (typeof text !== "string") {
112
+ throw new VSRepoError_1.VSRepoError("'VSSql.raw' expects 'text' to be a string", vsrepo_error_type_enum_1.VSRepoErrorType.BASE);
113
+ }
114
+ return new VSSql([text], []);
115
+ }
116
+ /**
117
+ * An empty fragment — contributes no text and no parameters. Useful as
118
+ * the "nothing" branch when conditionally composing a fragment.
119
+ * @example
120
+ * ```typescript
121
+ * condition ? VSSql.sql`AND active = true` : VSSql.empty
122
+ * ```
123
+ */
124
+ static empty = new VSSql([""], []);
125
+ /**
126
+ * Joins `values` into a single fragment, separated by `separator` and
127
+ * wrapped by `prefix`/`suffix`. Each element is either a parameter value
128
+ * (auto-wrapped, like a normal `${...}` interpolation) or a nested `VSSql`
129
+ * fragment (spliced in). Most commonly used to build an `IN (...)` list.
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * const fragment = VSSql.sql`WHERE id IN (${VSSql.join(ids)})`;
134
+ * ```
135
+ */
136
+ static join(values, separator = ", ", prefix = "", suffix = "") {
137
+ if (!Array.isArray(values) || values.length === 0) {
138
+ throw new VSRepoError_1.VSRepoError("'VSSql.join' expects 'values' to be a non-empty array", vsrepo_error_type_enum_1.VSRepoErrorType.BASE);
139
+ }
140
+ const chunks = [prefix];
141
+ const outValues = [];
142
+ for (let i = 0; i < values.length; i++) {
143
+ const value = values[i];
144
+ VSSql.appendValue(chunks, outValues, value);
145
+ chunks[chunks.length - 1] += i === values.length - 1 ? suffix : separator;
146
+ }
147
+ return new VSSql(chunks, outValues);
148
+ }
149
+ }
150
+ exports.VSSql = VSSql;
151
+ //# sourceMappingURL=vs-sql.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs-sql.util.js","sourceRoot":"","sources":["../../../src/internal/utils/vs-sql.util.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"with-db.util.js","sourceRoot":"","sources":["../../../src/internal/utils/with-db.util.ts"],"names":[],"mappings":";;AAmBA,wBAIC;AAtBD,+CAAsC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,MAAM,CAClB,EAAsC;IAEtC,OAAO,IAAI,mBAAK,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"with-db.util.js","sourceRoot":"","sources":["../../../src/internal/utils/with-db.util.ts"],"names":[],"mappings":";;AAmBA,wBAEC;AApBD,+CAAsC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,MAAM,CAA4C,EAAsC;IACpG,OAAO,IAAI,mBAAK,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
@@ -50,9 +50,7 @@ class DecoratorsValidator {
50
50
  const parsed = v.safeParse(this.dynamicMethodOptionsSchema, options);
51
51
  if (!parsed.success) {
52
52
  const firstIssue = parsed.issues[0];
53
- const path = firstIssue.path?.length
54
- ? firstIssue.path.map(p => String(p.key)).join(".")
55
- : "options";
53
+ const path = firstIssue.path?.length ? firstIssue.path.map(p => String(p.key)).join(".") : "options";
56
54
  throw new VSRepoError_1.VSRepoError(`${path}: ${firstIssue.message}`, vsrepo_error_type_enum_1.VSRepoErrorType.DECORATOR);
57
55
  }
58
56
  return parsed.output;
@@ -63,12 +61,10 @@ class DecoratorsValidator {
63
61
  spreadArgs: v.optional(v.boolean()),
64
62
  });
65
63
  static validateQueryMethodOptions(options) {
66
- const parsed = v.safeParse(this.queryMethodOptionsSchema, options);
64
+ const parsed = v.safeParse(this.queryMethodOptionsSchema, options ?? {});
67
65
  if (!parsed.success) {
68
66
  const firstIssue = parsed.issues[0];
69
- const path = firstIssue.path?.length
70
- ? firstIssue.path.map(p => String(p.key)).join(".")
71
- : "options";
67
+ const path = firstIssue.path?.length ? firstIssue.path.map(p => String(p.key)).join(".") : "options";
72
68
  throw new VSRepoError_1.VSRepoError(`${path}: ${firstIssue.message}`, vsrepo_error_type_enum_1.VSRepoErrorType.DECORATOR);
73
69
  }
74
70
  return parsed.output;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.validator.js","sourceRoot":"","sources":["../../../src/internal/validators/decorators.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,0DAAuD;AACvD,gFAAuD;AAEvD,4EAAkE;AAElE,MAAa,mBAAmB;IACpB,MAAM,CAAU,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1D,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAc,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,CAAC,4BAA4B,CAAC,OAAgB;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM;gBAChC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,IAAI,yBAAW,CAAC,GAAG,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,wCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;QAC/C,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QACzC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACrC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KACtC,CAAC,CAAC;IAEH,MAAM,CAAC,0BAA0B,CAAC,OAAgB;QAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM;gBAChC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,IAAI,yBAAW,CAAC,GAAG,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,wCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;;AAtCL,kDAuCC"}
1
+ {"version":3,"file":"decorators.validator.js","sourceRoot":"","sources":["../../../src/internal/validators/decorators.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,0DAAuD;AACvD,gFAAuD;AAEvD,4EAAkE;AAElE,MAAa,mBAAmB;IACpB,MAAM,CAAU,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1D,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAc,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,CAAC,4BAA4B,CAAC,OAAgB;QAChD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrG,MAAM,IAAI,yBAAW,CAAC,GAAG,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,wCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;QAC/C,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QACzC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACrC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KACtC,CAAC,CAAC;IAEH,MAAM,CAAC,0BAA0B,CAAC,OAAgB;QAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrG,MAAM,IAAI,yBAAW,CAAC,GAAG,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,EAAE,wCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;;AAlCL,kDAmCC"}
@@ -1,6 +1,6 @@
1
1
  import * as v from "valibot";
2
2
  declare const _default: v.ObjectSchema<{
3
- readonly limit: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
4
- readonly offset: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
3
+ readonly limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
4
+ readonly offset: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
5
5
  }, undefined>;
6
6
  export default _default;
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const v = __importStar(require("valibot"));
37
37
  exports.default = v.object({
38
- limit: v.optional(v.number()),
39
- offset: v.optional(v.number()),
38
+ limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
39
+ offset: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
40
40
  });
41
41
  //# sourceMappingURL=pagination.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.schema.js","sourceRoot":"","sources":["../../../../src/internal/validators/schemas/pagination.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,kBAAe,CAAC,CAAC,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"pagination.schema.js","sourceRoot":"","sources":["../../../../src/internal/validators/schemas/pagination.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,kBAAe,CAAC,CAAC,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACrE,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as v from "valibot";
2
+ import { VSRepoRelations } from "../../../types/vsrepo/vsrepo-relations.type";
3
+ declare const relationsSchema: v.GenericSchema<VSRepoRelations<Record<string, unknown>>>;
4
+ export default relationsSchema;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const v = __importStar(require("valibot"));
37
+ const relationsSchema = v.lazy(() => v.record(v.string(), v.optional(v.union([v.boolean(), relationsSchema]))));
38
+ exports.default = relationsSchema;
39
+ //# sourceMappingURL=relations.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations.schema.js","sourceRoot":"","sources":["../../../../src/internal/validators/schemas/relations.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAG7B,MAAM,eAAe,GAA8D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3F,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAC5E,CAAC;AAEF,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from "valibot";
2
+ declare const _default: v.PicklistSchema<["active", "removed", "all"], undefined>;
3
+ export default _default;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const v = __importStar(require("valibot"));
37
+ exports.default = v.picklist(["active", "removed", "all"]);
38
+ //# sourceMappingURL=see-mode.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"see-mode.schema.js","sourceRoot":"","sources":["../../../../src/internal/validators/schemas/see-mode.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,kBAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as v from "valibot";
2
+ import { VSRepoSelect } from "../../../types/vsrepo/vsrepo-select.type";
3
+ declare const selectSchema: v.GenericSchema<VSRepoSelect<Record<string, unknown>>>;
4
+ export default selectSchema;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const v = __importStar(require("valibot"));
37
+ const selectSchema = v.lazy(() => v.record(v.string(), v.optional(v.union([v.boolean(), selectSchema]))));
38
+ exports.default = selectSchema;
39
+ //# sourceMappingURL=select.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.schema.js","sourceRoot":"","sources":["../../../../src/internal/validators/schemas/select.schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAG7B,MAAM,YAAY,GAA2D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACrF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CACzE,CAAC;AAEF,kBAAe,YAAY,CAAC"}
@@ -45,6 +45,8 @@ const vsrepo_error_type_enum_1 = require("../enums/vsrepo-error-type.enum");
45
45
  const transaction_isolation_level_enum_1 = require("../enums/transaction-isolation-level.enum");
46
46
  const pagination_schema_1 = __importDefault(require("./schemas/pagination.schema"));
47
47
  const where_schema_1 = __importDefault(require("./schemas/where.schema"));
48
+ const select_schema_1 = __importDefault(require("./schemas/select.schema"));
49
+ const relations_schema_1 = __importDefault(require("./schemas/relations.schema"));
48
50
  class VSRepoValidator {
49
51
  // * Setado depois pelo VSRepository, pois no momento em que validateConstructorOptions
50
52
  // * roda (validação das próprias options do construtor, incluindo o logLevel) o logger ainda não existe.
@@ -53,9 +55,7 @@ class VSRepoValidator {
53
55
  this.logger = logger;
54
56
  }
55
57
  failValidation(issue, type, fallbackPath = "options") {
56
- const path = issue?.path?.length
57
- ? issue.path.map(p => String(p.key)).join(".")
58
- : fallbackPath;
58
+ const path = issue?.path?.length ? issue.path.map(p => String(p.key)).join(".") : fallbackPath;
59
59
  const message = `${path}: ${issue?.message ?? "validation failed"}`;
60
60
  this.logger?.logError(`Validation failed (${type}): ${message}`);
61
61
  throw new VSRepoError_1.VSRepoError(message, type);
@@ -68,6 +68,8 @@ class VSRepoValidator {
68
68
  logLevel: v.optional(v.enum(vs_log_level_enum_1.VSLogLevel)),
69
69
  logSlowThresholdMs: v.optional(v.union([v.pipe(v.number(), v.gtValue(0)), v.boolean()])),
70
70
  defaultOrdering: v.optional(ordering_schema_1.default),
71
+ lazyDynamicMethods: v.optional(v.boolean()),
72
+ vsPlaceholders: v.optional(v.boolean()),
71
73
  });
72
74
  validateConstructorOptions(options) {
73
75
  const parsed = v.safeParse(this.constructorOptionsSchema, options);
@@ -79,8 +81,8 @@ class VSRepoValidator {
79
81
  methodOptionsSchema = v.object({
80
82
  db: v.optional(v.any()),
81
83
  see: v.optional(v.picklist(["active", "removed", "all"])),
82
- relations: v.optional(v.looseObject({})),
83
- select: v.optional(v.looseObject({})),
84
+ relations: v.optional(relations_schema_1.default),
85
+ select: v.optional(select_schema_1.default),
84
86
  });
85
87
  validateMethodOptions(options) {
86
88
  const parsed = v.safeParse(this.methodOptionsSchema, options ?? {});
@@ -1 +1 @@
1
- {"version":3,"file":"vsrepo.validator.js","sourceRoot":"","sources":["../../../src/internal/validators/vsrepo.validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vsrepo.validator.js","sourceRoot":"","sources":["../../../src/internal/validators/vsrepo.validator.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ export type DynamicMethodInfo = {
15
15
  updateIndex?: number;
16
16
  createIndex?: number;
17
17
  whereIndex?: number;
18
+ originalDynamicMethodName: string;
18
19
  };
@@ -24,7 +24,4 @@ import { VSRepoOrmTypes } from "../vsrepo/vsrepo-orm-types.type";
24
24
  *
25
25
  * @publicApi
26
26
  */
27
- export type QueryArgs<T extends Array<any> = [], O extends VSRepoOrmTypes = VSRepoOrmTypes> = [
28
- ...T,
29
- db?: DbArg<O>
30
- ];
27
+ export type QueryArgs<T extends Array<any> = [], O extends VSRepoOrmTypes = VSRepoOrmTypes> = [...T, db?: DbArg<O>];
@@ -0,0 +1,8 @@
1
+ import { VSRawQueryBuilder } from "../../internal/utils/vs-raw-query-builder.util";
2
+ import { VSSql } from "../../internal/utils/vs-sql.util";
3
+ /** Anything that can be used as a CTE's body in {@link VSRawQueryBuilder.with}/
4
+ * {@link VSRawQueryBuilder.withRecursive}.
5
+ *
6
+ * @publicApi
7
+ */
8
+ export type VSRawQueryBuilderCteQuery = VSSql | VSRawQueryBuilder | ((cte: VSRawQueryBuilder) => VSRawQueryBuilder | VSSql);
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vs-raw-query-builder-cte-query.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs-raw-query-builder-cte-query.type.js","sourceRoot":"","sources":["../../../src/types/vsrepo/vs-raw-query-builder-cte-query.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { VSRawQueryBuilder } from "../../internal/utils/vs-raw-query-builder.util";
2
+ import { VSSql } from "../../internal/utils/vs-sql.util";
3
+ /** Anything that can be used where a table/column reference is expected.
4
+ *
5
+ * @publicApi
6
+ */
7
+ export type VSRawQueryBuilderTarget = string | VSSql | VSRawQueryBuilder | ((subquery: VSRawQueryBuilder) => VSRawQueryBuilder | VSSql);
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vs-raw-query-builder-target.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vs-raw-query-builder-target.type.js","sourceRoot":"","sources":["../../../src/types/vsrepo/vs-raw-query-builder-target.type.ts"],"names":[],"mappings":""}
@@ -34,4 +34,31 @@ export type VSRepoOptions<T, K> = {
34
34
  logSlowThresholdMs?: number | boolean;
35
35
  /** Default ordering automatically applied to queries that accept `order`, unless the call overrides it. */
36
36
  defaultOrdering?: Ordering<T>;
37
+ /**
38
+ * When `true`, postpones resolving every `@DynamicMethod`/`@QueryMethod`
39
+ * field of the subclass: the constructor skips that step, and the
40
+ * subclass itself must call the inherited `resolveDynamicMethods()` to
41
+ * make those methods available.
42
+ *
43
+ * @default false
44
+ */
45
+ lazyDynamicMethods?: boolean;
46
+ /**
47
+ * When `true`, raw SQL strings passed to `VSRepository.query()` and
48
+ * `@QueryMethod` stop using your database's native placeholder syntax
49
+ * and instead use VSRepository's own agnostic, positional placeholders —
50
+ * `?1`, `?2`, ... (1-based, Spring Data JPA style). The same index may be
51
+ * repeated (`?1 ... ?1`) to reuse the same argument more than once.
52
+ *
53
+ * Compiled via `adapter.getPlaceholder()`, so the adapter must implement
54
+ * it — the constructor throws a `VSRepoError` if it's enabled and the
55
+ * adapter doesn't.
56
+ *
57
+ * This is independent of passing a `VSSql` fragment directly to
58
+ * `VSRepository.query()`, which always requires `getPlaceholder()`
59
+ * regardless of this option.
60
+ *
61
+ * @default false
62
+ */
63
+ vsPlaceholders?: boolean;
37
64
  };