@prostojs/mate 0.2.0 → 0.2.1

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.
@@ -144,7 +144,7 @@ class Mate {
144
144
  if (shouldInherit) {
145
145
  const parent = Object.getPrototypeOf(constructor);
146
146
  if (typeof parent === 'function' && parent !== fnProto && parent !== constructor) {
147
- const inheritedMeta = this.read(parent, propKey) || {};
147
+ const inheritedMeta = (this.read(parent, propKey) || {});
148
148
  const ownParams = ownMeta === null || ownMeta === void 0 ? void 0 : ownMeta.params;
149
149
  ownMeta = { ...inheritedMeta, ...ownMeta };
150
150
  if (typeof propKey === 'string' && ownParams && (inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params)) {
package/dist/mate.d.ts CHANGED
@@ -4,7 +4,7 @@ export declare function getConstructor<T = TAny>(instance: T): TFunction;
4
4
 
5
5
  export declare function isConstructor<T = TAny>(v: T): v is (T & TClassConstructor);
6
6
 
7
- export declare class Mate<TClass extends TObject = TMateClassMeta, TProp extends {
7
+ export declare class Mate<TClass extends TObject = TMateClassMeta<TMateParamMeta>, TProp extends {
8
8
  params: TMateParamMeta[];
9
9
  } = Required<TMatePropMeta<TMateParamMeta>>> {
10
10
  protected workspace: string;
@@ -14,7 +14,7 @@ export declare class Mate<TClass extends TObject = TMateClassMeta, TProp extends
14
14
  set<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>>(args: TMergedDecoratorArgs, cb: ((meta: T, level: TLevels, propKey?: string | symbol, index?: number) => T)): void;
15
15
  set<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>, K extends keyof T = keyof T>(args: TMergedDecoratorArgs, key: keyof T, value: T[K]): void;
16
16
  set<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>, K extends keyof T = keyof T>(args: TMergedDecoratorArgs, key: keyof T, value: T[K], isArray: boolean | undefined): void;
17
- read<T = TClass & TProp & TCommonMate<TProp['params'][0]>>(target: TFunction | TObject, propKey?: string | symbol): (TClass & TProp & TMateClassMeta & TMatePropMeta<TProp["params"][0]>) | undefined;
17
+ read<PK extends PropertyKey | undefined>(target: TFunction | TObject, propKey?: PK): PK extends PropertyKey ? TClass & TProp & TCommonMate<TProp['params'][0]> : TClass;
18
18
  apply(...decorators: (MethodDecorator | ClassDecorator | ParameterDecorator | PropertyDecorator)[]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
19
19
  decorate<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>>(cb: ((meta: T, level: TLevels, propKey?: string | symbol, index?: number) => T)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
20
20
  decorate<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>, K extends keyof T = keyof T>(key: K, value: T[K]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
@@ -30,9 +30,9 @@ declare type TAny = any;
30
30
 
31
31
  declare type TClassConstructor<T = unknown> = new (...args: TAny[]) => T;
32
32
 
33
- declare type TCommonMate<TParam extends TObject> = TMateClassMeta & TMatePropMeta<TParam>;
33
+ declare type TCommonMate<TParam extends TObject> = TMateClassMeta<TParam> & TMatePropMeta<TParam>;
34
34
 
35
- declare type TCommonMateWithParam<TParam extends TObject> = TMateClassMeta & TMatePropMeta<TParam> & TParam;
35
+ declare type TCommonMateWithParam<TParam extends TObject> = TMateClassMeta<TParam> & TMatePropMeta<TParam> & TParam;
36
36
 
37
37
  declare interface TConsoleBase {
38
38
  error: ((...args: any) => void);
@@ -45,20 +45,21 @@ declare type TFunction = Function;
45
45
 
46
46
  declare type TLevels = 'CLASS' | 'METHOD' | 'PROP' | 'PARAM';
47
47
 
48
- export declare interface TMateClassMeta {
48
+ export declare interface TMateClassMeta<TParam> {
49
49
  properties?: (string | symbol)[];
50
50
  type?: TFunction;
51
51
  returnType?: TFunction;
52
+ params?: (TParam & TMateParamMeta)[];
52
53
  }
53
54
 
54
- export declare interface TMateOptions<TClass extends TObject = TMateClassMeta, TProp extends {
55
+ export declare interface TMateOptions<TClass extends TObject = TMateClassMeta<TMateParamMeta>, TProp extends {
55
56
  params: TMateParamMeta[];
56
57
  } = Required<TMatePropMeta<TMateParamMeta>>> {
57
58
  logger?: TConsoleBase;
58
59
  readReturnType?: boolean;
59
60
  readType?: boolean;
60
61
  collectPropKeys?: boolean;
61
- inherit?: boolean | ((classMeta: TClass & TMateClassMeta, targetMeta: (TMatePropMeta<TProp['params'][0]> & TProp) | (TMateParamMeta & TProp['params'][0]), level: 'CLASS' | 'PROP' | 'PARAM', key?: string) => boolean);
62
+ inherit?: boolean | ((classMeta: TClass & TMateClassMeta<TMateParamMeta>, targetMeta: (TMatePropMeta<TProp['params'][0]> & TProp) | (TMateParamMeta & TProp['params'][0]), level: 'CLASS' | 'PROP' | 'PARAM', key?: string) => boolean);
62
63
  }
63
64
 
64
65
  export declare interface TMateParamMeta {
@@ -140,7 +140,7 @@ class Mate {
140
140
  if (shouldInherit) {
141
141
  const parent = Object.getPrototypeOf(constructor);
142
142
  if (typeof parent === 'function' && parent !== fnProto && parent !== constructor) {
143
- const inheritedMeta = this.read(parent, propKey) || {};
143
+ const inheritedMeta = (this.read(parent, propKey) || {});
144
144
  const ownParams = ownMeta === null || ownMeta === void 0 ? void 0 : ownMeta.params;
145
145
  ownMeta = { ...inheritedMeta, ...ownMeta };
146
146
  if (typeof propKey === 'string' && ownParams && (inheritedMeta === null || inheritedMeta === void 0 ? void 0 : inheritedMeta.params)) {
@@ -13,28 +13,29 @@ export interface TMateParamMeta {
13
13
  export interface TMatePropMeta<TParam extends TObject = TEmpty> {
14
14
  params?: (TParam & TMateParamMeta)[];
15
15
  }
16
- export interface TMateClassMeta {
16
+ export interface TMateClassMeta<TParam> {
17
17
  properties?: (string | symbol)[];
18
18
  type?: TFunction;
19
19
  returnType?: TFunction;
20
+ params?: (TParam & TMateParamMeta)[];
20
21
  }
21
- declare type TCommonMate<TParam extends TObject> = TMateClassMeta & TMatePropMeta<TParam>;
22
- declare type TCommonMateWithParam<TParam extends TObject> = TMateClassMeta & TMatePropMeta<TParam> & TParam;
22
+ declare type TCommonMate<TParam extends TObject> = TMateClassMeta<TParam> & TMatePropMeta<TParam>;
23
+ declare type TCommonMateWithParam<TParam extends TObject> = TMateClassMeta<TParam> & TMatePropMeta<TParam> & TParam;
23
24
  interface TConsoleBase {
24
25
  error: ((...args: any) => void);
25
26
  }
26
- export interface TMateOptions<TClass extends TObject = TMateClassMeta, TProp extends {
27
+ export interface TMateOptions<TClass extends TObject = TMateClassMeta<TMateParamMeta>, TProp extends {
27
28
  params: TMateParamMeta[];
28
29
  } = Required<TMatePropMeta<TMateParamMeta>>> {
29
30
  logger?: TConsoleBase;
30
31
  readReturnType?: boolean;
31
32
  readType?: boolean;
32
33
  collectPropKeys?: boolean;
33
- inherit?: boolean | ((classMeta: TClass & TMateClassMeta, targetMeta: (TMatePropMeta<TProp['params'][0]> & TProp) | (TMateParamMeta & TProp['params'][0]), level: 'CLASS' | 'PROP' | 'PARAM', key?: string) => boolean);
34
+ inherit?: boolean | ((classMeta: TClass & TMateClassMeta<TMateParamMeta>, targetMeta: (TMatePropMeta<TProp['params'][0]> & TProp) | (TMateParamMeta & TProp['params'][0]), level: 'CLASS' | 'PROP' | 'PARAM', key?: string) => boolean);
34
35
  }
35
36
  interface TEmpty {
36
37
  }
37
- export declare class Mate<TClass extends TObject = TMateClassMeta, TProp extends {
38
+ export declare class Mate<TClass extends TObject = TMateClassMeta<TMateParamMeta>, TProp extends {
38
39
  params: TMateParamMeta[];
39
40
  } = Required<TMatePropMeta<TMateParamMeta>>> {
40
41
  protected workspace: string;
@@ -44,7 +45,7 @@ export declare class Mate<TClass extends TObject = TMateClassMeta, TProp extends
44
45
  set<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>>(args: TMergedDecoratorArgs, cb: ((meta: T, level: TLevels, propKey?: string | symbol, index?: number) => T)): void;
45
46
  set<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>, K extends keyof T = keyof T>(args: TMergedDecoratorArgs, key: keyof T, value: T[K]): void;
46
47
  set<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>, K extends keyof T = keyof T>(args: TMergedDecoratorArgs, key: keyof T, value: T[K], isArray: boolean | undefined): void;
47
- read<T = TClass & TProp & TCommonMate<TProp['params'][0]>>(target: TFunction | TObject, propKey?: string | symbol): (TClass & TProp & TMateClassMeta & TMatePropMeta<TProp["params"][0]>) | undefined;
48
+ read<PK extends PropertyKey | undefined>(target: TFunction | TObject, propKey?: PK): PK extends PropertyKey ? TClass & TProp & TCommonMate<TProp['params'][0]> : TClass;
48
49
  apply(...decorators: (MethodDecorator | ClassDecorator | ParameterDecorator | PropertyDecorator)[]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
49
50
  decorate<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>>(cb: ((meta: T, level: TLevels, propKey?: string | symbol, index?: number) => T)): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
50
51
  decorate<T = TClass & TProp & TCommonMateWithParam<TProp['params'][0]>, K extends keyof T = keyof T>(key: K, value: T[K]): MethodDecorator & ClassDecorator & ParameterDecorator & PropertyDecorator;
@@ -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,5 +1,5 @@
1
1
  import { Mate, TMateParamMeta } from '..';
2
- interface TClass {
2
+ interface TClass<TParam> {
3
3
  inherit?: boolean;
4
4
  fromPropertyCb?: string[];
5
5
  d1?: string;
@@ -9,6 +9,7 @@ interface TClass {
9
9
  class?: string;
10
10
  classArray?: string[];
11
11
  fromProperty?: string;
12
+ params?: (TMateParamMeta & TParam)[];
12
13
  }
13
14
  interface TProp<TParam> {
14
15
  inherit?: boolean;
@@ -30,7 +31,7 @@ interface TParam {
30
31
  param2?: string;
31
32
  paramArray?: string[];
32
33
  }
33
- export declare const mate: Mate<TClass, TProp<TParam>>;
34
+ export declare const mate: Mate<TClass<TParam>, TProp<TParam>>;
34
35
  export declare class MateTestClass {
35
36
  constructor(_a: string);
36
37
  prop1?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mate.artifacts.d.ts","sourceRoot":"","sources":["../../../src/tests/mate.artifacts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEzC,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,CAAC,MAAM;IAClB,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;IACd,MAAM,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAA;CACtC;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"}
1
+ {"version":3,"file":"mate.artifacts.d.ts","sourceRoot":"","sources":["../../../src/tests/mate.artifacts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEzC,UAAU,MAAM,CAAC,MAAM;IACnB,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;IACrB,MAAM,CAAC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAA;CACvC;AAED,UAAU,KAAK,CAAC,MAAM;IAClB,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;IACd,MAAM,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAA;CACtC;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,qCAaf,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.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "MATE is TS Metadata Organizer",
5
5
  "main": "index.js",
6
6
  "module": "dist/mate.esm-bundler.js",