- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
23 lines
924 B
JavaScript
23 lines
924 B
JavaScript
import { inspectList, inspectProperty } from './helpers.js';
|
|
export default function inspectObject(object, options) {
|
|
const properties = Object.getOwnPropertyNames(object);
|
|
const symbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : [];
|
|
if (properties.length === 0 && symbols.length === 0) {
|
|
return '{}';
|
|
}
|
|
options.truncate -= 4;
|
|
options.seen = options.seen || [];
|
|
if (options.seen.includes(object)) {
|
|
return '[Circular]';
|
|
}
|
|
options.seen.push(object);
|
|
const propertyContents = inspectList(properties.map(key => [key, object[key]]), options, inspectProperty);
|
|
const symbolContents = inspectList(symbols.map(key => [key, object[key]]), options, inspectProperty);
|
|
options.seen.pop();
|
|
let sep = '';
|
|
if (propertyContents && symbolContents) {
|
|
sep = ', ';
|
|
}
|
|
return `{ ${propertyContents}${sep}${symbolContents} }`;
|
|
}
|