@schafevormfenster/rest-commons 0.1.9 → 0.1.11

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 (100) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-check.log +129 -115
  3. package/.turbo/turbo-lint.log +4 -0
  4. package/dist/api-schemas/health.schema.js +2 -2
  5. package/dist/api-schemas/paginated-results.schema.js +1 -1
  6. package/dist/api-schemas/partial-results.schema.js +1 -1
  7. package/dist/api-schemas/result.schema.js +1 -1
  8. package/dist/api-schemas/results.schema.js +1 -1
  9. package/dist/helpers/correlation/get-correlation-id.js +1 -1
  10. package/dist/helpers/detect-mime-type.js +4 -4
  11. package/dist/helpers/parameter-validation.js +1 -1
  12. package/dist/helpers/response-headers/build-api-unauthorized-headers.js +1 -1
  13. package/dist/helpers/response-headers/resolve-environment.d.ts +1 -1
  14. package/dist/helpers/response-headers/resolve-environment.d.ts.map +1 -1
  15. package/dist/index.d.ts +33 -33
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +33 -33
  18. package/dist/primitives/geo-point.schema.js +2 -2
  19. package/dist/primitives/latitude.schema.js +1 -1
  20. package/dist/primitives/location.schema.js +1 -1
  21. package/dist/primitives/longitude.schema.js +1 -1
  22. package/dist/primitives/slug.schema.js +2 -2
  23. package/dist/time/bounded-time.schema.d.ts.map +1 -1
  24. package/dist/time/bounded-time.schema.js +19 -15
  25. package/dist/time/flexible-time-parser.d.ts +1 -1
  26. package/dist/time/flexible-time-parser.d.ts.map +1 -1
  27. package/dist/time/flexible-time-parser.js +2 -2
  28. package/dist/time/flexible-time.schema.js +3 -3
  29. package/dist/time/relative-time.schema.js +1 -1
  30. package/dist/time/time-helpers.js +2 -2
  31. package/dist/time/time-schemas.js +1 -1
  32. package/package.json +8 -8
  33. package/src/api-schemas/error.schema.test.ts +20 -14
  34. package/src/api-schemas/health.schema.test.ts +116 -112
  35. package/src/api-schemas/health.schema.ts +2 -2
  36. package/src/api-schemas/okay.schema.test.ts +10 -6
  37. package/src/api-schemas/paginated-results.schema.ts +1 -1
  38. package/src/api-schemas/partial-results.schema.ts +1 -1
  39. package/src/api-schemas/result.schema.test.ts +13 -9
  40. package/src/api-schemas/result.schema.ts +1 -1
  41. package/src/api-schemas/results.schema.test.ts +27 -7
  42. package/src/api-schemas/results.schema.ts +1 -1
  43. package/src/helpers/correlation/get-correlation-id.test.ts +1 -1
  44. package/src/helpers/correlation/get-correlation-id.ts +1 -1
  45. package/src/helpers/correlation/get-header.test.ts +2 -2
  46. package/src/helpers/detect-mime-type.test.ts +85 -81
  47. package/src/helpers/detect-mime-type.ts +4 -4
  48. package/src/helpers/detect-suspicious-patterns.test.ts +34 -28
  49. package/src/helpers/eventify-constants.test.ts +54 -34
  50. package/src/helpers/eventify-constants.types.test.ts +54 -34
  51. package/src/helpers/hash-binary.test.ts +50 -46
  52. package/src/helpers/mime-types/detect-image-mime-type.test.ts +59 -55
  53. package/src/helpers/mime-types/detect-ole-mime-type.test.ts +73 -69
  54. package/src/helpers/mime-types/detect-pdf-mime-type.test.ts +30 -26
  55. package/src/helpers/mime-types/detect-zip-mime-type.test.ts +76 -72
  56. package/src/helpers/parameter-validation.test.ts +27 -23
  57. package/src/helpers/parameter-validation.ts +1 -1
  58. package/src/helpers/process-eventify-request.ts +2 -2
  59. package/src/helpers/response-headers/build-api-unauthorized-headers.ts +1 -1
  60. package/src/helpers/response-headers/resolve-environment.ts +1 -1
  61. package/src/helpers/slugify.test.ts +62 -58
  62. package/src/index.ts +33 -33
  63. package/src/normalization/normalize-list.test.ts +36 -32
  64. package/src/normalization/normalize-location.test.ts +1 -1
  65. package/src/primitives/coordinate-precision.test.ts +38 -32
  66. package/src/primitives/geo-point.schema.test.ts +60 -56
  67. package/src/primitives/geo-point.schema.ts +2 -2
  68. package/src/primitives/geoname-id.schema.test.ts +50 -46
  69. package/src/primitives/international-zip.schema.test.ts +175 -121
  70. package/src/primitives/latitude.schema.test.ts +67 -61
  71. package/src/primitives/latitude.schema.ts +1 -1
  72. package/src/primitives/location.schema.test.ts +15 -11
  73. package/src/primitives/location.schema.ts +1 -1
  74. package/src/primitives/longitude.schema.test.ts +67 -61
  75. package/src/primitives/longitude.schema.ts +1 -1
  76. package/src/primitives/numeric-id.schema.test.ts +24 -20
  77. package/src/primitives/slug.schema.test.ts +93 -85
  78. package/src/primitives/slug.schema.ts +2 -2
  79. package/src/primitives/uuid.schema.test.ts +37 -33
  80. package/src/primitives/wikidata-id.schema.test.ts +48 -44
  81. package/src/time/boundary-enforcement.test.ts +1 -1
  82. package/src/time/bounded-time.schema.test.ts +2 -2
  83. package/src/time/bounded-time.schema.ts +19 -15
  84. package/src/time/flexible-time-parser.test.ts +3 -3
  85. package/src/time/flexible-time-parser.ts +2 -2
  86. package/src/time/flexible-time.schema.test.ts +6 -6
  87. package/src/time/flexible-time.schema.ts +3 -3
  88. package/src/time/is-relative-time.test.ts +18 -14
  89. package/src/time/iso8601.types.test.ts +4 -4
  90. package/src/time/parse-relative-time.test.ts +37 -33
  91. package/src/time/relative-time.schema.test.ts +18 -14
  92. package/src/time/relative-time.schema.ts +1 -1
  93. package/src/time/since-parameter.schema.test.ts +46 -42
  94. package/src/time/time-helpers.test.ts +2 -2
  95. package/src/time/time-helpers.ts +2 -2
  96. package/src/time/time-schemas.test.ts +5 -5
  97. package/src/time/time-schemas.ts +1 -1
  98. package/src/time/time.schema.test.ts +19 -15
  99. package/src/time/timezone-independence.test.ts +2 -2
  100. package/src/time/timezone.types.test.ts +49 -43
@@ -1,4 +1,4 @@
1
1
 
2
- > @schafevormfenster/rest-commons@0.1.4 build /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
2
+ > @schafevormfenster/rest-commons@0.1.10 build /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
3
3
  > tsc
4
4
 
@@ -1,174 +1,188 @@
1
1
 
2
2
  
3
- > @schafevormfenster/rest-commons@0.1.6 check /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
3
+ > @schafevormfenster/rest-commons@0.1.10 check /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
4
4
  > pnpm run typecheck && pnpm run lint && pnpm run test && pnpm run build
5
5
 
6
6
 
7
- > @schafevormfenster/rest-commons@0.1.6 typecheck /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
7
+ > @schafevormfenster/rest-commons@0.1.10 typecheck /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
8
8
  > tsc --noEmit
9
9
 
10
10
 
11
- > @schafevormfenster/rest-commons@0.1.6 lint /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
11
+ > @schafevormfenster/rest-commons@0.1.10 lint /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
12
12
  > eslint
13
13
 
14
14
 
15
- > @schafevormfenster/rest-commons@0.1.6 test /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
15
+ > @schafevormfenster/rest-commons@0.1.10 test /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
16
16
  > TZ=UTC vitest run
17
17
 
18
18
  [?25l
19
-  RUN  v4.0.16 /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
19
+  RUN  v4.0.18 /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
20
20
 
21
21
  [?2026h
22
-  ❯ src/helpers/correlation/get-header.test.ts [queued]
22
+  ❯ src/helpers/parameter-validation.test.ts [queued]
23
23
 
24
24
   Test Files 0 passed (45)
25
25
   Tests 0 passed (0)
26
-  Start at 12:47:15
27
-  Duration 102ms
28
- [?2026l[?2026h ✓ src/helpers/correlation/get-header.test.ts (15 tests) 12ms
29
- ✓ src/time/since-parameter.schema.test.ts (6 tests) 5ms
30
- ✓ src/helpers/correlation/get-correlation-id.test.ts (11 tests) 15ms
26
+  Start at 05:41:42
27
+  Duration 101ms
28
+ [?2026l[?2026h ✓ src/helpers/correlation/get-header.test.ts (15 tests) 11ms
29
+ ✓ src/helpers/correlation/get-correlation-id.test.ts (11 tests) 14ms
30
+ ✓ src/primitives/international-zip.schema.test.ts (29 tests) 5ms
31
+ {"level":50,"time":1777268502565,"pid":20367,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"location\",\"suspiciousPatterns\":[\"html.script_tag\"],\"error\":\"Parameter 'location' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'location' contains suspicious patterns: html.script_tag"}
32
+ ✓ src/helpers/parameter-validation.test.ts (5 tests) 5ms
33
+ {"level":50,"time":1777268502566,"pid":20367,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"location\",\"suspiciousPatterns\":[\"sql.drop_table\"],\"error\":\"Parameter 'location' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'location' contains suspicious patterns: sql.drop_table"}
34
+ {"level":50,"time":1777268502566,"pid":20367,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"slug\",\"suspiciousPatterns\":[\"url.embedded\"],\"error\":\"Parameter 'slug' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'slug' contains suspicious patterns: url.embedded"}
35
+ {"level":50,"time":1777268502566,"pid":20367,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"id\",\"suspiciousPatterns\":[\"prompt.injection.language\"],\"error\":\"Parameter 'id' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'id' contains suspicious patterns: prompt.injection.language"}
31
36
 
32
37
   ❯ src/helpers/correlation/get-correlation-id.test.ts 11/11
33
38
   ❯ src/helpers/correlation/get-header.test.ts 15/15
39
+  ❯ src/helpers/parameter-validation.test.ts 5/5
34
40
   ❯ src/normalization/normalize-list.test.ts [queued]
35
-  ❯ src/time/bounded-time.schema.test.ts [queued]
36
-  ❯ src/time/flexible-time-parser.test.ts [queued]
37
-  ❯ src/time/since-parameter.schema.test.ts 6/6
38
-  ❯ src/time/time-helpers.test.ts 0/42
39
-  ❯ src/time/time.schema.test.ts [queued]
41
+  ❯ src/primitives/international-zip.schema.test.ts 29/29
42
+  ❯ src/time/bounded-time.schema.test.ts 0/33
43
+  ❯ src/time/flexible-time-parser.test.ts 1/63
44
+  ❯ src/time/time.schema.test.ts 0/26
40
45
   ❯ src/time/timezone-independence.test.ts [queued]
41
46
 
42
-  Test Files 3 passed (45)
43
-  Tests 32 passed (74)
44
-  Start at 12:47:15
45
-  Duration 202ms
46
- [?2026l[?2026h ✓ src/time/time-helpers.test.ts (42 tests) 6ms
47
- ✓ src/time/bounded-time.schema.test.ts (33 tests) 11ms
48
- ✓ src/time/flexible-time-parser.test.ts (63 tests) 19ms
49
- ✓ src/time/time.schema.test.ts (26 tests) 18ms
50
- ✓ src/time/timezone-independence.test.ts (13 tests) 14ms
47
+  Test Files 4 passed (45)
48
+  Tests 61 passed (182)
49
+  Start at 05:41:42
50
+  Duration 200ms
51
+ [?2026l[?2026h ✓ src/time/flexible-time-parser.test.ts (63 tests) 16ms
52
+ ✓ src/time/time.schema.test.ts (26 tests) 12ms
53
+ ✓ src/time/bounded-time.schema.test.ts (33 tests) 16ms
54
+ ✓ src/time/timezone-independence.test.ts (13 tests) 9ms
55
+ ✓ src/time/time-schemas.test.ts (24 tests) 15ms
51
56
 
52
57
   ❯ src/normalization/normalize-list.test.ts [queued]
53
-  ❯ src/time/boundary-enforcement.test.ts [queued]
54
58
   ❯ src/time/bounded-time.schema.test.ts 33/33
55
59
   ❯ src/time/flexible-time-parser.test.ts 63/63
56
-  ❯ src/time/flexible-time.schema.test.ts [queued]
57
60
   ❯ src/time/parse-relative-time.test.ts [queued]
58
-  ❯ src/time/time-schemas.test.ts [queued]
61
+  ❯ src/time/since-parameter.schema.test.ts 1/6
62
+  ❯ src/time/time-helpers.test.ts [queued]
63
+  ❯ src/time/time-schemas.test.ts 24/24
59
64
   ❯ src/time/time.schema.test.ts 26/26
60
65
   ❯ src/time/timezone-independence.test.ts 13/13
61
66
 
62
-  Test Files 8 passed (45)
63
-  Tests 209 passed (209)
64
-  Start at 12:47:15
65
-  Duration 302ms
66
- [?2026l[?2026h ✓ src/time/iso8601.types.test.ts (17 tests) 3ms
67
- ✓ src/time/time-schemas.test.ts (24 tests) 10ms
68
- ✓ src/time/flexible-time.schema.test.ts (36 tests) 10ms
69
- {"level":40,"time":1769518036107,"pid":42817,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2024-01-01T12:00:00.000Z","clampedValue":"2024-01-08T12:00:00.000Z","boundary":"minimum (-1w)","msg":"Calendar update query testField clamped to minimum boundary"}
70
- {"level":40,"time":1769518036108,"pid":42817,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2020-01-01T12:00:00.000Z","clampedValue":"2024-01-08T12:00:00.000Z","boundary":"minimum (-1w)","msg":"Calendar update query testField clamped to minimum boundary"}
71
- {"level":40,"time":1769518036108,"pid":42817,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2025-02-15T12:00:00.000Z","clampedValue":"2025-01-15T12:00:00.000Z","boundary":"maximum (+12m)","msg":"Calendar update query testField clamped to maximum boundary"}
72
- {"level":40,"time":1769518036108,"pid":42817,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2030-01-01T12:00:00.000Z","clampedValue":"2025-01-15T12:00:00.000Z","boundary":"maximum (+12m)","msg":"Calendar update query testField clamped to maximum boundary"}
73
- {"level":40,"time":1769518036109,"pid":42817,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2024-01-10T12:00:00.000Z","clampedValue":"2026-01-20T12:47:16.108Z","boundary":"minimum (-1w)","msg":"Calendar update query testField clamped to minimum boundary"}
74
- {"level":40,"time":1769518036109,"pid":42817,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"customFieldName","originalValue":"2024-01-01T12:00:00.000Z","clampedValue":"2024-01-08T12:00:00.000Z","boundary":"minimum (-1w)","msg":"Calendar update query customFieldName clamped to minimum boundary"}
75
- ✓ src/time/boundary-enforcement.test.ts (12 tests) 6ms
76
- {"level":50,"time":1722007200000,"pid":42819,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.relative-time-parser","error":{"message":"{\"relativeTime\":\"invalid\",\"error\":\"Invalid relative time format: invalid\"}","name":"ObjectError"},"msg":"Invalid relative time format: invalid"}
77
- {"level":50,"time":1722007200000,"pid":42819,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.relative-time-parser","error":{"message":"{\"relativeTime\":\"1x\",\"error\":\"Invalid relative time format: 1x\"}","name":"ObjectError"},"msg":"Invalid relative time format: 1x"}
78
- {"level":50,"time":1722007200000,"pid":42819,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.relative-time-parser","error":{"message":"{\"relativeTime\":\"\",\"error\":\"Invalid relative time format: \"}","name":"ObjectError"},"msg":"Invalid relative time format: "}
67
+  Test Files 9 passed (45)
68
+  Tests 220 passed (225)
69
+  Start at 05:41:42
70
+  Duration 300ms
71
+ [?2026l[?2026h ✓ src/time/since-parameter.schema.test.ts (6 tests) 6ms
72
+ ✓ src/time/time-helpers.test.ts (42 tests) 6ms
73
+ {"level":40,"time":1777268502696,"pid":20369,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"security.sanitizeTag","original":" banana ","sanitized":"banana","reason":"tag-sanitized","msg":"Tag input sanitized"}
74
+ {"level":40,"time":1777268502708,"pid":20369,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"security.sanitizeTag","original":" apple ","sanitized":"apple","reason":"tag-sanitized","msg":"Tag input sanitized"}
75
+ ✓ src/normalization/normalize-list.test.ts (4 tests) 14ms
76
+ {"level":50,"time":1722007200000,"pid":20374,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.relative-time-parser","error":{"message":"{\"relativeTime\":\"invalid\",\"error\":\"Invalid relative time format: invalid\"}","name":"ObjectError"},"msg":"Invalid relative time format: invalid"}
77
+ {"level":50,"time":1722007200000,"pid":20374,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.relative-time-parser","error":{"message":"{\"relativeTime\":\"1x\",\"error\":\"Invalid relative time format: 1x\"}","name":"ObjectError"},"msg":"Invalid relative time format: 1x"}
78
+ {"level":50,"time":1722007200000,"pid":20374,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.relative-time-parser","error":{"message":"{\"relativeTime\":\"\",\"error\":\"Invalid relative time format: \"}","name":"ObjectError"},"msg":"Invalid relative time format: "}
79
79
  ✓ src/time/parse-relative-time.test.ts (6 tests) 5ms
80
- ✓ src/primitives/longitude.schema.test.ts (8 tests) 4ms
81
- ✓ src/primitives/latitude.schema.test.ts (8 tests) 3ms
82
- {"level":40,"time":1769518036133,"pid":42780,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"security.sanitizeTag","original":" banana ","sanitized":"banana","reason":"tag-sanitized","msg":"Tag input sanitized"}
83
- {"level":40,"time":1769518036144,"pid":42780,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"security.sanitizeTag","original":" apple ","sanitized":"apple","reason":"tag-sanitized","msg":"Tag input sanitized"}
84
- ✓ src/normalization/normalize-list.test.ts (4 tests) 13ms
85
- ✓ src/primitives/uuid.schema.test.ts (5 tests) 3ms
86
-
87
-  ❯ src/api-schemas/health.schema.test.ts [queued]
80
+ ✓ src/api-schemas/results.schema.test.ts (3 tests) 6ms
81
+ ✓ src/primitives/latitude.schema.test.ts (8 tests) 4ms
82
+ ✓ src/primitives/longitude.schema.test.ts (8 tests) 5ms
83
+ ✓ src/time/flexible-time.schema.test.ts (36 tests) 12ms
84
+
85
+  src/api-schemas/results.schema.test.ts 3/3
88
86
   ❯ src/normalization/normalize-list.test.ts 4/4
87
+  ❯ src/primitives/geoname-id.schema.test.ts 0/7
89
88
   ❯ src/primitives/latitude.schema.test.ts 8/8
90
89
   ❯ src/primitives/longitude.schema.test.ts 8/8
91
-  ❯ src/primitives/uuid.schema.test.ts 5/5
92
-  ❯ src/time/boundary-enforcement.test.ts 12/12
90
+  ❯ src/time/boundary-enforcement.test.ts [queued]
93
91
   ❯ src/time/flexible-time.schema.test.ts 36/36
94
92
   ❯ src/time/parse-relative-time.test.ts 6/6
95
-  ❯ src/time/time-schemas.test.ts 24/24
93
+  ❯ src/time/time-helpers.test.ts 42/42
96
94
 
97
95
   Test Files 17 passed (45)
98
-  Tests 329 passed (329)
99
-  Start at 12:47:15
100
-  Duration 402ms
101
- [?2026l[?2026h ✓ src/primitives/geoname-id.schema.test.ts (7 tests) 3ms
102
- ✓ src/api-schemas/result.schema.test.ts (2 tests) 3ms
103
- ✓ src/api-schemas/health.schema.test.ts (7 tests) 3ms
104
- ✓ src/helpers/eventify-constants.test.ts (5 tests) 2ms
105
- ✓ src/primitives/international-zip.schema.test.ts (29 tests) 5ms
106
- {"level":50,"time":1769518036260,"pid":42825,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"location\",\"suspiciousPatterns\":[\"html.script_tag\"],\"error\":\"Parameter 'location' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'location' contains suspicious patterns: html.script_tag"}
107
- ✓ src/primitives/location.schema.test.ts (3 tests) 5ms
108
- {"level":50,"time":1769518036270,"pid":42823,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"slug\",\"suspiciousPatterns\":[\"html.script_tag\"],\"error\":\"Parameter 'slug' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'slug' contains suspicious patterns: html.script_tag"}
109
- ✓ src/primitives/slug.schema.test.ts (15 tests) 6ms
110
- {"level":50,"time":1769518036275,"pid":42830,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"location\",\"suspiciousPatterns\":[\"html.script_tag\"],\"error\":\"Parameter 'location' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'location' contains suspicious patterns: html.script_tag"}
111
- {"level":50,"time":1769518036275,"pid":42830,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"location\",\"suspiciousPatterns\":[\"sql.drop_table\"],\"error\":\"Parameter 'location' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'location' contains suspicious patterns: sql.drop_table"}
112
- {"level":50,"time":1769518036275,"pid":42830,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"slug\",\"suspiciousPatterns\":[\"url.embedded\"],\"error\":\"Parameter 'slug' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'slug' contains suspicious patterns: url.embedded"}
113
- {"level":50,"time":1769518036275,"pid":42830,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"id\",\"suspiciousPatterns\":[\"prompt.injection.language\"],\"error\":\"Parameter 'id' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'id' contains suspicious patterns: prompt.injection.language"}
114
- ✓ src/helpers/parameter-validation.test.ts (5 tests) 4ms
115
- ✓ src/api-schemas/results.schema.test.ts (1 test) 4ms
116
-
117
-  ❯ src/api-schemas/health.schema.test.ts 7/7
96
+  Tests 332 passed (339)
97
+  Start at 05:41:42
98
+  Duration 400ms
99
+ [?2026l[?2026h ✓ src/primitives/geoname-id.schema.test.ts (7 tests) 4ms
100
+ {"level":40,"time":1777268502824,"pid":20383,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2024-01-01T12:00:00.000Z","clampedValue":"2024-01-08T12:00:00.000Z","boundary":"minimum (-1w)","msg":"Calendar update query testField clamped to minimum boundary"}
101
+ {"level":40,"time":1777268502825,"pid":20383,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2020-01-01T12:00:00.000Z","clampedValue":"2024-01-08T12:00:00.000Z","boundary":"minimum (-1w)","msg":"Calendar update query testField clamped to minimum boundary"}
102
+ {"level":40,"time":1777268502825,"pid":20383,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2025-02-15T12:00:00.000Z","clampedValue":"2025-01-15T12:00:00.000Z","boundary":"maximum (+12m)","msg":"Calendar update query testField clamped to maximum boundary"}
103
+ {"level":40,"time":1777268502826,"pid":20383,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2030-01-01T12:00:00.000Z","clampedValue":"2025-01-15T12:00:00.000Z","boundary":"maximum (+12m)","msg":"Calendar update query testField clamped to maximum boundary"}
104
+ {"level":40,"time":1777268502826,"pid":20383,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"testField","originalValue":"2024-01-10T12:00:00.000Z","clampedValue":"2026-04-20T05:41:42.826Z","boundary":"minimum (-1w)","msg":"Calendar update query testField clamped to minimum boundary"}
105
+ {"level":40,"time":1777268502827,"pid":20383,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"helpers.time.boundary-enforcement","field":"customFieldName","originalValue":"2024-01-01T12:00:00.000Z","clampedValue":"2024-01-08T12:00:00.000Z","boundary":"minimum (-1w)","msg":"Calendar update query customFieldName clamped to minimum boundary"}
106
+ ✓ src/time/boundary-enforcement.test.ts (12 tests) 5ms
107
+ ✓ src/primitives/uuid.schema.test.ts (5 tests) 5ms
108
+ ✓ src/helpers/eventify-constants.test.ts (9 tests) 4ms
109
+ ✓ src/primitives/wikidata-id.schema.test.ts (8 tests) 6ms
110
+ ✓ src/api-schemas/result.schema.test.ts (2 tests) 5ms
111
+ ✓ src/helpers/hash-binary.test.ts (7 tests) 3ms
112
+ ✓ src/api-schemas/health.schema.test.ts (9 tests) 4ms
113
+
114
+  ❯ src/api-schemas/error.schema.test.ts 1/3
115
+  ❯ src/api-schemas/health.schema.test.ts 9/9
118
116
   ❯ src/api-schemas/result.schema.test.ts 2/2
119
-  ❯ src/api-schemas/results.schema.test.ts 1/1
120
-  ❯ src/helpers/eventify-constants.test.ts 5/5
121
-  ❯ src/helpers/mime-types/detect-image-mime-type.test.ts [queued]
122
-  ❯ src/helpers/parameter-validation.test.ts 5/5
123
-  ❯ src/primitives/international-zip.schema.test.ts 29/29
124
-  ❯ src/primitives/location.schema.test.ts 3/3
125
-  ❯ src/primitives/slug.schema.test.ts 15/15
117
+  ❯ src/helpers/eventify-constants.test.ts 9/9
118
+  ❯ src/helpers/hash-binary.test.ts 7/7
119
+  ❯ src/primitives/geo-point.schema.test.ts [queued]
120
+  ❯ src/primitives/uuid.schema.test.ts 5/5
121
+  ❯ src/primitives/wikidata-id.schema.test.ts 8/8
122
+  ❯ src/time/boundary-enforcement.test.ts 12/12
126
123
 
127
-  Test Files 26 passed (45)
128
-  Tests 403 passed (403)
129
-  Start at 12:47:15
130
-  Duration 602ms
131
- [?2026l[?2026h ✓ src/primitives/coordinate-precision.test.ts (6 tests) 2ms
132
- ✓ src/helpers/mime-types/detect-image-mime-type.test.ts (11 tests) 2ms
133
- ✓ src/api-schemas/error.schema.test.ts (3 tests) 2ms
134
- ✓ src/time/timezone.types.test.ts (4 tests) 4ms
135
- ✓ src/primitives/geo-point.schema.test.ts (7 tests) 5ms
136
- ✓ src/normalization/normalize-location.test.ts (13 tests) 4ms
137
- ✓ src/api-schemas/okay.schema.test.ts (2 tests) 2ms
138
- ✓ src/helpers/eventify-constants.types.test.ts (5 tests) 5ms
139
- ✓ src/helpers/hash-binary.test.ts (7 tests) 4ms
124
+  Test Files 25 passed (45)
125
+  Tests 392 passed (394)
126
+  Start at 05:41:42
127
+  Duration 501ms
128
+ [?2026l[?2026h ✓ src/api-schemas/error.schema.test.ts (3 tests) 5ms
129
+ ✓ src/primitives/geo-point.schema.test.ts (7 tests) 6ms
130
+ ✓ src/normalization/normalize-location.test.ts (13 tests) 3ms
131
+ ✓ src/time/timezone.types.test.ts (4 tests) 5ms
140
132
 
141
133
   ❯ src/api-schemas/error.schema.test.ts 3/3
142
-  ❯ src/api-schemas/okay.schema.test.ts 2/2
143
-  ❯ src/helpers/eventify-constants.types.test.ts 5/5
144
-  ❯ src/helpers/hash-binary.test.ts 7/7
145
-  ❯ src/helpers/mime-types/detect-image-mime-type.test.ts 11/11
134
+  ❯ src/helpers/mime-types/detect-image-mime-type.test.ts [queued]
135
+  ❯ src/helpers/slugify.test.ts 0/13
146
136
   ❯ src/normalization/normalize-location.test.ts 13/13
147
137
   ❯ src/primitives/geo-point.schema.test.ts 7/7
148
-  ❯ src/primitives/wikidata-id.schema.test.ts [queued]
138
+  ❯ src/primitives/numeric-id.schema.test.ts [queued]
139
+  ❯ src/primitives/slug.schema.test.ts 0/15
140
+  ❯ src/time/iso8601.types.test.ts 0/17
149
141
   ❯ src/time/timezone.types.test.ts 4/4
150
142
 
151
-  Test Files 35 passed (45)
152
-  Tests 461 passed (461)
153
-  Start at 12:47:15
154
-  Duration 703ms
155
- [?2026l ✓ src/helpers/detect-suspicious-patterns.test.ts (6 tests) 3ms
156
- ✓ src/helpers/slugify.test.ts (13 tests) 4ms
157
- ✓ src/primitives/wikidata-id.schema.test.ts (8 tests) 3ms
158
- ✓ src/helpers/mime-types/detect-zip-mime-type.test.ts (9 tests) 1ms
159
- ✓ src/helpers/mime-types/detect-pdf-mime-type.test.ts (6 tests) 1ms
143
+  Test Files 29 passed (45)
144
+  Tests 418 passed (463)
145
+  Start at 05:41:42
146
+  Duration 601ms
147
+ [?2026l[?2026h{"level":50,"time":1777268502996,"pid":20395,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"slug\",\"suspiciousPatterns\":[\"html.script_tag\"],\"error\":\"Parameter 'slug' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'slug' contains suspicious patterns: html.script_tag"}
148
+ ✓ src/time/iso8601.types.test.ts (17 tests) 7ms
149
+ ✓ src/primitives/slug.schema.test.ts (15 tests) 4ms
150
+ ✓ src/helpers/slugify.test.ts (13 tests) 3ms
151
+ ✓ src/helpers/mime-types/detect-image-mime-type.test.ts (11 tests) 2ms
160
152
  ✓ src/primitives/numeric-id.schema.test.ts (5 tests) 2ms
153
+ ✓ src/helpers/detect-suspicious-patterns.test.ts (6 tests) 3ms
154
+ ✓ src/helpers/detect-mime-type.test.ts (12 tests) 4ms
155
+
156
+  ❯ src/api-schemas/okay.schema.test.ts [queued]
157
+  ❯ src/helpers/detect-suspicious-patterns.test.ts 6/6
158
+  ❯ src/helpers/eventify-constants.types.test.ts 1/9
159
+  ❯ src/helpers/mime-types/detect-image-mime-type.test.ts 11/11
160
+  ❯ src/helpers/slugify.test.ts 13/13
161
+  ❯ src/primitives/location.schema.test.ts [queued]
162
+  ❯ src/primitives/numeric-id.schema.test.ts 5/5
163
+  ❯ src/primitives/slug.schema.test.ts 15/15
164
+
165
+  Test Files 36 passed (45)
166
+  Tests 498 passed (506)
167
+  Start at 05:41:42
168
+  Duration 701ms
169
+ [?2026l ✓ src/helpers/eventify-constants.types.test.ts (9 tests) 3ms
170
+ ✓ src/api-schemas/okay.schema.test.ts (2 tests) 2ms
161
171
  ✓ src/helpers/mime-types/detect-ole-mime-type.test.ts (10 tests) 2ms
162
- ✓ src/helpers/detect-mime-type.test.ts (12 tests) 2ms
172
+ ✓ src/primitives/coordinate-precision.test.ts (6 tests) 2ms
173
+ ✓ src/helpers/mime-types/detect-pdf-mime-type.test.ts (6 tests) 1ms
174
+ ✓ src/helpers/mime-types/detect-zip-mime-type.test.ts (9 tests) 2ms
163
175
  ✓ src/time/relative-time.schema.test.ts (2 tests) 2ms
176
+ {"level":50,"time":1777268503133,"pid":20406,"hostname":"Jan--Schafe-vorm-Fenster.local","name":"rest.helpers.parameter-validation","error":{"message":"{\"parameterName\":\"location\",\"suspiciousPatterns\":[\"html.script_tag\"],\"error\":\"Parameter 'location' contains suspicious patterns\"}","name":"ObjectError"},"msg":"Parameter 'location' contains suspicious patterns: html.script_tag"}
177
+ ✓ src/primitives/location.schema.test.ts (3 tests) 2ms
164
178
  ✓ src/time/is-relative-time.test.ts (2 tests) 1ms
165
179
 
166
180
   Test Files  45 passed (45)
167
-  Tests  534 passed (534)
168
-  Start at  12:47:15
169
-  Duration  821ms (transform 1.13s, setup 0ms, import 1.92s, tests 240ms, environment 3ms)
181
+  Tests  546 passed (546)
182
+  Start at  05:41:42
183
+  Duration  807ms (transform 975ms, setup 0ms, import 1.81s, tests 258ms, environment 3ms)
170
184
 
171
185
  [?25h
172
- > @schafevormfenster/rest-commons@0.1.6 build /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
186
+ > @schafevormfenster/rest-commons@0.1.10 build /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
173
187
  > tsc
174
188
 
@@ -0,0 +1,4 @@
1
+
2
+ > @schafevormfenster/rest-commons@0.1.10 lint /Users/jan-henrik.hempel/Projects/commons/packages/rest-commons
3
+ > eslint
4
+
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
- import { ApiErrorSchema } from "./error.schema";
3
- import { OkaySchema } from "./okay.schema";
2
+ import { ApiErrorSchema } from "./error.schema.js";
3
+ import { OkaySchema } from "./okay.schema.js";
4
4
  /**
5
5
  * Services
6
6
  */
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { ResultsSchema } from "./results.schema";
2
+ import { ResultsSchema } from "./results.schema.js";
3
3
  export const PaginationSchema = z.object({
4
4
  page: z.number().describe("Current page number"),
5
5
  limit: z.number().describe("Maximum results per page"),
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { ResultsSchema } from "./results.schema";
2
+ import { ResultsSchema } from "./results.schema.js";
3
3
  /**
4
4
  * Schema for partial success responses where some items succeeded and others failed.
5
5
  * Extends ResultsSchema with an errors count field.
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { OkaySchema } from "./okay.schema";
2
+ import { OkaySchema } from "./okay.schema.js";
3
3
  export const ResultSchema = OkaySchema.extend({
4
4
  timestamp: z.string().transform((value) => new Date(value).toISOString()),
5
5
  });
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { ResultSchema } from "./result.schema";
2
+ import { ResultSchema } from "./result.schema.js";
3
3
  export const ResultsSchema = ResultSchema.extend({
4
4
  results: z.number(),
5
5
  });
@@ -1,4 +1,4 @@
1
- import { getHeader } from "./get-header";
1
+ import { getHeader } from "./get-header.js";
2
2
  export function getCorrelationId(request) {
3
3
  const existingId = getHeader(request, "x-correlation-id");
4
4
  if (existingId && typeof existingId === "string" && existingId.length > 0) {
@@ -1,7 +1,7 @@
1
- import { detectImageMimeType } from "./mime-types/detect-image-mime-type";
2
- import { detectOleMimeType } from "./mime-types/detect-ole-mime-type";
3
- import { detectPdfMimeType } from "./mime-types/detect-pdf-mime-type";
4
- import { detectZipMimeType } from "./mime-types/detect-zip-mime-type";
1
+ import { detectImageMimeType } from "./mime-types/detect-image-mime-type.js";
2
+ import { detectOleMimeType } from "./mime-types/detect-ole-mime-type.js";
3
+ import { detectPdfMimeType } from "./mime-types/detect-pdf-mime-type.js";
4
+ import { detectZipMimeType } from "./mime-types/detect-zip-mime-type.js";
5
5
  /**
6
6
  * Detect MIME type from file magic bytes (file signature)
7
7
  *
@@ -1,5 +1,5 @@
1
1
  import { getLogger } from "@schafevormfenster/logging";
2
- import { detectSuspiciousPatternsFromBody } from "./detect-suspicious-patterns";
2
+ import { detectSuspiciousPatternsFromBody } from "./detect-suspicious-patterns.js";
3
3
  const log = getLogger("rest.helpers.parameter-validation");
4
4
  /**
5
5
  * Validates that a string parameter does not contain suspicious patterns
@@ -1,5 +1,5 @@
1
1
  import { getApiSecurityHeaders } from "@schafevormfenster/security";
2
- import { resolveEnvironment } from "./resolve-environment";
2
+ import { resolveEnvironment } from "./resolve-environment.js";
3
3
  /**
4
4
  * Build a consistent set of headers for unauthorized API responses, including
5
5
  * security headers and correlation id propagation.
@@ -1,4 +1,4 @@
1
- import { type Environment } from "./environment.types";
1
+ import { type Environment } from "./environment.types.js";
2
2
  /**
3
3
  * Resolve environment consistently across server/middleware contexts.
4
4
  * - VERCEL_ENV: production | preview | development
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-environment.d.ts","sourceRoot":"","sources":["../../../src/helpers/response-headers/resolve-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,CAShD"}
1
+ {"version":3,"file":"resolve-environment.d.ts","sourceRoot":"","sources":["../../../src/helpers/response-headers/resolve-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,WAAW,CAShD"}
package/dist/index.d.ts CHANGED
@@ -1,34 +1,34 @@
1
- export * from "./api-schemas/error.schema";
2
- export * from "./api-schemas/health.schema";
3
- export * from "./api-schemas/okay.schema";
4
- export * from "./api-schemas/result.schema";
5
- export * from "./api-schemas/results.schema";
6
- export * from "./primitives/location.schema";
7
- export * from "./primitives/slug.schema";
8
- export * from "./primitives/numeric-id.schema";
9
- export * from "./primitives/uuid.schema";
10
- export * from "./primitives/geoname-id.schema";
11
- export * from "./primitives/wikidata-id.schema";
12
- export * from "./primitives/international-zip.schema";
13
- export * from "./time/timezone.types";
14
- export * from "./time/iso8601.schema";
15
- export * from "./time/relative-time.schema";
16
- export * from "./time/flexible-time.schema";
17
- export * from "./time/bounded-time.schema";
18
- export * from "./time/time-helpers";
19
- export * from "./time/is-relative-time";
20
- export { parseFlexibleTime as parseFlexibleTimeAdvanced } from "./time/flexible-time-parser";
21
- export * from "./time/boundary-enforcement";
22
- export * from "./helpers/correlation/get-correlation-id";
23
- export * from "./helpers/correlation/get-header";
24
- export * from "./helpers/detect-mime-type";
25
- export * from "./helpers/detect-suspicious-patterns";
26
- export * from "./helpers/hash-binary";
27
- export * from "./helpers/parameter-validation";
28
- export * from "./helpers/slugify";
29
- export * from "./helpers/response-headers/build-api-unauthorized-headers";
30
- export * from "./helpers/response-headers/environment.types";
31
- export * from "./helpers/response-headers/resolve-environment";
32
- export * from "./normalization/normalize-list";
33
- export * from "./normalization/normalize-location";
1
+ export * from "./api-schemas/error.schema.js";
2
+ export * from "./api-schemas/health.schema.js";
3
+ export * from "./api-schemas/okay.schema.js";
4
+ export * from "./api-schemas/result.schema.js";
5
+ export * from "./api-schemas/results.schema.js";
6
+ export * from "./primitives/location.schema.js";
7
+ export * from "./primitives/slug.schema.js";
8
+ export * from "./primitives/numeric-id.schema.js";
9
+ export * from "./primitives/uuid.schema.js";
10
+ export * from "./primitives/geoname-id.schema.js";
11
+ export * from "./primitives/wikidata-id.schema.js";
12
+ export * from "./primitives/international-zip.schema.js";
13
+ export * from "./time/timezone.types.js";
14
+ export * from "./time/iso8601.schema.js";
15
+ export * from "./time/relative-time.schema.js";
16
+ export * from "./time/flexible-time.schema.js";
17
+ export * from "./time/bounded-time.schema.js";
18
+ export * from "./time/time-helpers.js";
19
+ export * from "./time/is-relative-time.js";
20
+ export { parseFlexibleTime as parseFlexibleTimeAdvanced } from "./time/flexible-time-parser.js";
21
+ export * from "./time/boundary-enforcement.js";
22
+ export * from "./helpers/correlation/get-correlation-id.js";
23
+ export * from "./helpers/correlation/get-header.js";
24
+ export * from "./helpers/detect-mime-type.js";
25
+ export * from "./helpers/detect-suspicious-patterns.js";
26
+ export * from "./helpers/hash-binary.js";
27
+ export * from "./helpers/parameter-validation.js";
28
+ export * from "./helpers/slugify.js";
29
+ export * from "./helpers/response-headers/build-api-unauthorized-headers.js";
30
+ export * from "./helpers/response-headers/environment.types.js";
31
+ export * from "./helpers/response-headers/resolve-environment.js";
32
+ export * from "./normalization/normalize-list.js";
33
+ export * from "./normalization/normalize-location.js";
34
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AAGtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,cAAc,6BAA6B,CAAC;AAG5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2DAA2D,CAAC;AAC1E,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAG/D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChG,cAAc,gCAAgC,CAAC;AAG/C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,8DAA8D,CAAC;AAC7E,cAAc,iDAAiD,CAAC;AAChE,cAAc,mDAAmD,CAAC;AAGlE,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC"}