@cequrebackends/cequre-ts 0.11.4

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 (60) hide show
  1. package/dist/adapters/bun/bun-cron.d.ts +20 -0
  2. package/dist/adapters/bun/bun-media.d.ts +9 -0
  3. package/dist/adapters/bun/bun-redis-cache.d.ts +33 -0
  4. package/dist/adapters/bun/bun-response.d.ts +13 -0
  5. package/dist/adapters/bun/bun-server.d.ts +6 -0
  6. package/dist/adapters/bun/bun-storage.d.ts +10 -0
  7. package/dist/adapters/bun/bun-websocket.d.ts +104 -0
  8. package/dist/adapters/bun/index.d.ts +9 -0
  9. package/dist/adapters/bun/index.js +547 -0
  10. package/dist/adapters/node/index.d.ts +9 -0
  11. package/dist/adapters/node/index.js +902 -0
  12. package/dist/adapters/node/node-cron.d.ts +20 -0
  13. package/dist/adapters/node/node-media.d.ts +9 -0
  14. package/dist/adapters/node/node-redis-cache.d.ts +32 -0
  15. package/dist/adapters/node/node-response.d.ts +13 -0
  16. package/dist/adapters/node/node-server.d.ts +6 -0
  17. package/dist/adapters/node/node-storage.d.ts +10 -0
  18. package/dist/adapters/node/node-websocket.d.ts +102 -0
  19. package/dist/index-17yswtmg.js +175 -0
  20. package/dist/index-kyvy0s1x.js +2662 -0
  21. package/dist/index-mfqj7cwr.js +165 -0
  22. package/dist/index-rf1kdn5b.js +732 -0
  23. package/dist/index.d.ts +18 -0
  24. package/dist/index.js +3152 -0
  25. package/dist/interface-map.d.ts +175 -0
  26. package/dist/shared/core/adapter.d.ts +84 -0
  27. package/dist/shared/core/base-sql-adapter.d.ts +34 -0
  28. package/dist/shared/core/cache.d.ts +8 -0
  29. package/dist/shared/core/email.d.ts +53 -0
  30. package/dist/shared/core/index.d.ts +12 -0
  31. package/dist/shared/core/index.js +47 -0
  32. package/dist/shared/core/openapi.d.ts +24 -0
  33. package/dist/shared/core/plugins.d.ts +2 -0
  34. package/dist/shared/core/request.d.ts +32 -0
  35. package/dist/shared/core/sdk.d.ts +3 -0
  36. package/dist/shared/core/stream.d.ts +24 -0
  37. package/dist/shared/core/types-generator.d.ts +0 -0
  38. package/dist/shared/core/types.d.ts +304 -0
  39. package/dist/shared/core/ulid.d.ts +5 -0
  40. package/dist/shared/core/validator.d.ts +32 -0
  41. package/dist/shared/main/access-evaluator.d.ts +13 -0
  42. package/dist/shared/main/access.d.ts +34 -0
  43. package/dist/shared/main/aot.d.ts +3 -0
  44. package/dist/shared/main/hooks.d.ts +76 -0
  45. package/dist/shared/main/population.d.ts +13 -0
  46. package/dist/shared/main/router.d.ts +112 -0
  47. package/dist/shared/main/runtime.d.ts +195 -0
  48. package/dist/shared/main/sse.d.ts +87 -0
  49. package/dist/shared/utils/crypto.d.ts +23 -0
  50. package/dist/shared/utils/durable-queue.d.ts +20 -0
  51. package/dist/shared/utils/duration.d.ts +15 -0
  52. package/dist/shared/utils/error.d.ts +52 -0
  53. package/dist/shared/utils/kv/adapters/memory.d.ts +20 -0
  54. package/dist/shared/utils/kv/adapters/sqlite.d.ts +32 -0
  55. package/dist/shared/utils/kv/index.d.ts +37 -0
  56. package/dist/shared/utils/kv/types.d.ts +38 -0
  57. package/dist/shared/utils/logger.d.ts +42 -0
  58. package/dist/shared/utils/queue-manager.d.ts +64 -0
  59. package/dist/shared/utils/url.d.ts +13 -0
  60. package/package.json +63 -0
