Commit 1c02846f authored by nanahira's avatar nanahira

add OriginalClassSym

parent a03e1102
import { import {
ClassType, ClassType,
GeneratedSym, GeneratedSym,
OriginalClassSym,
RefSym, RefSym,
SchemaClassOptions, SchemaClassOptions,
SchemaOptions, SchemaOptions,
...@@ -227,6 +228,7 @@ export function SchemaClass<T>(originalClass: ClassType<T>) { ...@@ -227,6 +228,7 @@ export function SchemaClass<T>(originalClass: ClassType<T>) {
return applySchemaForClass(schema, originalClass, instance, originalObject); return applySchemaForClass(schema, originalClass, instance, originalObject);
} as unknown as ClassType<T> & Schema<Partial<T>, T>; } as unknown as ClassType<T> & Schema<Partial<T>, T>;
newClass[GeneratedSym] = schema; newClass[GeneratedSym] = schema;
newClass[OriginalClassSym] = originalClass;
Object.defineProperty(newClass, 'name', { Object.defineProperty(newClass, 'name', {
value: originalClass.name, value: originalClass.name,
}); });
......
...@@ -47,3 +47,4 @@ export type SchemaOptionsDict<T> = { [P in keyof T]?: SchemaOptions }; ...@@ -47,3 +47,4 @@ export type SchemaOptionsDict<T> = { [P in keyof T]?: SchemaOptions };
export const RefSym = Symbol('SchemasteryGenRef'); export const RefSym = Symbol('SchemasteryGenRef');
export const GeneratedSym = Symbol('GeneratedSym'); export const GeneratedSym = Symbol('GeneratedSym');
export const OriginalClassSym = Symbol('OriginalClassSym');
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment