@longzai-intelligence/pagination 0.0.1 → 0.0.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.
Files changed (70) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test$colon$coverage.log +6 -6
  3. package/.turbo/turbo-test.log +7 -7
  4. package/CHANGELOG.md +7 -0
  5. package/README.md +5 -1
  6. package/coverage/coverage-final.json +6 -2
  7. package/coverage/index.html +19 -4
  8. package/coverage/src/adapters/index.html +1 -16
  9. package/coverage/src/adapters/typeorm.adapter.ts.html +1 -1
  10. package/coverage/src/index.html +16 -1
  11. package/coverage/src/index.ts.html +38 -11
  12. package/coverage/src/schemas/index.html +161 -0
  13. package/coverage/src/{adapters → schemas}/index.ts.html +61 -10
  14. package/coverage/src/schemas/pagination.schemas.ts.html +343 -0
  15. package/coverage/src/schemas/result.schemas.ts.html +724 -0
  16. package/coverage/src/schemas/sort.schemas.ts.html +544 -0
  17. package/coverage/src/typeorm.ts.html +154 -0
  18. package/coverage/src/types/index.html +1 -1
  19. package/coverage/src/types/index.ts.html +69 -3
  20. package/coverage/src/types/pagination.types.ts.html +15 -138
  21. package/coverage/src/types/result.types.ts.html +11 -299
  22. package/coverage/src/types/sort.types.ts.html +16 -139
  23. package/coverage/src/types/typeorm.d.ts.html +1 -1
  24. package/coverage/src/utils/index.html +1 -1
  25. package/coverage/src/utils/index.ts.html +1 -1
  26. package/coverage/src/utils/pagination.util.ts.html +1 -1
  27. package/coverage/src/utils/validation.util.ts.html +1 -1
  28. package/dist/index-C8FaNzej.d.mts +145 -0
  29. package/dist/index-CMiyhlfm.d.cts +145 -0
  30. package/dist/index.cjs +33 -1
  31. package/dist/index.d.cts +2 -81
  32. package/dist/index.d.mts +2 -81
  33. package/dist/index.mjs +1 -1
  34. package/dist/typeorm.cjs +129 -0
  35. package/dist/typeorm.d.cts +26 -0
  36. package/dist/typeorm.d.mts +26 -0
  37. package/dist/typeorm.mjs +1 -0
  38. package/dist/utils-CV6Ovku6.mjs +1 -0
  39. package/dist/utils-D_qD2YAX.cjs +1 -0
  40. package/docs/specs/spec-20260413-typeorm-subpath-export/checklist.md +33 -0
  41. package/docs/specs/spec-20260413-typeorm-subpath-export/spec.md +104 -0
  42. package/docs/specs/spec-20260413-typeorm-subpath-export/tasks.md +48 -0
  43. package/package.json +15 -3
  44. package/src/__tests__/index.test.ts +9 -3
  45. package/src/__tests__/pagination.util.test.ts +0 -2
  46. package/src/__tests__/result.schemas.test.ts +142 -0
  47. package/src/__tests__/sort.schemas.test.ts +157 -0
  48. package/src/__tests__/typeorm.adapter.test.ts +1 -3
  49. package/src/__tests__/validation.util.test.ts +0 -2
  50. package/src/adapters/{typeorm.adapter.ts → typeorm/adapter.ts} +10 -92
  51. package/src/adapters/typeorm/index.ts +23 -0
  52. package/src/adapters/typeorm/types.ts +95 -0
  53. package/src/index.ts +18 -9
  54. package/src/schemas/index.ts +28 -0
  55. package/src/schemas/pagination.schemas.ts +86 -0
  56. package/src/schemas/result.schemas.ts +213 -0
  57. package/src/schemas/sort.schemas.ts +153 -0
  58. package/src/typeorm.ts +23 -0
  59. package/src/types/index.ts +23 -1
  60. package/src/types/pagination.types.ts +13 -54
  61. package/src/types/result.types.ts +9 -105
  62. package/src/types/sort.types.ts +14 -55
  63. package/tsconfig/.cache/app.tsbuildinfo +1 -1
  64. package/tsconfig/.cache/node.tsbuildinfo +1 -1
  65. package/tsconfig/.cache/test.tsbuildinfo +1 -1
  66. package/tsconfig/app.json +4 -1
  67. package/tsdown.config.ts +10 -3
  68. package/src/adapters/index.ts +0 -11
  69. package/tsconfig/.cache/build.tsbuildinfo +0 -1
  70. /package/src/{types → adapters/typeorm}/typeorm.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  $ tsdown
2
2
  ℹ tsdown v0.21.7 powered by rolldown v1.0.0-rc.12
3
3
  ℹ config file: /Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/tsdown.config.ts
4
- (node:62059) ExperimentalWarning: Type Stripping is an experimental feature and might change at any time
4
+ (node:10081) ExperimentalWarning: Type Stripping is an experimental feature and might change at any time
5
5
  (Use `node --trace-warnings ...` to show where the warning was created)
6
6
  ℹ entry: src/index.ts
7
7
  ℹ tsconfig: tsconfig/app.json
@@ -13,10 +13,10 @@ $ tsdown
13
13
  ℹ [CJS] dist/index.d.cts.map 2.74 kB │ gzip: 0.82 kB
14
14
  ℹ [CJS] dist/index.d.cts 5.36 kB │ gzip: 1.21 kB
15
15
  ℹ [CJS] 2 files, total: 8.10 kB
16
- ✔ Build complete in 679ms
16
+ ✔ Build complete in 647ms
17
17
  ℹ [ESM] dist/index.mjs 9.02 kB │ gzip: 2.33 kB
18
18
  ℹ [ESM] dist/index.mjs.map 19.04 kB │ gzip: 4.55 kB
19
19
  ℹ [ESM] dist/index.d.mts.map 2.74 kB │ gzip: 0.82 kB
20
20
  ℹ [ESM] dist/index.d.mts 5.36 kB │ gzip: 1.21 kB
21
21
  ℹ [ESM] 4 files, total: 36.16 kB
22
- ✔ Build complete in 680ms
22
+ ✔ Build complete in 648ms
@@ -1,17 +1,17 @@
1
1
  $ vitest run --coverage
2
2
 
3
-  RUN  v4.1.3 /Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination
3
+  RUN  v4.1.4 /Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination
4
4
  Coverage enabled with v8
5
5
 
6
- ✓ src/__tests__/pagination.util.test.ts (41 tests) 3ms
7
- ✓ src/__tests__/index.test.ts (6 tests) 14ms
8
6
  ✓ src/__tests__/validation.util.test.ts (12 tests) 3ms
9
- ✓ src/__tests__/typeorm.adapter.test.ts (9 tests) 4ms
7
+ ✓ src/__tests__/pagination.util.test.ts (41 tests) 5ms
8
+ ✓ src/__tests__/index.test.ts (6 tests) 30ms
9
+ ✓ src/__tests__/typeorm.adapter.test.ts (9 tests) 7ms
10
10
 
11
11
   Test Files  4 passed (4)
12
12
   Tests  68 passed (68)
13
-  Start at  01:27:15
14
-  Duration  162ms (transform 99ms, setup 0ms, import 126ms, tests 24ms, environment 0ms)
13
+  Start at  10:06:41
14
+  Duration  196ms (transform 144ms, setup 0ms, import 171ms, tests 46ms, environment 0ms)
15
15
 
16
16
   % Coverage report from v8
17
17
  -------------------|---------|----------|---------|---------|-------------------
@@ -1,14 +1,14 @@
1
1
  $ vitest run
2
2
 
3
-  RUN  v4.1.3 /Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination
3
+  RUN  v4.1.4 /Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination
4
4
 
