@c15t/backend 0.0.1-rc.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 (521) hide show
  1. package/.turbo/turbo-build.log +11 -0
  2. package/.turbo/turbo-check-types.log +5 -0
  3. package/.turbo/turbo-fmt.log +7 -0
  4. package/.turbo/turbo-lint.log +6 -0
  5. package/.turbo/turbo-test.log +26 -0
  6. package/README-next.md +223 -0
  7. package/README.md +164 -0
  8. package/dist/api/call.d.ts +176 -0
  9. package/dist/api/call.d.ts.map +1 -0
  10. package/dist/api/index.d.ts +935 -0
  11. package/dist/api/index.d.ts.map +1 -0
  12. package/dist/api/middlewares/index.d.ts +39 -0
  13. package/dist/api/middlewares/index.d.ts.map +1 -0
  14. package/dist/api/middlewares/origin-check.d.ts +82 -0
  15. package/dist/api/middlewares/origin-check.d.ts.map +1 -0
  16. package/dist/api/middlewares/validate-context.d.ts +38 -0
  17. package/dist/api/middlewares/validate-context.d.ts.map +1 -0
  18. package/dist/api/routes/__tests__/consent.test.d.ts +2 -0
  19. package/dist/api/routes/__tests__/consent.test.d.ts.map +1 -0
  20. package/dist/api/routes/__tests__/status.test.d.ts +2 -0
  21. package/dist/api/routes/__tests__/status.test.d.ts.map +1 -0
  22. package/dist/api/routes/error.d.ts +57 -0
  23. package/dist/api/routes/error.d.ts.map +1 -0
  24. package/dist/api/routes/generate-consent-receipt.d.ts +130 -0
  25. package/dist/api/routes/generate-consent-receipt.d.ts.map +1 -0
  26. package/dist/api/routes/get-consent-history.d.ts +133 -0
  27. package/dist/api/routes/get-consent-history.d.ts.map +1 -0
  28. package/dist/api/routes/get-consent-policy.d.ts +164 -0
  29. package/dist/api/routes/get-consent-policy.d.ts.map +1 -0
  30. package/dist/api/routes/get-consent.d.ts +148 -0
  31. package/dist/api/routes/get-consent.d.ts.map +1 -0
  32. package/dist/api/routes/index.d.ts +339 -0
  33. package/dist/api/routes/index.d.ts.map +1 -0
  34. package/dist/api/routes/ok.d.ts +87 -0
  35. package/dist/api/routes/ok.d.ts.map +1 -0
  36. package/dist/api/routes/set-consent.d.ts +245 -0
  37. package/dist/api/routes/set-consent.d.ts.map +1 -0
  38. package/dist/api/routes/show-consent-banner.d.ts +127 -0
  39. package/dist/api/routes/show-consent-banner.d.ts.map +1 -0
  40. package/dist/api/routes/status.d.ts +61 -0
  41. package/dist/api/routes/status.d.ts.map +1 -0
  42. package/dist/api/routes/verify-consent.d.ts +179 -0
  43. package/dist/api/routes/verify-consent.d.ts.map +1 -0
  44. package/dist/api/routes/withdraw-consent.d.ts +194 -0
  45. package/dist/api/routes/withdraw-consent.d.ts.map +1 -0
  46. package/dist/api/to-endpoints.d.ts +35 -0
  47. package/dist/api/to-endpoints.d.ts.map +1 -0
  48. package/dist/client/index.cjs +139 -0
  49. package/dist/client/index.d.ts +203 -0
  50. package/dist/client/index.d.ts.map +1 -0
  51. package/dist/client/index.js +106 -0
  52. package/dist/client/types.d.ts +431 -0
  53. package/dist/client/types.d.ts.map +1 -0
  54. package/dist/core.d.ts +124 -0
  55. package/dist/core.d.ts.map +1 -0
  56. package/dist/core.test.d.ts +2 -0
  57. package/dist/core.test.d.ts.map +1 -0
  58. package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts +122 -0
  59. package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -0
  60. package/dist/db/adapters/drizzle-adapter/index.d.ts +2 -0
  61. package/dist/db/adapters/drizzle-adapter/index.d.ts.map +1 -0
  62. package/dist/db/adapters/drizzle.cjs +1531 -0
  63. package/dist/db/adapters/drizzle.js +1489 -0
  64. package/dist/db/adapters/kysely-adapter/dialect.d.ts +72 -0
  65. package/dist/db/adapters/kysely-adapter/dialect.d.ts.map +1 -0
  66. package/dist/db/adapters/kysely-adapter/index.d.ts +4 -0
  67. package/dist/db/adapters/kysely-adapter/index.d.ts.map +1 -0
  68. package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts +98 -0
  69. package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -0
  70. package/dist/db/adapters/kysely-adapter/types.d.ts +281 -0
  71. package/dist/db/adapters/kysely-adapter/types.d.ts.map +1 -0
  72. package/dist/db/adapters/kysely.cjs +1551 -0
  73. package/dist/db/adapters/kysely.js +1508 -0
  74. package/dist/db/adapters/memory-adapter/index.d.ts +2 -0
  75. package/dist/db/adapters/memory-adapter/index.d.ts.map +1 -0
  76. package/dist/db/adapters/memory-adapter/memory-adapter.d.ts +56 -0
  77. package/dist/db/adapters/memory-adapter/memory-adapter.d.ts.map +1 -0
  78. package/dist/db/adapters/memory.cjs +1391 -0
  79. package/dist/db/adapters/memory.js +1349 -0
  80. package/dist/db/adapters/prisma-adapter/index.d.ts +2 -0
  81. package/dist/db/adapters/prisma-adapter/index.d.ts.map +1 -0
  82. package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts +143 -0
  83. package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -0
  84. package/dist/db/adapters/prisma.cjs +1503 -0
  85. package/dist/db/adapters/prisma.js +1461 -0
  86. package/dist/db/adapters/types.d.ts +154 -0
  87. package/dist/db/adapters/types.d.ts.map +1 -0
  88. package/dist/db/adapters/utils.d.ts +36 -0
  89. package/dist/db/adapters/utils.d.ts.map +1 -0
  90. package/dist/db/core/fields/field-factory.d.ts +383 -0
  91. package/dist/db/core/fields/field-factory.d.ts.map +1 -0
  92. package/dist/db/core/fields/field-inference.d.ts +218 -0
  93. package/dist/db/core/fields/field-inference.d.ts.map +1 -0
  94. package/dist/db/core/fields/field-options-integration.d.ts +90 -0
  95. package/dist/db/core/fields/field-options-integration.d.ts.map +1 -0
  96. package/dist/db/core/fields/field-types.d.ts +182 -0
  97. package/dist/db/core/fields/field-types.d.ts.map +1 -0
  98. package/dist/db/core/fields/id-generator.d.ts +19 -0
  99. package/dist/db/core/fields/id-generator.d.ts.map +1 -0
  100. package/dist/db/core/fields/index.d.ts +8 -0
  101. package/dist/db/core/fields/index.d.ts.map +1 -0
  102. package/dist/db/core/fields/superjson-utils.d.ts +34 -0
  103. package/dist/db/core/fields/superjson-utils.d.ts.map +1 -0
  104. package/dist/db/core/fields/zod-fields.d.ts +1011 -0
  105. package/dist/db/core/fields/zod-fields.d.ts.map +1 -0
  106. package/dist/db/core/get-schema.d.ts +36 -0
  107. package/dist/db/core/get-schema.d.ts.map +1 -0
  108. package/dist/db/core/types.d.ts +41 -0
  109. package/dist/db/core/types.d.ts.map +1 -0
  110. package/dist/db/create-registry.d.ts +760 -0
  111. package/dist/db/create-registry.d.ts.map +1 -0
  112. package/dist/db/hooks/create-hooks.d.ts +32 -0
  113. package/dist/db/hooks/create-hooks.d.ts.map +1 -0
  114. package/dist/db/hooks/index.d.ts +40 -0
  115. package/dist/db/hooks/index.d.ts.map +1 -0
  116. package/dist/db/hooks/types.d.ts +133 -0
  117. package/dist/db/hooks/types.d.ts.map +1 -0
  118. package/dist/db/hooks/update-hooks.d.ts +33 -0
  119. package/dist/db/hooks/update-hooks.d.ts.map +1 -0
  120. package/dist/db/hooks/update-many-hooks.d.ts +55 -0
  121. package/dist/db/hooks/update-many-hooks.d.ts.map +1 -0
  122. package/dist/db/hooks/utils.d.ts +62 -0
  123. package/dist/db/hooks/utils.d.ts.map +1 -0
  124. package/dist/db/hooks/with-hooks-factory.d.ts +33 -0
  125. package/dist/db/hooks/with-hooks-factory.d.ts.map +1 -0
  126. package/dist/db/index.cjs +2458 -0
  127. package/dist/db/index.d.ts +11 -0
  128. package/dist/db/index.d.ts.map +1 -0
  129. package/dist/db/index.js +2404 -0
  130. package/dist/db/migration/get-migration.d.ts +32 -0
  131. package/dist/db/migration/get-migration.d.ts.map +1 -0
  132. package/dist/db/migration/get-schema/get-schema.d.ts +27 -0
  133. package/dist/db/migration/get-schema/get-schema.d.ts.map +1 -0
  134. package/dist/db/migration/get-schema/index.d.ts +21 -0
  135. package/dist/db/migration/get-schema/index.d.ts.map +1 -0
  136. package/dist/db/migration/get-schema/process-fields.d.ts +16 -0
  137. package/dist/db/migration/get-schema/process-fields.d.ts.map +1 -0
  138. package/dist/db/migration/get-schema/process-tables.d.ts +13 -0
  139. package/dist/db/migration/get-schema/process-tables.d.ts.map +1 -0
  140. package/dist/db/migration/get-schema/types.d.ts +17 -0
  141. package/dist/db/migration/get-schema/types.d.ts.map +1 -0
  142. package/dist/db/migration/index.cjs +1613 -0
  143. package/dist/db/migration/index.d.ts +14 -0
  144. package/dist/db/migration/index.d.ts.map +1 -0
  145. package/dist/db/migration/index.js +1571 -0
  146. package/dist/db/migration/migration-builders.d.ts +28 -0
  147. package/dist/db/migration/migration-builders.d.ts.map +1 -0
  148. package/dist/db/migration/migration-execution.d.ts +12 -0
  149. package/dist/db/migration/migration-execution.d.ts.map +1 -0
  150. package/dist/db/migration/schema-comparison.d.ts +54 -0
  151. package/dist/db/migration/schema-comparison.d.ts.map +1 -0
  152. package/dist/db/migration/type-mapping.d.ts +86 -0
  153. package/dist/db/migration/type-mapping.d.ts.map +1 -0
  154. package/dist/db/migration/types.d.ts +37 -0
  155. package/dist/db/migration/types.d.ts.map +1 -0
  156. package/dist/db/schema/audit-log/index.d.ts +4 -0
  157. package/dist/db/schema/audit-log/index.d.ts.map +1 -0
  158. package/dist/db/schema/audit-log/registry.d.ts +128 -0
  159. package/dist/db/schema/audit-log/registry.d.ts.map +1 -0
  160. package/dist/db/schema/audit-log/schema.d.ts +67 -0
  161. package/dist/db/schema/audit-log/schema.d.ts.map +1 -0
  162. package/dist/db/schema/audit-log/table.d.ts +175 -0
  163. package/dist/db/schema/audit-log/table.d.ts.map +1 -0
  164. package/dist/db/schema/audit-log/types.d.ts +29 -0
  165. package/dist/db/schema/audit-log/types.d.ts.map +1 -0
  166. package/dist/db/schema/consent/index.d.ts +4 -0
  167. package/dist/db/schema/consent/index.d.ts.map +1 -0
  168. package/dist/db/schema/consent/registry.d.ts +318 -0
  169. package/dist/db/schema/consent/registry.d.ts.map +1 -0
  170. package/dist/db/schema/consent/schema.d.ts +135 -0
  171. package/dist/db/schema/consent/schema.d.ts.map +1 -0
  172. package/dist/db/schema/consent/table.d.ts +245 -0
  173. package/dist/db/schema/consent/table.d.ts.map +1 -0
  174. package/dist/db/schema/consent/types.d.ts +37 -0
  175. package/dist/db/schema/consent/types.d.ts.map +1 -0
  176. package/dist/db/schema/consent-geo-location/index.d.ts +4 -0
  177. package/dist/db/schema/consent-geo-location/index.d.ts.map +1 -0
  178. package/dist/db/schema/consent-geo-location/registry.d.ts +96 -0
  179. package/dist/db/schema/consent-geo-location/registry.d.ts.map +1 -0
  180. package/dist/db/schema/consent-geo-location/schema.d.ts +71 -0
  181. package/dist/db/schema/consent-geo-location/schema.d.ts.map +1 -0
  182. package/dist/db/schema/consent-geo-location/table.d.ts +167 -0
  183. package/dist/db/schema/consent-geo-location/table.d.ts.map +1 -0
  184. package/dist/db/schema/consent-geo-location/types.d.ts +21 -0
  185. package/dist/db/schema/consent-geo-location/types.d.ts.map +1 -0
  186. package/dist/db/schema/consent-policy/index.d.ts +4 -0
  187. package/dist/db/schema/consent-policy/index.d.ts.map +1 -0
  188. package/dist/db/schema/consent-policy/registry.d.ts +186 -0
  189. package/dist/db/schema/consent-policy/registry.d.ts.map +1 -0
  190. package/dist/db/schema/consent-policy/schema.d.ts +68 -0
  191. package/dist/db/schema/consent-policy/schema.d.ts.map +1 -0
  192. package/dist/db/schema/consent-policy/table.d.ts +147 -0
  193. package/dist/db/schema/consent-policy/table.d.ts.map +1 -0
  194. package/dist/db/schema/consent-policy/types.d.ts +28 -0
  195. package/dist/db/schema/consent-policy/types.d.ts.map +1 -0
  196. package/dist/db/schema/consent-purpose/index.d.ts +4 -0
  197. package/dist/db/schema/consent-purpose/index.d.ts.map +1 -0
  198. package/dist/db/schema/consent-purpose/registry.d.ts +136 -0
  199. package/dist/db/schema/consent-purpose/registry.d.ts.map +1 -0
  200. package/dist/db/schema/consent-purpose/schema.d.ts +79 -0
  201. package/dist/db/schema/consent-purpose/schema.d.ts.map +1 -0
  202. package/dist/db/schema/consent-purpose/table.d.ts +161 -0
  203. package/dist/db/schema/consent-purpose/table.d.ts.map +1 -0
  204. package/dist/db/schema/consent-purpose/types.d.ts +16 -0
  205. package/dist/db/schema/consent-purpose/types.d.ts.map +1 -0
  206. package/dist/db/schema/consent-purpose-junction/index.d.ts +4 -0
  207. package/dist/db/schema/consent-purpose-junction/index.d.ts.map +1 -0
  208. package/dist/db/schema/consent-purpose-junction/registry.d.ts +109 -0
  209. package/dist/db/schema/consent-purpose-junction/registry.d.ts.map +1 -0
  210. package/dist/db/schema/consent-purpose-junction/schema.d.ts +57 -0
  211. package/dist/db/schema/consent-purpose-junction/schema.d.ts.map +1 -0
  212. package/dist/db/schema/consent-purpose-junction/table.d.ts +138 -0
  213. package/dist/db/schema/consent-purpose-junction/table.d.ts.map +1 -0
  214. package/dist/db/schema/consent-purpose-junction/types.d.ts +14 -0
  215. package/dist/db/schema/consent-purpose-junction/types.d.ts.map +1 -0
  216. package/dist/db/schema/consent-record/index.d.ts +4 -0
  217. package/dist/db/schema/consent-record/index.d.ts.map +1 -0
  218. package/dist/db/schema/consent-record/registry.d.ts +119 -0
  219. package/dist/db/schema/consent-record/registry.d.ts.map +1 -0
  220. package/dist/db/schema/consent-record/schema.d.ts +57 -0
  221. package/dist/db/schema/consent-record/schema.d.ts.map +1 -0
  222. package/dist/db/schema/consent-record/table.d.ts +123 -0
  223. package/dist/db/schema/consent-record/table.d.ts.map +1 -0
  224. package/dist/db/schema/consent-record/types.d.ts +21 -0
  225. package/dist/db/schema/consent-record/types.d.ts.map +1 -0
  226. package/dist/db/schema/consent-withdrawal/index.d.ts +4 -0
  227. package/dist/db/schema/consent-withdrawal/index.d.ts.map +1 -0
  228. package/dist/db/schema/consent-withdrawal/registry.d.ts +134 -0
  229. package/dist/db/schema/consent-withdrawal/registry.d.ts.map +1 -0
  230. package/dist/db/schema/consent-withdrawal/schema.d.ts +67 -0
  231. package/dist/db/schema/consent-withdrawal/schema.d.ts.map +1 -0
  232. package/dist/db/schema/consent-withdrawal/table.d.ts +170 -0
  233. package/dist/db/schema/consent-withdrawal/table.d.ts.map +1 -0
  234. package/dist/db/schema/consent-withdrawal/types.d.ts +28 -0
  235. package/dist/db/schema/consent-withdrawal/types.d.ts.map +1 -0
  236. package/dist/db/schema/definition.d.ts +1100 -0
  237. package/dist/db/schema/definition.d.ts.map +1 -0
  238. package/dist/db/schema/domain/index.d.ts +4 -0
  239. package/dist/db/schema/domain/index.d.ts.map +1 -0
  240. package/dist/db/schema/domain/registry.d.ts +169 -0
  241. package/dist/db/schema/domain/registry.d.ts.map +1 -0
  242. package/dist/db/schema/domain/schema.d.ts +60 -0
  243. package/dist/db/schema/domain/schema.d.ts.map +1 -0
  244. package/dist/db/schema/domain/table.d.ts +140 -0
  245. package/dist/db/schema/domain/table.d.ts.map +1 -0
  246. package/dist/db/schema/domain/types.d.ts +27 -0
  247. package/dist/db/schema/domain/types.d.ts.map +1 -0
  248. package/dist/db/schema/geo-location/index.d.ts +4 -0
  249. package/dist/db/schema/geo-location/index.d.ts.map +1 -0
  250. package/dist/db/schema/geo-location/registry.d.ts +114 -0
  251. package/dist/db/schema/geo-location/registry.d.ts.map +1 -0
  252. package/dist/db/schema/geo-location/schema.d.ts +58 -0
  253. package/dist/db/schema/geo-location/schema.d.ts.map +1 -0
  254. package/dist/db/schema/geo-location/table.d.ts +132 -0
  255. package/dist/db/schema/geo-location/table.d.ts.map +1 -0
  256. package/dist/db/schema/geo-location/types.d.ts +17 -0
  257. package/dist/db/schema/geo-location/types.d.ts.map +1 -0
  258. package/dist/db/schema/index.d.ts +85 -0
  259. package/dist/db/schema/index.d.ts.map +1 -0
  260. package/dist/db/schema/parser.d.ts +183 -0
  261. package/dist/db/schema/parser.d.ts.map +1 -0
  262. package/dist/db/schema/schemas.d.ts +383 -0
  263. package/dist/db/schema/schemas.d.ts.map +1 -0
  264. package/dist/db/schema/subject/index.d.ts +4 -0
  265. package/dist/db/schema/subject/index.d.ts.map +1 -0
  266. package/dist/db/schema/subject/registry.d.ts +141 -0
  267. package/dist/db/schema/subject/registry.d.ts.map +1 -0
  268. package/dist/db/schema/subject/schema.d.ts +56 -0
  269. package/dist/db/schema/subject/schema.d.ts.map +1 -0
  270. package/dist/db/schema/subject/table.d.ts +136 -0
  271. package/dist/db/schema/subject/table.d.ts.map +1 -0
  272. package/dist/db/schema/subject/types.d.ts +22 -0
  273. package/dist/db/schema/subject/types.d.ts.map +1 -0
  274. package/dist/db/schema/types.d.ts +136 -0
  275. package/dist/db/schema/types.d.ts.map +1 -0
  276. package/dist/db/utils/adapter-factory.d.ts +21 -0
  277. package/dist/db/utils/adapter-factory.d.ts.map +1 -0
  278. package/dist/db/utils/index.d.ts +10 -0
  279. package/dist/db/utils/index.d.ts.map +1 -0
  280. package/dist/db/utils.d.ts +4 -0
  281. package/dist/db/utils.d.ts.map +1 -0
  282. package/dist/error/codes.cjs +68 -0
  283. package/dist/error/codes.d.ts +175 -0
  284. package/dist/error/codes.d.ts.map +1 -0
  285. package/dist/error/codes.js +35 -0
  286. package/dist/error/error.d.ts +79 -0
  287. package/dist/error/error.d.ts.map +1 -0
  288. package/dist/error/index.cjs +172 -0
  289. package/dist/error/index.d.ts +9 -0
  290. package/dist/error/index.d.ts.map +1 -0
  291. package/dist/error/index.js +129 -0
  292. package/dist/error/logging.d.ts +25 -0
  293. package/dist/error/logging.d.ts.map +1 -0
  294. package/dist/error/pipeline.d.ts +19 -0
  295. package/dist/error/pipeline.d.ts.map +1 -0
  296. package/dist/error/recovery.d.ts +22 -0
  297. package/dist/error/recovery.d.ts.map +1 -0
  298. package/dist/error/results.d.ts +56 -0
  299. package/dist/error/results.d.ts.map +1 -0
  300. package/dist/index.cjs +4777 -0
  301. package/dist/index.d.ts +46 -0
  302. package/dist/index.d.ts.map +1 -0
  303. package/dist/index.js +4708 -0
  304. package/dist/init.d.ts +52 -0
  305. package/dist/init.d.ts.map +1 -0
  306. package/dist/init.test.d.ts +2 -0
  307. package/dist/init.test.d.ts.map +1 -0
  308. package/dist/integrations/index.cjs +281 -0
  309. package/dist/integrations/index.d.ts +7 -0
  310. package/dist/integrations/index.d.ts.map +1 -0
  311. package/dist/integrations/index.js +248 -0
  312. package/dist/integrations/next.cjs +131 -0
  313. package/dist/integrations/next.d.ts +29 -0
  314. package/dist/integrations/next.d.ts.map +1 -0
  315. package/dist/integrations/next.js +99 -0
  316. package/dist/integrations/react.cjs +182 -0
  317. package/dist/integrations/react.d.ts +257 -0
  318. package/dist/integrations/react.d.ts.map +1 -0
  319. package/dist/integrations/react.js +150 -0
  320. package/dist/plugins/geo/index.d.ts +2 -0
  321. package/dist/plugins/geo/index.d.ts.map +1 -0
  322. package/dist/test/utils.d.ts +65 -0
  323. package/dist/test/utils.d.ts.map +1 -0
  324. package/dist/types/api.d.ts +89 -0
  325. package/dist/types/api.d.ts.map +1 -0
  326. package/dist/types/context.d.ts +205 -0
  327. package/dist/types/context.d.ts.map +1 -0
  328. package/dist/types/helper.d.ts +78 -0
  329. package/dist/types/helper.d.ts.map +1 -0
  330. package/dist/types/index.cjs +19 -0
  331. package/dist/types/index.d.ts +6 -0
  332. package/dist/types/index.d.ts.map +1 -0
  333. package/dist/types/index.js +0 -0
  334. package/dist/types/options.d.ts +172 -0
  335. package/dist/types/options.d.ts.map +1 -0
  336. package/dist/types/plugins.d.ts +442 -0
  337. package/dist/types/plugins.d.ts.map +1 -0
  338. package/dist/utils/env.d.ts +77 -0
  339. package/dist/utils/env.d.ts.map +1 -0
  340. package/dist/utils/hide-metadata.d.ts +22 -0
  341. package/dist/utils/hide-metadata.d.ts.map +1 -0
  342. package/dist/utils/index.cjs +268 -0
  343. package/dist/utils/index.d.ts +18 -0
  344. package/dist/utils/index.d.ts.map +1 -0
  345. package/dist/utils/index.js +210 -0
  346. package/dist/utils/ip.d.ts +10 -0
  347. package/dist/utils/ip.d.ts.map +1 -0
  348. package/dist/utils/json.d.ts +14 -0
  349. package/dist/utils/json.d.ts.map +1 -0
  350. package/dist/utils/logger.d.ts +108 -0
  351. package/dist/utils/logger.d.ts.map +1 -0
  352. package/dist/utils/url.d.ts +87 -0
  353. package/dist/utils/url.d.ts.map +1 -0
  354. package/dist/utils/wildcard.d.ts +46 -0
  355. package/dist/utils/wildcard.d.ts.map +1 -0
  356. package/knip.json +37 -0
  357. package/package.json +146 -0
  358. package/rslib.config.ts +104 -0
  359. package/src/api/call.ts +177 -0
  360. package/src/api/index.ts +303 -0
  361. package/src/api/middlewares/index.ts +38 -0
  362. package/src/api/middlewares/origin-check.ts +260 -0
  363. package/src/api/middlewares/validate-context.ts +175 -0
  364. package/src/api/routes/__tests__/consent.test.ts +270 -0
  365. package/src/api/routes/__tests__/status.test.ts +36 -0
  366. package/src/api/routes/error.ts +130 -0
  367. package/src/api/routes/generate-consent-receipt.ts +244 -0
  368. package/src/api/routes/get-consent-history.ts +128 -0
  369. package/src/api/routes/get-consent-policy.ts +327 -0
  370. package/src/api/routes/get-consent.ts +230 -0
  371. package/src/api/routes/index.ts +12 -0
  372. package/src/api/routes/ok.ts +45 -0
  373. package/src/api/routes/set-consent.ts +328 -0
  374. package/src/api/routes/show-consent-banner.ts +149 -0
  375. package/src/api/routes/status.ts +62 -0
  376. package/src/api/routes/verify-consent.ts +272 -0
  377. package/src/api/routes/withdraw-consent.ts +293 -0
  378. package/src/api/to-endpoints.ts +371 -0
  379. package/src/client/index.ts +471 -0
  380. package/src/client/types.ts +458 -0
  381. package/src/core.test.ts +303 -0
  382. package/src/core.ts +267 -0
  383. package/src/db/adapters/drizzle-adapter/drizzle-adapter.ts +711 -0
  384. package/src/db/adapters/drizzle-adapter/index.ts +1 -0
  385. package/src/db/adapters/kysely-adapter/dialect.ts +192 -0
  386. package/src/db/adapters/kysely-adapter/index.ts +3 -0
  387. package/src/db/adapters/kysely-adapter/kysely-adapter.ts +1168 -0
  388. package/src/db/adapters/kysely-adapter/types.ts +307 -0
  389. package/src/db/adapters/memory-adapter/index.ts +1 -0
  390. package/src/db/adapters/memory-adapter/memory-adapter.ts +648 -0
  391. package/src/db/adapters/prisma-adapter/index.ts +1 -0
  392. package/src/db/adapters/prisma-adapter/prisma-adapter.ts +586 -0
  393. package/src/db/adapters/types.ts +203 -0
  394. package/src/db/adapters/utils.ts +51 -0
  395. package/src/db/core/fields/field-factory.ts +804 -0
  396. package/src/db/core/fields/field-inference.ts +298 -0
  397. package/src/db/core/fields/field-options-integration.ts +135 -0
  398. package/src/db/core/fields/field-types.ts +233 -0
  399. package/src/db/core/fields/id-generator.ts +57 -0
  400. package/src/db/core/fields/index.ts +56 -0
  401. package/src/db/core/fields/superjson-utils.ts +155 -0
  402. package/src/db/core/fields/zod-fields.ts +269 -0
  403. package/src/db/core/get-schema.ts +102 -0
  404. package/src/db/core/types.ts +52 -0
  405. package/src/db/create-registry.ts +31 -0
  406. package/src/db/hooks/create-hooks.ts +88 -0
  407. package/src/db/hooks/index.ts +39 -0
  408. package/src/db/hooks/types.ts +164 -0
  409. package/src/db/hooks/update-hooks.ts +91 -0
  410. package/src/db/hooks/update-many-hooks.ts +176 -0
  411. package/src/db/hooks/utils.ts +151 -0
  412. package/src/db/hooks/with-hooks-factory.ts +68 -0
  413. package/src/db/index.ts +32 -0
  414. package/src/db/migration/get-migration.ts +89 -0
  415. package/src/db/migration/get-schema/get-schema.ts +44 -0
  416. package/src/db/migration/get-schema/index.ts +20 -0
  417. package/src/db/migration/get-schema/process-fields.ts +66 -0
  418. package/src/db/migration/get-schema/process-tables.ts +68 -0
  419. package/src/db/migration/get-schema/types.ts +18 -0
  420. package/src/db/migration/index.ts +18 -0
  421. package/src/db/migration/migration-builders.ts +170 -0
  422. package/src/db/migration/migration-execution.ts +79 -0
  423. package/src/db/migration/schema-comparison.ts +216 -0
  424. package/src/db/migration/type-mapping.ts +255 -0
  425. package/src/db/migration/types.ts +46 -0
  426. package/src/db/schema/audit-log/index.ts +3 -0
  427. package/src/db/schema/audit-log/registry.ts +228 -0
  428. package/src/db/schema/audit-log/schema.ts +46 -0
  429. package/src/db/schema/audit-log/table.ts +185 -0
  430. package/src/db/schema/audit-log/types.ts +29 -0
  431. package/src/db/schema/consent/index.ts +3 -0
  432. package/src/db/schema/consent/registry.ts +381 -0
  433. package/src/db/schema/consent/schema.ts +65 -0
  434. package/src/db/schema/consent/table.ts +220 -0
  435. package/src/db/schema/consent/types.ts +39 -0
  436. package/src/db/schema/consent-geo-location/index.ts +3 -0
  437. package/src/db/schema/consent-geo-location/registry.ts +124 -0
  438. package/src/db/schema/consent-geo-location/schema.ts +51 -0
  439. package/src/db/schema/consent-geo-location/table.ts +169 -0
  440. package/src/db/schema/consent-geo-location/types.ts +21 -0
  441. package/src/db/schema/consent-policy/index.ts +3 -0
  442. package/src/db/schema/consent-policy/registry.ts +313 -0
  443. package/src/db/schema/consent-policy/schema.ts +47 -0
  444. package/src/db/schema/consent-policy/table.ts +141 -0
  445. package/src/db/schema/consent-policy/types.ts +28 -0
  446. package/src/db/schema/consent-purpose/index.ts +3 -0
  447. package/src/db/schema/consent-purpose/registry.ts +188 -0
  448. package/src/db/schema/consent-purpose/schema.ts +58 -0
  449. package/src/db/schema/consent-purpose/table.ts +154 -0
  450. package/src/db/schema/consent-purpose/types.ts +16 -0
  451. package/src/db/schema/consent-purpose-junction/index.ts +3 -0
  452. package/src/db/schema/consent-purpose-junction/registry.ts +189 -0
  453. package/src/db/schema/consent-purpose-junction/schema.ts +49 -0
  454. package/src/db/schema/consent-purpose-junction/table.ts +142 -0
  455. package/src/db/schema/consent-purpose-junction/types.ts +14 -0
  456. package/src/db/schema/consent-record/index.ts +3 -0
  457. package/src/db/schema/consent-record/registry.ts +209 -0
  458. package/src/db/schema/consent-record/schema.ts +42 -0
  459. package/src/db/schema/consent-record/table.ts +124 -0
  460. package/src/db/schema/consent-record/types.ts +21 -0
  461. package/src/db/schema/consent-withdrawal/index.ts +3 -0
  462. package/src/db/schema/consent-withdrawal/registry.ts +219 -0
  463. package/src/db/schema/consent-withdrawal/schema.ts +48 -0
  464. package/src/db/schema/consent-withdrawal/table.ts +181 -0
  465. package/src/db/schema/consent-withdrawal/types.ts +29 -0
  466. package/src/db/schema/definition.ts +196 -0
  467. package/src/db/schema/domain/index.ts +3 -0
  468. package/src/db/schema/domain/registry.ts +272 -0
  469. package/src/db/schema/domain/schema.ts +43 -0
  470. package/src/db/schema/domain/table.ts +137 -0
  471. package/src/db/schema/domain/types.ts +27 -0
  472. package/src/db/schema/geo-location/index.ts +3 -0
  473. package/src/db/schema/geo-location/registry.ts +159 -0
  474. package/src/db/schema/geo-location/schema.ts +45 -0
  475. package/src/db/schema/geo-location/table.ts +148 -0
  476. package/src/db/schema/geo-location/types.ts +18 -0
  477. package/src/db/schema/index.ts +96 -0
  478. package/src/db/schema/parser.ts +417 -0
  479. package/src/db/schema/schemas.ts +35 -0
  480. package/src/db/schema/subject/index.ts +3 -0
  481. package/src/db/schema/subject/registry.ts +371 -0
  482. package/src/db/schema/subject/schema.ts +41 -0
  483. package/src/db/schema/subject/table.ts +139 -0
  484. package/src/db/schema/subject/types.ts +22 -0
  485. package/src/db/schema/types.ts +154 -0
  486. package/src/db/utils/adapter-factory.ts +64 -0
  487. package/src/db/utils/index.ts +10 -0
  488. package/src/db/utils.ts +42 -0
  489. package/src/docs/ADVANCED_JSON_HANDLING.md +99 -0
  490. package/src/docs/neverthrow.md +171 -0
  491. package/src/error/codes.ts +201 -0
  492. package/src/error/error.ts +145 -0
  493. package/src/error/index.ts +23 -0
  494. package/src/error/logging.ts +52 -0
  495. package/src/error/pipeline.ts +57 -0
  496. package/src/error/recovery.ts +45 -0
  497. package/src/error/results.ts +100 -0
  498. package/src/index.ts +79 -0
  499. package/src/init.test.ts +235 -0
  500. package/src/init.ts +261 -0
  501. package/src/integrations/index.ts +10 -0
  502. package/src/integrations/next.ts +136 -0
  503. package/src/integrations/react.ts +567 -0
  504. package/src/plugins/geo/index.ts +563 -0
  505. package/src/test/utils.ts +244 -0
  506. package/src/types/api.ts +101 -0
  507. package/src/types/context.ts +235 -0
  508. package/src/types/helper.ts +87 -0
  509. package/src/types/index.ts +5 -0
  510. package/src/types/options.ts +189 -0
  511. package/src/types/plugins.ts +538 -0
  512. package/src/utils/env.ts +103 -0
  513. package/src/utils/hide-metadata.ts +21 -0
  514. package/src/utils/index.ts +17 -0
  515. package/src/utils/ip.ts +45 -0
  516. package/src/utils/json.ts +19 -0
  517. package/src/utils/logger.ts +252 -0
  518. package/src/utils/url.ts +194 -0
  519. package/src/utils/wildcard.ts +253 -0
  520. package/tsconfig.json +12 -0
  521. package/vitest.config.ts +14 -0
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Environment variables object
3
+ *
4
+ * Provides access to environment variables in a way that works in both
5
+ * browser and Node.js environments. In Node.js, this will be process.env,
6
+ * and in browsers, it will be an empty object.
7
+ *
8
+ * @returns An object containing environment variables accessible in the current runtime
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * // Access an environment variable
13
+ * const apiKey = env.API_KEY;
14
+ * ```
15
+ */
16
+ export declare const env: NodeJS.ProcessEnv;
17
+ /**
18
+ * Determines if the application is running in production mode
19
+ *
20
+ * Checks if NODE_ENV is set to 'production'. This is useful for
21
+ * conditionally enabling or disabling features based on the environment.
22
+ *
23
+ * @returns Boolean indicating whether the application is running in production mode
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * // Conditionally execute code based on environment
28
+ * if (isProduction) {
29
+ * // Production-only code
30
+ * }
31
+ * ```
32
+ */
33
+ export declare const isProduction: boolean;
34
+ /**
35
+ * Determines if the application is running in development mode
36
+ *
37
+ * Checks if NODE_ENV is set to 'development'. This is useful for
38
+ * conditionally enabling debugging features in development environments.
39
+ *
40
+ * @returns Boolean indicating whether the application is running in development mode
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * // Enable development-only features
45
+ * if (isDevelopment) {
46
+ * enableDebugTools();
47
+ * }
48
+ * ```
49
+ */
50
+ export declare const isDevelopment: boolean;
51
+ /**
52
+ * The current Node.js environment value
53
+ *
54
+ * Retrieves the NODE_ENV environment variable value if available,
55
+ * otherwise returns an empty string.
56
+ *
57
+ * @returns The current NODE_ENV value or empty string if not set
58
+ */
59
+ export declare const nodeENV: string;
60
+ /**
61
+ * Determines if the application is running in test mode
62
+ *
63
+ * Checks if NODE_ENV is set to 'test' or if the TEST environment
64
+ * variable is truthy and not 'false'.
65
+ *
66
+ * @returns Boolean indicating whether the application is running in test mode
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * // Skip expensive operations in tests
71
+ * if (!isTest) {
72
+ * runExpensiveOperation();
73
+ * }
74
+ * ```
75
+ */
76
+ export declare const isTest: boolean;
77
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,GAAG,mBAAoD,CAAC;AAErE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,SAC+C,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,SAC+C,CAAC;AAsB1E;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,QAC0D,CAAC;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM,SAA4C,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Constant metadata flag to identify non-action objects
3
+ *
4
+ * This constant provides metadata that can be attached to objects to indicate
5
+ * they should not be treated as actions by the system. The value is explicitly
6
+ * typed as a const assertion to ensure type safety.
7
+ *
8
+ * @see Used to differentiate between actionable and non-actionable objects in the system
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * // Mark an object as not being an action
13
+ * const nonActionObject = {
14
+ * ...HIDE_METADATA,
15
+ * // other properties
16
+ * };
17
+ * ```
18
+ */
19
+ export declare const HIDE_METADATA: {
20
+ isAction: false;
21
+ };
22
+ //# sourceMappingURL=hide-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hide-metadata.d.ts","sourceRoot":"","sources":["../../src/utils/hide-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = function(exports1) {
25
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ HIDE_METADATA: ()=>HIDE_METADATA,
37
+ env: ()=>env,
38
+ createLogger: ()=>createLogger,
39
+ stringifyJson: ()=>stringifyJson,
40
+ getHost: ()=>getHost,
41
+ shouldPublishLog: ()=>shouldPublishLog,
42
+ getBaseURL: ()=>getBaseURL,
43
+ isProduction: ()=>isProduction,
44
+ nodeENV: ()=>nodeENV,
45
+ levels: ()=>levels,
46
+ isTest: ()=>isTest,
47
+ checkURLValidity: ()=>checkURLValidity,
48
+ logger: ()=>logger,
49
+ isDevelopment: ()=>isDevelopment,
50
+ parseJson: ()=>parseJson,
51
+ getOrigin: ()=>getOrigin,
52
+ getProtocol: ()=>getProtocol
53
+ });
54
+ const env = 'undefined' != typeof process ? process.env : {};
55
+ const isProduction = 'undefined' != typeof process && 'production' === process.env.NODE_ENV;
56
+ const isDevelopment = 'undefined' != typeof process && 'development' === process.env.NODE_ENV;
57
+ function toBoolean(val) {
58
+ return val ? 'false' !== val : false;
59
+ }
60
+ const nodeENV = 'undefined' != typeof process && process.env && process.env.NODE_ENV || '';
61
+ const isTest = 'test' === nodeENV || toBoolean(env.TEST);
62
+ const HIDE_METADATA = {
63
+ isAction: false
64
+ };
65
+ const levels = [
66
+ 'info',
67
+ 'success',
68
+ 'warn',
69
+ 'error',
70
+ 'debug'
71
+ ];
72
+ function shouldPublishLog(currentLogLevel, logLevel) {
73
+ return levels.indexOf(logLevel) <= levels.indexOf(currentLogLevel);
74
+ }
75
+ const colors = {
76
+ reset: '\x1b[0m',
77
+ bright: '\x1b[1m',
78
+ dim: '\x1b[2m',
79
+ underscore: '\x1b[4m',
80
+ blink: '\x1b[5m',
81
+ reverse: '\x1b[7m',
82
+ hidden: '\x1b[8m',
83
+ fg: {
84
+ black: '\x1b[30m',
85
+ red: '\x1b[31m',
86
+ green: '\x1b[32m',
87
+ yellow: '\x1b[33m',
88
+ blue: '\x1b[34m',
89
+ magenta: '\x1b[35m',
90
+ cyan: '\x1b[36m',
91
+ white: '\x1b[37m'
92
+ },
93
+ bg: {
94
+ black: '\x1b[40m',
95
+ red: '\x1b[41m',
96
+ green: '\x1b[42m',
97
+ yellow: '\x1b[43m',
98
+ blue: '\x1b[44m',
99
+ magenta: '\x1b[45m',
100
+ cyan: '\x1b[46m',
101
+ white: '\x1b[47m'
102
+ }
103
+ };
104
+ const levelColors = {
105
+ info: colors.fg.blue,
106
+ success: colors.fg.green,
107
+ warn: colors.fg.yellow,
108
+ error: colors.fg.red,
109
+ debug: colors.fg.magenta
110
+ };
111
+ const formatMessage = (level, message)=>{
112
+ const timestamp = new Date().toISOString();
113
+ return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[c15t]:${colors.reset} ${message}`;
114
+ };
115
+ const createLogger = (options)=>{
116
+ const enabled = options?.disabled !== true;
117
+ const logLevel = options?.level ?? 'error';
118
+ const LogFunc = (level, message, args = [])=>{
119
+ if (!enabled || !shouldPublishLog(logLevel, level)) return;
120
+ const formattedMessage = formatMessage(level, message);
121
+ if (!options || 'function' != typeof options.log) {
122
+ if ('error' === level) console.error(formattedMessage, ...args);
123
+ else if ('warn' === level) console.warn(formattedMessage, ...args);
124
+ else if ('info' === level) console.log(formattedMessage, ...args);
125
+ else if ('debug' === level) console.debug(formattedMessage, ...args);
126
+ else if ('success' === level) console.log(formattedMessage, ...args);
127
+ return;
128
+ }
129
+ options.log('success' === level ? 'info' : level, message, ...args);
130
+ };
131
+ return Object.fromEntries(levels.map((level)=>[
132
+ level,
133
+ (...[message, ...args])=>LogFunc(level, message, args)
134
+ ]));
135
+ };
136
+ const logger = createLogger();
137
+ const codes_BASE_ERROR_CODES = {
138
+ NOT_FOUND: 'Resource not found',
139
+ BAD_REQUEST: 'Bad request',
140
+ CONFLICT: 'Conflict with current state',
141
+ CONSENT_NOT_FOUND: 'Consent not found',
142
+ CONSENT_EXPIRED: 'Consent has expired',
143
+ FAILED_TO_CREATE_CONSENT: 'Failed to create consent',
144
+ FAILED_TO_UPDATE_CONSENT: 'Failed to update consent',
145
+ FAILED_TO_GET_CONSENT: 'Failed to get consent',
146
+ FAILED_TO_CREATE_PURPOSE: 'Failed to create consentPurpose',
147
+ PURPOSE_NOT_FOUND: 'Consent Purpose not found',
148
+ INVALID_CONFIGURATION: 'Invalid configuration',
149
+ MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
150
+ UNAUTHORIZED: 'Unauthorized',
151
+ FORBIDDEN: 'Forbidden',
152
+ INTERNAL_SERVER_ERROR: 'Internal server error',
153
+ INITIALIZATION_FAILED: 'Initialization failed',
154
+ PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
155
+ DATABASE_CONNECTION_ERROR: 'Database connection error',
156
+ DATABASE_QUERY_ERROR: 'Database query error',
157
+ REQUEST_HANDLER_ERROR: 'Request handler error',
158
+ API_RETRIEVAL_ERROR: 'API retrieval error',
159
+ INVALID_REQUEST: 'Invalid request',
160
+ UNKNOWN_ERROR: 'Unknown error'
161
+ };
162
+ class error_C15TError extends Error {
163
+ code;
164
+ status;
165
+ data;
166
+ category;
167
+ constructor(message, options){
168
+ super(message);
169
+ this.name = 'C15TError';
170
+ if (options) {
171
+ this.code = options.code;
172
+ this.status = options.status;
173
+ this.data = options.data;
174
+ this.category = options.category;
175
+ }
176
+ Object.setPrototypeOf(this, error_C15TError.prototype);
177
+ }
178
+ static fromResponse(response, data) {
179
+ let message = `HTTP error ${response.status}`;
180
+ let code;
181
+ let errorData;
182
+ if (data && 'object' == typeof data && null !== data) {
183
+ const errorObj = data;
184
+ if ('string' == typeof errorObj.message) message = errorObj.message;
185
+ if ('string' == typeof errorObj.code) {
186
+ const isKnownCode = Object.values(codes_BASE_ERROR_CODES).includes(errorObj.code);
187
+ if (isKnownCode) code = errorObj.code;
188
+ }
189
+ if ('object' == typeof errorObj.data && null !== errorObj.data) errorData = errorObj.data;
190
+ }
191
+ return new error_C15TError(message, {
192
+ code,
193
+ status: response.status,
194
+ data: errorData
195
+ });
196
+ }
197
+ static isC15TError(error) {
198
+ return error instanceof error_C15TError;
199
+ }
200
+ }
201
+ require("neverthrow");
202
+ const TRAILING_SLASHES_REGEX = /\/+$/;
203
+ function checkHasPath(url) {
204
+ try {
205
+ const parsedUrl = new URL(url);
206
+ return '/' !== parsedUrl.pathname;
207
+ } catch {
208
+ throw new error_C15TError(`Invalid base URL: ${url}. Please provide a valid base URL.`, {
209
+ code: codes_BASE_ERROR_CODES.BAD_REQUEST,
210
+ status: 400,
211
+ data: {
212
+ url
213
+ }
214
+ });
215
+ }
216
+ }
217
+ function withPath(url, path = '/api/auth') {
218
+ const hasPath = checkHasPath(url);
219
+ if (hasPath) return url;
220
+ const pathWithSlash = path.startsWith('/') ? path : `/${path}`;
221
+ return `${url.replace(TRAILING_SLASHES_REGEX, '')}${pathWithSlash}`;
222
+ }
223
+ function getBaseURL(url, path) {
224
+ if (url) return withPath(url, path);
225
+ const fromEnv = env.C15T_URL || env.NEXT_PUBLIC_C15T_URL || env.PUBLIC_C15T_URL || env.NUXT_PUBLIC_C15T_URL || env.NUXT_PUBLIC_AUTH_URL || ('/' !== env.BASE_URL ? env.BASE_URL : void 0);
226
+ if (fromEnv) return withPath(fromEnv, path);
227
+ if ('undefined' != typeof window && window.location) return withPath(window.location.origin, path);
228
+ }
229
+ function getOrigin(url) {
230
+ try {
231
+ const parsedUrl = new URL(url);
232
+ return parsedUrl.origin;
233
+ } catch {
234
+ return null;
235
+ }
236
+ }
237
+ function getProtocol(url) {
238
+ try {
239
+ const parsedUrl = new URL(url);
240
+ return parsedUrl.protocol;
241
+ } catch {
242
+ return null;
243
+ }
244
+ }
245
+ const checkURLValidity = (url)=>{
246
+ const urlPattern = url.includes('://');
247
+ return urlPattern;
248
+ };
249
+ function getHost(url) {
250
+ if (url.includes('://')) {
251
+ const parsedUrl = new URL(url);
252
+ return parsedUrl.host;
253
+ }
254
+ return url;
255
+ }
256
+ const external_superjson_namespaceObject = require("superjson");
257
+ var external_superjson_default = /*#__PURE__*/ __webpack_require__.n(external_superjson_namespaceObject);
258
+ function parseJson(json) {
259
+ return external_superjson_default().parse(json);
260
+ }
261
+ function stringifyJson(value) {
262
+ return external_superjson_default().stringify(value);
263
+ }
264
+ var __webpack_export_target__ = exports;
265
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
266
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
267
+ value: true
268
+ });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * c15t Utility Functions
3
+ *
4
+ * This module serves as the main entry point for all utility functions used in the c15t
5
+ * consent management system. It re-exports utilities from specialized modules for easier access.
6
+ *
7
+ * Import utilities from this module for a cleaner import structure:
8
+ * @example
9
+ * ```typescript
10
+ * import { generateId, encrypt, formatDate } from '../utils';
11
+ * ```
12
+ */
13
+ export * from './env';
14
+ export * from './hide-metadata';
15
+ export * from './logger';
16
+ export * from './url';
17
+ export * from './json';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,210 @@
1
+ import "neverthrow";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_superjson__ from "superjson";
3
+ const env = 'undefined' != typeof process ? process.env : {};
4
+ const isProduction = 'undefined' != typeof process && 'production' === process.env.NODE_ENV;
5
+ const isDevelopment = 'undefined' != typeof process && 'development' === process.env.NODE_ENV;
6
+ function toBoolean(val) {
7
+ return val ? 'false' !== val : false;
8
+ }
9
+ const nodeENV = 'undefined' != typeof process && process.env && process.env.NODE_ENV || '';
10
+ const isTest = 'test' === nodeENV || toBoolean(env.TEST);
11
+ const HIDE_METADATA = {
12
+ isAction: false
13
+ };
14
+ const levels = [
15
+ 'info',
16
+ 'success',
17
+ 'warn',
18
+ 'error',
19
+ 'debug'
20
+ ];
21
+ function shouldPublishLog(currentLogLevel, logLevel) {
22
+ return levels.indexOf(logLevel) <= levels.indexOf(currentLogLevel);
23
+ }
24
+ const colors = {
25
+ reset: '\x1b[0m',
26
+ bright: '\x1b[1m',
27
+ dim: '\x1b[2m',
28
+ underscore: '\x1b[4m',
29
+ blink: '\x1b[5m',
30
+ reverse: '\x1b[7m',
31
+ hidden: '\x1b[8m',
32
+ fg: {
33
+ black: '\x1b[30m',
34
+ red: '\x1b[31m',
35
+ green: '\x1b[32m',
36
+ yellow: '\x1b[33m',
37
+ blue: '\x1b[34m',
38
+ magenta: '\x1b[35m',
39
+ cyan: '\x1b[36m',
40
+ white: '\x1b[37m'
41
+ },
42
+ bg: {
43
+ black: '\x1b[40m',
44
+ red: '\x1b[41m',
45
+ green: '\x1b[42m',
46
+ yellow: '\x1b[43m',
47
+ blue: '\x1b[44m',
48
+ magenta: '\x1b[45m',
49
+ cyan: '\x1b[46m',
50
+ white: '\x1b[47m'
51
+ }
52
+ };
53
+ const levelColors = {
54
+ info: colors.fg.blue,
55
+ success: colors.fg.green,
56
+ warn: colors.fg.yellow,
57
+ error: colors.fg.red,
58
+ debug: colors.fg.magenta
59
+ };
60
+ const formatMessage = (level, message)=>{
61
+ const timestamp = new Date().toISOString();
62
+ return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[c15t]:${colors.reset} ${message}`;
63
+ };
64
+ const createLogger = (options)=>{
65
+ const enabled = options?.disabled !== true;
66
+ const logLevel = options?.level ?? 'error';
67
+ const LogFunc = (level, message, args = [])=>{
68
+ if (!enabled || !shouldPublishLog(logLevel, level)) return;
69
+ const formattedMessage = formatMessage(level, message);
70
+ if (!options || 'function' != typeof options.log) {
71
+ if ('error' === level) console.error(formattedMessage, ...args);
72
+ else if ('warn' === level) console.warn(formattedMessage, ...args);
73
+ else if ('info' === level) console.log(formattedMessage, ...args);
74
+ else if ('debug' === level) console.debug(formattedMessage, ...args);
75
+ else if ('success' === level) console.log(formattedMessage, ...args);
76
+ return;
77
+ }
78
+ options.log('success' === level ? 'info' : level, message, ...args);
79
+ };
80
+ return Object.fromEntries(levels.map((level)=>[
81
+ level,
82
+ (...[message, ...args])=>LogFunc(level, message, args)
83
+ ]));
84
+ };
85
+ const logger_logger = createLogger();
86
+ const codes_BASE_ERROR_CODES = {
87
+ NOT_FOUND: 'Resource not found',
88
+ BAD_REQUEST: 'Bad request',
89
+ CONFLICT: 'Conflict with current state',
90
+ CONSENT_NOT_FOUND: 'Consent not found',
91
+ CONSENT_EXPIRED: 'Consent has expired',
92
+ FAILED_TO_CREATE_CONSENT: 'Failed to create consent',
93
+ FAILED_TO_UPDATE_CONSENT: 'Failed to update consent',
94
+ FAILED_TO_GET_CONSENT: 'Failed to get consent',
95
+ FAILED_TO_CREATE_PURPOSE: 'Failed to create consentPurpose',
96
+ PURPOSE_NOT_FOUND: 'Consent Purpose not found',
97
+ INVALID_CONFIGURATION: 'Invalid configuration',
98
+ MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
99
+ UNAUTHORIZED: 'Unauthorized',
100
+ FORBIDDEN: 'Forbidden',
101
+ INTERNAL_SERVER_ERROR: 'Internal server error',
102
+ INITIALIZATION_FAILED: 'Initialization failed',
103
+ PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
104
+ DATABASE_CONNECTION_ERROR: 'Database connection error',
105
+ DATABASE_QUERY_ERROR: 'Database query error',
106
+ REQUEST_HANDLER_ERROR: 'Request handler error',
107
+ API_RETRIEVAL_ERROR: 'API retrieval error',
108
+ INVALID_REQUEST: 'Invalid request',
109
+ UNKNOWN_ERROR: 'Unknown error'
110
+ };
111
+ class error_C15TError extends Error {
112
+ code;
113
+ status;
114
+ data;
115
+ category;
116
+ constructor(message, options){
117
+ super(message);
118
+ this.name = 'C15TError';
119
+ if (options) {
120
+ this.code = options.code;
121
+ this.status = options.status;
122
+ this.data = options.data;
123
+ this.category = options.category;
124
+ }
125
+ Object.setPrototypeOf(this, error_C15TError.prototype);
126
+ }
127
+ static fromResponse(response, data) {
128
+ let message = `HTTP error ${response.status}`;
129
+ let code;
130
+ let errorData;
131
+ if (data && 'object' == typeof data && null !== data) {
132
+ const errorObj = data;
133
+ if ('string' == typeof errorObj.message) message = errorObj.message;
134
+ if ('string' == typeof errorObj.code) {
135
+ const isKnownCode = Object.values(codes_BASE_ERROR_CODES).includes(errorObj.code);
136
+ if (isKnownCode) code = errorObj.code;
137
+ }
138
+ if ('object' == typeof errorObj.data && null !== errorObj.data) errorData = errorObj.data;
139
+ }
140
+ return new error_C15TError(message, {
141
+ code,
142
+ status: response.status,
143
+ data: errorData
144
+ });
145
+ }
146
+ static isC15TError(error) {
147
+ return error instanceof error_C15TError;
148
+ }
149
+ }
150
+ const TRAILING_SLASHES_REGEX = /\/+$/;
151
+ function checkHasPath(url) {
152
+ try {
153
+ const parsedUrl = new URL(url);
154
+ return '/' !== parsedUrl.pathname;
155
+ } catch {
156
+ throw new error_C15TError(`Invalid base URL: ${url}. Please provide a valid base URL.`, {
157
+ code: codes_BASE_ERROR_CODES.BAD_REQUEST,
158
+ status: 400,
159
+ data: {
160
+ url
161
+ }
162
+ });
163
+ }
164
+ }
165
+ function withPath(url, path = '/api/auth') {
166
+ const hasPath = checkHasPath(url);
167
+ if (hasPath) return url;
168
+ const pathWithSlash = path.startsWith('/') ? path : `/${path}`;
169
+ return `${url.replace(TRAILING_SLASHES_REGEX, '')}${pathWithSlash}`;
170
+ }
171
+ function getBaseURL(url, path) {
172
+ if (url) return withPath(url, path);
173
+ const fromEnv = env.C15T_URL || env.NEXT_PUBLIC_C15T_URL || env.PUBLIC_C15T_URL || env.NUXT_PUBLIC_C15T_URL || env.NUXT_PUBLIC_AUTH_URL || ('/' !== env.BASE_URL ? env.BASE_URL : void 0);
174
+ if (fromEnv) return withPath(fromEnv, path);
175
+ if ('undefined' != typeof window && window.location) return withPath(window.location.origin, path);
176
+ }
177
+ function getOrigin(url) {
178
+ try {
179
+ const parsedUrl = new URL(url);
180
+ return parsedUrl.origin;
181
+ } catch {
182
+ return null;
183
+ }
184
+ }
185
+ function getProtocol(url) {
186
+ try {
187
+ const parsedUrl = new URL(url);
188
+ return parsedUrl.protocol;
189
+ } catch {
190
+ return null;
191
+ }
192
+ }
193
+ const checkURLValidity = (url)=>{
194
+ const urlPattern = url.includes('://');
195
+ return urlPattern;
196
+ };
197
+ function getHost(url) {
198
+ if (url.includes('://')) {
199
+ const parsedUrl = new URL(url);
200
+ return parsedUrl.host;
201
+ }
202
+ return url;
203
+ }
204
+ function parseJson(json) {
205
+ return __WEBPACK_EXTERNAL_MODULE_superjson__["default"].parse(json);
206
+ }
207
+ function stringifyJson(value) {
208
+ return __WEBPACK_EXTERNAL_MODULE_superjson__["default"].stringify(value);
209
+ }
210
+ export { HIDE_METADATA, checkURLValidity, createLogger, env, getBaseURL, getHost, getOrigin, getProtocol, isDevelopment, isProduction, isTest, levels, logger_logger as logger, nodeENV, parseJson, shouldPublishLog, stringifyJson };
@@ -0,0 +1,10 @@
1
+ import type { C15TOptions } from '../types';
2
+ /**
3
+ * Gets the client IP address from request headers
4
+ *
5
+ * @param req - The request object or headers
6
+ * @param options - C15T options containing IP address configuration
7
+ * @returns The client IP address or null if tracking is disabled
8
+ */
9
+ export declare function getIp(req: Request | Headers, options: C15TOptions): string | null;
10
+ //# sourceMappingURL=ip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../src/utils/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;;;GAMG;AACH,wBAAgB,KAAK,CACpB,GAAG,EAAE,OAAO,GAAG,OAAO,EACtB,OAAO,EAAE,WAAW,GAClB,MAAM,GAAG,IAAI,CA+Bf"}
@@ -0,0 +1,14 @@
1
+ import type { SuperJSONValue } from '../../node_modules/superjson/dist/types';
2
+ /**
3
+ * Parse a JSON string using SuperJSON
4
+ * @param json - The JSON string to parse
5
+ * @returns The parsed JSON value
6
+ */
7
+ export declare function parseJson(json: SuperJSONValue): unknown;
8
+ /**
9
+ * Stringify a value using SuperJSON
10
+ * @param value - The value to stringify
11
+ * @returns The stringified value
12
+ */
13
+ export declare function stringifyJson(value: SuperJSONValue): string;
14
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,WAE7C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,UAElD"}