From e435e09b6df17b8fa348f59c14715de5771f2bc9 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Sat, 19 Jul 2025 19:32:57 +0200 Subject: [PATCH] fix: polyfill grupby --- package.json | 2 +- src/routes/+layout.ts | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index be349d9..9265652 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ui", - "version": "6.4.63", + "version": "6.4.64", "license": "BUSL-1.1", "private": true, "packageManager": "pnpm@9.15.5", diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts index b351068..f385b2d 100644 --- a/src/routes/+layout.ts +++ b/src/routes/+layout.ts @@ -6,12 +6,23 @@ export const trailingSlash = 'always' if (typeof Promise.withResolvers === 'undefined') { Promise.withResolvers = function () { - let resolve: (value: T | PromiseLike) => void - let reject: (reason?: unknown) => void + let resolve!: (value: T | PromiseLike) => void + let reject!: (reason?: unknown) => void const promise = new Promise((_resolve, _reject) => { resolve = _resolve reject = _reject }) - return { promise, resolve: resolve!, reject: reject! } + return { promise, resolve, reject } + } +} + +if (typeof Object.groupBy === 'undefined') { + Object.groupBy = (arr: T[], callback: (item: T, index: number) => K) => { + return [...arr].reduce>>((acc: Partial>, currentValue, index) => { + const key = callback(currentValue, index) + acc[key] ??= [] + acc[key]!.push(currentValue) + return acc + }, {}) } }