5
- ✓ src/__tests__/validation.util.test.ts (12 tests) 4ms
6
- ✓ src/__tests__/pagination.util.test.ts (41 tests) 6ms
7
- ✓ src/__tests__/typeorm.adapter.test.ts (9 tests) 7ms
8
- ✓ src/__tests__/index.test.ts (6 tests) 22ms
5
+ ✓ src/__tests__/validation.util.test.ts (12 tests) 3ms
6
+ ✓ src/__tests__/pagination.util.test.ts (41 tests) 3ms
7
+ ✓ src/__tests__/typeorm.adapter.test.ts (9 tests) 4ms
8
+ ✓ src/__tests__/index.test.ts (6 tests) 16ms
9
9
 
10
10
   Test Files  4 passed (4)
11
11
   Tests  68 passed (68)
12
-  Start at  01:27:13
13
-  Duration  162ms (transform 133ms, setup 0ms, import 153ms, tests 38ms, environment 0ms)
12
+  Start at  10:06:38
13
+  Duration  136ms (transform 101ms, setup 0ms, import 121ms, tests 26ms, environment 0ms)
14
14
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.2] - 2026-04-13
4
+
5
+ ### 新增功能
6
+
7
+ - 添加 Zod schemas 用于分页和排序验证
8
+ - 添加 TypeORM 适配器子路径导出
9
+
3
10
  ## [0.0.1] - 2026-04-10
4
11
 
5
12
  ### 功能
