File tree Expand file tree Collapse file tree 3 files changed +27
-9
lines changed Expand file tree Collapse file tree 3 files changed +27
-9
lines changed Original file line number Diff line number Diff line change @@ -16,9 +16,7 @@ npm i template-typescript-node-package
16
16
``` ts
17
17
import { greet } from " template-typescript-node-package" ;
18
18
19
- greet ({
20
- message: " Hello, world!" ,
21
- });
19
+ greet (" Hello, world!" );
22
20
```
23
21
24
22
## Development
Original file line number Diff line number Diff line change @@ -4,7 +4,25 @@ import { greet } from "./greet.js";
4
4
const message = "Yay, testing!" ;
5
5
6
6
describe ( "greet" , ( ) => {
7
- it ( "logs once when times is not provided" , ( ) => {
7
+ it ( "logs to the console once when message is provided as a string" , ( ) => {
8
+ const logger = vi . spyOn ( console , "log" ) . mockImplementation ( ( ) => undefined ) ;
9
+
10
+ greet ( message ) ;
11
+
12
+ expect ( logger ) . toHaveBeenCalledWith ( message ) ;
13
+ expect ( logger ) . toHaveBeenCalledTimes ( 1 ) ;
14
+ } ) ;
15
+
16
+ it ( "logs to the console once when message is provided as an object" , ( ) => {
17
+ const logger = vi . spyOn ( console , "log" ) . mockImplementation ( ( ) => undefined ) ;
18
+
19
+ greet ( { message } ) ;
20
+
21
+ expect ( logger ) . toHaveBeenCalledWith ( message ) ;
22
+ expect ( logger ) . toHaveBeenCalledTimes ( 1 ) ;
23
+ } ) ;
24
+
25
+ it ( "logs once when times is not provided in an object" , ( ) => {
8
26
const logger = vi . fn ( ) ;
9
27
10
28
greet ( { logger, message } ) ;
Original file line number Diff line number Diff line change 1
1
import { GreetOptions } from "./types" ;
2
2
3
- export function greet ( {
4
- logger = console . log . bind ( console ) ,
5
- message,
6
- times = 1 ,
7
- } : GreetOptions ) {
3
+ export function greet ( options : GreetOptions | string ) {
4
+ const {
5
+ logger = console . log . bind ( console ) ,
6
+ message,
7
+ times = 1 ,
8
+ } = typeof options === "string" ? { message : options } : options ;
9
+
8
10
for ( let i = 0 ; i < times ; i += 1 ) {
9
11
logger ( message ) ;
10
12
}
You can’t perform that action at this time.
0 commit comments