@fluixi/storage 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -0
  3. package/dist/adapters/memory.cjs +46 -0
  4. package/dist/adapters/memory.d.ts +8 -0
  5. package/dist/adapters/memory.d.ts.map +1 -0
  6. package/dist/adapters/memory.js +26 -0
  7. package/dist/adapters/memory.mjs +25 -0
  8. package/dist/browser/document-cookie.cjs +101 -0
  9. package/dist/browser/document-cookie.d.ts +14 -0
  10. package/dist/browser/document-cookie.d.ts.map +1 -0
  11. package/dist/browser/document-cookie.js +53 -0
  12. package/dist/browser/document-cookie.mjs +80 -0
  13. package/dist/browser/index.cjs +209 -0
  14. package/dist/browser/index.d.ts +4 -0
  15. package/dist/browser/index.d.ts.map +1 -0
  16. package/dist/browser/index.js +3 -0
  17. package/dist/browser/index.mjs +187 -0
  18. package/dist/browser/web-storage.cjs +150 -0
  19. package/dist/browser/web-storage.d.ts +6 -0
  20. package/dist/browser/web-storage.d.ts.map +1 -0
  21. package/dist/browser/web-storage.js +105 -0
  22. package/dist/browser/web-storage.mjs +127 -0
  23. package/dist/core/async-storage.cjs +583 -0
  24. package/dist/core/async-storage.d.ts +17 -0
  25. package/dist/core/async-storage.d.ts.map +1 -0
  26. package/dist/core/async-storage.js +275 -0
  27. package/dist/core/async-storage.mjs +560 -0
  28. package/dist/core/bus.cjs +52 -0
  29. package/dist/core/bus.d.ts +19 -0
  30. package/dist/core/bus.d.ts.map +1 -0
  31. package/dist/core/bus.js +31 -0
  32. package/dist/core/bus.mjs +31 -0
  33. package/dist/core/envelope.cjs +119 -0
  34. package/dist/core/envelope.d.ts +38 -0
  35. package/dist/core/envelope.d.ts.map +1 -0
  36. package/dist/core/envelope.js +83 -0
  37. package/dist/core/envelope.mjs +96 -0
  38. package/dist/core/errors.cjs +115 -0
  39. package/dist/core/errors.d.ts +109 -0
  40. package/dist/core/errors.d.ts.map +1 -0
  41. package/dist/core/errors.js +99 -0
  42. package/dist/core/errors.mjs +94 -0
  43. package/dist/core/storage.cjs +782 -0
  44. package/dist/core/storage.d.ts +63 -0
  45. package/dist/core/storage.d.ts.map +1 -0
  46. package/dist/core/storage.js +260 -0
  47. package/dist/core/storage.mjs +759 -0
  48. package/dist/core/types.cjs +18 -0
  49. package/dist/core/types.d.ts +239 -0
  50. package/dist/core/types.d.ts.map +1 -0
  51. package/dist/core/types.js +1 -0
  52. package/dist/core/types.mjs +0 -0
  53. package/dist/encryption/base64.cjs +38 -0
  54. package/dist/encryption/base64.d.ts +4 -0
  55. package/dist/encryption/base64.d.ts.map +1 -0
  56. package/dist/encryption/base64.js +16 -0
  57. package/dist/encryption/base64.mjs +17 -0
  58. package/dist/encryption/keys.cjs +77 -0
  59. package/dist/encryption/keys.d.ts +14 -0
  60. package/dist/encryption/keys.d.ts.map +1 -0
  61. package/dist/encryption/keys.js +28 -0
  62. package/dist/encryption/keys.mjs +54 -0
  63. package/dist/encryption/seal.cjs +154 -0
  64. package/dist/encryption/seal.d.ts +24 -0
  65. package/dist/encryption/seal.d.ts.map +1 -0
  66. package/dist/encryption/seal.js +83 -0
  67. package/dist/encryption/seal.mjs +131 -0
  68. package/dist/encryption/types.cjs +18 -0
  69. package/dist/encryption/types.d.ts +50 -0
  70. package/dist/encryption/types.d.ts.map +1 -0
  71. package/dist/encryption/types.js +1 -0
  72. package/dist/encryption/types.mjs +0 -0
  73. package/dist/encryption/web-crypto.cjs +81 -0
  74. package/dist/encryption/web-crypto.d.ts +9 -0
  75. package/dist/encryption/web-crypto.d.ts.map +1 -0
  76. package/dist/encryption/web-crypto.js +45 -0
  77. package/dist/encryption/web-crypto.mjs +58 -0
  78. package/dist/index.cjs +870 -0
  79. package/dist/index.d.ts +16 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +13 -0
  82. package/dist/index.mjs +848 -0
  83. package/dist/serialization/json.cjs +83 -0
  84. package/dist/serialization/json.d.ts +3 -0
  85. package/dist/serialization/json.d.ts.map +1 -0
  86. package/dist/serialization/json.js +51 -0
  87. package/dist/serialization/json.mjs +60 -0
  88. package/dist/serialization/serializer.cjs +28 -0
  89. package/dist/serialization/serializer.d.ts +4 -0
  90. package/dist/serialization/serializer.d.ts.map +1 -0
  91. package/dist/serialization/serializer.js +4 -0
  92. package/dist/serialization/serializer.mjs +7 -0
  93. package/dist/server/contracts.cjs +36 -0
  94. package/dist/server/contracts.d.ts +27 -0
  95. package/dist/server/contracts.d.ts.map +1 -0
  96. package/dist/server/contracts.js +16 -0
  97. package/dist/server/contracts.mjs +15 -0
  98. package/dist/server/cookie.cjs +126 -0
  99. package/dist/server/cookie.d.ts +21 -0
  100. package/dist/server/cookie.d.ts.map +1 -0
  101. package/dist/server/cookie.js +71 -0
  102. package/dist/server/cookie.mjs +105 -0
  103. package/dist/server/index.cjs +155 -0
  104. package/dist/server/index.d.ts +5 -0
  105. package/dist/server/index.d.ts.map +1 -0
  106. package/dist/server/index.js +4 -0
  107. package/dist/server/index.mjs +133 -0
  108. package/dist/server/request.cjs +46 -0
  109. package/dist/server/request.d.ts +7 -0
  110. package/dist/server/request.d.ts.map +1 -0
  111. package/dist/server/request.js +25 -0
  112. package/dist/server/request.mjs +25 -0
  113. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  114. package/dist/utils/cookie-names.cjs +38 -0
  115. package/dist/utils/cookie-names.d.ts +10 -0
  116. package/dist/utils/cookie-names.d.ts.map +1 -0
  117. package/dist/utils/cookie-names.js +15 -0
  118. package/dist/utils/cookie-names.mjs +17 -0
  119. package/dist/utils/copy.cjs +38 -0
  120. package/dist/utils/copy.d.ts +17 -0
  121. package/dist/utils/copy.d.ts.map +1 -0
  122. package/dist/utils/copy.js +15 -0
  123. package/dist/utils/copy.mjs +17 -0
  124. package/dist/utils/environment.cjs +28 -0
  125. package/dist/utils/environment.d.ts +3 -0
  126. package/dist/utils/environment.d.ts.map +1 -0
  127. package/dist/utils/environment.js +4 -0
  128. package/dist/utils/environment.mjs +7 -0
  129. package/dist/utils/keys.cjs +33 -0
  130. package/dist/utils/keys.d.ts +5 -0
  131. package/dist/utils/keys.d.ts.map +1 -0
  132. package/dist/utils/keys.js +10 -0
  133. package/dist/utils/keys.mjs +12 -0
  134. package/package.json +61 -0
@@ -0,0 +1,105 @@
1
+ // src/server/cookie.ts
2
+ import { parseCookies, serializeCookie } from "@fluixi/utils/cookie";
3
+
4
+ // src/core/errors.ts
5
+ var StorageError = class extends Error {
6
+ constructor(code, message, options = {}) {
7
+ super(message);
8
+ this.name = new.target.name;
9
+ this.code = code;
10
+ this.key = options.key;
11
+ if (options.cause !== void 0) this.cause = options.cause;
12
+ }
13
+ };
14
+ var StorageUnavailableError = class extends StorageError {
15
+ constructor(message, options = {}) {
16
+ super("unavailable", message, options);
17
+ }
18
+ };
19
+ var StorageQuotaError = class extends StorageError {
20
+ constructor(message, options = {}) {
21
+ super("quota", message, options);
22
+ }
23
+ };
24
+
25
+ // src/utils/cookie-names.ts
26
+ var encodeCookieName = (key) => encodeURIComponent(key).replace(/[()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
27
+ var decodeCookieName = (name) => {
28
+ try {
29
+ return decodeURIComponent(name);
30
+ } catch {
31
+ return name;
32
+ }
33
+ };
34
+ var cookiePairSize = (header) => new TextEncoder().encode(header.slice(0, header.indexOf(";"))).length;
35
+ var withEntryExpiry = (cookie, expiresAt) => expiresAt === void 0 ? cookie : { ...cookie, maxAge: void 0, expires: new Date(expiresAt) };
36
+
37
+ // src/server/contracts.ts
38
+ function toStorageRequest(request) {
39
+ if ("getHeader" in request) return request;
40
+ const headers = "headers" in request ? request.headers : request;
41
+ return { getHeader: (name) => headers.get(name) };
42
+ }
43
+ function toStorageResponse(response) {
44
+ if ("appendHeader" in response) return response;
45
+ const headers = "headers" in response ? response.headers : response;
46
+ return { appendHeader: (name, value) => headers.append(name, value) };
47
+ }
48
+
49
+ // src/server/cookie.ts
50
+ function cookieStorage(options = {}) {
51
+ const { request, response, maxSize = 4096, ...cookie } = options;
52
+ const reader = request ? toStorageRequest(request) : null;
53
+ const writer = response ? toStorageResponse(response) : null;
54
+ let incoming = null;
55
+ const written = /* @__PURE__ */ new Map();
56
+ const read = () => {
57
+ if (!incoming) {
58
+ incoming = /* @__PURE__ */ new Map();
59
+ for (const [name, value] of Object.entries(parseCookies(reader?.getHeader("cookie")))) incoming.set(decodeCookieName(name), value);
60
+ }
61
+ return incoming;
62
+ };
63
+ const emit = (key, header) => {
64
+ if (!writer) throw new StorageUnavailableError("This cookie storage has no response to write to.", { key });
65
+ writer.appendHeader("set-cookie", header);
66
+ };
67
+ const get = (key) => written.has(key) ? written.get(key) : read().get(key) ?? null;
68
+ const keys = () => {
69
+ const all = new Set(read().keys());
70
+ for (const [key, value] of written) value === null ? all.delete(key) : all.add(key);
71
+ return [...all];
72
+ };
73
+ const remove = (key) => {
74
+ if (get(key) === null) return;
75
+ emit(key, serializeCookie(encodeCookieName(key), "", { ...cookie, maxAge: 0, expires: /* @__PURE__ */ new Date(0) }));
76
+ written.set(key, null);
77
+ };
78
+ return {
79
+ name: "cookie",
80
+ scope: "cookie",
81
+ capabilities: {
82
+ synchronous: true,
83
+ persistent: true,
84
+ reactive: false,
85
+ crossContext: true,
86
+ expiration: false,
87
+ transactions: false
88
+ },
89
+ get,
90
+ set(key, value, writeOptions) {
91
+ const header = serializeCookie(encodeCookieName(key), value, withEntryExpiry(cookie, writeOptions?.expiresAt));
92
+ const size = cookiePairSize(header);
93
+ if (size > maxSize) throw new StorageQuotaError(`Cookie ${key} is ${size} bytes, over the ${maxSize} limit.`, { key });
94
+ emit(key, header);
95
+ written.set(key, value);
96
+ },
97
+ remove,
98
+ has: (key) => get(key) !== null,
99
+ keys,
100
+ clear: () => keys().forEach(remove)
101
+ };
102
+ }
103
+ export {
104
+ cookieStorage
105
+ };
@@ -0,0 +1,155 @@
1
+ /*! @fluixi/storage v0.1.0-alpha.0 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/server/index.ts
22
+ var index_exports = {};
23
+ __export(index_exports, {
24
+ cookieStorage: () => cookieStorage,
25
+ requestStorage: () => requestStorage,
26
+ toStorageRequest: () => toStorageRequest,
27
+ toStorageResponse: () => toStorageResponse
28
+ });
29
+ module.exports = __toCommonJS(index_exports);
30
+
31
+ // src/server/cookie.ts
32
+ var import_cookie = require("@fluixi/utils/cookie");
33
+
34
+ // src/core/errors.ts
35
+ var StorageError = class extends Error {
36
+ constructor(code, message, options = {}) {
37
+ super(message);
38
+ this.name = new.target.name;
39
+ this.code = code;
40
+ this.key = options.key;
41
+ if (options.cause !== void 0) this.cause = options.cause;
42
+ }
43
+ };
44
+ var StorageUnavailableError = class extends StorageError {
45
+ constructor(message, options = {}) {
46
+ super("unavailable", message, options);
47
+ }
48
+ };
49
+ var StorageQuotaError = class extends StorageError {
50
+ constructor(message, options = {}) {
51
+ super("quota", message, options);
52
+ }
53
+ };
54
+
55
+ // src/utils/cookie-names.ts
56
+ var encodeCookieName = (key) => encodeURIComponent(key).replace(/[()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
57
+ var decodeCookieName = (name) => {
58
+ try {
59
+ return decodeURIComponent(name);
60
+ } catch {
61
+ return name;
62
+ }
63
+ };
64
+ var cookiePairSize = (header) => new TextEncoder().encode(header.slice(0, header.indexOf(";"))).length;
65
+ var withEntryExpiry = (cookie, expiresAt) => expiresAt === void 0 ? cookie : { ...cookie, maxAge: void 0, expires: new Date(expiresAt) };
66
+
67
+ // src/server/contracts.ts
68
+ function toStorageRequest(request) {
69
+ if ("getHeader" in request) return request;
70
+ const headers = "headers" in request ? request.headers : request;
71
+ return { getHeader: (name) => headers.get(name) };
72
+ }
73
+ function toStorageResponse(response) {
74
+ if ("appendHeader" in response) return response;
75
+ const headers = "headers" in response ? response.headers : response;
76
+ return { appendHeader: (name, value) => headers.append(name, value) };
77
+ }
78
+
79
+ // src/server/cookie.ts
80
+ function cookieStorage(options = {}) {
81
+ const { request, response, maxSize = 4096, ...cookie } = options;
82
+ const reader = request ? toStorageRequest(request) : null;
83
+ const writer = response ? toStorageResponse(response) : null;
84
+ let incoming = null;
85
+ const written = /* @__PURE__ */ new Map();
86
+ const read = () => {
87
+ if (!incoming) {
88
+ incoming = /* @__PURE__ */ new Map();
89
+ for (const [name, value] of Object.entries((0, import_cookie.parseCookies)(reader?.getHeader("cookie")))) incoming.set(decodeCookieName(name), value);
90
+ }
91
+ return incoming;
92
+ };
93
+ const emit = (key, header) => {
94
+ if (!writer) throw new StorageUnavailableError("This cookie storage has no response to write to.", { key });
95
+ writer.appendHeader("set-cookie", header);
96
+ };
97
+ const get = (key) => written.has(key) ? written.get(key) : read().get(key) ?? null;
98
+ const keys = () => {
99
+ const all = new Set(read().keys());
100
+ for (const [key, value] of written) value === null ? all.delete(key) : all.add(key);
101
+ return [...all];
102
+ };
103
+ const remove = (key) => {
104
+ if (get(key) === null) return;
105
+ emit(key, (0, import_cookie.serializeCookie)(encodeCookieName(key), "", { ...cookie, maxAge: 0, expires: /* @__PURE__ */ new Date(0) }));
106
+ written.set(key, null);
107
+ };
108
+ return {
109
+ name: "cookie",
110
+ scope: "cookie",
111
+ capabilities: {
112
+ synchronous: true,
113
+ persistent: true,
114
+ reactive: false,
115
+ crossContext: true,
116
+ expiration: false,
117
+ transactions: false
118
+ },
119
+ get,
120
+ set(key, value, writeOptions) {
121
+ const header = (0, import_cookie.serializeCookie)(encodeCookieName(key), value, withEntryExpiry(cookie, writeOptions?.expiresAt));
122
+ const size = cookiePairSize(header);
123
+ if (size > maxSize) throw new StorageQuotaError(`Cookie ${key} is ${size} bytes, over the ${maxSize} limit.`, { key });
124
+ emit(key, header);
125
+ written.set(key, value);
126
+ },
127
+ remove,
128
+ has: (key) => get(key) !== null,
129
+ keys,
130
+ clear: () => keys().forEach(remove)
131
+ };
132
+ }
133
+
134
+ // src/server/request.ts
135
+ function requestStorage() {
136
+ const values = /* @__PURE__ */ new Map();
137
+ return {
138
+ name: "request",
139
+ scope: "request",
140
+ capabilities: {
141
+ synchronous: true,
142
+ persistent: false,
143
+ reactive: false,
144
+ crossContext: false,
145
+ expiration: false,
146
+ transactions: false
147
+ },
148
+ get: (key) => values.get(key) ?? null,
149
+ set: (key, value) => void values.set(key, value),
150
+ remove: (key) => void values.delete(key),
151
+ has: (key) => values.has(key),
152
+ keys: () => [...values.keys()],
153
+ clear: () => values.clear()
154
+ };
155
+ }
@@ -0,0 +1,5 @@
1
+ /** Server adapters. A separate entry, so a browser bundle never loads them. */
2
+ export { cookieStorage, type CookieStorageOptions } from './cookie.js';
3
+ export { requestStorage } from './request.js';
4
+ export { toStorageRequest, toStorageResponse, type StorageRequest, type StorageResponse, type RequestLike, type ResponseLike, } from './contracts.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Server adapters. A separate entry, so a browser bundle never loads them. */
2
+ export { cookieStorage } from './cookie.js';
3
+ export { requestStorage } from './request.js';
4
+ export { toStorageRequest, toStorageResponse, } from './contracts.js';
@@ -0,0 +1,133 @@
1
+ /*! @fluixi/storage v0.1.0-alpha.0 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
+
3
+ // src/server/cookie.ts
4
+ import { parseCookies, serializeCookie } from "@fluixi/utils/cookie";
5
+
6
+ // src/core/errors.ts
7
+ var StorageError = class extends Error {
8
+ constructor(code, message, options = {}) {
9
+ super(message);
10
+ this.name = new.target.name;
11
+ this.code = code;
12
+ this.key = options.key;
13
+ if (options.cause !== void 0) this.cause = options.cause;
14
+ }
15
+ };
16
+ var StorageUnavailableError = class extends StorageError {
17
+ constructor(message, options = {}) {
18
+ super("unavailable", message, options);
19
+ }
20
+ };
21
+ var StorageQuotaError = class extends StorageError {
22
+ constructor(message, options = {}) {
23
+ super("quota", message, options);
24
+ }
25
+ };
26
+
27
+ // src/utils/cookie-names.ts
28
+ var encodeCookieName = (key) => encodeURIComponent(key).replace(/[()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
29
+ var decodeCookieName = (name) => {
30
+ try {
31
+ return decodeURIComponent(name);
32
+ } catch {
33
+ return name;
34
+ }
35
+ };
36
+ var cookiePairSize = (header) => new TextEncoder().encode(header.slice(0, header.indexOf(";"))).length;
37
+ var withEntryExpiry = (cookie, expiresAt) => expiresAt === void 0 ? cookie : { ...cookie, maxAge: void 0, expires: new Date(expiresAt) };
38
+
39
+ // src/server/contracts.ts
40
+ function toStorageRequest(request) {
41
+ if ("getHeader" in request) return request;
42
+ const headers = "headers" in request ? request.headers : request;
43
+ return { getHeader: (name) => headers.get(name) };
44
+ }
45
+ function toStorageResponse(response) {
46
+ if ("appendHeader" in response) return response;
47
+ const headers = "headers" in response ? response.headers : response;
48
+ return { appendHeader: (name, value) => headers.append(name, value) };
49
+ }
50
+
51
+ // src/server/cookie.ts
52
+ function cookieStorage(options = {}) {
53
+ const { request, response, maxSize = 4096, ...cookie } = options;
54
+ const reader = request ? toStorageRequest(request) : null;
55
+ const writer = response ? toStorageResponse(response) : null;
56
+ let incoming = null;
57
+ const written = /* @__PURE__ */ new Map();
58
+ const read = () => {
59
+ if (!incoming) {
60
+ incoming = /* @__PURE__ */ new Map();
61
+ for (const [name, value] of Object.entries(parseCookies(reader?.getHeader("cookie")))) incoming.set(decodeCookieName(name), value);
62
+ }
63
+ return incoming;
64
+ };
65
+ const emit = (key, header) => {
66
+ if (!writer) throw new StorageUnavailableError("This cookie storage has no response to write to.", { key });
67
+ writer.appendHeader("set-cookie", header);
68
+ };
69
+ const get = (key) => written.has(key) ? written.get(key) : read().get(key) ?? null;
70
+ const keys = () => {
71
+ const all = new Set(read().keys());
72
+ for (const [key, value] of written) value === null ? all.delete(key) : all.add(key);
73
+ return [...all];
74
+ };
75
+ const remove = (key) => {
76
+ if (get(key) === null) return;
77
+ emit(key, serializeCookie(encodeCookieName(key), "", { ...cookie, maxAge: 0, expires: /* @__PURE__ */ new Date(0) }));
78
+ written.set(key, null);
79
+ };
80
+ return {
81
+ name: "cookie",
82
+ scope: "cookie",
83
+ capabilities: {
84
+ synchronous: true,
85
+ persistent: true,
86
+ reactive: false,
87
+ crossContext: true,
88
+ expiration: false,
89
+ transactions: false
90
+ },
91
+ get,
92
+ set(key, value, writeOptions) {
93
+ const header = serializeCookie(encodeCookieName(key), value, withEntryExpiry(cookie, writeOptions?.expiresAt));
94
+ const size = cookiePairSize(header);
95
+ if (size > maxSize) throw new StorageQuotaError(`Cookie ${key} is ${size} bytes, over the ${maxSize} limit.`, { key });
96
+ emit(key, header);
97
+ written.set(key, value);
98
+ },
99
+ remove,
100
+ has: (key) => get(key) !== null,
101
+ keys,
102
+ clear: () => keys().forEach(remove)
103
+ };
104
+ }
105
+
106
+ // src/server/request.ts
107
+ function requestStorage() {
108
+ const values = /* @__PURE__ */ new Map();
109
+ return {
110
+ name: "request",
111
+ scope: "request",
112
+ capabilities: {
113
+ synchronous: true,
114
+ persistent: false,
115
+ reactive: false,
116
+ crossContext: false,
117
+ expiration: false,
118
+ transactions: false
119
+ },
120
+ get: (key) => values.get(key) ?? null,
121
+ set: (key, value) => void values.set(key, value),
122
+ remove: (key) => void values.delete(key),
123
+ has: (key) => values.has(key),
124
+ keys: () => [...values.keys()],
125
+ clear: () => values.clear()
126
+ };
127
+ }
128
+ export {
129
+ cookieStorage,
130
+ requestStorage,
131
+ toStorageRequest,
132
+ toStorageResponse
133
+ };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/server/request.ts
21
+ var request_exports = {};
22
+ __export(request_exports, {
23
+ requestStorage: () => requestStorage
24
+ });
25
+ module.exports = __toCommonJS(request_exports);
26
+ function requestStorage() {
27
+ const values = /* @__PURE__ */ new Map();
28
+ return {
29
+ name: "request",
30
+ scope: "request",
31
+ capabilities: {
32
+ synchronous: true,
33
+ persistent: false,
34
+ reactive: false,
35
+ crossContext: false,
36
+ expiration: false,
37
+ transactions: false
38
+ },
39
+ get: (key) => values.get(key) ?? null,
40
+ set: (key, value) => void values.set(key, value),
41
+ remove: (key) => void values.delete(key),
42
+ has: (key) => values.has(key),
43
+ keys: () => [...values.keys()],
44
+ clear: () => values.clear()
45
+ };
46
+ }
@@ -0,0 +1,7 @@
1
+ import type { StorageAdapter } from '../core/types.js';
2
+ /**
3
+ * Values for the length of one request: what a loader computes and a later step reads, without a
4
+ * process-wide Map that would leak between requests. Call it once per request and drop it after.
5
+ */
6
+ export declare function requestStorage(): StorageAdapter;
7
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,cAAc,CAoB/C"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Values for the length of one request: what a loader computes and a later step reads, without a
3
+ * process-wide Map that would leak between requests. Call it once per request and drop it after.
4
+ */
5
+ export function requestStorage() {
6
+ const values = new Map();
7
+ return {
8
+ name: 'request',
9
+ scope: 'request',
10
+ capabilities: {
11
+ synchronous: true,
12
+ persistent: false,
13
+ reactive: false,
14
+ crossContext: false,
15
+ expiration: false,
16
+ transactions: false,
17
+ },
18
+ get: (key) => values.get(key) ?? null,
19
+ set: (key, value) => void values.set(key, value),
20
+ remove: (key) => void values.delete(key),
21
+ has: (key) => values.has(key),
22
+ keys: () => [...values.keys()],
23
+ clear: () => values.clear(),
24
+ };
25
+ }
@@ -0,0 +1,25 @@
1
+ // src/server/request.ts
2
+ function requestStorage() {
3
+ const values = /* @__PURE__ */ new Map();
4
+ return {
5
+ name: "request",
6
+ scope: "request",
7
+ capabilities: {
8
+ synchronous: true,
9
+ persistent: false,
10
+ reactive: false,
11
+ crossContext: false,
12
+ expiration: false,
13
+ transactions: false
14
+ },
15
+ get: (key) => values.get(key) ?? null,
16
+ set: (key, value) => void values.set(key, value),
17
+ remove: (key) => void values.delete(key),
18
+ has: (key) => values.has(key),
19
+ keys: () => [...values.keys()],
20
+ clear: () => values.clear()
21
+ };
22
+ }
23
+ export {
24
+ requestStorage
25
+ };
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/modules/index.d.ts","../src/encryption/types.ts","../src/core/types.ts","../src/adapters/memory.ts","../src/core/errors.ts","../src/serialization/json.ts","../src/utils/keys.ts","../src/encryption/base64.ts","../src/encryption/seal.ts","../src/encryption/web-crypto.ts","../src/core/envelope.ts","../src/core/bus.ts","../src/core/async-storage.ts","../src/core/storage.ts","../src/encryption/keys.ts","../src/serialization/serializer.ts","../src/utils/copy.ts","../src/index.ts","../../utils/dist/lib/cookie/codec.d.ts","../../utils/dist/lib/cookie/index.d.ts","../src/utils/cookie-names.ts","../src/browser/document-cookie.ts","../src/utils/environment.ts","../src/browser/web-storage.ts","../src/browser/index.ts","../src/server/contracts.ts","../src/server/cookie.ts","../src/server/request.ts","../src/server/index.ts"],"fileIdsList":[[53],[54,56],[54,56,58,73,74],[54,75,77],[54,56,58,76],[54,56,57,58,59,60,62,63,64,65],[54,56,58,62],[54],[54,55,56,57,58,59,60,64,65,66],[54,55],[54,55,58,61],[54,55,58],[54,55,56,57,58,59,63,66,67,68,69,70],[54,56,58],[54,56,58,73,74,79],[54,79,80,81],[72]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"faa4bb125c492ec1f957c2c39d5ffd7e9cf63065908289dfc91432c4fad774e7","signature":"c984275b400d9fd0c328d720042f80aebd8cdb16c80832e9d8ed6231532cf471","impliedFormat":99},{"version":"598c955538341968017ca818f7e38cf8ec7df4fe96a13af8f42d974bcee88c9f","signature":"c68ea7c30757b17a31cafdc9aabca021d7e3b7339ea3bb22d3301d0afe01c7ae","impliedFormat":99},{"version":"131d7d98851670091b2117e31039b6080057746126186b66aa08589869012376","signature":"1de2de53329350c8f5f40f7fd839fbdcd0e56ce56cc0419cc4c296b33692470d","impliedFormat":99},{"version":"734f153927feb2ab3211ed251fa3c624470a1a93cd1f310d7a6a5c4609b30fb9","signature":"d9b91e61f6fe1bb414fbe993a5b4c3cdc44199447d8981f0449adf1d3c90558a","impliedFormat":99},{"version":"40396434bc25a6df4a3402ec456e07bfc8cc0483b336e1102c1d6c4f3a45d995","signature":"66a898f8685d4a7decd820b24dd650f9134f08fba6ebf3c5ed13b02c35216a3e","impliedFormat":99},{"version":"df422c5fab5ed80eee114d2c091ab8ce15a6fb2c18f88f5c7331f88d1e74051f","signature":"9217b7b2370a9cad92af89ae19bd65cea579ec2641ed823886331d211243b5e7","impliedFormat":99},{"version":"c69ca0185c53612c764eb46c853de0779d9794c909ce46ae68e7de1220dfcefa","signature":"8341f363e0a9562ee9bf8735a1badd4415707d845c699a3240be14c2129acb23","impliedFormat":99},{"version":"939f1dd2d93cf526e34051dd6b78bed4c23e834c87d2da82f776b20e61a78f44","signature":"218346fc8b41f0be7c3036879c60d52834dc0e1f8fddb22c0ad2ed7940a1ce55","impliedFormat":99},{"version":"29c9d2fba21a896fbf9236ad160e9526b0b3fd0510d71ff8cf1a03ad7cb4018d","signature":"ac0d5b6bc375287c8a53ef2c5a6132d78bddce1acc516c0f7ab02649320c7215","impliedFormat":99},{"version":"e38a5949af9391b3b2e6433cf0d11555f42fb14150aff61f8690c6987c4bee69","signature":"2b4eeabbacd11733be0d95d7ee1fc61cd0b8320e5af5cbc938f5a83c0c66c7c8","impliedFormat":99},{"version":"85fc3fde5e29111b343d4965793e61fc406b933e42c0c18d4d0419829dcfd02d","signature":"a44bcf5b25356cbf20da553cabb3b9ab51883ec6b37a57d46a60538d244feba6","impliedFormat":99},{"version":"34434b73e77bfdf971e8e144956add8efcf299a96a1c49380189eccb2ef304fe","signature":"96efc31bd8cc9191d562b26efb929ebb4ef02f161b209044cc30bb7561937eea","impliedFormat":99},{"version":"a35f326a074d6008cce87c7b8be0cdb6d4a604cdc971199babaed278c150f1be","signature":"e3e75117ecb05a7396b3568b9bb05c4d8394952e9a9912cd430ffc0190bb3717","impliedFormat":99},{"version":"5807dac8f73edb1e365130104a11e4269b54de1e8b8d05355d95a2d68b36c098","signature":"85f8bab615f79d72c05ea5533b363ee75d9b31ba4e7aaa53a53a985c7aa84815","impliedFormat":99},{"version":"0a9a4188a244e78f3bd5d42f2045eaf7a45126a33437ca359a52a1ddcf26f55c","signature":"f33ed8008e880f46ec7335063c7371de58b793960f36618e059c4e2c19f13196","impliedFormat":99},{"version":"97451580772b8254b3206b44cfb36b9ae5903a6bd73060d731fc7b81cf9f5f45","signature":"ddf511d13266835a9125c72eb41e2f7538c9217cf38980d6ae528899aaeb240e","impliedFormat":99},{"version":"4791a06ca69092b6e121d2b3a0245f67d8250259fa2c9631520fc580b8896d71","signature":"43559bd5ed624260756dbca1f8c8e743f795a6d1ee9b7a11de7dbd9253d72ab1","impliedFormat":99},{"version":"8c2a7a1cc9164940f8b79a4f03d0b7bcdf79f7c803fb5ceb4c358e146e222248","impliedFormat":99},{"version":"cdad648408653df45422ae965abb7eb815091a4e850a4261a5a77e77cb04f6e6","impliedFormat":99},{"version":"8c5e63b0787ec44538279868103a8be8e13d4a6279e7c8a737bb47bb57c432d6","signature":"6658552135ff997f869e4813e0157dad66e292027aca654ef96d20a40503ff11","impliedFormat":99},{"version":"b9a78669f08f91d284a929d61212b46ba3ac81416430b00b050c2ea6b2263fe3","signature":"e0206ef5e687446309aaadff5053fe28673e85672ca749889d870c5f492e8d70","impliedFormat":99},{"version":"ef9af65cc7a85d2bd919225f04fb9da72176f60715c54bb34d809cf53ce060f4","signature":"6b166db323edbb726b955090d71b7222ad155d1c7ef67fca65d56c23f2a55713","impliedFormat":99},{"version":"86480c007d2ef1f3289039c3116c4d388eb1cc4743ce89865822dc6d17608e4f","signature":"690fb4fb473bba2177f870b6cca9c98a74ee5b06d00cdeef210a40a4f345bcab","impliedFormat":99},{"version":"18a0072352a627c53c4e322d4d75248fcbdef5b3f21837853d75aa66f134f23a","impliedFormat":99},{"version":"fd6e5b3b0a99e1f61e251bbb7a66cc3bcc2a1daa3bad5a9c6d21a25e61deffc2","signature":"09f324549456c0cb6ca4f3453513d9d27b364a973384c128d4545019ed550fbc","impliedFormat":99},{"version":"989e31e9b6170c1de023b1cf9f6de42b35b837bcecfcc68221cfb71d550c5e69","signature":"34881b9fe9deba5dc3c88b93b05e0f1d8b2a342aaed36d52eefbd3ee18dcfa9c","impliedFormat":99},{"version":"0d37d83a1c02c1473283320d9ed7fa01c3a0c9f3bbfa9a30a5cdffd0e40e3304","signature":"753beb83ab5e772b541e0d3270418b79d6a2b13d6f397b25b8269e567e9ff609","impliedFormat":99},{"version":"2b18160e0fbe0f0951df7af93d637911d7c57b8a9b1e745726830fa5ccd6bd24","signature":"953068d328b5d18ce8c9269526da5e10e85a462fe9f8cc76943dd2219d970dcf","impliedFormat":99}],"root":[[55,71],[74,82]],"options":{"composite":true,"declarationMap":true,"emitDeclarationOnly":false,"importHelpers":true,"module":199,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.lib.tsbuildinfo"},"referencedMap":[[54,1],[57,2],[75,3],[78,4],[77,5],[66,6],[65,2],[64,7],[58,8],[67,9],[56,10],[61,8],[68,11],[62,11],[55,8],[63,12],[71,13],[59,14],[69,2],[79,8],[80,15],[82,16],[81,2],[74,8],[70,2],[76,8],[60,8],[73,17]],"latestChangedDtsFile":"./server/index.d.ts","version":"5.8.3"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/cookie-names.ts
21
+ var cookie_names_exports = {};
22
+ __export(cookie_names_exports, {
23
+ cookiePairSize: () => cookiePairSize,
24
+ decodeCookieName: () => decodeCookieName,
25
+ encodeCookieName: () => encodeCookieName,
26
+ withEntryExpiry: () => withEntryExpiry
27
+ });
28
+ module.exports = __toCommonJS(cookie_names_exports);
29
+ var encodeCookieName = (key) => encodeURIComponent(key).replace(/[()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
30
+ var decodeCookieName = (name) => {
31
+ try {
32
+ return decodeURIComponent(name);
33
+ } catch {
34
+ return name;
35
+ }
36
+ };
37
+ var cookiePairSize = (header) => new TextEncoder().encode(header.slice(0, header.indexOf(";"))).length;
38
+ var withEntryExpiry = (cookie, expiresAt) => expiresAt === void 0 ? cookie : { ...cookie, maxAge: void 0, expires: new Date(expiresAt) };
@@ -0,0 +1,10 @@
1
+ export declare const encodeCookieName: (key: string) => string;
2
+ export declare const decodeCookieName: (name: string) => string;
3
+ /** Bytes of `name=value` in a Set-Cookie string: what browsers hold to about 4096. */
4
+ export declare const cookiePairSize: (header: string) => number;
5
+ /** The cookie lasts as long as the entry when the entry has an expiry; else as configured. */
6
+ export declare const withEntryExpiry: <O extends {
7
+ maxAge?: number;
8
+ expires?: Date;
9
+ }>(cookie: O, expiresAt: number | undefined) => O;
10
+ //# sourceMappingURL=cookie-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie-names.d.ts","sourceRoot":"","sources":["../../src/utils/cookie-names.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,WACuD,CAAC;AAEpG,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,WAM5C,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,WAA0E,CAAC;AAExH,8FAA8F;AAC9F,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,WAAW,MAAM,GAAG,SAAS,KAAG,CACvB,CAAC"}
@@ -0,0 +1,15 @@
1
+ // Storage keys carry `:` from namespaces, which a cookie name cannot hold. `(` and `)` pass
2
+ // encodeURIComponent but are not token characters either.
3
+ export const encodeCookieName = (key) => encodeURIComponent(key).replace(/[()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
4
+ export const decodeCookieName = (name) => {
5
+ try {
6
+ return decodeURIComponent(name);
7
+ }
8
+ catch {
9
+ return name;
10
+ }
11
+ };
12
+ /** Bytes of `name=value` in a Set-Cookie string: what browsers hold to about 4096. */
13
+ export const cookiePairSize = (header) => new TextEncoder().encode(header.slice(0, header.indexOf(';'))).length;
14
+ /** The cookie lasts as long as the entry when the entry has an expiry; else as configured. */
15
+ export const withEntryExpiry = (cookie, expiresAt) => expiresAt === undefined ? cookie : { ...cookie, maxAge: undefined, expires: new Date(expiresAt) };
@@ -0,0 +1,17 @@
1
+ // src/utils/cookie-names.ts
2
+ var encodeCookieName = (key) => encodeURIComponent(key).replace(/[()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
3
+ var decodeCookieName = (name) => {
4
+ try {
5
+ return decodeURIComponent(name);
6
+ } catch {
7
+ return name;
8
+ }
9
+ };
10
+ var cookiePairSize = (header) => new TextEncoder().encode(header.slice(0, header.indexOf(";"))).length;
11
+ var withEntryExpiry = (cookie, expiresAt) => expiresAt === void 0 ? cookie : { ...cookie, maxAge: void 0, expires: new Date(expiresAt) };
12
+ export {
13
+ cookiePairSize,
14
+ decodeCookieName,
15
+ encodeCookieName,
16
+ withEntryExpiry
17
+ };