@sveltejs/kit 1.0.0-next.35 → 1.0.0-next.350

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 (69) hide show
  1. package/README.md +12 -9
  2. package/assets/app/env.js +16 -0
  3. package/assets/app/navigation.js +24 -0
  4. package/assets/app/paths.js +1 -0
  5. package/assets/app/stores.js +97 -0
  6. package/assets/client/singletons.js +13 -0
  7. package/assets/client/start.js +1788 -0
  8. package/assets/components/error.svelte +18 -2
  9. package/assets/env.js +8 -0
  10. package/assets/paths.js +13 -0
  11. package/assets/server/index.js +3371 -0
  12. package/dist/chunks/constants.js +663 -0
  13. package/dist/chunks/filesystem.js +110 -0
  14. package/dist/chunks/index.js +1363 -0
  15. package/dist/chunks/index2.js +120 -0
  16. package/dist/chunks/index3.js +183 -0
  17. package/dist/chunks/index4.js +215 -0
  18. package/dist/chunks/index5.js +15748 -0
  19. package/dist/chunks/misc.js +78 -0
  20. package/dist/chunks/multipart-parser.js +444 -0
  21. package/dist/chunks/object.js +83 -0
  22. package/dist/chunks/plugin.js +555 -0
  23. package/dist/chunks/sync.js +856 -0
  24. package/dist/chunks/write_tsconfig.js +169 -0
  25. package/dist/cli.js +1028 -87
  26. package/dist/hooks.js +28 -0
  27. package/dist/node/polyfills.js +6654 -0
  28. package/dist/node.js +301 -0
  29. package/package.json +95 -55
  30. package/types/ambient.d.ts +307 -0
  31. package/types/index.d.ts +294 -0
  32. package/types/internal.d.ts +326 -0
  33. package/types/private.d.ts +235 -0
  34. package/CHANGELOG.md +0 -371
  35. package/assets/runtime/app/navigation.js +0 -23
  36. package/assets/runtime/app/navigation.js.map +0 -1
  37. package/assets/runtime/app/paths.js +0 -2
  38. package/assets/runtime/app/paths.js.map +0 -1
  39. package/assets/runtime/app/stores.js +0 -78
  40. package/assets/runtime/app/stores.js.map +0 -1
  41. package/assets/runtime/internal/singletons.js +0 -15
  42. package/assets/runtime/internal/singletons.js.map +0 -1
  43. package/assets/runtime/internal/start.js +0 -614
  44. package/assets/runtime/internal/start.js.map +0 -1
  45. package/assets/runtime/utils-85ebcc60.js +0 -18
  46. package/assets/runtime/utils-85ebcc60.js.map +0 -1
  47. package/dist/api.js +0 -28
  48. package/dist/api.js.map +0 -1
  49. package/dist/cli.js.map +0 -1
  50. package/dist/create_app.js +0 -502
  51. package/dist/create_app.js.map +0 -1
  52. package/dist/index.js +0 -327
  53. package/dist/index.js.map +0 -1
  54. package/dist/index2.js +0 -3497
  55. package/dist/index2.js.map +0 -1
  56. package/dist/index3.js +0 -296
  57. package/dist/index3.js.map +0 -1
  58. package/dist/index4.js +0 -311
  59. package/dist/index4.js.map +0 -1
  60. package/dist/index5.js +0 -221
  61. package/dist/index5.js.map +0 -1
  62. package/dist/index6.js +0 -730
  63. package/dist/index6.js.map +0 -1
  64. package/dist/renderer.js +0 -2429
  65. package/dist/renderer.js.map +0 -1
  66. package/dist/standard.js +0 -100
  67. package/dist/standard.js.map +0 -1
  68. package/dist/utils.js +0 -61
  69. package/dist/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index4.js","sources":["../../../node_modules/.pnpm/totalist@1.1.0/node_modules/totalist/sync/index.mjs","../../../node_modules/.pnpm/@polka/url@1.0.0-next.11/node_modules/@polka/url/build.mjs","../../../node_modules/.pnpm/mime@2.5.2/node_modules/mime/lite.js","../../../node_modules/.pnpm/sirv@1.0.11/node_modules/sirv/build.mjs","../src/api/start/index.js"],"sourcesContent":["import { join, resolve } from 'path';\nimport { readdirSync, statSync } from 'fs';\n\nexport default function list(dir, callback, pre='') {\n\tdir = resolve('.', dir);\n\tlet arr = readdirSync(dir);\n\tlet i=0, abs, stats;\n\tfor (; i < arr.length; i++) {\n\t\tabs = join(dir, arr[i]);\n\t\tstats = statSync(abs);\n\t\tstats.isDirectory()\n\t\t\t? list(abs, callback, join(pre, arr[i]))\n\t\t\t: callback(join(pre, arr[i]), abs, stats);\n\t}\n}\n","function parse(str) {\n\tlet i=0, j=0, k, v;\n\tlet out={}, arr=str.split('&');\n\tfor (; i < arr.length; i++) {\n\t\tj = arr[i].indexOf('=');\n\t\tv = !!~j && arr[i].substring(j+1) || '';\n\t\tk = !!~j ? arr[i].substring(0, j) : arr[i];\n\t\tout[k] = out[k] !== void 0 ? [].concat(out[k], v) : v;\n\t}\n\treturn out;\n}\n\nexport default function (req, toDecode) {\n\tlet url = req.url;\n\tif (url == null) return;\n\n\tlet obj = req._parsedUrl;\n\tif (obj && obj._raw === url) return obj;\n\n\tobj = {\n\t\tpath: url,\n\t\tpathname: url,\n\t\tsearch: null,\n\t\tquery: null,\n\t\thref: url,\n\t\t_raw: url\n\t};\n\n\tif (url.length > 1) {\n\t\tif (toDecode && !req._decoded && !!~url.indexOf('%', 1)) {\n\t\t\tlet nxt = url;\n\t\t\ttry { nxt = decodeURIComponent(url) } catch (e) {/* bad */}\n\t\t\turl = req.url = obj.href = obj.path = obj.pathname = obj._raw = nxt;\n\t\t\treq._decoded = true;\n\t\t}\n\n\t\tlet idx = url.indexOf('?', 1);\n\n\t\tif (idx !== -1) {\n\t\t\tobj.search = url.substring(idx);\n\t\t\tobj.query = obj.search.substring(1);\n\t\t\tobj.pathname = url.substring(0, idx);\n\t\t\tif (toDecode && obj.query.length > 0) {\n\t\t\t\tobj.query = parse(obj.query);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (req._parsedUrl = obj);\n}\n","'use strict';\n\nlet Mime = require('./Mime');\nmodule.exports = new Mime(require('./types/standard'));\n","import * as fs from 'fs';\nimport { join, normalize, resolve } from 'path';\nimport list from 'totalist/sync';\nimport parser from '@polka/url';\nimport mime from 'mime/lite';\n\nconst noop = () => {};\n\nfunction isMatch(uri, arr) {\n\tfor (let i=0; i < arr.length; i++) {\n\t\tif (arr[i].test(uri)) return true;\n\t}\n}\n\nfunction toAssume(uri, extns) {\n\tlet i=0, x, len=uri.length - 1;\n\tif (uri.charCodeAt(len) === 47) {\n\t\turi = uri.substring(0, len);\n\t}\n\n\tlet arr=[], tmp=`${uri}/index`;\n\tfor (; i < extns.length; i++) {\n\t\tx = extns[i] ? `.${extns[i]}` : '';\n\t\tif (uri) arr.push(uri + x);\n\t\tarr.push(tmp + x);\n\t}\n\n\treturn arr;\n}\n\nfunction viaCache(cache, uri, extns) {\n\tlet i=0, data, arr=toAssume(uri, extns);\n\tfor (; i < arr.length; i++) {\n\t\tif (data = cache[arr[i]]) return data;\n\t}\n}\n\nfunction viaLocal(dir, isEtag, uri, extns) {\n\tlet i=0, arr=toAssume(uri, extns);\n\tlet abs, stats, name, headers;\n\tfor (; i < arr.length; i++) {\n\t\tabs = normalize(join(dir, name=arr[i]));\n\t\tif (abs.startsWith(dir) && fs.existsSync(abs)) {\n\t\t\tstats = fs.statSync(abs);\n\t\t\tif (stats.isDirectory()) continue;\n\t\t\theaders = toHeaders(name, stats, isEtag);\n\t\t\theaders['Cache-Control'] = isEtag ? 'no-cache' : 'no-store';\n\t\t\treturn { abs, stats, headers };\n\t\t}\n\t}\n}\n\nfunction is404(req, res) {\n\treturn (res.statusCode=404,res.end());\n}\n\nfunction send(req, res, file, stats, headers) {\n\tlet code=200, tmp, opts={};\n\theaders = { ...headers };\n\n\tfor (let key in headers) {\n\t\ttmp = res.getHeader(key);\n\t\tif (tmp) headers[key] = tmp;\n\t}\n\n\tif (tmp = res.getHeader('content-type')) {\n\t\theaders['Content-Type'] = tmp;\n\t}\n\n\tif (req.headers.range) {\n\t\tcode = 206;\n\t\tlet [x, y] = req.headers.range.replace('bytes=', '').split('-');\n\t\tlet end = opts.end = parseInt(y, 10) || stats.size - 1;\n\t\tlet start = opts.start = parseInt(x, 10) || 0;\n\n\t\tif (start >= stats.size || end >= stats.size) {\n\t\t\tres.setHeader('Content-Range', `bytes */${stats.size}`);\n\t\t\tres.statusCode = 416;\n\t\t\treturn res.end();\n\t\t}\n\n\t\theaders['Content-Range'] = `bytes ${start}-${end}/${stats.size}`;\n\t\theaders['Content-Length'] = (end - start + 1);\n\t\theaders['Accept-Ranges'] = 'bytes';\n\t}\n\n\tres.writeHead(code, headers);\n\tfs.createReadStream(file, opts).pipe(res);\n}\n\nfunction isEncoding(name, type, headers) {\n\theaders['Content-Encoding'] = type;\n\theaders['Content-Type'] = mime.getType(name.replace(/\\.([^.]*)$/, '')) || '';\n}\n\nfunction toHeaders(name, stats, isEtag) {\n\tlet headers = {\n\t\t'Content-Length': stats.size,\n\t\t'Content-Type': mime.getType(name) || '',\n\t\t'Last-Modified': stats.mtime.toUTCString(),\n\t};\n\tif (isEtag) headers['ETag'] = `W/\"${stats.size}-${stats.mtime.getTime()}\"`;\n\tif (/\\.br$/.test(name)) isEncoding(name, 'br', headers);\n\tif (/\\.gz$/.test(name)) isEncoding(name, 'gzip', headers);\n\treturn headers;\n}\n\nexport default function (dir, opts={}) {\n\tdir = resolve(dir || '.');\n\n\tlet isNotFound = opts.onNoMatch || is404;\n\tlet setHeaders = opts.setHeaders || noop;\n\n\tlet extensions = opts.extensions || ['html', 'htm'];\n\tlet gzips = opts.gzip && extensions.map(x => `${x}.gz`).concat('gz');\n\tlet brots = opts.brotli && extensions.map(x => `${x}.br`).concat('br');\n\n\tconst FILES = {};\n\n\tlet fallback = '/';\n\tlet isEtag = !!opts.etag;\n\tlet isSPA = !!opts.single;\n\tif (typeof opts.single === 'string') {\n\t\tlet idx = opts.single.lastIndexOf('.');\n\t\tfallback += !!~idx ? opts.single.substring(0, idx) : opts.single;\n\t}\n\n\tlet ignores = [];\n\tif (opts.ignores !== false) {\n\t\tignores.push(/[/]([A-Za-z\\s\\d~$._-]+\\.\\w+){1,}$/); // any extn\n\t\tif (opts.dotfiles) ignores.push(/\\/\\.\\w/);\n\t\telse ignores.push(/\\/\\.well-known/);\n\t\t[].concat(opts.ignores || []).forEach(x => {\n\t\t\tignores.push(new RegExp(x, 'i'));\n\t\t});\n\t}\n\n\tlet cc = opts.maxAge != null && `public,max-age=${opts.maxAge}`;\n\tif (cc && opts.immutable) cc += ',immutable';\n\telse if (cc && opts.maxAge === 0) cc += ',must-revalidate';\n\n\tif (!opts.dev) {\n\t\tlist(dir, (name, abs, stats) => {\n\t\t\tif (/\\.well-known[\\\\+\\/]/.test(name)) {} // keep\n\t\t\telse if (!opts.dotfiles && /(^\\.|[\\\\+|\\/+]\\.)/.test(name)) return;\n\n\t\t\tlet headers = toHeaders(name, stats, isEtag);\n\t\t\tif (cc) headers['Cache-Control'] = cc;\n\n\t\t\tFILES['/' + name.normalize().replace(/\\\\+/g, '/')] = { abs, stats, headers };\n\t\t});\n\t}\n\n\tlet lookup = opts.dev ? viaLocal.bind(0, dir, isEtag) : viaCache.bind(0, FILES);\n\n\treturn function (req, res, next) {\n\t\tlet extns = [''];\n\t\tlet val = req.headers['accept-encoding'] || '';\n\t\tif (gzips && val.includes('gzip')) extns.unshift(...gzips);\n\t\tif (brots && /(br|brotli)/i.test(val)) extns.unshift(...brots);\n\t\textns.push(...extensions); // [...br, ...gz, orig, ...exts]\n\n\t\tlet pathname = req.path || parser(req, true).pathname;\n\t\tlet data = lookup(pathname, extns) || isSPA && !isMatch(pathname, ignores) && lookup(fallback, extns);\n\t\tif (!data) return next ? next() : isNotFound(req, res);\n\n\t\tif (isEtag && req.headers['if-none-match'] === data.headers['ETag']) {\n\t\t\tres.writeHead(304);\n\t\t\treturn res.end();\n\t\t}\n\n\t\tif (gzips || brots) {\n\t\t\tres.setHeader('Vary', 'Accept-Encoding');\n\t\t}\n\n\t\tsetHeaders(res, pathname, data.stats);\n\t\tsend(req, res, data.abs, data.stats, data.headers);\n\t};\n}\n","import * as fs from 'fs';\nimport * as http from 'http';\nimport { parse, URLSearchParams } from 'url';\nimport sirv from 'sirv';\nimport { get_body } from '@sveltejs/app-utils/http';\nimport { join, resolve } from 'path';\n\nconst mutable = (dir) =>\n\tsirv(dir, {\n\t\tetag: true,\n\t\tmaxAge: 0\n\t});\n\nexport async function start({ port, config }) {\n\tconst app_file = resolve('.svelte/output/server/app.js');\n\tconst app = await import(app_file);\n\n\tconst static_handler = fs.existsSync(config.files.assets)\n\t\t? mutable(config.files.assets)\n\t\t: (_req, _res, next) => next();\n\n\tconst assets_handler = sirv('.svelte/output/client', {\n\t\tmaxAge: 31536000,\n\t\timmutable: true\n\t});\n\n\treturn new Promise((fulfil) => {\n\t\tconst server = http.createServer((req, res) => {\n\t\t\tconst parsed = parse(req.url || '');\n\n\t\t\tassets_handler(req, res, () => {\n\t\t\t\tstatic_handler(req, res, async () => {\n\t\t\t\t\tconst rendered = await app.render(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmethod: req.method,\n\t\t\t\t\t\t\theaders: req.headers,\n\t\t\t\t\t\t\tpath: parsed.pathname,\n\t\t\t\t\t\t\tbody: await get_body(req),\n\t\t\t\t\t\t\tquery: new URLSearchParams(parsed.query || '')\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpaths: {\n\t\t\t\t\t\t\t\tbase: '',\n\t\t\t\t\t\t\t\tassets: '/.'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tget_stack: (error) => error.stack, // TODO should this return a sourcemapped stacktrace?\n\t\t\t\t\t\t\tget_static_file: (file) => fs.readFileSync(join(config.files.assets, file))\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tif (rendered) {\n\t\t\t\t\t\tres.writeHead(rendered.status, rendered.headers);\n\t\t\t\t\t\tres.end(rendered.body);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres.statusCode = 404;\n\t\t\t\t\t\tres.end('Not found');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tserver.listen(port, () => {\n\t\t\tfulfil(server);\n\t\t});\n\n\t\treturn server;\n\t});\n}\n"],"names":["Mime","require$$0","fs.existsSync","fs.statSync","fs.createReadStream","mime","http.createServer","parse","fs.readFileSync"],"mappings":"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"}
package/dist/index5.js DELETED
@@ -1,221 +0,0 @@
1
- function read_only_form_data() {
2
- const map = new Map();
3
-
4
- return {
5
- append(key, value) {
6
- if (map.has(key)) {
7
- map.get(key).push(value);
8
- } else {
9
- map.set(key, [value]);
10
- }
11
- },
12
-
13
- data: new ReadOnlyFormData(map)
14
- };
15
- }
16
-
17
- class ReadOnlyFormData {
18
- #map;
19
-
20
- constructor(map) {
21
- this.#map = map;
22
- }
23
-
24
- get(key) {
25
- const value = this.#map.get(key);
26
- return value && value[0];
27
- }
28
-
29
- getAll(key) {
30
- return this.#map.get(key);
31
- }
32
-
33
- has(key) {
34
- return this.#map.has(key);
35
- }
36
-
37
- *[Symbol.iterator]() {
38
- for (const [key, value] of this.#map) {
39
- for (let i = 0; i < value.length; i += 1) {
40
- yield [key, value[i]];
41
- }
42
- }
43
- }
44
-
45
- *entries() {
46
- for (const [key, value] of this.#map) {
47
- for (let i = 0; i < value.length; i += 1) {
48
- yield [key, value[i]];
49
- }
50
- }
51
- }
52
-
53
- *keys() {
54
- for (const [key, value] of this.#map) {
55
- for (let i = 0; i < value.length; i += 1) {
56
- yield key;
57
- }
58
- }
59
- }
60
-
61
- *values() {
62
- for (const [, value] of this.#map) {
63
- for (let i = 0; i < value.length; i += 1) {
64
- yield value;
65
- }
66
- }
67
- }
68
- }
69
-
70
- function get_body(req) {
71
- const headers = req.headers;
72
- const has_body =
73
- headers['content-type'] !== undefined &&
74
- // https://github.com/jshttp/type-is/blob/c1f4388c71c8a01f79934e68f630ca4a15fffcd6/index.js#L81-L95
75
- (headers['transfer-encoding'] !== undefined || !isNaN(Number(headers['content-length'])));
76
-
77
- if (!has_body) return Promise.resolve(undefined);
78
-
79
- const [type, ...directives] = headers['content-type'].split(/;\s*/);
80
-
81
- switch (type) {
82
- case 'application/octet-stream':
83
- return get_buffer(req);
84
-
85
- case 'text/plain':
86
- return get_text(req);
87
-
88
- case 'application/json':
89
- return get_json(req);
90
-
91
- case 'application/x-www-form-urlencoded':
92
- return get_urlencoded(req);
93
-
94
- case 'multipart/form-data': {
95
- const boundary = directives.find((directive) => directive.startsWith('boundary='));
96
- if (!boundary) throw new Error('Missing boundary');
97
- return get_multipart(req, boundary.slice('boundary='.length));
98
- }
99
- default:
100
- throw new Error(`Invalid Content-Type ${type}`);
101
- }
102
- }
103
-
104
- async function get_json(req) {
105
- return JSON.parse(await get_text(req));
106
- }
107
-
108
- async function get_urlencoded(req) {
109
- const text = await get_text(req);
110
-
111
- const { data, append } = read_only_form_data();
112
-
113
- text
114
- .replace(/\+/g, ' ')
115
- .split('&')
116
- .forEach((str) => {
117
- const [key, value] = str.split('=');
118
- append(decodeURIComponent(key), decodeURIComponent(value));
119
- });
120
-
121
- return data;
122
- }
123
-
124
- async function get_multipart(req, boundary) {
125
- const text = await get_text(req);
126
- const parts = text.split(`--${boundary}`);
127
-
128
- const nope = () => {
129
- throw new Error('Malformed form data');
130
- };
131
-
132
- if (parts[0] !== '' || parts[parts.length - 1].trim() !== '--') {
133
- nope();
134
- }
135
-
136
- const { data, append } = read_only_form_data();
137
-
138
- parts.slice(1, -1).forEach((part) => {
139
- const match = /\s*([\s\S]+?)\r\n\r\n([\s\S]*)\s*/.exec(part);
140
- const raw_headers = match[1];
141
- const body = match[2].trim();
142
-
143
- let key;
144
- raw_headers.split('\r\n').forEach((str) => {
145
- const [raw_header, ...raw_directives] = str.split('; ');
146
- let [name, value] = raw_header.split(': ');
147
-
148
- name = name.toLowerCase();
149
-
150
- const directives = {};
151
- raw_directives.forEach((raw_directive) => {
152
- const [name, value] = raw_directive.split('=');
153
- directives[name] = JSON.parse(value); // TODO is this right?
154
- });
155
-
156
- if (name === 'content-disposition') {
157
- if (value !== 'form-data') nope();
158
-
159
- if (directives.filename) {
160
- // TODO we probably don't want to do this automatically
161
- throw new Error('File upload is not yet implemented');
162
- }
163
-
164
- if (directives.name) {
165
- key = directives.name;
166
- }
167
- }
168
- });
169
-
170
- if (!key) nope();
171
-
172
- append(key, body);
173
- });
174
-
175
- return data;
176
- }
177
-
178
- function get_text(req) {
179
- return new Promise((fulfil, reject) => {
180
- let data = '';
181
-
182
- req.on('error', reject);
183
-
184
- req.on('data', (chunk) => {
185
- data += chunk;
186
- });
187
-
188
- req.on('end', () => {
189
- fulfil(data);
190
- });
191
- });
192
- }
193
-
194
- function get_buffer(req) {
195
- return new Promise((fulfil, reject) => {
196
- let data = new Uint8Array(0);
197
-
198
- req.on('error', reject);
199
-
200
- req.on('data', (chunk) => {
201
- const new_data = new Uint8Array(data.length + chunk.length);
202
-
203
- for (let i = 0; i < data.length; i += 1) {
204
- new_data[i] = data[i];
205
- }
206
-
207
- for (let i = 0; i < chunk.length; i += 1) {
208
- new_data[i + data.length] = chunk[i];
209
- }
210
-
211
- data = new_data;
212
- });
213
-
214
- req.on('end', () => {
215
- fulfil(data.buffer);
216
- });
217
- });
218
- }
219
-
220
- export { get_body as g };
221
- //# sourceMappingURL=index5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index5.js","sources":["../../app-utils/http/get_body/read_only_form_data.js","../../app-utils/http/get_body/index.js"],"sourcesContent":["export function read_only_form_data() {\n\tconst map = new Map();\n\n\treturn {\n\t\tappend(key, value) {\n\t\t\tif (map.has(key)) {\n\t\t\t\tmap.get(key).push(value);\n\t\t\t} else {\n\t\t\t\tmap.set(key, [value]);\n\t\t\t}\n\t\t},\n\n\t\tdata: new ReadOnlyFormData(map)\n\t};\n}\n\nclass ReadOnlyFormData {\n\t#map;\n\n\tconstructor(map) {\n\t\tthis.#map = map;\n\t}\n\n\tget(key) {\n\t\tconst value = this.#map.get(key);\n\t\treturn value && value[0];\n\t}\n\n\tgetAll(key) {\n\t\treturn this.#map.get(key);\n\t}\n\n\thas(key) {\n\t\treturn this.#map.has(key);\n\t}\n\n\t*[Symbol.iterator]() {\n\t\tfor (const [key, value] of this.#map) {\n\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\tyield [key, value[i]];\n\t\t\t}\n\t\t}\n\t}\n\n\t*entries() {\n\t\tfor (const [key, value] of this.#map) {\n\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\tyield [key, value[i]];\n\t\t\t}\n\t\t}\n\t}\n\n\t*keys() {\n\t\tfor (const [key, value] of this.#map) {\n\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\tyield key;\n\t\t\t}\n\t\t}\n\t}\n\n\t*values() {\n\t\tfor (const [, value] of this.#map) {\n\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\tyield value;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { read_only_form_data } from './read_only_form_data';\n\nexport function get_body(req) {\n\tconst headers = req.headers;\n\tconst has_body =\n\t\theaders['content-type'] !== undefined &&\n\t\t// https://github.com/jshttp/type-is/blob/c1f4388c71c8a01f79934e68f630ca4a15fffcd6/index.js#L81-L95\n\t\t(headers['transfer-encoding'] !== undefined || !isNaN(Number(headers['content-length'])));\n\n\tif (!has_body) return Promise.resolve(undefined);\n\n\tconst [type, ...directives] = headers['content-type'].split(/;\\s*/);\n\n\tswitch (type) {\n\t\tcase 'application/octet-stream':\n\t\t\treturn get_buffer(req);\n\n\t\tcase 'text/plain':\n\t\t\treturn get_text(req);\n\n\t\tcase 'application/json':\n\t\t\treturn get_json(req);\n\n\t\tcase 'application/x-www-form-urlencoded':\n\t\t\treturn get_urlencoded(req);\n\n\t\tcase 'multipart/form-data': {\n\t\t\tconst boundary = directives.find((directive) => directive.startsWith('boundary='));\n\t\t\tif (!boundary) throw new Error('Missing boundary');\n\t\t\treturn get_multipart(req, boundary.slice('boundary='.length));\n\t\t}\n\t\tdefault:\n\t\t\tthrow new Error(`Invalid Content-Type ${type}`);\n\t}\n}\n\nasync function get_json(req) {\n\treturn JSON.parse(await get_text(req));\n}\n\nasync function get_urlencoded(req) {\n\tconst text = await get_text(req);\n\n\tconst { data, append } = read_only_form_data();\n\n\ttext\n\t\t.replace(/\\+/g, ' ')\n\t\t.split('&')\n\t\t.forEach((str) => {\n\t\t\tconst [key, value] = str.split('=');\n\t\t\tappend(decodeURIComponent(key), decodeURIComponent(value));\n\t\t});\n\n\treturn data;\n}\n\nasync function get_multipart(req, boundary) {\n\tconst text = await get_text(req);\n\tconst parts = text.split(`--${boundary}`);\n\n\tconst nope = () => {\n\t\tthrow new Error('Malformed form data');\n\t};\n\n\tif (parts[0] !== '' || parts[parts.length - 1].trim() !== '--') {\n\t\tnope();\n\t}\n\n\tconst { data, append } = read_only_form_data();\n\n\tparts.slice(1, -1).forEach((part) => {\n\t\tconst match = /\\s*([\\s\\S]+?)\\r\\n\\r\\n([\\s\\S]*)\\s*/.exec(part);\n\t\tconst raw_headers = match[1];\n\t\tconst body = match[2].trim();\n\n\t\tlet key;\n\n\t\tconst headers = {};\n\t\traw_headers.split('\\r\\n').forEach((str) => {\n\t\t\tconst [raw_header, ...raw_directives] = str.split('; ');\n\t\t\tlet [name, value] = raw_header.split(': ');\n\n\t\t\tname = name.toLowerCase();\n\t\t\theaders[name] = value;\n\n\t\t\tconst directives = {};\n\t\t\traw_directives.forEach((raw_directive) => {\n\t\t\t\tconst [name, value] = raw_directive.split('=');\n\t\t\t\tdirectives[name] = JSON.parse(value); // TODO is this right?\n\t\t\t});\n\n\t\t\tif (name === 'content-disposition') {\n\t\t\t\tif (value !== 'form-data') nope();\n\n\t\t\t\tif (directives.filename) {\n\t\t\t\t\t// TODO we probably don't want to do this automatically\n\t\t\t\t\tthrow new Error('File upload is not yet implemented');\n\t\t\t\t}\n\n\t\t\t\tif (directives.name) {\n\t\t\t\t\tkey = directives.name;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (!key) nope();\n\n\t\tappend(key, body);\n\t});\n\n\treturn data;\n}\n\nfunction get_text(req) {\n\treturn new Promise((fulfil, reject) => {\n\t\tlet data = '';\n\n\t\treq.on('error', reject);\n\n\t\treq.on('data', (chunk) => {\n\t\t\tdata += chunk;\n\t\t});\n\n\t\treq.on('end', () => {\n\t\t\tfulfil(data);\n\t\t});\n\t});\n}\n\nfunction get_buffer(req) {\n\treturn new Promise((fulfil, reject) => {\n\t\tlet data = new Uint8Array(0);\n\n\t\treq.on('error', reject);\n\n\t\treq.on('data', (chunk) => {\n\t\t\tconst new_data = new Uint8Array(data.length + chunk.length);\n\n\t\t\tfor (let i = 0; i < data.length; i += 1) {\n\t\t\t\tnew_data[i] = data[i];\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < chunk.length; i += 1) {\n\t\t\t\tnew_data[i + data.length] = chunk[i];\n\t\t\t}\n\n\t\t\tdata = new_data;\n\t\t});\n\n\t\treq.on('end', () => {\n\t\t\tfulfil(data.buffer);\n\t\t});\n\t});\n}\n"],"names":[],"mappings":"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"}