@prostojs/mate 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,11 +74,12 @@ class Mate {
74
74
  }
75
75
  set(args, key, value, isArray) {
76
76
  var _a;
77
+ let level = 'CLASS';
77
78
  const newArgs = args.level === 'CLASS' ? { target: args.target }
78
- : args.level === 'PROPERTY' ? { target: args.target, propKey: args.propKey }
79
+ : args.level === 'PROP' ? { target: args.target, propKey: args.propKey }
79
80
  : args;
80
81
  let meta = Reflect.getOwnMetadata(this.workspace, newArgs.target, newArgs.propKey) || {};
81
- if (newArgs.propKey && this.options.readReturnType && !meta.returnType) {
82
+ if (newArgs.propKey && this.options.readReturnType && !meta.returnType && args.descriptor) {
82
83
  meta.returnType = Reflect.getOwnMetadata('design:returntype', newArgs.target, newArgs.propKey);
83
84
  }
84
85
  if (newArgs.propKey && this.options.readType && !meta.type) {
@@ -91,12 +92,13 @@ class Mate {
91
92
  data.params = (_a = Reflect.getOwnMetadata('design:paramtypes', newArgs.target, newArgs.propKey)) === null || _a === void 0 ? void 0 : _a.map((f) => ({ type: f }));
92
93
  }
93
94
  if (typeof index === 'number') {
95
+ level = 'PARAM';
94
96
  data.params = data.params || [];
95
97
  data.params[index] = data.params[index] || {
96
98
  type: undefined,
97
99
  };
98
100
  if (cb) {
99
- data.params[index] = cb(data.params[index], args.propKey, typeof args.index === 'number' ? args.index : undefined);
101
+ data.params[index] = cb(data.params[index], level, args.propKey, typeof args.index === 'number' ? args.index : undefined);
100
102
  }
101
103
  else {
102
104
  data = data.params[index];
@@ -113,6 +115,7 @@ class Mate {
113
115
  return meta;
114
116
  });
115
117
  }
118
+ level = typeof index === 'number' ? 'PARAM' : newArgs.propKey && newArgs.descriptor ? 'METHOD' : newArgs.propKey ? 'PROP' : 'CLASS';
116
119
  if (typeof key !== 'function') {
117
120
  if (isArray) {
118
121
  const newArray = (data[key] || []);
@@ -127,11 +130,11 @@ class Mate {
127
130
  }
128
131
  }
129
132
  else if (cb && typeof index !== 'number') {
130
- meta = cb(data, args.propKey, typeof args.index === 'number' ? args.index : undefined);
133
+ meta = cb(data, level, args.propKey, typeof args.index === 'number' ? args.index : undefined);
131
134
  }
132
135
  Reflect.defineMetadata(this.workspace, meta, newArgs.target, newArgs.propKey);
133
136
  }
134
- read(target, propKey, index) {
137
+ read(target, propKey) {
135
138
  const isConstr = isConstructor(target);
136
139
  const constructor = isConstr ? target : getConstructor(target);
137
140
  const proto = constructor.prototype;
@@ -142,17 +145,31 @@ class Mate {
142
145
  if (inheritFn) {
143
146
  if (typeof propKey === 'string') {
144
147
  const classMeta = Reflect.getOwnMetadata(this.workspace, constructor);
145
- shouldInherit = inheritFn(classMeta, propKey, ownMeta);
148
+ shouldInherit = inheritFn(classMeta, ownMeta, 'PROP', propKey);
146
149
  }
147
150
  else {
148
- shouldInherit = inheritFn(ownMeta);
151
+ shouldInherit = inheritFn(ownMeta, ownMeta, 'CLASS');
149
152
  }
150
153
  }
151
154
  if (shouldInherit) {
152
155
  const parent = Object.getPrototypeOf(constructor);
153
156
  if (typeof parent === 'function' && parent !== fnProto && parent !== constructor) {
154
- const inheritedMeta = this.read(parent, propKey);
155
- ownMeta = { ...inheritedMeta, ...ownMeta, params: ownMeta === null || ownMeta === void 0 ? void 0 : ownMeta.params };
157
+ const inheritedMeta = this.read(parent, propKey) || {};
158
+ const ownParams = ownMeta === null || ownMeta === void 0 ? void 0 : ownMeta.params;
159
+ ownMeta = { ...inheritedMeta, ...ownMeta };
160
+ if (typeof propKey === 'string' && ownParams && (inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params)) {
161
+ for (let i = 0; i < ownParams.length; i++) {
162
+ if (typeof (inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params[i]) !== 'undefined') {
163
+ const ownParam = ownParams[i];
164
+ if (ownMeta.params && inheritFn && inheritFn(ownMeta, ownParam, 'PARAM', typeof propKey === 'string' ? propKey : undefined)) {
165
+ ownMeta.params[i] = {
166
+ ...inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params[i],
167
+ ...ownParams[i],
168
+ };
169
+ }
170
+ }
171
+ }
172
+ }
156
173
  }
157
174
  }
158
175
  }
@@ -177,6 +194,16 @@ class Mate {
177
194
  this.set(args, key, value, isArray);
178
195
  });
179
196
  }
197
+ decorateConditional(ccb) {
198
+ return ((target, propKey, descriptor) => {
199
+ const hasIndex = typeof descriptor === 'number';
200
+ const decoratorLevel = hasIndex ? 'PARAM' : propKey && descriptor ? 'METHOD' : propKey ? 'PROP' : 'CLASS';
201
+ const d = ccb(decoratorLevel);
202
+ if (d) {
203
+ d(target, propKey, descriptor);
204
+ }
205
+ });
206
+ }
180
207
  decorateClass(key, value, isArray) {
181
208
  return this.decorate(key, value, isArray, 'CLASS');
182
209
  }
package/dist/mate.d.ts CHANGED
@@ -1,36 +1,58 @@
1
+ declare type ArrayElementType<T> = T extends (infer E)[] ? E : never;
2
+
1
3
  export declare function getConstructor<T = TAny>(instance: T): TFunction;
2
4
 
3
5
  export declare function isConstructor<T = TAny>(v: T): v is (T & TClassConstructor);
4
6
 
5
- export declare class Mate<T extends TProstoMetadata = TProstoMetadata> {
7
+ export declare class Mate<TClass extends TObject = TEmpty, TProp extends TObject = TEmpty, TParam extends TObject = TEmpty> {
6
8
  protected workspace: string;
7
- protected options: TMateOptions<T>;
8
- constructor(workspace: string, options?: TMateOptions<T>);
9
- set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): void;
10
- set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): void;
11
- set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): void;
12
- read<R extends T = T>(target: TFunction | TObject, propKey?: string | symbol, index?: number): R | undefined;
9
+ protected options: TMateOptions<TClass, TProp, TParam>;
10
+ constructor(workspace: string, options?: TMateOptions<TClass, TProp, TParam>);
11
+ set<TMeta extends TObject = Partial<TClass & TProp & TParam>>(args: TMergedDecoratorArgs, cb: ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta)): void;
12
+ set<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta>(args: TMergedDecoratorArgs, key: keyof TMeta, value: TMeta[TKey]): void;
13
+ set<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta>(args: TMergedDecoratorArgs, key: keyof TMeta, value: TMeta[TKey], isArray: boolean | undefined): void;
14
+ read<TMeta extends Partial<TClass & TMateClassMeta & TProp & TMatePropMeta<TParam> & TParam & TMateParamMeta>>(target: TFunction | TObject, propKey?: string | symbol): TMeta | undefined;
13
15
  apply(...decorators: (MethodDecorator | ClassDecorator | ParameterDecorator | PropertyDecorator)[]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
14
- decorate<R extends T = T, RP = R['params'][0]>(cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
15
- decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
16
- decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
17
- decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined, level: TMergedDecoratorArgs['level']): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
18
- decorateClass<R extends T = T, RP = R['params'][0]>(cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
19
- decorateClass<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
20
- decorateClass<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
16
+ decorate<TMeta extends TObject = Partial<TClass & TProp & TParam>>(cb: ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
17
+ decorate<TMeta extends Partial<TClass & TProp & TParam>, TKey extends keyof TMeta>(key: TKey, value: TMeta[TKey]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
18
+ decorate<TMeta extends Partial<TClass & TProp & TParam>, TKey extends keyof TMeta, TIsArray extends boolean = false>(key: TKey, value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey], isArray: TIsArray): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
19
+ decorate<TMeta extends Partial<TClass & TProp & TParam>, TKey extends keyof TMeta, TIsArray extends boolean = false>(key: TKey | ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta), value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey], isArray: TIsArray, level: TMergedDecoratorArgs['level']): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
20
+ decorateConditional(ccb: (level: TLevels) => (MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator) | void | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
21
+ decorateClass<TMeta extends TObject = Partial<TClass & TProp & TParam>>(cb: ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
22
+ decorateClass<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta, TIsArray extends boolean = false>(key: TKey, value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
23
+ decorateClass<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta, TIsArray extends boolean = false>(key: TKey, value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey], isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
21
24
  }
22
25
 
23
26
  declare type TAny = any;
24
27
 
25
28
  declare type TClassConstructor<T = unknown> = new (...args: TAny[]) => T;
26
29
 
30
+ declare interface TEmpty {
31
+ }
32
+
27
33
  declare type TFunction = Function;
28
34
 
29
- export declare interface TMateOptions<T extends TProstoMetadata = TProstoMetadata> {
35
+ declare type TLevels = 'CLASS' | 'METHOD' | 'PROP' | 'PARAM';
36
+
37
+ export declare interface TMateClassMeta {
38
+ properties?: (string | symbol)[];
39
+ type?: TFunction;
40
+ returnType?: TFunction;
41
+ }
42
+
43
+ export declare interface TMateOptions<TClass extends TObject = TEmpty, TProp extends TObject = TEmpty, TParam extends TObject = TEmpty> {
30
44
  readReturnType?: boolean;
31
45
  readType?: boolean;
32
46
  collectPropKeys?: boolean;
33
- inherit?: boolean | ((classMeta: T, propKey?: string, methodMeta?: T) => boolean);
47
+ inherit?: boolean | ((classMeta: TClass & TMateClassMeta, targetMeta: (TMatePropMeta<TParam> & TProp) | (TMateParamMeta & TParam), level: 'CLASS' | 'PROP' | 'PARAM', key?: string) => boolean);
48
+ }
49
+
50
+ export declare interface TMateParamMeta {
51
+ type?: TFunction;
52
+ }
53
+
54
+ export declare interface TMatePropMeta<TParam extends TObject = TEmpty> {
55
+ params?: (TParam & TMateParamMeta)[];
34
56
  }
35
57
 
36
58
  export declare interface TMergedDecoratorArgs {
@@ -38,20 +60,9 @@ export declare interface TMergedDecoratorArgs {
38
60
  propKey?: string | symbol;
39
61
  descriptor?: TypedPropertyDescriptor<TAny>;
40
62
  index?: number;
41
- level?: 'CLASS' | 'PROPERTY';
63
+ level?: TLevels;
42
64
  }
43
65
 
44
66
  declare type TObject = object;
45
67
 
46
- export declare interface TProstoMetadata<TParams extends TProstoParamsMetadata = TProstoParamsMetadata> {
47
- params: TParams[];
48
- properties?: (string | symbol)[];
49
- type?: TFunction;
50
- returnType?: TFunction;
51
- }
52
-
53
- export declare interface TProstoParamsMetadata {
54
- type?: TFunction;
55
- }
56
-
57
68
  export { }
@@ -70,11 +70,12 @@ class Mate {
70
70
  }
71
71
  set(args, key, value, isArray) {
72
72
  var _a;
73
+ let level = 'CLASS';
73
74
  const newArgs = args.level === 'CLASS' ? { target: args.target }
74
- : args.level === 'PROPERTY' ? { target: args.target, propKey: args.propKey }
75
+ : args.level === 'PROP' ? { target: args.target, propKey: args.propKey }
75
76
  : args;
76
77
  let meta = Reflect.getOwnMetadata(this.workspace, newArgs.target, newArgs.propKey) || {};
77
- if (newArgs.propKey && this.options.readReturnType && !meta.returnType) {
78
+ if (newArgs.propKey && this.options.readReturnType && !meta.returnType && args.descriptor) {
78
79
  meta.returnType = Reflect.getOwnMetadata('design:returntype', newArgs.target, newArgs.propKey);
79
80
  }
80
81
  if (newArgs.propKey && this.options.readType && !meta.type) {
@@ -87,12 +88,13 @@ class Mate {
87
88
  data.params = (_a = Reflect.getOwnMetadata('design:paramtypes', newArgs.target, newArgs.propKey)) === null || _a === void 0 ? void 0 : _a.map((f) => ({ type: f }));
88
89
  }
89
90
  if (typeof index === 'number') {
91
+ level = 'PARAM';
90
92
  data.params = data.params || [];
91
93
  data.params[index] = data.params[index] || {
92
94
  type: undefined,
93
95
  };
94
96
  if (cb) {
95
- data.params[index] = cb(data.params[index], args.propKey, typeof args.index === 'number' ? args.index : undefined);
97
+ data.params[index] = cb(data.params[index], level, args.propKey, typeof args.index === 'number' ? args.index : undefined);
96
98
  }
97
99
  else {
98
100
  data = data.params[index];
@@ -109,6 +111,7 @@ class Mate {
109
111
  return meta;
110
112
  });
111
113
  }
114
+ level = typeof index === 'number' ? 'PARAM' : newArgs.propKey && newArgs.descriptor ? 'METHOD' : newArgs.propKey ? 'PROP' : 'CLASS';
112
115
  if (typeof key !== 'function') {
113
116
  if (isArray) {
114
117
  const newArray = (data[key] || []);
@@ -123,11 +126,11 @@ class Mate {
123
126
  }
124
127
  }
125
128
  else if (cb && typeof index !== 'number') {
126
- meta = cb(data, args.propKey, typeof args.index === 'number' ? args.index : undefined);
129
+ meta = cb(data, level, args.propKey, typeof args.index === 'number' ? args.index : undefined);
127
130
  }
128
131
  Reflect.defineMetadata(this.workspace, meta, newArgs.target, newArgs.propKey);
129
132
  }
130
- read(target, propKey, index) {
133
+ read(target, propKey) {
131
134
  const isConstr = isConstructor(target);
132
135
  const constructor = isConstr ? target : getConstructor(target);
133
136
  const proto = constructor.prototype;
@@ -138,17 +141,31 @@ class Mate {
138
141
  if (inheritFn) {
139
142
  if (typeof propKey === 'string') {
140
143
  const classMeta = Reflect.getOwnMetadata(this.workspace, constructor);
141
- shouldInherit = inheritFn(classMeta, propKey, ownMeta);
144
+ shouldInherit = inheritFn(classMeta, ownMeta, 'PROP', propKey);
142
145
  }
143
146
  else {
144
- shouldInherit = inheritFn(ownMeta);
147
+ shouldInherit = inheritFn(ownMeta, ownMeta, 'CLASS');
145
148
  }
146
149
  }
147
150
  if (shouldInherit) {
148
151
  const parent = Object.getPrototypeOf(constructor);
149
152
  if (typeof parent === 'function' && parent !== fnProto && parent !== constructor) {
150
- const inheritedMeta = this.read(parent, propKey);
151
- ownMeta = { ...inheritedMeta, ...ownMeta, params: ownMeta === null || ownMeta === void 0 ? void 0 : ownMeta.params };
153
+ const inheritedMeta = this.read(parent, propKey) || {};
154
+ const ownParams = ownMeta === null || ownMeta === void 0 ? void 0 : ownMeta.params;
155
+ ownMeta = { ...inheritedMeta, ...ownMeta };
156
+ if (typeof propKey === 'string' && ownParams && (inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params)) {
157
+ for (let i = 0; i < ownParams.length; i++) {
158
+ if (typeof (inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params[i]) !== 'undefined') {
159
+ const ownParam = ownParams[i];
160
+ if (ownMeta.params && inheritFn && inheritFn(ownMeta, ownParam, 'PARAM', typeof propKey === 'string' ? propKey : undefined)) {
161
+ ownMeta.params[i] = {
162
+ ...inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params[i],
163
+ ...ownParams[i],
164
+ };
165
+ }
166
+ }
167
+ }
168
+ }
152
169
  }
153
170
  }
154
171
  }
@@ -173,6 +190,16 @@ class Mate {
173
190
  this.set(args, key, value, isArray);
174
191
  });
175
192
  }
193
+ decorateConditional(ccb) {
194
+ return ((target, propKey, descriptor) => {
195
+ const hasIndex = typeof descriptor === 'number';
196
+ const decoratorLevel = hasIndex ? 'PARAM' : propKey && descriptor ? 'METHOD' : propKey ? 'PROP' : 'CLASS';
197
+ const d = ccb(decoratorLevel);
198
+ if (d) {
199
+ d(target, propKey, descriptor);
200
+ }
201
+ });
202
+ }
176
203
  decorateClass(key, value, isArray) {
177
204
  return this.decorate(key, value, isArray, 'CLASS');
178
205
  }
@@ -1,41 +1,49 @@
1
1
  import { TAny, TFunction, TObject } from './types';
2
+ type TLevels = 'CLASS' | 'METHOD' | 'PROP' | 'PARAM';
2
3
  export interface TMergedDecoratorArgs {
3
4
  target: TFunction | TObject;
4
5
  propKey?: string | symbol;
5
6
  descriptor?: TypedPropertyDescriptor<TAny>;
6
7
  index?: number;
7
- level?: 'CLASS' | 'PROPERTY';
8
+ level?: TLevels;
8
9
  }
9
- export interface TProstoMetadata<TParams extends TProstoParamsMetadata = TProstoParamsMetadata> {
10
- params: TParams[];
11
- properties?: (string | symbol)[];
10
+ export interface TMateParamMeta {
12
11
  type?: TFunction;
13
- returnType?: TFunction;
14
12
  }
15
- export interface TProstoParamsMetadata {
13
+ export interface TMatePropMeta<TParam extends TObject = TEmpty> {
14
+ params?: (TParam & TMateParamMeta)[];
15
+ }
16
+ export interface TMateClassMeta {
17
+ properties?: (string | symbol)[];
16
18
  type?: TFunction;
19
+ returnType?: TFunction;
17
20
  }
18
- export interface TMateOptions<T extends TProstoMetadata = TProstoMetadata> {
21
+ export interface TMateOptions<TClass extends TObject = TEmpty, TProp extends TObject = TEmpty, TParam extends TObject = TEmpty> {
19
22
  readReturnType?: boolean;
20
23
  readType?: boolean;
21
24
  collectPropKeys?: boolean;
22
- inherit?: boolean | ((classMeta: T, propKey?: string, methodMeta?: T) => boolean);
25
+ inherit?: boolean | ((classMeta: TClass & TMateClassMeta, targetMeta: (TMatePropMeta<TParam> & TProp) | (TMateParamMeta & TParam), level: 'CLASS' | 'PROP' | 'PARAM', key?: string) => boolean);
26
+ }
27
+ interface TEmpty {
23
28
  }
24
- export declare class Mate<T extends TProstoMetadata = TProstoMetadata> {
29
+ export declare class Mate<TClass extends TObject = TEmpty, TProp extends TObject = TEmpty, TParam extends TObject = TEmpty> {
25
30
  protected workspace: string;
26
- protected options: TMateOptions<T>;
27
- constructor(workspace: string, options?: TMateOptions<T>);
28
- set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): void;
29
- set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): void;
30
- set<R extends T = T, RP = R['params'][0]>(args: TMergedDecoratorArgs, key: keyof R | keyof RP, value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): void;
31
- read<R extends T = T>(target: TFunction | TObject, propKey?: string | symbol, index?: number): R | undefined;
31
+ protected options: TMateOptions<TClass, TProp, TParam>;
32
+ constructor(workspace: string, options?: TMateOptions<TClass, TProp, TParam>);
33
+ set<TMeta extends TObject = Partial<TClass & TProp & TParam>>(args: TMergedDecoratorArgs, cb: ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta)): void;
34
+ set<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta>(args: TMergedDecoratorArgs, key: keyof TMeta, value: TMeta[TKey]): void;
35
+ set<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta>(args: TMergedDecoratorArgs, key: keyof TMeta, value: TMeta[TKey], isArray: boolean | undefined): void;
36
+ read<TMeta extends Partial<TClass & TMateClassMeta & TProp & TMatePropMeta<TParam> & TParam & TMateParamMeta>>(target: TFunction | TObject, propKey?: string | symbol): TMeta | undefined;
32
37
  apply(...decorators: (MethodDecorator | ClassDecorator | ParameterDecorator | PropertyDecorator)[]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
33
- decorate<R extends T = T, RP = R['params'][0]>(cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
34
- decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
35
- decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
36
- decorate<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined, level: TMergedDecoratorArgs['level']): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
37
- decorateClass<R extends T = T, RP = R['params'][0]>(cb: ((meta: R & RP, propKey?: string | symbol, index?: number) => R & RP)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
38
- decorateClass<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
39
- decorateClass<R extends T = T, RP = R['params'][0]>(key: keyof R | keyof RP | ((meta: R & RP) => R & RP), value: ((R & RP)[keyof R] & (R & RP)[keyof RP]) | undefined, isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
38
+ decorate<TMeta extends TObject = Partial<TClass & TProp & TParam>>(cb: ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
39
+ decorate<TMeta extends Partial<TClass & TProp & TParam>, TKey extends keyof TMeta>(key: TKey, value: TMeta[TKey]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
40
+ decorate<TMeta extends Partial<TClass & TProp & TParam>, TKey extends keyof TMeta, TIsArray extends boolean = false>(key: TKey, value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey], isArray: TIsArray): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
41
+ decorate<TMeta extends Partial<TClass & TProp & TParam>, TKey extends keyof TMeta, TIsArray extends boolean = false>(key: TKey | ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta), value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey], isArray: TIsArray, level: TMergedDecoratorArgs['level']): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
42
+ decorateConditional(ccb: (level: TLevels) => (MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator) | void | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
43
+ decorateClass<TMeta extends TObject = Partial<TClass & TProp & TParam>>(cb: ((meta: TMeta, level: TLevels, propKey?: string | symbol, index?: number) => TMeta)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
44
+ decorateClass<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta, TIsArray extends boolean = false>(key: TKey, value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
45
+ decorateClass<TMeta extends TObject = Partial<TClass & TProp & TParam>, TKey extends keyof TMeta = keyof TMeta, TIsArray extends boolean = false>(key: TKey, value: TIsArray extends true ? ArrayElementType<TMeta[TKey]> : TMeta[TKey], isArray: boolean | undefined): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
40
46
  }
47
+ type ArrayElementType<T> = T extends (infer E)[] ? E : never;
48
+ export {};
41
49
  //# sourceMappingURL=mate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mate.d.ts","sourceRoot":"","sources":["../../src/mate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mate.d.ts","sourceRoot":"","sources":["../../src/mate.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,35 @@
1
- import { Mate, TProstoMetadata } from '..';
2
- export declare const mate: Mate<{
3
- inherit?: boolean | undefined;
4
- fromPropertyCb?: string[] | undefined;
5
- } & TProstoMetadata<import("..").TProstoParamsMetadata>>;
1
+ import { Mate } from '..';
2
+ interface TClass {
3
+ inherit?: boolean;
4
+ fromPropertyCb?: string[];
5
+ d1?: string;
6
+ d2?: string;
7
+ d3?: string;
8
+ multi?: string;
9
+ class?: string;
10
+ classArray?: string[];
11
+ fromProperty?: string;
12
+ }
13
+ interface TProp {
14
+ inherit?: boolean;
15
+ fromPropertyCb?: string[];
16
+ prop1D?: string;
17
+ prop2D?: string;
18
+ method?: string;
19
+ methodArray?: string[];
20
+ method2?: string;
21
+ property?: string;
22
+ empty?: string;
23
+ }
24
+ interface TParam {
25
+ inherit?: boolean;
26
+ propS?: string;
27
+ param?: string;
28
+ param1?: string;
29
+ param2?: string;
30
+ paramArray?: string[];
31
+ }
32
+ export declare const mate: Mate<TClass, TProp, TParam>;
6
33
  export declare class MateTestClass {
7
34
  constructor(_a: string);
8
35
  prop1?: string;
@@ -10,11 +37,12 @@ export declare class MateTestClass {
10
37
  test(_b: string): string;
11
38
  viaCB(_c: string): void;
12
39
  param: string;
40
+ empty(): void;
13
41
  }
14
42
  export declare class MateTestClass2 {
15
43
  constructor(a: string);
16
44
  test(arg1: number, arg2: boolean): void;
17
- toOverwriteMeta(): void;
45
+ toOverwriteMeta(arg: string): void;
18
46
  }
19
47
  export declare class MateTestClass3 extends MateTestClass2 {
20
48
  constructor();
@@ -26,4 +54,5 @@ export declare class MateTestClass4 extends MateTestClass2 {
26
54
  test2(): void;
27
55
  toOverwriteMeta(): void;
28
56
  }
57
+ export {};
29
58
  //# sourceMappingURL=mate.artifacts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mate.artifacts.d.ts","sourceRoot":"","sources":["../../../src/tests/mate.artifacts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAE1C,eAAO,MAAM,IAAI;;;wDAUf,CAAA;AAMF,qBAGa,aAAa;gBAKd,EAAE,EAAE,MAAM;IAMlB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,KAAK,CAAC,EAAE,MAAM,CAAA;IAKd,IAAI,CAII,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB3B,KAAK,CAMG,EAAE,EAAE,MAAM;IAWlB,KAAK,EAAE,MAAM,CAAK;CACrB;AAED,qBACa,cAAc;gBACX,CAAC,EAAE,MAAM;IAOrB,IAAI,CAGD,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAM9B,eAAe;CAGlB;AAED,qBACa,cAAe,SAAQ,cAAc;;IAM9C,KAAK;IAML,eAAe;CAGlB;AAED,qBACa,cAAe,SAAQ,cAAc;;IAM9C,KAAK;IAKL,eAAe;CAGlB"}
1
+ {"version":3,"file":"mate.artifacts.d.ts","sourceRoot":"","sources":["../../../src/tests/mate.artifacts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAEzB,UAAU,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,KAAK;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,MAAM;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,eAAO,MAAM,IAAI,6BAaf,CAAA;AAcF,qBAIa,aAAa;gBAKd,EAAE,EAAE,MAAM;IAOlB,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,KAAK,CAAC,EAAE,MAAM,CAAA;IAMd,IAAI,CAKI,EAAE,EAAE,MAAM,GAAG,MAAM;IAgB3B,KAAK,CAMG,EAAE,EAAE,MAAM;IAWlB,KAAK,EAAE,MAAM,CAAK;IAGlB,KAAK;CAGR;AAED,qBACa,cAAc;gBACX,CAAC,EAAE,MAAM;IAOrB,IAAI,CAGD,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAM9B,eAAe,CAAC,GAAG,EAAE,MAAM;CAG9B;AAED,qBACa,cAAe,SAAQ,cAAc;;IAM9C,KAAK;IAML,eAAe;CAGlB;AAED,qBACa,cAAe,SAAQ,cAAc;;IAM9C,KAAK;IAKL,eAAe;CAGlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prostojs/mate",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "description": "MATE is TS Metadata Organizer",
5
5
  "main": "index.js",
6
6
  "module": "dist/mate.esm-bundler.js",