package/README.md CHANGED
@@ -65,11 +65,13 @@ if (isValidPage(1) && isValidPageSize(20)) {
65
65
 
66
66
  ### TypeORM 适配器
67
67
 
68
+ TypeORM 适配器通过子路径导出,需要单独导入:
69
+
68
70
  ```typescript
69
71
  import {
70
72
  paginateWithRepository,
71
73
  paginateWithQueryBuilder,
72
- } from '@longzai-intelligence/pagination';
74
+ } from '@longzai-intelligence/pagination/typeorm';
73
75
 
74
76
  // 使用 Repository 分页
75
77
  const result = await paginateWithRepository(userRepository, {
@@ -85,6 +87,8 @@ const qb = userRepository.createQueryBuilder('user');
85
87
  const result = await paginateWithQueryBuilder(qb, { page: 1, pageSize: 20 });
86
88
  ```
87
89
 
90
+ **注意**:TypeORM 适配器需要安装 `typeorm` 作为 peerDependency。
91
+
88
92
  ## API 文档
89
93
 
90
94
  ### 类型
@@ -1,8 +1,12 @@
1
1
  {"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/index.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
2
- ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/adapters/index.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/adapters/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
2
+ ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/typeorm.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/typeorm.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
3
3
  ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/adapters/typeorm.adapter.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/adapters/typeorm.adapter.ts","statementMap":{"0":{"start":{"line":125,"column":2},"end":{"line":125,"column":null}},"1":{"start":{"line":149,"column":8},"end":{"line":149,"column":57}},"2":{"start":{"line":150,"column":2},"end":{"line":158,"column":null}},"3":{"start":{"line":183,"column":16},"end":{"line":183,"column":56}},"4":{"start":{"line":188,"column":8},"end":{"line":188,"column":48}},"5":{"start":{"line":193,"column":50},"end":{"line":193,"column":71}},"6":{"start":{"line":198,"column":48},"end":{"line":205,"column":null}},"7":{"start":{"line":210,"column":28},"end":{"line":210,"column":70}},"8":{"start":{"line":212,"column":2},"end":{"line":217,"column":null}},"9":{"start":{"line":216,"column":18},"end":{"line":216,"column":65}},"10":{"start":{"line":217,"column":4},"end":{"line":217,"column":null}},"11":{"start":{"line":220,"column":2},"end":{"line":220,"column":null}},"12":{"start":{"line":245,"column":16},"end":{"line":245,"column":56}},"13":{"start":{"line":250,"column":8},"end":{"line":250,"column":48}},"14":{"start":{"line":252,"column":2},"end":{"line":252,"column":null}},"15":{"start":{"line":257,"column":28},"end":{"line":257,"column":64}},"16":{"start":{"line":259,"column":2},"end":{"line":264,"column":null}},"17":{"start":{"line":263,"column":18},"end":{"line":263,"column":57}},"18":{"start":{"line":264,"column":4},"end":{"line":264,"column":null}},"19":{"start":{"line":267,"column":2},"end":{"line":267,"column":null}},"20":{"start":{"line":284,"column":2},"end":{"line":284,"column":null}}},"fnMap":{"0":{"name":"hasMapper","decl":{"start":{"line":119,"column":9},"end":{"line":119,"column":null}},"loc":{"start":{"line":124,"column":62},"end":{"line":125,"column":null}},"line":124},"1":{"name":"buildPaginatedResult","decl":{"start":{"line":140,"column":9},"end":{"line":140,"column":null}},"loc":{"start":{"line":145,"column":25},"end":{"line":158,"column":null}},"line":145},"2":{"name":"paginateWithRepository","decl":{"start":{"line":175,"column":22},"end":{"line":175,"column":null}},"loc":{"start":{"line":179,"column":44},"end":{"line":220,"column":null}},"line":179},"3":{"name":"paginateWithQueryBuilder","decl":{"start":{"line":237,"column":22},"end":{"line":237,"column":null}},"loc":{"start":{"line":241,"column":44},"end":{"line":267,"column":null}},"line":241},"4":{"name":"createPaginationQueryBuilder","decl":{"start":{"line":280,"column":16},"end":{"line":280,"column":null}},"loc":{"start":{"line":283,"column":31},"end":{"line":284,"column":null}},"line":283}},"branchMap":{"0":{"loc":{"start":{"line":125,"column":9},"end":{"line":125,"column":null}},"type":"binary-expr","locations":[{"start":{"line":125,"column":9},"end":{"line":125,"column":34}},{"start":{"line":125,"column":34},"end":{"line":125,"column":null}}],"line":125},"1":{"loc":{"start":{"line":204,"column":11},"end":{"line":204,"column":null}},"type":"binary-expr","locations":[{"start":{"line":204,"column":11},"end":{"line":204,"column":29}},{"start":{"line":204,"column":29},"end":{"line":204,"column":null}}],"line":204},"2":{"loc":{"start":{"line":212,"column":2},"end":{"line":217,"column":null}},"type":"if","locations":[{"start":{"line":212,"column":2},"end":{"line":217,"column":null}},{"start":{},"end":{}}],"line":212},"3":{"loc":{"start":{"line":259,"column":2},"end":{"line":264,"column":null}},"type":"if","locations":[{"start":{"line":259,"column":2},"end":{"line":264,"column":null}},{"start":{},"end":{}}],"line":259},"4":{"loc":{"start":{"line":284,"column":39},"end":{"line":284,"column":86}},"type":"binary-expr","locations":[{"start":{"line":284,"column":39},"end":{"line":284,"column":48}},{"start":{"line":284,"column":48},"end":{"line":284,"column":86}}],"line":284}},"s":{"0":4,"1":7,"2":7,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":1,"10":1,"11":3,"12":3,"13":3,"14":3,"15":3,"16":3,"17":1,"18":1,"19":2,"20":2},"f":{"0":4,"1":7,"2":4,"3":3,"4":2},"b":{"0":[4,2],"1":[4,3],"2":[1,3],"3":[1,2],"4":[2,1]},"meta":{"lastBranch":5,"lastFunction":5,"lastStatement":21,"seen":{"f:119:9:119:Infinity":0,"s:125:2:125:Infinity":0,"b:125:9:125:34:125:34:125:Infinity":0,"f:140:9:140:Infinity":1,"s:149:8:149:57":1,"s:150:2:158:Infinity":2,"f:175:22:175:Infinity":2,"s:183:16:183:56":3,"s:188:8:188:48":4,"s:193:50:193:71":5,"s:198:48:205:Infinity":6,"b:204:11:204:29:204:29:204:Infinity":1,"s:210:28:210:70":7,"b:212:2:217:Infinity:undefined:undefined:undefined:undefined":2,"s:212:2:217:Infinity":8,"s:216:18:216:65":9,"s:217:4:217:Infinity":10,"s:220:2:220:Infinity":11,"f:237:22:237:Infinity":3,"s:245:16:245:56":12,"s:250:8:250:48":13,"s:252:2:252:Infinity":14,"s:257:28:257:64":15,"b:259:2:264:Infinity:undefined:undefined:undefined:undefined":3,"s:259:2:264:Infinity":16,"s:263:18:263:57":17,"s:264:4:264:Infinity":18,"s:267:2:267:Infinity":19,"f:280:16:280:Infinity":4,"s:284:2:284:Infinity":20,"b:284:39:284:48:284:48:284:86":4}}}
