1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-12 01:50:46 +02:00
guix/gnu/packages/patches/llhttp-ponyfill-object-fromentries.patch
Jelle Licht 1bb7866667
gnu: llhttp-bootstrap: Update to 9.2.1.
* gnu/packages/patches/llhttp-ponyfill-object-fromentries.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/node.scm (llhttp-bootstrap): Update to 9.2.1.
[source]: Use patch.
2025-02-11 14:02:51 +01:00

46 lines
No EOL
1.4 KiB
Diff

diff --git a/src/llhttp/constants.ts b/src/llhttp/constants.ts
index 226342e..1a4c93a 100644
--- a/src/llhttp/constants.ts
+++ b/src/llhttp/constants.ts
@@ -1,4 +1,4 @@
-import { enumToMap } from './utils';
+import { enumToMap, fromEntries } from './utils';
export type IntDict = Record<string, number>;
@@ -328,7 +328,7 @@ export const METHODS_RTSP = [
export const METHOD_MAP = enumToMap(METHODS);
-export const H_METHOD_MAP = Object.fromEntries(
+export const H_METHOD_MAP = fromEntries(
Object.entries(METHODS).filter(([ k ]) => k.startsWith('H'))
);
diff --git a/src/llhttp/utils.ts b/src/llhttp/utils.ts
index 2251125..5ac4aeb 100644
--- a/src/llhttp/utils.ts
+++ b/src/llhttp/utils.ts
@@ -1,5 +1,13 @@
import { IntDict } from './constants';
+/*! fromentries. MIT License. Copyright (c) 2018-2020 Feross Aboukhadijeh */
+export function fromEntries (iterable) {
+ return [...iterable].reduce((obj, [key, val]) => {
+ obj[key] = val
+ return obj
+ }, {})
+}
+
export function enumToMap(
obj: IntDict,
filter: ReadonlyArray<number> = [],
@@ -8,7 +16,7 @@ export function enumToMap(
const emptyFilter = (filter?.length ?? 0) === 0;
const emptyExceptions = (exceptions?.length ?? 0) === 0;
- return Object.fromEntries(Object.entries(obj).filter(([ , value ]) => {
+ return fromEntries(Object.entries(obj).filter(([ , value ]) => {
return (
typeof value === 'number' &&
(emptyFilter || filter.includes(value)) &&