aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-11 21:21:02 +0800
committercrupest <crupest@outlook.com>2019-03-11 21:21:02 +0800
commit9a11e4f5081d6dff7f1587e636f39de4b8983753 (patch)
tree9770d2ac8ce0b856928fcc83cf943b077e63f5c8 /Timeline/ClientApp/src
parent6e8434fa885bdb7ef9fd0f09a8cd29c0e17cef5b (diff)
downloadtimeline-9a11e4f5081d6dff7f1587e636f39de4b8983753.tar.gz
timeline-9a11e4f5081d6dff7f1587e636f39de4b8983753.tar.bz2
timeline-9a11e4f5081d6dff7f1587e636f39de4b8983753.zip
Fix some compile bugs.
Diffstat (limited to 'Timeline/ClientApp/src')
-rw-r--r--Timeline/ClientApp/src/app/todo/todo-item/todo-item.component.ts12
-rw-r--r--Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts14
-rw-r--r--Timeline/ClientApp/src/app/utilities/language-untilities.ts9
3 files changed, 13 insertions, 22 deletions
diff --git a/Timeline/ClientApp/src/app/todo/todo-item/todo-item.component.ts b/Timeline/ClientApp/src/app/todo/todo-item/todo-item.component.ts
index 50829769..b5c51229 100644
--- a/Timeline/ClientApp/src/app/todo/todo-item/todo-item.component.ts
+++ b/Timeline/ClientApp/src/app/todo/todo-item/todo-item.component.ts
@@ -1,18 +1,12 @@
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input } from '@angular/core';
import { TodoItem } from '../todo-item';
-import { throwIfFalsy } from 'src/app/utilities/language-untilities';
@Component({
selector: 'app-todo-item',
templateUrl: './todo-item.component.html',
styleUrls: ['./todo-item.component.css', '../todo-list-color-block.css']
})
-export class TodoItemComponent implements OnInit {
-
- @Input() item: TodoItem | undefined;
-
- ngOnInit() {
- throwIfFalsy(this.item, 'item');
- }
+export class TodoItemComponent {
+ @Input() item!: TodoItem;
}
diff --git a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts b/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts
index 1369d17d..22f6a41f 100644
--- a/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts
+++ b/Timeline/ClientApp/src/app/user/user-login-success/user-login-success.component.ts
@@ -1,9 +1,9 @@
-import { Component, OnInit, Input } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { UserInfo } from '../entities';
import { InternalUserService } from '../internal-user-service/internal-user.service';
-import { throwIfFalsy } from 'src/app/utilities/language-untilities';
+import { throwIfNullOrUndefined } from 'src/app/utilities/language-untilities';
@Component({
selector: 'app-user-login-success',
@@ -14,18 +14,12 @@ export class UserLoginSuccessComponent implements OnInit {
displayLoginSuccessMessage = false;
- userInfo: UserInfo | undefined;
+ userInfo!: UserInfo;
constructor(private route: ActivatedRoute, private userService: InternalUserService) { }
ngOnInit() {
- const { currentUserInfo } = this.userService;
-
- if (!currentUserInfo) {
- throw new Error('Route error. No login now!');
- }
-
- this.userInfo = this.userService.currentUserInfo!;
+ this.userInfo = throwIfNullOrUndefined(this.userService.currentUserInfo, () => 'Route error. No login now!');
this.displayLoginSuccessMessage = this.route.snapshot.paramMap.get('reason') === 'login';
}
}
diff --git a/Timeline/ClientApp/src/app/utilities/language-untilities.ts b/Timeline/ClientApp/src/app/utilities/language-untilities.ts
index f898039a..be9df2dc 100644
--- a/Timeline/ClientApp/src/app/utilities/language-untilities.ts
+++ b/Timeline/ClientApp/src/app/utilities/language-untilities.ts
@@ -2,8 +2,11 @@ export function nullIfUndefined<T>(value: T | undefined): T | null {
return value === undefined ? null : value;
}
-export function throwIfFalsy(value: any, name: string = '<unknown name>') {
- if (!value) {
- throw new Error(name + ' is falsy.');
+export function throwIfNullOrUndefined<T>(value: T | null | undefined,
+ lazyMessage: () => string = () => 'Value mustn\'t be falsy'): T | never {
+ if (value === null || value === undefined) {
+ throw new Error(lazyMessage());
+ } else {
+ return value;
}
}