UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

33 lines (32 loc) 1.12 kB
import 'reflect-metadata'; import { List } from './List'; import { Optional } from './Types'; import { Entry } from './Object'; type MetaParseOptions = { initial?: any; skipUndefined?: boolean; }; declare class ClassMeta { readonly subject: any; private readonly data; constructor(subject: any, data?: any); get: <T>(key: string) => T; set: <T>(key: string, value: T) => T; entries: <T = unknown>() => List<Entry<T>>; parse: <Out, Value>(f: (v: Value) => Out, options?: MetaParseOptions) => Record<string, Out>; properties: (key?: string) => List<PropertyMeta>; keys: <T = any>(key: string) => List<T>; values: <T = unknown>() => List<T>; property: (property: string | symbol) => PropertyMeta; } declare class PropertyMeta { readonly subject: any; readonly property: string | symbol; private readonly data; constructor(subject: any, property: string | symbol, data?: any); get value(): any; get: <T>(key: string) => Optional<T>; set: <T>(key: string, value: T) => T; } export declare const meta: (subject: unknown) => ClassMeta; export {};