durcno 1.0.0-alpha.1 → 1.0.0-alpha.10

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 (178) hide show
  1. package/README.md +11 -9
  2. package/dist/bin.cjs +314 -3412
  3. package/dist/src/columns/bigint.d.mts +9 -8
  4. package/dist/src/columns/bigint.mjs +7 -4
  5. package/dist/src/columns/bigserial.d.mts +10 -10
  6. package/dist/src/columns/bigserial.mjs +7 -4
  7. package/dist/src/columns/boolean.d.mts +3 -2
  8. package/dist/src/columns/boolean.mjs +5 -2
  9. package/dist/src/columns/bytea.d.mts +3 -2
  10. package/dist/src/columns/bytea.mjs +3 -0
  11. package/dist/src/columns/char.d.mts +3 -2
  12. package/dist/src/columns/char.mjs +3 -0
  13. package/dist/src/columns/cidr.d.mts +3 -2
  14. package/dist/src/columns/cidr.mjs +3 -0
  15. package/dist/src/columns/common.d.mts +68 -41
  16. package/dist/src/columns/common.mjs +75 -26
  17. package/dist/src/columns/date.d.mts +3 -2
  18. package/dist/src/columns/date.mjs +3 -0
  19. package/dist/src/columns/enum.d.mts +3 -2
  20. package/dist/src/columns/enum.mjs +3 -0
  21. package/dist/src/columns/inet.d.mts +3 -2
  22. package/dist/src/columns/inet.mjs +3 -0
  23. package/dist/src/columns/integer.d.mts +3 -2
  24. package/dist/src/columns/integer.mjs +3 -0
  25. package/dist/src/columns/json.d.mts +3 -2
  26. package/dist/src/columns/json.mjs +3 -0
  27. package/dist/src/columns/jsonb.d.mts +3 -2
  28. package/dist/src/columns/jsonb.mjs +3 -0
  29. package/dist/src/columns/macaddr.d.mts +3 -2
  30. package/dist/src/columns/macaddr.mjs +3 -0
  31. package/dist/src/columns/numeric.d.mts +3 -2
  32. package/dist/src/columns/numeric.mjs +3 -0
  33. package/dist/src/columns/postgis/geography/linestring.d.mts +4 -2
  34. package/dist/src/columns/postgis/geography/linestring.mjs +3 -0
  35. package/dist/src/columns/postgis/geography/multilinestring.d.mts +4 -2
  36. package/dist/src/columns/postgis/geography/multilinestring.mjs +3 -0
  37. package/dist/src/columns/postgis/geography/multipoint.d.mts +4 -2
  38. package/dist/src/columns/postgis/geography/multipoint.mjs +3 -0
  39. package/dist/src/columns/postgis/geography/multipolygon.d.mts +4 -2
  40. package/dist/src/columns/postgis/geography/multipolygon.mjs +3 -0
  41. package/dist/src/columns/postgis/geography/point.d.mts +5 -3
  42. package/dist/src/columns/postgis/geography/point.mjs +3 -0
  43. package/dist/src/columns/postgis/geography/polygon.d.mts +4 -2
  44. package/dist/src/columns/postgis/geography/polygon.mjs +3 -0
  45. package/dist/src/columns/serial.d.mts +4 -4
  46. package/dist/src/columns/serial.mjs +3 -0
  47. package/dist/src/columns/smallint.d.mts +3 -2
  48. package/dist/src/columns/smallint.mjs +3 -0
  49. package/dist/src/columns/smallserial.d.mts +4 -4
  50. package/dist/src/columns/smallserial.mjs +3 -0
  51. package/dist/src/columns/text.d.mts +3 -2
  52. package/dist/src/columns/text.mjs +3 -0
  53. package/dist/src/columns/time.d.mts +3 -2
  54. package/dist/src/columns/time.mjs +3 -0
  55. package/dist/src/columns/timestamp.d.mts +3 -2
  56. package/dist/src/columns/timestamp.mjs +3 -0
  57. package/dist/src/columns/uuid.d.mts +3 -2
  58. package/dist/src/columns/uuid.mjs +3 -0
  59. package/dist/src/columns/varchar.d.mts +3 -2
  60. package/dist/src/columns/varchar.mjs +3 -0
  61. package/dist/src/connectors/bun.d.mts +2 -2
  62. package/dist/src/connectors/bun.mjs +15 -15
  63. package/dist/src/connectors/common.d.mts +100 -25
  64. package/dist/src/connectors/common.mjs +87 -28
  65. package/dist/src/connectors/pg.d.mts +3 -2
  66. package/dist/src/connectors/pg.mjs +18 -15
  67. package/dist/src/connectors/pglite.d.mts +12 -4
  68. package/dist/src/connectors/pglite.mjs +27 -19
  69. package/dist/src/connectors/postgres.d.mts +3 -2
  70. package/dist/src/connectors/postgres.mjs +17 -14
  71. package/dist/src/constraints/check.d.mts +14 -81
  72. package/dist/src/constraints/check.mjs +36 -287
  73. package/dist/src/constraints/primary-key.d.mts +4 -4
  74. package/dist/src/constraints/unique.d.mts +3 -2
  75. package/dist/src/db.d.mts +26 -26
  76. package/dist/src/db.mjs +30 -39
  77. package/dist/src/filters/array.d.mts +28 -29
  78. package/dist/src/filters/array.mjs +36 -65
  79. package/dist/src/filters/index.d.mts +88 -134
  80. package/dist/src/filters/index.mjs +81 -215
  81. package/dist/src/filters/postgis.d.mts +111 -0
  82. package/dist/src/filters/postgis.mjs +147 -0
  83. package/dist/src/filters/string.d.mts +42 -0
  84. package/dist/src/filters/string.mjs +69 -0
  85. package/dist/src/functions/aggregate.d.mts +235 -0
  86. package/dist/src/functions/aggregate.mjs +259 -0
  87. package/dist/src/functions/index.d.mts +87 -1
  88. package/dist/src/functions/index.mjs +65 -1
  89. package/dist/src/functions/numeric.d.mts +86 -0
  90. package/dist/src/functions/numeric.mjs +91 -0
  91. package/dist/src/functions/postgis.d.mts +46 -0
  92. package/dist/src/functions/postgis.mjs +50 -0
  93. package/dist/src/functions/string.d.mts +127 -0
  94. package/dist/src/functions/string.mjs +121 -0
  95. package/dist/src/index.d.mts +34 -62
  96. package/dist/src/index.mjs +22 -18
  97. package/dist/src/indexes.d.mts +1 -0
  98. package/dist/src/logger.d.mts +36 -0
  99. package/dist/src/logger.mjs +61 -0
  100. package/dist/src/migration/ddl/enum.d.mts +100 -0
  101. package/dist/src/migration/ddl/enum.mjs +138 -0
  102. package/dist/src/migration/ddl/index.d.mts +211 -0
  103. package/dist/src/migration/ddl/index.mjs +239 -0
  104. package/dist/src/migration/ddl/indexes.d.mts +110 -0
  105. package/dist/src/migration/ddl/indexes.mjs +151 -0
  106. package/dist/src/migration/ddl/schema.d.mts +56 -0
  107. package/dist/src/migration/ddl/schema.mjs +62 -0
  108. package/dist/src/migration/ddl/sequence.d.mts +77 -0
  109. package/dist/src/migration/ddl/sequence.mjs +86 -0
  110. package/dist/src/migration/{statement.d.mts → ddl/statement.d.mts} +13 -10
  111. package/dist/src/migration/{statement.mjs → ddl/statement.mjs} +4 -4
  112. package/dist/src/migration/ddl/table.d.mts +304 -0
  113. package/dist/src/migration/{ddl.mjs → ddl/table.mjs} +73 -512
  114. package/dist/src/migration/ddl/types.d.mts +117 -0
  115. package/dist/src/migration/ddl/types.mjs +187 -0
  116. package/dist/src/migration/index.d.mts +4 -3
  117. package/dist/src/migration/index.mjs +4 -3
  118. package/dist/src/migration/snapshot.d.mts +2 -5
  119. package/dist/src/migration/snapshot.mjs +8 -8
  120. package/dist/src/models.d.mts +6 -9
  121. package/dist/src/models.mjs +4 -8
  122. package/dist/src/query-builders/aggregates.d.mts +6 -6
  123. package/dist/src/query-builders/aggregates.mjs +6 -6
  124. package/dist/src/query-builders/count.d.mts +6 -6
  125. package/dist/src/query-builders/count.mjs +6 -6
  126. package/dist/src/query-builders/delete.d.mts +6 -6
  127. package/dist/src/query-builders/delete.mjs +6 -9
  128. package/dist/src/query-builders/distinct.d.mts +6 -6
  129. package/dist/src/query-builders/distinct.mjs +6 -6
  130. package/dist/src/query-builders/exists.d.mts +6 -6
  131. package/dist/src/query-builders/exists.mjs +6 -6
  132. package/dist/src/query-builders/first.d.mts +6 -6
  133. package/dist/src/query-builders/first.mjs +9 -10
  134. package/dist/src/query-builders/insert-returning.d.mts +3 -4
  135. package/dist/src/query-builders/insert-returning.mjs +9 -34
  136. package/dist/src/query-builders/insert.d.mts +9 -9
  137. package/dist/src/query-builders/insert.mjs +37 -39
  138. package/dist/src/query-builders/orderby-clause.d.mts +54 -9
  139. package/dist/src/query-builders/orderby-clause.mjs +36 -9
  140. package/dist/src/query-builders/pre.d.mts +8 -7
  141. package/dist/src/query-builders/pre.mjs +7 -6
  142. package/dist/src/query-builders/query.d.mts +9 -4
  143. package/dist/src/query-builders/query.mjs +14 -1
  144. package/dist/src/query-builders/raw.d.mts +1 -1
  145. package/dist/src/query-builders/raw.mjs +1 -1
  146. package/dist/src/query-builders/rq.d.mts +24 -11
  147. package/dist/src/query-builders/rq.mjs +63 -94
  148. package/dist/src/query-builders/select.d.mts +16 -15
  149. package/dist/src/query-builders/select.mjs +68 -31
  150. package/dist/src/query-builders/update.d.mts +8 -8
  151. package/dist/src/query-builders/update.mjs +15 -23
  152. package/dist/src/sequence.d.mts +1 -1
  153. package/dist/src/sql.d.mts +2 -2
  154. package/dist/src/sql.mjs +2 -2
  155. package/dist/src/table.d.mts +12 -19
  156. package/dist/src/table.mjs +0 -1
  157. package/dist/src/types.d.mts +9 -1
  158. package/dist/src/validators/zod.d.mts +2 -2
  159. package/dist/src/wkx/binarywriter.mjs +103 -108
  160. package/dist/src/wkx/geometry.mjs +88 -95
  161. package/dist/src/wkx/geometrycollection.mjs +3 -6
  162. package/dist/src/wkx/index.mjs +1 -4
  163. package/dist/src/wkx/linestring.mjs +4 -8
  164. package/dist/src/wkx/multilinestring.mjs +4 -8
  165. package/dist/src/wkx/multipoint.mjs +4 -8
  166. package/dist/src/wkx/multipolygon.mjs +4 -8
  167. package/dist/src/wkx/parser.mjs +4 -8
  168. package/dist/src/wkx/point.mjs +147 -157
  169. package/dist/src/wkx/polygon.mjs +4 -8
  170. package/dist/src/wkx/types.mjs +30 -35
  171. package/dist/src/wkx/wktparser.mjs +2 -5
  172. package/dist/src/wkx/zigzag.mjs +5 -10
  173. package/package.json +9 -5
  174. package/dist/src/_virtual/_rolldown/runtime.mjs +0 -28
  175. package/dist/src/cli/helpers.mjs +0 -16
  176. package/dist/src/filters/custom.d.mts +0 -12
  177. package/dist/src/filters/custom.mjs +0 -7
  178. package/dist/src/migration/ddl.d.mts +0 -747
package/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  <p align="center">
2
- <img src="https://img.shields.io/npm/v/durcno?style=flat&color=blue" alt="npm version" />
2
+ <img alt="NPM Downloads" src="https://img.shields.io/npm/dw/durcno" alt="Downloads" />
3
+ <img src="https://img.shields.io/badge/Node.js-24%2B-339935?style=flat&logo=node.js&logoColor=white" alt="Node.js 24+" />
3
4
  <img src="https://img.shields.io/badge/PostgreSQL-14%2B-336791?style=flat&logo=postgresql&logoColor=white" alt="PostgreSQL 14+" />
4
- <img src="https://img.shields.io/badge/Node.js-25%2B-339933?style=flat&logo=node.js&logoColor=white" alt="Node.js" />
5
5
  <img src="https://img.shields.io/badge/License-Apache%202.0-blue?style=flat" alt="License" />
6
+ <img src="https://img.shields.io/badge/vitest--green?logo=vitest" alt="License" />
6
7
  </p>
7
8
 
8
9
  <h1 align="center">Durcno</h1>
@@ -12,7 +13,7 @@
12
13
  </p>
13
14
 
14
15
  <p align="center">
15
- Type-safe • Intuitive • Robust
16
+ Intuitive • Type-safe • Runtime-safe • Robust
16
17
  </p>
