vsrepo 2.7.0 → 2.7.2

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,34 @@ All notable changes to this project will be documented in this file.
6
6
 
7
7
  ---
8
8
 
9
+ ## [2.7.2] - 2026-09-29
10
+
11
+ ### Fixed
12
+ - Corrects the typing of the `VSRepoAdapter` `merge` to correctly return `Promise<(K & T) | null>`, correctly aligning with the behavior of the `VSRepository` `merge` which returns `null` when not found.
13
+
14
+ ## [2.7.2] - 2026-09-29 (Português)
15
+
16
+ ### Corrigido
17
+ - Corrige a tipagem do método `merge` do `VSRepoAdapter` para retornar corretamente `Promise<(K & T) | null>`, alinhando corretamente ao comportamento do `merge` do `VSRepository` que retorna `null` quando não encontrado
18
+
19
+ ## [2.7.1] - 2026-09-28
20
+
21
+ ### Fixed
22
+ - 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
23
+ - 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**
24
+
25
+ ### Documentation
26
+ - 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
27
+
28
+ ## [2.7.1] - 2026-09-28 (Português)
29
+
30
+ ### Corrigido
31
+ - 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
32
+ - 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**
33
+
34
+ ### Documentação
35
+ - 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
36
+
9
37
  ## [2.7.0] - 2026-09-26
10
38
 
11
39
  ### Added
@@ -38,7 +66,7 @@ All notable changes to this project will be documented in this file.
38
66
  - **`VSRepoErrorType.QUERY_BUILDER`** — new error type, thrown as a `VSRepoError` when an invalid argument is passed to a query builder method
39
67
  - **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
68
  - **`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 `supper()`. Calling `resolveDynamicMethods()` again after it already resolved once logs a `WARN`, since it's redundant
69
+ - **`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
70
 
43
71
  ### Changed
44
72
  - `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 +306,7 @@ All notable changes to this project will be documented in this file.
278
306
 
279
307
  ## [2.0.0] - 2026-09-01
280
308
 
281
- > Major rewrite. If you're upgrading from v1, see the ["What changed from v1"](./README.md#what-changed-from-v1) table in the README for the full breakdown before migrating.
309
+ > 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
310
 
283
311
  ### Changed
284
312
  - **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 +343,7 @@ All notable changes to this project will be documented in this file.
315
343
 
316
344
  ## [2.0.0] - 2026-09-01 (Português)
317
345
 
318
- > Reescrita major. Se você está migrando da v1, veja a tabela ["O que mudou da v1"](./README.pt-BR.md#o-que-mudou-da-v1) no README para o detalhamento completo antes de migrar.
346
+ > 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
347
 
320
348
  ### Alterado
321
349
  - **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** repository pattern library, with full **TypeScript** support and automatic **type inference**. The core delegates every operation to a pluggable **adapter**, so the same repository API can work against Prisma, Drizzle, or any other ORM/database that implements the adapter contract. Coming from the old [v1](https://github.com/jaobrabo123/VSRepository/tree/v1)? See [Migrating from v1](./docs/migrating-from-v1.md).
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 — no more pre-declared named projections
25
- - **Type safety** across 100% of operations
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 { VSRepoPrisma7Adapter } from "@vsrepo/prisma7-adapter";
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
- ## Development
169
-
170
- ```bash
171
- # 1. Install dependencies
172
- bun install
96
+ ## Documentation
173
97
 
174
- # 2. Compile the TypeScript sources into dist/ (removes a previous dist/ first)
175
- bun run build
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
- # 3. (Optional) Inspect what would be published without writing a tarball
178
- npm pack --dry-run
119
+ ---
179
120
 
180
- # 4. Produce the installable tarball (runs `prepack` -> `bun run build` automatically)
181
- npm pack
121
+ ## Adapter status
182
122
 
