[WIP] Improve lazy proxy typing #16

Draft
thepaperpilot wants to merge 4 commits from fix/lazy-proxy-typing into main
Showing only changes of commit a8c550c551 - Show all commits

View file

@ -182,6 +182,13 @@ export function createAchievement<T extends AchievementOptions>(
decorator.preConstruct?.(achievement);
}
Object.assign(achievement, decoratedData);
for (const decorator of decorators) {
decorator.postConstruct?.(achievement);
}
const decoratedProps = decorators.reduce(
(current, next) => Object.assign(current, next.getGatheredProps?.(achievement)),
{}
);
function complete() {
earned.value = true;
@ -209,12 +216,7 @@ export function createAchievement<T extends AchievementOptions>(
}
}
const decoratedProps = decorators.reduce(
(current, next) => Object.assign(current, next.getGatheredProps?.(achievement)),
{}
);
function gatherProps(this: Achievement<T>): Record<string, unknown> {
function gatherProps(this: GenericAchievement): Record<string, unknown> {
const {
visibility,
display,
@ -242,10 +244,6 @@ export function createAchievement<T extends AchievementOptions>(
};
}
for (const decorator of decorators) {
decorator.postConstruct?.(achievement);
}
if (achievement.requirements != null) {
const requirements = [
createVisibilityRequirement(achievement),