• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

aarong / feedme-client / 8991000982

07 May 2024 07:12PM UTC coverage: 0.0% (-99.0%) from 99.04%
8991000982

push

github

aarong
Remove legacy source code and tests; drop in new draft code

0 of 582 branches covered (0.0%)

Branch coverage included in aggregate %.

0 of 1154 new or added lines in 13 files covered. (0.0%)

0 of 1154 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/clientfeed.js
1
import check from "check-types";
2
import debug from "debug";
3
import { EventEmitter } from "events";
4
import { ArgumentError } from "./errors";
5
import promiseCallback from "./promisecallback";
6

NEW
7
const dbg = debug("feedme-client:clientfeed");
×
8

9
// FeedmeClientFeed
10

11
/**
12
 * App-facing feed object API.
13
 * @constructor
14
 * @extends EventEmitter
15
 * @param {FeedmeClient} client
16
 * @param {FeedNameArgs} feedNameArgs
17
 * @param {string} feedObjectId
18
 */
NEW
19
const FeedmeClientFeed = function FeedmeClientFeed(
×
20
  client,
21
  feedNameArgs,
22
  feedObjectId,
23
) {
NEW
24
  dbg("Initializing feed object");
×
25

NEW
26
  EventEmitter.call(this);
×
27

28
  /**
29
   * @memberof FeedmeClientFeed
30
   * @instance
31
   * @type {FeedmeClient}
32
   */
NEW
33
  this._client = client;
×
34

35
  /**
36
   * Kept internally so that calls to feed.name() and feed.args() can be
37
   * serviced after the feed object is closed.
38
   * @memberof FeedmeClientFeed
39
   * @instance
40
   * @type {FeedNameArgs}
41
   */
NEW
42
  this._feedNameArgs = feedNameArgs;
×
43

44
  /**
45
   * @memberof FeedmeClientFeed
46
   * @instance
47
   * @type {string}
48
   */
NEW
49
  this._feedObjectId = feedObjectId;
×
50
};
51

NEW
52
FeedmeClientFeed.prototype = Object.create(EventEmitter.prototype);
×
NEW
53
FeedmeClientFeed.prototype.constructor = FeedmeClientFeed;
×
54

55
/**
56
 * @event action
57
 * @memberof FeedmeClientFeed
58
 * @param {string} actionName
59
 * @param {Object} actionData
60
 * @param {Object} newFeedData
61
 * @param {Object} oldFeedData
62
 */
63

64
/**
65
 * @event action:name
66
 * @memberof FeedmeClientFeed
67
 * @param {Object} actionData
68
 * @param {Object} newFeedData
69
 * @param {Object} oldFeedData
70
 */
71

72
/**
73
 * @event close
74
 * @memberof FeedmeClientFeed
75
 * @param {?(TerminationError|ConnectionError)} err
76
 */
77

78
// Public Methods
79

80
/**
81
 * @memberof FeedmeClientFeed
82
 * @instance
83
 * @param {?Function} callback
84
 * @throws {ArgumentError|StateError}
85
 */
NEW
86
FeedmeClientFeed.prototype.close = function close(callback) {
×
87
  // Check callback
NEW
88
  if (callback && !check.function(callback)) {
×
NEW
89
    throw new ArgumentError("Callback must be a function.");
×
90
  }
91

92
  // Callback-style or promise-style usage?
NEW
93
  const { promise, innerCallback } = promiseCallback(callback);
×
94

NEW
95
  this._client._coordinato.feedObjectClose(this._feedObjectId, innerCallback); // Intentionally cascade StateError
×
96

NEW
97
  return promise; // Promise or undefined
×
98
};
99

100
// Public properties
101

102
/**
103
 * @name client
104
 * @type {FeedmeClient}
105
 * @memberof FeedmeClientFeed
106
 * @instance
107
 */
NEW
108
Object.defineProperty(FeedmeClientFeed.prototype, "client", {
×
109
  enumerable: true,
110
  get() {
NEW
111
    return this._client;
×
112
  },
113
});
114

115
/**
116
 * @name name
117
 * @type {string}
118
 * @memberof FeedmeClientFeed
119
 * @instance
120
 */
NEW
121
Object.defineProperty(FeedmeClientFeed.prototype, "name", {
×
122
  enumerable: true,
123
  get() {
NEW
124
    return this._feedNameArgs.name();
×
125
  },
126
});
127

128
/**
129
 * @name args
130
 * @type {Object}
131
 * @memberof FeedmeClientFeed
132
 * @instance
133
 */
NEW
134
Object.defineProperty(FeedmeClientFeed.prototype, "args", {
×
135
  enumerable: true,
136
  get() {
NEW
137
    return this._feedNameArgs.args();
×
138
  },
139
});
140

141
/**
142
 * @name state
143
 * @type {FeedState} OPEN or CLOSED
144
 * @memberof FeedmeClientFeed
145
 * @instance
146
 */
NEW
147
Object.defineProperty(FeedmeClientFeed.prototype, "state", {
×
148
  enumerable: true,
149
  get() {
NEW
150
    return this._client._coordinator.feedObjectState(this._feedObjectId); // OPEN or CLOSED, no errors
×
151
  },
152
});
153

154
/**
155
 * @name data
156
 * @type {?Object}
157
 * @memberof FeedmeClientFeed
158
 * @instance
159
 */
NEW
160
Object.defineProperty(FeedmeClientFeed.prototype, "data", {
×
161
  enumerable: true,
162
  get() {
NEW
163
    return this._client._coordinator.feedObjectData(this._feedObjectId); // May be null, already frozen if not
×
164
  },
165
});
166

167
// Exports
168

169
export default FeedmeClientFeed;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc