- 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
33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
import Blob from './Blob.js';
|
|
/**
|
|
* Reference:
|
|
* https://developer.mozilla.org/en-US/docs/Web/API/File.
|
|
*
|
|
* Based on:
|
|
* https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/file-api/File-impl.js (MIT licensed).
|
|
*/
|
|
export default class File extends Blob {
|
|
lastModified = null;
|
|
name = null;
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @param bits File bits.
|
|
* @param name File name.
|
|
* @param [options] Options.
|
|
* @param [options.type] MIME type.
|
|
* @param [options.lastModifier] Last modified. Defaults to Date.now().
|
|
* @param options.lastModified
|
|
*/
|
|
constructor(bits, name, options) {
|
|
if (arguments.length < 2) {
|
|
throw new TypeError("Failed to construct 'File': 2 arguments required, but only " +
|
|
arguments.length +
|
|
' present.');
|
|
}
|
|
super(bits, options);
|
|
this.name = name;
|
|
this.lastModified = options && options.lastModified ? options.lastModified : Date.now();
|
|
}
|
|
}
|
|
//# sourceMappingURL=File.js.map
|