Skip to content

Commit 7a1523b

Browse files
committed
updates
1 parent 557cf25 commit 7a1523b

File tree

82 files changed

+1031
-558
lines changed

Some content is hidden

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

82 files changed

+1031
-558
lines changed

dist/abstract-factory/client.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
33
// Abstract Factory Use Case Example Code
44
const furniture_factory_1 = require("./furniture-factory");
55
let FURNITURE = furniture_factory_1.default.getFurniture('SmallChair');
6-
console.log(FURNITURE?.name);
7-
console.log(FURNITURE?.getDimensions());
6+
console.log(FURNITURE === null || FURNITURE === void 0 ? void 0 : FURNITURE.name);
7+
console.log(FURNITURE === null || FURNITURE === void 0 ? void 0 : FURNITURE.getDimensions());
88
FURNITURE = furniture_factory_1.default.getFurniture('MediumTable');
9-
console.log(FURNITURE?.name);
10-
console.log(FURNITURE?.getDimensions());
9+
console.log(FURNITURE === null || FURNITURE === void 0 ? void 0 : FURNITURE.name);
10+
console.log(FURNITURE === null || FURNITURE === void 0 ? void 0 : FURNITURE.getDimensions());

dist/adapter/adapter-concept.js

+25-8
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,56 @@
11
"use strict";
22
// Adapter Concept Sample Code
3+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
4+
if (!privateMap.has(receiver)) {
5+
throw new TypeError("attempted to set private field on non-instance");
6+
}
7+
privateMap.set(receiver, value);
8+
return value;
9+
};
10+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
11+
if (!privateMap.has(receiver)) {
12+
throw new TypeError("attempted to get private field on non-instance");
13+
}
14+
return privateMap.get(receiver);
15+
};
16+
var _classB;
317
class ClassA {
4-
method_a() {
18+
methodA() {
519
console.log('method A');
620
}
721
}
822
class ClassB {
9-
method_b() {
23+
methodB() {
1024
console.log('method B');
1125
}
1226
}
1327
class ClassBAdapter {
1428
constructor() {
15-
this.class_b = new ClassB();
29+
// ClassB does not have a methodA, so we can create an adapter
30+
_classB.set(this, void 0);
31+
__classPrivateFieldSet(this, _classB, new ClassB());
1632
}
17-
method_a() {
33+
methodA() {
1834
'calls the class b method_b instead';
19-
this.class_b.method_b();
35+
__classPrivateFieldGet(this, _classB).methodB();
2036
}
2137
}
38+
_classB = new WeakMap();
2239
// The Client
2340
// Before the adapter I need to test the objects class to know which
2441
// method to call.
2542
const ITEMS = [new ClassA(), new ClassB()];
2643
ITEMS.forEach((item) => {
2744
if (item instanceof ClassB) {
28-
item.method_b();
45+
item.methodB();
2946
}
3047
else {
31-
item.method_a();
48+
item.methodA();
3249
}
3350
});
3451
// After creating an adapter for ClassB I can reuse the same method
3552
// signature as ClassA (preferred)
3653
const ADAPTED = [new ClassA(), new ClassBAdapter()];
3754
ADAPTED.forEach((item) => {
38-
item.method_a();
55+
item.methodA();
3956
});

dist/adapter/cube-b-adapter.js

+18-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
11
"use strict";
2+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
3+
if (!privateMap.has(receiver)) {
4+
throw new TypeError("attempted to set private field on non-instance");
5+
}
6+
privateMap.set(receiver, value);
7+
return value;
8+
};
9+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
10+
if (!privateMap.has(receiver)) {
11+
throw new TypeError("attempted to get private field on non-instance");
12+
}
13+
return privateMap.get(receiver);
14+
};
15+
var _cube;
216
Object.defineProperty(exports, "__esModule", { value: true });
317
const cube_b_1 = require("./cube-b");
418
class CubeBAdapter {
519
constructor() {
6-
this.cube = new cube_b_1.default();
20+
_cube.set(this, void 0);
21+
__classPrivateFieldSet(this, _cube, new cube_b_1.default());
722
}
823
manufacture(width, height, depth) {
9-
const success = this.cube.create([0 - width / 2, 0 - height / 2, 0 - depth / 2], [0 + width / 2, 0 + height / 2, 0 + depth / 2]);
24+
const success = __classPrivateFieldGet(this, _cube).create([0 - width / 2, 0 - height / 2, 0 - depth / 2], [0 + width / 2, 0 + height / 2, 0 + depth / 2]);
1025
return success;
1126
}
1227
}
1328
exports.default = CubeBAdapter;
29+
_cube = new WeakMap();

dist/bridge/bridge-concept.js

+22-4
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,39 @@
11
"use strict";
22
// Bridge Pattern Concept Sample Code
3+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
4+
if (!privateMap.has(receiver)) {
5+
throw new TypeError("attempted to set private field on non-instance");
6+
}
7+
privateMap.set(receiver, value);
8+
return value;
9+
};
10+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
11+
if (!privateMap.has(receiver)) {
12+
throw new TypeError("attempted to get private field on non-instance");
13+
}
14+
return privateMap.get(receiver);
15+
};
16+
var _implementer, _implementer_1;
317
class RefinedAbstractionA {
418
constructor(implementer) {
5-
this.implementer = implementer;
19+
_implementer.set(this, void 0);
20+
__classPrivateFieldSet(this, _implementer, implementer);
621
}
722
method(value) {
8-
this.implementer.method(value);
23+
__classPrivateFieldGet(this, _implementer).method(value);
924
}
1025
}
26+
_implementer = new WeakMap();
1127
class RefinedAbstractionB {
1228
constructor(implementer) {
13-
this.implementer = implementer;
29+
_implementer_1.set(this, void 0);
30+
__classPrivateFieldSet(this, _implementer_1, implementer);
1431
}
1532
method(value) {
16-
this.implementer.method(value);
33+
__classPrivateFieldGet(this, _implementer_1).method(value);
1734
}
1835
}
36+
_implementer_1 = new WeakMap();
1937
class ConcreteImplementerA {
2038
method(value) {
2139
console.log(value);

dist/bridge/circle.js

+18-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
"use strict";
22
// A Circle Abstraction
3+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
4+
if (!privateMap.has(receiver)) {
5+
throw new TypeError("attempted to set private field on non-instance");
6+
}
7+
privateMap.set(receiver, value);
8+
return value;
9+
};
10+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
11+
if (!privateMap.has(receiver)) {
12+
throw new TypeError("attempted to get private field on non-instance");
13+
}
14+
return privateMap.get(receiver);
15+
};
16+
var _implementer;
317
Object.defineProperty(exports, "__esModule", { value: true });
418
class Circle {
519
constructor(implementer) {
6-
this.implementer = implementer;
20+
_implementer.set(this, void 0);
21+
__classPrivateFieldSet(this, _implementer, implementer);
722
}
823
draw() {
9-
this.implementer.drawImplementation();
24+
__classPrivateFieldGet(this, _implementer).drawImplementation();
1025
}
1126
}
1227
exports.default = Circle;
28+
_implementer = new WeakMap();

dist/bridge/square.js

+18-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
"use strict";
22
// A Square Abstraction
3+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
4+
if (!privateMap.has(receiver)) {
5+
throw new TypeError("attempted to set private field on non-instance");
6+
}
7+
privateMap.set(receiver, value);
8+
return value;
9+
};
10+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
11+
if (!privateMap.has(receiver)) {
12+
throw new TypeError("attempted to get private field on non-instance");
13+
}
14+
return privateMap.get(receiver);
15+
};
16+
var _implementer;
317
Object.defineProperty(exports, "__esModule", { value: true });
418
class Square {
519
constructor(implementer) {
6-
this.implementer = implementer;
20+
_implementer.set(this, void 0);
21+
__classPrivateFieldSet(this, _implementer, implementer);
722
}
823
draw() {
9-
this.implementer.drawImplementation();
24+
__classPrivateFieldGet(this, _implementer).drawImplementation();
1025
}
1126
}
1227
exports.default = Square;
28+
_implementer = new WeakMap();

dist/chain-of-responsibility/chain-of-responsibility-concept.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Successor2 {
2828
else if (test === 2) {
2929
payload = payload / 2;
3030
payload = new Successor2().handle(payload);
31-
} // if test = 3 then ignore
31+
} // if test = 3 then assign no further successors
3232
return payload;
3333
}
3434
}
+22-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,28 @@
11
"use strict";
22
// A dispenser of £10 notes
3+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
4+
if (!privateMap.has(receiver)) {
5+
throw new TypeError("attempted to set private field on non-instance");
6+
}
7+
privateMap.set(receiver, value);
8+
return value;
9+
};
10+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
11+
if (!privateMap.has(receiver)) {
12+
throw new TypeError("attempted to get private field on non-instance");
13+
}
14+
return privateMap.get(receiver);
15+
};
16+
var _successor;
317
Object.defineProperty(exports, "__esModule", { value: true });
418
class Dispenser10 {
19+
constructor() {
20+
// Dispenses £10s if applicable, otherwise continues to next successor
21+
_successor.set(this, void 0);
22+
}
523
nextSuccessor(successor) {
624
// Set the next successor
7-
this.successor = successor;
25+
__classPrivateFieldSet(this, _successor, successor);
826
}
927
handle(amount) {
1028
// Handle the dispensing of notes"
@@ -13,12 +31,13 @@ class Dispenser10 {
1331
const remainder = amount % 10;
1432
console.log(`Dispensing ${num} £10 note`);
1533
if (remainder !== 0) {
16-
this.successor.handle(remainder);
34+
__classPrivateFieldGet(this, _successor).handle(remainder);
1735
}
1836
}
1937
else {
20-
this.successor.handle(amount);
38+
__classPrivateFieldGet(this, _successor).handle(amount);
2139
}
2240
}
2341
}
2442
exports.default = Dispenser10;
43+
_successor = new WeakMap();
+22-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,28 @@
11
"use strict";
22
// A dispenser of £20 notes
3+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
4+
if (!privateMap.has(receiver)) {
5+
throw new TypeError("attempted to set private field on non-instance");
6+
}
7+
privateMap.set(receiver, value);
8+
return value;
9+
};
10+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
11+
if (!privateMap.has(receiver)) {
12+
throw new TypeError("attempted to get private field on non-instance");
13+
}
14+
return privateMap.get(receiver);
15+
};
16+
var _successor;
317
Object.defineProperty(exports, "__esModule", { value: true });
418
class Dispenser20 {
19+
constructor() {
20+
// Dispenses £10s if applicable, otherwise continues to next successor
21+
_successor.set(this, void 0);
22+
}
523
nextSuccessor(successor) {
624
// Set the next successor
7-
this.successor = successor;
25+
__classPrivateFieldSet(this, _successor, successor);
826
}
927
handle(amount) {
1028
// Handle the dispensing of notes"
@@ -13,12 +31,13 @@ class Dispenser20 {
1331
const remainder = amount % 20;
1432
console.log(`Dispensing ${num} £20 note`);
1533
if (remainder !== 0) {
16-
this.successor.handle(remainder);
34+
__classPrivateFieldGet(this, _successor).handle(remainder);
1735
}
1836
}
1937
else {
20-
this.successor.handle(amount);
38+
__classPrivateFieldGet(this, _successor).handle(amount);
2139
}
2240
}
2341
}
2442
exports.default = Dispenser20;
43+
_successor = new WeakMap();
+22-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,28 @@
11
"use strict";
22
// A dispenser of £50 notes
3+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
4+
if (!privateMap.has(receiver)) {
5+
throw new TypeError("attempted to set private field on non-instance");
6+
}
7+
privateMap.set(receiver, value);
8+
return value;
9+
};
10+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
11+
if (!privateMap.has(receiver)) {
12+
throw new TypeError("attempted to get private field on non-instance");
13+
}
14+
return privateMap.get(receiver);
15+
};
16+
var _successor;
317
Object.defineProperty(exports, "__esModule", { value: true });
418
class Dispenser50 {
19+
constructor() {
20+
// Dispenses £10s if applicable, otherwise continues to next successor
21+
_successor.set(this, void 0);
22+
}
523
nextSuccessor(successor) {
624
// Set the next successor
7-
this.successor = successor;
25+
__classPrivateFieldSet(this, _successor, successor);
826
}
927
handle(amount) {
1028
// Handle the dispensing of notes"
@@ -13,12 +31,13 @@ class Dispenser50 {
1331
const remainder = amount % 50;
1432
console.log(`Dispensing ${num} £50 note`);
1533
if (remainder !== 0) {
16-
this.successor.handle(remainder);
34+
__classPrivateFieldGet(this, _successor).handle(remainder);
1735
}
1836
}
1937
else {
20-
this.successor.handle(amount);
38+
__classPrivateFieldGet(this, _successor).handle(amount);
2139
}
2240
}
2341
}
2442
exports.default = Dispenser50;
43+
_successor = new WeakMap();

0 commit comments

Comments
 (0)