17
18
 
18
19
  ---
@@ -21,29 +22,30 @@
21
22
 
22
23
  - **🔗 Relation Mapping** — Intuitive `many`, `one`, and `fk` relations with full type inference.
23
24
  - **🦾 Robust Migrations** — Auto-generated, reversible, and squashable migrations for production applications.
24
- - **🚀 Zero Runtime Overhead** — Thin abstraction layer that compiles to efficient SQL.
25
+ - **⚡ Zero Runtime Overhead** — Thin abstraction layer that compiles to efficient SQL.
25
26
  - **🔌 Multiple Drivers** — Support for `pg`, `postgres`, `bun`, and `pglite` drivers.
27
+ - **🛡️ Zod Integration** — Built-in Zod validators for schema validation and type inference.
26
28
  - **🌍 PostGIS Support** — First-class geographic column types for spatial queries.
27
29
 
28
30
  ## Setup
29
31
 
30
32
  ```bash
31
- npm install durcno
33
+ npm add durcno@alpha
32
34
  ```
33
35
 
34
36
  ```bash
35
- npx durcno init
37
+ npm exec durcno init
36
38
  ```
37
39
 
38
40
  ## Getting Started
39
41
 
40
42
  Get started with Durcno by following our comprehensive documentation.
41
43
 
42
- **[Read the Documentation](https://durcno.dev/docs)**
44
+ **[Getting Started | Durcno](https://durcno.dev/docs/latest/getting-started)**
43
45
 
44
- > [!WARNING]
46
+ > [!NOTE]
45
47
  > Durcno is currently in the alpha stage.
46
- > Avoid using it in any critical or large project until it reaches beta. Expect bugs and breaking changes. However, your feedback is invaluable to help us shape the future of Durcno!
48
+ > Avoid using it in any critical or large project until it reaches beta. Expect edge cases and breaking changes. However, your feedback is invaluable to help us shape the future of Durcno!
47
49
 
48
50
  ## Contributing
49
51