ts-prorm-orm 1.1.0 → 1.2.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 (460) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +194 -72
  3. package/dist/audit/history-query.d.ts +35 -0
  4. package/dist/audit/index.d.ts +16 -0
  5. package/dist/audit/logger.d.ts +126 -0
  6. package/dist/cache/cache-manager.d.ts +341 -0
  7. package/dist/cache/index.d.ts +8 -0
  8. package/dist/cache/redis-cluster-cache.d.ts +164 -0
  9. package/dist/cache/redis-cluster-cache.js +19 -36
  10. package/dist/cli/cloud.d.ts +55 -0
  11. package/dist/cli/cloud.js +318 -0
  12. package/dist/cli/commands/auth.d.ts +2 -0
  13. package/dist/cli/commands/auth.js +345 -0
  14. package/dist/cli/commands/billing.d.ts +2 -0
  15. package/dist/cli/commands/billing.js +135 -0
  16. package/dist/cli/commands/code.d.ts +2 -0
  17. package/dist/cli/commands/code.js +168 -0
  18. package/dist/cli/commands/config.d.ts +2 -0
  19. package/dist/cli/commands/config.js +154 -0
  20. package/dist/cli/commands/db.d.ts +2 -0
  21. package/dist/cli/commands/db.js +189 -0
  22. package/dist/cli/commands/index.d.ts +1 -0
  23. package/dist/cli/commands/index.js +22 -0
  24. package/dist/cli/commands/keys.d.ts +2 -0
  25. package/dist/cli/commands/keys.js +100 -0
  26. package/dist/cli/commands/misc.d.ts +2 -0
  27. package/dist/cli/commands/misc.js +282 -0
  28. package/dist/cli/commands/pull.d.ts +2 -0
  29. package/dist/cli/commands/pull.js +306 -0
  30. package/dist/cli/commands/runners.d.ts +2 -0
  31. package/dist/cli/commands/runners.js +218 -0
  32. package/dist/cli/commands/scaffold.d.ts +2 -0
  33. package/dist/cli/commands/scaffold.js +383 -0
  34. package/dist/cli/commands/secrets.d.ts +2 -0
  35. package/dist/cli/commands/secrets.js +162 -0
  36. package/dist/cli/commands/store.d.ts +2 -0
  37. package/dist/cli/commands/store.js +274 -0
  38. package/dist/cli/commands/system.d.ts +10 -0
  39. package/dist/cli/commands/system.js +169 -0
  40. package/dist/cli/commands/teams.d.ts +2 -0
  41. package/dist/cli/commands/teams.js +189 -0
  42. package/dist/cli/commands/user.d.ts +2 -0
  43. package/dist/cli/commands/user.js +171 -0
  44. package/dist/cli/framework.d.ts +103 -0
  45. package/dist/cli/framework.js +436 -0
  46. package/dist/cli/io.d.ts +26 -0
  47. package/dist/cli/io.js +181 -0
  48. package/dist/cli/keychain.d.ts +10 -0
  49. package/dist/cli/keychain.js +101 -0
  50. package/dist/cli/prompt.d.ts +20 -0
  51. package/dist/cli/prompt.js +111 -0
  52. package/dist/cli.d.ts +214 -0
  53. package/dist/cli.js +72 -5
  54. package/dist/compliance/audit-trail.d.ts +66 -0
  55. package/dist/compliance/backup-verification.d.ts +279 -0
  56. package/dist/compliance/breach-detector.d.ts +197 -0
  57. package/dist/compliance/consent-record.d.ts +107 -0
  58. package/dist/compliance/consent-versioning.d.ts +169 -0
  59. package/dist/compliance/cross-border-log.d.ts +254 -0
  60. package/dist/compliance/data-classifier.d.ts +127 -0
  61. package/dist/compliance/data-lineage.d.ts +268 -0
  62. package/dist/compliance/data-masker.d.ts +110 -0
  63. package/dist/compliance/data-portability.d.ts +98 -0
  64. package/dist/compliance/data-retention.d.ts +108 -0
  65. package/dist/compliance/dsar-workflow.d.ts +175 -0
  66. package/dist/compliance/field-encryption.d.ts +84 -0
  67. package/dist/compliance/immutable-record.d.ts +84 -0
  68. package/dist/compliance/index.d.ts +93 -0
  69. package/dist/compliance/privacy-impact-assessment.d.ts +196 -0
  70. package/dist/compliance/pseudonymization.d.ts +96 -0
  71. package/dist/compliance/query-firewall.d.ts +661 -0
  72. package/dist/compliance/rate-limiter.d.ts +203 -0
  73. package/dist/compliance/right-to-erasure.d.ts +96 -0
  74. package/dist/compliance/row-level-security.d.ts +152 -0
  75. package/dist/compliance/security-decorator.d.ts +388 -0
  76. package/dist/compliance/security-monitor.d.ts +170 -0
  77. package/dist/compliance/sensitive-data-discovery.d.ts +151 -0
  78. package/dist/compliance/session-isolation.d.ts +286 -0
  79. package/dist/compliance/tls-enforcer.d.ts +51 -0
  80. package/dist/compliance/worm-storage.d.ts +225 -0
  81. package/dist/connection-manager.d.ts +130 -0
  82. package/dist/connection-pool.d.ts +311 -0
  83. package/dist/decorators/audit.d.ts +49 -0
  84. package/dist/decorators/check.d.ts +218 -0
  85. package/dist/decorators/collate.d.ts +346 -0
  86. package/dist/decorators/comment.d.ts +51 -0
  87. package/dist/decorators/database-settings.d.ts +193 -0
  88. package/dist/decorators/default.d.ts +148 -0
  89. package/dist/decorators/encryption.d.ts +175 -0
  90. package/dist/decorators/engine.d.ts +97 -0
  91. package/dist/decorators/fk-constraints.d.ts +387 -0
  92. package/dist/decorators/foreign-table.d.ts +57 -0
  93. package/dist/decorators/generated.d.ts +232 -0
  94. package/dist/decorators/hstore.d.ts +96 -0
  95. package/dist/decorators/index.d.ts +57 -0
  96. package/dist/decorators/index.js +14 -30
  97. package/dist/decorators/json-column.d.ts +47 -0
  98. package/dist/decorators/jsonb.d.ts +83 -0
  99. package/dist/decorators/orm-decorators.d.ts +274 -0
  100. package/dist/decorators/permissions.d.ts +192 -0
  101. package/dist/decorators/procedure.d.ts +168 -0
  102. package/dist/decorators/procedure.js +31 -7
  103. package/dist/decorators/query-options.d.ts +527 -0
  104. package/dist/decorators/range.d.ts +122 -0
  105. package/dist/decorators/set-column.d.ts +43 -0
  106. package/dist/decorators/spatial.d.ts +60 -0
  107. package/dist/decorators/storage.d.ts +561 -0
  108. package/dist/decorators/timezone.d.ts +319 -0
  109. package/dist/decorators/trigger.d.ts +50 -0
  110. package/dist/decorators/uuid.d.ts +102 -0
  111. package/dist/decorators/view.d.ts +213 -0
  112. package/dist/diagrams/chen-diagram.d.ts +70 -0
  113. package/dist/diagrams/chen-diagram.js +33 -31
  114. package/dist/diagrams/class-diagram.d.ts +78 -0
  115. package/dist/diagrams/class-diagram.js +23 -27
  116. package/dist/diagrams/dependency-diagram.d.ts +82 -0
  117. package/dist/diagrams/dependency-diagram.js +18 -9
  118. package/dist/diagrams/er-diagram.d.ts +82 -0
  119. package/dist/diagrams/er-diagram.js +174 -231
  120. package/dist/diagrams/flow-diagram.d.ts +70 -0
  121. package/dist/diagrams/flow-diagram.js +23 -18
  122. package/dist/diagrams/gantt-diagram.d.ts +67 -0
  123. package/dist/diagrams/gantt-diagram.js +20 -18
  124. package/dist/diagrams/index-diagram.d.ts +61 -0
  125. package/dist/diagrams/index-diagram.js +36 -31
  126. package/dist/diagrams/index.d.ts +155 -0
  127. package/dist/diagrams/index.js +7 -1
  128. package/dist/diagrams/migration-diagram.d.ts +67 -0
  129. package/dist/diagrams/migration-diagram.js +45 -57
  130. package/dist/diagrams/model-diagram.d.ts +85 -0
  131. package/dist/diagrams/model-diagram.js +225 -287
  132. package/dist/diagrams/package-diagram.d.ts +69 -0
  133. package/dist/diagrams/package-diagram.js +30 -32
  134. package/dist/diagrams/palette.d.ts +138 -0
  135. package/dist/diagrams/palette.js +134 -25
  136. package/dist/diagrams/relational-diagram.d.ts +82 -0
  137. package/dist/diagrams/relational-diagram.js +51 -59
  138. package/dist/diagrams/schemadoc-diagram.d.ts +57 -0
  139. package/dist/diagrams/schemadoc-diagram.js +36 -28
  140. package/dist/diagrams/sequence-diagram.d.ts +61 -0
  141. package/dist/diagrams/sequence-diagram.js +20 -11
  142. package/dist/diagrams/state-diagram.d.ts +85 -0
  143. package/dist/diagrams/state-diagram.js +21 -17
  144. package/dist/diagrams/svg-dom.d.ts +62 -0
  145. package/dist/diagrams/svg-dom.js +11 -0
  146. package/dist/diagrams/tree-diagram.d.ts +47 -0
  147. package/dist/diagrams/tree-diagram.js +19 -10
  148. package/dist/dialects/clickhouse/index.d.ts +660 -0
  149. package/dist/dialects/clickhouse/index.js +107 -2
  150. package/dist/dialects/cockroachdb/index.d.ts +1708 -0
  151. package/dist/dialects/cockroachdb/index.js +139 -10
  152. package/dist/dialects/cratedb/index.d.ts +262 -0
  153. package/dist/dialects/cratedb/index.js +148 -0
  154. package/dist/dialects/databricks/index.d.ts +397 -0
  155. package/dist/dialects/databricks/index.js +233 -11
  156. package/dist/dialects/db2/index.d.ts +729 -0
  157. package/dist/dialects/db2/index.js +152 -2
  158. package/dist/dialects/dialect.d.ts +1653 -0
  159. package/dist/dialects/duckdb/index.d.ts +440 -0
  160. package/dist/dialects/duckdb/index.js +21 -37
  161. package/dist/dialects/exasol/index.d.ts +197 -0
  162. package/dist/dialects/exasol/index.js +14 -0
  163. package/dist/dialects/firebird/index.d.ts +286 -0
  164. package/dist/dialects/firebird/index.js +135 -0
  165. package/dist/dialects/greenplum/index.d.ts +336 -0
  166. package/dist/dialects/greenplum/index.js +168 -0
  167. package/dist/dialects/hana/index.d.ts +512 -0
  168. package/dist/dialects/hana/index.js +17 -35
  169. package/dist/dialects/mariadb/index.d.ts +1241 -0
  170. package/dist/dialects/mariadb/index.js +181 -43
  171. package/dist/dialects/mssql/index.d.ts +729 -0
  172. package/dist/dialects/mssql/index.js +76 -7
  173. package/dist/dialects/mysql/index.d.ts +1233 -0
  174. package/dist/dialects/mysql/index.js +87 -19
  175. package/dist/dialects/oracle/index.d.ts +1222 -0
  176. package/dist/dialects/oracle/index.js +210 -9
  177. package/dist/dialects/postgres/index.d.ts +1598 -0
  178. package/dist/dialects/postgres/index.js +34 -13
  179. package/dist/dialects/query-stream-helper.d.ts +58 -0
  180. package/dist/dialects/questdb/index.d.ts +430 -0
  181. package/dist/dialects/questdb/index.js +292 -0
  182. package/dist/dialects/redshift/index.d.ts +933 -0
  183. package/dist/dialects/redshift/index.js +17 -5
  184. package/dist/dialects/singlestore/index.d.ts +233 -0
  185. package/dist/dialects/singlestore/index.js +53 -0
  186. package/dist/dialects/snowflake/index.d.ts +727 -0
  187. package/dist/dialects/snowflake/index.js +154 -5
  188. package/dist/dialects/spanner/index.d.ts +660 -0
  189. package/dist/dialects/spanner/index.js +43 -21
  190. package/dist/dialects/sqlite/index.d.ts +1133 -0
  191. package/dist/dialects/sqlite/index.js +168 -30
  192. package/dist/dialects/tidb/index.d.ts +226 -0
  193. package/dist/dialects/tidb/index.js +10 -0
  194. package/dist/dialects/timescaledb/index.d.ts +286 -0
  195. package/dist/dialects/timescaledb/index.js +179 -0
  196. package/dist/dialects/trino/index.d.ts +230 -0
  197. package/dist/dialects/trino/index.js +85 -10
  198. package/dist/dialects/turso/index.d.ts +98 -0
  199. package/dist/dialects/turso/index.js +10 -0
  200. package/dist/dialects/vertica/index.d.ts +321 -0
  201. package/dist/dialects/vertica/index.js +161 -0
  202. package/dist/dialects/yugabytedb/index.d.ts +276 -0
  203. package/dist/dialects/yugabytedb/index.js +121 -0
  204. package/dist/errors/index.d.ts +378 -0
  205. package/dist/errors/index.js +29 -1
  206. package/dist/errors/utils.d.ts +53 -0
  207. package/dist/errors.d.ts +5 -0
  208. package/dist/extensions/catalog/cloud-warehouse-features.d.ts +27 -0
  209. package/dist/extensions/catalog/mssql-features.d.ts +20 -0
  210. package/dist/extensions/catalog/mysql-mariadb-plugins.d.ts +18 -0
  211. package/dist/extensions/catalog/oracle-db2-features.d.ts +17 -0
  212. package/dist/extensions/catalog/postgres-extensions.d.ts +15 -0
  213. package/dist/extensions/index.d.ts +34 -0
  214. package/dist/extensions/types.d.ts +43 -0
  215. package/dist/external-fields/adapters.d.ts +50 -0
  216. package/dist/external-fields/adapters.js +227 -0
  217. package/dist/external-fields/decorator.d.ts +77 -0
  218. package/dist/external-fields/decorator.js +80 -0
  219. package/dist/external-fields/index.d.ts +10 -0
  220. package/dist/external-fields/index.js +19 -0
  221. package/dist/external-fields/runtime.d.ts +39 -0
  222. package/dist/external-fields/runtime.js +221 -0
  223. package/dist/foreign-data.d.ts +168 -0
  224. package/dist/graph/base-graph-dialect.d.ts +250 -0
  225. package/dist/graph/base-graph-dialect.js +539 -0
  226. package/dist/graph/dgraph/index.d.ts +65 -0
  227. package/dist/graph/dgraph/index.js +559 -0
  228. package/dist/graph/gremlin/index.d.ts +59 -0
  229. package/dist/graph/gremlin/index.js +378 -0
  230. package/dist/graph/index.d.ts +60 -0
  231. package/dist/graph/index.js +67 -0
  232. package/dist/graph/neo4j/index.d.ts +50 -0
  233. package/dist/graph/neo4j/index.js +462 -0
  234. package/dist/graph/types.d.ts +213 -0
  235. package/dist/graph/types.js +234 -0
  236. package/dist/hooks/hooks-manager.d.ts +189 -0
  237. package/dist/hooks/index.d.ts +8 -0
  238. package/dist/index.d.ts +711 -0
  239. package/dist/index.js +19 -4
  240. package/dist/logging.d.ts +183 -0
  241. package/dist/migrations/index.d.ts +9 -0
  242. package/dist/migrations/migration.d.ts +143 -0
  243. package/dist/migrations/migrator.d.ts +199 -0
  244. package/dist/migrations/prormmigration.d.ts +131 -0
  245. package/dist/migrations/query-interface.d.ts +335 -0
  246. package/dist/migrations/seeder.d.ts +167 -0
  247. package/dist/models/associations.d.ts +131 -0
  248. package/dist/models/associations.js +7 -2
  249. package/dist/models/constraints.d.ts +175 -0
  250. package/dist/models/data-types.d.ts +1656 -0
  251. package/dist/models/decorators.d.ts +328 -0
  252. package/dist/models/decorators.js +61 -82
  253. package/dist/models/eager-load.d.ts +86 -0
  254. package/dist/models/eager-load.js +369 -0
  255. package/dist/models/index.d.ts +13 -0
  256. package/dist/models/indexes.d.ts +325 -0
  257. package/dist/models/methods.d.ts +419 -0
  258. package/dist/models/model-manager.d.ts +76 -0
  259. package/dist/models/model.d.ts +820 -0
  260. package/dist/models/model.js +15 -101
  261. package/dist/models/operators.d.ts +29 -0
  262. package/dist/models/scopes.d.ts +71 -0
  263. package/dist/models/typescript-types.d.ts +177 -0
  264. package/dist/nosql/aerospike/index.d.ts +126 -0
  265. package/dist/nosql/allegrograph/index.d.ts +86 -0
  266. package/dist/nosql/arangodb/index.d.ts +285 -0
  267. package/dist/nosql/arangodb/index.js +274 -2
  268. package/dist/nosql/arangodb/where.d.ts +38 -0
  269. package/dist/nosql/arangodb/where.js +94 -0
  270. package/dist/nosql/azure-blob/index.d.ts +104 -0
  271. package/dist/nosql/beanstalkd/index.d.ts +88 -0
  272. package/dist/nosql/beequeue/index.d.ts +99 -0
  273. package/dist/nosql/bigchaindb/index.d.ts +113 -0
  274. package/dist/nosql/bigtable/index.d.ts +144 -0
  275. package/dist/nosql/blazegraph/index.d.ts +88 -0
  276. package/dist/nosql/bullmq/index.d.ts +83 -0
  277. package/dist/nosql/cassandra/index.d.ts +119 -0
  278. package/dist/nosql/chroma/index.d.ts +151 -0
  279. package/dist/nosql/cloudflare-kv/index.d.ts +120 -0
  280. package/dist/nosql/coherence/index.d.ts +91 -0
  281. package/dist/nosql/cosmosdb/index.d.ts +78 -0
  282. package/dist/nosql/couchbase/index.d.ts +103 -0
  283. package/dist/nosql/dax/index.d.ts +118 -0
  284. package/dist/nosql/deno-kv/index.d.ts +109 -0
  285. package/dist/nosql/dgraph/index.d.ts +80 -0
  286. package/dist/nosql/doris/index.d.ts +88 -0
  287. package/dist/nosql/druid/index.d.ts +95 -0
  288. package/dist/nosql/dynamodb/index.d.ts +643 -0
  289. package/dist/nosql/dynamodb/index.js +423 -0
  290. package/dist/nosql/elasticsearch/index.d.ts +239 -0
  291. package/dist/nosql/etcd/index.d.ts +243 -0
  292. package/dist/nosql/eventhubs/index.d.ts +89 -0
  293. package/dist/nosql/eventstore/index.d.ts +102 -0
  294. package/dist/nosql/faunadb/index.d.ts +141 -0
  295. package/dist/nosql/faunadb/index.js +329 -0
  296. package/dist/nosql/firestore/index.d.ts +67 -0
  297. package/dist/nosql/fluree/index.d.ts +88 -0
  298. package/dist/nosql/fuseki/index.d.ts +94 -0
  299. package/dist/nosql/gcs/index.d.ts +62 -0
  300. package/dist/nosql/gearman/index.d.ts +77 -0
  301. package/dist/nosql/geode/index.d.ts +93 -0
  302. package/dist/nosql/graphdb/index.d.ts +86 -0
  303. package/dist/nosql/graylog/index.d.ts +118 -0
  304. package/dist/nosql/gridgain/index.d.ts +78 -0
  305. package/dist/nosql/hazelcast/index.d.ts +73 -0
  306. package/dist/nosql/hbase/index.d.ts +123 -0
  307. package/dist/nosql/ignite/index.d.ts +80 -0
  308. package/dist/nosql/immudb/index.d.ts +131 -0
  309. package/dist/nosql/index.d.ts +215 -0
  310. package/dist/nosql/infinispan/index.d.ts +95 -0
  311. package/dist/nosql/influxdb/flux-compiler.d.ts +23 -0
  312. package/dist/nosql/influxdb/flux-compiler.js +170 -0
  313. package/dist/nosql/influxdb/index.d.ts +300 -0
  314. package/dist/nosql/influxdb/index.js +0 -0
  315. package/dist/nosql/kafka/index.d.ts +113 -0
  316. package/dist/nosql/keyspaces/index.d.ts +122 -0
  317. package/dist/nosql/kinesis/index.d.ts +121 -0
  318. package/dist/nosql/leveldb/index.d.ts +112 -0
  319. package/dist/nosql/leveldb/index.js +103 -1
  320. package/dist/nosql/lmdb/index.d.ts +76 -0
  321. package/dist/nosql/loki/index.d.ts +126 -0
  322. package/dist/nosql/marklogic/index.d.ts +76 -0
  323. package/dist/nosql/materialize/index.d.ts +91 -0
  324. package/dist/nosql/meilisearch/index.d.ts +76 -0
  325. package/dist/nosql/memcached/index.d.ts +138 -0
  326. package/dist/nosql/milvus/index.d.ts +167 -0
  327. package/dist/nosql/minio/index.d.ts +122 -0
  328. package/dist/nosql/momento/index.d.ts +99 -0
  329. package/dist/nosql/mongodb/index.d.ts +265 -0
  330. package/dist/nosql/mongodb/index.js +139 -0
  331. package/dist/nosql/mongodb/where.d.ts +8 -0
  332. package/dist/nosql/mongodb/where.js +181 -0
  333. package/dist/nosql/nats/index.d.ts +139 -0
  334. package/dist/nosql/nedb/index.d.ts +79 -0
  335. package/dist/nosql/neo4j/index.d.ts +217 -0
  336. package/dist/nosql/neo4j/index.js +26 -14
  337. package/dist/nosql/neptune/index.d.ts +234 -0
  338. package/dist/nosql/neptune/index.js +23 -9
  339. package/dist/nosql/nsq/index.d.ts +93 -0
  340. package/dist/nosql/opensearch/index.d.ts +97 -0
  341. package/dist/nosql/orientdb/index.d.ts +72 -0
  342. package/dist/nosql/papertrail/index.d.ts +120 -0
  343. package/dist/nosql/pinecone/index.d.ts +148 -0
  344. package/dist/nosql/pinot/index.d.ts +90 -0
  345. package/dist/nosql/pouchdb/index.d.ts +95 -0
  346. package/dist/nosql/prometheus/index.d.ts +112 -0
  347. package/dist/nosql/provendb/index.d.ts +143 -0
  348. package/dist/nosql/provendb/index.js +262 -0
  349. package/dist/nosql/pubsub/index.d.ts +83 -0
  350. package/dist/nosql/pulsar/index.d.ts +105 -0
  351. package/dist/nosql/qdrant/index.d.ts +231 -0
  352. package/dist/nosql/qldb/index.d.ts +182 -0
  353. package/dist/nosql/qldb/index.js +302 -1
  354. package/dist/nosql/r2/index.d.ts +160 -0
  355. package/dist/nosql/rabbitmq/index.d.ts +131 -0
  356. package/dist/nosql/ravendb/index.d.ts +138 -0
  357. package/dist/nosql/ravendb/index.js +323 -9
  358. package/dist/nosql/ravendb/where.d.ts +38 -0
  359. package/dist/nosql/ravendb/where.js +94 -0
  360. package/dist/nosql/redis/index.d.ts +267 -0
  361. package/dist/nosql/redis/index.js +19 -5
  362. package/dist/nosql/redpanda/index.d.ts +117 -0
  363. package/dist/nosql/resque/index.d.ts +91 -0
  364. package/dist/nosql/rethinkdb/index.d.ts +194 -0
  365. package/dist/nosql/rethinkdb/index.js +290 -0
  366. package/dist/nosql/rethinkdb/where.d.ts +38 -0
  367. package/dist/nosql/rethinkdb/where.js +94 -0
  368. package/dist/nosql/rocksdb/document-layer.d.ts +162 -0
  369. package/dist/nosql/rocksdb/document-layer.js +338 -0
  370. package/dist/nosql/rocksdb/index.d.ts +112 -0
  371. package/dist/nosql/rocksdb/index.js +103 -1
  372. package/dist/nosql/rocksdb/where-match.d.ts +21 -0
  373. package/dist/nosql/rocksdb/where-match.js +238 -0
  374. package/dist/nosql/rockset/index.d.ts +84 -0
  375. package/dist/nosql/s3/index.d.ts +170 -0
  376. package/dist/nosql/scylladb/index.d.ts +117 -0
  377. package/dist/nosql/signoz/index.d.ts +116 -0
  378. package/dist/nosql/sns/index.d.ts +99 -0
  379. package/dist/nosql/solr/index.d.ts +129 -0
  380. package/dist/nosql/splunk/index.d.ts +125 -0
  381. package/dist/nosql/sqs/index.d.ts +116 -0
  382. package/dist/nosql/stardog/index.d.ts +86 -0
  383. package/dist/nosql/starrocks/index.d.ts +89 -0
  384. package/dist/nosql/store.d.ts +23 -0
  385. package/dist/nosql/sumologic/index.d.ts +119 -0
  386. package/dist/nosql/surrealdb/index.d.ts +156 -0
  387. package/dist/nosql/surrealdb/index.js +174 -1
  388. package/dist/nosql/surrealdb/query-compiler.d.ts +26 -0
  389. package/dist/nosql/surrealdb/query-compiler.js +193 -0
  390. package/dist/nosql/terminusdb/index.d.ts +95 -0
  391. package/dist/nosql/tigergraph/index.d.ts +314 -0
  392. package/dist/nosql/typesense/index.d.ts +82 -0
  393. package/dist/nosql/unqlite/index.d.ts +68 -0
  394. package/dist/nosql/upstash/index.d.ts +80 -0
  395. package/dist/nosql/vercel-kv/index.d.ts +82 -0
  396. package/dist/nosql/victoriametrics/index.d.ts +129 -0
  397. package/dist/nosql/virtuoso/index.d.ts +87 -0
  398. package/dist/nosql/weaviate/index.d.ts +196 -0
  399. package/dist/operators/index.d.ts +7 -0
  400. package/dist/operators.d.ts +2947 -0
  401. package/dist/operators.js +46 -1
  402. package/dist/prisma-migrate/index.d.ts +28 -0
  403. package/dist/prisma-migrate/migration-generator.d.ts +21 -0
  404. package/dist/prisma-migrate/model-generator.d.ts +12 -0
  405. package/dist/prisma-migrate/relations.d.ts +28 -0
  406. package/dist/prisma-migrate/schema-parser.d.ts +42 -0
  407. package/dist/prisma-migrate/type-mapper.d.ts +20 -0
  408. package/dist/prorm.d.ts +2093 -0
  409. package/dist/prorm.js +721 -302
  410. package/dist/query-builders/cte-builder.d.ts +104 -0
  411. package/dist/query-builders/functions/aggregate.d.ts +199 -0
  412. package/dist/query-builders/functions/conditional.d.ts +195 -0
  413. package/dist/query-builders/functions/datetime.d.ts +202 -0
  414. package/dist/query-builders/functions/fulltext.d.ts +220 -0
  415. package/dist/query-builders/functions/index.d.ts +17 -0
  416. package/dist/query-builders/functions/json.d.ts +157 -0
  417. package/dist/query-builders/functions/math.d.ts +215 -0
  418. package/dist/query-builders/functions/string.d.ts +233 -0
  419. package/dist/query-builders/functions/window.d.ts +209 -0
  420. package/dist/query-builders/include-builder.d.ts +85 -0
  421. package/dist/query-builders/index-expression-builder.d.ts +153 -0
  422. package/dist/query-builders/index.d.ts +121 -0
  423. package/dist/query-builders/index.js +10 -0
  424. package/dist/query-builders/insert-builder.d.ts +62 -0
  425. package/dist/query-builders/model-helpers.d.ts +28 -0
  426. package/dist/query-builders/order-limit-builder.d.ts +84 -0
  427. package/dist/query-builders/sql-compiler.d.ts +562 -0
  428. package/dist/query-builders/subquery-builder.d.ts +133 -0
  429. package/dist/query-builders/update-builder.d.ts +71 -0
  430. package/dist/query-builders/view-builder.d.ts +189 -0
  431. package/dist/query-builders/where-builder.d.ts +124 -0
  432. package/dist/query-interface.d.ts +407 -0
  433. package/dist/query-interface.js +84 -0
  434. package/dist/query-optimizers/batch-optimizer.d.ts +175 -0
  435. package/dist/query-optimizers/explain-plans.d.ts +187 -0
  436. package/dist/query-optimizers/index.d.ts +27 -0
  437. package/dist/query-optimizers/prepared-statement-cache.d.ts +252 -0
  438. package/dist/query-optimizers/query-hints.d.ts +201 -0
  439. package/dist/query-optimizers/query-optimizer.d.ts +162 -0
  440. package/dist/query-optimizers/slow-query-logger.d.ts +186 -0
  441. package/dist/replica-manager.d.ts +235 -0
  442. package/dist/schema/index.d.ts +7 -0
  443. package/dist/schema/migration-generator.d.ts +74 -0
  444. package/dist/schema/schema-differ.d.ts +114 -0
  445. package/dist/schema/types.d.ts +246 -0
  446. package/dist/schema-objects.d.ts +78 -0
  447. package/dist/schema-objects.js +203 -0
  448. package/dist/sql-constants.d.ts +240 -0
  449. package/dist/sqlite-advanced.d.ts +572 -0
  450. package/dist/streams/index.d.ts +5 -0
  451. package/dist/streams/transforms.d.ts +120 -0
  452. package/dist/transaction.d.ts +221 -0
  453. package/dist/types/index.d.ts +3123 -0
  454. package/dist/user-management.d.ts +141 -0
  455. package/dist/utils/date.d.ts +149 -0
  456. package/dist/utils/index.d.ts +359 -0
  457. package/dist/utils/string.d.ts +88 -0
  458. package/dist/validators/index.d.ts +7 -0
  459. package/dist/validators/validator.d.ts +306 -0
  460. package/package.json +20 -5
