Skip to content

Commit 3ea220e

Browse files
committed
chapter 03: creating a extension manager factory that allows to set the extension manager to return before execute it, the default manager it returns is fileExtensionManager
1 parent b0e9e70 commit 3ea220e

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const fileExtensionManagerFactory = require('./fileExtensionManager');
2+
3+
function extensionManager() {
4+
let customManager = null;
5+
6+
function create() {
7+
if (customManager !== null) {
8+
return customManager;
9+
}
10+
11+
return fileExtensionManagerFactory();
12+
}
13+
14+
function setManager(manager) {
15+
customManager = manager;
16+
}
17+
18+
return {
19+
create,
20+
setManager,
21+
};
22+
}
23+
24+
module.exports = extensionManager;

chapter_03-using-stubs-to-break-dependencies/LogAn/fakeExtensionManager.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ function fakeExtensionManager() {
44
*/
55
let valid = false;
66

7+
/**
8+
* @param {boolean} value
9+
*/
710
function willBeValid(value) {
811
valid = value;
912
}

0 commit comments

Comments
 (0)