sealed: options?.sealed,
extract: (from: T) => {
return from as unknown as R;
}
const result: Record<string, unknown> = Object.create(null);
for (const [key, transform] of entries) {
try {
result[key] = transform.extract(from);
} catch (e) {
rethrowWithPathSegment(e, key);
}
return result as R;
},
};
}