Skip to content

Commit 1c54ed1

Browse files
committed
WIP Filter and pipe tests
1 parent 297ef11 commit 1c54ed1

Some content is hidden

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

60 files changed

+157
-185
lines changed

bin/cjs/plumbing/Filter.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.Filter = void 0;
4-
const types_1 = require("../types");
4+
const index_1 = require("../index");
55
/**
66
* Pipe Filter.
77
*
@@ -10,15 +10,15 @@ const types_1 = require("../types");
1010
* filter function passed to them by control message, as well as having
1111
* their Bypass/Filter operation mode toggled via control message.
1212
*/
13-
class Filter extends types_1.Pipe {
13+
class Filter extends index_1.Pipe {
1414
/**
1515
* Constructor.
1616
*
1717
* Optionally connect the output and set the parameters.
1818
*/
1919
constructor({ name, output, filter, params, }) {
2020
super(output);
21-
this.mode = types_1.FilterControlMessageType.FILTER;
21+
this.mode = index_1.FilterControlMessageType.FILTER;
2222
this.filter = undefined;
2323
this.params = {};
2424
this.name = "Unnamed Filter";
@@ -71,9 +71,9 @@ class Filter extends types_1.Pipe {
7171
let success = true;
7272
// Filter normal messages
7373
switch (message.type) {
74-
case types_1.PipeMessageType.NORMAL:
74+
case index_1.PipeMessageType.NORMAL:
7575
try {
76-
if (this.mode === types_1.FilterControlMessageType.FILTER) {
76+
if (this.mode === index_1.FilterControlMessageType.FILTER) {
7777
outputMessage = this.applyFilter(message);
7878
}
7979
else {
@@ -87,7 +87,7 @@ class Filter extends types_1.Pipe {
8787
}
8888
break;
8989
// Accept parameters from control message
90-
case types_1.FilterControlMessageType.SET_PARAMS:
90+
case index_1.FilterControlMessageType.SET_PARAMS:
9191
if (this.isTarget(message)) {
9292
this.params = message.params || {};
9393
}
@@ -96,7 +96,7 @@ class Filter extends types_1.Pipe {
9696
}
9797
break;
9898
// Accept filter function from control message
99-
case types_1.FilterControlMessageType.SET_FILTER:
99+
case index_1.FilterControlMessageType.SET_FILTER:
100100
if (this.isTarget(message)) {
101101
this.filter = message.filter;
102102
}
@@ -105,8 +105,8 @@ class Filter extends types_1.Pipe {
105105
}
106106
break;
107107
// Toggle between Filter or Bypass operational modes
108-
case types_1.FilterControlMessageType.BYPASS:
109-
case types_1.FilterControlMessageType.FILTER:
108+
case index_1.FilterControlMessageType.BYPASS:
109+
case index_1.FilterControlMessageType.FILTER:
110110
if (this.isTarget(message)) {
111111
this.mode = message.type;
112112
}
@@ -130,7 +130,7 @@ class Filter extends types_1.Pipe {
130130
* Filter the message.
131131
*/
132132
applyFilter(message) {
133-
if (this.mode !== types_1.FilterControlMessageType.BYPASS && this.filter)
133+
if (this.mode !== index_1.FilterControlMessageType.BYPASS && this.filter)
134134
this.filter(message, this.params);
135135
return message;
136136
}

bin/cjs/plumbing/Junction.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.Junction = void 0;
4-
const types_1 = require("../types");
4+
const index_1 = require("../index");
55
/**
66
* Pipe Junction.
77
*
@@ -58,10 +58,10 @@ class Junction {
5858
this.pipesMap.set(name, pipe);
5959
this.pipeTypesMap.set(name, type);
6060
switch (type) {
61-
case types_1.JunctionType.INPUT:
61+
case index_1.JunctionType.INPUT:
6262
this.inputPipes.add(name);
6363
break;
64-
case types_1.JunctionType.OUTPUT:
64+
case index_1.JunctionType.OUTPUT:
6565
this.outputPipes.add(name);
6666
break;
6767
default:
@@ -89,7 +89,7 @@ class Junction {
8989
* @return boolean whether an INPUT pipe is registered with that name.
9090
*/
9191
hasInputPipe(name) {
92-
return (this.hasPipe(name) && this.pipeTypesMap.get(name) === types_1.JunctionType.INPUT);
92+
return (this.hasPipe(name) && this.pipeTypesMap.get(name) === index_1.JunctionType.INPUT);
9393
}
9494
/**
9595
* Does this junction have an OUTPUT pipe by this name?
@@ -98,7 +98,7 @@ class Junction {
9898
* @return boolean whether an OUTPUT pipe is registered with that name.
9999
*/
100100
hasOutputPipe(name) {
101-
return (this.hasPipe(name) && this.pipeTypesMap.get(name) === types_1.JunctionType.OUTPUT);
101+
return (this.hasPipe(name) && this.pipeTypesMap.get(name) === index_1.JunctionType.OUTPUT);
102102
}
103103
/**
104104
* Remove the pipe with this name if it is registered.
@@ -114,10 +114,10 @@ class Junction {
114114
let type = this.pipeTypesMap.get(name);
115115
let pipesList;
116116
switch (type) {
117-
case types_1.JunctionType.INPUT:
117+
case index_1.JunctionType.INPUT:
118118
pipesList = this.inputPipes;
119119
break;
120-
case types_1.JunctionType.OUTPUT:
120+
case index_1.JunctionType.OUTPUT:
121121
pipesList = this.outputPipes;
122122
break;
123123
default:
@@ -157,7 +157,7 @@ class Junction {
157157
let success = false;
158158
if (this.hasInputPipe(inputPipeName)) {
159159
let pipe = this.pipesMap.get(inputPipeName);
160-
success = (pipe === null || pipe === void 0 ? void 0 : pipe.connect(new types_1.PipeListener(listener))) || false;
160+
success = (pipe === null || pipe === void 0 ? void 0 : pipe.connect(new index_1.PipeListener(listener))) || false;
161161
}
162162
return success;
163163
}

bin/cjs/plumbing/JunctionMediator.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.JunctionMediator = void 0;
44
const puremvc_typescript_multicore_framework_1 = require("@puremvc/puremvc-typescript-multicore-framework");
5-
const types_1 = require("../types");
5+
const index_1 = require("../index");
66
/**
77
* Junction Mediator.
88
*
@@ -25,8 +25,8 @@ class JunctionMediator extends puremvc_typescript_multicore_framework_1.Mediator
2525
*/
2626
listNotificationInterests() {
2727
return [
28-
types_1.JunctionMediatorNotification.ACCEPT_INPUT_PIPE,
29-
types_1.JunctionMediatorNotification.ACCEPT_OUTPUT_PIPE,
28+
index_1.JunctionMediatorNotification.ACCEPT_INPUT_PIPE,
29+
index_1.JunctionMediatorNotification.ACCEPT_OUTPUT_PIPE,
3030
];
3131
}
3232
/**
@@ -44,23 +44,23 @@ class JunctionMediator extends puremvc_typescript_multicore_framework_1.Mediator
4444
// accept an input pipe
4545
// register the pipe and if successful
4646
// set this mediator as its listener
47-
case types_1.JunctionMediatorNotification.ACCEPT_INPUT_PIPE:
47+
case index_1.JunctionMediatorNotification.ACCEPT_INPUT_PIPE:
4848
const inputPipeName = note.type;
4949
const inputPipe = note.body;
5050
if (this.junction.registerPipe({
5151
name: inputPipeName,
52-
type: types_1.JunctionType.INPUT,
52+
type: index_1.JunctionType.INPUT,
5353
pipe: inputPipe,
5454
}))
5555
this.junction.addPipeListener(inputPipeName, (message) => this.handlePipeMessage(message));
5656
break;
5757
// accept an output pipe
58-
case types_1.JunctionMediatorNotification.ACCEPT_OUTPUT_PIPE:
58+
case index_1.JunctionMediatorNotification.ACCEPT_OUTPUT_PIPE:
5959
const outputPipeName = note.type;
6060
const outputPipe = note.body;
6161
this.junction.registerPipe({
6262
name: outputPipeName,
63-
type: types_1.JunctionType.OUTPUT,
63+
type: index_1.JunctionType.OUTPUT,
6464
pipe: outputPipe,
6565
});
6666
break;

bin/cjs/plumbing/Queue.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.Queue = void 0;
4-
const types_1 = require("../types");
4+
const index_1 = require("../index");
55
/**
66
* Pipe Queue.
77
*
@@ -19,10 +19,10 @@ const types_1 = require("../types");
1919
* use, and so having to name them would make their operation
2020
* more complex than need be.
2121
*/
22-
class Queue extends types_1.Pipe {
22+
class Queue extends index_1.Pipe {
2323
constructor(output) {
2424
super(output);
25-
this.mode = types_1.QueueControlMessageType.SORT;
25+
this.mode = index_1.QueueControlMessageType.SORT;
2626
this.messages = new Array();
2727
}
2828
/**
@@ -46,19 +46,19 @@ class Queue extends types_1.Pipe {
4646
let success = true;
4747
switch (message.type) {
4848
// Store normal messages
49-
case types_1.PipeMessageType.NORMAL:
49+
case index_1.PipeMessageType.NORMAL:
5050
this.store(message);
5151
break;
5252
// Flush the queue
53-
case types_1.QueueControlMessageType.FLUSH:
53+
case index_1.QueueControlMessageType.FLUSH:
5454
success = this.flush();
5555
break;
5656
// Put Queue into Priority Sort or FIFO mode
5757
// Subsequent messages written to the queue
5858
// will be affected. Sorted messages cannot
5959
// be put back into FIFO order!
60-
case types_1.QueueControlMessageType.SORT:
61-
case types_1.QueueControlMessageType.FIFO:
60+
case index_1.QueueControlMessageType.SORT:
61+
case index_1.QueueControlMessageType.FIFO:
6262
this.mode = message.type;
6363
break;
6464
}
@@ -71,7 +71,7 @@ class Queue extends types_1.Pipe {
7171
*/
7272
store(message) {
7373
this.messages.push(message);
74-
if (this.mode === types_1.QueueControlMessageType.SORT)
74+
if (this.mode === index_1.QueueControlMessageType.SORT)
7575
this.messages.sort(this.sortMessagesByPriority);
7676
}
7777
/**

bin/cjs/plumbing/TeeMerge.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
exports.TeeMerge = void 0;
4-
const types_1 = require("../types");
4+
const index_1 = require("../index");
55
/**
66
* Merging Pipe Tee.
77
*
88
* Writes the messages from multiple input pipelines into
99
* a single output pipe fitting.
1010
*/
11-
class TeeMerge extends types_1.Pipe {
11+
class TeeMerge extends index_1.Pipe {
1212
/**
1313
* Constructor.
1414
*

bin/cjs/test/Filter.spec.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
const plumbing_1 = require("../plumbing/");
4-
const types_1 = require("../types");
4+
const index_1 = require("../index");
55
let messagesReceived;
66
let callBackMethod;
77
/**
@@ -63,7 +63,7 @@ describe("Filter Test", () => {
6363
var _a, _b;
6464
// create a message
6565
const message = {
66-
type: types_1.PipeMessageType.NORMAL,
66+
type: index_1.PipeMessageType.NORMAL,
6767
header: { width: 10, height: 2 },
6868
};
6969
const scale = (message, params) => {
@@ -93,7 +93,7 @@ describe("Filter Test", () => {
9393
var _a, _b;
9494
// create a message
9595
const message = {
96-
type: types_1.PipeMessageType.NORMAL,
96+
type: index_1.PipeMessageType.NORMAL,
9797
body: { width: 10, height: 2 },
9898
};
9999
const scale = (message, params) => {
@@ -123,7 +123,7 @@ describe("Filter Test", () => {
123123
var _a, _b;
124124
// create a message
125125
const message = {
126-
type: types_1.PipeMessageType.NORMAL,
126+
type: index_1.PipeMessageType.NORMAL,
127127
body: { width: 10, height: 2 },
128128
};
129129
// Create the filter control function
@@ -148,7 +148,7 @@ describe("Filter Test", () => {
148148
filter.connect(listener);
149149
// create bypass control message
150150
let bypassMessage = {
151-
type: types_1.FilterControlMessageType.BYPASS,
151+
type: index_1.FilterControlMessageType.BYPASS,
152152
name: "Scale",
153153
};
154154
// Send the bypass control message to the filter
@@ -166,7 +166,7 @@ describe("Filter Test", () => {
166166
var _a, _b;
167167
// create a message
168168
const message = {
169-
type: types_1.PipeMessageType.NORMAL,
169+
type: index_1.PipeMessageType.NORMAL,
170170
body: { width: 10, height: 2 },
171171
};
172172
// Create the filter control function
@@ -191,15 +191,15 @@ describe("Filter Test", () => {
191191
filter.connect(listener);
192192
// create bypass control message
193193
let bypassMessage = {
194-
type: types_1.FilterControlMessageType.BYPASS,
194+
type: index_1.FilterControlMessageType.BYPASS,
195195
name: "Scale",
196196
};
197197
// Send the bypass control message to the filter, putting it into bypass mode
198198
const bypassWritten = filter.write(bypassMessage);
199199
expect(bypassWritten).toBe(true);
200200
// create filter control message
201201
let filterMessage = {
202-
type: types_1.FilterControlMessageType.FILTER,
202+
type: index_1.FilterControlMessageType.FILTER,
203203
name: "Scale",
204204
};
205205
// Send the control message to the filter, putting back into filter mode

bin/cjs/types/index.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

bin/esm/plumbing/Filter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FilterControlMessageType, PipeMessageType, Pipe, } from "../types";
1+
import { FilterControlMessageType, PipeMessageType, Pipe, } from "../index";
22
/**
33
* Pipe Filter.
44
*

bin/esm/plumbing/Junction.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { PipeListener, JunctionType, } from "../types";
1+
import { PipeListener, JunctionType, } from "../index";
22
/**
33
* Pipe Junction.
44
*

bin/esm/plumbing/JunctionMediator.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Mediator, } from "@puremvc/puremvc-typescript-multicore-framework";
2-
import { JunctionMediatorNotification, JunctionType, } from "../types";
2+
import { JunctionMediatorNotification, JunctionType, } from "../index";
33
/**
44
* Junction Mediator.
55
*

0 commit comments

Comments
 (0)