const fields = new Map(); export const getFieldsForModel = (target: any) => { return fields.get(target.constructor.name); }; /** * A decorator that records this key as a serializable field on the model. * Properties decorated with @Field will be included in API requests by default. * * @param target * @param propertyKey */ const Field = (target: any, propertyKey: keyof T) => { const className = target.constructor.name; fields.set(className, [...(fields.get(className) || []), propertyKey]); }; export default Field;