@@ -0,0 +1,141 @@
1
+ /**
2
+ * User and privilege management for the TypeScript ORM.
3
+ * Supported dialects: MySQL, MariaDB (MySQL 8+ roles also supported).
4
+ * SQLite throws DatabaseError – user management is not a concept in SQLite.
5
+ */
6
+ export type PrivilegeType = 'ALL' | 'ALL PRIVILEGES' | 'SELECT' | 'INSERT' | 'UPDATE' | 'DELETE' | 'CREATE' | 'DROP' | 'INDEX' | 'ALTER' | 'CREATE TEMPORARY TABLES' | 'LOCK TABLES' | 'EXECUTE' | 'CREATE VIEW' | 'SHOW VIEW' | 'CREATE ROUTINE' | 'ALTER ROUTINE' | 'EVENT' | 'TRIGGER' | 'REFERENCES' | 'USAGE' | 'GRANT OPTION' | 'CONNECT' | 'TEMPORARY' | 'CREATEROLE' | 'CREATEDB' | 'SUPERUSER' | 'REPLICATION' | 'BYPASSRLS';
7
+ export type PrivilegeScope = {
8
+ level: 'global';
9
+ } | {
10
+ level: 'database';
11
+ database: string;
12
+ } | {
13
+ level: 'table';
14
+ database?: string;
15
+ table: string;
16
+ } | {
17
+ level: 'column';
18
+ database?: string;
19
+ table: string;
20
+ columns: string[];
21
+ } | {
22
+ level: 'routine';
23
+ database?: string;
24
+ routine: string;
25
+ routineType?: 'FUNCTION' | 'PROCEDURE';
26
+ };
27
+ export interface CreateUserOptions {
28
+ host?: string;
29
+ password?: string;
30
+ passwordHash?: string;
31
+ authPlugin?: string;
32
+ requireSSL?: boolean;
33
+ maxConnections?: number;
34
+ maxQueriesPerHour?: number;
35
+ maxUpdatesPerHour?: number;
36
+ maxConnectionsPerHour?: number;
37
+ defaultRole?: string;
38
+ ifNotExists?: boolean;
39
+ comment?: string;
40
+ expirePassword?: boolean | Date;
41
+ accountLocked?: boolean;
42
+ }
43
+ export interface AlterUserOptions {
44
+ host?: string;
45
+ password?: string;
46
+ authPlugin?: string;
47
+ requireSSL?: boolean | 'NONE';
48
+ maxConnections?: number;
49
+ maxQueriesPerHour?: number;
50
+ maxUpdatesPerHour?: number;
51
+ maxConnectionsPerHour?: number;
52
+ passwordExpirePolicy?: 'DEFAULT' | 'NEVER' | 'INTERVAL' | number;
53
+ accountLocked?: boolean;
54
+ unlockAccount?: boolean;
55
+ resetExpiredPassword?: boolean;
56
+ }
57
+ export interface GrantOptions {
58
+ privileges: PrivilegeType[];
59
+ on: PrivilegeScope;
60
+ to: string | string[];
61
+ host?: string;
62
+ withGrantOption?: boolean;
63
+ asUser?: string;
64
+ }
65
+ export interface RevokeOptions {
66
+ privileges: PrivilegeType[];
67
+ on: PrivilegeScope;
68
+ from: string | string[];
69
+ host?: string;
70
+ cascade?: boolean;
71
+ restrict?: boolean;
72
+ grantOptionFor?: boolean;
73
+ }
74
+ export interface RoleOptions {
75
+ ifNotExists?: boolean;
76
+ createRole?: boolean;
77
+ superuser?: boolean;
78
+ replication?: boolean;
79
+ bypassRLS?: boolean;
80
+ password?: string;
81
+ inherit?: boolean;
82
+ login?: boolean;
83
+ connectionLimit?: number;
84
+ comment?: string;
85
+ }
86
+ export interface UserInfo {
87
+ user: string;
88
+ host: string;
89
+ plugin?: string;
90
+ passwordExpired?: boolean;
91
+ accountLocked?: boolean;
92
+ createTime?: Date;
93
+ }
94
+ export interface PrivilegeInfo {
95
+ grantee: string;
96
+ privilegeType: string;
97
+ tableSchema?: string;
98
+ tableName?: string;
99
+ columnName?: string;
100
+ isGrantable: boolean;
101
+ }
102
+ /**
103
+ * Convenience groupings of privilege types by category.
104
+ */
105
+ export declare const PRIVILEGE_LEVELS: {
106
+ readonly ALL: PrivilegeType[];
107
+ readonly READ: PrivilegeType[];
108
+ readonly WRITE: PrivilegeType[];
109
+ readonly DDL: PrivilegeType[];
110
+ readonly DML: PrivilegeType[];
111
+ readonly ROUTINE: PrivilegeType[];
112
+ readonly VIEW: PrivilegeType[];
113
+ };
114
+ export declare class UserManager {
115
+ private prorm;
116
+ constructor(prorm: any);
117
+ createUser(username: string, options?: CreateUserOptions): Promise<void>;
118
+ alterUser(username: string, options: AlterUserOptions): Promise<void>;
119
+ dropUser(username: string, options?: {
120
+ host?: string;
121
+ ifExists?: boolean;
122
+ }): Promise<void>;
123
+ getUsers(): Promise<UserInfo[]>;
124
+ userExists(username: string, host?: string): Promise<boolean>;
125
+ grant(options: GrantOptions): Promise<void>;
126
+ revoke(options: RevokeOptions): Promise<void>;
127
+ showGrants(username: string, host?: string): Promise<PrivilegeInfo[]>;
128
+ flushPrivileges(): Promise<void>;
129
+ createRole(roleName: string, options?: RoleOptions): Promise<void>;
130
+ dropRole(roleName: string, options?: {
131
+ ifExists?: boolean;
132
+ cascade?: boolean;
133
+ }): Promise<void>;
134
+ grantRole(role: string, to: string | string[], options?: {
135
+ withAdminOption?: boolean;
136
+ }): Promise<void>;
137
+ revokeRole(role: string, from: string | string[], options?: {
138
+ cascade?: boolean;
139
+ }): Promise<void>;
140
+ getRoles(): Promise<string[]>;
141
+ }
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Date utility functions
3
+ */
4
+ export interface DateUtils {
5
+ now: () => Date;
6
+ today: () => Date;
7
+ tomorrow: () => Date;
8
+ yesterday: () => Date;
9
+ addDays: (date: Date, days: number) => Date;
10
+ subtractDays: (date: Date, days: number) => Date;
11
+ addMonths: (date: Date, months: number) => Date;
12
+ subtractMonths: (date: Date, months: number) => Date;
13
+ addYears: (date: Date, years: number) => Date;
14
+ subtractYears: (date: Date, years: number) => Date;
15
+ format: (date: Date, formatStr?: string) => string;
16
+ formatISO: (date: Date) => string;
17
+ formatRelative: (date: Date) => string;
18
+ isToday: (date: Date) => boolean;
19
+ isTomorrow: (date: Date) => boolean;
20
+ isYesterday: (date: Date) => boolean;
21
+ isSameDay: (date1: Date, date2: Date) => boolean;
22
+ startOfDay: (date: Date) => Date;
23
+ endOfDay: (date: Date) => Date;
24
+ startOfMonth: (date: Date) => Date;
25
+ endOfMonth: (date: Date) => Date;
26
+ startOfYear: (date: Date) => Date;
27
+ endOfYear: (date: Date) => Date;
28
+ daysBetween: (date1: Date, date2: Date) => number;
29
+ isValidDate: (date: any) => boolean;
30
+ }
31
+ /**
32
+ * Get current date/time
33
+ */
34
+ export declare function now(): Date;
35
+ /**
36
+ * Get today's date (midnight)
37
+ */
38
+ export declare function today(): Date;
39
+ /**
40
+ * Get tomorrow's date (midnight)
41
+ */
42
+ export declare function tomorrow(): Date;
43
+ /**
44
+ * Get yesterday's date (midnight)
45
+ */
46
+ export declare function yesterday(): Date;
47
+ /**
48
+ * Add days to a date
49
+ */
50
+ export declare function addDays(date: Date, days: number): Date;
51
+ /**
52
+ * Subtract days from a date
53
+ */
54
+ export declare function subtractDays(date: Date, days: number): Date;
55
+ /**
56
+ * Add months to a date
57
+ */
58
+ export declare function addMonths(date: Date, months: number): Date;
59
+ /**
60
+ * Subtract months from a date
61
+ */
62
+ export declare function subtractMonths(date: Date, months: number): Date;
63
+ /**
64
+ * Add years to a date
65
+ */
66
+ export declare function addYears(date: Date, years: number): Date;
67
+ /**
68
+ * Subtract years from a date
69
+ */
70
+ export declare function subtractYears(date: Date, years: number): Date;
71
+ /**
72
+ * Format a date
73
+ * Format tokens: YYYY, YY, MM, DD, HH, mm, ss
74
+ *
75
+ * Note: exported as `formatDate` (not `format`) so it doesn't collide with
76
+ * the numeric `format(value, decimals)` helper in './index'. Local exports
77
+ * in index.ts take precedence over this module's `export * from './date'`
78
+ * re-export for identically-named bindings, so a top-level `utils.format`
79
+ * pointing at a date formatter would silently break numeric-formatting
80
+ * callers (and vice versa).
81
+ */
82
+ export declare function formatDate(date: Date, formatStr?: string): string;
83
+ /**
84
+ * Format a date (alias for formatDate). Kept for direct
85
+ * `import { format } from './utils/date'` consumers; not re-exported at the
86
+ * top-level `utils` barrel under this name (see note above).
87
+ */
88
+ export declare const format: typeof formatDate;
89
+ /**
90
+ * Format date as ISO string (YYYY-MM-DD)
91
+ */
92
+ export declare function formatISO(date: Date): string;
93
+ /**
94
+ * Get relative time string (e.g., "2 hours ago", "in 3 days")
95
+ */
96
+ export declare function formatRelative(date: Date): string;
97
+ /**
98
+ * Check if date is today
99
+ */
100
+ export declare function isToday(date: Date): boolean;
101
+ /**
102
+ * Check if date is tomorrow
103
+ */
104
+ export declare function isTomorrow(date: Date): boolean;
105
+ /**
106
+ * Check if date is yesterday
107
+ */
108
+ export declare function isYesterday(date: Date): boolean;
109
+ /**
110
+ * Check if two dates are the same day
111
+ */
112
+ export declare function isSameDay(date1: Date, date2: Date): boolean;
113
+ /**
114
+ * Get start of day (midnight)
115
+ */
116
+ export declare function startOfDay(date: Date): Date;
117
+ /**
118
+ * Get end of day (23:59:59.999)
119
+ */
120
+ export declare function endOfDay(date: Date): Date;
121
+ /**
122
+ * Get start of month
123
+ */
124
+ export declare function startOfMonth(date: Date): Date;
125
+ /**
126
+ * Get end of month
127
+ */
128
+ export declare function endOfMonth(date: Date): Date;
129
+ /**
130
+ * Get start of year
131
+ */
132
+ export declare function startOfYear(date: Date): Date;
133
+ /**
134
+ * Get end of year
135
+ */
136
+ export declare function endOfYear(date: Date): Date;
137
+ /**
138
+ * Get number of days between two dates
139
+ */
140
+ export declare function daysBetween(date1: Date, date2: Date): number;
141
+ /**
142
+ * Check if value is a valid date
143
+ */
144
+ export declare function isValidDate(date: any): boolean;
145
+ /**
146
+ * Date utilities object for convenient access
147
+ */
148
+ export declare const dateUtils: DateUtils;
149
+ export default dateUtils;
@@ -0,0 +1,359 @@
1
+ /**
2
+ * Utility functions for the ORM
3
+ * Includes string converters, pluralization, object utilities, UUID generation, and SQL formatting
4
+ */
5
+ import { pad, truncate } from './string';
6
+ /**
7
+ * Convert camelCase to snake_case
8
+ */
9
+ export declare function camelToSnake(str: string): string;
10
+ /**
11
+ * Convert snake_case to camelCase
12
+ * Alias for snakeToCamel
13
+ */
14
+ export declare function camelize(str: string): string;
15
+ /**
16
+ * Convert snake_case to camelCase
17
+ */
18
+ export declare function snakeToCamel(str: string): string;
19
+ /**
20
+ * Convert camelCase to snake_case
21
+ * Alias for camelToSnake
22
+ */
23
+ export declare function snakeCase(str: string): string;
24
+ /**
25
+ * Convert camelCase to kebab-case
26
+ */
27
+ export declare function camelToKebab(str: string): string;
28
+ /**
29
+ * Convert kebab-case to camelCase
30
+ */
31
+ export declare function kebabToCamel(str: string): string;
32
+ /**
33
+ * Pluralize a word
34
+ */
35
+ export declare function pluralize(word: string, count?: number): string;
36
+ /**
37
+ * Singularize a word
38
+ */
39
+ export declare function singularize(word: string): string;
40
+ /**
41
+ * Deep clone an object
42
+ */
43
+ export declare function cloneDeep<T>(obj: T): T;
44
+ /**
45
+ * Deep merge objects
46
+ */
47
+ export declare function merge<T extends Record<string, any>>(target: T, ...sources: Array<Partial<T>>): T;
48
+ /**
49
+ * Pick properties from an object
50
+ */
51
+ export declare function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
52
+ /**
53
+ * Omit properties from an object
54
+ */
55
+ export declare function omit<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
56
+ /**
57
+ * Generate a UUID v4
58
+ */
59
+ export declare function generateUUID(): string;
60
+ /**
61
+ * Generate a short UUID (8 characters)
62
+ */
63
+ export declare function generateShortUUID(): string;
64
+ /**
65
+ * Validate UUID format
66
+ */
67
+ export declare function isValidUUID(uuid: string): boolean;
68
+ /**
69
+ * Format values for SQL query
70
+ */
71
+ export declare function formatValues(values: Record<string, any>): Record<string, any>;
72
+ /**
73
+ * Format a single value for SQL
74
+ */
75
+ export declare function formatValue(value: any): any;
76
+ /**
77
+ * Escape a string for SQL
78
+ */
79
+ export declare function escapeString(value: string): string;
80
+ /**
81
+ * Escape an identifier (table/column name)
82
+ */
83
+ export declare function escapeId(identifier: string): string;
84
+ /**
85
+ * Format a where condition for SQL
86
+ */
87
+ export declare function formatWhere(where: Record<string, any>): string;
88
+ /**
89
+ * Check if value is empty (null, undefined, empty string, empty array, empty object)
90
+ */
91
+ export declare function isEmpty(value: any): boolean;
92
+ /**
93
+ * Get the first defined value from arguments
94
+ */
95
+ export declare function coalesce<T>(...values: (T | undefined | null)[]): T | undefined;
96
+ /**
97
+ * Convert a value to a string suitable for use in SQL LIKE
98
+ */
99
+ export declare function escapeLike(value: string): string;
100
+ /**
101
+ * Wrap a string in backticks (for SQL identifiers)
102
+ */
103
+ export declare function addTicks(str: string): string;
104
+ /**
105
+ * Remove backticks from a string
106
+ */
107
+ export declare function removeTicks(str: string): string;
108
+ /**
109
+ * Supported SQL dialects
110
+ */
111
+ export type Dialect = 'mysql' | 'postgres' | 'sqlite' | 'mariadb' | 'mssql';
112
+ /**
113
+ * Convert a value to its default JavaScript value
114
+ */
115
+ export declare function toDefaultValue(value: any): any;
116
+ /**
117
+ * Format a value for SQL based on dialect
118
+ */
119
+ export declare function formatDefaultValue(value: any, dialect?: Dialect): string;
120
+ /**
121
+ * Insert a string at a specific position, optionally replacing characters
122
+ * @param str The original string
123
+ * @param index Position to insert/replace at (0-indexed)
124
+ * @param count Number of characters to replace (0 for insert only)
125
+ * @param insert String to insert
126
+ */
127
+ export declare function spliceStr(str: string, index: number, count: number, insert: string): string;
128
+ /**
129
+ * Format a date to a string
130
+ * @param date - Date to format
131
+ * @param formatStr - Format string (YYYY-MM-DD, etc.)
132
+ */
133
+ export declare function formatDateString(date: Date | string | number, formatStr?: string): string;
134
+ /**
135
+ * Generate a random string of specified length
136
+ */
137
+ export declare function randomString(length?: number, chars?: string): string;
138
+ /**
139
+ * Generate a random alphanumeric string
140
+ */
141
+ export declare function randomAlphaNumeric(length?: number): string;
142
+ /**
143
+ * Generate a random numeric string
144
+ */
145
+ export declare function randomNumeric(length?: number): string;
146
+ /**
147
+ * Generate a random hex string
148
+ */
149
+ export declare function randomHex(length?: number): string;
150
+ /**
151
+ * Get current timestamp in milliseconds
152
+ *
153
+ * Note: named `timestamp` (not `now`) to avoid colliding with the
154
+ * `now(): Date` export from './date', which is re-exported via
155
+ * `export * from './date'` below and is the canonical `utils.now()`.
156
+ */
157
+ export declare function timestamp(): number;
158
+ /**
159
+ * Get current timestamp as Date object
160
+ */
161
+ export declare function nowDate(): Date;
162
+ /**
163
+ * Return default value if value is null or undefined
164
+ */
165
+ export declare function defaultValue<T>(value: T | null | undefined, defaultVal: T): T;
166
+ /**
167
+ * Return default value if value is empty
168
+ */
169
+ export declare function defaultIfEmpty<T>(value: T, defaultVal: T): T;
170
+ export interface RetryConfig {
171
+ /** Maximum number of retry attempts */
172
+ max?: number;
173
+ /** Timeout in milliseconds between retries */
174
+ timeout?: number;
175
+ /** Array of error message patterns to retry on */
176
+ match?: string[];
177
+ /** Enable exponential backoff (default: false) */
178
+ backoff?: boolean;
179
+ /** Base multiplier for exponential backoff (default: 2) */
180
+ backoffMultiplier?: number;
181
+ /** Maximum backoff time in ms (default: 10000) */
182
+ backoffMax?: number;
183
+ }
184
+ /**
185
+ * Retry a function with configurable options
186
+ *
187
+ * @param fn - The async function to retry
188
+ * @param options - Retry options
189
+ * @returns The result of the function
190
+ */
191
+ export declare function retry<T>(fn: () => Promise<T>, options?: RetryConfig): Promise<T>;
192
+ /**
193
+ * Retry a function with exponential backoff
194
+ *
195
+ * @param fn - The async function to retry
196
+ * @param maxRetries - Maximum number of retries (default: 3)
197
+ * @param baseTimeout - Base timeout in ms (default: 1000)
198
+ * @param maxTimeout - Maximum timeout in ms (default: 10000)
199
+ * @returns The result of the function
200
+ */
201
+ export declare function retryWithBackoff<T>(fn: () => Promise<T>, maxRetries?: number, baseTimeout?: number, maxTimeout?: number): Promise<T>;
202
+ /**
203
+ * Get unique values from an array
204
+ */
205
+ export declare function unique<T>(arr: T[]): T[];
206
+ /**
207
+ * Flatten an array of arrays
208
+ */
209
+ export declare function flatten<T>(arr: T[][]): T[];
210
+ /**
211
+ * Group array items by a key
212
+ */
213
+ export declare function groupBy<T extends Record<string, any>>(arr: T[], key: keyof T | string): Record<string, T[]>;
214
+ /**
215
+ * Sort array by a key or function
216
+ */
217
+ export declare function sortBy<T>(arr: T[], iteratee: keyof T | ((item: T) => any)): T[];
218
+ /**
219
+ * Sum array values
220
+ */
221
+ export declare function sum(arr: number[]): number;
222
+ /**
223
+ * Convert string to snake_case (alias for snakeCase)
224
+ */
225
+ export declare function underscore(str: string): string;
226
+ /**
227
+ * String includes method
228
+ */
229
+ export declare function includes(str: string, searchString: string): boolean;
230
+ /**
231
+ * String startsWith method
232
+ */
233
+ export declare function startsWith(str: string, searchString: string): boolean;
234
+ /**
235
+ * String endsWith method
236
+ */
237
+ export declare function endsWith(str: string, searchString: string): boolean;
238
+ /**
239
+ * String repeat method
240
+ */
241
+ export declare function repeat(str: string, count: number): string;
242
+ /**
243
+ * Reverse a string or an array.
244
+ *
245
+ * Overloaded so `reverse('hello')` returns `'olleh'` (a string) while
246
+ * `reverse([1, 2, 3])` returns `[3, 2, 1]` (an array), instead of always
247
+ * spreading the input into a character/element array.
248
+ */
249
+ export declare function reverse(str: string): string;
250
+ export declare function reverse<T>(arr: T[]): T[];
251
+ /**
252
+ * Deep clone an object
253
+ */
254
+ export declare function clone<T>(obj: T): T;
255
+ /**
256
+ * Get property from object
257
+ */
258
+ export declare function get(obj: any, path: string): any;
259
+ /**
260
+ * Set property on object
261
+ */
262
+ export declare function set(obj: any, path: string, value: any): void;
263
+ /**
264
+ * Check if object has property
265
+ */
266
+ export declare function has(obj: any, path: string): boolean;
267
+ /**
268
+ * Check if value is a string
269
+ */
270
+ export declare function isString(value: any): value is string;
271
+ /**
272
+ * Check if value is a number
273
+ */
274
+ export declare function isNumber(value: any): value is number;
275
+ /**
276
+ * Check if value is a boolean
277
+ */
278
+ export declare function isBoolean(value: any): value is boolean;
279
+ /**
280
+ * Check if value is a date
281
+ */
282
+ export declare function isDate(value: any): value is Date;
283
+ /**
284
+ * Check if value is an array
285
+ */
286
+ export declare function isArray(value: any): value is any[];
287
+ /**
288
+ * Check if value is an object
289
+ */
290
+ export declare function isObject(value: any): value is object;
291
+ /**
292
+ * Format a number as currency
293
+ */
294
+ export declare function formatCurrency(amount: number, currency?: string): string;
295
+ /**
296
+ * Format a number to a fixed number of decimal places.
297
+ *
298
+ * Named `format` (not re-exported by './date', see note there) so this is
299
+ * the canonical `utils.format` for numeric formatting.
300
+ */
301
+ export declare function format(value: number, decimals?: number): string;
302
+ export * from './string';
303
+ export * from './date';
304
+ declare const _default: {
305
+ camelToSnake: typeof camelToSnake;
306
+ snakeToCamel: typeof snakeToCamel;
307
+ camelToKebab: typeof camelToKebab;
308
+ kebabToCamel: typeof kebabToCamel;
309
+ camelize: typeof camelize;
310
+ snakeCase: typeof snakeCase;
311
+ pluralize: typeof pluralize;
312
+ singularize: typeof singularize;
313
+ cloneDeep: typeof cloneDeep;
314
+ merge: typeof merge;
315
+ pick: typeof pick;
316
+ omit: typeof omit;
317
+ generateUUID: typeof generateUUID;
318
+ generateShortUUID: typeof generateShortUUID;
319
+ isValidUUID: typeof isValidUUID;
320
+ formatValues: typeof formatValues;
321
+ formatValue: typeof formatValue;
322
+ escapeString: typeof escapeString;
323
+ escapeId: typeof escapeId;
324
+ formatWhere: typeof formatWhere;
325
+ isEmpty: typeof isEmpty;
326
+ coalesce: typeof coalesce;
327
+ truncate: typeof truncate;
328
+ pad: typeof pad;
329
+ escapeLike: typeof escapeLike;
330
+ addTicks: typeof addTicks;
331
+ removeTicks: typeof removeTicks;
332
+ toDefaultValue: typeof toDefaultValue;
333
+ formatDefaultValue: typeof formatDefaultValue;
334
+ spliceStr: typeof spliceStr;
335
+ unique: typeof unique;
336
+ flatten: typeof flatten;
337
+ groupBy: typeof groupBy;
338
+ sortBy: typeof sortBy;
339
+ sum: typeof sum;
340
+ underscore: typeof underscore;
341
+ includes: typeof includes;
342
+ startsWith: typeof startsWith;
343
+ endsWith: typeof endsWith;
344
+ repeat: typeof repeat;
345
+ reverse: typeof reverse;
346
+ clone: typeof clone;
347
+ get: typeof get;
348
+ set: typeof set;
349
+ has: typeof has;
350
+ isString: typeof isString;
351
+ isNumber: typeof isNumber;
352
+ isBoolean: typeof isBoolean;
353
+ isDate: typeof isDate;
354
+ isArray: typeof isArray;
355
+ isObject: typeof isObject;
356
+ formatCurrency: typeof formatCurrency;
357
+ formatDateString: typeof formatDateString;
358
+ };
359
+ export default _default;