- 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
27 lines
1.0 KiB
JavaScript
27 lines
1.0 KiB
JavaScript
import { isArbitrary } from '../check/arbitrary/definition/Arbitrary.js';
|
|
import { safeMap, safeSlice } from '../utils/globals.js';
|
|
import { FrequencyArbitrary } from './_internals/FrequencyArbitrary.js';
|
|
function isOneOfContraints(param) {
|
|
return (param != null &&
|
|
typeof param === 'object' &&
|
|
!('generate' in param) &&
|
|
!('arbitrary' in param) &&
|
|
!('weight' in param));
|
|
}
|
|
function toWeightedArbitrary(maybeWeightedArbitrary) {
|
|
if (isArbitrary(maybeWeightedArbitrary)) {
|
|
return { arbitrary: maybeWeightedArbitrary, weight: 1 };
|
|
}
|
|
return maybeWeightedArbitrary;
|
|
}
|
|
function oneof(...args) {
|
|
const constraints = args[0];
|
|
if (isOneOfContraints(constraints)) {
|
|
const weightedArbs = safeMap(safeSlice(args, 1), toWeightedArbitrary);
|
|
return FrequencyArbitrary.from(weightedArbs, constraints, 'fc.oneof');
|
|
}
|
|
const weightedArbs = safeMap(args, toWeightedArbitrary);
|
|
return FrequencyArbitrary.from(weightedArbs, {}, 'fc.oneof');
|
|
}
|
|
export { oneof };
|