Commit aed08235 authored by nanahira's avatar nanahira

don't be too strict

parent 93d83551
Pipeline #7059 passed with stages
in 35 seconds
...@@ -142,11 +142,9 @@ function applySchemaForClass<T>( ...@@ -142,11 +142,9 @@ function applySchemaForClass<T>(
return instance; return instance;
} }
export function RegisterSchema(options: SchemaClassOptions = {}) { export function SchemaClass<T>(originalClass: ClassType<T>) {
return function <T>(originalClass: ClassType<T>) {
Metadata.set('SchemaClassOptions', options)(originalClass);
const schema = schemaFromClass(originalClass); const schema = schemaFromClass(originalClass);
const newClass = (function (...args: any[]): any { const newClass = (function (...args: any[]): T {
const instance = new originalClass(...args); const instance = new originalClass(...args);
const originalObject = args[0]; const originalObject = args[0];
return applySchemaForClass(originalClass, instance, originalObject); return applySchemaForClass(originalClass, instance, originalObject);
...@@ -161,6 +159,12 @@ export function RegisterSchema(options: SchemaClassOptions = {}) { ...@@ -161,6 +159,12 @@ export function RegisterSchema(options: SchemaClassOptions = {}) {
newClass[field] = schema[field]; newClass[field] = schema[field];
} }
return newClass; return newClass;
}
export function RegisterSchema(options: SchemaClassOptions = {}) {
return function <T>(originalClass: ClassType<T>): any {
Metadata.set('SchemaClassOptions', options)(originalClass);
return SchemaClass(originalClass);
}; };
} }
......
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