vsrepo 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +723 -1338
  2. package/README.pt-BR.md +729 -1341
  3. package/dist/VSRepoAdapter.d.ts +71 -0
  4. package/dist/VSRepoAdapter.js +18 -0
  5. package/dist/VSRepository.d.ts +135 -1201
  6. package/dist/VSRepository.js +273 -237
  7. package/dist/decorators/dynamic-method.decorator.d.ts +25 -0
  8. package/dist/decorators/dynamic-method.decorator.js +38 -0
  9. package/dist/decorators/query-method.decorator.d.ts +27 -0
  10. package/dist/decorators/query-method.decorator.js +45 -0
  11. package/dist/errors/VSRepoAdapterError.d.ts +22 -0
  12. package/dist/errors/VSRepoAdapterError.js +31 -0
  13. package/dist/errors/VSRepoError.d.ts +15 -0
  14. package/dist/errors/VSRepoError.js +21 -0
  15. package/dist/index.d.ts +34 -1
  16. package/dist/index.js +28 -15
  17. package/dist/internal/constants/debug-arg-symbol.constant.d.ts +1 -0
  18. package/dist/internal/constants/debug-arg-symbol.constant.js +4 -0
  19. package/dist/internal/constants/dynamic-methods-key.constant.d.ts +1 -0
  20. package/dist/internal/constants/query-methods-key.constant.d.ts +1 -0
  21. package/dist/internal/constants/query-methods-key.constant.js +4 -0
  22. package/dist/internal/enums/adapter-error-code.enum.d.ts +125 -0
  23. package/dist/internal/enums/adapter-error-code.enum.js +129 -0
  24. package/dist/internal/enums/transaction-isolation-level.enum.d.ts +16 -0
  25. package/dist/internal/enums/transaction-isolation-level.enum.js +20 -0
  26. package/dist/internal/enums/vs-log-level.enum.d.ts +18 -0
  27. package/dist/internal/enums/vs-log-level.enum.js +22 -0
  28. package/dist/internal/enums/vsrepo-error-type.enum.d.ts +19 -0
  29. package/dist/internal/enums/vsrepo-error-type.enum.js +23 -0
  30. package/dist/internal/resolvers/dynamic-methods.resolver.d.ts +23 -0
  31. package/dist/internal/resolvers/dynamic-methods.resolver.js +910 -0
  32. package/dist/internal/resolvers/merge-wheres.resolver.d.ts +7 -0
  33. package/dist/internal/resolvers/merge-wheres.resolver.js +26 -0
  34. package/dist/internal/utils/uncapitalize.util.d.ts +1 -0
  35. package/dist/internal/utils/vs-logger.util.d.ts +25 -0
  36. package/dist/internal/utils/vs-logger.util.js +139 -0
  37. package/dist/internal/validators/decorators.validator.d.ts +8 -0
  38. package/dist/internal/validators/decorators.validator.js +75 -0
  39. package/dist/internal/validators/schemas/ordering.schema.d.ts +3 -0
  40. package/dist/internal/validators/schemas/ordering.schema.js +38 -0
  41. package/dist/internal/validators/schemas/pagination.schema.d.ts +6 -0
  42. package/dist/internal/validators/schemas/pagination.schema.js +40 -0
  43. package/dist/internal/validators/schemas/where.schema.d.ts +7 -0
  44. package/dist/internal/validators/schemas/where.schema.js +42 -0
  45. package/dist/internal/validators/vsrepo.validator.d.ts +33 -0
  46. package/dist/internal/validators/vsrepo.validator.js +160 -0
  47. package/dist/types/adapter/adapter-method-options.type.d.ts +24 -0
  48. package/dist/types/adapter/adapter-query-options.type.d.ts +5 -0
  49. package/dist/types/decorators/dynamic-method-options.type.d.ts +14 -0
  50. package/dist/types/decorators/query-method-options.type.d.ts +15 -0
  51. package/dist/types/dynamic-methods/dynamic-method-customization.type.d.ts +7 -0
  52. package/dist/types/dynamic-methods/dynamic-method-info.type.d.ts +18 -0
  53. package/dist/types/dynamic-methods/dynamic-method-where-ops.type.d.ts +6 -0
  54. package/dist/types/utils/count-result.type.d.ts +9 -0
  55. package/dist/types/utils/deep-partial.type.d.ts +14 -0
  56. package/dist/types/utils/keys-of-type.type.d.ts +20 -0
  57. package/dist/types/utils/methods-options.type.d.ts +23 -0
  58. package/dist/types/utils/ordering.type.d.ts +39 -0
  59. package/dist/types/utils/pagination.type.d.ts +11 -0
  60. package/dist/types/utils/perform-data.type.d.ts +4 -0
  61. package/dist/types/utils/primitive.type.d.ts +6 -0
  62. package/dist/types/utils/query-method-arg.type.d.ts +27 -0
  63. package/dist/types/utils/see-mode.type.d.ts +12 -0
  64. package/dist/types/vsrepo/vsrepo-args.type.d.ts +9 -0
  65. package/dist/types/vsrepo/vsrepo-method.type.d.ts +4 -0
  66. package/dist/types/vsrepo/vsrepo-options.type.d.ts +34 -0
  67. package/dist/types/vsrepo/vsrepo-orm-types.type.d.ts +17 -0
  68. package/dist/types/vsrepo/vsrepo-pretty-where.type.d.ts +7 -0
  69. package/dist/types/vsrepo/vsrepo-query-options.type.d.ts +17 -0
  70. package/dist/types/vsrepo/vsrepo-query-options.type.js +2 -0
  71. package/dist/types/vsrepo/vsrepo-query.type.d.ts +5 -0
  72. package/dist/types/vsrepo/vsrepo-query.type.js +2 -0
  73. package/dist/types/vsrepo/vsrepo-relations.type.d.ts +26 -0
  74. package/dist/types/vsrepo/vsrepo-relations.type.js +2 -0
  75. package/dist/types/vsrepo/vsrepo-resolve-args-data.type.d.ts +19 -0
  76. package/dist/types/vsrepo/vsrepo-resolve-args-data.type.js +2 -0
  77. package/dist/types/vsrepo/vsrepo-select.type.d.ts +15 -0
  78. package/dist/types/vsrepo/vsrepo-select.type.js +2 -0
  79. package/dist/types/vsrepo/vsrepo-transaction-options.type.d.ts +12 -0
  80. package/dist/types/vsrepo/vsrepo-transaction-options.type.js +2 -0
  81. package/dist/types/vsrepo/vsrepo-ugly-where.type.d.ts +9 -0
  82. package/dist/types/vsrepo/vsrepo-ugly-where.type.js +2 -0
  83. package/dist/types/vsrepo/vsrepo-where.type.d.ts +99 -0
  84. package/dist/types/vsrepo/vsrepo-where.type.js +2 -0
  85. package/package.json +16 -37
  86. package/README-DynamicRepo.md +0 -625
  87. package/README-DynamicRepo.pt-BR.md +0 -625
  88. package/dist/DynamicRepository.d.ts +0 -497
  89. package/dist/DynamicRepository.js +0 -26
  90. package/dist/VSRepoError.d.ts +0 -83
  91. package/dist/VSRepoError.js +0 -17
  92. package/dist/internal/decorators/dynamic-method.decorator.js +0 -14
  93. package/dist/internal/decorators/query-method.decorator.js +0 -20
  94. package/dist/internal/entities/dynamic-method-metadata.entity.js +0 -26
  95. package/dist/internal/errors/vs-repo.error.js +0 -31
  96. package/dist/internal/resolvers/base-methods.resolve.js +0 -536
  97. package/dist/internal/resolvers/create-update-payloads-with-relations.resolve.js +0 -143
  98. package/dist/internal/resolvers/data-payload-with-relations.resolve.js +0 -60
  99. package/dist/internal/resolvers/dbAndPrismaArgs.resolve.js +0 -63
  100. package/dist/internal/resolvers/dynamic-method-customization.resolve.js +0 -57
  101. package/dist/internal/resolvers/dynamic-method-info.resolve.js +0 -279
  102. package/dist/internal/resolvers/dynamic-methods-metadata.resolve.js +0 -15
  103. package/dist/internal/resolvers/merge-wheres.resolve.js +0 -22
  104. package/dist/internal/resolvers/pretty-wheres.resolve.js +0 -87
  105. package/dist/internal/resolvers/select.resolve.js +0 -7
  106. package/dist/internal/resolvers/specific-where.resolve.js +0 -84
  107. package/dist/internal/resolvers/ugly-where.resolve.js +0 -178
  108. package/dist/internal/utils/logger.util.js +0 -21
  109. package/dist/internal/utils/schemas.util.js +0 -31
  110. package/dist/internal/validation/build-config.validate.js +0 -84
  111. package/dist/internal/validation/constructor-config.validate.js +0 -64
  112. package/dist/internal/validation/dynamic-method-config.validate.js +0 -19
  113. package/dist/internal/validation/extension.validate.js +0 -15
  114. package/dist/internal/validation/is-object.validate.js +0 -6
  115. package/dist/internal/validation/method-options.validate.js +0 -42
  116. package/dist/internal/validation/obj-with-relations.validate.js +0 -37
  117. package/dist/internal/validation/prisma-client.validate.js +0 -10
  118. package/dist/internal/validation/query-method-arg.validate.js +0 -22
  119. package/dist/internal/validation/query-method-options.validate.js +0 -24
  120. package/scripts/configure-prisma-import.mjs +0 -283
  121. package/scripts/copy-types.mjs +0 -24
  122. /package/dist/{internal/decorators/types/dynamic-method-config.type.js → types/adapter/adapter-method-options.type.js} +0 -0
  123. /package/dist/{internal/errors/types/vs-repo-error-type.type.js → types/adapter/adapter-query-options.type.js} +0 -0
  124. /package/dist/{internal/errors/types/vs-repo-runtime-error-code.type.js → types/decorators/dynamic-method-options.type.js} +0 -0
  125. /package/dist/{internal/validation/types → types/decorators}/query-method-options.type.js +0 -0
  126. /package/dist/{internal/resolvers/types → types/dynamic-methods}/dynamic-method-customization.type.js +0 -0
  127. /package/dist/{internal/resolvers/types → types/dynamic-methods}/dynamic-method-info.type.js +0 -0
  128. /package/dist/{internal/resolvers/types → types/dynamic-methods}/dynamic-method-where-ops.type.js +0 -0
  129. /package/dist/{internal/resolvers/types/base-method-function.type.js → types/utils/count-result.type.js} +0 -0
  130. /package/dist/{internal/resolvers/types/pretty-where.type.js → types/utils/deep-partial.type.js} +0 -0
  131. /package/dist/{internal/resolvers/types/prisma-args.type.js → types/utils/keys-of-type.type.js} +0 -0
  132. /package/dist/{internal/resolvers/types/repository-build-instance.type.js → types/utils/methods-options.type.js} +0 -0
  133. /package/dist/{internal/resolvers/types/resolve-db-and-prisma-args-data.type.js → types/utils/ordering.type.js} +0 -0
  134. /package/dist/{internal/validation/types → types/utils}/pagination.type.js +0 -0
  135. /package/dist/{internal/resolvers/types/ugly-where.type.js → types/utils/perform-data.type.js} +0 -0
  136. /package/dist/{internal/validation/types/base-methods.type.js → types/utils/primitive.type.js} +0 -0
  137. /package/dist/{internal/validation/types → types/utils}/query-method-arg.type.js +0 -0
  138. /package/dist/{internal/validation/types → types/utils}/see-mode.type.js +0 -0
  139. /package/dist/{internal/validation/types/build-config.type.js → types/vsrepo/vsrepo-args.type.js} +0 -0
  140. /package/dist/{internal/validation/types/constructor-config.type.js → types/vsrepo/vsrepo-method.type.js} +0 -0
  141. /package/dist/{internal/validation/types/method-options.type.js → types/vsrepo/vsrepo-options.type.js} +0 -0
  142. /package/dist/{internal/validation/types/method.type.js → types/vsrepo/vsrepo-orm-types.type.js} +0 -0
  143. /package/dist/{internal/validation/types/relation.type.js → types/vsrepo/vsrepo-pretty-where.type.js} +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vsrepo",
3
- "version": "1.4.0",
4
- "description": "A repository pattern library for Prisma",
3
+ "version": "2.0.0",
4
+ "description": "ORM-agnostic repository pattern library with full TypeScript support and automatic type inference.",
5
5
  "homepage": "https://github.com/jaobrabo123/VSRepository#readme",
6
6
  "repository": {
7
7
  "type": "git",
@@ -14,61 +14,39 @@
14
14
  "types": "./dist/index.d.ts",
15
15
  "import": "./dist/index.js",
16
16
  "require": "./dist/index.js"
17
- },
18
- "./VSRepository": {
19
- "types": "./dist/VSRepository.d.ts",
20
- "import": "./dist/VSRepository.js",
21
- "require": "./dist/VSRepository.js"
22
- },
23
- "./DynamicRepository": {
24
- "types": "./dist/DynamicRepository.d.ts",
25
- "import": "./dist/DynamicRepository.js",
26
- "require": "./dist/DynamicRepository.js"
27
- },
28
- "./VSRepoError": {
29
- "types": "./dist/VSRepoError.d.ts",
30
- "import": "./dist/VSRepoError.js",
31
- "require": "./dist/VSRepoError.js"
32
17
  }
33
18
  },
34
19
  "type": "commonjs",
35
20
  "files": [
36
21
  "dist",
37
- "scripts",
38
22
  "README.md",
39
- "README.pt-BR.md",
40
- "README-DynamicRepo.md",
41
- "README-DynamicRepo.pt-BR.md"
23
+ "README.pt-BR.md"
42
24
  ],
