UNPKG

nestjs-appwrite

Version:

Easier Appwrite integration for your NestJS application.

29 lines (24 loc) 730 B
import 'reflect-metadata'; import typeMetadataStorage from '../../storage/type-metadata.storage'; import { determineRequiredValue, PropOptions } from './prop.options'; const DEFAULT_SIZE = 265; export type StringPropOptions = PropOptions<string> & { isArray?: boolean; size?: number; encrypt?: boolean; }; export function StringProp(options: StringPropOptions = {}): PropertyDecorator { return (target, propertyKey) => { const propKey = propertyKey.toString(); typeMetadataStorage.addPropertyMetadata( target.constructor, propKey, { ...options, required: determineRequiredValue(options), type: String, size: options.size ?? DEFAULT_SIZE, } ); }; }