4
+ ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/index.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
5
+ ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/pagination.schemas.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/pagination.schemas.ts","statementMap":{"0":{"start":{"line":10,"column":40},"end":{"line":15,"column":2}},"1":{"start":{"line":27,"column":38},"end":{"line":37,"column":2}},"2":{"start":{"line":49,"column":44},"end":{"line":59,"column":2}},"3":{"start":{"line":71,"column":44},"end":{"line":81,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":4,"1":4,"2":4,"3":4},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":4,"seen":{"s:10:40:15:2":0,"s:27:38:37:2":1,"s:49:44:59:2":2,"s:71:44:81:2":3}}}
6
+ ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/result.schemas.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/result.schemas.ts","statementMap":{"0":{"start":{"line":15,"column":2},"end":{"line":50,"column":null}},"1":{"start":{"line":101,"column":2},"end":{"line":126,"column":null}},"2":{"start":{"line":167,"column":2},"end":{"line":187,"column":null}}},"fnMap":{"0":{"name":"createPaginatedResultSchema","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":68}},"loc":{"start":{"line":14,"column":83},"end":{"line":50,"column":null}},"line":14},"1":{"name":"createOffsetPaginatedResultSchema","decl":{"start":{"line":100,"column":16},"end":{"line":100,"column":74}},"loc":{"start":{"line":100,"column":89},"end":{"line":126,"column":null}},"line":100},"2":{"name":"createCursorPaginatedResultSchema","decl":{"start":{"line":166,"column":16},"end":{"line":166,"column":74}},"loc":{"start":{"line":166,"column":89},"end":{"line":187,"column":null}},"line":166}},"branchMap":{},"s":{"0":3,"1":2,"2":3},"f":{"0":3,"1":2,"2":3},"b":{},"meta":{"lastBranch":0,"lastFunction":3,"lastStatement":3,"seen":{"f:14:16:14:68":0,"s:15:2:50:Infinity":0,"f:100:16:100:74":1,"s:101:2:126:Infinity":1,"f:166:16:166:74":2,"s:167:2:187:Infinity":2}}}
7
+ ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/sort.schemas.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/schemas/sort.schemas.ts","statementMap":{"0":{"start":{"line":10,"column":31},"end":{"line":10,"column":54}},"1":{"start":{"line":40,"column":2},"end":{"line":50,"column":null}},"2":{"start":{"line":56,"column":32},"end":{"line":66,"column":2}},"3":{"start":{"line":91,"column":2},"end":{"line":101,"column":null}},"4":{"start":{"line":107,"column":30},"end":{"line":117,"column":2}},"5":{"start":{"line":137,"column":2},"end":{"line":142,"column":null}},"6":{"start":{"line":148,"column":37},"end":{"line":153,"column":2}}},"fnMap":{"0":{"name":"createSortParamsSchema","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":72}},"loc":{"start":{"line":39,"column":83},"end":{"line":50,"column":null}},"line":39},"1":{"name":"createSortItemSchema","decl":{"start":{"line":90,"column":16},"end":{"line":90,"column":70}},"loc":{"start":{"line":90,"column":81},"end":{"line":101,"column":null}},"line":90},"2":{"name":"createMultiSortParamsSchema","decl":{"start":{"line":136,"column":16},"end":{"line":136,"column":77}},"loc":{"start":{"line":136,"column":88},"end":{"line":142,"column":null}},"line":136}},"branchMap":{},"s":{"0":5,"1":3,"2":5,"3":6,"4":5,"5":3,"6":5},"f":{"0":3,"1":6,"2":3},"b":{},"meta":{"lastBranch":0,"lastFunction":3,"lastStatement":7,"seen":{"s:10:31:10:54":0,"f:39:16:39:72":0,"s:40:2:50:Infinity":1,"s:56:32:66:2":2,"f:90:16:90:70":1,"s:91:2:101:Infinity":3,"s:107:30:117:2":4,"f:136:16:136:77":2,"s:137:2:142:Infinity":5,"s:148:37:153:2":6}}}
4
8
  ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/index.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
5
- ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/pagination.types.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/pagination.types.ts","statementMap":{"0":{"start":{"line":59,"column":35},"end":{"line":64,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":1,"seen":{"s:59:35:64:Infinity":0}}}
9
+ ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/pagination.types.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/pagination.types.ts","statementMap":{"0":{"start":{"line":23,"column":35},"end":{"line":28,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":4},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":1,"seen":{"s:23:35:28:Infinity":0}}}
6
10
  ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/result.types.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/result.types.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
7
11
  ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/sort.types.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/sort.types.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
8
12
  ,"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/typeorm.d.ts": {"path":"/Volumes/JZAO/j-projects/workspaces/longzai/longzai-intelligence/longzai-intelligence/packages/pagination/src/types/typeorm.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"meta":{"lastBranch":0,"lastFunction":0,"lastStatement":0,"seen":{}}}
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>56/56</span>
28
+ <span class='fraction'>70/70</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>21/21</span>
42
+ <span class='fraction'>27/27</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>56/56</span>
49
+ <span class='fraction'>70/70</span>
50
50
  </div>
51
51
 
52
52
 
@@ -108,6 +108,21 @@
108
108
  <td data-value="21" class="abs high">21/21</td>
109
109
  </tr>
110
110
 
111
+ <tr>
112
+ <td class="file high" data-value="src/schemas"><a href="src/schemas/index.html">src/schemas</a></td>
113
+ <td data-value="100" class="pic high">
114
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115
+ </td>
116
+ <td data-value="100" class="pct high">100%</td>
117
+ <td data-value="14" class="abs high">14/14</td>
118
+ <td data-value="100" class="pct high">100%</td>
119
+ <td data-value="0" class="abs high">0/0</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="6" class="abs high">6/6</td>
122
+ <td data-value="100" class="pct high">100%</td>
123
+ <td data-value="14" class="abs high">14/14</td>
124
+ </tr>
125
+
111
126
  <tr>
112
127
  <td class="file high" data-value="src/types"><a href="src/types/index.html">src/types</a></td>
113
128
  <td data-value="100" class="pic high">
@@ -146,7 +161,7 @@
146
161
  <div class='footer quiet pad2 space-top1 center small'>
147
162
  Code coverage generated by
148
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2026-04-09T17:27:15.194Z
164
+ at 2026-04-12T21:41:37.775Z
150
165
  </div>
151
166
  <script src="prettify.js"></script>
152
167
  <script>
@@ -79,21 +79,6 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file empty" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
83
- <td data-value="0" class="pic empty">
84
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
- </td>
86
- <td data-value="0" class="pct empty">0%</td>
87
- <td data-value="0" class="abs empty">0/0</td>
88
- <td data-value="0" class="pct empty">0%</td>
89
- <td data-value="0" class="abs empty">0/0</td>
90
- <td data-value="0" class="pct empty">0%</td>
91
- <td data-value="0" class="abs empty">0/0</td>
92
- <td data-value="0" class="pct empty">0%</td>
93
- <td data-value="0" class="abs empty">0/0</td>
94
- </tr>
95
-
96
- <tr>
97
82
  <td class="file high" data-value="typeorm.adapter.ts"><a href="typeorm.adapter.ts.html">typeorm.adapter.ts</a></td>
98
83
  <td data-value="100" class="pic high">
99
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
@@ -116,7 +101,7 @@
116
101
  <div class='footer quiet pad2 space-top1 center small'>
117
102
  Code coverage generated by
118
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-04-09T17:27:15.194Z
104
+ at 2026-04-12T21:41:37.775Z
120
105
  </div>
121
106
  <script src="../../prettify.js"></script>
122
107
  <script>
@@ -925,7 +925,7 @@ export function createPaginationQueryBuilder&lt;TEntity extends ObjectLiteral&gt
925
925
  <div class='footer quiet pad2 space-top1 center small'>
926
926
  Code coverage generated by
927
927
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
928
- at 2026-04-09T17:27:15.194Z
928
+ at 2026-04-12T21:41:37.775Z
929
929
  </div>
930
930
  <script src="../../prettify.js"></script>
931
931
  <script>
@@ -93,6 +93,21 @@
93
93
  <td data-value="0" class="abs empty">0/0</td>
94
94
  </tr>
95
95
 
96
+ <tr>
97
+ <td class="file empty" data-value="typeorm.ts"><a href="typeorm.ts.html">typeorm.ts</a></td>
98
+ <td data-value="0" class="pic empty">
99
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
+ </td>
101
+ <td data-value="0" class="pct empty">0%</td>
102
+ <td data-value="0" class="abs empty">0/0</td>
103
+ <td data-value="0" class="pct empty">0%</td>
104
+ <td data-value="0" class="abs empty">0/0</td>
105
+ <td data-value="0" class="pct empty">0%</td>
106
+ <td data-value="0" class="abs empty">0/0</td>
107
+ <td data-value="0" class="pct empty">0%</td>
108
+ <td data-value="0" class="abs empty">0/0</td>
109
+ </tr>
110
+
96
111
  </tbody>
97
112
  </table>
98
113
  </div>
@@ -101,7 +116,7 @@
101
116
  <div class='footer quiet pad2 space-top1 center small'>
102
117
  Code coverage generated by
103
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-04-09T17:27:15.194Z
119
+ at 2026-04-12T21:41:37.775Z
105
120
  </div>
106
121
  <script src="../prettify.js"></script>
107
122
  <script>
@@ -119,7 +119,25 @@
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
141
  <span class="cline-any cline-neutral">&nbsp;</span>
124
142
  <span class="cline-any cline-neutral">&nbsp;</span>
125
143
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -194,6 +212,24 @@ export type { SortOrder, SortParams, SortItem, MultiSortParams } from './types';
194
212
  // 常量导出
195
213
  export { PAGINATION_DEFAULTS } from './types';
196
214
  &nbsp;
215
+ // Zod Schemas 导出
216
+ export {
217
+ PaginationDefaultsSchema,
218
+ PaginationParamsSchema,
219
+ OffsetPaginationParamsSchema,
220
+ CursorPaginationParamsSchema,
221
+ SortOrderSchema,
222
+ SortParamsSchema,
223
+ SortItemSchema,
224
+ MultiSortParamsSchema,
225
+ createSortParamsSchema,
226
+ createSortItemSchema,
227
+ createMultiSortParamsSchema,
228
+ createPaginatedResultSchema,
229
+ createOffsetPaginatedResultSchema,
230
+ createCursorPaginatedResultSchema,
231
+ } from './types';
232
+ &nbsp;
197
233
  // 工具函数导出
198
234
  export type {
199
235
  OffsetPaginationResult,
@@ -222,15 +258,6 @@ export {
222
258
  isValidPagination,
223
259
  isValidOffsetPagination,
224
260
  } from './utils';
225
- &nbsp;
226
- // 适配器导出
227
- export type { EntityMapper, TypeOrmPaginateOptions } from './adapters';
228
- &nbsp;
229
- export {
230
- paginateWithRepository,
231
- paginateWithQueryBuilder,
232
- createPaginationQueryBuilder,
233
- } from './adapters';
234
261
  &nbsp;</pre></td></tr></table></pre>
235
262
 
236
263
  <div class='push'></div><!-- for sticky footer -->
@@ -238,7 +265,7 @@ export {
238
265
  <div class='footer quiet pad2 space-top1 center small'>
239
266
  Code coverage generated by
240
267
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
241
- at 2026-04-09T17:27:15.194Z
268
+ at 2026-04-12T21:41:37.775Z
242
269
  </div>
243
270
  <script src="../prettify.js"></script>
244
271
  <script>
@@ -0,0 +1,161 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/schemas</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> src/schemas</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>14/14</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>6/6</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>14/14</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file empty" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
83
+ <td data-value="0" class="pic empty">
84
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
+ </td>
86
+ <td data-value="0" class="pct empty">0%</td>
87
+ <td data-value="0" class="abs empty">0/0</td>
88
+ <td data-value="0" class="pct empty">0%</td>
89
+ <td data-value="0" class="abs empty">0/0</td>
90
+ <td data-value="0" class="pct empty">0%</td>
91
+ <td data-value="0" class="abs empty">0/0</td>
92
+ <td data-value="0" class="pct empty">0%</td>
93
+ <td data-value="0" class="abs empty">0/0</td>
94
+ </tr>
95
+
96
+ <tr>
97
+ <td class="file high" data-value="pagination.schemas.ts"><a href="pagination.schemas.ts.html">pagination.schemas.ts</a></td>
98
+ <td data-value="100" class="pic high">
99
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
+ </td>
101
+ <td data-value="100" class="pct high">100%</td>
102
+ <td data-value="4" class="abs high">4/4</td>
103
+ <td data-value="100" class="pct high">100%</td>
104
+ <td data-value="0" class="abs high">0/0</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="0" class="abs high">0/0</td>
107
+ <td data-value="100" class="pct high">100%</td>
108
+ <td data-value="4" class="abs high">4/4</td>
109
+ </tr>
110
+
111
+ <tr>
112
+ <td class="file high" data-value="result.schemas.ts"><a href="result.schemas.ts.html">result.schemas.ts</a></td>
113
+ <td data-value="100" class="pic high">
114
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115
+ </td>
116
+ <td data-value="100" class="pct high">100%</td>
117
+ <td data-value="3" class="abs high">3/3</td>
118
+ <td data-value="100" class="pct high">100%</td>
119
+ <td data-value="0" class="abs high">0/0</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="3" class="abs high">3/3</td>
122
+ <td data-value="100" class="pct high">100%</td>
123
+ <td data-value="3" class="abs high">3/3</td>
124
+ </tr>
125
+
126
+ <tr>
127
+ <td class="file high" data-value="sort.schemas.ts"><a href="sort.schemas.ts.html">sort.schemas.ts</a></td>
128
+ <td data-value="100" class="pic high">
129
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
+ </td>
131
+ <td data-value="100" class="pct high">100%</td>
132
+ <td data-value="7" class="abs high">7/7</td>
133
+ <td data-value="100" class="pct high">100%</td>
134
+ <td data-value="0" class="abs high">0/0</td>
135
+ <td data-value="100" class="pct high">100%</td>
136
+ <td data-value="3" class="abs high">3/3</td>
137
+ <td data-value="100" class="pct high">100%</td>
138
+ <td data-value="7" class="abs high">7/7</td>
139
+ </tr>
140
+
141
+ </tbody>
142
+ </table>
143
+ </div>
144
+ <div class='push'></div><!-- for sticky footer -->
145
+ </div><!-- /wrapper -->
146
+ <div class='footer quiet pad2 space-top1 center small'>
147
+ Code coverage generated by
148
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
+ at 2026-04-12T21:41:37.775Z
150
+ </div>
151
+ <script src="../../prettify.js"></script>
152
+ <script>
153
+ window.onload = function () {
154
+ prettyPrint();
155
+ };
156
+ </script>
157
+ <script src="../../sorter.js"></script>
158
+ <script src="../../block-navigation.js"></script>
159
+ </body>
160
+ </html>
161
+