183
- # 5. Consume it locally in another project
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
- Notes:
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
- - `bun run build` runs `tsc -p tsconfig.build.json`, which outputs the compiled JS and generated type declarations into `dist/` with `rootDir: src`.
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)); official adapters for other ORMs are planned but not published yet, so for now this means writing your own (see [Writing your own adapter](./docs/writing-an-adapter.md#writing-your-own-adapter)) — and if you publish it, contributing it back to the project is welcome
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, especially for improving the Prisma adapter and finishing the Drizzle one! (**[GitHub repository](https://github.com/jaobrabo123/VSRepository)**):
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
- To report issues or suggest features, open an **Issue**.
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
- Biblioteca de repository pattern **agnóstica de ORM**, com suporte completo a **TypeScript** e **type inference** automático. O núcleo delega toda operação a um **adapter** plugável, permitindo que a mesma API de repository funcione com Prisma, Drizzle ou qualquer outro ORM/banco que implemente o contrato de adapter. Vindo da [v1](https://github.com/jaobrabo123/VSRepository/tree/v1)? Veja [Migrando da v1](./docs/migrating-from-v1.pt-BR.md).
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 — sem mais projeções nomeadas pré-declaradas
25
- - **Type safety** em 100% das operações
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 { VSRepoPrisma7Adapter } from "@vsrepo/prisma7-adapter";
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
- ## Desenvolvimento
169
-
170
- ```bash
171
- # 1. Instalar as dependências
172
- bun install
96
+ ## Documentação
173
97
 
174
- # 2. Compilar os fontes TypeScript em dist/ (remove um dist/ anterior primeiro)
175
- bun run build
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
- # 3. (Opcional) Inspecionar o que seria publicado sem gerar um tarball
178
- npm pack --dry-run
119
+ ---
179
120
 
180
- # 4. Gerar o tarball instalável (roda `prepack` -> `bun run build` automaticamente)
181
- npm pack
121
+ ## Status dos adapters
182
122
 
183
- # 5. Consumir localmente em outro projeto
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
- Observações:
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
- - `bun run build` executa `tsc -p tsconfig.build.json`, que gera o JS compilado e as declarações de tipo em `dist/` com `rootDir: src`.
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)); adapters oficiais para outros ORMs estão planejados, mas ainda não publicados, então por enquanto isso significa escrever o seu próprio (veja [Escrevendo seu próprio adapter](./docs/writing-an-adapter.pt-BR.md#escrevendo-seu-próprio-adapter)) — e, se publicá-lo, contribuir de volta com o projeto é bem-vindo
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, especialmente para melhorar o adapter do Prisma e finalizar o do Drizzle! (**[Repositório do GitHub](https://github.com/jaobrabo123/VSRepository)**):
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
- Para reportar problemas ou sugerir funcionalidades, abra uma **Issue**.
158
+ - **[CONTRIBUTING.pt-BR.md](./CONTRIBUTING.pt-BR.md)** — como reportar um bug, pedir uma feature e enviar um pull request.
@@ -66,7 +66,7 @@ export declare abstract class VSRepoAdapter<T> {
66
66
  * Fetches a single record matching `where` and returns it deep-merged, in
67
67
  * memory, with the provided object — does **not** persist anything.
68
68
  */
69
- abstract merge<K>(where: VSRepoWhere<T>, obj: DeepPartial<T>, options?: AdapterMethodOptions<T>): Promise<K & T>;
69
+ abstract merge<K extends DeepPartial<T>>(where: VSRepoWhere<T>, obj: K, options?: AdapterMethodOptions<T>): Promise<(K & T) | null>;
70
70
  /** Creates a record if none matches `where`, otherwise updates it. */
71
71
  abstract upsert(where: VSRepoWhere<T>, create: DeepPartial<T>, update: DeepPartial<T>, options?: AdapterMethodOptions<T>): Promise<T>;
72
72
  /**
@@ -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[args.length - 1];
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(`Failed to run dynamic method '${String(originalKey)}' (-> ${dynamicMethodInfo.method})`, err);
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.0",
3
+ "version": "2.7.2",
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/VSRepoDrizzleAdapter/issues"
12
+ "url": "https://github.com/jaobrabo123/VSRepository/issues"
13
13
  },
14
14
  "main": "./dist/index.js",
15
15
  "types": "./dist/index.d.ts",