43
- "bin": {
44
- "vsrepo": "scripts/configure-prisma-import.mjs"
45
- },
46
25
  "engines": {
47
26
  "node": ">=18"
48
27
  },
49
28
  "scripts": {
50
- "vsrepo": "node ./scripts/configure-prisma-import.mjs",
51
- "build": "tsc -p tsconfig.build.json && node ./scripts/copy-types.mjs",
29
+ "clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true})\"",
30
+ "build": "pnpm run clean && tsc -p tsconfig.build.json",
52
31
  "prepack": "pnpm build",
53
- "test": "npm run test:typing && npm run test:implementation",
54
- "test:implementation": "cross-env NODE_OPTIONS=--experimental-vm-modules jest",
55
- "test:implementation:watch": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --watch",
56
- "test:typing": "tsc --noEmit -p test/typing/tsconfig.json"
32
+ "typecheck": "tsc --noEmit -p tsconfig.build.json",
33
+ "test:typing": "tsc --noEmit -p test/tsconfig.json",
34
+ "test:implementation": "jest",
35
+ "test:implementation:watch": "jest --watch",
36
+ "test": "pnpm run test:typing && pnpm run test:implementation"
57
37
  },
58
38
  "keywords": [
59
39
  "prisma",
40
+ "typeorm",
60
41
  "repository",
61
42
  "orm",
62
43
  "typescript",
44
+ "repository-pattern",
63
45
  "vsrepo",
64
- "vsrepository",
65
- "jparepository"
46
+ "vsrepository"
66
47
  ],
67
48
  "author": "João Pedro Azevedo Freire Mecenas",
68
49
  "license": "MIT",
69
- "peerDependencies": {
70
- "@prisma/client": "^7.8.0"
71
- },
72
50
  "devDependencies": {
73
51
  "@jest/globals": "^30.4.1",
74
52
  "@prisma/adapter-pg": "^7.8.0",
@@ -81,11 +59,12 @@
81
59
  "prisma": "^7.8.0",
82
60
  "ts-jest": "^29.4.12",
83
61
  "tsx": "^4.22.3",
84
- "typescript": "^6.0.3"
62
+ "typescript": "^6.0.3",
63
+ "zod": "^4.5.1"
85
64
  },
86
65
  "dependencies": {
87
66
  "deepmerge": "^4.3.1",
88
67
  "reflect-metadata": "^0.2.2",
89
- "zod": "^4.4.3"
68
+ "valibot": "^1.4.2"
90
69
  }
91
70
  }