1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 | Object.defineProperty(exports, "__esModule", { value: true });
|
19 | exports.FilterStackFactory = exports.FilterStack = void 0;
|
20 | class FilterStack {
|
21 | constructor(filters) {
|
22 | this.filters = filters;
|
23 | }
|
24 | sendMetadata(metadata) {
|
25 | let result = metadata;
|
26 | for (let i = 0; i < this.filters.length; i++) {
|
27 | result = this.filters[i].sendMetadata(result);
|
28 | }
|
29 | return result;
|
30 | }
|
31 | receiveMetadata(metadata) {
|
32 | let result = metadata;
|
33 | for (let i = this.filters.length - 1; i >= 0; i--) {
|
34 | result = this.filters[i].receiveMetadata(result);
|
35 | }
|
36 | return result;
|
37 | }
|
38 | sendMessage(message) {
|
39 | let result = message;
|
40 | for (let i = 0; i < this.filters.length; i++) {
|
41 | result = this.filters[i].sendMessage(result);
|
42 | }
|
43 | return result;
|
44 | }
|
45 | receiveMessage(message) {
|
46 | let result = message;
|
47 | for (let i = this.filters.length - 1; i >= 0; i--) {
|
48 | result = this.filters[i].receiveMessage(result);
|
49 | }
|
50 | return result;
|
51 | }
|
52 | receiveTrailers(status) {
|
53 | let result = status;
|
54 | for (let i = this.filters.length - 1; i >= 0; i--) {
|
55 | result = this.filters[i].receiveTrailers(result);
|
56 | }
|
57 | return result;
|
58 | }
|
59 | push(filters) {
|
60 | this.filters.unshift(...filters);
|
61 | }
|
62 | getFilters() {
|
63 | return this.filters;
|
64 | }
|
65 | }
|
66 | exports.FilterStack = FilterStack;
|
67 | class FilterStackFactory {
|
68 | constructor(factories) {
|
69 | this.factories = factories;
|
70 | }
|
71 | push(filterFactories) {
|
72 | this.factories.unshift(...filterFactories);
|
73 | }
|
74 | clone() {
|
75 | return new FilterStackFactory([...this.factories]);
|
76 | }
|
77 | createFilter() {
|
78 | return new FilterStack(this.factories.map((factory) => factory.createFilter()));
|
79 | }
|
80 | }
|
81 | exports.FilterStackFactory = FilterStackFactory;
|
82 |
|
\ | No newline at end of file |