fix/refactor(reversi): 既存のバグを修正・型定義を強化 (#13105)
* 既存のバグを修正 * fix types * fix misskey-js autogen * Update index.d.ts --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
This commit is contained in:
		
							parent
							
								
									a6a91fec3a
								
							
						
					
					
						commit
						6a41afaaee
					
				
					 13 changed files with 153 additions and 65 deletions
				
			
		
							
								
								
									
										2
									
								
								locales/index.d.ts
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								locales/index.d.ts
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -4894,7 +4894,7 @@ export interface Locale extends ILocale {
 | 
			
		|||
         */
 | 
			
		||||
        "readConfirmText": ParameterizedString<"title">;
 | 
			
		||||
        /**
 | 
			
		||||
         * 特に新規ユーザーのUXを損ねる可能性が高いため、ストック情報ではなくフロー情報の掲示にお知らせを使用することを推奨します。
 | 
			
		||||
         * 特に新規ユーザーのUXを損ねる可能性が高いため、常時掲示するための情報ではなく、即時性が求められる情報の掲示のためにお知らせを使用することを推奨します。
 | 
			
		||||
         */
 | 
			
		||||
        "shouldNotBeUsedToPresentPermanentInfo": string;
 | 
			
		||||
        /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,11 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
			
		|||
	<template #header>{{ i18n.ts.selectUser }}</template>
 | 
			
		||||
	<div>
 | 
			
		||||
		<div :class="$style.form">
 | 
			
		||||
			<FormSplit :minWidth="170">
 | 
			
		||||
			<MkInput v-if="localOnly" v-model="username" :autofocus="true" @update:modelValue="search">
 | 
			
		||||
				<template #label>{{ i18n.ts.username }}</template>
 | 
			
		||||
				<template #prefix>@</template>
 | 
			
		||||
			</MkInput>
 | 
			
		||||
			<FormSplit v-else :minWidth="170">
 | 
			
		||||
				<MkInput v-model="username" :autofocus="true" @update:modelValue="search">
 | 
			
		||||
					<template #label>{{ i18n.ts.username }}</template>
 | 
			
		||||
					<template #prefix>@</template>
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +70,7 @@ import { misskeyApi } from '@/scripts/misskey-api.js';
 | 
			
		|||
import { defaultStore } from '@/store.js';
 | 
			
		||||
import { i18n } from '@/i18n.js';
 | 
			
		||||
import { $i } from '@/account.js';
 | 
			
		||||
import { hostname } from '@/config.js';
 | 
			
		||||
import { host as currentHost, hostname } from '@/config.js';
 | 
			
		||||
 | 
			
		||||
const emit = defineEmits<{
 | 
			
		||||
	(ev: 'ok', selected: Misskey.entities.UserDetailed): void;
 | 
			
		||||
| 
						 | 
				
			
			@ -76,6 +80,7 @@ const emit = defineEmits<{
 | 
			
		|||
 | 
			
		||||
const props = defineProps<{
 | 
			
		||||
	includeSelf?: boolean;
 | 
			
		||||
	localOnly?: boolean;
 | 
			
		||||
}>();
 | 
			
		||||
 | 
			
		||||
const username = ref('');
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +97,7 @@ function search() {
 | 
			
		|||
	}
 | 
			
		||||
	misskeyApi('users/search-by-username-and-host', {
 | 
			
		||||
		username: username.value,
 | 
			
		||||
		host: host.value,
 | 
			
		||||
		host: props.localOnly ? '.' : host.value,
 | 
			
		||||
		limit: 10,
 | 
			
		||||
		detail: false,
 | 
			
		||||
	}).then(_users => {
 | 
			
		||||
| 
						 | 
				
			
			@ -125,11 +130,18 @@ function cancel() {
 | 
			
		|||
onMounted(() => {
 | 
			
		||||
	misskeyApi('users/show', {
 | 
			
		||||
		userIds: defaultStore.state.recentlyUsedUsers,
 | 
			
		||||
	}).then(users => {
 | 
			
		||||
		if (props.includeSelf && users.find(x => $i ? x.id === $i.id : true) == null) {
 | 
			
		||||
			recentUsers.value = [$i!, ...users];
 | 
			
		||||
	}).then(foundUsers => {
 | 
			
		||||
		const _users = foundUsers.filter((u) => {
 | 
			
		||||
			if (props.localOnly) {
 | 
			
		||||
				return u.host == null;
 | 
			
		||||
			} else {
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
		if (props.includeSelf && _users.find(x => $i ? x.id === $i.id : true) == null) {
 | 
			
		||||
			recentUsers.value = [$i!, ..._users];
 | 
			
		||||
		} else {
 | 
			
		||||
			recentUsers.value = users;
 | 
			
		||||
			recentUsers.value = _users;
 | 
			
		||||
		}
 | 
			
		||||
	});
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			@ -138,7 +150,7 @@ onMounted(() => {
 | 
			
		|||
<style lang="scss" module>
 | 
			
		||||
 | 
			
		||||
.form {
 | 
			
		||||
	padding: 0 var(--root-margin);
 | 
			
		||||
	padding: calc(var(--root-margin) / 2) var(--root-margin);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.result,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -419,10 +419,11 @@ export function form(title, form) {
 | 
			
		|||
	});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function selectUser(opts: { includeSelf?: boolean } = {}): Promise<Misskey.entities.UserDetailed> {
 | 
			
		||||
export async function selectUser(opts: { includeSelf?: boolean; localOnly?: boolean; } = {}): Promise<Misskey.entities.UserDetailed> {
 | 
			
		||||
	return new Promise((resolve, reject) => {
 | 
			
		||||
		popup(defineAsyncComponent(() => import('@/components/MkUserSelectDialog.vue')), {
 | 
			
		||||
			includeSelf: opts.includeSelf,
 | 
			
		||||
			localOnly: opts.localOnly,
 | 
			
		||||
		}, {
 | 
			
		||||
			ok: user => {
 | 
			
		||||
				resolve(user);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,11 +37,11 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
			
		|||
		<div :class="$style.board">
 | 
			
		||||
			<div :class="$style.boardInner">
 | 
			
		||||
				<div v-if="showBoardLabels" :class="$style.labelsX">
 | 
			
		||||
					<span v-for="i in game.map[0].length" :class="$style.labelsXLabel">{{ String.fromCharCode(64 + i) }}</span>
 | 
			
		||||
					<span v-for="i in game.map[0].length" :key="i" :class="$style.labelsXLabel">{{ String.fromCharCode(64 + i) }}</span>
 | 
			
		||||
				</div>
 | 
			
		||||
				<div style="display: flex;">
 | 
			
		||||
					<div v-if="showBoardLabels" :class="$style.labelsY">
 | 
			
		||||
						<div v-for="i in game.map.length" :class="$style.labelsYLabel">{{ i }}</div>
 | 
			
		||||
						<div v-for="i in game.map.length" :key="i" :class="$style.labelsYLabel">{{ i }}</div>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div :class="$style.boardCells" :style="cellsStyle">
 | 
			
		||||
						<div
 | 
			
		||||
| 
						 | 
				
			
			@ -66,8 +66,8 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
			
		|||
								mode="default"
 | 
			
		||||
							>
 | 
			
		||||
								<template v-if="useAvatarAsStone">
 | 
			
		||||
									<img v-if="stone === true" :class="$style.boardCellStone" :src="blackUser.avatarUrl"/>
 | 
			
		||||
									<img v-else-if="stone === false" :class="$style.boardCellStone" :src="whiteUser.avatarUrl"/>
 | 
			
		||||
									<img v-if="stone === true" :class="$style.boardCellStone" :src="blackUser.avatarUrl ?? undefined"/>
 | 
			
		||||
									<img v-else-if="stone === false" :class="$style.boardCellStone" :src="whiteUser.avatarUrl ?? undefined"/>
 | 
			
		||||
								</template>
 | 
			
		||||
								<template v-else>
 | 
			
		||||
									<img v-if="stone === true" :class="$style.boardCellStone" src="/client-assets/reversi/stone_b.png"/>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,11 +77,11 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
			
		|||
						</div>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div v-if="showBoardLabels" :class="$style.labelsY">
 | 
			
		||||
						<div v-for="i in game.map.length" :class="$style.labelsYLabel">{{ i }}</div>
 | 
			
		||||
						<div v-for="i in game.map.length" :key="i" :class="$style.labelsYLabel">{{ i }}</div>
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
				<div v-if="showBoardLabels" :class="$style.labelsX">
 | 
			
		||||
					<span v-for="i in game.map[0].length" :class="$style.labelsXLabel">{{ String.fromCharCode(64 + i) }}</span>
 | 
			
		||||
					<span v-for="i in game.map[0].length" :key="i" :class="$style.labelsXLabel">{{ String.fromCharCode(64 + i) }}</span>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
| 
						 | 
				
			
			@ -162,13 +162,14 @@ const $i = signinRequired();
 | 
			
		|||
 | 
			
		||||
const props = defineProps<{
 | 
			
		||||
	game: Misskey.entities.ReversiGameDetailed;
 | 
			
		||||
	connection?: Misskey.ChannelConnection | null;
 | 
			
		||||
	connection?: Misskey.ChannelConnection<Misskey.Channels['reversiGame']> | null;
 | 
			
		||||
}>();
 | 
			
		||||
 | 
			
		||||
const showBoardLabels = ref<boolean>(false);
 | 
			
		||||
const useAvatarAsStone = ref<boolean>(true);
 | 
			
		||||
const autoplaying = ref<boolean>(false);
 | 
			
		||||
const game = ref<Misskey.entities.ReversiGameDetailed>(deepClone(props.game));
 | 
			
		||||
// eslint-disable-next-line vue/no-setup-props-destructure
 | 
			
		||||
const game = ref<Misskey.entities.ReversiGameDetailed & { logs: Reversi.Serializer.SerializedLog[] }>(deepClone(props.game));
 | 
			
		||||
const logPos = ref<number>(game.value.logs.length);
 | 
			
		||||
const engine = shallowRef<Reversi.Game>(Reversi.Serializer.restoreGame({
 | 
			
		||||
	map: game.value.map,
 | 
			
		||||
| 
						 | 
				
			
			@ -256,7 +257,7 @@ if (game.value.isStarted && !game.value.isEnded) {
 | 
			
		|||
 | 
			
		||||
const appliedOps: string[] = [];
 | 
			
		||||
 | 
			
		||||
function putStone(pos) {
 | 
			
		||||
function putStone(pos: number) {
 | 
			
		||||
	if (game.value.isEnded) return;
 | 
			
		||||
	if (!iAmPlayer.value) return;
 | 
			
		||||
	if (!isMyTurn.value) return;
 | 
			
		||||
| 
						 | 
				
			
			@ -305,7 +306,7 @@ if (!props.game.isEnded) {
 | 
			
		|||
	}, TIMER_INTERVAL_SEC * 1000, { immediate: false, afterMounted: true });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function onStreamLog(log: Reversi.Serializer.Log & { id: string | null }) {
 | 
			
		||||
async function onStreamLog(log) {
 | 
			
		||||
	game.value.logs = Reversi.Serializer.serializeLogs([
 | 
			
		||||
		...Reversi.Serializer.deserializeLogs(game.value.logs),
 | 
			
		||||
		log,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -118,6 +118,7 @@ import MkPagination from '@/components/MkPagination.vue';
 | 
			
		|||
import { useRouter } from '@/global/router/supplier.js';
 | 
			
		||||
import * as os from '@/os.js';
 | 
			
		||||
import { useInterval } from '@/scripts/use-interval.js';
 | 
			
		||||
import { pleaseLogin } from '@/scripts/please-login.js';
 | 
			
		||||
import * as sound from '@/scripts/sound.js';
 | 
			
		||||
 | 
			
		||||
const myGamesPagination = {
 | 
			
		||||
| 
						 | 
				
			
			@ -193,7 +194,9 @@ async function matchHeatbeat() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
async function matchUser() {
 | 
			
		||||
	const user = await os.selectUser({ local: true });
 | 
			
		||||
	pleaseLogin();
 | 
			
		||||
 | 
			
		||||
	const user = await os.selectUser({ localOnly: true });
 | 
			
		||||
	if (user == null) return;
 | 
			
		||||
 | 
			
		||||
	matchingUser.value = user;
 | 
			
		||||
| 
						 | 
				
			
			@ -202,6 +205,8 @@ async function matchUser() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
function matchAny(ev: MouseEvent) {
 | 
			
		||||
	pleaseLogin();
 | 
			
		||||
 | 
			
		||||
	os.popupMenu([{
 | 
			
		||||
		text: i18n.ts._reversi.allowIrregularRules,
 | 
			
		||||
		action: () => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -691,6 +691,46 @@ export type Channels = {
 | 
			
		|||
        };
 | 
			
		||||
        receives: null;
 | 
			
		||||
    };
 | 
			
		||||
    reversiGame: {
 | 
			
		||||
        params: {
 | 
			
		||||
            gameId: string;
 | 
			
		||||
        };
 | 
			
		||||
        events: {
 | 
			
		||||
            started: (payload: {
 | 
			
		||||
                game: ReversiGameDetailed;
 | 
			
		||||
            }) => void;
 | 
			
		||||
            ended: (payload: {
 | 
			
		||||
                winnerId: User['id'] | null;
 | 
			
		||||
                game: ReversiGameDetailed;
 | 
			
		||||
            }) => void;
 | 
			
		||||
            canceled: (payload: {
 | 
			
		||||
                userId: User['id'];
 | 
			
		||||
            }) => void;
 | 
			
		||||
            changeReadyStates: (payload: {
 | 
			
		||||
                user1: boolean;
 | 
			
		||||
                user2: boolean;
 | 
			
		||||
            }) => void;
 | 
			
		||||
            updateSettings: (payload: {
 | 
			
		||||
                userId: User['id'];
 | 
			
		||||
                key: string;
 | 
			
		||||
                value: any;
 | 
			
		||||
            }) => void;
 | 
			
		||||
            log: (payload: Record<string, any>) => void;
 | 
			
		||||
        };
 | 
			
		||||
        receives: {
 | 
			
		||||
            putStone: {
 | 
			
		||||
                pos: number;
 | 
			
		||||
                id: string;
 | 
			
		||||
            };
 | 
			
		||||
            ready: boolean;
 | 
			
		||||
            cancel: null | Record<string, never>;
 | 
			
		||||
            updateSettings: {
 | 
			
		||||
                key: string;
 | 
			
		||||
                value: any;
 | 
			
		||||
            };
 | 
			
		||||
            claimTimeIsUp: null | Record<string, never>;
 | 
			
		||||
        };
 | 
			
		||||
    };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// @public (undocumented)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/*
 | 
			
		||||
 * version: 2024.2.0-beta.7
 | 
			
		||||
 * generatedAt: 2024-01-29T09:40:51.624Z
 | 
			
		||||
 * generatedAt: 2024-01-30T11:53:29.839Z
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import type { SwitchCaseResponseType } from '../api.js';
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/*
 | 
			
		||||
 * version: 2024.2.0-beta.7
 | 
			
		||||
 * generatedAt: 2024-01-29T09:40:51.621Z
 | 
			
		||||
 * generatedAt: 2024-01-30T11:53:29.837Z
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import type {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/*
 | 
			
		||||
 * version: 2024.2.0-beta.7
 | 
			
		||||
 * generatedAt: 2024-01-29T09:40:51.620Z
 | 
			
		||||
 * generatedAt: 2024-01-30T11:53:29.836Z
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { operations } from './types.js';
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/*
 | 
			
		||||
 * version: 2024.2.0-beta.7
 | 
			
		||||
 * generatedAt: 2024-01-29T09:40:51.618Z
 | 
			
		||||
 * generatedAt: 2024-01-30T11:53:29.835Z
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { components } from './types.js';
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
 | 
			
		||||
/*
 | 
			
		||||
 * version: 2024.2.0-beta.7
 | 
			
		||||
 * generatedAt: 2024-01-29T09:40:51.532Z
 | 
			
		||||
 * generatedAt: 2024-01-30T11:53:29.755Z
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,7 @@ import {
 | 
			
		|||
	QueueStatsLog,
 | 
			
		||||
	ServerStats,
 | 
			
		||||
	ServerStatsLog,
 | 
			
		||||
	ReversiGameDetailed,
 | 
			
		||||
} from './entities.js';
 | 
			
		||||
 | 
			
		||||
export type Channels = {
 | 
			
		||||
| 
						 | 
				
			
			@ -196,6 +197,32 @@ export type Channels = {
 | 
			
		|||
			}
 | 
			
		||||
		};
 | 
			
		||||
		receives: null;
 | 
			
		||||
	};
 | 
			
		||||
	reversiGame: {
 | 
			
		||||
		params: {
 | 
			
		||||
			gameId: string;
 | 
			
		||||
		};
 | 
			
		||||
		events: {
 | 
			
		||||
			started: (payload: { game: ReversiGameDetailed; }) => void;
 | 
			
		||||
			ended: (payload: { winnerId: User['id'] | null; game: ReversiGameDetailed; }) => void;
 | 
			
		||||
			canceled: (payload: { userId: User['id']; }) => void;
 | 
			
		||||
			changeReadyStates: (payload: { user1: boolean; user2: boolean; }) => void;
 | 
			
		||||
			updateSettings: (payload: { userId: User['id']; key: string; value: any; }) => void;
 | 
			
		||||
			log: (payload: Record<string, any>) => void;
 | 
			
		||||
		};
 | 
			
		||||
		receives: {
 | 
			
		||||
			putStone: {
 | 
			
		||||
				pos: number;
 | 
			
		||||
				id: string;
 | 
			
		||||
			};
 | 
			
		||||
			ready: boolean;
 | 
			
		||||
			cancel: null | Record<string, never>;
 | 
			
		||||
			updateSettings: {
 | 
			
		||||
				key: string;
 | 
			
		||||
				value: any;
 | 
			
		||||
			};
 | 
			
		||||
			claimTimeIsUp: null | Record<string, never>;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										80
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										80
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -1906,7 +1906,7 @@ packages:
 | 
			
		|||
      '@babel/traverse': 7.22.11
 | 
			
		||||
      '@babel/types': 7.22.17
 | 
			
		||||
      convert-source-map: 1.9.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      gensync: 1.0.0-beta.2
 | 
			
		||||
      json5: 2.2.3
 | 
			
		||||
      semver: 6.3.1
 | 
			
		||||
| 
						 | 
				
			
			@ -1929,7 +1929,7 @@ packages:
 | 
			
		|||
      '@babel/traverse': 7.23.5
 | 
			
		||||
      '@babel/types': 7.23.5
 | 
			
		||||
      convert-source-map: 2.0.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      gensync: 1.0.0-beta.2
 | 
			
		||||
      json5: 2.2.3
 | 
			
		||||
      semver: 6.3.1
 | 
			
		||||
| 
						 | 
				
			
			@ -2031,7 +2031,7 @@ packages:
 | 
			
		|||
      '@babel/core': 7.23.5
 | 
			
		||||
      '@babel/helper-compilation-targets': 7.22.15
 | 
			
		||||
      '@babel/helper-plugin-utils': 7.22.5
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      lodash.debounce: 4.0.8
 | 
			
		||||
      resolve: 1.22.8
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
| 
						 | 
				
			
			@ -3430,7 +3430,7 @@ packages:
 | 
			
		|||
      '@babel/helper-split-export-declaration': 7.22.6
 | 
			
		||||
      '@babel/parser': 7.23.5
 | 
			
		||||
      '@babel/types': 7.22.17
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      globals: 11.12.0
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
| 
						 | 
				
			
			@ -3448,7 +3448,7 @@ packages:
 | 
			
		|||
      '@babel/helper-split-export-declaration': 7.22.6
 | 
			
		||||
      '@babel/parser': 7.23.6
 | 
			
		||||
      '@babel/types': 7.23.5
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      globals: 11.12.0
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
| 
						 | 
				
			
			@ -4155,7 +4155,7 @@ packages:
 | 
			
		|||
    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      ajv: 6.12.6
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      espree: 9.6.1
 | 
			
		||||
      globals: 13.19.0
 | 
			
		||||
      ignore: 5.2.4
 | 
			
		||||
| 
						 | 
				
			
			@ -4172,7 +4172,7 @@ packages:
 | 
			
		|||
    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      ajv: 6.12.6
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      espree: 9.6.1
 | 
			
		||||
      globals: 13.19.0
 | 
			
		||||
      ignore: 5.2.4
 | 
			
		||||
| 
						 | 
				
			
			@ -4407,7 +4407,7 @@ packages:
 | 
			
		|||
    engines: {node: '>=10.10.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@humanwhocodes/object-schema': 2.0.1
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      minimatch: 3.1.2
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
| 
						 | 
				
			
			@ -8445,7 +8445,7 @@ packages:
 | 
			
		|||
      '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/visitor-keys': 6.11.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      eslint: 8.53.0
 | 
			
		||||
      graphemer: 1.4.0
 | 
			
		||||
      ignore: 5.2.4
 | 
			
		||||
| 
						 | 
				
			
			@ -8474,7 +8474,7 @@ packages:
 | 
			
		|||
      '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/visitor-keys': 6.18.1
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      eslint: 8.56.0
 | 
			
		||||
      graphemer: 1.4.0
 | 
			
		||||
      ignore: 5.2.4
 | 
			
		||||
| 
						 | 
				
			
			@ -8500,7 +8500,7 @@ packages:
 | 
			
		|||
      '@typescript-eslint/types': 6.11.0
 | 
			
		||||
      '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/visitor-keys': 6.11.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      eslint: 8.53.0
 | 
			
		||||
      typescript: 5.3.3
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
| 
						 | 
				
			
			@ -8521,7 +8521,7 @@ packages:
 | 
			
		|||
      '@typescript-eslint/types': 6.18.1
 | 
			
		||||
      '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/visitor-keys': 6.18.1
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      eslint: 8.56.0
 | 
			
		||||
      typescript: 5.3.3
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
| 
						 | 
				
			
			@ -8556,7 +8556,7 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      eslint: 8.53.0
 | 
			
		||||
      ts-api-utils: 1.0.1(typescript@5.3.3)
 | 
			
		||||
      typescript: 5.3.3
 | 
			
		||||
| 
						 | 
				
			
			@ -8576,7 +8576,7 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
 | 
			
		||||
      '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      eslint: 8.56.0
 | 
			
		||||
      ts-api-utils: 1.0.1(typescript@5.3.3)
 | 
			
		||||
      typescript: 5.3.3
 | 
			
		||||
| 
						 | 
				
			
			@ -8605,7 +8605,7 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      '@typescript-eslint/types': 6.11.0
 | 
			
		||||
      '@typescript-eslint/visitor-keys': 6.11.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      globby: 11.1.0
 | 
			
		||||
      is-glob: 4.0.3
 | 
			
		||||
      semver: 7.5.4
 | 
			
		||||
| 
						 | 
				
			
			@ -8626,7 +8626,7 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      '@typescript-eslint/types': 6.18.1
 | 
			
		||||
      '@typescript-eslint/visitor-keys': 6.18.1
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      globby: 11.1.0
 | 
			
		||||
      is-glob: 4.0.3
 | 
			
		||||
      minimatch: 9.0.3
 | 
			
		||||
| 
						 | 
				
			
			@ -9090,7 +9090,7 @@ packages:
 | 
			
		|||
    engines: {node: '>= 6.0.0'}
 | 
			
		||||
    requiresBuild: true
 | 
			
		||||
    dependencies:
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -9098,7 +9098,7 @@ packages:
 | 
			
		|||
    resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
 | 
			
		||||
    engines: {node: '>= 14'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: false
 | 
			
		||||
| 
						 | 
				
			
			@ -9484,7 +9484,7 @@ packages:
 | 
			
		|||
    resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      archy: 1.0.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      fastq: 1.15.0
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
| 
						 | 
				
			
			@ -10928,6 +10928,7 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      ms: 2.1.2
 | 
			
		||||
      supports-color: 5.5.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /debug@4.3.4(supports-color@8.1.1):
 | 
			
		||||
    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
 | 
			
		||||
| 
						 | 
				
			
			@ -10940,7 +10941,6 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      ms: 2.1.2
 | 
			
		||||
      supports-color: 8.1.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /decamelize-keys@1.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
 | 
			
		||||
| 
						 | 
				
			
			@ -11157,7 +11157,7 @@ packages:
 | 
			
		|||
    hasBin: true
 | 
			
		||||
    dependencies:
 | 
			
		||||
      address: 1.2.2
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: true
 | 
			
		||||
| 
						 | 
				
			
			@ -11481,7 +11481,7 @@ packages:
 | 
			
		|||
    peerDependencies:
 | 
			
		||||
      esbuild: '>=0.12 <1'
 | 
			
		||||
    dependencies:
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      esbuild: 0.18.20
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
| 
						 | 
				
			
			@ -11790,7 +11790,7 @@ packages:
 | 
			
		|||
      ajv: 6.12.6
 | 
			
		||||
      chalk: 4.1.2
 | 
			
		||||
      cross-spawn: 7.0.3
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      doctrine: 3.0.0
 | 
			
		||||
      escape-string-regexp: 4.0.0
 | 
			
		||||
      eslint-scope: 7.2.2
 | 
			
		||||
| 
						 | 
				
			
			@ -11837,7 +11837,7 @@ packages:
 | 
			
		|||
      ajv: 6.12.6
 | 
			
		||||
      chalk: 4.1.2
 | 
			
		||||
      cross-spawn: 7.0.3
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      doctrine: 3.0.0
 | 
			
		||||
      escape-string-regexp: 4.0.0
 | 
			
		||||
      eslint-scope: 7.2.2
 | 
			
		||||
| 
						 | 
				
			
			@ -12468,7 +12468,7 @@ packages:
 | 
			
		|||
      debug:
 | 
			
		||||
        optional: true
 | 
			
		||||
    dependencies:
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
 | 
			
		||||
  /for-each@0.3.3:
 | 
			
		||||
    resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
 | 
			
		||||
| 
						 | 
				
			
			@ -13024,6 +13024,7 @@ packages:
 | 
			
		|||
  /has-flag@3.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
 | 
			
		||||
    engines: {node: '>=4'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /has-flag@4.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
 | 
			
		||||
| 
						 | 
				
			
			@ -13161,7 +13162,7 @@ packages:
 | 
			
		|||
    engines: {node: '>= 14'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      agent-base: 7.1.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: false
 | 
			
		||||
| 
						 | 
				
			
			@ -13221,7 +13222,7 @@ packages:
 | 
			
		|||
    engines: {node: '>= 6.0.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      agent-base: 5.1.1
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: true
 | 
			
		||||
| 
						 | 
				
			
			@ -13231,7 +13232,7 @@ packages:
 | 
			
		|||
    engines: {node: '>= 6'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      agent-base: 6.0.2
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13240,7 +13241,7 @@ packages:
 | 
			
		|||
    engines: {node: '>= 14'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      agent-base: 7.1.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: false
 | 
			
		||||
| 
						 | 
				
			
			@ -13400,7 +13401,7 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      '@ioredis/commands': 1.2.0
 | 
			
		||||
      cluster-key-slot: 1.1.2
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      denque: 2.1.0
 | 
			
		||||
      lodash.defaults: 4.2.0
 | 
			
		||||
      lodash.isarguments: 3.1.0
 | 
			
		||||
| 
						 | 
				
			
			@ -13846,7 +13847,7 @@ packages:
 | 
			
		|||
    resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
 | 
			
		||||
    engines: {node: '>=10'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      istanbul-lib-coverage: 3.2.2
 | 
			
		||||
      source-map: 0.6.1
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
| 
						 | 
				
			
			@ -17155,7 +17156,7 @@ packages:
 | 
			
		|||
    engines: {node: '>=8.16.0'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/mime-types': 2.1.4
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      extract-zip: 1.7.0
 | 
			
		||||
      https-proxy-agent: 4.0.0
 | 
			
		||||
      mime: 2.6.0
 | 
			
		||||
| 
						 | 
				
			
			@ -18155,7 +18156,7 @@ packages:
 | 
			
		|||
    dependencies:
 | 
			
		||||
      '@hapi/hoek': 10.0.1
 | 
			
		||||
      '@hapi/wreck': 18.0.1
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      joi: 17.7.0
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
| 
						 | 
				
			
			@ -18355,7 +18356,7 @@ packages:
 | 
			
		|||
    engines: {node: '>= 14'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      agent-base: 7.1.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      socks: 2.7.1
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
| 
						 | 
				
			
			@ -18508,7 +18509,7 @@ packages:
 | 
			
		|||
      arg: 5.0.2
 | 
			
		||||
      bluebird: 3.7.2
 | 
			
		||||
      check-more-types: 2.24.0
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      execa: 5.1.1
 | 
			
		||||
      lazy-ass: 1.6.0
 | 
			
		||||
      ps-tree: 1.2.0
 | 
			
		||||
| 
						 | 
				
			
			@ -18766,6 +18767,7 @@ packages:
 | 
			
		|||
    engines: {node: '>=4'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      has-flag: 3.0.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /supports-color@7.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
 | 
			
		||||
| 
						 | 
				
			
			@ -19386,7 +19388,7 @@ packages:
 | 
			
		|||
      chalk: 4.1.2
 | 
			
		||||
      cli-highlight: 2.1.11
 | 
			
		||||
      dayjs: 1.11.10
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      dotenv: 16.0.3
 | 
			
		||||
      glob: 10.3.10
 | 
			
		||||
      ioredis: 5.3.2
 | 
			
		||||
| 
						 | 
				
			
			@ -19746,7 +19748,7 @@ packages:
 | 
			
		|||
    hasBin: true
 | 
			
		||||
    dependencies:
 | 
			
		||||
      cac: 6.7.14
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      mlly: 1.5.0
 | 
			
		||||
      pathe: 1.1.2
 | 
			
		||||
      picocolors: 1.0.0
 | 
			
		||||
| 
						 | 
				
			
			@ -19858,7 +19860,7 @@ packages:
 | 
			
		|||
      acorn-walk: 8.3.2
 | 
			
		||||
      cac: 6.7.14
 | 
			
		||||
      chai: 4.3.10
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      happy-dom: 10.0.3
 | 
			
		||||
      local-pkg: 0.4.3
 | 
			
		||||
      magic-string: 0.30.5
 | 
			
		||||
| 
						 | 
				
			
			@ -19940,7 +19942,7 @@ packages:
 | 
			
		|||
    peerDependencies:
 | 
			
		||||
      eslint: '>=6.0.0'
 | 
			
		||||
    dependencies:
 | 
			
		||||
      debug: 4.3.4(supports-color@5.5.0)
 | 
			
		||||
      debug: 4.3.4(supports-color@8.1.1)
 | 
			
		||||
      eslint: 8.56.0
 | 
			
		||||
      eslint-scope: 7.2.2
 | 
			
		||||
      eslint-visitor-keys: 3.4.3
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue