From 5f6ff29bf0f836da51176d30500c82f95198337f Mon Sep 17 00:00:00 2001
From: Maciej Krawczyk <63869461+wzarek@users.noreply.github.com>
Date: Tue, 26 Mar 2024 00:45:08 +0100
Subject: [PATCH 1/3] RSN-12 Renamed folder 'packages' to 'shared, implemented
base generic API services and auth services
---
Client/reasn-client/README.md | 95 -------------------
Client/reasn-client/apps/next/next.config.js | 25 +----
Client/reasn-client/package.json | 2 +-
Client/reasn-client/shared/app/.gitignore | 3 +
.../shared/app/features/home/screen.tsx | 27 ++++++
.../app/features/user/detail-screen.tsx | 26 +++++
Client/reasn-client/shared/app/index.ts | 4 +
Client/reasn-client/shared/app/package.json | 27 ++++++
.../shared/app/provider/ToastViewport.tsx | 7 ++
.../shared/app/provider/ToastViewport.web.tsx | 5 +
.../shared/app/provider/index.tsx | 32 +++++++
Client/reasn-client/shared/app/tsconfig.json | 9 ++
Client/reasn-client/shared/app/types.d.ts | 7 ++
.../reasn-client/shared/config/package.json | 29 ++++++
.../reasn-client/shared/config/src/index.ts | 1 +
.../shared/config/src/tamagui.config.ts | 94 ++++++++++++++++++
.../shared/services/apiServices.ts | 34 +++++++
.../shared/services/authorizationServices.ts | 35 +++++++
Client/reasn-client/shared/ui/.gitignore | 5 +
Client/reasn-client/shared/ui/package.json | 27 ++++++
.../shared/ui/src/CustomToast.tsx | 12 +++
.../shared/ui/src/MyComponent.tsx | 14 +++
.../shared/ui/src/NativeToast.tsx | 29 ++++++
.../reasn-client/shared/ui/src/animations.ts | 36 +++++++
Client/reasn-client/shared/ui/src/index.tsx | 5 +
Client/reasn-client/shared/ui/src/types.d.ts | 7 ++
Client/reasn-client/shared/ui/tsconfig.json | 9 ++
Client/reasn-client/tsconfig.json | 4 +-
Client/reasn-client/yarn.lock | 12 +--
29 files changed, 496 insertions(+), 126 deletions(-)
delete mode 100644 Client/reasn-client/README.md
create mode 100644 Client/reasn-client/shared/app/.gitignore
create mode 100644 Client/reasn-client/shared/app/features/home/screen.tsx
create mode 100644 Client/reasn-client/shared/app/features/user/detail-screen.tsx
create mode 100644 Client/reasn-client/shared/app/index.ts
create mode 100644 Client/reasn-client/shared/app/package.json
create mode 100644 Client/reasn-client/shared/app/provider/ToastViewport.tsx
create mode 100644 Client/reasn-client/shared/app/provider/ToastViewport.web.tsx
create mode 100644 Client/reasn-client/shared/app/provider/index.tsx
create mode 100644 Client/reasn-client/shared/app/tsconfig.json
create mode 100644 Client/reasn-client/shared/app/types.d.ts
create mode 100644 Client/reasn-client/shared/config/package.json
create mode 100644 Client/reasn-client/shared/config/src/index.ts
create mode 100644 Client/reasn-client/shared/config/src/tamagui.config.ts
create mode 100644 Client/reasn-client/shared/services/apiServices.ts
create mode 100644 Client/reasn-client/shared/services/authorizationServices.ts
create mode 100644 Client/reasn-client/shared/ui/.gitignore
create mode 100644 Client/reasn-client/shared/ui/package.json
create mode 100644 Client/reasn-client/shared/ui/src/CustomToast.tsx
create mode 100644 Client/reasn-client/shared/ui/src/MyComponent.tsx
create mode 100644 Client/reasn-client/shared/ui/src/NativeToast.tsx
create mode 100644 Client/reasn-client/shared/ui/src/animations.ts
create mode 100644 Client/reasn-client/shared/ui/src/index.tsx
create mode 100644 Client/reasn-client/shared/ui/src/types.d.ts
create mode 100644 Client/reasn-client/shared/ui/tsconfig.json
diff --git a/Client/reasn-client/README.md b/Client/reasn-client/README.md
deleted file mode 100644
index 60ab3afa..00000000
--- a/Client/reasn-client/README.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Tamagui + Solito + Next + Expo Monorepo
-
-```sh
-npm create tamagui
-```
-
-## 🔦 About
-
-This monorepo is a starter for an Expo + Next.js + Tamagui + Solito app.
-
-Many thanks to [@FernandoTheRojo](https://twitter.com/fernandotherojo) for the Solito starter monorepo which this was forked from. Check out his [talk about using expo + next together at Next.js Conf 2021](https://www.youtube.com/watch?v=0lnbdRweJtA).
-
-## 📦 Included packages
-
-- [Tamagui](https://tamagui.dev) 🪄
-- [solito](https://solito.dev) for cross-platform navigation
-- Expo SDK
-- Next.js
-- Expo Router
-
-## 🗂 Folder layout
-
-The main apps are:
-
-- `expo` (native)
-- `next` (web)
-
-- `packages` shared packages across apps
- - `ui` includes your custom UI kit that will be optimized by Tamagui
- - `app` you'll be importing most files from `app/`
- - `features` (don't use a `screens` folder. organize by feature.)
- - `provider` (all the providers that wrap the app, and some no-ops for Web.)
-
-You can add other folders inside of `packages/` if you know what you're doing and have a good reason to.
-
-## 🏁 Start the app
-
-- Install dependencies: `yarn`
-
-- Next.js local dev: `yarn web`
-
-To run with optimizer on in dev mode (just for testing, it's faster to leave it off): `yarn web:extract`. To build for production `yarn web:prod`.
-
-To see debug output to verify the compiler, add `// debug` as a comment to the top of any file.
-
-- Expo local dev: `yarn native`
-
-## UI Kit
-
-Note we're following the [design systems guide](https://tamagui.dev/docs/guides/design-systems) and creating our own package for components.
-
-See `packages/ui` named `@my/ui` for how this works.
-
-## 🆕 Add new dependencies
-
-### Pure JS dependencies
-
-If you're installing a JavaScript-only dependency that will be used across platforms, install it in `packages/app`:
-
-```sh
-cd packages/app
-yarn add date-fns
-cd ../..
-yarn
-```
-
-### Native dependencies
-
-If you're installing a library with any native code, you must install it in `expo`:
-
-```sh
-cd apps/expo
-yarn add react-native-reanimated
-cd ..
-yarn
-```
-
-## Update new dependencies
-
-### Pure JS dependencies
-
-```sh
-yarn upgrade-interactive
-```
-
-You can also install the native library inside of `packages/app` if you want to get autoimport for that package inside of the `app` folder. However, you need to be careful and install the _exact_ same version in both packages. If the versions mismatch at all, you'll potentially get terrible bugs. This is a classic monorepo issue. I use `lerna-update-wizard` to help with this (you don't need to use Lerna to use that lib).
-
-You may potentially want to have the native module transpiled for the next app. If you get error messages with `Cannot use import statement outside a module`, you may need to use `transpilePackages` in your `next.config.js` and add the module to the array there.
-
-### Deploying to Vercel
-
-- Root: `apps/next`
-- Install command to be `yarn set version stable && yarn install`
-- Build command: leave default setting
-- Output dir: leave default setting
diff --git a/Client/reasn-client/apps/next/next.config.js b/Client/reasn-client/apps/next/next.config.js
index f3e4ba27..0d43c6a0 100644
--- a/Client/reasn-client/apps/next/next.config.js
+++ b/Client/reasn-client/apps/next/next.config.js
@@ -10,37 +10,18 @@ const boolVals = {
const disableExtraction =
boolVals[process.env.DISABLE_EXTRACTION] ?? process.env.NODE_ENV === 'development'
-console.log(`
-
-Welcome to Tamagui!
-
-You can update this monorepo to the latest Tamagui release just by running:
-
-yarn upgrade:tamagui
-
-We've set up a few things for you.
-
-See the "excludeReactNativeWebExports" setting in next.config.js, which omits these
-from the bundle: Switch, ProgressBar Picker, CheckBox, Touchable. To save more,
-you can add ones you don't need like: AnimatedFlatList, FlatList, SectionList,
-VirtualizedList, VirtualizedSectionList.
-
-🐣
-
-Remove this log in next.config.js.
-
-`)
+console.log(`APP STARTED`)
const plugins = [
withTamagui({
- config: '../../packages/config/src/tamagui.config.ts',
+ config: '../../shared/config/src/tamagui.config.ts',
components: ['tamagui', '@my/ui'],
importsWhitelist: ['constants.js', 'colors.js'],
outputCSS: process.env.NODE_ENV === 'production' ? './public/tamagui.css' : null,
logTimings: true,
disableExtraction,
shouldExtract: (path) => {
- if (path.includes(join('packages', 'app'))) {
+ if (path.includes(join('shared', 'app'))) {
return true
}
},
diff --git a/Client/reasn-client/package.json b/Client/reasn-client/package.json
index 8bad0c77..82ab64f8 100644
--- a/Client/reasn-client/package.json
+++ b/Client/reasn-client/package.json
@@ -3,7 +3,7 @@
"private": true,
"workspaces": [
"./apps/*",
- "./packages/*"
+ "./shared/*"
],
"scripts": {
"native": "cd apps/expo && yarn start",
diff --git a/Client/reasn-client/shared/app/.gitignore b/Client/reasn-client/shared/app/.gitignore
new file mode 100644
index 00000000..b1b1661c
--- /dev/null
+++ b/Client/reasn-client/shared/app/.gitignore
@@ -0,0 +1,3 @@
+node_modules/
+.DS_Store
+THUMBS_DB
diff --git a/Client/reasn-client/shared/app/features/home/screen.tsx b/Client/reasn-client/shared/app/features/home/screen.tsx
new file mode 100644
index 00000000..1c2e75ae
--- /dev/null
+++ b/Client/reasn-client/shared/app/features/home/screen.tsx
@@ -0,0 +1,27 @@
+import {
+ Button,
+ H1,
+ Paragraph,
+ Separator,
+ YStack,
+} from '@my/ui'
+import { useLink } from 'solito/link'
+
+export const HomeScreen = () => {
+ const link = useLink({
+ href: '/user/420',
+ })
+
+ return (
+
+
+ Reasn.
+
+ find your reasn to meet
+
+ user
+
+
+
+ )
+}
diff --git a/Client/reasn-client/shared/app/features/user/detail-screen.tsx b/Client/reasn-client/shared/app/features/user/detail-screen.tsx
new file mode 100644
index 00000000..69c59b84
--- /dev/null
+++ b/Client/reasn-client/shared/app/features/user/detail-screen.tsx
@@ -0,0 +1,26 @@
+import { Button, H1, Paragraph, Separator, YStack } from '@my/ui'
+import { ChevronLeft } from '@tamagui/lucide-icons'
+import { createParam } from 'solito'
+import { useLink } from 'solito/link'
+
+const { useParam } = createParam<{ id: string }>()
+
+export const UserDetailScreen = () => {
+ const [id] = useParam('id')
+ const link = useLink({
+ href: '/',
+ })
+
+ return (
+
+
+ Reasn.
+
+ {`User ID: ${id}`}
+
+ back
+
+
+
+ )
+}
diff --git a/Client/reasn-client/shared/app/index.ts b/Client/reasn-client/shared/app/index.ts
new file mode 100644
index 00000000..066a3c92
--- /dev/null
+++ b/Client/reasn-client/shared/app/index.ts
@@ -0,0 +1,4 @@
+// leave this blank
+// don't re-export files from this workspace. it'll break next.js tree shaking
+// https://github.com/vercel/next.js/issues/12557
+export {}
diff --git a/Client/reasn-client/shared/app/package.json b/Client/reasn-client/shared/app/package.json
new file mode 100644
index 00000000..ffca03a4
--- /dev/null
+++ b/Client/reasn-client/shared/app/package.json
@@ -0,0 +1,27 @@
+{
+ "version": "0.0.0",
+ "name": "app",
+ "main": "index.ts",
+ "private": true,
+ "sideEffects": [
+ "*.css"
+ ],
+ "dependencies": {
+ "@my/ui": "0.0.1",
+ "@tamagui/animations-react-native": "^1.91.4",
+ "@tamagui/colors": "^1.91.4",
+ "@tamagui/font-inter": "^1.91.4",
+ "@tamagui/lucide-icons": "^1.91.4",
+ "@tamagui/shorthands": "^1.91.4",
+ "@tamagui/themes": "^1.91.4",
+ "burnt": "^0.12.1",
+ "expo-constants": "~14.4.2",
+ "expo-linking": "~5.0.2",
+ "react-native-safe-area-context": "4.6.3",
+ "solito": "^3.0.0"
+ },
+ "devDependencies": {
+ "@types/react": "^18.0.27",
+ "@types/react-native": "^0.71.3"
+ }
+}
diff --git a/Client/reasn-client/shared/app/provider/ToastViewport.tsx b/Client/reasn-client/shared/app/provider/ToastViewport.tsx
new file mode 100644
index 00000000..9adee2af
--- /dev/null
+++ b/Client/reasn-client/shared/app/provider/ToastViewport.tsx
@@ -0,0 +1,7 @@
+import { ToastViewport as ToastViewportOg } from '@my/ui'
+import { useSafeAreaInsets } from 'react-native-safe-area-context'
+
+export const ToastViewport = () => {
+ const { top, right, left } = useSafeAreaInsets()
+ return
+}
diff --git a/Client/reasn-client/shared/app/provider/ToastViewport.web.tsx b/Client/reasn-client/shared/app/provider/ToastViewport.web.tsx
new file mode 100644
index 00000000..b69826ec
--- /dev/null
+++ b/Client/reasn-client/shared/app/provider/ToastViewport.web.tsx
@@ -0,0 +1,5 @@
+import { ToastViewport as ToastViewportOg } from '@my/ui'
+
+export const ToastViewport = () => {
+ return
+}
diff --git a/Client/reasn-client/shared/app/provider/index.tsx b/Client/reasn-client/shared/app/provider/index.tsx
new file mode 100644
index 00000000..8899711d
--- /dev/null
+++ b/Client/reasn-client/shared/app/provider/index.tsx
@@ -0,0 +1,32 @@
+import { CustomToast, TamaguiProvider, TamaguiProviderProps, ToastProvider, config } from '@my/ui'
+import { useColorScheme } from 'react-native'
+
+import { ToastViewport } from './ToastViewport'
+
+export function Provider({ children, ...rest }: Omit) {
+ const scheme = useColorScheme()
+ return (
+
+
+ {children}
+
+
+
+
+
+ )
+}
diff --git a/Client/reasn-client/shared/app/tsconfig.json b/Client/reasn-client/shared/app/tsconfig.json
new file mode 100644
index 00000000..7744a100
--- /dev/null
+++ b/Client/reasn-client/shared/app/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.base",
+ "include": ["**/*.ts", "**/*.tsx"],
+ "compilerOptions": {
+ "composite": true,
+ "jsx": "react-jsx"
+ },
+ "references": []
+}
diff --git a/Client/reasn-client/shared/app/types.d.ts b/Client/reasn-client/shared/app/types.d.ts
new file mode 100644
index 00000000..5e6378f6
--- /dev/null
+++ b/Client/reasn-client/shared/app/types.d.ts
@@ -0,0 +1,7 @@
+import { config } from '@my/config'
+
+export type Conf = typeof config
+
+declare module '@my/ui' {
+ interface TamaguiCustomConfig extends Conf {}
+}
diff --git a/Client/reasn-client/shared/config/package.json b/Client/reasn-client/shared/config/package.json
new file mode 100644
index 00000000..570bba26
--- /dev/null
+++ b/Client/reasn-client/shared/config/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "@my/config",
+ "version": "0.0.1",
+ "sideEffects": [
+ "*.css"
+ ],
+ "private": true,
+ "types": "./src",
+ "main": "src/index.ts",
+ "files": [
+ "types",
+ "dist"
+ ],
+ "scripts": {
+ "build": "tamagui-build --skip-types",
+ "watch": "tamagui-build --skip-types --watch"
+ },
+ "dependencies": {
+ "@tamagui/animations-react-native": "^1.91.4",
+ "@tamagui/font-inter": "^1.91.4",
+ "@tamagui/react-native-media-driver": "^1.91.4",
+ "@tamagui/shorthands": "^1.91.4",
+ "@tamagui/themes": "^1.91.4",
+ "tamagui": "^1.91.4"
+ },
+ "devDependencies": {
+ "@tamagui/build": "^1.91.4"
+ }
+}
diff --git a/Client/reasn-client/shared/config/src/index.ts b/Client/reasn-client/shared/config/src/index.ts
new file mode 100644
index 00000000..3c8e8966
--- /dev/null
+++ b/Client/reasn-client/shared/config/src/index.ts
@@ -0,0 +1 @@
+export * from './tamagui.config'
diff --git a/Client/reasn-client/shared/config/src/tamagui.config.ts b/Client/reasn-client/shared/config/src/tamagui.config.ts
new file mode 100644
index 00000000..d25b63fe
--- /dev/null
+++ b/Client/reasn-client/shared/config/src/tamagui.config.ts
@@ -0,0 +1,94 @@
+import { createTamagui } from 'tamagui'
+import { createInterFont } from '@tamagui/font-inter'
+import { shorthands } from '@tamagui/shorthands'
+import { tokens } from '@tamagui/themes/v2'
+import { themes } from '@tamagui/themes/v2-themes'
+import { createMedia } from '@tamagui/react-native-media-driver'
+
+import { animations } from '@my/ui/src/animations'
+
+const headingFont = createInterFont({
+ size: {
+ 6: 15,
+ },
+ transform: {
+ 6: 'uppercase',
+ 7: 'none',
+ },
+ weight: {
+ 6: '400',
+ 7: '700',
+ },
+ color: {
+ 6: '$colorFocus',
+ 7: '$color',
+ },
+ letterSpacing: {
+ 5: 2,
+ 6: 1,
+ 7: 0,
+ 8: -1,
+ 9: -2,
+ 10: -3,
+ 12: -4,
+ 14: -5,
+ 15: -6,
+ },
+ face: {
+ 700: { normal: 'InterBold' },
+ },
+})
+
+const bodyFont = createInterFont(
+ {
+ face: {
+ 700: { normal: 'InterBold' },
+ },
+ },
+ {
+ sizeSize: (size) => Math.round(size * 1.1),
+ sizeLineHeight: (size) => Math.round(size * 1.1 + (size > 20 ? 10 : 10)),
+ }
+)
+
+export const config = createTamagui({
+ defaultFont: 'body',
+ animations,
+ shouldAddPrefersColorThemes: true,
+ themeClassNameOnRoot: true,
+
+ // highly recommended to turn this on if you are using shorthands
+ // to avoid having multiple valid style keys that do the same thing
+ // we leave it off by default because it can be confusing as you onboard.
+ onlyAllowShorthands: false,
+ shorthands,
+
+ fonts: {
+ body: bodyFont,
+ heading: headingFont,
+ },
+ settings: {
+ allowedStyleValues: 'somewhat-strict',
+ },
+ themes,
+ tokens,
+ media: createMedia({
+ xs: { maxWidth: 660 },
+ sm: { maxWidth: 800 },
+ md: { maxWidth: 1020 },
+ lg: { maxWidth: 1280 },
+ xl: { maxWidth: 1420 },
+ xxl: { maxWidth: 1600 },
+ gtXs: { minWidth: 660 + 1 },
+ gtSm: { minWidth: 800 + 1 },
+ gtMd: { minWidth: 1020 + 1 },
+ gtLg: { minWidth: 1280 + 1 },
+ short: { maxHeight: 820 },
+ tall: { minHeight: 820 },
+ hoverNone: { hover: 'none' },
+ pointerCoarse: { pointer: 'coarse' },
+ }),
+})
+
+// for the compiler to find it
+export default config
diff --git a/Client/reasn-client/shared/services/apiServices.ts b/Client/reasn-client/shared/services/apiServices.ts
new file mode 100644
index 00000000..dfcbd1b4
--- /dev/null
+++ b/Client/reasn-client/shared/services/apiServices.ts
@@ -0,0 +1,34 @@
+import { getAuthDataFromSessionStorage } from './authorizationServices'
+
+export enum HTTP_METHODS {
+ GET = "GET",
+ POST = "POST",
+ DELETE = "DELETE",
+ PUT = "PUT"
+}
+
+export const sendRequest = async(url: string, httpMethod: HTTP_METHODS, bodyData: Object, authRequired: boolean = false): Promise => {
+ try {
+ let headers = {}
+ if (authRequired){
+ const authData = getAuthDataFromSessionStorage()
+ const token = authData?.token ?? 'no-token'
+ headers['Authorization'] = `Bearer ${token}`
+ }
+
+ const response = await fetch(url, {
+ method: httpMethod,
+ headers: headers,
+ body: JSON.stringify(bodyData)
+ })
+
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`)
+ }
+
+ return await response.json() as T
+ } catch (error) {
+ console.error('Error fetching data:', error)
+ throw error
+ }
+}
\ No newline at end of file
diff --git a/Client/reasn-client/shared/services/authorizationServices.ts b/Client/reasn-client/shared/services/authorizationServices.ts
new file mode 100644
index 00000000..5d539d80
--- /dev/null
+++ b/Client/reasn-client/shared/services/authorizationServices.ts
@@ -0,0 +1,35 @@
+interface AuthData {
+ token: string;
+ role: string;
+}
+
+const AUTH_DATA_KEY : string = 'REASN__AUTH_DATA'
+
+export const getAuthDataFromSessionStorage = (): AuthData | null => {
+ const data = sessionStorage.getItem(AUTH_DATA_KEY)
+
+ if (data === null) {
+ console.warn("No auth data found in session storage.")
+ return null
+ }
+
+ let dataObj: { token: string; role: string } = JSON.parse(data)
+
+ return {
+ token: dataObj.token,
+ role: dataObj.role
+ }
+}
+
+export const setAuthDataInSessionStorage = (authData: AuthData): void => {
+ if (!authData) {
+ console.error("Cannot set an empty auth data in session storage.")
+ return;
+ }
+
+ sessionStorage.setItem(AUTH_DATA_KEY, JSON.stringify(authData))
+};
+
+export const clearAuthDataInSessionStorage = (): void => {
+ sessionStorage.removeItem(AUTH_DATA_KEY)
+};
diff --git a/Client/reasn-client/shared/ui/.gitignore b/Client/reasn-client/shared/ui/.gitignore
new file mode 100644
index 00000000..e9670990
--- /dev/null
+++ b/Client/reasn-client/shared/ui/.gitignore
@@ -0,0 +1,5 @@
+dist/
+.DS_Store
+THUMBS_DB
+node_modules/
+types/
diff --git a/Client/reasn-client/shared/ui/package.json b/Client/reasn-client/shared/ui/package.json
new file mode 100644
index 00000000..ecf2ad1d
--- /dev/null
+++ b/Client/reasn-client/shared/ui/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "@my/ui",
+ "version": "0.0.1",
+ "sideEffects": [
+ "*.css"
+ ],
+ "private": true,
+ "types": "./src",
+ "main": "src/index.tsx",
+ "module:jsx": "src",
+ "files": [
+ "types",
+ "dist"
+ ],
+ "scripts": {
+ "build": "tamagui-build --skip-types",
+ "watch": "tamagui-build --skip-types --watch"
+ },
+ "dependencies": {
+ "@my/config": "0.0.1",
+ "@tamagui/toast": "^1.91.4",
+ "tamagui": "^1.91.4"
+ },
+ "devDependencies": {
+ "@tamagui/build": "^1.91.4"
+ }
+}
diff --git a/Client/reasn-client/shared/ui/src/CustomToast.tsx b/Client/reasn-client/shared/ui/src/CustomToast.tsx
new file mode 100644
index 00000000..8d1bda32
--- /dev/null
+++ b/Client/reasn-client/shared/ui/src/CustomToast.tsx
@@ -0,0 +1,12 @@
+import Constants, { ExecutionEnvironment } from 'expo-constants'
+import { NativeToast as Toast } from './NativeToast'
+
+const isExpo = Constants.executionEnvironment === ExecutionEnvironment.StoreClient
+
+export const CustomToast = () => {
+ if (isExpo) {
+ return null
+ } else {
+ return
+ }
+}
diff --git a/Client/reasn-client/shared/ui/src/MyComponent.tsx b/Client/reasn-client/shared/ui/src/MyComponent.tsx
new file mode 100644
index 00000000..93abc1a8
--- /dev/null
+++ b/Client/reasn-client/shared/ui/src/MyComponent.tsx
@@ -0,0 +1,14 @@
+import { YStack, styled } from 'tamagui'
+
+export const MyComponent = styled(YStack, {
+ name: 'MyComponent',
+ backgroundColor: 'red',
+
+ variants: {
+ blue: {
+ true: {
+ backgroundColor: 'blue',
+ },
+ },
+ } as const,
+})
diff --git a/Client/reasn-client/shared/ui/src/NativeToast.tsx b/Client/reasn-client/shared/ui/src/NativeToast.tsx
new file mode 100644
index 00000000..4a4133ef
--- /dev/null
+++ b/Client/reasn-client/shared/ui/src/NativeToast.tsx
@@ -0,0 +1,29 @@
+import { Toast, useToastState } from '@tamagui/toast'
+import { YStack } from 'tamagui'
+
+export const NativeToast = () => {
+ const currentToast = useToastState()
+
+ if (!currentToast || currentToast.isHandledNatively) {
+ return null
+ }
+
+ return (
+
+
+ {currentToast.title}
+ {!!currentToast.message && {currentToast.message} }
+
+
+ )
+}
diff --git a/Client/reasn-client/shared/ui/src/animations.ts b/Client/reasn-client/shared/ui/src/animations.ts
new file mode 100644
index 00000000..15374b70
--- /dev/null
+++ b/Client/reasn-client/shared/ui/src/animations.ts
@@ -0,0 +1,36 @@
+import { createAnimations } from '@tamagui/animations-react-native'
+
+export const animations = createAnimations({
+ '100ms': {
+ type: 'timing',
+ duration: 100,
+ },
+ bouncy: {
+ damping: 9,
+ mass: 0.9,
+ stiffness: 150,
+ },
+ lazy: {
+ damping: 18,
+ stiffness: 50,
+ },
+ medium: {
+ damping: 15,
+ stiffness: 120,
+ mass: 1,
+ },
+ slow: {
+ damping: 15,
+ stiffness: 40,
+ },
+ quick: {
+ damping: 20,
+ mass: 1.2,
+ stiffness: 250,
+ },
+ tooltip: {
+ damping: 10,
+ mass: 0.9,
+ stiffness: 100,
+ },
+})
diff --git a/Client/reasn-client/shared/ui/src/index.tsx b/Client/reasn-client/shared/ui/src/index.tsx
new file mode 100644
index 00000000..92d8878b
--- /dev/null
+++ b/Client/reasn-client/shared/ui/src/index.tsx
@@ -0,0 +1,5 @@
+export * from 'tamagui'
+export * from '@tamagui/toast'
+export * from './MyComponent'
+export { config } from '@my/config'
+export * from './CustomToast'
diff --git a/Client/reasn-client/shared/ui/src/types.d.ts b/Client/reasn-client/shared/ui/src/types.d.ts
new file mode 100644
index 00000000..7d198c80
--- /dev/null
+++ b/Client/reasn-client/shared/ui/src/types.d.ts
@@ -0,0 +1,7 @@
+import { config } from '@my/config'
+
+export type Conf = typeof config
+
+declare module 'tamagui' {
+ interface TamaguiCustomConfig extends Conf {}
+}
diff --git a/Client/reasn-client/shared/ui/tsconfig.json b/Client/reasn-client/shared/ui/tsconfig.json
new file mode 100644
index 00000000..e68e89f0
--- /dev/null
+++ b/Client/reasn-client/shared/ui/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.base",
+ "include": ["**/*.ts", "**/*.tsx", "../config/src/tamagui.config.ts"],
+ "compilerOptions": {
+ "composite": true,
+ "jsx": "react-jsx"
+ },
+ "references": []
+}
diff --git a/Client/reasn-client/tsconfig.json b/Client/reasn-client/tsconfig.json
index 67a6ae38..0f3711e4 100644
--- a/Client/reasn-client/tsconfig.json
+++ b/Client/reasn-client/tsconfig.json
@@ -3,8 +3,8 @@
"strictNullChecks": true,
"noUncheckedIndexedAccess": true,
"paths": {
- "app/*": ["./packages/app/*"],
- "@my/ui/*": ["./packages/ui/*"]
+ "app/*": ["./shared/app/*"],
+ "@my/ui/*": ["./shared/ui/*"]
}
},
"extends": "tsconfig.base",
diff --git a/Client/reasn-client/yarn.lock b/Client/reasn-client/yarn.lock
index f9f547fe..03ede4b2 100644
--- a/Client/reasn-client/yarn.lock
+++ b/Client/reasn-client/yarn.lock
@@ -3604,9 +3604,9 @@ __metadata:
languageName: node
linkType: hard
-"@my/config@npm:0.0.1, @my/config@workspace:packages/config":
+"@my/config@npm:0.0.1, @my/config@workspace:shared/config":
version: 0.0.0-use.local
- resolution: "@my/config@workspace:packages/config"
+ resolution: "@my/config@workspace:shared/config"
dependencies:
"@tamagui/animations-react-native": "npm:^1.91.4"
"@tamagui/build": "npm:^1.91.4"
@@ -3618,9 +3618,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@my/ui@npm:0.0.1, @my/ui@workspace:packages/ui":
+"@my/ui@npm:0.0.1, @my/ui@workspace:shared/ui":
version: 0.0.0-use.local
- resolution: "@my/ui@workspace:packages/ui"
+ resolution: "@my/ui@workspace:shared/ui"
dependencies:
"@my/config": "npm:0.0.1"
"@tamagui/build": "npm:^1.91.4"
@@ -6970,9 +6970,9 @@ __metadata:
languageName: node
linkType: hard
-"app@npm:0.0.0, app@workspace:packages/app":
+"app@npm:0.0.0, app@workspace:shared/app":
version: 0.0.0-use.local
- resolution: "app@workspace:packages/app"
+ resolution: "app@workspace:shared/app"
dependencies:
"@my/ui": "npm:0.0.1"
"@tamagui/animations-react-native": "npm:^1.91.4"
From 9ae8f361d489b266805c7b5c4e53fead19a30401 Mon Sep 17 00:00:00 2001
From: Maciej Krawczyk <63869461+wzarek@users.noreply.github.com>
Date: Wed, 27 Mar 2024 19:37:18 +0100
Subject: [PATCH 2/3] RSN-12 Added error handling and docs, code cleanup and
directories setup
---
.../shared/enums/servicesEnums.ts | 9 +++++
.../shared/errors/ApiConnectionError.ts | 20 ++++++++++
.../shared/interfaces/AuthData.ts | 7 ++++
.../shared/services/apiServices.ts | 37 ++++++++++++-------
.../shared/services/authorizationServices.ts | 20 +++++++---
Client/reasn-client/shared/types/.gitkeep | 0
6 files changed, 74 insertions(+), 19 deletions(-)
create mode 100644 Client/reasn-client/shared/enums/servicesEnums.ts
create mode 100644 Client/reasn-client/shared/errors/ApiConnectionError.ts
create mode 100644 Client/reasn-client/shared/interfaces/AuthData.ts
create mode 100644 Client/reasn-client/shared/types/.gitkeep
diff --git a/Client/reasn-client/shared/enums/servicesEnums.ts b/Client/reasn-client/shared/enums/servicesEnums.ts
new file mode 100644
index 00000000..e3ea6d1f
--- /dev/null
+++ b/Client/reasn-client/shared/enums/servicesEnums.ts
@@ -0,0 +1,9 @@
+/**
+ * Enum representing HTTP methods.
+ */
+export enum HttpMethods {
+ GET = "GET",
+ POST = "POST",
+ DELETE = "DELETE",
+ PUT = "PUT"
+}
\ No newline at end of file
diff --git a/Client/reasn-client/shared/errors/ApiConnectionError.ts b/Client/reasn-client/shared/errors/ApiConnectionError.ts
new file mode 100644
index 00000000..3a238dde
--- /dev/null
+++ b/Client/reasn-client/shared/errors/ApiConnectionError.ts
@@ -0,0 +1,20 @@
+
+/**
+ * Represents an error that occurs when there is a problem with the API connection.
+ */
+class ApiConnectionError extends Error {
+ statusCode: number
+ message: string
+
+ /**
+ * Creates a new instance of the ApiConnectionError class.
+ * @param statusCode The HTTP status code associated with the error.
+ * @param message The error message.
+ */
+ constructor(statusCode: number, message: string) {
+ super(message)
+ this.statusCode = statusCode
+ this.message = message
+ this.name = 'ApiConnectionError'
+ }
+}
\ No newline at end of file
diff --git a/Client/reasn-client/shared/interfaces/AuthData.ts b/Client/reasn-client/shared/interfaces/AuthData.ts
new file mode 100644
index 00000000..0cc225b9
--- /dev/null
+++ b/Client/reasn-client/shared/interfaces/AuthData.ts
@@ -0,0 +1,7 @@
+/**
+ * Represents the authentication data.
+ */
+export interface AuthData {
+ token: string
+ role: string
+}
\ No newline at end of file
diff --git a/Client/reasn-client/shared/services/apiServices.ts b/Client/reasn-client/shared/services/apiServices.ts
index dfcbd1b4..e4d37609 100644
--- a/Client/reasn-client/shared/services/apiServices.ts
+++ b/Client/reasn-client/shared/services/apiServices.ts
@@ -1,13 +1,17 @@
import { getAuthDataFromSessionStorage } from './authorizationServices'
+import { HttpMethods } from '../enums/servicesEnums'
-export enum HTTP_METHODS {
- GET = "GET",
- POST = "POST",
- DELETE = "DELETE",
- PUT = "PUT"
-}
-
-export const sendRequest = async(url: string, httpMethod: HTTP_METHODS, bodyData: Object, authRequired: boolean = false): Promise => {
+/**
+ * Sends an HTTP request to the specified URL.
+ *
+ * @param url - The URL to send the request to.
+ * @param httpMethod - The HTTP method to use for the request.
+ * @param bodyData - The data to include in the request body.
+ * @param authRequired - Indicates whether the request requires authentication. Default is false.
+ * @returns A promise that resolves to the response data of type T.
+ * @throws {ApiConnectionError} If the response status is not ok.
+ */
+export const sendRequest = async(url: string, httpMethod: HttpMethods, bodyData: Object, authRequired: boolean = false): Promise => {
try {
let headers = {}
if (authRequired){
@@ -16,19 +20,26 @@ export const sendRequest = async(url: string, httpMethod: HTTP_METHODS, bodyD
headers['Authorization'] = `Bearer ${token}`
}
- const response = await fetch(url, {
+ const fetchOptions: RequestInit = {
method: httpMethod,
headers: headers,
- body: JSON.stringify(bodyData)
- })
+ }
+
+ if (httpMethod === HttpMethods.POST || httpMethod === HttpMethods.PUT) {
+ fetchOptions.body = JSON.stringify(bodyData)
+ }
+ const response = await fetch(url, fetchOptions)
+
if (!response.ok) {
- throw new Error(`HTTP error! status: ${response.status}`)
+ const errorData = await response.json();
+ console.error(`[HTTP ${response.status}]: ${errorData.message ?? 'No message provided'}`)
+ throw new ApiConnectionError(response.status, `${errorData.message ?? 'No message provided'}`)
}
return await response.json() as T
} catch (error) {
- console.error('Error fetching data:', error)
+ console.error(`Error while fetching data for url: ${httpMethod} ${url}, error: ${error}`)
throw error
}
}
\ No newline at end of file
diff --git a/Client/reasn-client/shared/services/authorizationServices.ts b/Client/reasn-client/shared/services/authorizationServices.ts
index 5d539d80..b9927212 100644
--- a/Client/reasn-client/shared/services/authorizationServices.ts
+++ b/Client/reasn-client/shared/services/authorizationServices.ts
@@ -1,10 +1,11 @@
-interface AuthData {
- token: string;
- role: string;
-}
+import { AuthData } from "../interfaces/AuthData";
-const AUTH_DATA_KEY : string = 'REASN__AUTH_DATA'
+const AUTH_DATA_KEY = "REASN_AUTH_DATA"
+/**
+ * Retrieves the authentication data from the session storage.
+ * @returns The authentication data if found, otherwise null.
+ */
export const getAuthDataFromSessionStorage = (): AuthData | null => {
const data = sessionStorage.getItem(AUTH_DATA_KEY)
@@ -21,15 +22,22 @@ export const getAuthDataFromSessionStorage = (): AuthData | null => {
}
}
+/**
+ * Sets the authentication data in the session storage.
+ * @param authData - The authentication data to be set.
+ */
export const setAuthDataInSessionStorage = (authData: AuthData): void => {
if (!authData) {
console.error("Cannot set an empty auth data in session storage.")
- return;
+ return
}
sessionStorage.setItem(AUTH_DATA_KEY, JSON.stringify(authData))
};
+/**
+ * Clears the authentication data from the session storage.
+ */
export const clearAuthDataInSessionStorage = (): void => {
sessionStorage.removeItem(AUTH_DATA_KEY)
};
diff --git a/Client/reasn-client/shared/types/.gitkeep b/Client/reasn-client/shared/types/.gitkeep
new file mode 100644
index 00000000..e69de29b
From 2afd84bc68e3dfd66498dbafaf14f2517dd4b3b2 Mon Sep 17 00:00:00 2001
From: Maciej Krawczyk <63869461+wzarek@users.noreply.github.com>
Date: Wed, 27 Mar 2024 22:28:35 +0100
Subject: [PATCH 3/3] RSN-12 Added unit tests with Jest configuration, added
paths to config
---
Client/reasn-client/jest.config.ts | 207 ++
Client/reasn-client/package.json | 17 +-
.../__tests__/services/apiServices.test.ts | 37 +
.../shared/errors/ApiConnectionError.ts | 4 +-
.../shared/services/apiServices.ts | 14 +-
Client/reasn-client/tsconfig.base.json | 2 +-
Client/reasn-client/tsconfig.json | 9 +-
Client/reasn-client/yarn.lock | 2262 ++++++++++++++++-
8 files changed, 2499 insertions(+), 53 deletions(-)
create mode 100644 Client/reasn-client/jest.config.ts
create mode 100644 Client/reasn-client/shared/__tests__/services/apiServices.test.ts
diff --git a/Client/reasn-client/jest.config.ts b/Client/reasn-client/jest.config.ts
new file mode 100644
index 00000000..20508086
--- /dev/null
+++ b/Client/reasn-client/jest.config.ts
@@ -0,0 +1,207 @@
+/**
+ * For a detailed explanation regarding each configuration property, visit:
+ * https://jestjs.io/docs/configuration
+ */
+
+import type { JestConfigWithTsJest } from 'ts-jest'
+
+const config: JestConfigWithTsJest = {
+ // All imported modules in your tests should be mocked automatically
+ // automock: false,
+
+ // Stop running tests after `n` failures
+ // bail: 0,
+
+ // The directory where Jest should store its cached dependency information
+ // cacheDirectory: "C:\\Users\\katan\\AppData\\Local\\Temp\\jest",
+
+ // Automatically clear mock calls, instances, contexts and results before every test
+ clearMocks: true,
+
+ // Indicates whether the coverage information should be collected while executing the test
+ // collectCoverage: false,
+
+ // An array of glob patterns indicating a set of files for which coverage information should be collected
+ // collectCoverageFrom: undefined,
+
+ // The directory where Jest should output its coverage files
+ // coverageDirectory: undefined,
+
+ // An array of regexp pattern strings used to skip coverage collection
+ // coveragePathIgnorePatterns: [
+ // "\\\\node_modules\\\\"
+ // ],
+
+ // Indicates which provider should be used to instrument code for coverage
+ coverageProvider: "v8",
+
+ // A list of reporter names that Jest uses when writing coverage reports
+ // coverageReporters: [
+ // "json",
+ // "text",
+ // "lcov",
+ // "clover"
+ // ],
+
+ // An object that configures minimum threshold enforcement for coverage results
+ // coverageThreshold: undefined,
+
+ // A path to a custom dependency extractor
+ // dependencyExtractor: undefined,
+
+ // Make calling deprecated APIs throw helpful error messages
+ // errorOnDeprecated: false,
+
+ // The default configuration for fake timers
+ // fakeTimers: {
+ // "enableGlobally": false
+ // },
+
+ // Force coverage collection from ignored files using an array of glob patterns
+ // forceCoverageMatch: [],
+
+ // A path to a module which exports an async function that is triggered once before all test suites
+ // globalSetup: undefined,
+
+ // A path to a module which exports an async function that is triggered once after all test suites
+ // globalTeardown: undefined,
+
+ // A set of global variables that need to be available in all test environments
+ // globals: {},
+
+ // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
+ // maxWorkers: "50%",
+
+ // An array of directory names to be searched recursively up from the requiring module's location
+ moduleDirectories: [
+ "node_modules"
+ ],
+
+ // An array of file extensions your modules use
+ moduleFileExtensions: [
+ "js",
+ "mjs",
+ "cjs",
+ "jsx",
+ "ts",
+ "tsx",
+ "json",
+ "node"
+ ],
+
+ // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
+ moduleNameMapper: {
+ '^app/(.*)$': '/shared/app$1',
+ "^@reasn-services/(.*)$": "/shared/services/$1",
+ "^@reasn-enums/(.*)$": "/shared/enums/$1",
+ "^@reasn-interfaces/(.*)$": "/shared/interfaces/$1",
+ "^@reasn-errors/(.*)$": "/shared/errors/$1",
+ },
+
+ // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
+ // modulePathIgnorePatterns: [],
+
+ // Activates notifications for test results
+ // notify: false,
+
+ // An enum that specifies notification mode. Requires { notify: true }
+ // notifyMode: "failure-change",
+
+ // A preset that is used as a base for Jest's configuration
+ preset: "ts-jest",
+
+ // Run tests from one or more projects
+ // projects: undefined,
+
+ // Use this configuration option to add custom reporters to Jest
+ // reporters: undefined,
+
+ // Automatically reset mock state before every test
+ // resetMocks: false,
+
+ // Reset the module registry before running each individual test
+ // resetModules: false,
+
+ // A path to a custom resolver
+ // resolver: undefined,
+
+ // Automatically restore mock state and implementation before every test
+ // restoreMocks: false,
+
+ // The root directory that Jest should scan for tests and modules within
+ // rootDir: undefined,
+
+ // A list of paths to directories that Jest should use to search for files in
+ roots: [
+ ""
+ ],
+
+ // Allows you to use a custom runner instead of Jest's default test runner
+ // runner: "jest-runner",
+
+ // The paths to modules that run some code to configure or set up the testing environment before each test
+ // setupFiles: [],
+
+ // A list of paths to modules that run some code to configure or set up the testing framework before each test
+ setupFilesAfterEnv: ['jest-fetch-mock'],
+
+ // The number of seconds after which a test is considered as slow and reported as such in the results.
+ // slowTestThreshold: 5,
+
+ // A list of paths to snapshot serializer modules Jest should use for snapshot testing
+ // snapshotSerializers: [],
+
+ // The test environment that will be used for testing
+ testEnvironment: "node",
+
+ // Options that will be passed to the testEnvironment
+ // testEnvironmentOptions: {},
+
+ // Adds a location field to test results
+ // testLocationInResults: false,
+
+ // The glob patterns Jest uses to detect test files
+ testMatch: [
+ "**/__tests__/**/*.[jt]s?(x)",
+ "**/?(*.)+(spec|test).[tj]s?(x)"
+ ],
+
+ // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
+ testPathIgnorePatterns: [
+ "\\\\node_modules\\\\"
+ ],
+
+ // The regexp pattern or array of patterns that Jest uses to detect test files
+ // testRegex: [],
+
+ // This option allows the use of a custom results processor
+ // testResultsProcessor: undefined,
+
+ // This option allows use of a custom test runner
+ // testRunner: "jest-circus/runner",
+
+ // A map from regular expressions to paths to transformers
+ transform: {
+ "^.+\\.(ts|tsx)?$": "ts-jest"
+ },
+
+ // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
+ transformIgnorePatterns: [
+ "\\\\node_modules\\\\",
+ "\\.pnp\\.[^\\\\]+$"
+ ],
+
+ // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
+ // unmockedModulePathPatterns: undefined,
+
+ // Indicates whether each individual test should be reported during the run
+ // verbose: undefined,
+
+ // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
+ // watchPathIgnorePatterns: [],
+
+ // Whether to use watchman for file crawling
+ // watchman: true,
+};
+
+export default config;
diff --git a/Client/reasn-client/package.json b/Client/reasn-client/package.json
index 82ab64f8..b7add80c 100644
--- a/Client/reasn-client/package.json
+++ b/Client/reasn-client/package.json
@@ -18,7 +18,8 @@
"build": "yarn workspaces foreach --all --exclude next-app run build",
"upgrade:tamagui": "yarn up '*tamagui*'@latest '@tamagui/*'@latest react-native-web-lite@latest",
"upgrade:tamagui:canary": "yarn up '*tamagui*'@canary '@tamagui/*'@canary react-native-web-lite@canary",
- "check-deps": "check-dependency-version-consistency ."
+ "check-deps": "check-dependency-version-consistency .",
+ "test": "jest"
},
"resolutions": {
"react": "^18.2.0",
@@ -37,5 +38,17 @@
"turbo": "^1.10.3",
"typescript": "^5.3.3"
},
- "packageManager": "yarn@4.1.0"
+ "packageManager": "yarn@4.1.0",
+ "devDependencies": {
+ "@testing-library/jest-dom": "^6.4.2",
+ "@testing-library/react": "^14.2.2",
+ "@types/jest": "^29.5.12",
+ "fetch-mock": "^9.11.0",
+ "jest": "^29.7.0",
+ "jest-environment-jsdom": "^29.7.0",
+ "jest-fetch-mock": "^3.0.3",
+ "node-fetch": "^3.3.2",
+ "ts-jest": "^29.1.2",
+ "ts-node": "^10.9.2"
+ }
}
diff --git a/Client/reasn-client/shared/__tests__/services/apiServices.test.ts b/Client/reasn-client/shared/__tests__/services/apiServices.test.ts
new file mode 100644
index 00000000..fe2a919b
--- /dev/null
+++ b/Client/reasn-client/shared/__tests__/services/apiServices.test.ts
@@ -0,0 +1,37 @@
+import { sendRequest } from '@reasn-services/apiServices';
+import { HttpMethods } from '@reasn-enums/servicesEnums';
+import { describe, expect, it } from '@jest/globals';
+import fetch from 'cross-fetch';
+import ApiConnectionError from '@reasn-errors/ApiConnectionError';
+
+jest.mock('cross-fetch');
+
+describe('sendRequest', () => {
+ beforeEach(() => {
+ (fetch as jest.Mock).mockClear();
+ });
+
+ it('should return data when response is ok', async () => {
+ const mockData = { key: 'value' };
+ (fetch as jest.Mock).mockResolvedValueOnce({
+ ok: true,
+ json: () => Promise.resolve(mockData),
+ });
+
+ const data = await sendRequest('http://example.com', HttpMethods.GET);
+
+ expect(data).toEqual(mockData);
+ });
+
+ it('should throw an error when response is not ok', async () => {
+ const mockData = { message: 'Error message' };
+ (fetch as jest.Mock).mockResolvedValueOnce({
+ ok: false,
+ status: 500,
+ statusText: mockData.message,
+ json: () => Promise.resolve(mockData),
+ });
+
+ await expect(sendRequest('http://example.com', HttpMethods.GET)).rejects.toThrow(ApiConnectionError);
+ });
+});
\ No newline at end of file
diff --git a/Client/reasn-client/shared/errors/ApiConnectionError.ts b/Client/reasn-client/shared/errors/ApiConnectionError.ts
index 3a238dde..0414b34c 100644
--- a/Client/reasn-client/shared/errors/ApiConnectionError.ts
+++ b/Client/reasn-client/shared/errors/ApiConnectionError.ts
@@ -17,4 +17,6 @@ class ApiConnectionError extends Error {
this.message = message
this.name = 'ApiConnectionError'
}
-}
\ No newline at end of file
+}
+
+export default ApiConnectionError
\ No newline at end of file
diff --git a/Client/reasn-client/shared/services/apiServices.ts b/Client/reasn-client/shared/services/apiServices.ts
index e4d37609..0615fe25 100644
--- a/Client/reasn-client/shared/services/apiServices.ts
+++ b/Client/reasn-client/shared/services/apiServices.ts
@@ -1,5 +1,7 @@
-import { getAuthDataFromSessionStorage } from './authorizationServices'
-import { HttpMethods } from '../enums/servicesEnums'
+import { getAuthDataFromSessionStorage } from '@reasn-services/authorizationServices'
+import { HttpMethods } from '@reasn-enums/servicesEnums'
+import ApiConnectionError from '@reasn-errors/ApiConnectionError'
+import fetch from "cross-fetch"
/**
* Sends an HTTP request to the specified URL.
@@ -11,7 +13,7 @@ import { HttpMethods } from '../enums/servicesEnums'
* @returns A promise that resolves to the response data of type T.
* @throws {ApiConnectionError} If the response status is not ok.
*/
-export const sendRequest = async(url: string, httpMethod: HttpMethods, bodyData: Object, authRequired: boolean = false): Promise => {
+export const sendRequest = async(url: string, httpMethod: HttpMethods, bodyData: Object = {}, authRequired: boolean = false): Promise => {
try {
let headers = {}
if (authRequired){
@@ -20,19 +22,19 @@ export const sendRequest = async(url: string, httpMethod: HttpMethods, bodyDa
headers['Authorization'] = `Bearer ${token}`
}
- const fetchOptions: RequestInit = {
+ const fetchOptions = {
method: httpMethod,
headers: headers,
}
if (httpMethod === HttpMethods.POST || httpMethod === HttpMethods.PUT) {
- fetchOptions.body = JSON.stringify(bodyData)
+ fetchOptions["body"] = JSON.stringify(bodyData)
}
const response = await fetch(url, fetchOptions)
if (!response.ok) {
- const errorData = await response.json();
+ const errorData = await response.json() as {message:string};
console.error(`[HTTP ${response.status}]: ${errorData.message ?? 'No message provided'}`)
throw new ApiConnectionError(response.status, `${errorData.message ?? 'No message provided'}`)
}
diff --git a/Client/reasn-client/tsconfig.base.json b/Client/reasn-client/tsconfig.base.json
index 98102312..17bf31c9 100644
--- a/Client/reasn-client/tsconfig.base.json
+++ b/Client/reasn-client/tsconfig.base.json
@@ -25,7 +25,7 @@
"sourceMap": false,
"strictNullChecks": true,
"target": "es2020",
- "types": ["node"],
+ "types": ["node", "jest"],
"lib": ["dom", "esnext"]
},
"exclude": ["_"],
diff --git a/Client/reasn-client/tsconfig.json b/Client/reasn-client/tsconfig.json
index 0f3711e4..50c75379 100644
--- a/Client/reasn-client/tsconfig.json
+++ b/Client/reasn-client/tsconfig.json
@@ -4,9 +4,14 @@
"noUncheckedIndexedAccess": true,
"paths": {
"app/*": ["./shared/app/*"],
- "@my/ui/*": ["./shared/ui/*"]
+ "@my/ui/*": ["./shared/ui/*"],
+ "@reasn-services/*": ["./shared/services/*"],
+ "@reasn-types/*": ["./shared/types/*"],
+ "@reasn-interfaces/*": ["./shared/interfaces/*"],
+ "@reasn-errors/*": ["./shared/errors/*"],
+ "@reasn-enums*": ["./shared/enums/*"],
}
},
- "extends": "tsconfig.base",
+ "extends": "./tsconfig.base.json",
"exclude": ["**/node_modules", "**/dist", "**/types", "apps/next/out", "apps/next/.next", "apps/next/.tamagui"]
}
diff --git a/Client/reasn-client/yarn.lock b/Client/reasn-client/yarn.lock
index 03ede4b2..4007d371 100644
--- a/Client/reasn-client/yarn.lock
+++ b/Client/reasn-client/yarn.lock
@@ -17,6 +17,13 @@ __metadata:
languageName: node
linkType: hard
+"@adobe/css-tools@npm:^4.3.2":
+ version: 4.3.3
+ resolution: "@adobe/css-tools@npm:4.3.3"
+ checksum: 10/0e77057efb4e18182560855503066b75edca98671be327d3f8a7ae89ec3da6821e693114b55225909fca00d7e7ed8422f3d79d71fe95dd4d5df1f2026a9fda02
+ languageName: node
+ linkType: hard
+
"@ampproject/remapping@npm:^2.2.0":
version: 2.2.1
resolution: "@ampproject/remapping@npm:2.2.1"
@@ -45,6 +52,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2":
+ version: 7.24.2
+ resolution: "@babel/code-frame@npm:7.24.2"
+ dependencies:
+ "@babel/highlight": "npm:^7.24.2"
+ picocolors: "npm:^1.0.0"
+ checksum: 10/7db8f5b36ffa3f47a37f58f61e3d130b9ecad21961f3eede7e2a4ac2c7e4a5efb6e9d03a810c669bc986096831b6c0dfc2c3082673d93351b82359c1b03e0590
+ languageName: node
+ linkType: hard
+
"@babel/code-frame@npm:^7.22.13":
version: 7.22.13
resolution: "@babel/code-frame@npm:7.22.13"
@@ -79,6 +96,36 @@ __metadata:
languageName: node
linkType: hard
+"@babel/compat-data@npm:^7.23.5":
+ version: 7.24.1
+ resolution: "@babel/compat-data@npm:7.24.1"
+ checksum: 10/d5460b99c07ff8487467c52f742a219c7e3bcdcaa2882456a13c0d0c8116405f0c85a651fb60511284dc64ed627a5e989f24c3cd6e71d07a9947e7c8954b433c
+ languageName: node
+ linkType: hard
+
+"@babel/core@npm:^7.0.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9":
+ version: 7.24.3
+ resolution: "@babel/core@npm:7.24.3"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.2.0"
+ "@babel/code-frame": "npm:^7.24.2"
+ "@babel/generator": "npm:^7.24.1"
+ "@babel/helper-compilation-targets": "npm:^7.23.6"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
+ "@babel/helpers": "npm:^7.24.1"
+ "@babel/parser": "npm:^7.24.1"
+ "@babel/template": "npm:^7.24.0"
+ "@babel/traverse": "npm:^7.24.1"
+ "@babel/types": "npm:^7.24.0"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: 10/3a7b9931fe0d93c500dcdb6b36f038b0f9d5090c048818e62aa8321c8f6e8ccc3d47373f0b40591c1fe3b13e5096bacabb1ade83f9f4d86f57878c39a9d1ade1
+ languageName: node
+ linkType: hard
+
"@babel/core@npm:^7.13.16, @babel/core@npm:^7.17.9, @babel/core@npm:^7.18.6, @babel/core@npm:^7.20.0, @babel/core@npm:^7.20.7":
version: 7.21.4
resolution: "@babel/core@npm:7.21.4"
@@ -149,6 +196,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/generator@npm:^7.24.1, @babel/generator@npm:^7.7.2":
+ version: 7.24.1
+ resolution: "@babel/generator@npm:7.24.1"
+ dependencies:
+ "@babel/types": "npm:^7.24.0"
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.25"
+ jsesc: "npm:^2.5.1"
+ checksum: 10/c6160e9cd63d7ed7168dee27d827f9c46fab820c45861a5df56cd5c78047f7c3fc97c341e9ccfa1a6f97c87ec2563d9903380b5f92794e3540a6c5f99eb8f075
+ languageName: node
+ linkType: hard
+
"@babel/helper-annotate-as-pure@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/helper-annotate-as-pure@npm:7.18.6"
@@ -205,6 +264,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-compilation-targets@npm:^7.23.6":
+ version: 7.23.6
+ resolution: "@babel/helper-compilation-targets@npm:7.23.6"
+ dependencies:
+ "@babel/compat-data": "npm:^7.23.5"
+ "@babel/helper-validator-option": "npm:^7.23.5"
+ browserslist: "npm:^4.22.2"
+ lru-cache: "npm:^5.1.1"
+ semver: "npm:^6.3.1"
+ checksum: 10/05595cd73087ddcd81b82d2f3297aac0c0422858dfdded43d304786cf680ec33e846e2317e6992d2c964ee61d93945cbf1fa8ec80b55aee5bfb159227fb02cb9
+ languageName: node
+ linkType: hard
+
"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0":
version: 7.21.4
resolution: "@babel/helper-create-class-features-plugin@npm:7.21.4"
@@ -402,6 +474,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-plugin-utils@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/helper-plugin-utils@npm:7.24.0"
+ checksum: 10/dc8c7af321baf7653d93315beffee1790eb2c464b4f529273a24c8743a3f3095bf3f2d11828cb2c52d56282ef43a4bdc67a79c9ab8dd845e35d01871f3f28a0e
+ languageName: node
+ linkType: hard
+
"@babel/helper-remap-async-to-generator@npm:^7.18.9":
version: 7.18.9
resolution: "@babel/helper-remap-async-to-generator@npm:7.18.9"
@@ -537,7 +616,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-validator-option@npm:^7.22.15":
+"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.23.5":
version: 7.23.5
resolution: "@babel/helper-validator-option@npm:7.23.5"
checksum: 10/537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e
@@ -589,6 +668,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helpers@npm:^7.24.1":
+ version: 7.24.1
+ resolution: "@babel/helpers@npm:7.24.1"
+ dependencies:
+ "@babel/template": "npm:^7.24.0"
+ "@babel/traverse": "npm:^7.24.1"
+ "@babel/types": "npm:^7.24.0"
+ checksum: 10/82d3cdd3beafc4583f237515ef220bc205ced8b0540c6c6e191fc367a9589bd7304b8f9800d3d7574d4db9f079bd555979816b1874c86e53b3e7dd2032ad6c7c
+ languageName: node
+ linkType: hard
+
"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.18.6":
version: 7.18.6
resolution: "@babel/highlight@npm:7.18.6"
@@ -622,6 +712,27 @@ __metadata:
languageName: node
linkType: hard
+"@babel/highlight@npm:^7.24.2":
+ version: 7.24.2
+ resolution: "@babel/highlight@npm:7.24.2"
+ dependencies:
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ chalk: "npm:^2.4.2"
+ js-tokens: "npm:^4.0.0"
+ picocolors: "npm:^1.0.0"
+ checksum: 10/4555124235f34403bb28f55b1de58edf598491cc181c75f8afc8fe529903cb598cd52fe3bf2faab9bc1f45c299681ef0e44eea7a848bb85c500c5a4fe13f54f6
+ languageName: node
+ linkType: hard
+
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1":
+ version: 7.24.1
+ resolution: "@babel/parser@npm:7.24.1"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10/561d9454091e07ecfec3828ce79204c0fc9d24e17763f36181c6984392be4ca6b79c8225f2224fdb7b1b3b70940e243368c8f83ac77ec2dc20f46d3d06bd6795
+ languageName: node
+ linkType: hard
+
"@babel/parser@npm:^7.1.6, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.18.6, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.4":
version: 7.21.4
resolution: "@babel/parser@npm:7.21.4"
@@ -900,7 +1011,18 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-class-properties@npm:^7.0.0, @babel/plugin-syntax-class-properties@npm:^7.12.13":
+"@babel/plugin-syntax-bigint@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/plugin-syntax-bigint@npm:7.8.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-class-properties@npm:^7.0.0, @babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3":
version: 7.12.13
resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13"
dependencies:
@@ -999,6 +1121,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-import-meta@npm:^7.8.3":
+ version: 7.10.4
+ resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.10.4"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-json-strings@npm:^7.8.3":
version: 7.8.3
resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3"
@@ -1043,7 +1176,18 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4":
+"@babel/plugin-syntax-jsx@npm:^7.7.2":
+ version: 7.24.1
+ resolution: "@babel/plugin-syntax-jsx@npm:7.24.1"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.24.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/712f7e7918cb679f106769f57cfab0bc99b311032665c428b98f4c3e2e6d567601d45386a4f246df6a80d741e1f94192b3f008800d66c4f1daae3ad825c243f0
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3":
version: 7.10.4
resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4"
dependencies:
@@ -1065,7 +1209,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-numeric-separator@npm:^7.10.4":
+"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3":
version: 7.10.4
resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4"
dependencies:
@@ -1120,7 +1264,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-top-level-await@npm:^7.14.5":
+"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3":
version: 7.14.5
resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5"
dependencies:
@@ -1142,6 +1286,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-typescript@npm:^7.7.2":
+ version: 7.24.1
+ resolution: "@babel/plugin-syntax-typescript@npm:7.24.1"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.24.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/bf4bd70788d5456b5f75572e47a2e31435c7c4e43609bd4dffd2cc0c7a6cf90aabcf6cd389e351854de9a64412a07d30effef5373251fe8f6a4c9db0c0163bda
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-arrow-functions@npm:^7.0.0, @babel/plugin-transform-arrow-functions@npm:^7.20.7":
version: 7.20.7
resolution: "@babel/plugin-transform-arrow-functions@npm:7.20.7"
@@ -1904,6 +2059,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:^7.9.2":
+ version: 7.24.1
+ resolution: "@babel/runtime@npm:7.24.1"
+ dependencies:
+ regenerator-runtime: "npm:^0.14.0"
+ checksum: 10/3a8d61400c636d1ce3a42895a106cd4dfb4e9b88832a8a754a724c68652f821d7a46dce394305d7623f9f0d3597bf0a98aeb5f9c150ef60e14bbbf66caab4654
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.0.0, @babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7":
version: 7.20.7
resolution: "@babel/template@npm:7.20.7"
@@ -1926,6 +2090,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/template@npm:^7.24.0, @babel/template@npm:^7.3.3":
+ version: 7.24.0
+ resolution: "@babel/template@npm:7.24.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.23.5"
+ "@babel/parser": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ checksum: 10/8c538338c7de8fac8ada691a5a812bdcbd60bd4a4eb5adae2cc9ee19773e8fb1a724312a00af9e1ce49056ffd3c3475e7287b5668cf6360bfb3f8ac827a06ffe
+ languageName: node
+ linkType: hard
+
"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.18.6, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.21.0, @babel/traverse@npm:^7.21.2, @babel/traverse@npm:^7.21.4":
version: 7.21.4
resolution: "@babel/traverse@npm:7.21.4"
@@ -1962,6 +2137,35 @@ __metadata:
languageName: node
linkType: hard
+"@babel/traverse@npm:^7.24.1":
+ version: 7.24.1
+ resolution: "@babel/traverse@npm:7.24.1"
+ dependencies:
+ "@babel/code-frame": "npm:^7.24.1"
+ "@babel/generator": "npm:^7.24.1"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-function-name": "npm:^7.23.0"
+ "@babel/helper-hoist-variables": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/parser": "npm:^7.24.1"
+ "@babel/types": "npm:^7.24.0"
+ debug: "npm:^4.3.1"
+ globals: "npm:^11.1.0"
+ checksum: 10/b9b0173c286ef549e179f3725df3c4958069ad79fe5b9840adeb99692eb4a5a08db4e735c0f086aab52e7e08ec711cee9e7c06cb908d8035641d1382172308d3
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.3.3":
+ version: 7.24.0
+ resolution: "@babel/types@npm:7.24.0"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.23.4"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10/a0b4875ce2e132f9daff0d5b27c7f4c4fcc97f2b084bdc5834e92c9d32592778489029e65d99d00c406da612d87b72d7a236c0afccaa1435c028d0c94c9b6da4
+ languageName: node
+ linkType: hard
+
"@babel/types@npm:^7.1.6, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.2, @babel/types@npm:^7.21.4, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.21.4
resolution: "@babel/types@npm:7.21.4"
@@ -2015,6 +2219,13 @@ __metadata:
languageName: node
linkType: hard
+"@bcoe/v8-coverage@npm:^0.2.3":
+ version: 0.2.3
+ resolution: "@bcoe/v8-coverage@npm:0.2.3"
+ checksum: 10/1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d
+ languageName: node
+ linkType: hard
+
"@changesets/types@npm:^4.0.1":
version: 4.1.0
resolution: "@changesets/types@npm:4.1.0"
@@ -3287,6 +3498,81 @@ __metadata:
languageName: node
linkType: hard
+"@istanbuljs/load-nyc-config@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "@istanbuljs/load-nyc-config@npm:1.1.0"
+ dependencies:
+ camelcase: "npm:^5.3.1"
+ find-up: "npm:^4.1.0"
+ get-package-type: "npm:^0.1.0"
+ js-yaml: "npm:^3.13.1"
+ resolve-from: "npm:^5.0.0"
+ checksum: 10/b000a5acd8d4fe6e34e25c399c8bdbb5d3a202b4e10416e17bfc25e12bab90bb56d33db6089ae30569b52686f4b35ff28ef26e88e21e69821d2b85884bd055b8
+ languageName: node
+ linkType: hard
+
+"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3":
+ version: 0.1.3
+ resolution: "@istanbuljs/schema@npm:0.1.3"
+ checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b
+ languageName: node
+ linkType: hard
+
+"@jest/console@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/console@npm:29.7.0"
+ dependencies:
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ jest-message-util: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ slash: "npm:^3.0.0"
+ checksum: 10/4a80c750e8a31f344233cb9951dee9b77bf6b89377cb131f8b3cde07ff218f504370133a5963f6a786af4d2ce7f85642db206ff7a15f99fe58df4c38ac04899e
+ languageName: node
+ linkType: hard
+
+"@jest/core@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/core@npm:29.7.0"
+ dependencies:
+ "@jest/console": "npm:^29.7.0"
+ "@jest/reporters": "npm:^29.7.0"
+ "@jest/test-result": "npm:^29.7.0"
+ "@jest/transform": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ ansi-escapes: "npm:^4.2.1"
+ chalk: "npm:^4.0.0"
+ ci-info: "npm:^3.2.0"
+ exit: "npm:^0.1.2"
+ graceful-fs: "npm:^4.2.9"
+ jest-changed-files: "npm:^29.7.0"
+ jest-config: "npm:^29.7.0"
+ jest-haste-map: "npm:^29.7.0"
+ jest-message-util: "npm:^29.7.0"
+ jest-regex-util: "npm:^29.6.3"
+ jest-resolve: "npm:^29.7.0"
+ jest-resolve-dependencies: "npm:^29.7.0"
+ jest-runner: "npm:^29.7.0"
+ jest-runtime: "npm:^29.7.0"
+ jest-snapshot: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ jest-validate: "npm:^29.7.0"
+ jest-watcher: "npm:^29.7.0"
+ micromatch: "npm:^4.0.4"
+ pretty-format: "npm:^29.7.0"
+ slash: "npm:^3.0.0"
+ strip-ansi: "npm:^6.0.0"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ checksum: 10/ab6ac2e562d083faac7d8152ec1cc4eccc80f62e9579b69ed40aedf7211a6b2d57024a6cd53c4e35fd051c39a236e86257d1d99ebdb122291969a0a04563b51e
+ languageName: node
+ linkType: hard
+
"@jest/create-cache-key-function@npm:^29.2.1":
version: 29.5.0
resolution: "@jest/create-cache-key-function@npm:29.5.0"
@@ -3308,6 +3594,37 @@ __metadata:
languageName: node
linkType: hard
+"@jest/environment@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/environment@npm:29.7.0"
+ dependencies:
+ "@jest/fake-timers": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ jest-mock: "npm:^29.7.0"
+ checksum: 10/90b5844a9a9d8097f2cf107b1b5e57007c552f64315da8c1f51217eeb0a9664889d3f145cdf8acf23a84f4d8309a6675e27d5b059659a004db0ea9546d1c81a8
+ languageName: node
+ linkType: hard
+
+"@jest/expect-utils@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/expect-utils@npm:29.7.0"
+ dependencies:
+ jest-get-type: "npm:^29.6.3"
+ checksum: 10/ef8d379778ef574a17bde2801a6f4469f8022a46a5f9e385191dc73bb1fc318996beaed4513fbd7055c2847227a1bed2469977821866534593a6e52a281499ee
+ languageName: node
+ linkType: hard
+
+"@jest/expect@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/expect@npm:29.7.0"
+ dependencies:
+ expect: "npm:^29.7.0"
+ jest-snapshot: "npm:^29.7.0"
+ checksum: 10/fea6c3317a8da5c840429d90bfe49d928e89c9e89fceee2149b93a11b7e9c73d2f6e4d7cdf647163da938fc4e2169e4490be6bae64952902bc7a701033fd4880
+ languageName: node
+ linkType: hard
+
"@jest/fake-timers@npm:^29.5.0":
version: 29.5.0
resolution: "@jest/fake-timers@npm:29.5.0"
@@ -3322,6 +3639,69 @@ __metadata:
languageName: node
linkType: hard
+"@jest/fake-timers@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/fake-timers@npm:29.7.0"
+ dependencies:
+ "@jest/types": "npm:^29.6.3"
+ "@sinonjs/fake-timers": "npm:^10.0.2"
+ "@types/node": "npm:*"
+ jest-message-util: "npm:^29.7.0"
+ jest-mock: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ checksum: 10/9b394e04ffc46f91725ecfdff34c4e043eb7a16e1d78964094c9db3fde0b1c8803e45943a980e8c740d0a3d45661906de1416ca5891a538b0660481a3a828c27
+ languageName: node
+ linkType: hard
+
+"@jest/globals@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/globals@npm:29.7.0"
+ dependencies:
+ "@jest/environment": "npm:^29.7.0"
+ "@jest/expect": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ jest-mock: "npm:^29.7.0"
+ checksum: 10/97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123
+ languageName: node
+ linkType: hard
+
+"@jest/reporters@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/reporters@npm:29.7.0"
+ dependencies:
+ "@bcoe/v8-coverage": "npm:^0.2.3"
+ "@jest/console": "npm:^29.7.0"
+ "@jest/test-result": "npm:^29.7.0"
+ "@jest/transform": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@jridgewell/trace-mapping": "npm:^0.3.18"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ collect-v8-coverage: "npm:^1.0.0"
+ exit: "npm:^0.1.2"
+ glob: "npm:^7.1.3"
+ graceful-fs: "npm:^4.2.9"
+ istanbul-lib-coverage: "npm:^3.0.0"
+ istanbul-lib-instrument: "npm:^6.0.0"
+ istanbul-lib-report: "npm:^3.0.0"
+ istanbul-lib-source-maps: "npm:^4.0.0"
+ istanbul-reports: "npm:^3.1.3"
+ jest-message-util: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ jest-worker: "npm:^29.7.0"
+ slash: "npm:^3.0.0"
+ string-length: "npm:^4.0.1"
+ strip-ansi: "npm:^6.0.0"
+ v8-to-istanbul: "npm:^9.0.1"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ checksum: 10/a17d1644b26dea14445cedd45567f4ba7834f980be2ef74447204e14238f121b50d8b858fde648083d2cd8f305f81ba434ba49e37a5f4237a6f2a61180cc73dc
+ languageName: node
+ linkType: hard
+
"@jest/schemas@npm:^29.4.3":
version: 29.4.3
resolution: "@jest/schemas@npm:29.4.3"
@@ -3340,6 +3720,64 @@ __metadata:
languageName: node
linkType: hard
+"@jest/source-map@npm:^29.6.3":
+ version: 29.6.3
+ resolution: "@jest/source-map@npm:29.6.3"
+ dependencies:
+ "@jridgewell/trace-mapping": "npm:^0.3.18"
+ callsites: "npm:^3.0.0"
+ graceful-fs: "npm:^4.2.9"
+ checksum: 10/bcc5a8697d471396c0003b0bfa09722c3cd879ad697eb9c431e6164e2ea7008238a01a07193dfe3cbb48b1d258eb7251f6efcea36f64e1ebc464ea3c03ae2deb
+ languageName: node
+ linkType: hard
+
+"@jest/test-result@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/test-result@npm:29.7.0"
+ dependencies:
+ "@jest/console": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/istanbul-lib-coverage": "npm:^2.0.0"
+ collect-v8-coverage: "npm:^1.0.0"
+ checksum: 10/c073ab7dfe3c562bff2b8fee6cc724ccc20aa96bcd8ab48ccb2aa309b4c0c1923a9e703cea386bd6ae9b71133e92810475bb9c7c22328fc63f797ad3324ed189
+ languageName: node
+ linkType: hard
+
+"@jest/test-sequencer@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/test-sequencer@npm:29.7.0"
+ dependencies:
+ "@jest/test-result": "npm:^29.7.0"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.7.0"
+ slash: "npm:^3.0.0"
+ checksum: 10/4420c26a0baa7035c5419b0892ff8ffe9a41b1583ec54a10db3037cd46a7e29dd3d7202f8aa9d376e9e53be5f8b1bc0d16e1de6880a6d319b033b01dc4c8f639
+ languageName: node
+ linkType: hard
+
+"@jest/transform@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "@jest/transform@npm:29.7.0"
+ dependencies:
+ "@babel/core": "npm:^7.11.6"
+ "@jest/types": "npm:^29.6.3"
+ "@jridgewell/trace-mapping": "npm:^0.3.18"
+ babel-plugin-istanbul: "npm:^6.1.1"
+ chalk: "npm:^4.0.0"
+ convert-source-map: "npm:^2.0.0"
+ fast-json-stable-stringify: "npm:^2.1.0"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.7.0"
+ jest-regex-util: "npm:^29.6.3"
+ jest-util: "npm:^29.7.0"
+ micromatch: "npm:^4.0.4"
+ pirates: "npm:^4.0.4"
+ slash: "npm:^3.0.0"
+ write-file-atomic: "npm:^4.0.2"
+ checksum: 10/30f42293545ab037d5799c81d3e12515790bb58513d37f788ce32d53326d0d72ebf5b40f989e6896739aa50a5f77be44686e510966370d58511d5ad2637c68c1
+ languageName: node
+ linkType: hard
+
"@jest/types@npm:^26.6.2":
version: 26.6.2
resolution: "@jest/types@npm:26.6.2"
@@ -3405,6 +3843,17 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/gen-mapping@npm:^0.3.5":
+ version: 0.3.5
+ resolution: "@jridgewell/gen-mapping@npm:0.3.5"
+ dependencies:
+ "@jridgewell/set-array": "npm:^1.2.1"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.10"
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10/81587b3c4dd8e6c60252122937cea0c637486311f4ed208b52b62aae2e7a87598f63ec330e6cd0984af494bfb16d3f0d60d3b21d7e5b4aedd2602ff3fe9d32e2
+ languageName: node
+ linkType: hard
+
"@jridgewell/resolve-uri@npm:3.1.0":
version: 3.1.0
resolution: "@jridgewell/resolve-uri@npm:3.1.0"
@@ -3419,6 +3868,13 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/resolve-uri@npm:^3.1.0":
+ version: 3.1.2
+ resolution: "@jridgewell/resolve-uri@npm:3.1.2"
+ checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d
+ languageName: node
+ linkType: hard
+
"@jridgewell/set-array@npm:^1.0.1":
version: 1.1.2
resolution: "@jridgewell/set-array@npm:1.1.2"
@@ -3426,6 +3882,13 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/set-array@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "@jridgewell/set-array@npm:1.2.1"
+ checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10
+ languageName: node
+ linkType: hard
+
"@jridgewell/source-map@npm:^0.3.2":
version: 0.3.3
resolution: "@jridgewell/source-map@npm:0.3.3"
@@ -3443,7 +3906,7 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/sourcemap-codec@npm:^1.4.10":
+"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14":
version: 1.4.15
resolution: "@jridgewell/sourcemap-codec@npm:1.4.15"
checksum: 10/89960ac087781b961ad918978975bcdf2051cd1741880469783c42de64239703eab9db5230d776d8e6a09d73bb5e4cb964e07d93ee6e2e7aea5a7d726e865c09
@@ -3460,6 +3923,16 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
+ version: 0.3.25
+ resolution: "@jridgewell/trace-mapping@npm:0.3.25"
+ dependencies:
+ "@jridgewell/resolve-uri": "npm:^3.1.0"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.14"
+ checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc
+ languageName: node
+ linkType: hard
+
"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9":
version: 0.3.18
resolution: "@jridgewell/trace-mapping@npm:0.3.18"
@@ -5995,13 +6468,76 @@ __metadata:
languageName: node
linkType: hard
-"@tootallnate/once@npm:1":
- version: 1.1.2
- resolution: "@tootallnate/once@npm:1.1.2"
- checksum: 10/e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9
- languageName: node
- linkType: hard
-
+"@testing-library/dom@npm:^9.0.0":
+ version: 9.3.4
+ resolution: "@testing-library/dom@npm:9.3.4"
+ dependencies:
+ "@babel/code-frame": "npm:^7.10.4"
+ "@babel/runtime": "npm:^7.12.5"
+ "@types/aria-query": "npm:^5.0.1"
+ aria-query: "npm:5.1.3"
+ chalk: "npm:^4.1.0"
+ dom-accessibility-api: "npm:^0.5.9"
+ lz-string: "npm:^1.5.0"
+ pretty-format: "npm:^27.0.2"
+ checksum: 10/510da752ea76f4a10a0a4e3a77917b0302cf03effe576cd3534cab7e796533ee2b0e9fb6fb11b911a1ebd7c70a0bb6f235bf4f816c9b82b95b8fe0cddfd10975
+ languageName: node
+ linkType: hard
+
+"@testing-library/jest-dom@npm:^6.4.2":
+ version: 6.4.2
+ resolution: "@testing-library/jest-dom@npm:6.4.2"
+ dependencies:
+ "@adobe/css-tools": "npm:^4.3.2"
+ "@babel/runtime": "npm:^7.9.2"
+ aria-query: "npm:^5.0.0"
+ chalk: "npm:^3.0.0"
+ css.escape: "npm:^1.5.1"
+ dom-accessibility-api: "npm:^0.6.3"
+ lodash: "npm:^4.17.15"
+ redent: "npm:^3.0.0"
+ peerDependencies:
+ "@jest/globals": ">= 28"
+ "@types/bun": "*"
+ "@types/jest": ">= 28"
+ jest: ">= 28"
+ vitest: ">= 0.32"
+ peerDependenciesMeta:
+ "@jest/globals":
+ optional: true
+ "@types/bun":
+ optional: true
+ "@types/jest":
+ optional: true
+ jest:
+ optional: true
+ vitest:
+ optional: true
+ checksum: 10/7ee1e51caffad032734a4a43a00bf72d49080cf1bbf53021b443e91c7fa3762a66f55ce68f1c6643590fe66fbc4df92142659b8cf17c92166a3fb22691987e0d
+ languageName: node
+ linkType: hard
+
+"@testing-library/react@npm:^14.2.2":
+ version: 14.2.2
+ resolution: "@testing-library/react@npm:14.2.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.12.5"
+ "@testing-library/dom": "npm:^9.0.0"
+ "@types/react-dom": "npm:^18.0.0"
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ checksum: 10/3605577fda8d5e27b8919f390f749af91494d03e7ba5ccaf6480ed1184248372c5a4e8fe1c8c3ad4c1a7b3536f37144ba4b4626900ed46dc9811312f280eee31
+ languageName: node
+ linkType: hard
+
+"@tootallnate/once@npm:1":
+ version: 1.1.2
+ resolution: "@tootallnate/once@npm:1.1.2"
+ checksum: 10/e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9
+ languageName: node
+ linkType: hard
+
"@tootallnate/once@npm:2":
version: 2.0.0
resolution: "@tootallnate/once@npm:2.0.0"
@@ -6058,6 +6594,54 @@ __metadata:
languageName: node
linkType: hard
+"@types/aria-query@npm:^5.0.1":
+ version: 5.0.4
+ resolution: "@types/aria-query@npm:5.0.4"
+ checksum: 10/c0084c389dc030daeaf0115a92ce43a3f4d42fc8fef2d0e22112d87a42798d4a15aac413019d4a63f868327d52ad6740ab99609462b442fe6b9286b172d2e82e
+ languageName: node
+ linkType: hard
+
+"@types/babel__core@npm:^7.1.14":
+ version: 7.20.5
+ resolution: "@types/babel__core@npm:7.20.5"
+ dependencies:
+ "@babel/parser": "npm:^7.20.7"
+ "@babel/types": "npm:^7.20.7"
+ "@types/babel__generator": "npm:*"
+ "@types/babel__template": "npm:*"
+ "@types/babel__traverse": "npm:*"
+ checksum: 10/c32838d280b5ab59d62557f9e331d3831f8e547ee10b4f85cb78753d97d521270cebfc73ce501e9fb27fe71884d1ba75e18658692c2f4117543f0fc4e3e118b3
+ languageName: node
+ linkType: hard
+
+"@types/babel__generator@npm:*":
+ version: 7.6.8
+ resolution: "@types/babel__generator@npm:7.6.8"
+ dependencies:
+ "@babel/types": "npm:^7.0.0"
+ checksum: 10/b53c215e9074c69d212402990b0ca8fa57595d09e10d94bda3130aa22b55d796e50449199867879e4ea0ee968f3a2099e009cfb21a726a53324483abbf25cd30
+ languageName: node
+ linkType: hard
+
+"@types/babel__template@npm:*":
+ version: 7.4.4
+ resolution: "@types/babel__template@npm:7.4.4"
+ dependencies:
+ "@babel/parser": "npm:^7.1.0"
+ "@babel/types": "npm:^7.0.0"
+ checksum: 10/d7a02d2a9b67e822694d8e6a7ddb8f2b71a1d6962dfd266554d2513eefbb205b33ca71a0d163b1caea3981ccf849211f9964d8bd0727124d18ace45aa6c9ae29
+ languageName: node
+ linkType: hard
+
+"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6":
+ version: 7.20.5
+ resolution: "@types/babel__traverse@npm:7.20.5"
+ dependencies:
+ "@babel/types": "npm:^7.20.7"
+ checksum: 10/f0352d537448e1e37f27e6bb8c962d7893720a92fde9d8601a68a93dbc14e15c088b4c0c8f71021d0966d09fba802ef3de11fdb6766c33993f8cf24f1277c6a9
+ languageName: node
+ linkType: hard
+
"@types/cacheable-request@npm:^6.0.1":
version: 6.0.3
resolution: "@types/cacheable-request@npm:6.0.3"
@@ -6130,6 +6714,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/graceful-fs@npm:^4.1.3":
+ version: 4.1.9
+ resolution: "@types/graceful-fs@npm:4.1.9"
+ dependencies:
+ "@types/node": "npm:*"
+ checksum: 10/79d746a8f053954bba36bd3d94a90c78de995d126289d656fb3271dd9f1229d33f678da04d10bce6be440494a5a73438e2e363e92802d16b8315b051036c5256
+ languageName: node
+ linkType: hard
+
"@types/hammerjs@npm:^2.0.36":
version: 2.0.41
resolution: "@types/hammerjs@npm:2.0.41"
@@ -6167,6 +6760,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/istanbul-lib-coverage@npm:^2.0.1":
+ version: 2.0.6
+ resolution: "@types/istanbul-lib-coverage@npm:2.0.6"
+ checksum: 10/3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778
+ languageName: node
+ linkType: hard
+
"@types/istanbul-lib-report@npm:*":
version: 3.0.0
resolution: "@types/istanbul-lib-report@npm:3.0.0"
@@ -6185,6 +6785,16 @@ __metadata:
languageName: node
linkType: hard
+"@types/jest@npm:^29.5.12":
+ version: 29.5.12
+ resolution: "@types/jest@npm:29.5.12"
+ dependencies:
+ expect: "npm:^29.0.0"
+ pretty-format: "npm:^29.0.0"
+ checksum: 10/312e8dcf92cdd5a5847d6426f0940829bca6fe6b5a917248f3d7f7ef5d85c9ce78ef05e47d2bbabc40d41a930e0e36db2d443d2610a9e3db9062da2d5c904211
+ languageName: node
+ linkType: hard
+
"@types/js-yaml@npm:^4.0.5":
version: 4.0.9
resolution: "@types/js-yaml@npm:4.0.9"
@@ -6192,6 +6802,17 @@ __metadata:
languageName: node
linkType: hard
+"@types/jsdom@npm:^20.0.0":
+ version: 20.0.1
+ resolution: "@types/jsdom@npm:20.0.1"
+ dependencies:
+ "@types/node": "npm:*"
+ "@types/tough-cookie": "npm:*"
+ parse5: "npm:^7.0.0"
+ checksum: 10/15fbb9a0bfb4a5845cf6e795f2fd12400aacfca53b8c7e5bca4a3e5e8fa8629f676327964d64258aefb127d2d8a2be86dad46359efbfca0e8c9c2b790e7f8a88
+ languageName: node
+ linkType: hard
+
"@types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9":
version: 7.0.11
resolution: "@types/json-schema@npm:7.0.11"
@@ -6280,6 +6901,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/react-dom@npm:^18.0.0":
+ version: 18.2.22
+ resolution: "@types/react-dom@npm:18.2.22"
+ dependencies:
+ "@types/react": "npm:*"
+ checksum: 10/310da22244c1bb65a7f213f8727bda821dd211cfb2dd62d1f9b28dd50ef1c196d59e908494bd5f25c13a3844343f3a6135f39fb830aca6f79646fa56c1b56c08
+ languageName: node
+ linkType: hard
+
"@types/react-native@npm:^0.71.3":
version: 0.71.6
resolution: "@types/react-native@npm:0.71.6"
@@ -6330,6 +6960,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/tough-cookie@npm:*":
+ version: 4.0.5
+ resolution: "@types/tough-cookie@npm:4.0.5"
+ checksum: 10/01fd82efc8202670865928629697b62fe9bf0c0dcbc5b1c115831caeb073a2c0abb871ff393d7df1ae94ea41e256cb87d2a5a91fd03cdb1b0b4384e08d4ee482
+ languageName: node
+ linkType: hard
+
"@types/unist@npm:*, @types/unist@npm:^2.0.0":
version: 2.0.6
resolution: "@types/unist@npm:2.0.6"
@@ -6722,6 +7359,13 @@ __metadata:
languageName: node
linkType: hard
+"abab@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "abab@npm:2.0.6"
+ checksum: 10/ebe95d7278999e605823fc515a3b05d689bc72e7f825536e73c95ebf621636874c6de1b749b3c4bf866b96ccd4b3a2802efa313d0e45ad51a413c8c73247db20
+ languageName: node
+ linkType: hard
+
"abbrev@npm:1, abbrev@npm:^1.0.0":
version: 1.1.1
resolution: "abbrev@npm:1.1.1"
@@ -6748,6 +7392,16 @@ __metadata:
languageName: node
linkType: hard
+"acorn-globals@npm:^7.0.0":
+ version: 7.0.1
+ resolution: "acorn-globals@npm:7.0.1"
+ dependencies:
+ acorn: "npm:^8.1.0"
+ acorn-walk: "npm:^8.0.2"
+ checksum: 10/2a2998a547af6d0db5f0cdb90acaa7c3cbca6709010e02121fb8b8617c0fbd8bab0b869579903fde358ac78454356a14fadcc1a672ecb97b04b1c2ccba955ce8
+ languageName: node
+ linkType: hard
+
"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -6757,6 +7411,13 @@ __metadata:
languageName: node
linkType: hard
+"acorn-walk@npm:^8.0.2":
+ version: 8.3.2
+ resolution: "acorn-walk@npm:8.3.2"
+ checksum: 10/57dbe2fd8cf744f562431775741c5c087196cd7a65ce4ccb3f3981cdfad25cd24ad2bad404997b88464ac01e789a0a61e5e355b2a84876f13deef39fb39686ca
+ languageName: node
+ linkType: hard
+
"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0":
version: 8.2.0
resolution: "acorn-walk@npm:8.2.0"
@@ -6773,6 +7434,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn@npm:^8.1.0, acorn@npm:^8.8.1":
+ version: 8.11.3
+ resolution: "acorn@npm:8.11.3"
+ bin:
+ acorn: bin/acorn
+ checksum: 10/b688e7e3c64d9bfb17b596e1b35e4da9d50553713b3b3630cf5690f2b023a84eac90c56851e6912b483fe60e8b4ea28b254c07e92f17ef83d72d78745a8352dd
+ languageName: node
+ linkType: hard
+
"agent-base@npm:6, agent-base@npm:^6.0.0, agent-base@npm:^6.0.2":
version: 6.0.2
resolution: "agent-base@npm:6.0.2"
@@ -7078,7 +7748,7 @@ __metadata:
languageName: node
linkType: hard
-"aria-query@npm:^5.1.3":
+"aria-query@npm:5.1.3, aria-query@npm:^5.1.3":
version: 5.1.3
resolution: "aria-query@npm:5.1.3"
dependencies:
@@ -7087,6 +7757,15 @@ __metadata:
languageName: node
linkType: hard
+"aria-query@npm:^5.0.0":
+ version: 5.3.0
+ resolution: "aria-query@npm:5.3.0"
+ dependencies:
+ dequal: "npm:^2.0.3"
+ checksum: 10/c3e1ed127cc6886fea4732e97dd6d3c3938e64180803acfb9df8955517c4943760746ffaf4020ce8f7ffaa7556a3b5f85c3769a1f5ca74a1288e02d042f9ae4e
+ languageName: node
+ linkType: hard
+
"array-buffer-byte-length@npm:^1.0.0":
version: 1.0.0
resolution: "array-buffer-byte-length@npm:1.0.0"
@@ -7297,6 +7976,23 @@ __metadata:
languageName: node
linkType: hard
+"babel-jest@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "babel-jest@npm:29.7.0"
+ dependencies:
+ "@jest/transform": "npm:^29.7.0"
+ "@types/babel__core": "npm:^7.1.14"
+ babel-plugin-istanbul: "npm:^6.1.1"
+ babel-preset-jest: "npm:^29.6.3"
+ chalk: "npm:^4.0.0"
+ graceful-fs: "npm:^4.2.9"
+ slash: "npm:^3.0.0"
+ peerDependencies:
+ "@babel/core": ^7.8.0
+ checksum: 10/8a0953bd813b3a8926008f7351611055548869e9a53dd36d6e7e96679001f71e65fd7dbfe253265c3ba6a4e630dc7c845cf3e78b17d758ef1880313ce8fba258
+ languageName: node
+ linkType: hard
+
"babel-literal-to-ast@npm:^2.1.0":
version: 2.1.0
resolution: "babel-literal-to-ast@npm:2.1.0"
@@ -7332,6 +8028,31 @@ __metadata:
languageName: node
linkType: hard
+"babel-plugin-istanbul@npm:^6.1.1":
+ version: 6.1.1
+ resolution: "babel-plugin-istanbul@npm:6.1.1"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.0.0"
+ "@istanbuljs/load-nyc-config": "npm:^1.0.0"
+ "@istanbuljs/schema": "npm:^0.1.2"
+ istanbul-lib-instrument: "npm:^5.0.4"
+ test-exclude: "npm:^6.0.0"
+ checksum: 10/ffd436bb2a77bbe1942a33245d770506ab2262d9c1b3c1f1da7f0592f78ee7445a95bc2efafe619dd9c1b6ee52c10033d6c7d29ddefe6f5383568e60f31dfe8d
+ languageName: node
+ linkType: hard
+
+"babel-plugin-jest-hoist@npm:^29.6.3":
+ version: 29.6.3
+ resolution: "babel-plugin-jest-hoist@npm:29.6.3"
+ dependencies:
+ "@babel/template": "npm:^7.3.3"
+ "@babel/types": "npm:^7.3.3"
+ "@types/babel__core": "npm:^7.1.14"
+ "@types/babel__traverse": "npm:^7.0.6"
+ checksum: 10/9bfa86ec4170bd805ab8ca5001ae50d8afcb30554d236ba4a7ffc156c1a92452e220e4acbd98daefc12bf0216fccd092d0a2efed49e7e384ec59e0597a926d65
+ languageName: node
+ linkType: hard
+
"babel-plugin-module-resolver@npm:^4.1.0":
version: 4.1.0
resolution: "babel-plugin-module-resolver@npm:4.1.0"
@@ -7417,6 +8138,28 @@ __metadata:
languageName: node
linkType: hard
+"babel-preset-current-node-syntax@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "babel-preset-current-node-syntax@npm:1.0.1"
+ dependencies:
+ "@babel/plugin-syntax-async-generators": "npm:^7.8.4"
+ "@babel/plugin-syntax-bigint": "npm:^7.8.3"
+ "@babel/plugin-syntax-class-properties": "npm:^7.8.3"
+ "@babel/plugin-syntax-import-meta": "npm:^7.8.3"
+ "@babel/plugin-syntax-json-strings": "npm:^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3"
+ "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3"
+ "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
+ "@babel/plugin-syntax-top-level-await": "npm:^7.8.3"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10/94561959cb12bfa80867c9eeeace7c3d48d61707d33e55b4c3fdbe82fc745913eb2dbfafca62aef297421b38aadcb58550e5943f50fbcebbeefd70ce2bed4b74
+ languageName: node
+ linkType: hard
+
"babel-preset-expo@npm:~9.5.2":
version: 9.5.2
resolution: "babel-preset-expo@npm:9.5.2"
@@ -7470,6 +8213,18 @@ __metadata:
languageName: node
linkType: hard
+"babel-preset-jest@npm:^29.6.3":
+ version: 29.6.3
+ resolution: "babel-preset-jest@npm:29.6.3"
+ dependencies:
+ babel-plugin-jest-hoist: "npm:^29.6.3"
+ babel-preset-current-node-syntax: "npm:^1.0.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10/aa4ff2a8a728d9d698ed521e3461a109a1e66202b13d3494e41eea30729a5e7cc03b3a2d56c594423a135429c37bf63a9fa8b0b9ce275298be3095a88c69f6fb
+ languageName: node
+ linkType: hard
+
"bail@npm:^2.0.0":
version: 2.0.2
resolution: "bail@npm:2.0.2"
@@ -7692,6 +8447,15 @@ __metadata:
languageName: node
linkType: hard
+"bs-logger@npm:0.x":
+ version: 0.2.6
+ resolution: "bs-logger@npm:0.2.6"
+ dependencies:
+ fast-json-stable-stringify: "npm:2.x"
+ checksum: 10/e6d3ff82698bb3f20ce64fb85355c5716a3cf267f3977abe93bf9c32a2e46186b253f48a028ae5b96ab42bacd2c826766d9ae8cf6892f9b944656be9113cf212
+ languageName: node
+ linkType: hard
+
"bser@npm:2.1.1":
version: 2.1.1
resolution: "bser@npm:2.1.1"
@@ -7934,7 +8698,7 @@ __metadata:
languageName: node
linkType: hard
-"camelcase@npm:^5.0.0":
+"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1":
version: 5.3.1
resolution: "camelcase@npm:5.3.1"
checksum: 10/e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b
@@ -7980,6 +8744,16 @@ __metadata:
languageName: node
linkType: hard
+"chalk@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "chalk@npm:3.0.0"
+ dependencies:
+ ansi-styles: "npm:^4.1.0"
+ supports-color: "npm:^7.1.0"
+ checksum: 10/37f90b31fd655fb49c2bd8e2a68aebefddd64522655d001ef417e6f955def0ed9110a867ffc878a533f2dafea5f2032433a37c8a7614969baa7f8a1cd424ddfc
+ languageName: node
+ linkType: hard
+
"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2":
version: 4.1.2
resolution: "chalk@npm:4.1.2"
@@ -8004,6 +8778,13 @@ __metadata:
languageName: node
linkType: hard
+"char-regex@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "char-regex@npm:1.0.2"
+ checksum: 10/1ec5c2906adb9f84e7f6732a40baef05d7c85401b82ffcbc44b85fbd0f7a2b0c2a96f2eb9cf55cae3235dc12d4023003b88f09bcae8be9ae894f52ed746f4d48
+ languageName: node
+ linkType: hard
+
"character-entities-html4@npm:^2.0.0":
version: 2.1.0
resolution: "character-entities-html4@npm:2.1.0"
@@ -8129,6 +8910,13 @@ __metadata:
languageName: node
linkType: hard
+"cjs-module-lexer@npm:^1.0.0":
+ version: 1.2.3
+ resolution: "cjs-module-lexer@npm:1.2.3"
+ checksum: 10/f96a5118b0a012627a2b1c13bd2fcb92509778422aaa825c5da72300d6dcadfb47134dd2e9d97dfa31acd674891dd91642742772d19a09a8adc3e56bd2f5928c
+ languageName: node
+ linkType: hard
+
"clean-css@npm:^5.2.2":
version: 5.3.2
resolution: "clean-css@npm:5.3.2"
@@ -8240,6 +9028,13 @@ __metadata:
languageName: node
linkType: hard
+"co@npm:^4.6.0":
+ version: 4.6.0
+ resolution: "co@npm:4.6.0"
+ checksum: 10/a5d9f37091c70398a269e625cedff5622f200ed0aa0cff22ee7b55ed74a123834b58711776eb0f1dc58eb6ebbc1185aa7567b57bd5979a948c6e4f85073e2c05
+ languageName: node
+ linkType: hard
+
"code-block-writer@npm:^10.1.1":
version: 10.1.1
resolution: "code-block-writer@npm:10.1.1"
@@ -8247,6 +9042,13 @@ __metadata:
languageName: node
linkType: hard
+"collect-v8-coverage@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "collect-v8-coverage@npm:1.0.2"
+ checksum: 10/30ea7d5c9ee51f2fdba4901d4186c5b7114a088ef98fd53eda3979da77eed96758a2cae81cc6d97e239aaea6065868cf908b24980663f7b7e96aa291b3e12fa4
+ languageName: node
+ linkType: hard
+
"color-convert@npm:^1.9.0":
version: 1.9.3
resolution: "color-convert@npm:1.9.3"
@@ -8532,6 +9334,13 @@ __metadata:
languageName: node
linkType: hard
+"core-js@npm:^3.0.0":
+ version: 3.36.1
+ resolution: "core-js@npm:3.36.1"
+ checksum: 10/ce1e1bfc1034b6f2ff7c91077319e8abdd650ee606ffe6e80073e64ab9d8aad2d6a6d953461b01f331a6f796ad2fd766a3386b88aa371b45d44fa7c0b9913ce6
+ languageName: node
+ linkType: hard
+
"core-util-is@npm:~1.0.0":
version: 1.0.3
resolution: "core-util-is@npm:1.0.3"
@@ -8551,6 +9360,23 @@ __metadata:
languageName: node
linkType: hard
+"create-jest@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "create-jest@npm:29.7.0"
+ dependencies:
+ "@jest/types": "npm:^29.6.3"
+ chalk: "npm:^4.0.0"
+ exit: "npm:^0.1.2"
+ graceful-fs: "npm:^4.2.9"
+ jest-config: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ prompts: "npm:^2.0.1"
+ bin:
+ create-jest: bin/create-jest.js
+ checksum: 10/847b4764451672b4174be4d5c6d7d63442ec3aa5f3de52af924e4d996d87d7801c18e125504f25232fc75840f6625b3ac85860fac6ce799b5efae7bdcaf4a2b7
+ languageName: node
+ linkType: hard
+
"create-require@npm:^1.1.0":
version: 1.1.1
resolution: "create-require@npm:1.1.1"
@@ -8558,6 +9384,15 @@ __metadata:
languageName: node
linkType: hard
+"cross-fetch@npm:^3.0.4":
+ version: 3.1.8
+ resolution: "cross-fetch@npm:3.1.8"
+ dependencies:
+ node-fetch: "npm:^2.6.12"
+ checksum: 10/ac8c4ca87d2ac0e17a19b6a293a67ee8934881aee5ec9a5a8323c30e9a9a60a0f5291d3c0d633ec2a2f970cbc60978d628804dfaf03add92d7e720b6d37f392c
+ languageName: node
+ linkType: hard
+
"cross-fetch@npm:^3.1.5":
version: 3.1.5
resolution: "cross-fetch@npm:3.1.5"
@@ -8700,6 +9535,13 @@ __metadata:
languageName: node
linkType: hard
+"css.escape@npm:^1.5.1":
+ version: 1.5.1
+ resolution: "css.escape@npm:1.5.1"
+ checksum: 10/f6d38088d870a961794a2580b2b2af1027731bb43261cfdce14f19238a88664b351cc8978abc20f06cc6bbde725699dec8deb6fe9816b139fc3f2af28719e774
+ languageName: node
+ linkType: hard
+
"cssesc@npm:^3.0.0":
version: 3.0.0
resolution: "cssesc@npm:3.0.0"
@@ -8709,6 +9551,29 @@ __metadata:
languageName: node
linkType: hard
+"cssom@npm:^0.5.0":
+ version: 0.5.0
+ resolution: "cssom@npm:0.5.0"
+ checksum: 10/b502a315b1ce020a692036cc38cb36afa44157219b80deadfa040ab800aa9321fcfbecf02fd2e6ec87db169715e27978b4ab3701f916461e9cf7808899f23b54
+ languageName: node
+ linkType: hard
+
+"cssom@npm:~0.3.6":
+ version: 0.3.8
+ resolution: "cssom@npm:0.3.8"
+ checksum: 10/49eacc88077555e419646c0ea84ddc73c97e3a346ad7cb95e22f9413a9722d8964b91d781ce21d378bd5ae058af9a745402383fa4e35e9cdfd19654b63f892a9
+ languageName: node
+ linkType: hard
+
+"cssstyle@npm:^2.3.0":
+ version: 2.3.0
+ resolution: "cssstyle@npm:2.3.0"
+ dependencies:
+ cssom: "npm:~0.3.6"
+ checksum: 10/46f7f05a153446c4018b0454ee1464b50f606cb1803c90d203524834b7438eb52f3b173ba0891c618f380ced34ee12020675dc0052a7f1be755fe4ebc27ee977
+ languageName: node
+ linkType: hard
+
"csstype@npm:^3.0.2, csstype@npm:^3.0.7":
version: 3.1.2
resolution: "csstype@npm:3.1.2"
@@ -8737,6 +9602,24 @@ __metadata:
languageName: node
linkType: hard
+"data-uri-to-buffer@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "data-uri-to-buffer@npm:4.0.1"
+ checksum: 10/0d0790b67ffec5302f204c2ccca4494f70b4e2d940fea3d36b09f0bb2b8539c2e86690429eb1f1dc4bcc9e4df0644193073e63d9ee48ac9fce79ec1506e4aa4c
+ languageName: node
+ linkType: hard
+
+"data-urls@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "data-urls@npm:3.0.2"
+ dependencies:
+ abab: "npm:^2.0.6"
+ whatwg-mimetype: "npm:^3.0.0"
+ whatwg-url: "npm:^11.0.0"
+ checksum: 10/033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76
+ languageName: node
+ linkType: hard
+
"dayjs@npm:^1.8.15":
version: 1.11.7
resolution: "dayjs@npm:1.11.7"
@@ -8791,6 +9674,13 @@ __metadata:
languageName: node
linkType: hard
+"decimal.js@npm:^10.4.2":
+ version: 10.4.3
+ resolution: "decimal.js@npm:10.4.3"
+ checksum: 10/de663a7bc4d368e3877db95fcd5c87b965569b58d16cdc4258c063d231ca7118748738df17cd638f7e9dd0be8e34cec08d7234b20f1f2a756a52fc5a38b188d0
+ languageName: node
+ linkType: hard
+
"decode-named-character-reference@npm:^1.0.0":
version: 1.0.2
resolution: "decode-named-character-reference@npm:1.0.2"
@@ -8825,6 +9715,18 @@ __metadata:
languageName: node
linkType: hard
+"dedent@npm:^1.0.0":
+ version: 1.5.1
+ resolution: "dedent@npm:1.5.1"
+ peerDependencies:
+ babel-plugin-macros: ^3.1.0
+ peerDependenciesMeta:
+ babel-plugin-macros:
+ optional: true
+ checksum: 10/fc00a8bc3dfb7c413a778dc40ee8151b6c6ff35159d641f36ecd839c1df5c6e0ec5f4992e658c82624a1a62aaecaffc23b9c965ceb0bbf4d698bfc16469ac27d
+ languageName: node
+ linkType: hard
+
"deep-equal@npm:^2.0.5":
version: 2.2.1
resolution: "deep-equal@npm:2.2.1"
@@ -8996,7 +9898,7 @@ __metadata:
languageName: node
linkType: hard
-"dequal@npm:^2.0.0":
+"dequal@npm:^2.0.0, dequal@npm:^2.0.3":
version: 2.0.3
resolution: "dequal@npm:2.0.3"
checksum: 10/6ff05a7561f33603df87c45e389c9ac0a95e3c056be3da1a0c4702149e3a7f6fe5ffbb294478687ba51a9e95f3a60e8b6b9005993acd79c292c7d15f71964b6b
@@ -9033,7 +9935,7 @@ __metadata:
languageName: node
linkType: hard
-"detect-newline@npm:3.1.0":
+"detect-newline@npm:3.1.0, detect-newline@npm:^3.0.0":
version: 3.1.0
resolution: "detect-newline@npm:3.1.0"
checksum: 10/ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7
@@ -9047,6 +9949,13 @@ __metadata:
languageName: node
linkType: hard
+"diff-sequences@npm:^29.6.3":
+ version: 29.6.3
+ resolution: "diff-sequences@npm:29.6.3"
+ checksum: 10/179daf9d2f9af5c57ad66d97cb902a538bcf8ed64963fa7aa0c329b3de3665ce2eb6ffdc2f69f29d445fa4af2517e5e55e5b6e00c00a9ae4f43645f97f7078cb
+ languageName: node
+ linkType: hard
+
"diff@npm:^4.0.1":
version: 4.0.2
resolution: "diff@npm:4.0.2"
@@ -9088,6 +9997,20 @@ __metadata:
languageName: node
linkType: hard
+"dom-accessibility-api@npm:^0.5.9":
+ version: 0.5.16
+ resolution: "dom-accessibility-api@npm:0.5.16"
+ checksum: 10/377b4a7f9eae0a5d72e1068c369c99e0e4ca17fdfd5219f3abd32a73a590749a267475a59d7b03a891f9b673c27429133a818c44b2e47e32fec024b34274e2ca
+ languageName: node
+ linkType: hard
+
+"dom-accessibility-api@npm:^0.6.3":
+ version: 0.6.3
+ resolution: "dom-accessibility-api@npm:0.6.3"
+ checksum: 10/83d3371f8226487fbad36e160d44f1d9017fb26d46faba6a06fcad15f34633fc827b8c3e99d49f71d5f3253d866e2131826866fd0a3c86626f8eccfc361881ff
+ languageName: node
+ linkType: hard
+
"dom-converter@npm:^0.2.0":
version: 0.2.0
resolution: "dom-converter@npm:0.2.0"
@@ -9126,6 +10049,15 @@ __metadata:
languageName: node
linkType: hard
+"domexception@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "domexception@npm:4.0.0"
+ dependencies:
+ webidl-conversions: "npm:^7.0.0"
+ checksum: 10/4ed443227d2871d76c58d852b2e93c68e0443815b2741348f20881bedee8c1ad4f9bfc5d30c7dec433cd026b57da63407c010260b1682fef4c8847e7181ea43f
+ languageName: node
+ linkType: hard
+
"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1":
version: 4.3.1
resolution: "domhandler@npm:4.3.1"
@@ -9269,6 +10201,13 @@ __metadata:
languageName: node
linkType: hard
+"emittery@npm:^0.13.1":
+ version: 0.13.1
+ resolution: "emittery@npm:0.13.1"
+ checksum: 10/fbe214171d878b924eedf1757badf58a5dce071cd1fa7f620fa841a0901a80d6da47ff05929d53163105e621ce11a71b9d8acb1148ffe1745e045145f6e69521
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^8.0.0":
version: 8.0.0
resolution: "emoji-regex@npm:8.0.0"
@@ -9332,7 +10271,7 @@ __metadata:
languageName: node
linkType: hard
-"entities@npm:^4.2.0":
+"entities@npm:^4.2.0, entities@npm:^4.4.0":
version: 4.5.0
resolution: "entities@npm:4.5.0"
checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48
@@ -10108,6 +11047,24 @@ __metadata:
languageName: node
linkType: hard
+"escodegen@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "escodegen@npm:2.1.0"
+ dependencies:
+ esprima: "npm:^4.0.1"
+ estraverse: "npm:^5.2.0"
+ esutils: "npm:^2.0.2"
+ source-map: "npm:~0.6.1"
+ dependenciesMeta:
+ source-map:
+ optional: true
+ bin:
+ escodegen: bin/escodegen.js
+ esgenerate: bin/esgenerate.js
+ checksum: 10/47719a65b2888b4586e3fa93769068b275961c13089e90d5d01a96a6e8e95871b1c3893576814c8fbf08a4a31a496f37e7b2c937cf231270f4d81de012832c7c
+ languageName: node
+ linkType: hard
+
"eslint-config-next@npm:^13.0.4":
version: 13.3.1
resolution: "eslint-config-next@npm:13.3.1"
@@ -10537,7 +11494,27 @@ __metadata:
languageName: node
linkType: hard
-"expo-app@workspace:apps/expo":
+"exit@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "exit@npm:0.1.2"
+ checksum: 10/387555050c5b3c10e7a9e8df5f43194e95d7737c74532c409910e585d5554eaff34960c166643f5e23d042196529daad059c292dcf1fb61b8ca878d3677f4b87
+ languageName: node
+ linkType: hard
+
+"expect@npm:^29.0.0, expect@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "expect@npm:29.7.0"
+ dependencies:
+ "@jest/expect-utils": "npm:^29.7.0"
+ jest-get-type: "npm:^29.6.3"
+ jest-matcher-utils: "npm:^29.7.0"
+ jest-message-util: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ checksum: 10/63f97bc51f56a491950fb525f9ad94f1916e8a014947f8d8445d3847a665b5471b768522d659f5e865db20b6c2033d2ac10f35fcbd881a4d26407a4f6f18451a
+ languageName: node
+ linkType: hard
+
+"expo-app@workspace:apps/expo":
version: 0.0.0-use.local
resolution: "expo-app@workspace:apps/expo"
dependencies:
@@ -11002,7 +11979,7 @@ __metadata:
languageName: node
linkType: hard
-"fast-json-stable-stringify@npm:^2.0.0":
+"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0":
version: 2.1.0
resolution: "fast-json-stable-stringify@npm:2.1.0"
checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e
@@ -11092,6 +12069,39 @@ __metadata:
languageName: node
linkType: hard
+"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4":
+ version: 3.2.0
+ resolution: "fetch-blob@npm:3.2.0"
+ dependencies:
+ node-domexception: "npm:^1.0.0"
+ web-streams-polyfill: "npm:^3.0.3"
+ checksum: 10/5264ecceb5fdc19eb51d1d0359921f12730941e333019e673e71eb73921146dceabcb0b8f534582be4497312d656508a439ad0f5edeec2b29ab2e10c72a1f86b
+ languageName: node
+ linkType: hard
+
+"fetch-mock@npm:^9.11.0":
+ version: 9.11.0
+ resolution: "fetch-mock@npm:9.11.0"
+ dependencies:
+ "@babel/core": "npm:^7.0.0"
+ "@babel/runtime": "npm:^7.0.0"
+ core-js: "npm:^3.0.0"
+ debug: "npm:^4.1.1"
+ glob-to-regexp: "npm:^0.4.0"
+ is-subset: "npm:^0.1.1"
+ lodash.isequal: "npm:^4.5.0"
+ path-to-regexp: "npm:^2.2.1"
+ querystring: "npm:^0.2.0"
+ whatwg-url: "npm:^6.5.0"
+ peerDependencies:
+ node-fetch: "*"
+ peerDependenciesMeta:
+ node-fetch:
+ optional: true
+ checksum: 10/4bbd312eafd960b787596ab587d00f84967c009a5b00d66566cba9312171bc1f8a8f8d85898d9d158c4fdabbd26913ad360ef4363ec85153463893ae761f2a8c
+ languageName: node
+ linkType: hard
+
"fetch-retry@npm:^4.1.1":
version: 4.1.1
resolution: "fetch-retry@npm:4.1.1"
@@ -11348,6 +12358,17 @@ __metadata:
languageName: node
linkType: hard
+"form-data@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "form-data@npm:4.0.0"
+ dependencies:
+ asynckit: "npm:^0.4.0"
+ combined-stream: "npm:^1.0.8"
+ mime-types: "npm:^2.1.12"
+ checksum: 10/7264aa760a8cf09482816d8300f1b6e2423de1b02bba612a136857413fdc96d7178298ced106817655facc6b89036c6e12ae31c9eb5bdc16aabf502ae8a5d805
+ languageName: node
+ linkType: hard
+
"format@npm:^0.2.0":
version: 0.2.2
resolution: "format@npm:0.2.2"
@@ -11355,6 +12376,15 @@ __metadata:
languageName: node
linkType: hard
+"formdata-polyfill@npm:^4.0.10":
+ version: 4.0.10
+ resolution: "formdata-polyfill@npm:4.0.10"
+ dependencies:
+ fetch-blob: "npm:^3.1.2"
+ checksum: 10/9b5001d2edef3c9449ac3f48bd4f8cc92e7d0f2e7c1a5c8ba555ad4e77535cc5cf621fabe49e97f304067037282dd9093b9160a3cb533e46420b446c4e6bc06f
+ languageName: node
+ linkType: hard
+
"forwarded@npm:0.2.0":
version: 0.2.0
resolution: "forwarded@npm:0.2.0"
@@ -11533,6 +12563,13 @@ __metadata:
languageName: node
linkType: hard
+"function-bind@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "function-bind@npm:1.1.2"
+ checksum: 10/185e20d20f10c8d661d59aac0f3b63b31132d492e1b11fcc2a93cb2c47257ebaee7407c38513efd2b35cafdf972d9beb2ea4593c1e0f3bf8f2744836928d7454
+ languageName: node
+ linkType: hard
+
"function.prototype.name@npm:^1.1.5":
version: 1.1.5
resolution: "function.prototype.name@npm:1.1.5"
@@ -11626,6 +12663,13 @@ __metadata:
languageName: node
linkType: hard
+"get-package-type@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "get-package-type@npm:0.1.0"
+ checksum: 10/bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148
+ languageName: node
+ linkType: hard
+
"get-port@npm:^3.2.0":
version: 3.2.0
resolution: "get-port@npm:3.2.0"
@@ -11728,7 +12772,7 @@ __metadata:
languageName: node
linkType: hard
-"glob-to-regexp@npm:0.4.1, glob-to-regexp@npm:^0.4.1":
+"glob-to-regexp@npm:0.4.1, glob-to-regexp@npm:^0.4.0, glob-to-regexp@npm:^0.4.1":
version: 0.4.1
resolution: "glob-to-regexp@npm:0.4.1"
checksum: 10/9009529195a955c40d7b9690794aeff5ba665cc38f1519e111c58bb54366fd0c106bde80acf97ba4e533208eb53422c83b136611a54c5fefb1edd8dc267cb62e
@@ -12062,6 +13106,15 @@ __metadata:
languageName: node
linkType: hard
+"hasown@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "hasown@npm:2.0.2"
+ dependencies:
+ function-bind: "npm:^1.1.2"
+ checksum: 10/7898a9c1788b2862cf0f9c345a6bec77ba4a0c0983c7f19d610c382343d4f98fa260686b225dfb1f88393a66679d2ec58ee310c1d6868c081eda7918f32cc70a
+ languageName: node
+ linkType: hard
+
"hast-util-to-estree@npm:^2.0.0":
version: 2.3.2
resolution: "hast-util-to-estree@npm:2.3.2"
@@ -12151,6 +13204,22 @@ __metadata:
languageName: node
linkType: hard
+"html-encoding-sniffer@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "html-encoding-sniffer@npm:3.0.0"
+ dependencies:
+ whatwg-encoding: "npm:^2.0.0"
+ checksum: 10/707a812ec2acaf8bb5614c8618dc81e2fb6b4399d03e95ff18b65679989a072f4e919b9bef472039301a1bbfba64063ba4c79ea6e851c653ac9db80dbefe8fe5
+ languageName: node
+ linkType: hard
+
+"html-escaper@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "html-escaper@npm:2.0.2"
+ checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7
+ languageName: node
+ linkType: hard
+
"html-minifier-terser@npm:^6.0.2":
version: 6.1.0
resolution: "html-minifier-terser@npm:6.1.0"
@@ -12289,7 +13358,7 @@ __metadata:
languageName: node
linkType: hard
-"iconv-lite@npm:^0.6.2":
+"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2":
version: 0.6.3
resolution: "iconv-lite@npm:0.6.3"
dependencies:
@@ -12359,6 +13428,18 @@ __metadata:
languageName: node
linkType: hard
+"import-local@npm:^3.0.2":
+ version: 3.1.0
+ resolution: "import-local@npm:3.1.0"
+ dependencies:
+ pkg-dir: "npm:^4.2.0"
+ resolve-cwd: "npm:^3.0.0"
+ bin:
+ import-local-fixture: fixtures/cli.js
+ checksum: 10/bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd
+ languageName: node
+ linkType: hard
+
"imurmurhash@npm:^0.1.4":
version: 0.1.4
resolution: "imurmurhash@npm:0.1.4"
@@ -12612,6 +13693,15 @@ __metadata:
languageName: node
linkType: hard
+"is-core-module@npm:^2.13.0":
+ version: 2.13.1
+ resolution: "is-core-module@npm:2.13.1"
+ dependencies:
+ hasown: "npm:^2.0.0"
+ checksum: 10/d53bd0cc24b0a0351fb4b206ee3908f71b9bbf1c47e9c9e14e5f06d292af1663704d2abd7e67700d6487b2b7864e0d0f6f10a1edf1892864bdffcb197d1845a2
+ languageName: node
+ linkType: hard
+
"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5":
version: 1.0.5
resolution: "is-date-object@npm:1.0.5"
@@ -12679,6 +13769,13 @@ __metadata:
languageName: node
linkType: hard
+"is-generator-fn@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "is-generator-fn@npm:2.1.0"
+ checksum: 10/a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215
+ languageName: node
+ linkType: hard
+
"is-glob@npm:^2.0.0":
version: 2.0.1
resolution: "is-glob@npm:2.0.1"
@@ -12808,6 +13905,13 @@ __metadata:
languageName: node
linkType: hard
+"is-potential-custom-element-name@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "is-potential-custom-element-name@npm:1.0.1"
+ checksum: 10/ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab
+ languageName: node
+ linkType: hard
+
"is-primitive@npm:^3.0.1":
version: 3.0.1
resolution: "is-primitive@npm:3.0.1"
@@ -12873,6 +13977,13 @@ __metadata:
languageName: node
linkType: hard
+"is-subset@npm:^0.1.1":
+ version: 0.1.1
+ resolution: "is-subset@npm:0.1.1"
+ checksum: 10/cce9aeb579b5676af9237e77a106d2721bfb34ec12b0e90d858b2585472ca223002b5a54da1203460749db8bb525ee5fa96ec8306c714f0170650a131f1be413
+ languageName: node
+ linkType: hard
+
"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3":
version: 1.0.4
resolution: "is-symbol@npm:1.0.4"
@@ -12988,6 +14099,71 @@ __metadata:
languageName: node
linkType: hard
+"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0":
+ version: 3.2.2
+ resolution: "istanbul-lib-coverage@npm:3.2.2"
+ checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-instrument@npm:^5.0.4":
+ version: 5.2.1
+ resolution: "istanbul-lib-instrument@npm:5.2.1"
+ dependencies:
+ "@babel/core": "npm:^7.12.3"
+ "@babel/parser": "npm:^7.14.7"
+ "@istanbuljs/schema": "npm:^0.1.2"
+ istanbul-lib-coverage: "npm:^3.2.0"
+ semver: "npm:^6.3.0"
+ checksum: 10/bbc4496c2f304d799f8ec22202ab38c010ac265c441947f075c0f7d46bd440b45c00e46017cf9053453d42182d768b1d6ed0e70a142c95ab00df9843aa5ab80e
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-instrument@npm:^6.0.0":
+ version: 6.0.2
+ resolution: "istanbul-lib-instrument@npm:6.0.2"
+ dependencies:
+ "@babel/core": "npm:^7.23.9"
+ "@babel/parser": "npm:^7.23.9"
+ "@istanbuljs/schema": "npm:^0.1.3"
+ istanbul-lib-coverage: "npm:^3.2.0"
+ semver: "npm:^7.5.4"
+ checksum: 10/3aee19be199350182827679a137e1df142a306e9d7e20bb5badfd92ecc9023a7d366bc68e7c66e36983654a02a67401d75d8debf29fc6d4b83670fde69a594fc
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-report@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "istanbul-lib-report@npm:3.0.1"
+ dependencies:
+ istanbul-lib-coverage: "npm:^3.0.0"
+ make-dir: "npm:^4.0.0"
+ supports-color: "npm:^7.1.0"
+ checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-source-maps@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "istanbul-lib-source-maps@npm:4.0.1"
+ dependencies:
+ debug: "npm:^4.1.1"
+ istanbul-lib-coverage: "npm:^3.0.0"
+ source-map: "npm:^0.6.1"
+ checksum: 10/5526983462799aced011d776af166e350191b816821ea7bcf71cab3e5272657b062c47dc30697a22a43656e3ced78893a42de677f9ccf276a28c913190953b82
+ languageName: node
+ linkType: hard
+
+"istanbul-reports@npm:^3.1.3":
+ version: 3.1.7
+ resolution: "istanbul-reports@npm:3.1.7"
+ dependencies:
+ html-escaper: "npm:^2.0.0"
+ istanbul-lib-report: "npm:^3.0.0"
+ checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa
+ languageName: node
+ linkType: hard
+
"iterate-object@npm:^1.3.4":
version: 1.3.4
resolution: "iterate-object@npm:1.3.4"
@@ -13002,6 +14178,164 @@ __metadata:
languageName: node
linkType: hard
+"jest-changed-files@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-changed-files@npm:29.7.0"
+ dependencies:
+ execa: "npm:^5.0.0"
+ jest-util: "npm:^29.7.0"
+ p-limit: "npm:^3.1.0"
+ checksum: 10/3d93742e56b1a73a145d55b66e96711fbf87ef89b96c2fab7cfdfba8ec06612591a982111ca2b712bb853dbc16831ec8b43585a2a96b83862d6767de59cbf83d
+ languageName: node
+ linkType: hard
+
+"jest-circus@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-circus@npm:29.7.0"
+ dependencies:
+ "@jest/environment": "npm:^29.7.0"
+ "@jest/expect": "npm:^29.7.0"
+ "@jest/test-result": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ co: "npm:^4.6.0"
+ dedent: "npm:^1.0.0"
+ is-generator-fn: "npm:^2.0.0"
+ jest-each: "npm:^29.7.0"
+ jest-matcher-utils: "npm:^29.7.0"
+ jest-message-util: "npm:^29.7.0"
+ jest-runtime: "npm:^29.7.0"
+ jest-snapshot: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ p-limit: "npm:^3.1.0"
+ pretty-format: "npm:^29.7.0"
+ pure-rand: "npm:^6.0.0"
+ slash: "npm:^3.0.0"
+ stack-utils: "npm:^2.0.3"
+ checksum: 10/716a8e3f40572fd0213bcfc1da90274bf30d856e5133af58089a6ce45089b63f4d679bd44e6be9d320e8390483ebc3ae9921981993986d21639d9019b523123d
+ languageName: node
+ linkType: hard
+
+"jest-cli@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-cli@npm:29.7.0"
+ dependencies:
+ "@jest/core": "npm:^29.7.0"
+ "@jest/test-result": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ chalk: "npm:^4.0.0"
+ create-jest: "npm:^29.7.0"
+ exit: "npm:^0.1.2"
+ import-local: "npm:^3.0.2"
+ jest-config: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ jest-validate: "npm:^29.7.0"
+ yargs: "npm:^17.3.1"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ bin:
+ jest: bin/jest.js
+ checksum: 10/6cc62b34d002c034203065a31e5e9a19e7c76d9e8ef447a6f70f759c0714cb212c6245f75e270ba458620f9c7b26063cd8cf6cd1f7e3afd659a7cc08add17307
+ languageName: node
+ linkType: hard
+
+"jest-config@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-config@npm:29.7.0"
+ dependencies:
+ "@babel/core": "npm:^7.11.6"
+ "@jest/test-sequencer": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ babel-jest: "npm:^29.7.0"
+ chalk: "npm:^4.0.0"
+ ci-info: "npm:^3.2.0"
+ deepmerge: "npm:^4.2.2"
+ glob: "npm:^7.1.3"
+ graceful-fs: "npm:^4.2.9"
+ jest-circus: "npm:^29.7.0"
+ jest-environment-node: "npm:^29.7.0"
+ jest-get-type: "npm:^29.6.3"
+ jest-regex-util: "npm:^29.6.3"
+ jest-resolve: "npm:^29.7.0"
+ jest-runner: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ jest-validate: "npm:^29.7.0"
+ micromatch: "npm:^4.0.4"
+ parse-json: "npm:^5.2.0"
+ pretty-format: "npm:^29.7.0"
+ slash: "npm:^3.0.0"
+ strip-json-comments: "npm:^3.1.1"
+ peerDependencies:
+ "@types/node": "*"
+ ts-node: ">=9.0.0"
+ peerDependenciesMeta:
+ "@types/node":
+ optional: true
+ ts-node:
+ optional: true
+ checksum: 10/6bdf570e9592e7d7dd5124fc0e21f5fe92bd15033513632431b211797e3ab57eaa312f83cc6481b3094b72324e369e876f163579d60016677c117ec4853cf02b
+ languageName: node
+ linkType: hard
+
+"jest-diff@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-diff@npm:29.7.0"
+ dependencies:
+ chalk: "npm:^4.0.0"
+ diff-sequences: "npm:^29.6.3"
+ jest-get-type: "npm:^29.6.3"
+ pretty-format: "npm:^29.7.0"
+ checksum: 10/6f3a7eb9cd9de5ea9e5aa94aed535631fa6f80221832952839b3cb59dd419b91c20b73887deb0b62230d06d02d6b6cf34ebb810b88d904bb4fe1e2e4f0905c98
+ languageName: node
+ linkType: hard
+
+"jest-docblock@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-docblock@npm:29.7.0"
+ dependencies:
+ detect-newline: "npm:^3.0.0"
+ checksum: 10/8d48818055bc96c9e4ec2e217a5a375623c0d0bfae8d22c26e011074940c202aa2534a3362294c81d981046885c05d304376afba9f2874143025981148f3e96d
+ languageName: node
+ linkType: hard
+
+"jest-each@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-each@npm:29.7.0"
+ dependencies:
+ "@jest/types": "npm:^29.6.3"
+ chalk: "npm:^4.0.0"
+ jest-get-type: "npm:^29.6.3"
+ jest-util: "npm:^29.7.0"
+ pretty-format: "npm:^29.7.0"
+ checksum: 10/bd1a077654bdaa013b590deb5f7e7ade68f2e3289180a8c8f53bc8a49f3b40740c0ec2d3a3c1aee906f682775be2bebbac37491d80b634d15276b0aa0f2e3fda
+ languageName: node
+ linkType: hard
+
+"jest-environment-jsdom@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-environment-jsdom@npm:29.7.0"
+ dependencies:
+ "@jest/environment": "npm:^29.7.0"
+ "@jest/fake-timers": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/jsdom": "npm:^20.0.0"
+ "@types/node": "npm:*"
+ jest-mock: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ jsdom: "npm:^20.0.0"
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ checksum: 10/23bbfc9bca914baef4b654f7983175a4d49b0f515a5094ebcb8f819f28ec186f53c0ba06af1855eac04bab1457f4ea79dae05f70052cf899863e8096daa6e0f5
+ languageName: node
+ linkType: hard
+
"jest-environment-node@npm:^29.2.1":
version: 29.5.0
resolution: "jest-environment-node@npm:29.5.0"
@@ -13016,6 +14350,30 @@ __metadata:
languageName: node
linkType: hard
+"jest-environment-node@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-environment-node@npm:29.7.0"
+ dependencies:
+ "@jest/environment": "npm:^29.7.0"
+ "@jest/fake-timers": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ jest-mock: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ checksum: 10/9cf7045adf2307cc93aed2f8488942e39388bff47ec1df149a997c6f714bfc66b2056768973770d3f8b1bf47396c19aa564877eb10ec978b952c6018ed1bd637
+ languageName: node
+ linkType: hard
+
+"jest-fetch-mock@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "jest-fetch-mock@npm:3.0.3"
+ dependencies:
+ cross-fetch: "npm:^3.0.4"
+ promise-polyfill: "npm:^8.1.3"
+ checksum: 10/c119a87fc8b084b94089f44fd83433fc7b8b0f180507b2ffa3b50eb4213a01f9917fab564b303f0d588dee30506942bb0bd611828f368bdd75cb163cf5d967c0
+ languageName: node
+ linkType: hard
+
"jest-get-type@npm:^29.6.3":
version: 29.6.3
resolution: "jest-get-type@npm:29.6.3"
@@ -13023,6 +14381,51 @@ __metadata:
languageName: node
linkType: hard
+"jest-haste-map@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-haste-map@npm:29.7.0"
+ dependencies:
+ "@jest/types": "npm:^29.6.3"
+ "@types/graceful-fs": "npm:^4.1.3"
+ "@types/node": "npm:*"
+ anymatch: "npm:^3.0.3"
+ fb-watchman: "npm:^2.0.0"
+ fsevents: "npm:^2.3.2"
+ graceful-fs: "npm:^4.2.9"
+ jest-regex-util: "npm:^29.6.3"
+ jest-util: "npm:^29.7.0"
+ jest-worker: "npm:^29.7.0"
+ micromatch: "npm:^4.0.4"
+ walker: "npm:^1.0.8"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ checksum: 10/8531b42003581cb18a69a2774e68c456fb5a5c3280b1b9b77475af9e346b6a457250f9d756bfeeae2fe6cbc9ef28434c205edab9390ee970a919baddfa08bb85
+ languageName: node
+ linkType: hard
+
+"jest-leak-detector@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-leak-detector@npm:29.7.0"
+ dependencies:
+ jest-get-type: "npm:^29.6.3"
+ pretty-format: "npm:^29.7.0"
+ checksum: 10/e3950e3ddd71e1d0c22924c51a300a1c2db6cf69ec1e51f95ccf424bcc070f78664813bef7aed4b16b96dfbdeea53fe358f8aeaaea84346ae15c3735758f1605
+ languageName: node
+ linkType: hard
+
+"jest-matcher-utils@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-matcher-utils@npm:29.7.0"
+ dependencies:
+ chalk: "npm:^4.0.0"
+ jest-diff: "npm:^29.7.0"
+ jest-get-type: "npm:^29.6.3"
+ pretty-format: "npm:^29.7.0"
+ checksum: 10/981904a494299cf1e3baed352f8a3bd8b50a8c13a662c509b6a53c31461f94ea3bfeffa9d5efcfeb248e384e318c87de7e3baa6af0f79674e987482aa189af40
+ languageName: node
+ linkType: hard
+
"jest-message-util@npm:^29.5.0":
version: 29.5.0
resolution: "jest-message-util@npm:29.5.0"
@@ -13040,6 +14443,23 @@ __metadata:
languageName: node
linkType: hard
+"jest-message-util@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-message-util@npm:29.7.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.12.13"
+ "@jest/types": "npm:^29.6.3"
+ "@types/stack-utils": "npm:^2.0.0"
+ chalk: "npm:^4.0.0"
+ graceful-fs: "npm:^4.2.9"
+ micromatch: "npm:^4.0.4"
+ pretty-format: "npm:^29.7.0"
+ slash: "npm:^3.0.0"
+ stack-utils: "npm:^2.0.3"
+ checksum: 10/31d53c6ed22095d86bab9d14c0fa70c4a92c749ea6ceece82cf30c22c9c0e26407acdfbdb0231435dc85a98d6d65ca0d9cbcd25cd1abb377fe945e843fb770b9
+ languageName: node
+ linkType: hard
+
"jest-mock@npm:^29.5.0":
version: 29.5.0
resolution: "jest-mock@npm:29.5.0"
@@ -13051,6 +14471,29 @@ __metadata:
languageName: node
linkType: hard
+"jest-mock@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-mock@npm:29.7.0"
+ dependencies:
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ jest-util: "npm:^29.7.0"
+ checksum: 10/ae51d1b4f898724be5e0e52b2268a68fcd876d9b20633c864a6dd6b1994cbc48d62402b0f40f3a1b669b30ebd648821f086c26c08ffde192ced951ff4670d51c
+ languageName: node
+ linkType: hard
+
+"jest-pnp-resolver@npm:^1.2.2":
+ version: 1.2.3
+ resolution: "jest-pnp-resolver@npm:1.2.3"
+ peerDependencies:
+ jest-resolve: "*"
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+ checksum: 10/db1a8ab2cb97ca19c01b1cfa9a9c8c69a143fde833c14df1fab0766f411b1148ff0df878adea09007ac6a2085ec116ba9a996a6ad104b1e58c20adbf88eed9b2
+ languageName: node
+ linkType: hard
+
"jest-regex-util@npm:^27.0.6":
version: 27.5.1
resolution: "jest-regex-util@npm:27.5.1"
@@ -13058,6 +14501,127 @@ __metadata:
languageName: node
linkType: hard
+"jest-regex-util@npm:^29.6.3":
+ version: 29.6.3
+ resolution: "jest-regex-util@npm:29.6.3"
+ checksum: 10/0518beeb9bf1228261695e54f0feaad3606df26a19764bc19541e0fc6e2a3737191904607fb72f3f2ce85d9c16b28df79b7b1ec9443aa08c3ef0e9efda6f8f2a
+ languageName: node
+ linkType: hard
+
+"jest-resolve-dependencies@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-resolve-dependencies@npm:29.7.0"
+ dependencies:
+ jest-regex-util: "npm:^29.6.3"
+ jest-snapshot: "npm:^29.7.0"
+ checksum: 10/1e206f94a660d81e977bcfb1baae6450cb4a81c92e06fad376cc5ea16b8e8c6ea78c383f39e95591a9eb7f925b6a1021086c38941aa7c1b8a6a813c2f6e93675
+ languageName: node
+ linkType: hard
+
+"jest-resolve@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-resolve@npm:29.7.0"
+ dependencies:
+ chalk: "npm:^4.0.0"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.7.0"
+ jest-pnp-resolver: "npm:^1.2.2"
+ jest-util: "npm:^29.7.0"
+ jest-validate: "npm:^29.7.0"
+ resolve: "npm:^1.20.0"
+ resolve.exports: "npm:^2.0.0"
+ slash: "npm:^3.0.0"
+ checksum: 10/faa466fd9bc69ea6c37a545a7c6e808e073c66f46ab7d3d8a6ef084f8708f201b85d5fe1799789578b8b47fa1de47b9ee47b414d1863bc117a49e032ba77b7c7
+ languageName: node
+ linkType: hard
+
+"jest-runner@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-runner@npm:29.7.0"
+ dependencies:
+ "@jest/console": "npm:^29.7.0"
+ "@jest/environment": "npm:^29.7.0"
+ "@jest/test-result": "npm:^29.7.0"
+ "@jest/transform": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ emittery: "npm:^0.13.1"
+ graceful-fs: "npm:^4.2.9"
+ jest-docblock: "npm:^29.7.0"
+ jest-environment-node: "npm:^29.7.0"
+ jest-haste-map: "npm:^29.7.0"
+ jest-leak-detector: "npm:^29.7.0"
+ jest-message-util: "npm:^29.7.0"
+ jest-resolve: "npm:^29.7.0"
+ jest-runtime: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ jest-watcher: "npm:^29.7.0"
+ jest-worker: "npm:^29.7.0"
+ p-limit: "npm:^3.1.0"
+ source-map-support: "npm:0.5.13"
+ checksum: 10/9d8748a494bd90f5c82acea99be9e99f21358263ce6feae44d3f1b0cd90991b5df5d18d607e73c07be95861ee86d1cbab2a3fc6ca4b21805f07ac29d47c1da1e
+ languageName: node
+ linkType: hard
+
+"jest-runtime@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-runtime@npm:29.7.0"
+ dependencies:
+ "@jest/environment": "npm:^29.7.0"
+ "@jest/fake-timers": "npm:^29.7.0"
+ "@jest/globals": "npm:^29.7.0"
+ "@jest/source-map": "npm:^29.6.3"
+ "@jest/test-result": "npm:^29.7.0"
+ "@jest/transform": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ cjs-module-lexer: "npm:^1.0.0"
+ collect-v8-coverage: "npm:^1.0.0"
+ glob: "npm:^7.1.3"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.7.0"
+ jest-message-util: "npm:^29.7.0"
+ jest-mock: "npm:^29.7.0"
+ jest-regex-util: "npm:^29.6.3"
+ jest-resolve: "npm:^29.7.0"
+ jest-snapshot: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ slash: "npm:^3.0.0"
+ strip-bom: "npm:^4.0.0"
+ checksum: 10/59eb58eb7e150e0834a2d0c0d94f2a0b963ae7182cfa6c63f2b49b9c6ef794e5193ef1634e01db41420c36a94cefc512cdd67a055cd3e6fa2f41eaf0f82f5a20
+ languageName: node
+ linkType: hard
+
+"jest-snapshot@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-snapshot@npm:29.7.0"
+ dependencies:
+ "@babel/core": "npm:^7.11.6"
+ "@babel/generator": "npm:^7.7.2"
+ "@babel/plugin-syntax-jsx": "npm:^7.7.2"
+ "@babel/plugin-syntax-typescript": "npm:^7.7.2"
+ "@babel/types": "npm:^7.3.3"
+ "@jest/expect-utils": "npm:^29.7.0"
+ "@jest/transform": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ babel-preset-current-node-syntax: "npm:^1.0.0"
+ chalk: "npm:^4.0.0"
+ expect: "npm:^29.7.0"
+ graceful-fs: "npm:^4.2.9"
+ jest-diff: "npm:^29.7.0"
+ jest-get-type: "npm:^29.6.3"
+ jest-matcher-utils: "npm:^29.7.0"
+ jest-message-util: "npm:^29.7.0"
+ jest-util: "npm:^29.7.0"
+ natural-compare: "npm:^1.4.0"
+ pretty-format: "npm:^29.7.0"
+ semver: "npm:^7.5.3"
+ checksum: 10/cb19a3948256de5f922d52f251821f99657339969bf86843bd26cf3332eae94883e8260e3d2fba46129a27c3971c1aa522490e460e16c7fad516e82d10bbf9f8
+ languageName: node
+ linkType: hard
+
"jest-util@npm:^27.2.0":
version: 27.5.1
resolution: "jest-util@npm:27.5.1"
@@ -13072,6 +14636,20 @@ __metadata:
languageName: node
linkType: hard
+"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-util@npm:29.7.0"
+ dependencies:
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ ci-info: "npm:^3.2.0"
+ graceful-fs: "npm:^4.2.9"
+ picomatch: "npm:^2.2.3"
+ checksum: 10/30d58af6967e7d42bd903ccc098f3b4d3859ed46238fbc88d4add6a3f10bea00c226b93660285f058bc7a65f6f9529cf4eb80f8d4707f79f9e3a23686b4ab8f3
+ languageName: node
+ linkType: hard
+
"jest-util@npm:^29.5.0":
version: 29.5.0
resolution: "jest-util@npm:29.5.0"
@@ -13086,7 +14664,7 @@ __metadata:
languageName: node
linkType: hard
-"jest-validate@npm:^29.2.1":
+"jest-validate@npm:^29.2.1, jest-validate@npm:^29.7.0":
version: 29.7.0
resolution: "jest-validate@npm:29.7.0"
dependencies:
@@ -13100,6 +14678,22 @@ __metadata:
languageName: node
linkType: hard
+"jest-watcher@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-watcher@npm:29.7.0"
+ dependencies:
+ "@jest/test-result": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ "@types/node": "npm:*"
+ ansi-escapes: "npm:^4.2.1"
+ chalk: "npm:^4.0.0"
+ emittery: "npm:^0.13.1"
+ jest-util: "npm:^29.7.0"
+ string-length: "npm:^4.0.1"
+ checksum: 10/4f616e0345676631a7034b1d94971aaa719f0cd4a6041be2aa299be437ea047afd4fe05c48873b7963f5687a2f6c7cbf51244be8b14e313b97bfe32b1e127e55
+ languageName: node
+ linkType: hard
+
"jest-worker@npm:^27.2.0":
version: 27.5.1
resolution: "jest-worker@npm:27.5.1"
@@ -13111,6 +14705,37 @@ __metadata:
languageName: node
linkType: hard
+"jest-worker@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest-worker@npm:29.7.0"
+ dependencies:
+ "@types/node": "npm:*"
+ jest-util: "npm:^29.7.0"
+ merge-stream: "npm:^2.0.0"
+ supports-color: "npm:^8.0.0"
+ checksum: 10/364cbaef00d8a2729fc760227ad34b5e60829e0869bd84976bdfbd8c0d0f9c2f22677b3e6dd8afa76ed174765351cd12bae3d4530c62eefb3791055127ca9745
+ languageName: node
+ linkType: hard
+
+"jest@npm:^29.7.0":
+ version: 29.7.0
+ resolution: "jest@npm:29.7.0"
+ dependencies:
+ "@jest/core": "npm:^29.7.0"
+ "@jest/types": "npm:^29.6.3"
+ import-local: "npm:^3.0.2"
+ jest-cli: "npm:^29.7.0"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ bin:
+ jest: bin/jest.js
+ checksum: 10/97023d78446098c586faaa467fbf2c6b07ff06e2c85a19e3926adb5b0effe9ac60c4913ae03e2719f9c01ae8ffd8d92f6b262cedb9555ceeb5d19263d8c6362a
+ languageName: node
+ linkType: hard
+
"jimp-compact@npm:0.16.1":
version: 0.16.1
resolution: "jimp-compact@npm:0.16.1"
@@ -13220,6 +14845,45 @@ __metadata:
languageName: node
linkType: hard
+"jsdom@npm:^20.0.0":
+ version: 20.0.3
+ resolution: "jsdom@npm:20.0.3"
+ dependencies:
+ abab: "npm:^2.0.6"
+ acorn: "npm:^8.8.1"
+ acorn-globals: "npm:^7.0.0"
+ cssom: "npm:^0.5.0"
+ cssstyle: "npm:^2.3.0"
+ data-urls: "npm:^3.0.2"
+ decimal.js: "npm:^10.4.2"
+ domexception: "npm:^4.0.0"
+ escodegen: "npm:^2.0.0"
+ form-data: "npm:^4.0.0"
+ html-encoding-sniffer: "npm:^3.0.0"
+ http-proxy-agent: "npm:^5.0.0"
+ https-proxy-agent: "npm:^5.0.1"
+ is-potential-custom-element-name: "npm:^1.0.1"
+ nwsapi: "npm:^2.2.2"
+ parse5: "npm:^7.1.1"
+ saxes: "npm:^6.0.0"
+ symbol-tree: "npm:^3.2.4"
+ tough-cookie: "npm:^4.1.2"
+ w3c-xmlserializer: "npm:^4.0.0"
+ webidl-conversions: "npm:^7.0.0"
+ whatwg-encoding: "npm:^2.0.0"
+ whatwg-mimetype: "npm:^3.0.0"
+ whatwg-url: "npm:^11.0.0"
+ ws: "npm:^8.11.0"
+ xml-name-validator: "npm:^4.0.0"
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ checksum: 10/a4cdcff5b07eed87da90b146b82936321533b5efe8124492acf7160ebd5b9cf2b3c2435683592bf1cffb479615245756efb6c173effc1906f845a86ed22af985
+ languageName: node
+ linkType: hard
+
"jsesc@npm:3.0.2":
version: 3.0.2
resolution: "jsesc@npm:3.0.2"
@@ -13268,7 +14932,7 @@ __metadata:
languageName: node
linkType: hard
-"json-parse-even-better-errors@npm:^2.3.1":
+"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1":
version: 2.3.1
resolution: "json-parse-even-better-errors@npm:2.3.1"
checksum: 10/5f3a99009ed5f2a5a67d06e2f298cc97bc86d462034173308156f15b43a6e850be8511dc204b9b94566305da2947f7d90289657237d210351a39059ff9d666cf
@@ -13746,6 +15410,20 @@ __metadata:
languageName: node
linkType: hard
+"lodash.isequal@npm:^4.5.0":
+ version: 4.5.0
+ resolution: "lodash.isequal@npm:4.5.0"
+ checksum: 10/82fc58a83a1555f8df34ca9a2cd300995ff94018ac12cc47c349655f0ae1d4d92ba346db4c19bbfc90510764e0c00ddcc985a358bdcd4b3b965abf8f2a48a214
+ languageName: node
+ linkType: hard
+
+"lodash.memoize@npm:4.x":
+ version: 4.1.2
+ resolution: "lodash.memoize@npm:4.1.2"
+ checksum: 10/192b2168f310c86f303580b53acf81ab029761b9bd9caa9506a019ffea5f3363ea98d7e39e7e11e6b9917066c9d36a09a11f6fe16f812326390d8f3a54a1a6da
+ languageName: node
+ linkType: hard
+
"lodash.merge@npm:^4.6.2":
version: 4.6.2
resolution: "lodash.merge@npm:4.6.2"
@@ -13753,6 +15431,13 @@ __metadata:
languageName: node
linkType: hard
+"lodash.sortby@npm:^4.7.0":
+ version: 4.7.0
+ resolution: "lodash.sortby@npm:4.7.0"
+ checksum: 10/38df19ae28608af2c50ac342fc1f414508309d53e1d58ed9adfb2c3cd17c3af290058c0a0478028d932c5404df3d53349d19fa364ef6bed6145a6bc21320399e
+ languageName: node
+ linkType: hard
+
"lodash.throttle@npm:^4.1.1":
version: 4.1.1
resolution: "lodash.throttle@npm:4.1.1"
@@ -13767,7 +15452,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash@npm:^4.17.13, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4":
+"lodash@npm:^4.17.13, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532
@@ -13882,6 +15567,15 @@ __metadata:
languageName: node
linkType: hard
+"lz-string@npm:^1.5.0":
+ version: 1.5.0
+ resolution: "lz-string@npm:1.5.0"
+ bin:
+ lz-string: bin/bin.js
+ checksum: 10/e86f0280e99a8d8cd4eef24d8601ddae15ce54e43ac9990dfcb79e1e081c255ad24424a30d78d2ad8e51a8ce82a66a930047fed4b4aa38c6f0b392ff9300edfc
+ languageName: node
+ linkType: hard
+
"magic-string@npm:^0.25.3":
version: 0.25.9
resolution: "magic-string@npm:0.25.9"
@@ -13910,7 +15604,16 @@ __metadata:
languageName: node
linkType: hard
-"make-error@npm:^1.1.1":
+"make-dir@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "make-dir@npm:4.0.0"
+ dependencies:
+ semver: "npm:^7.5.3"
+ checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a
+ languageName: node
+ linkType: hard
+
+"make-error@npm:1.x, make-error@npm:^1.1.1":
version: 1.3.6
resolution: "make-error@npm:1.3.6"
checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402
@@ -14971,6 +16674,13 @@ __metadata:
languageName: node
linkType: hard
+"min-indent@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "min-indent@npm:1.0.1"
+ checksum: 10/bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1
+ languageName: node
+ linkType: hard
+
"minimatch@npm:2 || 3, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
@@ -15369,6 +17079,13 @@ __metadata:
languageName: node
linkType: hard
+"node-domexception@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "node-domexception@npm:1.0.0"
+ checksum: 10/e332522f242348c511640c25a6fc7da4f30e09e580c70c6b13cb0be83c78c3e71c8d4665af2527e869fc96848924a4316ae7ec9014c091e2156f41739d4fa233
+ languageName: node
+ linkType: hard
+
"node-fetch@npm:2.6.7":
version: 2.6.7
resolution: "node-fetch@npm:2.6.7"
@@ -15397,6 +17114,31 @@ __metadata:
languageName: node
linkType: hard
+"node-fetch@npm:^2.6.12":
+ version: 2.7.0
+ resolution: "node-fetch@npm:2.7.0"
+ dependencies:
+ whatwg-url: "npm:^5.0.0"
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ checksum: 10/b24f8a3dc937f388192e59bcf9d0857d7b6940a2496f328381641cb616efccc9866e89ec43f2ec956bbd6c3d3ee05524ce77fe7b29ccd34692b3a16f237d6676
+ languageName: node
+ linkType: hard
+
+"node-fetch@npm:^3.3.2":
+ version: 3.3.2
+ resolution: "node-fetch@npm:3.3.2"
+ dependencies:
+ data-uri-to-buffer: "npm:^4.0.0"
+ fetch-blob: "npm:^3.1.4"
+ formdata-polyfill: "npm:^4.0.10"
+ checksum: 10/24207ca8c81231c7c59151840e3fded461d67a31cf3e3b3968e12201a42f89ce4a0b5fb7079b1fa0a4655957b1ca9257553200f03a9f668b45ebad265ca5593d
+ languageName: node
+ linkType: hard
+
"node-forge@npm:^1.2.1, node-forge@npm:^1.3.1":
version: 1.3.1
resolution: "node-forge@npm:1.3.1"
@@ -15576,6 +17318,13 @@ __metadata:
languageName: node
linkType: hard
+"nwsapi@npm:^2.2.2":
+ version: 2.2.7
+ resolution: "nwsapi@npm:2.2.7"
+ checksum: 10/22c002080f0297121ad138aba5a6509e724774d6701fe2c4777627bd939064ecd9e1b6dc1c2c716bb7ca0b9f16247892ff2f664285202ac7eff6ec9543725320
+ languageName: node
+ linkType: hard
+
"ob1@npm:0.76.8":
version: 0.76.8
resolution: "ob1@npm:0.76.8"
@@ -15861,7 +17610,7 @@ __metadata:
languageName: node
linkType: hard
-"p-limit@npm:^3.0.2":
+"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0":
version: 3.1.0
resolution: "p-limit@npm:3.1.0"
dependencies:
@@ -16014,6 +17763,18 @@ __metadata:
languageName: node
linkType: hard
+"parse-json@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "parse-json@npm:5.2.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.0.0"
+ error-ex: "npm:^1.3.1"
+ json-parse-even-better-errors: "npm:^2.3.0"
+ lines-and-columns: "npm:^1.1.6"
+ checksum: 10/62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2
+ languageName: node
+ linkType: hard
+
"parse-ms@npm:^2.1.0":
version: 2.1.0
resolution: "parse-ms@npm:2.1.0"
@@ -16030,6 +17791,15 @@ __metadata:
languageName: node
linkType: hard
+"parse5@npm:^7.0.0, parse5@npm:^7.1.1":
+ version: 7.1.2
+ resolution: "parse5@npm:7.1.2"
+ dependencies:
+ entities: "npm:^4.4.0"
+ checksum: 10/3c86806bb0fb1e9a999ff3a4c883b1ca243d99f45a619a0898dbf021a95a0189ed955c31b07fe49d342b54e814f33f2c9d7489198e8630dacd5477d413ec5782
+ languageName: node
+ linkType: hard
+
"parseurl@npm:~1.3.3":
version: 1.3.3
resolution: "parseurl@npm:1.3.3"
@@ -16127,6 +17897,13 @@ __metadata:
languageName: node
linkType: hard
+"path-to-regexp@npm:^2.2.1":
+ version: 2.4.0
+ resolution: "path-to-regexp@npm:2.4.0"
+ checksum: 10/0afcae75a233ea8e1728522f25820896e3243bfa8c2da2f138e6b51e27db30fcf4cd1c97d77bec7fb4bf819d5e73534cf667f7ace012a0fc89b91ef415690756
+ languageName: node
+ linkType: hard
+
"path-type@npm:^4.0.0":
version: 4.0.0
resolution: "path-type@npm:4.0.0"
@@ -16205,6 +17982,13 @@ __metadata:
languageName: node
linkType: hard
+"pirates@npm:^4.0.4":
+ version: 4.0.6
+ resolution: "pirates@npm:4.0.6"
+ checksum: 10/d02dda76f4fec1cbdf395c36c11cf26f76a644f9f9a1bfa84d3167d0d3154d5289aacc72677aa20d599bb4a6937a471de1b65c995e2aea2d8687cbcd7e43ea5f
+ languageName: node
+ linkType: hard
+
"pkg-dir@npm:^3.0.0":
version: 3.0.0
resolution: "pkg-dir@npm:3.0.0"
@@ -16214,7 +17998,7 @@ __metadata:
languageName: node
linkType: hard
-"pkg-dir@npm:^4.1.0":
+"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0":
version: 4.2.0
resolution: "pkg-dir@npm:4.2.0"
dependencies:
@@ -16492,18 +18276,18 @@ __metadata:
languageName: node
linkType: hard
-"pretty-format@npm:^29.5.0":
- version: 29.5.0
- resolution: "pretty-format@npm:29.5.0"
+"pretty-format@npm:^27.0.2":
+ version: 27.5.1
+ resolution: "pretty-format@npm:27.5.1"
dependencies:
- "@jest/schemas": "npm:^29.4.3"
+ ansi-regex: "npm:^5.0.1"
ansi-styles: "npm:^5.0.0"
- react-is: "npm:^18.0.0"
- checksum: 10/b025cb1d2bf27b8dc338792b208811b196828ccf590a87014d9ac9406eb809324ef56151ba41d489c8a67fed94cdacc94ca003380c2795233e117a5874b2566b
+ react-is: "npm:^17.0.1"
+ checksum: 10/248990cbef9e96fb36a3e1ae6b903c551ca4ddd733f8d0912b9cc5141d3d0b3f9f8dfb4d799fb1c6723382c9c2083ffbfa4ad43ff9a0e7535d32d41fd5f01da6
languageName: node
linkType: hard
-"pretty-format@npm:^29.7.0":
+"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0":
version: 29.7.0
resolution: "pretty-format@npm:29.7.0"
dependencies:
@@ -16514,6 +18298,17 @@ __metadata:
languageName: node
linkType: hard
+"pretty-format@npm:^29.5.0":
+ version: 29.5.0
+ resolution: "pretty-format@npm:29.5.0"
+ dependencies:
+ "@jest/schemas": "npm:^29.4.3"
+ ansi-styles: "npm:^5.0.0"
+ react-is: "npm:^18.0.0"
+ checksum: 10/b025cb1d2bf27b8dc338792b208811b196828ccf590a87014d9ac9406eb809324ef56151ba41d489c8a67fed94cdacc94ca003380c2795233e117a5874b2566b
+ languageName: node
+ linkType: hard
+
"pretty-ms@npm:7.0.1, pretty-ms@npm:^7.0.1":
version: 7.0.1
resolution: "pretty-ms@npm:7.0.1"
@@ -16544,6 +18339,13 @@ __metadata:
languageName: node
linkType: hard
+"promise-polyfill@npm:^8.1.3":
+ version: 8.3.0
+ resolution: "promise-polyfill@npm:8.3.0"
+ checksum: 10/f735f59e464174f720fec9c41c5029ec1014e62e05d61e39d8d2290a0bc4dd7c36a0782d3202f1775d09d0b33a47fef289db38c437534769b187da22e03bfa23
+ languageName: node
+ linkType: hard
+
"promise-retry@npm:^2.0.1":
version: 2.0.1
resolution: "promise-retry@npm:2.0.1"
@@ -16572,7 +18374,7 @@ __metadata:
languageName: node
linkType: hard
-"prompts@npm:^2.3.2, prompts@npm:^2.4.0":
+"prompts@npm:^2.0.1, prompts@npm:^2.3.2, prompts@npm:^2.4.0":
version: 2.4.2
resolution: "prompts@npm:2.4.2"
dependencies:
@@ -16640,6 +18442,13 @@ __metadata:
languageName: node
linkType: hard
+"psl@npm:^1.1.33":
+ version: 1.9.0
+ resolution: "psl@npm:1.9.0"
+ checksum: 10/d07879d4bfd0ac74796306a8e5a36a93cfb9c4f4e8ee8e63fbb909066c192fe1008cd8f12abd8ba2f62ca28247949a20c8fb32e1d18831d9e71285a1569720f9
+ languageName: node
+ linkType: hard
+
"pump@npm:^2.0.0":
version: 2.0.1
resolution: "pump@npm:2.0.1"
@@ -16685,6 +18494,20 @@ __metadata:
languageName: node
linkType: hard
+"punycode@npm:^2.1.1":
+ version: 2.3.1
+ resolution: "punycode@npm:2.3.1"
+ checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059
+ languageName: node
+ linkType: hard
+
+"pure-rand@npm:^6.0.0":
+ version: 6.1.0
+ resolution: "pure-rand@npm:6.1.0"
+ checksum: 10/256aa4bcaf9297256f552914e03cbdb0039c8fe1db11fa1e6d3f80790e16e563eb0a859a1e61082a95e224fc0c608661839439f8ecc6a3db4e48d46d99216ee4
+ languageName: node
+ linkType: hard
+
"qrcode-terminal@npm:0.11.0":
version: 0.11.0
resolution: "qrcode-terminal@npm:0.11.0"
@@ -16731,6 +18554,13 @@ __metadata:
languageName: node
linkType: hard
+"querystring@npm:^0.2.0":
+ version: 0.2.1
+ resolution: "querystring@npm:0.2.1"
+ checksum: 10/5ae2eeb8c6d70263a3d13ffaf234ce9593ae0e95ad8ea04aa540e14ff66679347420817aeb4fe6fdfa2aaa7fac86e311b6f1d3da2187f433082ad9125c808c14
+ languageName: node
+ linkType: hard
+
"querystringify@npm:^2.1.1":
version: 2.2.0
resolution: "querystringify@npm:2.2.0"
@@ -17197,10 +19027,20 @@ __metadata:
dependencies:
"@babel/runtime": "npm:^7.18.9"
"@manypkg/cli": "npm:^0.19.1"
+ "@testing-library/jest-dom": "npm:^6.4.2"
+ "@testing-library/react": "npm:^14.2.2"
+ "@types/jest": "npm:^29.5.12"
check-dependency-version-consistency: "npm:^3.0.3"
eslint: "npm:^8.21.0"
+ fetch-mock: "npm:^9.11.0"
+ jest: "npm:^29.7.0"
+ jest-environment-jsdom: "npm:^29.7.0"
+ jest-fetch-mock: "npm:^3.0.3"
+ node-fetch: "npm:^3.3.2"
node-gyp: "npm:^9.3.1"
prettier: "npm:^2.7.1"
+ ts-jest: "npm:^29.1.2"
+ ts-node: "npm:^10.9.2"
turbo: "npm:^1.10.3"
typescript: "npm:^5.3.3"
languageName: unknown
@@ -17218,6 +19058,16 @@ __metadata:
languageName: node
linkType: hard
+"redent@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "redent@npm:3.0.0"
+ dependencies:
+ indent-string: "npm:^4.0.0"
+ strip-indent: "npm:^3.0.0"
+ checksum: 10/fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b
+ languageName: node
+ linkType: hard
+
"reforest@npm:^0.13.0":
version: 0.13.0
resolution: "reforest@npm:0.13.0"
@@ -17457,6 +19307,15 @@ __metadata:
languageName: node
linkType: hard
+"resolve-cwd@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "resolve-cwd@npm:3.0.0"
+ dependencies:
+ resolve-from: "npm:^5.0.0"
+ checksum: 10/546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81
+ languageName: node
+ linkType: hard
+
"resolve-from@npm:^3.0.0":
version: 3.0.0
resolution: "resolve-from@npm:3.0.0"
@@ -17478,6 +19337,13 @@ __metadata:
languageName: node
linkType: hard
+"resolve.exports@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "resolve.exports@npm:2.0.2"
+ checksum: 10/f1cc0b6680f9a7e0345d783e0547f2a5110d8336b3c2a4227231dd007271ffd331fd722df934f017af90bae0373920ca0d4005da6f76cb3176c8ae426370f893
+ languageName: node
+ linkType: hard
+
"resolve@npm:^1.13.1, resolve@npm:^1.14.2, resolve@npm:^1.22.1":
version: 1.22.3
resolution: "resolve@npm:1.22.3"
@@ -17491,6 +19357,19 @@ __metadata:
languageName: node
linkType: hard
+"resolve@npm:^1.20.0":
+ version: 1.22.8
+ resolution: "resolve@npm:1.22.8"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10/c473506ee01eb45cbcfefb68652ae5759e092e6b0fb64547feadf9736a6394f258fbc6f88e00c5ca36d5477fbb65388b272432a3600fa223062e54333c156753
+ languageName: node
+ linkType: hard
+
"resolve@npm:^2.0.0-next.4":
version: 2.0.0-next.4
resolution: "resolve@npm:2.0.0-next.4"
@@ -17526,6 +19405,19 @@ __metadata:
languageName: node
linkType: hard
+"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin":
+ version: 1.22.8
+ resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"
+ dependencies:
+ is-core-module: "npm:^2.13.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10/f345cd37f56a2c0275e3fe062517c650bb673815d885e7507566df589375d165bbbf4bdb6aa95600a9bc55f4744b81f452b5a63f95b9f10a72787dba3c90890a
+ languageName: node
+ linkType: hard
+
"resolve@patch:resolve@npm%3A^2.0.0-next.4#optional!builtin":
version: 2.0.0-next.4
resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#optional!builtin::version=2.0.0-next.4&hash=c3c19d"
@@ -17767,6 +19659,15 @@ __metadata:
languageName: node
linkType: hard
+"saxes@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "saxes@npm:6.0.0"
+ dependencies:
+ xmlchars: "npm:^2.2.0"
+ checksum: 10/97b50daf6ca3a153e89842efa18a862e446248296622b7473c169c84c823ee8a16e4a43bac2f73f11fc8cb9168c73fbb0d73340f26552bac17970e9052367aa9
+ languageName: node
+ linkType: hard
+
"scheduler@npm:0.24.0-canary-efb381bbf-20230505":
version: 0.24.0-canary-efb381bbf-20230505
resolution: "scheduler@npm:0.24.0-canary-efb381bbf-20230505"
@@ -17907,7 +19808,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.5.1":
+"semver@npm:^7.5.1, semver@npm:^7.5.4":
version: 7.6.0
resolution: "semver@npm:7.6.0"
dependencies:
@@ -18259,6 +20160,16 @@ __metadata:
languageName: node
linkType: hard
+"source-map-support@npm:0.5.13":
+ version: 0.5.13
+ resolution: "source-map-support@npm:0.5.13"
+ dependencies:
+ buffer-from: "npm:^1.0.0"
+ source-map: "npm:^0.6.0"
+ checksum: 10/d1514a922ac9c7e4786037eeff6c3322f461cd25da34bb9fefb15387b3490531774e6e31d95ab6d5b84a3e139af9c3a570ccaee6b47bd7ea262691ed3a8bc34e
+ languageName: node
+ linkType: hard
+
"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20":
version: 0.5.21
resolution: "source-map-support@npm:0.5.21"
@@ -18438,6 +20349,16 @@ __metadata:
languageName: node
linkType: hard
+"string-length@npm:^4.0.1":
+ version: 4.0.2
+ resolution: "string-length@npm:4.0.2"
+ dependencies:
+ char-regex: "npm:^1.0.2"
+ strip-ansi: "npm:^6.0.0"
+ checksum: 10/ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505
+ languageName: node
+ linkType: hard
+
"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
version: 4.2.3
resolution: "string-width@npm:4.2.3"
@@ -18558,6 +20479,13 @@ __metadata:
languageName: node
linkType: hard
+"strip-bom@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "strip-bom@npm:4.0.0"
+ checksum: 10/9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3
+ languageName: node
+ linkType: hard
+
"strip-eof@npm:^1.0.0":
version: 1.0.0
resolution: "strip-eof@npm:1.0.0"
@@ -18572,6 +20500,15 @@ __metadata:
languageName: node
linkType: hard
+"strip-indent@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "strip-indent@npm:3.0.0"
+ dependencies:
+ min-indent: "npm:^1.0.0"
+ checksum: 10/18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530
+ languageName: node
+ linkType: hard
+
"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1":
version: 3.1.1
resolution: "strip-json-comments@npm:3.1.1"
@@ -18725,6 +20662,13 @@ __metadata:
languageName: node
linkType: hard
+"symbol-tree@npm:^3.2.4":
+ version: 3.2.4
+ resolution: "symbol-tree@npm:3.2.4"
+ checksum: 10/c09a00aadf279d47d0c5c46ca3b6b2fbaeb45f0a184976d599637d412d3a70bbdc043ff33effe1206dea0e36e0ad226cb957112e7ce9a4bf2daedf7fa4f85c53
+ languageName: node
+ linkType: hard
+
"synckit@npm:^0.8.5":
version: 0.8.5
resolution: "synckit@npm:0.8.5"
@@ -18953,6 +20897,17 @@ __metadata:
languageName: node
linkType: hard
+"test-exclude@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "test-exclude@npm:6.0.0"
+ dependencies:
+ "@istanbuljs/schema": "npm:^0.1.2"
+ glob: "npm:^7.1.4"
+ minimatch: "npm:^3.0.4"
+ checksum: 10/8fccb2cb6c8fcb6bb4115394feb833f8b6cf4b9503ec2485c2c90febf435cac62abe882a0c5c51a37b9bbe70640cdd05acf5f45e486ac4583389f4b0855f69e5
+ languageName: node
+ linkType: hard
+
"text-table@npm:^0.2.0":
version: 0.2.0
resolution: "text-table@npm:0.2.0"
@@ -19088,6 +21043,36 @@ __metadata:
languageName: node
linkType: hard
+"tough-cookie@npm:^4.1.2":
+ version: 4.1.3
+ resolution: "tough-cookie@npm:4.1.3"
+ dependencies:
+ psl: "npm:^1.1.33"
+ punycode: "npm:^2.1.1"
+ universalify: "npm:^0.2.0"
+ url-parse: "npm:^1.5.3"
+ checksum: 10/cf148c359b638a7069fc3ba9a5257bdc9616a6948a98736b92c3570b3f8401cf9237a42bf716878b656f372a1fb65b74dd13a46ccff8eceba14ffd053d33f72a
+ languageName: node
+ linkType: hard
+
+"tr46@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "tr46@npm:1.0.1"
+ dependencies:
+ punycode: "npm:^2.1.0"
+ checksum: 10/6e80d75480cb6658f7f283c15f5f41c2d4dfa243ca99a0e1baf3de6cc823fc4c829f89782a7a11e029905781fccfea42d08d8a6674ba7948c7dbc595b6f27dd3
+ languageName: node
+ linkType: hard
+
+"tr46@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "tr46@npm:3.0.0"
+ dependencies:
+ punycode: "npm:^2.1.1"
+ checksum: 10/b09a15886cbfaee419a3469081223489051ce9dca3374dd9500d2378adedbee84a3c73f83bfdd6bb13d53657753fc0d4e20a46bfcd3f1b9057ef528426ad7ce4
+ languageName: node
+ linkType: hard
+
"tr46@npm:~0.0.3":
version: 0.0.3
resolution: "tr46@npm:0.0.3"
@@ -19116,6 +21101,39 @@ __metadata:
languageName: node
linkType: hard
+"ts-jest@npm:^29.1.2":
+ version: 29.1.2
+ resolution: "ts-jest@npm:29.1.2"
+ dependencies:
+ bs-logger: "npm:0.x"
+ fast-json-stable-stringify: "npm:2.x"
+ jest-util: "npm:^29.0.0"
+ json5: "npm:^2.2.3"
+ lodash.memoize: "npm:4.x"
+ make-error: "npm:1.x"
+ semver: "npm:^7.5.3"
+ yargs-parser: "npm:^21.0.1"
+ peerDependencies:
+ "@babel/core": ">=7.0.0-beta.0 <8"
+ "@jest/types": ^29.0.0
+ babel-jest: ^29.0.0
+ jest: ^29.0.0
+ typescript: ">=4.3 <6"
+ peerDependenciesMeta:
+ "@babel/core":
+ optional: true
+ "@jest/types":
+ optional: true
+ babel-jest:
+ optional: true
+ esbuild:
+ optional: true
+ bin:
+ ts-jest: cli.js
+ checksum: 10/5e40e7b933a1f3aa0d304d3c53913d1a7125fc79cd44e22b332f6e25dfe13008ddc7ac647066bb4f914d76083f7e8949f0bc156d793c30f3419f4ffd8180968b
+ languageName: node
+ linkType: hard
+
"ts-morph@npm:12.0.0":
version: 12.0.0
resolution: "ts-morph@npm:12.0.0"
@@ -19164,6 +21182,44 @@ __metadata:
languageName: node
linkType: hard
+"ts-node@npm:^10.9.2":
+ version: 10.9.2
+ resolution: "ts-node@npm:10.9.2"
+ dependencies:
+ "@cspotcode/source-map-support": "npm:^0.8.0"
+ "@tsconfig/node10": "npm:^1.0.7"
+ "@tsconfig/node12": "npm:^1.0.7"
+ "@tsconfig/node14": "npm:^1.0.0"
+ "@tsconfig/node16": "npm:^1.0.2"
+ acorn: "npm:^8.4.1"
+ acorn-walk: "npm:^8.1.1"
+ arg: "npm:^4.1.0"
+ create-require: "npm:^1.1.0"
+ diff: "npm:^4.0.1"
+ make-error: "npm:^1.1.1"
+ v8-compile-cache-lib: "npm:^3.0.1"
+ yn: "npm:3.1.1"
+ peerDependencies:
+ "@swc/core": ">=1.2.50"
+ "@swc/wasm": ">=1.2.50"
+ "@types/node": "*"
+ typescript: ">=2.7"
+ peerDependenciesMeta:
+ "@swc/core":
+ optional: true
+ "@swc/wasm":
+ optional: true
+ bin:
+ ts-node: dist/bin.js
+ ts-node-cwd: dist/bin-cwd.js
+ ts-node-esm: dist/bin-esm.js
+ ts-node-script: dist/bin-script.js
+ ts-node-transpile-only: dist/bin-transpile.js
+ ts-script: dist/bin-script-deprecated.js
+ checksum: 10/a91a15b3c9f76ac462f006fa88b6bfa528130dcfb849dd7ef7f9d640832ab681e235b8a2bc58ecde42f72851cc1d5d4e22c901b0c11aa51001ea1d395074b794
+ languageName: node
+ linkType: hard
+
"ts-toolbelt@npm:^6.15.5":
version: 6.15.5
resolution: "ts-toolbelt@npm:6.15.5"
@@ -19667,6 +21723,13 @@ __metadata:
languageName: node
linkType: hard
+"universalify@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "universalify@npm:0.2.0"
+ checksum: 10/e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5
+ languageName: node
+ linkType: hard
+
"universalify@npm:^1.0.0":
version: 1.0.0
resolution: "universalify@npm:1.0.0"
@@ -19758,7 +21821,7 @@ __metadata:
languageName: node
linkType: hard
-"url-parse@npm:^1.5.9":
+"url-parse@npm:^1.5.3, url-parse@npm:^1.5.9":
version: 1.5.10
resolution: "url-parse@npm:1.5.10"
dependencies:
@@ -19896,6 +21959,17 @@ __metadata:
languageName: node
linkType: hard
+"v8-to-istanbul@npm:^9.0.1":
+ version: 9.2.0
+ resolution: "v8-to-istanbul@npm:9.2.0"
+ dependencies:
+ "@jridgewell/trace-mapping": "npm:^0.3.12"
+ "@types/istanbul-lib-coverage": "npm:^2.0.1"
+ convert-source-map: "npm:^2.0.0"
+ checksum: 10/18dd8cebfb6790f27f4e41e7cff77c7ab1c8904085f354dd7875e2eb65f4261c4cf40939132502875779d92304bfea46b8336346ecb40b6f33c3a3979e6f5729
+ languageName: node
+ linkType: hard
+
"valid-url@npm:~1.0.9":
version: 1.0.9
resolution: "valid-url@npm:1.0.9"
@@ -20053,7 +22127,16 @@ __metadata:
languageName: node
linkType: hard
-"walker@npm:^1.0.7":
+"w3c-xmlserializer@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "w3c-xmlserializer@npm:4.0.0"
+ dependencies:
+ xml-name-validator: "npm:^4.0.0"
+ checksum: 10/9a00c412b5496f4f040842c9520bc0aaec6e0c015d06412a91a723cd7d84ea605ab903965f546b4ecdb3eae267f5145ba08565222b1d6cb443ee488cda9a0aee
+ languageName: node
+ linkType: hard
+
+"walker@npm:^1.0.7, walker@npm:^1.0.8":
version: 1.0.8
resolution: "walker@npm:1.0.8"
dependencies:
@@ -20088,6 +22171,13 @@ __metadata:
languageName: node
linkType: hard
+"web-streams-polyfill@npm:^3.0.3":
+ version: 3.3.3
+ resolution: "web-streams-polyfill@npm:3.3.3"
+ checksum: 10/8e7e13501b3834094a50abe7c0b6456155a55d7571312b89570012ef47ec2a46d766934768c50aabad10a9c30dd764a407623e8bfcc74fcb58495c29130edea9
+ languageName: node
+ linkType: hard
+
"web-vitals@npm:0.2.4":
version: 0.2.4
resolution: "web-vitals@npm:0.2.4"
@@ -20102,6 +22192,20 @@ __metadata:
languageName: node
linkType: hard
+"webidl-conversions@npm:^4.0.2":
+ version: 4.0.2
+ resolution: "webidl-conversions@npm:4.0.2"
+ checksum: 10/594187c36f2d7898f89c0ed3b9248a095fa549ecc1befb10a97bc884b5680dc96677f58df5579334d8e0d1018e5ef075689cfa2a6c459f45a61a9deb512cb59e
+ languageName: node
+ linkType: hard
+
+"webidl-conversions@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "webidl-conversions@npm:7.0.0"
+ checksum: 10/4c4f65472c010eddbe648c11b977d048dd96956a625f7f8b9d64e1b30c3c1f23ea1acfd654648426ce5c743c2108a5a757c0592f02902cf7367adb7d14e67721
+ languageName: node
+ linkType: hard
+
"webpack-sources@npm:^1.4.3":
version: 1.4.3
resolution: "webpack-sources@npm:1.4.3"
@@ -20112,6 +22216,15 @@ __metadata:
languageName: node
linkType: hard
+"whatwg-encoding@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "whatwg-encoding@npm:2.0.0"
+ dependencies:
+ iconv-lite: "npm:0.6.3"
+ checksum: 10/162d712d88fd134a4fe587e53302da812eb4215a1baa4c394dfd86eff31d0a079ff932c05233857997de07481093358d6e7587997358f49b8a580a777be22089
+ languageName: node
+ linkType: hard
+
"whatwg-fetch@npm:^3.0.0":
version: 3.6.2
resolution: "whatwg-fetch@npm:3.6.2"
@@ -20119,6 +22232,23 @@ __metadata:
languageName: node
linkType: hard
+"whatwg-mimetype@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "whatwg-mimetype@npm:3.0.0"
+ checksum: 10/96f9f628c663c2ae05412c185ca81b3df54bcb921ab52fe9ebc0081c1720f25d770665401eb2338ab7f48c71568133845638e18a81ed52ab5d4dcef7d22b40ef
+ languageName: node
+ linkType: hard
+
+"whatwg-url@npm:^11.0.0":
+ version: 11.0.0
+ resolution: "whatwg-url@npm:11.0.0"
+ dependencies:
+ tr46: "npm:^3.0.0"
+ webidl-conversions: "npm:^7.0.0"
+ checksum: 10/dfcd51c6f4bfb54685528fb10927f3fd3d7c809b5671beef4a8cdd7b1408a7abf3343a35bc71dab83a1424f1c1e92cc2700d7930d95d231df0fac361de0c7648
+ languageName: node
+ linkType: hard
+
"whatwg-url@npm:^5.0.0":
version: 5.0.0
resolution: "whatwg-url@npm:5.0.0"
@@ -20129,6 +22259,17 @@ __metadata:
languageName: node
linkType: hard
+"whatwg-url@npm:^6.5.0":
+ version: 6.5.0
+ resolution: "whatwg-url@npm:6.5.0"
+ dependencies:
+ lodash.sortby: "npm:^4.7.0"
+ tr46: "npm:^1.0.1"
+ webidl-conversions: "npm:^4.0.2"
+ checksum: 10/fbe8e9d81f8f07343f60bc135962ff346d7d19efc9e2f842f54b5c525837dcf1a36d13be21902311a2922b6342799dd82454e552b4e460d74451794f187ba0a5
+ languageName: node
+ linkType: hard
+
"which-boxed-primitive@npm:^1.0.2":
version: 1.0.2
resolution: "which-boxed-primitive@npm:1.0.2"
@@ -20267,6 +22408,16 @@ __metadata:
languageName: node
linkType: hard
+"write-file-atomic@npm:^4.0.2":
+ version: 4.0.2
+ resolution: "write-file-atomic@npm:4.0.2"
+ dependencies:
+ imurmurhash: "npm:^0.1.4"
+ signal-exit: "npm:^3.0.7"
+ checksum: 10/3be1f5508a46c190619d5386b1ac8f3af3dbe951ed0f7b0b4a0961eed6fc626bd84b50cf4be768dabc0a05b672f5d0c5ee7f42daa557b14415d18c3a13c7d246
+ languageName: node
+ linkType: hard
+
"ws@npm:^6.2.2":
version: 6.2.2
resolution: "ws@npm:6.2.2"
@@ -20291,6 +22442,21 @@ __metadata:
languageName: node
linkType: hard
+"ws@npm:^8.11.0":
+ version: 8.16.0
+ resolution: "ws@npm:8.16.0"
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ">=5.0.2"
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ checksum: 10/7c511c59e979bd37b63c3aea4a8e4d4163204f00bd5633c053b05ed67835481995f61a523b0ad2b603566f9a89b34cb4965cb9fab9649fbfebd8f740cea57f17
+ languageName: node
+ linkType: hard
+
"ws@npm:^8.12.1":
version: 8.13.0
resolution: "ws@npm:8.13.0"
@@ -20349,6 +22515,13 @@ __metadata:
languageName: node
linkType: hard
+"xml-name-validator@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "xml-name-validator@npm:4.0.0"
+ checksum: 10/f9582a3f281f790344a471c207516e29e293c6041b2c20d84dd6e58832cd7c19796c47e108fd4fd4b164a5e72ad94f2268f8ace8231cde4a2c6428d6aa220f92
+ languageName: node
+ linkType: hard
+
"xml2js@npm:0.6.0":
version: 0.6.0
resolution: "xml2js@npm:0.6.0"
@@ -20380,6 +22553,13 @@ __metadata:
languageName: node
linkType: hard
+"xmlchars@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "xmlchars@npm:2.2.0"
+ checksum: 10/4ad5924974efd004a47cce6acf5c0269aee0e62f9a805a426db3337af7bcbd331099df174b024ace4fb18971b8a56de386d2e73a1c4b020e3abd63a4a9b917f1
+ languageName: node
+ linkType: hard
+
"xregexp@npm:2.0.0":
version: 2.0.0
resolution: "xregexp@npm:2.0.0"
@@ -20453,7 +22633,7 @@ __metadata:
languageName: node
linkType: hard
-"yargs-parser@npm:^21.1.1":
+"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1":
version: 21.1.1
resolution: "yargs-parser@npm:21.1.1"
checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e
@@ -20479,7 +22659,7 @@ __metadata:
languageName: node
linkType: hard
-"yargs@npm:^17.6.2":
+"yargs@npm:^17.3.1, yargs@npm:^17.6.2":
version: 17.7.2
resolution: "yargs@npm:17.7.2"
dependencies: