@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,79 @@
1
+ import { type ErrorCategory, type ErrorMessage } from './codes';
2
+ /**
3
+ * Custom error class for c15t consent management errors.
4
+ *
5
+ * This class extends the standard Error object with additional properties
6
+ * specific to the c15t consent management system, such as error codes,
7
+ * status codes, and contextual data.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Create and throw a c15t error
12
+ * throw new C15TError('Failed to update subject preferences', {
13
+ * code: BASE_ERROR_CODES.FAILED_TO_UPDATE_CONSENT,
14
+ * status: 400,
15
+ * data: { subjectId: 'sub_x1pftyoufsm7xgo1kv', preferences: { analytics: true } }
16
+ * });
17
+ *
18
+ * // Create an error from an HTTP response
19
+ * const error = C15TError.fromResponse(response, await response.json());
20
+ * ```
21
+ */
22
+ export declare class C15TError extends Error {
23
+ /**
24
+ * The error code identifying the type of error
25
+ */
26
+ code?: ErrorMessage;
27
+ /**
28
+ * HTTP status code associated with this error
29
+ */
30
+ status?: number;
31
+ /**
32
+ * Additional data providing context about the error
33
+ */
34
+ data?: Record<string, unknown>;
35
+ /**
36
+ * Category of the error for better organization
37
+ */
38
+ category?: ErrorCategory;
39
+ /**
40
+ * Creates a new C15TError instance.
41
+ *
42
+ * @param message - Human-readable error message
43
+ * @param options - Additional error options including code, status, and data
44
+ */
45
+ constructor(message: string, options?: {
46
+ /**
47
+ * The error code identifying the type of error
48
+ */
49
+ code?: ErrorMessage;
50
+ /**
51
+ * HTTP status code associated with this error
52
+ */
53
+ status?: number;
54
+ /**
55
+ * Additional data providing context about the error
56
+ */
57
+ data?: Record<string, unknown>;
58
+ /**
59
+ * Category of the error for better organization
60
+ */
61
+ category?: ErrorCategory;
62
+ });
63
+ /**
64
+ * Creates a C15TError from an HTTP response and optional response data.
65
+ *
66
+ * @param response - The HTTP Response object
67
+ * @param data - Optional parsed response data
68
+ * @returns A new C15TError instance with appropriate properties
69
+ */
70
+ static fromResponse(response: Response, data?: unknown): C15TError;
71
+ /**
72
+ * Determines if an unknown error is a C15TError.
73
+ *
74
+ * @param error - The error to check
75
+ * @returns True if the error is a C15TError instance
76
+ */
77
+ static isC15TError(error: unknown): error is C15TError;
78
+ }
79
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,SAAU,SAAQ,KAAK;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;;;OAKG;gBAEF,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACT;;WAEG;QACH,IAAI,CAAC,EAAE,YAAY,CAAC;QAEpB;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE/B;;WAEG;QACH,QAAQ,CAAC,EAAE,aAAa,CAAC;KACzB;IAgBF;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;IAqClE;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS;CAGtD"}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = function(exports1) {
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ C15TError: ()=>C15TError,
28
+ fromPromise: ()=>external_neverthrow_namespaceObject.fromPromise,
29
+ okAsync: ()=>external_neverthrow_namespaceObject.okAsync,
30
+ logError: ()=>logError,
31
+ BASE_ERROR_CODES: ()=>BASE_ERROR_CODES,
32
+ validationPipeline: ()=>validationPipeline,
33
+ retrievalPipeline: ()=>retrievalPipeline,
34
+ fail: ()=>fail,
35
+ recoverFromCodes: ()=>recoverFromCodes,
36
+ failAsync: ()=>failAsync,
37
+ safeResult: ()=>safeResult,
38
+ logErrorAsync: ()=>logErrorAsync,
39
+ ok: ()=>external_neverthrow_namespaceObject.ok,
40
+ recoverFromCategory: ()=>recoverFromCategory,
41
+ Result: ()=>external_neverthrow_namespaceObject.Result,
42
+ safeResultAsync: ()=>safeResultAsync
43
+ });
44
+ const BASE_ERROR_CODES = {
45
+ NOT_FOUND: 'Resource not found',
46
+ BAD_REQUEST: 'Bad request',
47
+ CONFLICT: 'Conflict with current state',
48
+ CONSENT_NOT_FOUND: 'Consent not found',
49
+ CONSENT_EXPIRED: 'Consent has expired',
50
+ FAILED_TO_CREATE_CONSENT: 'Failed to create consent',
51
+ FAILED_TO_UPDATE_CONSENT: 'Failed to update consent',
52
+ FAILED_TO_GET_CONSENT: 'Failed to get consent',
53
+ FAILED_TO_CREATE_PURPOSE: 'Failed to create consentPurpose',
54
+ PURPOSE_NOT_FOUND: 'Consent Purpose not found',
55
+ INVALID_CONFIGURATION: 'Invalid configuration',
56
+ MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
57
+ UNAUTHORIZED: 'Unauthorized',
58
+ FORBIDDEN: 'Forbidden',
59
+ INTERNAL_SERVER_ERROR: 'Internal server error',
60
+ INITIALIZATION_FAILED: 'Initialization failed',
61
+ PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
62
+ DATABASE_CONNECTION_ERROR: 'Database connection error',
63
+ DATABASE_QUERY_ERROR: 'Database query error',
64
+ REQUEST_HANDLER_ERROR: 'Request handler error',
65
+ API_RETRIEVAL_ERROR: 'API retrieval error',
66
+ INVALID_REQUEST: 'Invalid request',
67
+ UNKNOWN_ERROR: 'Unknown error'
68
+ };
69
+ class C15TError extends Error {
70
+ code;
71
+ status;
72
+ data;
73
+ category;
74
+ constructor(message, options){
75
+ super(message);
76
+ this.name = 'C15TError';
77
+ if (options) {
78
+ this.code = options.code;
79
+ this.status = options.status;
80
+ this.data = options.data;
81
+ this.category = options.category;
82
+ }
83
+ Object.setPrototypeOf(this, C15TError.prototype);
84
+ }
85
+ static fromResponse(response, data) {
86
+ let message = `HTTP error ${response.status}`;
87
+ let code;
88
+ let errorData;
89
+ if (data && 'object' == typeof data && null !== data) {
90
+ const errorObj = data;
91
+ if ('string' == typeof errorObj.message) message = errorObj.message;
92
+ if ('string' == typeof errorObj.code) {
93
+ const isKnownCode = Object.values(BASE_ERROR_CODES).includes(errorObj.code);
94
+ if (isKnownCode) code = errorObj.code;
95
+ }
96
+ if ('object' == typeof errorObj.data && null !== errorObj.data) errorData = errorObj.data;
97
+ }
98
+ return new C15TError(message, {
99
+ code,
100
+ status: response.status,
101
+ data: errorData
102
+ });
103
+ }
104
+ static isC15TError(error) {
105
+ return error instanceof C15TError;
106
+ }
107
+ }
108
+ const external_neverthrow_namespaceObject = require("neverthrow");
109
+ const ok = (value)=>(0, external_neverthrow_namespaceObject.ok)(value);
110
+ const fail = (message, options)=>(0, external_neverthrow_namespaceObject.err)(new C15TError(message, options));
111
+ const failAsync = (message, options)=>external_neverthrow_namespaceObject.ResultAsync.fromSafePromise(Promise.reject(new C15TError(message, options)));
112
+ const safeResult = (fn, errorCode = BASE_ERROR_CODES.UNKNOWN_ERROR)=>{
113
+ try {
114
+ return ok(fn());
115
+ } catch (error) {
116
+ return (0, external_neverthrow_namespaceObject.err)(new C15TError(error instanceof Error ? error.message : String(error), {
117
+ code: errorCode,
118
+ data: {
119
+ originalError: error
120
+ }
121
+ }));
122
+ }
123
+ };
124
+ const safeResultAsync = (promise, errorCode = BASE_ERROR_CODES.UNKNOWN_ERROR)=>external_neverthrow_namespaceObject.ResultAsync.fromPromise(promise, (error)=>new C15TError(error instanceof Error ? error.message : String(error), {
125
+ code: errorCode,
126
+ data: {
127
+ originalError: error
128
+ }
129
+ }));
130
+ const recoverFromCodes = (result, errorCodes, defaultValue)=>result.orElse((error)=>{
131
+ if (error.code && errorCodes.includes(error.code)) return (0, external_neverthrow_namespaceObject.ok)(defaultValue);
132
+ return (0, external_neverthrow_namespaceObject.err)(error);
133
+ });
134
+ const recoverFromCategory = (result, category, defaultValue)=>result.orElse((error)=>{
135
+ if (error.category === category) return (0, external_neverthrow_namespaceObject.ok)(defaultValue);
136
+ return (0, external_neverthrow_namespaceObject.err)(error);
137
+ });
138
+ const logError = (result, logger, message = 'Error occurred:')=>result.mapErr((error)=>{
139
+ logger.error(`${message} ${error.message}`, {
140
+ code: error.code,
141
+ status: error.status,
142
+ data: error.data,
143
+ category: error.category,
144
+ stack: error.stack
145
+ });
146
+ return error;
147
+ });
148
+ const logErrorAsync = (resultAsync, logger, message = 'Error occurred:')=>resultAsync.mapErr((error)=>{
149
+ logger.error(`${message} ${error.message}`, {
150
+ code: error.code,
151
+ status: error.status,
152
+ data: error.data,
153
+ category: error.category,
154
+ stack: error.stack
155
+ });
156
+ return error;
157
+ });
158
+ const validationPipeline = (validator, processor)=>(input)=>{
159
+ const validationResult = safeResult(()=>{
160
+ const validationOutcome = validator(input);
161
+ if (false === validationOutcome) throw new Error('Validation failed');
162
+ if ('string' == typeof validationOutcome) throw new Error(validationOutcome);
163
+ return input;
164
+ }, BASE_ERROR_CODES.INVALID_REQUEST);
165
+ return validationResult.andThen((validInput)=>safeResult(()=>processor(validInput)));
166
+ };
167
+ const retrievalPipeline = (fetcher, transformer)=>()=>safeResultAsync(fetcher(), BASE_ERROR_CODES.FAILED_TO_GET_CONSENT).andThen((data)=>safeResult(()=>transformer(data), BASE_ERROR_CODES.INVALID_CONFIGURATION));
168
+ var __webpack_export_target__ = exports;
169
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
170
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
171
+ value: true
172
+ });
@@ -0,0 +1,9 @@
1
+ export { BASE_ERROR_CODES } from './codes';
2
+ export type { ErrorCategory, ErrorCode, ErrorMessage } from './codes';
3
+ export { C15TError } from './error';
4
+ export { fail, failAsync, safeResult, safeResultAsync, } from './results';
5
+ export { recoverFromCodes, recoverFromCategory, } from './recovery';
6
+ export { logError, logErrorAsync, } from './logging';
7
+ export { validationPipeline, retrievalPipeline, } from './pipeline';
8
+ export { fromPromise, okAsync, ok, Result } from 'neverthrow';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACN,IAAI,EACJ,SAAS,EACT,UAAU,EACV,eAAe,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,gBAAgB,EAChB,mBAAmB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,QAAQ,EACR,aAAa,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,129 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_neverthrow__ from "neverthrow";
2
+ const BASE_ERROR_CODES = {
3
+ NOT_FOUND: 'Resource not found',
4
+ BAD_REQUEST: 'Bad request',
5
+ CONFLICT: 'Conflict with current state',
6
+ CONSENT_NOT_FOUND: 'Consent not found',
7
+ CONSENT_EXPIRED: 'Consent has expired',
8
+ FAILED_TO_CREATE_CONSENT: 'Failed to create consent',
9
+ FAILED_TO_UPDATE_CONSENT: 'Failed to update consent',
10
+ FAILED_TO_GET_CONSENT: 'Failed to get consent',
11
+ FAILED_TO_CREATE_PURPOSE: 'Failed to create consentPurpose',
12
+ PURPOSE_NOT_FOUND: 'Consent Purpose not found',
13
+ INVALID_CONFIGURATION: 'Invalid configuration',
14
+ MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
15
+ UNAUTHORIZED: 'Unauthorized',
16
+ FORBIDDEN: 'Forbidden',
17
+ INTERNAL_SERVER_ERROR: 'Internal server error',
18
+ INITIALIZATION_FAILED: 'Initialization failed',
19
+ PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
20
+ DATABASE_CONNECTION_ERROR: 'Database connection error',
21
+ DATABASE_QUERY_ERROR: 'Database query error',
22
+ REQUEST_HANDLER_ERROR: 'Request handler error',
23
+ API_RETRIEVAL_ERROR: 'API retrieval error',
24
+ INVALID_REQUEST: 'Invalid request',
25
+ UNKNOWN_ERROR: 'Unknown error'
26
+ };
27
+ class C15TError extends Error {
28
+ code;
29
+ status;
30
+ data;
31
+ category;
32
+ constructor(message, options){
33
+ super(message);
34
+ this.name = 'C15TError';
35
+ if (options) {
36
+ this.code = options.code;
37
+ this.status = options.status;
38
+ this.data = options.data;
39
+ this.category = options.category;
40
+ }
41
+ Object.setPrototypeOf(this, C15TError.prototype);
42
+ }
43
+ static fromResponse(response, data) {
44
+ let message = `HTTP error ${response.status}`;
45
+ let code;
46
+ let errorData;
47
+ if (data && 'object' == typeof data && null !== data) {
48
+ const errorObj = data;
49
+ if ('string' == typeof errorObj.message) message = errorObj.message;
50
+ if ('string' == typeof errorObj.code) {
51
+ const isKnownCode = Object.values(BASE_ERROR_CODES).includes(errorObj.code);
52
+ if (isKnownCode) code = errorObj.code;
53
+ }
54
+ if ('object' == typeof errorObj.data && null !== errorObj.data) errorData = errorObj.data;
55
+ }
56
+ return new C15TError(message, {
57
+ code,
58
+ status: response.status,
59
+ data: errorData
60
+ });
61
+ }
62
+ static isC15TError(error) {
63
+ return error instanceof C15TError;
64
+ }
65
+ }
66
+ const ok = (value)=>(0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok)(value);
67
+ const fail = (message, options)=>(0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.err)(new C15TError(message, options));
68
+ const failAsync = (message, options)=>__WEBPACK_EXTERNAL_MODULE_neverthrow__.ResultAsync.fromSafePromise(Promise.reject(new C15TError(message, options)));
69
+ const safeResult = (fn, errorCode = BASE_ERROR_CODES.UNKNOWN_ERROR)=>{
70
+ try {
71
+ return ok(fn());
72
+ } catch (error) {
73
+ return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.err)(new C15TError(error instanceof Error ? error.message : String(error), {
74
+ code: errorCode,
75
+ data: {
76
+ originalError: error
77
+ }
78
+ }));
79
+ }
80
+ };
81
+ const safeResultAsync = (promise, errorCode = BASE_ERROR_CODES.UNKNOWN_ERROR)=>__WEBPACK_EXTERNAL_MODULE_neverthrow__.ResultAsync.fromPromise(promise, (error)=>new C15TError(error instanceof Error ? error.message : String(error), {
82
+ code: errorCode,
83
+ data: {
84
+ originalError: error
85
+ }
86
+ }));
87
+ const recoverFromCodes = (result, errorCodes, defaultValue)=>result.orElse((error)=>{
88
+ if (error.code && errorCodes.includes(error.code)) return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok)(defaultValue);
89
+ return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.err)(error);
90
+ });
91
+ const recoverFromCategory = (result, category, defaultValue)=>result.orElse((error)=>{
92
+ if (error.category === category) return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok)(defaultValue);
93
+ return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.err)(error);
94
+ });
95
+ const logError = (result, logger, message = 'Error occurred:')=>result.mapErr((error)=>{
96
+ logger.error(`${message} ${error.message}`, {
97
+ code: error.code,
98
+ status: error.status,
99
+ data: error.data,
100
+ category: error.category,
101
+ stack: error.stack
102
+ });
103
+ return error;
104
+ });
105
+ const logErrorAsync = (resultAsync, logger, message = 'Error occurred:')=>resultAsync.mapErr((error)=>{
106
+ logger.error(`${message} ${error.message}`, {
107
+ code: error.code,
108
+ status: error.status,
109
+ data: error.data,
110
+ category: error.category,
111
+ stack: error.stack
112
+ });
113
+ return error;
114
+ });
115
+ const validationPipeline = (validator, processor)=>(input)=>{
116
+ const validationResult = safeResult(()=>{
117
+ const validationOutcome = validator(input);
118
+ if (false === validationOutcome) throw new Error('Validation failed');
119
+ if ('string' == typeof validationOutcome) throw new Error(validationOutcome);
120
+ return input;
121
+ }, BASE_ERROR_CODES.INVALID_REQUEST);
122
+ return validationResult.andThen((validInput)=>safeResult(()=>processor(validInput)));
123
+ };
124
+ const retrievalPipeline = (fetcher, transformer)=>()=>safeResultAsync(fetcher(), BASE_ERROR_CODES.FAILED_TO_GET_CONSENT).andThen((data)=>safeResult(()=>transformer(data), BASE_ERROR_CODES.INVALID_CONFIGURATION));
125
+ var __webpack_exports__Result = __WEBPACK_EXTERNAL_MODULE_neverthrow__.Result;
126
+ var __webpack_exports__fromPromise = __WEBPACK_EXTERNAL_MODULE_neverthrow__.fromPromise;
127
+ var __webpack_exports__ok = __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok;
128
+ var __webpack_exports__okAsync = __WEBPACK_EXTERNAL_MODULE_neverthrow__.okAsync;
129
+ export { BASE_ERROR_CODES, C15TError, fail, failAsync, logError, logErrorAsync, recoverFromCategory, recoverFromCodes, retrievalPipeline, safeResult, safeResultAsync, validationPipeline, __webpack_exports__Result as Result, __webpack_exports__fromPromise as fromPromise, __webpack_exports__ok as ok, __webpack_exports__okAsync as okAsync };
@@ -0,0 +1,25 @@
1
+ import type { Result, ResultAsync } from 'neverthrow';
2
+ import type { C15TError } from './error';
3
+ /**
4
+ * Logs any errors in a Result without changing the Result
5
+ *
6
+ * @param result - The Result that may contain an error
7
+ * @param logger - Logger instance
8
+ * @param message - Optional message prefix
9
+ * @returns The original Result unchanged
10
+ */
11
+ export declare const logError: <T>(result: Result<T, C15TError>, logger: {
12
+ error: (message: string, ...args: unknown[]) => void;
13
+ }, message?: string) => Result<T, C15TError>;
14
+ /**
15
+ * Logs any errors in a ResultAsync without changing the ResultAsync
16
+ *
17
+ * @param resultAsync - The ResultAsync that may contain an error
18
+ * @param logger - Logger instance
19
+ * @param message - Optional message prefix
20
+ * @returns The original ResultAsync unchanged
21
+ */
22
+ export declare const logErrorAsync: <T>(resultAsync: ResultAsync<T, C15TError>, logger: {
23
+ error: (message: string, ...args: unknown[]) => void;
24
+ }, message?: string) => ResultAsync<T, C15TError>;
25
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/error/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EACzB,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,EAC5B,QAAQ;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,EAChE,gBAA2B,KACzB,MAAM,CAAC,CAAC,EAAE,SAAS,CAWrB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAC9B,aAAa,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,EACtC,QAAQ;IAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,EAChE,gBAA2B,KACzB,WAAW,CAAC,CAAC,EAAE,SAAS,CAW1B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Result, ResultAsync } from 'neverthrow';
2
+ import type { C15TError } from './error';
3
+ /**
4
+ * Creates a standard validation pipeline
5
+ *
6
+ * @param validator - Function that validates input
7
+ * @param processor - Function that processes validated input
8
+ * @returns A function that validates and processes input in a Result chain
9
+ */
10
+ export declare const validationPipeline: <Input, Output>(validator: (input: Input) => boolean | string, processor: (input: Input) => Output) => ((input: Input) => Result<Output, C15TError>);
11
+ /**
12
+ * Creates a standard async data retrieval pipeline
13
+ *
14
+ * @param fetcher - Function that fetches data
15
+ * @param transformer - Function that transforms fetched data
16
+ * @returns A function that fetches and transforms data in a ResultAsync chain
17
+ */
18
+ export declare const retrievalPipeline: <RawData, TransformedData>(fetcher: () => Promise<RawData>, transformer: (data: RawData) => TransformedData) => (() => ResultAsync<TransformedData, C15TError>);
19
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/error/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,EAAE,MAAM,EAC/C,WAAW,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,MAAM,EAC7C,WAAW,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,KACjC,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAiB9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,EAAE,eAAe,EACzD,SAAS,MAAM,OAAO,CAAC,OAAO,CAAC,EAC/B,aAAa,CAAC,IAAI,EAAE,OAAO,KAAK,eAAe,KAC7C,CAAC,MAAM,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,CAYhD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type Result } from 'neverthrow';
2
+ import type { ErrorCategory, ErrorMessage } from './codes';
3
+ import type { C15TError } from './error';
4
+ /**
5
+ * Recovers from specific error codes by transforming to a default value
6
+ *
7
+ * @param result - The result that may contain an error
8
+ * @param errorCodes - Array of error codes to recover from
9
+ * @param defaultValue - Value to use if error matches specified codes
10
+ * @returns A new Result with the error recovered if it matches specified codes
11
+ */
12
+ export declare const recoverFromCodes: <T>(result: Result<T, C15TError>, errorCodes: ErrorMessage[], defaultValue: T) => Result<T, C15TError>;
13
+ /**
14
+ * Recovers from errors of a specific category
15
+ *
16
+ * @param result - The result that may contain an error
17
+ * @param category - Error category to recover from
18
+ * @param defaultValue - Value to use if error matches specified category
19
+ * @returns A new Result with the error recovered if it matches the category
20
+ */
21
+ export declare const recoverFromCategory: <T>(result: Result<T, C15TError>, category: ErrorCategory, defaultValue: T) => Result<T, C15TError>;
22
+ //# sourceMappingURL=recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/error/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EACjC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,EAC5B,YAAY,YAAY,EAAE,EAC1B,cAAc,CAAC,KACb,MAAM,CAAC,CAAC,EAAE,SAAS,CAOrB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,EACpC,QAAQ,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,EAC5B,UAAU,aAAa,EACvB,cAAc,CAAC,KACb,MAAM,CAAC,CAAC,EAAE,SAAS,CAOrB,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type Result, ResultAsync } from 'neverthrow';
2
+ import { type ErrorMessage } from './codes';
3
+ import { C15TError } from './error';
4
+ /**
5
+ * Type for C15T results that can contain any error
6
+ */
7
+ export type C15TResult<T> = Result<T, C15TError>;
8
+ /**
9
+ * Type for C15T async results that can contain any error
10
+ */
11
+ export type C15TResultAsync<T> = ResultAsync<T, C15TError>;
12
+ /**
13
+ * Creates a successful result
14
+ */
15
+ export declare const ok: <T>(value: T) => C15TResult<T>;
16
+ /**
17
+ * Creates a standardized failure Result with a C15TError
18
+ *
19
+ * @param message - Error message
20
+ * @param options - Additional error options
21
+ * @returns A Result containing the error
22
+ */
23
+ export declare const fail: <T>(message: string, options?: {
24
+ code?: ErrorMessage;
25
+ status?: number;
26
+ data?: Record<string, unknown>;
27
+ }) => Result<T, C15TError>;
28
+ /**
29
+ * Creates a standardized failure ResultAsync with a C15TError
30
+ *
31
+ * @param message - Error message
32
+ * @param options - Additional error options
33
+ * @returns A ResultAsync containing the error
34
+ */
35
+ export declare const failAsync: <T>(message: string, options?: {
36
+ code?: ErrorMessage;
37
+ status?: number;
38
+ data?: Record<string, unknown>;
39
+ }) => ResultAsync<T, C15TError>;
40
+ /**
41
+ * Wraps a potentially throwing function in a Result
42
+ *
43
+ * @param fn - Function that might throw
44
+ * @param errorCode - Optional error code to use if fn throws
45
+ * @returns A Result containing either the function result or a C15TError
46
+ */
47
+ export declare const safeResult: <T>(fn: () => T, errorCode?: ErrorMessage) => Result<T, C15TError>;
48
+ /**
49
+ * Wraps a Promise in a ResultAsync
50
+ *
51
+ * @param promise - Promise that might reject
52
+ * @param errorCode - Optional error code to use if promise rejects
53
+ * @returns A ResultAsync containing either the promise result or a C15TError
54
+ */
55
+ export declare const safeResultAsync: <T>(promise: Promise<T>, errorCode?: ErrorMessage) => ResultAsync<T, C15TError>;
56
+ //# sourceMappingURL=results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../src/error/results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,UAAU,CAAC,CAAC,CAAmB,CAAC;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EACrB,SAAS,MAAM,EACf,UAAU;IACT,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,KACC,MAAM,CAAC,CAAC,EAAE,SAAS,CAErB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAC1B,SAAS,MAAM,EACf,UAAU;IACT,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,KACC,WAAW,CAAC,CAAC,EAAE,SAAS,CAI1B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAC3B,IAAI,MAAM,CAAC,EACX,YAAW,YAA6C,KACtD,MAAM,CAAC,CAAC,EAAE,SAAS,CAWrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAChC,SAAS,OAAO,CAAC,CAAC,CAAC,EACnB,YAAW,YAA6C,KACtD,WAAW,CAAC,CAAC,EAAE,SAAS,CAS1B,CAAC"}