Skip to content

Commit 2fa0702

Browse files
committed
re-factor hook decorator implementation
1 parent 610729e commit 2fa0702

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+167
-480
lines changed
+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterBulkCreate(target: any, propertyName: string): void;
55
export function AfterBulkCreate(options: IHookOptions): Function;
66
export function AfterBulkCreate(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterBulkCreate', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterBulkCreate', propertyName);
20-
}
7+
return implementHookDecorator('afterBulkCreate', args);
218
}
+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterBulkDelete(target: any, propertyName: string): void;
55
export function AfterBulkDelete(options: IHookOptions): Function;
66
export function AfterBulkDelete(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterBulkDelete', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterBulkDelete', propertyName);
20-
}
7+
return implementHookDecorator('afterBulkDelete', args);
218
}
+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterBulkDestroy(target: any, propertyName: string): void;
55
export function AfterBulkDestroy(options: IHookOptions): Function;
66
export function AfterBulkDestroy(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterBulkDestroy', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterBulkDestroy', propertyName);
20-
}
7+
return implementHookDecorator('afterBulkDestroy', args);
218
}
+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterBulkRestore(target: any, propertyName: string): void;
55
export function AfterBulkRestore(options: IHookOptions): Function;
66
export function AfterBulkRestore(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterBulkRestore', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterBulkRestore', propertyName);
20-
}
7+
return implementHookDecorator('afterBulkRestore', args);
218
}
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import {IHookOptions} from "../../interfaces/IHookOptions";
2+
import {implementHookDecorator} from "../../services/hooks";
3+
4+
export function AfterBulkSync(target: any, propertyName: string): void;
5+
export function AfterBulkSync(options: IHookOptions): Function;
6+
export function AfterBulkSync(...args: any[]): void|Function {
7+
return implementHookDecorator('afterBulkSync', args);
8+
}
+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterBulkUpdate(target: any, propertyName: string): void;
55
export function AfterBulkUpdate(options: IHookOptions): Function;
66
export function AfterBulkUpdate(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterBulkUpdate', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterBulkUpdate', propertyName);
20-
}
7+
return implementHookDecorator('afterBulkUpdate', args);
218
}

lib/annotations/hooks/AfterConnect.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import {IHookOptions} from "../../interfaces/IHookOptions";
2+
import {implementHookDecorator} from "../../services/hooks";
3+
4+
export function AfterConnect(target: any, propertyName: string): void;
5+
export function AfterConnect(options: IHookOptions): Function;
6+
export function AfterConnect(...args: any[]): void|Function {
7+
return implementHookDecorator('afterConnect', args);
8+
}

lib/annotations/hooks/AfterCreate.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterCreate(target: any, propertyName: string): void;
55
export function AfterCreate(options: IHookOptions): Function;
66
export function AfterCreate(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterCreate', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterCreate', propertyName);
20-
}
7+
return implementHookDecorator('afterCreate', args);
218
}

lib/annotations/hooks/AfterDefine.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import {IHookOptions} from "../../interfaces/IHookOptions";
2+
import {implementHookDecorator} from "../../services/hooks";
3+
4+
export function AfterDefine(target: any, propertyName: string): void;
5+
export function AfterDefine(options: IHookOptions): Function;
6+
export function AfterDefine(...args: any[]): void|Function {
7+
return implementHookDecorator('afterDefine', args);
8+
}

lib/annotations/hooks/AfterDelete.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterDelete(target: any, propertyName: string): void;
55
export function AfterDelete(options: IHookOptions): Function;
66
export function AfterDelete(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterDelete', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterDelete', propertyName);
20-
}
7+
return implementHookDecorator('afterDelete', args);
218
}

lib/annotations/hooks/AfterDestroy.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterDestroy(target: any, propertyName: string): void;
55
export function AfterDestroy(options: IHookOptions): Function;
66
export function AfterDestroy(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterDestroy', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterDestroy', propertyName);
20-
}
7+
return implementHookDecorator('afterDestroy', args);
218
}

lib/annotations/hooks/AfterFind.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterFind(target: any, propertyName: string): void;
55
export function AfterFind(options: IHookOptions): Function;
66
export function AfterFind(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterFind', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterFind', propertyName);
20-
}
7+
return implementHookDecorator('afterFind', args);
218
}

lib/annotations/hooks/AfterInit.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import {IHookOptions} from "../../interfaces/IHookOptions";
2+
import {implementHookDecorator} from "../../services/hooks";
3+
4+
export function AfterInit(target: any, propertyName: string): void;
5+
export function AfterInit(options: IHookOptions): Function;
6+
export function AfterInit(...args: any[]): void|Function {
7+
return implementHookDecorator('afterInit', args);
8+
}

lib/annotations/hooks/AfterRestore.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterRestore(target: any, propertyName: string): void;
55
export function AfterRestore(options: IHookOptions): Function;
66
export function AfterRestore(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterRestore', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterRestore', propertyName);
20-
}
7+
return implementHookDecorator('afterRestore', args);
218
}

lib/annotations/hooks/AfterSave.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterSave(target: any, propertyName: string): void;
55
export function AfterSave(options: IHookOptions): Function;
66
export function AfterSave(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterSave', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterSave', propertyName);
20-
}
7+
return implementHookDecorator('afterSave', args);
218
}

lib/annotations/hooks/AfterSync.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import {IHookOptions} from "../../interfaces/IHookOptions";
2+
import {implementHookDecorator} from "../../services/hooks";
3+
4+
export function AfterSync(target: any, propertyName: string): void;
5+
export function AfterSync(options: IHookOptions): Function;
6+
export function AfterSync(...args: any[]): void|Function {
7+
return implementHookDecorator('afterSync', args);
8+
}

lib/annotations/hooks/AfterUpdate.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterUpdate(target: any, propertyName: string): void;
55
export function AfterUpdate(options: IHookOptions): Function;
66
export function AfterUpdate(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterUpdate', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterUpdate', propertyName);
20-
}
7+
return implementHookDecorator('afterUpdate', args);
218
}

lib/annotations/hooks/AfterUpsert.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterUpsert(target: any, propertyName: string): void;
55
export function AfterUpsert(options: IHookOptions): Function;
66
export function AfterUpsert(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterUpsert', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterUpsert', propertyName);
20-
}
7+
return implementHookDecorator('afterUpsert', args);
218
}
+2-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
import {IHookOptions} from "../../interfaces/IHookOptions";
2-
import {addHook} from "../../services/hooks";
2+
import {implementHookDecorator} from "../../services/hooks";
33

44
export function AfterValidate(target: any, propertyName: string): void;
55
export function AfterValidate(options: IHookOptions): Function;
66
export function AfterValidate(...args: any[]): void|Function {
7-
8-
if (args.length === 1) {
9-
10-
const options = args[0];
11-
12-
return (target: any, propertyName: string) =>
13-
addHook(target, 'afterValidate', propertyName, options);
14-
} else {
15-
16-
const target = args[0];
17-
const propertyName = args[1];
18-
19-
addHook(target, 'afterValidate', propertyName);
20-
}
7+
return implementHookDecorator('afterValidate', args);
218
}

0 commit comments

Comments
 (0)