vsrepo 2.7.0 → 2.7.1
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.
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,24 @@ All notable changes to this project will be documented in this file.
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [2.7.1] - 2026-09-28
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- A dynamic method now resolves every parameter by its own position instead of relying on the end of the argument list — the `options` are read from the first argument after the expected parameters, and the payload (`data`/`create`/`update`), `order` and `pagination` of a method called with more than one extra argument are now read from the correct slots instead of shifting onto the `options` object. Arguments beyond the expected parameters plus `options` are ignored
|
|
13
|
+
- A failing dynamic method is no longer logged at `ERROR` by the resolver — the error is simply rethrown to the caller and the execution time is still recorded by `endPerformLog`, leaving `ERROR` for validation and guard-clause failures. This is the last call site that still logged it: the base methods, `query()` and the query methods had already stopped in **2.0.0**
|
|
14
|
+
|
|
15
|
+
### Documentation
|
|
16
|
+
- Both logging guides now describe `ERROR` accurately: it is logged for validation and guard-clause failures right before the `VSRepoError` is thrown, while a failure raised by the adapter itself is no longer logged and simply propagates to the caller
|
|
17
|
+
|
|
18
|
+
## [2.7.1] - 2026-09-28 (Português)
|
|
19
|
+
|
|
20
|
+
### Corrigido
|
|
21
|
+
- Um método dinâmico agora resolve cada parâmetro pela sua própria posição em vez de depender do fim da lista de argumentos — as `options` são lidas do primeiro argumento depois dos parâmetros esperados, e o payload (`data`/`create`/`update`), o `order` e a `pagination` de um método chamado com mais de um argumento extra passam a ser lidos dos slots corretos, em vez de deslocarem para o objeto de options. Argumentos além dos parâmetros esperados mais as options são ignorados
|
|
22
|
+
- Um método dinâmico que falha não é mais logado em `ERROR` pelo resolver — o erro simplesmente é relançado para quem chamou e o tempo de execução continua sendo registrado por `endPerformLog`, deixando o `ERROR` para falhas de validação e de guarda. Esta é a última chamada que ainda registrava o erro: os métodos base, o `query()` e os query methods já haviam parado na **2.0.0**
|
|
23
|
+
|
|
24
|
+
### Documentação
|
|
25
|
+
- Os dois guias de logging agora descrevem o `ERROR` com precisão: ele é registrado para falhas de validação e de guarda logo antes do `VSRepoError` ser lançado, enquanto uma falha lançada pelo próprio adapter não é mais registrada e simplesmente propaga para quem chamou
|
|
26
|
+
|
|
9
27
|
## [2.7.0] - 2026-09-26
|
|
10
28
|
|
|
11
29
|
### Added
|
|
@@ -38,7 +56,7 @@ All notable changes to this project will be documented in this file.
|
|
|
38
56
|
- **`VSRepoErrorType.QUERY_BUILDER`** — new error type, thrown as a `VSRepoError` when an invalid argument is passed to a query builder method
|
|
39
57
|
- **Query builder logs** — the builder uses the repository's logger: at `DEBUG` it traces every chained call and the resolved query of each terminal method (the `db` is never logged), and each terminal method is timed (`Took Xms to run query builder <method>`, promoted to `WARN` above `logSlowThresholdMs`)
|
|
40
58
|
- **`Equals` / `NotEquals`** field-filter suffixes for dynamic methods — same effect as no suffix and `Not`, respectively; useful to disambiguate a field name that ends at the same camelCase boundary as an existing keyword suffix (e.g. `findByCheckInEquals` resolves to the field `checkIn`, instead of the default `check` + `In` reading)
|
|
41
|
-
- **`lazyDynamicMethods`** constructor option — when `true`, postpones resolving `@DynamicMethod`/`@QueryMethod` methods until the subclass calls the `protected resolveDynamicMethods()` itself, instead of resolving them synchronously in the constructor. Useful for deferring the resolution cost to a more convenient point in the app's lifecycle (e.g. an async init hook), and lets fields annotated with `@DynamicMethod`/`@QueryMethod` skip the `declare` modifier as long as `resolveDynamicMethods()` is called after calls `
|
|
59
|
+
- **`lazyDynamicMethods`** constructor option — when `true`, postpones resolving `@DynamicMethod`/`@QueryMethod` methods until the subclass calls the `protected resolveDynamicMethods()` itself, instead of resolving them synchronously in the constructor. Useful for deferring the resolution cost to a more convenient point in the app's lifecycle (e.g. an async init hook), and lets fields annotated with `@DynamicMethod`/`@QueryMethod` skip the `declare` modifier as long as `resolveDynamicMethods()` is called after calls `super()`. Calling `resolveDynamicMethods()` again after it already resolved once logs a `WARN`, since it's redundant
|
|
42
60
|
|
|
43
61
|
### Changed
|
|
44
62
|
- `pagination` validation is now stricter: `limit` and `offset` must be non-negative integers. Negative, decimal and infinite values, previously accepted, are now rejected
|
|
@@ -278,7 +296,7 @@ All notable changes to this project will be documented in this file.
|
|
|
278
296
|
|
|
279
297
|
## [2.0.0] - 2026-09-01
|
|
280
298
|
|
|
281
|
-
> Major rewrite. If you're upgrading from v1, see the [
|
|
299
|
+
> Major rewrite. If you're upgrading from v1, see the [Migrating from v1](./docs/migrating-from-v1.md) guide for the full breakdown before migrating.
|
|
282
300
|
|
|
283
301
|
### Changed
|
|
284
302
|
- **BREAKING:** VSRepository is now **ORM-agnostic** — the core no longer talks to Prisma directly, it delegates every operation to a pluggable `VSRepoAdapter`. ORM support now ships as separate packages (e.g. `@vsrepo/prisma7-adapter`) instead of being bundled in the core `vsrepo` package
|
|
@@ -315,7 +333,7 @@ All notable changes to this project will be documented in this file.
|
|
|
315
333
|
|
|
316
334
|
## [2.0.0] - 2026-09-01 (Português)
|
|
317
335
|
|
|
318
|
-
> Reescrita major. Se você está migrando da v1, veja
|
|
336
|
+
> Reescrita major. Se você está migrando da v1, veja o guia [Migrando da v1](./docs/migrating-from-v1.pt-BR.md) para o detalhamento completo antes de migrar.
|
|
319
337
|
|
|
320
338
|
### Alterado
|
|
321
339
|
- **BREAKING:** O VSRepository agora é **agnóstico de ORM** — o core não conversa mais diretamente com o Prisma, delegando toda operação a um `VSRepoAdapter` plugável. O suporte a ORMs agora é publicado em pacotes separados (ex.: `@vsrepo/prisma7-adapter`) em vez de vir embutido no pacote core `vsrepo`
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
🇺🇸 You're reading the English version. [🇧🇷 Ler em português](./README.pt-BR.md)
|
|
15
15
|
|
|
16
|
-
**ORM-agnostic
|
|
16
|
+
VSRepository is an **ORM-agnostic repository pattern library for TypeScript**. It provides a consistent repository API, derived query methods, query builders, transactions, and other persistence concerns through pluggable **ORM adapters**.
|
|
17
17
|
|
|
18
18
|
VSRepository lets you create strongly-typed repositories with:
|
|
19
19
|
|
|
@@ -21,56 +21,13 @@ VSRepository lets you create strongly-typed repositories with:
|
|
|
21
21
|
- **Native soft-delete**: `softRemove`, `softRemoveList`, `restore`, `restoreList`
|
|
22
22
|
- **Dynamic methods** inferred from a `declare` field name via the `@DynamicMethod` decorator: `findOneByEmail`, `findByStatusPaginated`, `updateById`
|
|
23
23
|
- **Raw SQL query methods** via the `@QueryMethod` decorator (bypassing the name-parsing engine entirely), parameterized `VSSql` fragments for ad-hoc `query()` calls, and agnostic `?1`, `?2` placeholders with `vsPlaceholders`
|
|
24
|
-
- Ad-hoc **`select`/`relations`** per call
|
|
25
|
-
-
|
|
24
|
+
- Ad-hoc **`select`/`relations`** per call
|
|
25
|
+
- Strong **TypeScript** typing across the repository API
|
|
26
26
|
- Native ORM **transactions**, shared across repositories
|
|
27
27
|
- An **ORM-agnostic core** — the same repository class works with any `VSRepoAdapter` implementation
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
-
## Documentation
|
|
32
|
-
|
|
33
|
-
The sections below (adapter status, installation, basic usage) are the essentials to get you started. Everything about a specific feature — with more detail and more examples — lives in its own guide under [`docs/`](./docs/README.md), each available in English and in [Português](./docs/README.pt-BR.md):
|
|
34
|
-
|
|
35
|
-
| Guide | Covers |
|
|
36
|
-
| --- | --- |
|
|
37
|
-
| [Base methods, configuration & soft-delete](./docs/base-methods.md) | Constructor options, the 12 automatic CRUD methods, native soft-delete, and the 8 atomic/aggregate methods (`increment`, `sum`, ...). |
|
|
38
|
-
| [`select` and `relations`](./docs/select-and-relations.md) | Ad-hoc field selection and eager relation loading on any call, and `InferMethodReturn` to narrow the return type accordingly. |
|
|
39
|
-
| [Dynamic methods](./docs/dynamic-methods.md) | `findByEmail`-style methods parsed from a `declare`d method name: prefixes, field filters, logical operators, relation filters, ordering/pagination/distinct. |
|
|
40
|
-
| [Query methods (raw SQL)](./docs/query-methods.md) | Raw SQL via `@QueryMethod`, parameterized `VSSql` fragments and the agnostic `?1`/`?2` placeholders (`vsPlaceholders`). |
|
|
41
|
-
| [Query builder](./docs/query-builder.md) | The fluent `createQueryBuilder()` API for queries assembled at runtime, including pagination, soft-delete visibility and transactions. |
|
|
42
|
-
| [Raw query builder](./docs/raw-query-builder.md) | The fluent `createRawQueryBuilder()` API for hand-written `SELECT` queries too SQL-specific for the query builder — joins, subqueries, CTEs (`with`/`withRecursive`). |
|
|
43
|
-
| [Transactions](./docs/transactions.md) | Running several repositories against the same native ORM transaction. |
|
|
44
|
-
| [Utility types](./docs/utility-types.md) | The exported helper types (`InferMethodType`, `InferMethodReturn`, `KeysOfType`, ...) and where each one is used. |
|
|
45
|
-
| [Writing your own adapter](./docs/writing-an-adapter.md) | How to implement `VSRepoAdapter` for a new ORM or database, method by method. |
|
|
46
|
-
| [Error handling](./docs/error-handling.md) | `VSRepoError`, `VSRepoErrorType`, and `VSRepoAdapterError`/`AdapterErrorCode`. |
|
|
47
|
-
| [Logging](./docs/logging.md) | `logLevel`, `logSlowThresholdMs`, and the log format used by the repository and the query builder. |
|
|
48
|
-
| [Migrating from v1](./docs/migrating-from-v1.md) | Everything that changed between v1 and v2 — API, config, renamed suffixes, removed features — in a single reference for migrating existing repositories. |
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Adapter status
|
|
53
|
-
|
|
54
|
-
VSRepository is **ORM-agnostic by design**. The core package (`vsrepo`) only ships the repository class, the decorators, the name-parsing engine, error handling and logging — it does **not** ship a production adapter. Actual ORM/database support is meant to live in **separate, independently versioned packages**, one per ORM (and, where it makes sense, one per major ORM version), for example:
|
|
55
|
-
|
|
56
|
-
- `@vsrepo/prisma7-adapter`
|
|
57
|
-
- `@vsrepo/prisma8-adapter`
|
|
58
|
-
- `@vsrepo/typeorm-adapter`
|
|
59
|
-
- `@vsrepo/drizzle-adapter`
|
|
60
|
-
|
|
61
|
-
The Prisma 7 adapter is published to npm as `@vsrepo/prisma7-adapter`. The Drizzle adapter is available as an **alpha** release — install it with `@vsrepo/drizzle-adapter@alpha`. Adapters for other ORMs are **planned** but not published yet. Until an official `@vsrepo/*-adapter` package exists for your ORM, you're welcome to write your own for your project, and if you'd like, publish it and open a PR to help grow the ecosystem — contributions here are very welcome.
|
|
62
|
-
|
|
63
|
-
| Adapter | Status |
|
|
64
|
-
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
65
|
-
| Prisma 7 (`@vsrepo/prisma7-adapter`) | 🟢 **Released** — published to npm, implements the `VSRepoAdapter` contract (CRUD, relations, transactions, `merge`, logging, etc.) with tests; see [`VSRepoPrisma7Adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter) for source and docs. |
|
|
66
|
-
| Drizzle (`@vsrepo/drizzle-adapter`) | 🔵 **Alpha** — an early release is available on npm; install it with `npm i @vsrepo/drizzle-adapter@alpha`. The API may still change before the stable release. Check the [`DrizzleAdapter`](https://github.com/jaobrabo123/VSRepoDrizzleAdapter) repository for the current status and known limitations, and feel free to contribute. |
|
|
67
|
-
| Other ORMs (Prisma 8, TypeORM, etc.) | 🟡 **Planned, not published yet.** No official package exists yet — write your own adapter for now (see [Writing your own adapter](./docs/writing-an-adapter.md#writing-your-own-adapter)), and consider publishing/contributing it back. |
|
|
68
|
-
| Custom adapters | 🟢 Fully supported today — implement the [`VSRepoAdapter`](./docs/writing-an-adapter.md#writing-your-own-adapter) abstract class yourself for any ORM/database you need, in your own project or package. |
|
|
69
|
-
|
|
70
|
-
In short: the repository class, the `@DynamicMethod`/`@QueryMethod` decorators, the name-parsing engine, error handling and logging are all working end-to-end, and Prisma 7 support is a released, published adapter. The Drizzle adapter is available in alpha. Official adapters for the remaining ORMs are on the roadmap and will ship as separate `@vsrepo/*-adapter` packages rather than as part of the core `vsrepo` package — but you don't have to wait for that: writing (and optionally publishing) your own adapter in the meantime is a fully supported way to use VSRepository today and to contribute back to the project.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
31
|
## Installation
|
|
75
32
|
|
|
76
33
|
VSRepository is installed as the core package plus one adapter package for your ORM, for example:
|
|
@@ -83,26 +40,12 @@ npm i vsrepo @vsrepo/prisma7-adapter
|
|
|
83
40
|
|
|
84
41
|
## Basic usage
|
|
85
42
|
|
|
86
|
-
### Implementing/choosing an adapter
|
|
87
|
-
|
|
88
|
-
```typescript
|
|
89
|
-
// src/configs/db.ts
|
|
90
|
-
import { PrismaClient } from "../../generated/prisma/client";
|
|
91
|
-
import { PrismaPg } from "@prisma/adapter-pg";
|
|
92
|
-
import "dotenv/config";
|
|
93
|
-
|
|
94
|
-
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL });
|
|
95
|
-
const prisma = new PrismaClient({ adapter });
|
|
96
|
-
|
|
97
|
-
export default prisma;
|
|
98
|
-
```
|
|
99
|
-
|
|
100
43
|
### Creating a repository
|
|
101
44
|
|
|
102
45
|
```typescript
|
|
103
46
|
// src/repositories/user.repository.ts
|
|
104
47
|
import { VSRepository, DynamicMethod } from "vsrepo";
|
|
105
|
-
import {
|
|
48
|
+
import { Prisma7Adapter } from "@vsrepo/prisma7-adapter";
|
|
106
49
|
import prisma from "../configs/db";
|
|
107
50
|
import type { UserGetPayload } from "../../generated/prisma/models";
|
|
108
51
|
|
|
@@ -111,8 +54,7 @@ type User = UserGetPayload<{ include: { address: true } }>;
|
|
|
111
54
|
class UserRepository extends VSRepository<User, string> {
|
|
112
55
|
constructor() {
|
|
113
56
|
super({
|
|
114
|
-
pkName: "id",
|
|
115
|
-
adapter: new VSRepoPrisma7Adapter<User>(prisma, { tableName: "user", pkName: "id" }),
|
|
57
|
+
adapter: new Prisma7Adapter(prisma, { tableName: "user", pkName: "id" }),
|
|
116
58
|
softRemoveKey: "deletedAt",
|
|
117
59
|
defaultOrdering: { createdAt: "desc" },
|
|
118
60
|
});
|
|
@@ -130,20 +72,6 @@ export default new UserRepository();
|
|
|
130
72
|
|
|
131
73
|
> The core API (`VSRepository`, `VSRepoAdapter`, `DynamicMethod`, `QueryMethod`, `VSRepoError`, enums and types) is imported from the single `vsrepo` entry point. The concrete adapter comes from a **separate** package (`@vsrepo/*-adapter`). On Prisma 7, install the [`@vsrepo/prisma7-adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter).
|
|
132
74
|
|
|
133
|
-
> **The third generic parameter (`OrmTypes`):** `VSRepository<Entity, PKType, OrmTypes>` accepts an optional third type parameter describing your ORM's client/transaction types, via `VSRepoOrmTypes` (`{ dbClient; dbTransaction }`). Supplying it gives you a correctly-typed `getDbClient()`, `transaction()` callback, and `db` option on every method, instead of `any`:
|
|
134
|
-
>
|
|
135
|
-
> ```typescript
|
|
136
|
-
> import { Prisma7OrmTypes } from "@vsrepo/prisma7-adapter";
|
|
137
|
-
>
|
|
138
|
-
> type MyOrmTypes = Prisma7OrmTypes<PrismaClient>;
|
|
139
|
-
>
|
|
140
|
-
> class UserRepository extends VSRepository<User, string, MyOrmTypes> {
|
|
141
|
-
> // getDbClient() now returns PrismaClient, and transaction(fn) types `tx` as Prisma.TransactionClient
|
|
142
|
-
> }
|
|
143
|
-
> ```
|
|
144
|
-
>
|
|
145
|
-
> If omitted, it defaults to `VSRepoOrmTypes` (`dbClient`/`dbTransaction` both `any`).
|
|
146
|
-
|
|
147
75
|
### Using the repository
|
|
148
76
|
|
|
149
77
|
```typescript
|
|
@@ -165,29 +93,43 @@ await userRepository.remove(user.id);
|
|
|
165
93
|
|
|
166
94
|
---
|
|
167
95
|
|
|
168
|
-
##
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
# 1. Install dependencies
|
|
172
|
-
bun install
|
|
96
|
+
## Documentation
|
|
173
97
|
|
|
174
|
-
|
|
175
|
-
|
|
98
|
+
The sections above (installation, basic usage) are the essentials to get you started. Everything about a specific feature — with more detail and more examples — lives in its own guide under [`docs/`](./docs/README.md), each available in English and in [Português](./docs/README.pt-BR.md):
|
|
99
|
+
|
|
100
|
+
### Guides
|
|
101
|
+
|
|
102
|
+
| Guide | Covers |
|
|
103
|
+
| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
104
|
+
| [Adapter status](./docs/adapters.md) | Which ORM adapters exist today, what "ORM-agnostic by design" means in practice, and how to install, write or publish your own. |
|
|
105
|
+
| [Base methods, configuration & soft-delete](./docs/base-methods.md) | Constructor options, the 12 automatic CRUD methods, native soft-delete, and the 8 atomic/aggregate methods (`increment`, `sum`, ...). |
|
|
106
|
+
| [`select` and `relations`](./docs/select-and-relations.md) | Ad-hoc field selection and eager relation loading on any call, and `InferMethodReturn` to narrow the return type accordingly. |
|
|
107
|
+
| [Dynamic methods](./docs/dynamic-methods.md) | `findByEmail`-style methods parsed from a `declare`d method name: prefixes, field filters, logical operators, relation filters, ordering/pagination/distinct. |
|
|
108
|
+
| [Query methods (raw SQL)](./docs/query-methods.md) | Raw SQL via `@QueryMethod`, parameterized `VSSql` fragments and the agnostic `?1`/`?2` placeholders (`vsPlaceholders`). |
|
|
109
|
+
| [Query builder](./docs/query-builder.md) | The fluent `createQueryBuilder()` API for queries assembled at runtime, including pagination, soft-delete visibility and transactions. |
|
|
110
|
+
| [Raw query builder](./docs/raw-query-builder.md) | The fluent `createRawQueryBuilder()` API for hand-written `SELECT` queries too SQL-specific for the query builder — joins, subqueries, CTEs (`with`/`withRecursive`). |
|
|
111
|
+
| [Transactions](./docs/transactions.md) | Running several repositories against the same native ORM transaction. |
|
|
112
|
+
| [Utility types](./docs/utility-types.md) | The exported helper types (`InferMethodType`, `InferMethodReturn`, `KeysOfType`, ...) and where each one is used. |
|
|
113
|
+
| [Writing your own adapter](./docs/writing-an-adapter.md) | What an adapter is responsible for, and how to implement the `VSRepoAdapter` contract for a new ORM or database. |
|
|
114
|
+
| [Error handling](./docs/error-handling.md) | `VSRepoError`, `VSRepoErrorType`, and `VSRepoAdapterError`/`AdapterErrorCode`. |
|
|
115
|
+
| [Logging](./docs/logging.md) | `logLevel`, `logSlowThresholdMs`, and the log format used by the repository and the query builder. |
|
|
116
|
+
| [Contributing](./CONTRIBUTING.md) | Repository layout, the key scripts, conventions and CI — plus the contribution flow itself (issues, pull requests, review). |
|
|
117
|
+
| [Migrating from v1](./docs/migrating-from-v1.md) | Everything that changed between v1 and v2 — API, config, renamed suffixes, removed features — in a single reference for migrating existing repositories. |
|
|
176
118
|
|
|
177
|
-
|
|
178
|
-
npm pack --dry-run
|
|
119
|
+
---
|
|
179
120
|
|
|
180
|
-
|
|
181
|
-
npm pack
|
|
121
|
+
## Adapter status
|
|
182
122
|
|
|
183
|
-
|
|
184
|
-
npm install ../path/to/vsrepo-*.tgz
|
|
185
|
-
```
|
|
123
|
+
VSRepository is **ORM-agnostic by design**: the core package (`vsrepo`) ships only the repository class, the decorators, the name-parsing engine, error handling and logging — no production adapter. ORM support lives in separate, independently versioned `@vsrepo/*-adapter` packages, so each one can follow its own ORM's release cycle.
|
|
186
124
|
|
|
187
|
-
|
|
125
|
+
| Adapter | Status |
|
|
126
|
+
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
127
|
+
| Prisma 7 (`@vsrepo/prisma7-adapter`) | 🟢 **Released** — published to npm, with tests. [Source and docs](https://github.com/jaobrabo123/VSRepoPrisma7Adapter). |
|
|
128
|
+
| Drizzle (`@vsrepo/drizzle-adapter`) | 🔵 **Alpha** — `npm i @vsrepo/drizzle-adapter@alpha`. The API may still change. [Repo](https://github.com/jaobrabo123/VSRepoDrizzleAdapter). |
|
|
129
|
+
| Other ORMs (Prisma 8, TypeORM, etc.) | 🟡 **Planned, not published yet.** Write your own in the meantime — it's fully supported. |
|
|
130
|
+
| Custom adapters | 🟢 Fully supported — implement `VSRepoAdapter` yourself, in your own project or package. |
|
|
188
131
|
|
|
189
|
-
|
|
190
|
-
- The published package contains **only** the `dist/` folder, the READMEs, `CHANGELOG.md` and `LICENSE` (see `files` in `package.json`). The adapters will live in their own `@vsrepo/*-adapter` packages.
|
|
132
|
+
The full status and how to install each one: [Adapter status](./docs/adapters.md). To publish your own, see [Publishing your own adapter](./docs/writing-an-adapter.md#publishing-your-own-adapter).
|
|
191
133
|
|
|
192
134
|
---
|
|
193
135
|
|
|
@@ -205,17 +147,12 @@ Notes:
|
|
|
205
147
|
```
|
|
206
148
|
|
|
207
149
|
- `reflect-metadata` (bundled as a dependency, imported internally — you don't need to import it yourself)
|
|
208
|
-
- At least one working `VSRepoAdapter` for your database — on Prisma 7, install the published [`@vsrepo/prisma7-adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter) (see [Adapter status](#adapter-status))
|
|
150
|
+
- At least one working `VSRepoAdapter` for your database — on Prisma 7, install the published [`@vsrepo/prisma7-adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter) (see [Adapter status](#adapter-status))
|
|
209
151
|
|
|
210
152
|
---
|
|
211
153
|
|
|
212
154
|
## Contributing
|
|
213
155
|
|
|
214
|
-
Contributions are welcome,
|
|
215
|
-
|
|
216
|
-
1. **Fork** the project.
|
|
217
|
-
2. Create a branch for your change: `git checkout -b my-change`.
|
|
218
|
-
3. Push your branch: `git push origin my-change`.
|
|
219
|
-
4. Open a **Pull Request**.
|
|
156
|
+
Contributions are welcome — adapters, bug reports and documentation alike. The core is ORM-agnostic, so ORM-specific work belongs in your own adapter package; see the scope rules before opening a PR.
|
|
220
157
|
|
|
221
|
-
|
|
158
|
+
- **[CONTRIBUTING.md](./CONTRIBUTING.md)** — how to report a bug, request a feature, and submit a pull request.
|
package/README.pt-BR.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
🇧🇷 Você está lendo a versão em português. [🇺🇸 Read in English](./README.md)
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
O VSRepository é uma **biblioteca de repository pattern agnóstica de ORM para TypeScript**. Ela fornece uma API de repository consistente, métodos de consulta derivados, query builders, transações e outros recursos relacionados à persistência por meio de **adapters de ORM plugáveis**.
|
|
17
17
|
|
|
18
18
|
O VSRepository permite criar repositories fortemente tipados com:
|
|
19
19
|
|
|
@@ -21,56 +21,13 @@ O VSRepository permite criar repositories fortemente tipados com:
|
|
|
21
21
|
- **Soft-delete nativo**: `softRemove`, `softRemoveList`, `restore`, `restoreList`
|
|
22
22
|
- **Métodos dinâmicos** inferidos a partir do nome de um campo `declare` via o decorador `@DynamicMethod`: `findOneByEmail`, `findByStatusPaginated`, `updateById`
|
|
23
23
|
- **Métodos de query SQL raw** através do decorador `@QueryMethod` (ignorando totalmente o engine de parsing por nome), fragmentos parametrizados `VSSql` para chamadas pontuais de `query()`, e placeholders agnósticos `?1`, `?2` com `vsPlaceholders`
|
|
24
|
-
- **`select`/`relations`** ad-hoc em cada chamada
|
|
25
|
-
-
|
|
24
|
+
- **`select`/`relations`** ad-hoc em cada chamada
|
|
25
|
+
- Tipagem forte com **TypeScript** em toda a API do repositório
|
|
26
26
|
- **Transações** nativas do ORM, compartilhadas entre repositories
|
|
27
27
|
- Um **núcleo agnóstico de ORM** — a mesma classe de repository funciona com qualquer implementação de `VSRepoAdapter`
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
31
|
-
## Documentação
|
|
32
|
-
|
|
33
|
-
As seções abaixo (status dos adapters, instalação, uso básico) são o essencial para começar. Tudo sobre uma funcionalidade específica — com mais detalhe e mais exemplos — vive em um guia próprio dentro de [`docs/`](./docs/README.pt-BR.md), cada um disponível em português e em [English](./docs/README.md):
|
|
34
|
-
|
|
35
|
-
| Guia | Cobre |
|
|
36
|
-
| --- | --- |
|
|
37
|
-
| [Métodos base, configuração & soft-delete](./docs/base-methods.pt-BR.md) | Options do construtor, os 12 métodos CRUD automáticos, soft-delete nativo, e os 8 métodos atômicos/de agregação (`increment`, `sum`, ...). |
|
|
38
|
-
| [`select` e `relations`](./docs/select-and-relations.pt-BR.md) | Seleção de campos e carregamento de relações ad-hoc em qualquer chamada, e o `InferMethodReturn` para estreitar o tipo de retorno de acordo. |
|
|
39
|
-
| [Métodos dinâmicos](./docs/dynamic-methods.pt-BR.md) | Métodos no estilo `findByEmail`, resolvidos a partir de um nome de método `declare`d: prefixos, filtros de campo, operadores lógicos, filtros de relação, ordenação/paginação/distinct. |
|
|
40
|
-
| [Query methods (SQL raw)](./docs/query-methods.pt-BR.md) | SQL raw via `@QueryMethod`, fragmentos parametrizados `VSSql` e os placeholders agnósticos `?1`/`?2` (`vsPlaceholders`). |
|
|
41
|
-
| [Query builder](./docs/query-builder.pt-BR.md) | A API fluente `createQueryBuilder()` para queries montadas em tempo de execução, incluindo paginação, visibilidade de soft-delete e transações. |
|
|
42
|
-
| [Raw query builder](./docs/raw-query-builder.pt-BR.md) | A API fluente `createRawQueryBuilder()` para queries `SELECT` escritas à mão, específicas demais para o query builder — joins, subqueries, CTEs (`with`/`withRecursive`). |
|
|
43
|
-
| [Transações](./docs/transactions.pt-BR.md) | Rodando vários repositories na mesma transação nativa do ORM. |
|
|
44
|
-
| [Tipos utilitários](./docs/utility-types.pt-BR.md) | Os tipos utilitários exportados (`InferMethodType`, `InferMethodReturn`, `KeysOfType`, ...) e onde cada um é usado. |
|
|
45
|
-
| [Escrevendo seu próprio adapter](./docs/writing-an-adapter.pt-BR.md) | Como implementar o `VSRepoAdapter` para um novo ORM ou banco, método a método. |
|
|
46
|
-
| [Tratamento de erros](./docs/error-handling.pt-BR.md) | `VSRepoError`, `VSRepoErrorType`, e `VSRepoAdapterError`/`AdapterErrorCode`. |
|
|
47
|
-
| [Logging](./docs/logging.pt-BR.md) | `logLevel`, `logSlowThresholdMs`, e o formato de log usado pelo repository e pelo query builder. |
|
|
48
|
-
| [Migrando da v1](./docs/migrating-from-v1.pt-BR.md) | Tudo o que mudou entre a v1 e a v2 — API, config, sufixos renomeados, funcionalidades removidas — em uma única referência para migrar repositories existentes. |
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Status dos adapters
|
|
53
|
-
|
|
54
|
-
O VSRepository é **agnóstico de ORM por design**. O pacote core (`vsrepo`) traz apenas a classe de repository, os decoradores, o engine de parsing de nomes, o tratamento de erros e o logging — ele **não** inclui um adapter de produção. O suporte de fato a cada ORM/banco deve viver em **pacotes separados, versionados de forma independente**, um por ORM (e, quando fizer sentido, um por versão principal do ORM), por exemplo:
|
|
55
|
-
|
|
56
|
-
- `@vsrepo/prisma7-adapter`
|
|
57
|
-
- `@vsrepo/prisma8-adapter`
|
|
58
|
-
- `@vsrepo/typeorm-adapter`
|
|
59
|
-
- `@vsrepo/drizzle-adapter`
|
|
60
|
-
|
|
61
|
-
O adapter do Prisma 7 já foi publicado no npm como `@vsrepo/prisma7-adapter`. O adapter do Drizzle está disponível em versão **alpha** — instale com `npm i @vsrepo/drizzle-adapter@alpha`. Os adapters para outros ORMs estão **planejados**, mas ainda não foram publicados. Até que exista um pacote `@vsrepo/*-adapter` oficial para o seu ORM, você pode escrever o seu próprio para o seu projeto e, se quiser, publicá-lo e abrir um PR para ajudar a fazer o ecossistema crescer — contribuições nesse sentido são muito bem-vindas.
|
|
62
|
-
|
|
63
|
-
| Adapter | Status |
|
|
64
|
-
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
65
|
-
| Prisma 7 (`@vsrepo/prisma7-adapter`) | 🟢 **Lançado** — publicado no npm, implementa o contrato de `VSRepoAdapter` (CRUD, relations, transactions, `merge`, logging, etc.) com testes; veja o [`VSRepoPrisma7Adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter) para o código-fonte e docs. |
|
|
66
|
-
| Drizzle (`@vsrepo/drizzle-adapter`) | 🔵 **Alpha** — uma versão inicial já está disponível no npm; instale com `npm i @vsrepo/drizzle-adapter@alpha`. A API ainda pode mudar antes do release estável. Veja o repositório do [`DrizzleAdapter`](https://github.com/jaobrabo123/VSRepoDrizzleAdapter) para o estado atual e limitações conhecidas, e sinta-se à vontade para contribuir. |
|
|
67
|
-
| Outros ORMs (Prisma 8, TypeORM, etc.) | 🟡 **Planejados, ainda não publicados.** Nenhum pacote oficial existe ainda — por enquanto, escreva o seu próprio adapter (veja [Escrevendo seu próprio adapter](./docs/writing-an-adapter.pt-BR.md#escrevendo-seu-próprio-adapter)) e considere publicá-lo/contribuir de volta com o projeto. |
|
|
68
|
-
| Adapters customizados | 🟢 Totalmente suportados hoje — implemente você mesmo a classe abstrata [`VSRepoAdapter`](./docs/writing-an-adapter.pt-BR.md#escrevendo-seu-próprio-adapter) para qualquer ORM/banco que precisar, no seu próprio projeto ou pacote. |
|
|
69
|
-
|
|
70
|
-
Resumindo: a classe de repository, os decoradores `@DynamicMethod`/`@QueryMethod`, o engine de parsing de nomes, o tratamento de erros e o logging já funcionam de ponta a ponta, e o suporte ao Prisma 7 é um adapter lançado e publicado. O adapter do Drizzle está disponível em alpha. Adapters oficiais para os demais ORMs estão no roadmap e serão distribuídos como pacotes `@vsrepo/*-adapter` separados, e não como parte do pacote core `vsrepo` — mas você não precisa esperar por isso: escrever (e opcionalmente publicar) o seu próprio adapter enquanto isso é uma forma totalmente suportada de usar o VSRepository hoje e de contribuir de volta com o projeto.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
31
|
## Instalação
|
|
75
32
|
|
|
76
33
|
O VSRepository é instalado como o pacote core mais um pacote de adapter para o seu ORM, por exemplo:
|
|
@@ -83,26 +40,12 @@ npm i vsrepo @vsrepo/prisma7-adapter
|
|
|
83
40
|
|
|
84
41
|
## Uso básico
|
|
85
42
|
|
|
86
|
-
### Implementando/escolhendo um adapter
|
|
87
|
-
|
|
88
|
-
```typescript
|
|
89
|
-
// src/configs/db.ts
|
|
90
|
-
import { PrismaClient } from "../../generated/prisma/client";
|
|
91
|
-
import { PrismaPg } from "@prisma/adapter-pg";
|
|
92
|
-
import "dotenv/config";
|
|
93
|
-
|
|
94
|
-
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL });
|
|
95
|
-
const prisma = new PrismaClient({ adapter });
|
|
96
|
-
|
|
97
|
-
export default prisma;
|
|
98
|
-
```
|
|
99
|
-
|
|
100
43
|
### Criando um repository
|
|
101
44
|
|
|
102
45
|
```typescript
|
|
103
46
|
// src/repositories/user.repository.ts
|
|
104
47
|
import { VSRepository, DynamicMethod } from "vsrepo";
|
|
105
|
-
import {
|
|
48
|
+
import { Prisma7Adapter } from "@vsrepo/prisma7-adapter";
|
|
106
49
|
import prisma from "../configs/db";
|
|
107
50
|
import type { UserGetPayload } from "../../generated/prisma/models";
|
|
108
51
|
|
|
@@ -111,8 +54,7 @@ type User = UserGetPayload<{ include: { address: true } }>;
|
|
|
111
54
|
class UserRepository extends VSRepository<User, string> {
|
|
112
55
|
constructor() {
|
|
113
56
|
super({
|
|
114
|
-
pkName: "id",
|
|
115
|
-
adapter: new VSRepoPrisma7Adapter<User>(prisma, { tableName: "user", pkName: "id" }),
|
|
57
|
+
adapter: new Prisma7Adapter(prisma, { tableName: "user", pkName: "id" }),
|
|
116
58
|
softRemoveKey: "deletedAt",
|
|
117
59
|
defaultOrdering: { createdAt: "desc" },
|
|
118
60
|
});
|
|
@@ -130,20 +72,6 @@ export default new UserRepository();
|
|
|
130
72
|
|
|
131
73
|
> A API do core (`VSRepository`, `VSRepoAdapter`, `DynamicMethod`, `QueryMethod`, `VSRepoError`, enums e tipos) é importada do entry point único `vsrepo`. O adapter concreto vem de um pacote **separado** (`@vsrepo/*-adapter`). No Prisma 7, instale o [`@vsrepo/prisma7-adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter).
|
|
132
74
|
|
|
133
|
-
> **O terceiro generic (`OrmTypes`):** `VSRepository<Entity, PKType, OrmTypes>` aceita um terceiro type parameter opcional descrevendo os tipos de client/transaction do seu ORM, via `VSRepoOrmTypes` (`{ dbClient; dbTransaction }`). Ao fornecê-lo, `getDbClient()`, o callback de `transaction()` e a option `db` de todo método passam a ser tipados corretamente, em vez de `any`:
|
|
134
|
-
>
|
|
135
|
-
> ```typescript
|
|
136
|
-
> import { Prisma7OrmTypes } from "@vsrepo/prisma7-adapter";
|
|
137
|
-
>
|
|
138
|
-
> type MyOrmTypes = Prisma7OrmTypes<PrismaClient>;
|
|
139
|
-
>
|
|
140
|
-
> class UserRepository extends VSRepository<User, string, MyOrmTypes> {
|
|
141
|
-
> // getDbClient() agora retorna PrismaClient, e transaction(fn) tipa `tx` como Prisma.TransactionClient
|
|
142
|
-
> }
|
|
143
|
-
> ```
|
|
144
|
-
>
|
|
145
|
-
> Se omitido, o padrão é `VSRepoOrmTypes` (`dbClient`/`dbTransaction` como `any`).
|
|
146
|
-
|
|
147
75
|
### Usando o repository
|
|
148
76
|
|
|
149
77
|
```typescript
|
|
@@ -165,29 +93,43 @@ await userRepository.remove(usuario.id);
|
|
|
165
93
|
|
|
166
94
|
---
|
|
167
95
|
|
|
168
|
-
##
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
# 1. Instalar as dependências
|
|
172
|
-
bun install
|
|
96
|
+
## Documentação
|
|
173
97
|
|
|
174
|
-
|
|
175
|
-
|
|
98
|
+
As seções acima (instalação, uso básico) são o essencial para começar. Tudo sobre uma funcionalidade específica — com mais detalhe e mais exemplos — vive em um guia próprio dentro de [`docs/`](./docs/README.pt-BR.md), cada um disponível em português e em [English](./docs/README.md):
|
|
99
|
+
|
|
100
|
+
### Guias
|
|
101
|
+
|
|
102
|
+
| Guia | Cobre |
|
|
103
|
+
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
104
|
+
| [Status dos adapters](./docs/adapters.pt-BR.md) | Quais adapters de ORM existem hoje, o que "agnóstico de ORM por design" significa na prática, e como instalar, escrever ou publicar o seu. |
|
|
105
|
+
| [Métodos base, configuração & soft-delete](./docs/base-methods.pt-BR.md) | Options do construtor, os 12 métodos CRUD automáticos, soft-delete nativo, e os 8 métodos atômicos/de agregação (`increment`, `sum`, ...). |
|
|
106
|
+
| [`select` e `relations`](./docs/select-and-relations.pt-BR.md) | Seleção de campos e carregamento de relações ad-hoc em qualquer chamada, e o `InferMethodReturn` para estreitar o tipo de retorno de acordo. |
|
|
107
|
+
| [Métodos dinâmicos](./docs/dynamic-methods.pt-BR.md) | Métodos no estilo `findByEmail`, resolvidos a partir de um nome de método `declare`d: prefixos, filtros de campo, operadores lógicos, filtros de relação, ordenação/paginação/distinct. |
|
|
108
|
+
| [Query methods (SQL raw)](./docs/query-methods.pt-BR.md) | SQL raw via `@QueryMethod`, fragmentos parametrizados `VSSql` e os placeholders agnósticos `?1`/`?2` (`vsPlaceholders`). |
|
|
109
|
+
| [Query builder](./docs/query-builder.pt-BR.md) | A API fluente `createQueryBuilder()` para queries montadas em tempo de execução, incluindo paginação, visibilidade de soft-delete e transações. |
|
|
110
|
+
| [Raw query builder](./docs/raw-query-builder.pt-BR.md) | A API fluente `createRawQueryBuilder()` para queries `SELECT` escritas à mão, específicas demais para o query builder — joins, subqueries, CTEs (`with`/`withRecursive`). |
|
|
111
|
+
| [Transações](./docs/transactions.pt-BR.md) | Rodando vários repositories na mesma transação nativa do ORM. |
|
|
112
|
+
| [Tipos utilitários](./docs/utility-types.pt-BR.md) | Os tipos utilitários exportados (`InferMethodType`, `InferMethodReturn`, `KeysOfType`, ...) e onde cada um é usado. |
|
|
113
|
+
| [Escrevendo seu próprio adapter](./docs/writing-an-adapter.pt-BR.md) | Do que um adapter é responsável, e como implementar o contrato `VSRepoAdapter` para um novo ORM ou banco. |
|
|
114
|
+
| [Tratamento de erros](./docs/error-handling.pt-BR.md) | `VSRepoError`, `VSRepoErrorType`, e `VSRepoAdapterError`/`AdapterErrorCode`. |
|
|
115
|
+
| [Logging](./docs/logging.pt-BR.md) | `logLevel`, `logSlowThresholdMs`, e o formato de log usado pelo repository e pelo query builder. |
|
|
116
|
+
| [Contribuindo](./CONTRIBUTING.pt-BR.md) | Estrutura do repositório, os principais scripts, convenções e CI — mais o próprio fluxo de contribuição (issues, pull requests, revisão). |
|
|
117
|
+
| [Migrando da v1](./docs/migrating-from-v1.pt-BR.md) | Tudo o que mudou entre a v1 e a v2 — API, config, sufixos renomeados, funcionalidades removidas — em uma única referência para migrar repositories existentes. |
|
|
176
118
|
|
|
177
|
-
|
|
178
|
-
npm pack --dry-run
|
|
119
|
+
---
|
|
179
120
|
|
|
180
|
-
|
|
181
|
-
npm pack
|
|
121
|
+
## Status dos adapters
|
|
182
122
|
|
|
183
|
-
|
|
184
|
-
npm install ../caminho/vsrepo-*.tgz
|
|
185
|
-
```
|
|
123
|
+
O VSRepository é **agnóstico de ORM por design**: o pacote core (`vsrepo`) traz apenas a classe de repository, os decoradores, o engine de parsing de nomes, o tratamento de erros e o logging — nenhum adapter de produção. O suporte a ORM vive em pacotes `@vsrepo/*-adapter` separados e versionados de forma independente, então cada um pode acompanhar o ciclo de releases do seu próprio ORM.
|
|
186
124
|
|
|
187
|
-
|
|
125
|
+
| Adapter | Status |
|
|
126
|
+
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
127
|
+
| Prisma 7 (`@vsrepo/prisma7-adapter`) | 🟢 **Lançado** — publicado no npm, com testes. [Código e docs](https://github.com/jaobrabo123/VSRepoPrisma7Adapter). |
|
|
128
|
+
| Drizzle (`@vsrepo/drizzle-adapter`) | 🔵 **Alpha** — `npm i @vsrepo/drizzle-adapter@alpha`. A API ainda pode mudar. [Repositório](https://github.com/jaobrabo123/VSRepoDrizzleAdapter). |
|
|
129
|
+
| Outros ORMs (Prisma 8, TypeORM, etc.) | 🟡 **Planejados, ainda não publicados.** Escreva o seu enquanto isso — é totalmente suportado. |
|
|
130
|
+
| Adapters customizados | 🟢 Totalmente suportados — implemente o `VSRepoAdapter` você mesmo, no seu projeto ou pacote. |
|
|
188
131
|
|
|
189
|
-
|
|
190
|
-
- O pacote publicado contém **apenas** a pasta `dist/`, os READMEs, o `CHANGELOG.md` e a `LICENSE` (veja `files` no `package.json`). Os adapters viverão em seus próprios pacotes `@vsrepo/*-adapter`.
|
|
132
|
+
O status completo e como instalar cada um: [Status dos adapters](./docs/adapters.pt-BR.md). Para publicar o seu, veja [Publicando o seu próprio adapter](./docs/writing-an-adapter.pt-BR.md#publicando-o-seu-próprio-adapter).
|
|
191
133
|
|
|
192
134
|
---
|
|
193
135
|
|
|
@@ -205,17 +147,12 @@ Observações:
|
|
|
205
147
|
```
|
|
206
148
|
|
|
207
149
|
- `reflect-metadata` (já incluso como dependência, importado internamente — você não precisa importá-lo você mesmo)
|
|
208
|
-
- Pelo menos um `VSRepoAdapter` funcional para o seu banco — no Prisma 7, instale o [`@vsrepo/prisma7-adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter) já publicado (veja [Status dos adapters](#status-dos-adapters))
|
|
150
|
+
- Pelo menos um `VSRepoAdapter` funcional para o seu banco — no Prisma 7, instale o [`@vsrepo/prisma7-adapter`](https://github.com/jaobrabo123/VSRepoPrisma7Adapter) já publicado (veja [Status dos adapters](#status-dos-adapters))
|
|
209
151
|
|
|
210
152
|
---
|
|
211
153
|
|
|
212
154
|
## Contribuindo
|
|
213
155
|
|
|
214
|
-
Contribuições são bem-vindas,
|
|
215
|
-
|
|
216
|
-
1. Faça um **Fork** do projeto.
|
|
217
|
-
2. Crie uma branch para sua alteração: `git checkout -b minha-alteracao`.
|
|
218
|
-
3. Faça o push da sua branch: `git push origin minha-alteracao`.
|
|
219
|
-
4. Abra um **Pull Request**.
|
|
156
|
+
Contribuições são bem-vindas — adapters, reports de bug e documentação. O core é agnóstico de ORM, então trabalho específico de ORM pertence ao seu próprio pacote de adapter; veja as regras de escopo antes de abrir um PR.
|
|
220
157
|
|
|
221
|
-
|
|
158
|
+
- **[CONTRIBUTING.pt-BR.md](./CONTRIBUTING.pt-BR.md)** — como reportar um bug, pedir uma feature e enviar um pull request.
|
|
@@ -912,12 +912,13 @@ class DynamicMethodsResolver {
|
|
|
912
912
|
throw new VSRepoError_1.VSRepoError(errorMessage, vsrepo_error_type_enum_1.VSRepoErrorType.DYNAMIC);
|
|
913
913
|
}
|
|
914
914
|
else if (args.length > dynamicMethodInfo.argsCount) {
|
|
915
|
-
const optionsArg = args[
|
|
915
|
+
const optionsArg = args[dynamicMethodInfo.argsCount];
|
|
916
916
|
methodOptions = this.validator.validateMethodOptions(optionsArg);
|
|
917
917
|
}
|
|
918
918
|
else {
|
|
919
919
|
args.push("1");
|
|
920
920
|
}
|
|
921
|
+
args = args.slice(0, dynamicMethodInfo.argsCount + 1);
|
|
921
922
|
const vsrepoArgs = instance._vsrepocache.get(originalKey)(args, methodOptions);
|
|
922
923
|
const start = this.logger.startPerformLog(`run ${String(originalKey)} (-> ${dynamicMethodInfo.method})`);
|
|
923
924
|
try {
|
|
@@ -935,7 +936,10 @@ class DynamicMethodsResolver {
|
|
|
935
936
|
}
|
|
936
937
|
catch (err) {
|
|
937
938
|
this.logger.endPerformLog(start);
|
|
938
|
-
this.logger.logError(
|
|
939
|
+
// this.logger.logError(
|
|
940
|
+
// `Failed to run dynamic method '${String(originalKey)}' (-> ${dynamicMethodInfo.method})`,
|
|
941
|
+
// err,
|
|
942
|
+
// );
|
|
939
943
|
throw err;
|
|
940
944
|
}
|
|
941
945
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-methods.resolver.js","sourceRoot":"","sources":["../../../src/internal/resolvers/dynamic-methods.resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dynamic-methods.resolver.js","sourceRoot":"","sources":["../../../src/internal/resolvers/dynamic-methods.resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vsrepo",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.1",
|
|
4
4
|
"description": "ORM-agnostic repository pattern library",
|
|
5
5
|
"homepage": "https://github.com/jaobrabo123/VSRepository#readme",
|
|
6
6
|
"repository": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"bugs": {
|
|
11
11
|
"email": "joaodev.azevedo@outlook.com",
|
|
12
|
-
"url": "https://github.com/jaobrabo123/
|
|
12
|
+
"url": "https://github.com/jaobrabo123/VSRepository/issues"
|
|
13
13
|
},
|
|
14
14
|
"main": "./dist/index.js",
|
|
15
15
|
"types": "./dist/index.d.ts",
|