@@ -0,0 +1,165 @@
1
+ // @bun
2
+ // adapters/bun/bun-response.ts
3
+ var UPGRADED = Symbol("cequre.bun.upgraded");
4
+ var JSON_CONTENT_TYPE = "application/json";
5
+ var DEFAULT_JSON_HEADERS = { "Content-Type": JSON_CONTENT_TYPE };
6
+ function mergeHeaders(init, headers) {
7
+ const merged = new Headers(init?.headers);
8
+ if (headers) {
9
+ for (const [key, value] of new Headers(headers)) {
10
+ merged.set(key, value);
11
+ }
12
+ }
13
+ return merged;
14
+ }
15
+ function json(data, init = {}) {
16
+ if (!init.headers && init.status === undefined && init.statusText === undefined) {
17
+ return new Response(JSON.stringify(data), { headers: DEFAULT_JSON_HEADERS });
18
+ }
19
+ const headers = mergeHeaders(init, { "Content-Type": JSON_CONTENT_TYPE });
20
+ return new Response(JSON.stringify(data), { ...init, headers });
21
+ }
22
+ function empty(status = 204, init = {}) {
23
+ return new Response(null, { ...init, status });
24
+ }
25
+ function redirect(location, status = 302, init = {}) {
26
+ const headers = mergeHeaders(init, { Location: location });
27
+ return new Response(null, { ...init, status, headers });
28
+ }
29
+ function error(message, status = 500, code = "INTERNAL_ERROR", init = {}) {
30
+ return json({
31
+ error: code,
32
+ message
33
+ }, { ...init, status });
34
+ }
35
+ function notFound(message = "Not found") {
36
+ return error(message, 404, "NOT_FOUND");
37
+ }
38
+ function methodNotAllowed(allowedMethods) {
39
+ return error("Method not allowed", 405, "METHOD_NOT_ALLOWED", {
40
+ headers: { Allow: allowedMethods.join(", ") }
41
+ });
42
+ }
43
+ function file(file2, init = {}) {
44
+ if (typeof file2 === "string") {
45
+ return new Response(Bun.file(file2), init);
46
+ }
47
+ if (file2 instanceof Uint8Array) {
48
+ return new Response(new Uint8Array(file2).buffer, init);
49
+ }
50
+ return new Response(file2, init);
51
+ }
52
+ function stream(data, init = {}) {
53
+ if (data instanceof ReadableStream) {
54
+ const headers2 = mergeHeaders(init, { "Content-Type": "text/plain" });
55
+ return new Response(data, { ...init, headers: headers2 });
56
+ }
57
+ const iterator = Symbol.asyncIterator in data ? data[Symbol.asyncIterator]() : data[Symbol.iterator]();
58
+ const encoder = new TextEncoder;
59
+ const readable = new ReadableStream({
60
+ async pull(controller) {
61
+ try {
62
+ const { value, done } = await iterator.next();
63
+ if (done) {
64
+ controller.close();
65
+ } else {
66
+ let chunk = value;
67
+ if (typeof chunk !== "string" && !(chunk instanceof Uint8Array)) {
68
+ chunk = JSON.stringify(chunk) + `
69
+ `;
70
+ }
71
+ if (typeof chunk === "string") {
72
+ chunk = encoder.encode(chunk);
73
+ }
74
+ controller.enqueue(chunk);
75
+ }
76
+ } catch (err) {
77
+ if (typeof iterator.return === "function") {
78
+ try {
79
+ await iterator.return();
80
+ } catch {}
81
+ }
82
+ controller.error(err);
83
+ }
84
+ },
85
+ cancel() {
86
+ if (typeof iterator.return === "function") {
87
+ iterator.return();
88
+ }
89
+ }
90
+ });
91
+ const headers = mergeHeaders(init, { "Content-Type": "text/plain" });
92
+ return new Response(readable, { ...init, headers });
93
+ }
94
+ function toResponse(result) {
95
+ if (result === UPGRADED)
96
+ return;
97
+ if (result instanceof Response)
98
+ return result;
99
+ if (result === undefined)
100
+ return empty();
101
+ if (typeof result === "string")
102
+ return new Response(result);
103
+ if (result !== null && typeof result === "object") {
104
+ if (typeof result.next === "function" && ((Symbol.asyncIterator in result) || (Symbol.iterator in result))) {
105
+ return stream(result);
106
+ }
107
+ }
108
+ return json(result);
109
+ }
110
+ function routeErrorToResponse(errorValue, request) {
111
+ console.error("Cequre Unhandled Route Error:", errorValue);
112
+ const message = errorValue instanceof Error ? errorValue.message : String(errorValue);
113
+ return error(message, 500, "INTERNAL_ERROR", {
114
+ headers: request ? { "X-Cequre-Path": new URL(request.url).pathname } : undefined
115
+ });
116
+ }
117
+
118
+ // adapters/bun/bun-media.ts
119
+ function CequreStreamMedia(request, absolutePathOrUrl, options = {}) {
120
+ const provider = options.provider || "local";
121
+ if (provider === "s3") {
122
+ return new Response(null, {
123
+ status: 302,
124
+ headers: {
125
+ Location: absolutePathOrUrl
126
+ }
127
+ });
128
+ }
129
+ const file2 = Bun.file(absolutePathOrUrl);
130
+ const rangeHeader = request.headers.get("Range");
131
+ const maxChunkSize = options.maxChunkSize || 1024 * 1024 * 2;
132
+ if (!rangeHeader) {
133
+ return new Response(file2);
134
+ }
135
+ const parts = rangeHeader.replace(/bytes=/, "").split("-");
136
+ const reqStart = parseInt(parts[0], 10);
137
+ const reqEnd = parts[1] ? parseInt(parts[1], 10) : file2.size - 1;
138
+ if (isNaN(reqStart) || reqStart >= file2.size) {
139
+ return new Response("Requested range not satisfiable", {
140
+ status: 416,
141
+ headers: {
142
+ "Content-Range": `bytes */${file2.size}`
143
+ }
144
+ });
145
+ }
146
+ let end = reqEnd;
147
+ if (end - reqStart + 1 > maxChunkSize) {
148
+ end = reqStart + maxChunkSize - 1;
149
+ }
150
+ if (end >= file2.size) {
151
+ end = file2.size - 1;
152
+ }
153
+ const chunk = file2.slice(reqStart, end + 1);
154
+ return new Response(chunk, {
155
+ status: 206,
156
+ headers: {
157
+ "Content-Range": `bytes ${reqStart}-${end}/${file2.size}`,
158
+ "Accept-Ranges": "bytes",
159
+ "Content-Length": chunk.size.toString(),
160
+ "Content-Type": file2.type || "application/octet-stream"
161
+ }
162
+ });
163
+ }
164
+
165
+ export { UPGRADED, json, empty, redirect, error, notFound, methodNotAllowed, file, stream, toResponse, routeErrorToResponse, CequreStreamMedia };