@elliemae/microfe-common 2.0.0-next.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/cjs/app.config.json +17 -0
  2. package/dist/cjs/common.js +16 -0
  3. package/dist/cjs/event.js +67 -0
  4. package/dist/cjs/eventManager.js +201 -0
  5. package/dist/cjs/guest.js +16 -0
  6. package/dist/cjs/index.html +12 -0
  7. package/dist/cjs/index.js +35 -0
  8. package/dist/cjs/messageType.js +37 -0
  9. package/dist/cjs/package.json +4 -0
  10. package/dist/cjs/remoting.js +386 -0
  11. package/dist/cjs/remotingEventMessage.js +16 -0
  12. package/dist/cjs/scriptingObject.js +119 -0
  13. package/dist/cjs/tests/scriptingObjects/appraisalServiceModule.js +101 -0
  14. package/dist/cjs/tests/scriptingObjects/constant.js +26 -0
  15. package/dist/cjs/tests/scriptingObjects/global.js +61 -0
  16. package/dist/esm/app.config.json +17 -0
  17. package/dist/esm/common.js +0 -0
  18. package/dist/esm/event.js +47 -0
  19. package/dist/esm/eventManager.js +182 -0
  20. package/dist/esm/guest.js +0 -0
  21. package/dist/esm/index.html +12 -0
  22. package/dist/esm/index.js +15 -0
  23. package/dist/esm/messageType.js +17 -0
  24. package/dist/esm/package.json +4 -0
  25. package/dist/esm/remoting.js +367 -0
  26. package/dist/esm/remotingEventMessage.js +0 -0
  27. package/dist/esm/scriptingObject.js +100 -0
  28. package/dist/esm/tests/scriptingObjects/appraisalServiceModule.js +82 -0
  29. package/dist/esm/tests/scriptingObjects/constant.js +6 -0
  30. package/dist/esm/tests/scriptingObjects/global.js +42 -0
  31. package/dist/types/common.d.ts +35 -0
  32. package/dist/types/event.d.ts +82 -0
  33. package/dist/types/eventManager.d.ts +125 -0
  34. package/dist/types/guest.d.ts +90 -0
  35. package/dist/types/index.d.ts +12 -0
  36. package/dist/types/messageType.d.ts +13 -0
  37. package/dist/types/remoting.d.ts +237 -0
  38. package/dist/types/remotingEventMessage.d.ts +26 -0
  39. package/dist/types/scriptingObject.d.ts +37 -0
  40. package/dist/types/tests/eventManager.test.d.ts +1 -0
  41. package/dist/types/tests/scriptingObjects/appraisalServiceModule.d.ts +33 -0
  42. package/dist/types/tests/scriptingObjects/constant.d.ts +2 -0
  43. package/dist/types/tests/scriptingObjects/global.d.ts +10 -0
  44. package/package.json +62 -0
@@ -0,0 +1,367 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ var __accessCheck = (obj, member, msg) => {
8
+ if (!member.has(obj))
9
+ throw TypeError("Cannot " + msg);
10
+ };
11
+ var __privateGet = (obj, member, getter) => {
12
+ __accessCheck(obj, member, "read from private field");
13
+ return getter ? getter.call(obj) : member.get(obj);
14
+ };
15
+ var __privateAdd = (obj, member, value) => {
16
+ if (member.has(obj))
17
+ throw TypeError("Cannot add the same private member more than once");
18
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
19
+ };
20
+ var __privateSet = (obj, member, value, setter) => {
21
+ __accessCheck(obj, member, "write to private field");
22
+ setter ? setter.call(obj, value) : member.set(obj, value);
23
+ return value;
24
+ };
25
+ var _correlationId, _logger, _listeners, _invocations, _timeoutMonitorHandle, _allowedSenders, _evaluateTimeouts, _startResponseMonitor, _stopResponseMonitor, _popInvocation, _processResponse, _processException, _receive, _processMessage;
26
+ import { v4 as uuidv4 } from "uuid";
27
+ const MESSAGE_SOURCE = "elli:remoting";
28
+ const RESPONSE_MESSAGE_TYPE = "elli:remoting:response";
29
+ const EXCEPTION_MESSAGE_TYPE = "elli:remoting:exception";
30
+ const createMessage = ({
31
+ messageType,
32
+ messageBody,
33
+ onewayMsg = false
34
+ }) => ({
35
+ requestId: !onewayMsg ? uuidv4() : null,
36
+ source: MESSAGE_SOURCE,
37
+ type: messageType,
38
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
39
+ body: messageBody
40
+ });
41
+ const sendMessage = (param) => {
42
+ const { targetWin, targetOrigin, messageType, messageBody } = param;
43
+ const msg = createMessage({ messageType, messageBody });
44
+ targetWin.postMessage(msg, targetOrigin);
45
+ };
46
+ class Remoting {
47
+ /**
48
+ * Create a new instance of the Remoting class
49
+ *
50
+ * @param logger pui-diagnostic logger
51
+ * @param correlationId unique id for the current session
52
+ */
53
+ constructor(logger, correlationId) {
54
+ __privateAdd(this, _correlationId, void 0);
55
+ __privateAdd(this, _logger, void 0);
56
+ /**
57
+ * set of listeners that are registered
58
+ */
59
+ __privateAdd(this, _listeners, /* @__PURE__ */ new Map());
60
+ /**
61
+ * Represents the set of invocations that are waiting for a response
62
+ */
63
+ __privateAdd(this, _invocations, /* @__PURE__ */ new Map());
64
+ /**
65
+ * The handle to the timeout monitor
66
+ */
67
+ __privateAdd(this, _timeoutMonitorHandle, null);
68
+ /**
69
+ * The set of windows that are allowed to send messages to this window
70
+ */
71
+ __privateAdd(this, _allowedSenders, /* @__PURE__ */ new Map());
72
+ // Evaluates the timeouts on any waiting invocations
73
+ __privateAdd(this, _evaluateTimeouts, () => {
74
+ const ts = Date.now();
75
+ const canceledItems = [];
76
+ __privateGet(this, _invocations).forEach((eventData, key) => {
77
+ const { requestId, cancelTime } = eventData;
78
+ __privateGet(this, _logger).debug(
79
+ `Checking response timeout for requestId: ${requestId}) @ ${cancelTime ?? ""}`
80
+ );
81
+ if (eventData.cancelTime && eventData.cancelTime < ts) {
82
+ __privateGet(this, _logger).debug(
83
+ `Detected response timeout for requestId: ${requestId}...`
84
+ );
85
+ canceledItems.push(key);
86
+ eventData.resolve();
87
+ __privateGet(this, _logger).debug(
88
+ `Aborted waiting for response to requestid: ${requestId})`
89
+ );
90
+ }
91
+ });
92
+ canceledItems.forEach((key) => {
93
+ __privateGet(this, _logger).debug(
94
+ `removing invocations with requestId ${key} from cache since response time has expired`
95
+ );
96
+ __privateGet(this, _invocations).delete(key);
97
+ });
98
+ if (__privateGet(this, _invocations).size === 0) {
99
+ __privateGet(this, _logger).debug(`stopping response monitor`);
100
+ __privateGet(this, _stopResponseMonitor).call(this);
101
+ }
102
+ });
103
+ // Set a timer interval to catch any invocations that didn't respond in a timely manner
104
+ __privateAdd(this, _startResponseMonitor, () => {
105
+ if (__privateGet(this, _timeoutMonitorHandle) === null) {
106
+ __privateGet(this, _logger).debug("Staring response timeout evaluator");
107
+ __privateSet(this, _timeoutMonitorHandle, window.setInterval(
108
+ __privateGet(this, _evaluateTimeouts),
109
+ 200
110
+ ));
111
+ }
112
+ });
113
+ // Stops the timeout monitor interval
114
+ __privateAdd(this, _stopResponseMonitor, () => {
115
+ if (__privateGet(this, _timeoutMonitorHandle) !== null) {
116
+ window.clearInterval(__privateGet(this, _timeoutMonitorHandle));
117
+ __privateSet(this, _timeoutMonitorHandle, null);
118
+ __privateGet(this, _logger).debug("Stopped response timeout evaluator");
119
+ }
120
+ });
121
+ // Pops an invocation from the incovation list
122
+ __privateAdd(this, _popInvocation, (requestId) => {
123
+ const e = __privateGet(this, _invocations).get(requestId);
124
+ __privateGet(this, _logger).debug(`serving requestId: ${requestId}`);
125
+ __privateGet(this, _invocations).delete(requestId);
126
+ return e;
127
+ });
128
+ // Handles a response to a prior cross-frame invocation
129
+ __privateAdd(this, _processResponse, (message) => {
130
+ const { requestId } = message;
131
+ __privateGet(this, _logger).debug(
132
+ `Response received for invocation requestId: ${requestId}`
133
+ );
134
+ const eventData = __privateGet(this, _popInvocation).call(this, requestId);
135
+ if (!eventData) {
136
+ __privateGet(this, _logger).warn(
137
+ `Received response to stale/invalid request with requestId: ${requestId}`
138
+ );
139
+ return false;
140
+ }
141
+ eventData.resolve(message.body);
142
+ return true;
143
+ });
144
+ // Handles a response to a prior cross-frame invocation
145
+ __privateAdd(this, _processException, (message) => {
146
+ __privateGet(this, _logger).debug(
147
+ `Exception received for invocation (requestId = ${message.requestId})`
148
+ );
149
+ const eventData = __privateGet(this, _popInvocation).call(this, message.requestId);
150
+ if (!eventData) {
151
+ __privateGet(this, _logger).warn(
152
+ `Received exception for stale/invalid request (requestId = ${message.requestId})`
153
+ );
154
+ return false;
155
+ }
156
+ eventData.reject(new Error(message.body));
157
+ return true;
158
+ });
159
+ // Receives a message from another window and invokes any event handlers
160
+ __privateAdd(this, _receive, ({
161
+ sourceWin,
162
+ sourceOrigin,
163
+ message
164
+ }) => {
165
+ __privateGet(this, _logger).debug(`Received message of type "${message.type}"`);
166
+ const callbacks = __privateGet(this, _listeners).get(message.type);
167
+ if (!callbacks)
168
+ return false;
169
+ callbacks.forEach((callback) => {
170
+ __privateGet(this, _logger).debug(`Invoking message handler ${callback.name}`);
171
+ callback({
172
+ sourceWin,
173
+ sourceOrigin,
174
+ requestId: message.requestId,
175
+ type: message.type,
176
+ body: message.body
177
+ });
178
+ });
179
+ return true;
180
+ });
181
+ // Processes a message received thru the window's message event
182
+ __privateAdd(this, _processMessage, (message) => {
183
+ __privateGet(this, _logger).debug(
184
+ `Remoting: Received message ${JSON.stringify(message.data)}`
185
+ );
186
+ if (__privateGet(this, _allowedSenders).size === 0)
187
+ return false;
188
+ if (!message.source)
189
+ return false;
190
+ const senderOrigin = __privateGet(this, _allowedSenders).get(message.source);
191
+ if (!senderOrigin)
192
+ return false;
193
+ if (message?.data?.source !== MESSAGE_SOURCE)
194
+ return false;
195
+ if (message.data.type === RESPONSE_MESSAGE_TYPE)
196
+ __privateGet(this, _processResponse).call(this, message.data);
197
+ else if (message.data.type === EXCEPTION_MESSAGE_TYPE)
198
+ __privateGet(this, _processException).call(this, message.data);
199
+ else
200
+ __privateGet(this, _receive).call(this, {
201
+ sourceWin: message.source,
202
+ sourceOrigin: senderOrigin,
203
+ message: message.data
204
+ });
205
+ return true;
206
+ });
207
+ /**
208
+ * Adds window and its origin list of allowed senders
209
+ *
210
+ * @param {AddSenderParam} param - The sender to add
211
+ */
212
+ __publicField(this, "addSender", (param) => {
213
+ const { origin, window: window2 } = param;
214
+ if (!origin)
215
+ throw new Error("origin is required");
216
+ if (!window2)
217
+ throw new Error("window is required");
218
+ __privateGet(this, _allowedSenders).set(window2, origin);
219
+ });
220
+ /**
221
+ * Initializes the remoting service for a window
222
+ *
223
+ * @param win The window to initialize remoting for
224
+ */
225
+ __publicField(this, "initialize", (win) => {
226
+ win.removeEventListener("message", __privateGet(this, _processMessage));
227
+ win.addEventListener("message", __privateGet(this, _processMessage));
228
+ __privateGet(this, _logger).debug(`initialized remoting id: ${__privateGet(this, _correlationId)}`);
229
+ });
230
+ /**
231
+ * Closes the remoting service for a window
232
+ */
233
+ __publicField(this, "close", () => {
234
+ window.removeEventListener("message", __privateGet(this, _processMessage));
235
+ __privateGet(this, _logger).debug(`closed remoting id: ${__privateGet(this, _correlationId)}`);
236
+ });
237
+ /**
238
+ * Sends an invocation which generates a Promise to be used to get a response
239
+ *
240
+ * @param {InvokeParam} param The parameters for the invocation
241
+ * @returns promisifyed response
242
+ */
243
+ __publicField(this, "invoke", (param) => {
244
+ const {
245
+ targetWin,
246
+ targetOrigin,
247
+ messageType,
248
+ messageBody,
249
+ responseTimeoutMs
250
+ } = param;
251
+ return new Promise((resolve, reject) => {
252
+ const msg = createMessage({ messageType, messageBody });
253
+ __privateGet(this, _invocations).set(msg.requestId, {
254
+ requestId: msg.requestId,
255
+ resolve,
256
+ reject,
257
+ cancelTime: responseTimeoutMs ? Date.now() + Number.parseInt(responseTimeoutMs, 10) : null
258
+ });
259
+ targetWin.postMessage(msg, targetOrigin);
260
+ const { requestId } = msg;
261
+ __privateGet(this, _logger).debug(
262
+ `Posted invocation message of type ${messageType} requestId: ${requestId || ""}`
263
+ );
264
+ if (responseTimeoutMs) {
265
+ __privateGet(this, _logger).debug(
266
+ `starting response monitor for requestId: ${requestId || ""} for ${responseTimeoutMs} ms`
267
+ );
268
+ __privateGet(this, _startResponseMonitor).call(this);
269
+ }
270
+ });
271
+ });
272
+ /**
273
+ * Setup callback for a specific message type
274
+ *
275
+ * @param {ListenParam<T>} param The parameters for the listener
276
+ */
277
+ __publicField(this, "listen", (param) => {
278
+ const { messageType, callback } = param;
279
+ const items = __privateGet(this, _listeners).get(messageType) || [];
280
+ items.push(callback);
281
+ __privateGet(this, _listeners).set(messageType, items);
282
+ });
283
+ /**
284
+ * Send a message without any form of response. Fire and forget
285
+ *
286
+ * @param {SendParam} param The parameters for the send
287
+ */
288
+ __publicField(this, "send", (param) => {
289
+ const { targetWin, targetOrigin, messageType, messageBody } = param;
290
+ const msg = createMessage({
291
+ messageType,
292
+ messageBody,
293
+ onewayMsg: true
294
+ });
295
+ targetWin.postMessage(msg, targetOrigin);
296
+ __privateGet(this, _logger).debug(`Posted one-way message of type "${messageType}"`);
297
+ });
298
+ /**
299
+ * Removes a window from the list of allowed senders
300
+ *
301
+ * @param {AddSenderParam} param - The sender to remove
302
+ */
303
+ __publicField(this, "removeSender", (param) => {
304
+ const { window: window2 } = param;
305
+ if (window2)
306
+ __privateGet(this, _allowedSenders).delete(window2);
307
+ });
308
+ /**
309
+ * Send a response message to a window
310
+ *
311
+ * @param {RespondParam} param The parameters for the response
312
+ */
313
+ __publicField(this, "respond", (param) => {
314
+ const { targetWin, targetOrigin, requestId, response } = param;
315
+ const msg = createMessage({
316
+ messageType: RESPONSE_MESSAGE_TYPE,
317
+ messageBody: response
318
+ });
319
+ msg.requestId = requestId;
320
+ targetWin.postMessage(msg, targetOrigin);
321
+ __privateGet(this, _logger).debug(
322
+ `Response sent to caller for invocation requestId: ${requestId}`
323
+ );
324
+ });
325
+ /**
326
+ * Send an exception message to a window
327
+ *
328
+ * @param {RaiseExceptionParam} param The parameters for the exception
329
+ */
330
+ __publicField(this, "raiseException", (param) => {
331
+ const { targetWin, targetOrigin, requestId, ex } = param;
332
+ const msg = createMessage({
333
+ messageType: EXCEPTION_MESSAGE_TYPE,
334
+ messageBody: ex
335
+ });
336
+ msg.requestId = requestId;
337
+ targetWin.postMessage(msg, targetOrigin);
338
+ __privateGet(this, _logger).debug(
339
+ `Exception sent to caller for invocation. requestId: ${requestId}`
340
+ );
341
+ });
342
+ if (!logger)
343
+ throw new Error("logger is required");
344
+ if (!correlationId)
345
+ throw new Error("correlationId is required");
346
+ __privateSet(this, _correlationId, correlationId);
347
+ __privateSet(this, _logger, logger);
348
+ }
349
+ }
350
+ _correlationId = new WeakMap();
351
+ _logger = new WeakMap();
352
+ _listeners = new WeakMap();
353
+ _invocations = new WeakMap();
354
+ _timeoutMonitorHandle = new WeakMap();
355
+ _allowedSenders = new WeakMap();
356
+ _evaluateTimeouts = new WeakMap();
357
+ _startResponseMonitor = new WeakMap();
358
+ _stopResponseMonitor = new WeakMap();
359
+ _popInvocation = new WeakMap();
360
+ _processResponse = new WeakMap();
361
+ _processException = new WeakMap();
362
+ _receive = new WeakMap();
363
+ _processMessage = new WeakMap();
364
+ export {
365
+ Remoting,
366
+ sendMessage
367
+ };
File without changes
@@ -0,0 +1,100 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ var __accessCheck = (obj, member, msg) => {
8
+ if (!member.has(obj))
9
+ throw TypeError("Cannot " + msg);
10
+ };
11
+ var __privateGet = (obj, member, getter) => {
12
+ __accessCheck(obj, member, "read from private field");
13
+ return getter ? getter.call(obj) : member.get(obj);
14
+ };
15
+ var __privateAdd = (obj, member, value) => {
16
+ if (member.has(obj))
17
+ throw TypeError("Cannot add the same private member more than once");
18
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
19
+ };
20
+ var __privateSet = (obj, member, value, setter) => {
21
+ __accessCheck(obj, member, "write to private field");
22
+ setter ? setter.call(obj, value) : member.set(obj, value);
23
+ return value;
24
+ };
25
+ var _id, _objectType;
26
+ import { isEvent } from "./event.js";
27
+ const FUNCTION = "function";
28
+ const isPublicFunction = (value, fnName) => typeof value === FUNCTION && !!fnName && !fnName.startsWith("_");
29
+ class ScriptingObject {
30
+ /**
31
+ * Creates an instance of ScriptingObject.
32
+ *
33
+ * @param objectId unique id of the scripting object
34
+ * @param objectType type of the scripting object
35
+ */
36
+ constructor(objectId, objectType) {
37
+ /**
38
+ * unique id of the scripting object
39
+ */
40
+ __privateAdd(this, _id, void 0);
41
+ /**
42
+ * type of the scripting object
43
+ */
44
+ __privateAdd(this, _objectType, "Object");
45
+ /**
46
+ * transform the scripting object to a format suitable for transmitting over window.postMessage
47
+ *
48
+ * @returns marshalled scripting object
49
+ */
50
+ // eslint-disable-next-line no-underscore-dangle
51
+ __publicField(this, "_toJSON", () => {
52
+ const functions = [];
53
+ const events = [];
54
+ Object.keys(this).forEach((property) => {
55
+ const value = this[property];
56
+ if (isEvent(value)) {
57
+ events.push(property);
58
+ } else if (isPublicFunction(value, property)) {
59
+ functions.push(property);
60
+ }
61
+ });
62
+ return {
63
+ objectId: __privateGet(this, _id),
64
+ objectType: __privateGet(this, _objectType),
65
+ functions,
66
+ events
67
+ };
68
+ });
69
+ /**
70
+ * dispose the scripting object
71
+ */
72
+ // eslint-disable-next-line no-underscore-dangle
73
+ __publicField(this, "_dispose", () => {
74
+ });
75
+ /**
76
+ * dispose the scripting object
77
+ */
78
+ __publicField(this, "dispose", () => {
79
+ });
80
+ __privateSet(this, _id, objectId);
81
+ __privateSet(this, _objectType, objectType || __privateGet(this, _objectType));
82
+ }
83
+ /**
84
+ * get unique id of the scripting object
85
+ */
86
+ get id() {
87
+ return __privateGet(this, _id);
88
+ }
89
+ /**
90
+ * get type of the scripting object
91
+ */
92
+ get objectType() {
93
+ return __privateGet(this, _objectType);
94
+ }
95
+ }
96
+ _id = new WeakMap();
97
+ _objectType = new WeakMap();
98
+ export {
99
+ ScriptingObject
100
+ };
@@ -0,0 +1,82 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ var __accessCheck = (obj, member, msg) => {
8
+ if (!member.has(obj))
9
+ throw TypeError("Cannot " + msg);
10
+ };
11
+ var __privateGet = (obj, member, getter) => {
12
+ __accessCheck(obj, member, "read from private field");
13
+ return getter ? getter.call(obj) : member.get(obj);
14
+ };
15
+ var __privateAdd = (obj, member, value) => {
16
+ if (member.has(obj))
17
+ throw TypeError("Cannot add the same private member more than once");
18
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
19
+ };
20
+ var __privateSet = (obj, member, value, setter) => {
21
+ __accessCheck(obj, member, "write to private field");
22
+ setter ? setter.call(obj, value) : member.set(obj, value);
23
+ return value;
24
+ };
25
+ var _loanId, _creditScore;
26
+ import { ScriptingObject, Event } from "../../index.js";
27
+ import { OBJECT_NAME } from "./constant.js";
28
+ class AppraisalService extends ScriptingObject {
29
+ constructor({
30
+ loanId,
31
+ creditScore
32
+ }) {
33
+ super(OBJECT_NAME);
34
+ __privateAdd(this, _loanId, void 0);
35
+ __privateAdd(this, _creditScore, void 0);
36
+ __publicField(this, "Unloading", new Event({
37
+ name: "Unloading",
38
+ requiresFeedback: false,
39
+ so: this
40
+ }));
41
+ __publicField(this, "onPreCommit", new Event({
42
+ name: "onPreCommit",
43
+ requiresFeedback: true,
44
+ so: this
45
+ }));
46
+ __publicField(this, "onSaved", new Event({
47
+ name: "onSaved",
48
+ requiresFeedback: false,
49
+ so: this
50
+ }));
51
+ __publicField(this, "getCapabilities", () => Promise.resolve({
52
+ isAdmin: true,
53
+ los: "Encompass"
54
+ }));
55
+ __publicField(this, "getParameters", () => Promise.resolve({
56
+ loanId: __privateGet(this, _loanId),
57
+ creditScore: __privateGet(this, _creditScore)
58
+ }));
59
+ __publicField(this, "setCreditScore", (creditScore) => {
60
+ __privateSet(this, _creditScore, creditScore);
61
+ return Promise.resolve();
62
+ });
63
+ __publicField(this, "saveLoan", () => Promise.resolve());
64
+ __publicField(this, "commit", () => new Promise((resolve) => {
65
+ setTimeout(() => {
66
+ resolve({ loanId: __privateGet(this, _loanId) });
67
+ }, 1e3);
68
+ }));
69
+ __publicField(this, "delete", () => {
70
+ throw new Error("Not implemented");
71
+ });
72
+ __publicField(this, "unload", async () => {
73
+ });
74
+ __privateSet(this, _loanId, loanId);
75
+ __privateSet(this, _creditScore, creditScore);
76
+ }
77
+ }
78
+ _loanId = new WeakMap();
79
+ _creditScore = new WeakMap();
80
+ export {
81
+ AppraisalService
82
+ };
@@ -0,0 +1,6 @@
1
+ const OBJECT_NAME = "AppraisalService";
2
+ const UNLOADING_EVENT_NAME = "Unloading";
3
+ export {
4
+ OBJECT_NAME,
5
+ UNLOADING_EVENT_NAME
6
+ };
@@ -0,0 +1,42 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ var __accessCheck = (obj, member, msg) => {
8
+ if (!member.has(obj))
9
+ throw TypeError("Cannot " + msg);
10
+ };
11
+ var __privateGet = (obj, member, getter) => {
12
+ __accessCheck(obj, member, "read from private field");
13
+ return getter ? getter.call(obj) : member.get(obj);
14
+ };
15
+ var __privateAdd = (obj, member, value) => {
16
+ if (member.has(obj))
17
+ throw TypeError("Cannot add the same private member more than once");
18
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
19
+ };
20
+ var _data;
21
+ import { Event } from "../../event.js";
22
+ import { ScriptingObject } from "../../index.js";
23
+ class Global extends ScriptingObject {
24
+ constructor() {
25
+ super("Global");
26
+ __privateAdd(this, _data, /* @__PURE__ */ new Map());
27
+ __publicField(this, "Change", new Event({
28
+ name: "Change",
29
+ requiresFeedback: false,
30
+ so: this
31
+ }));
32
+ __publicField(this, "set", (key, value) => {
33
+ __privateGet(this, _data).set(key, value);
34
+ return Promise.resolve();
35
+ });
36
+ __publicField(this, "get", (key) => Promise.resolve(__privateGet(this, _data).get(key)));
37
+ }
38
+ }
39
+ _data = new WeakMap();
40
+ export {
41
+ Global
42
+ };
@@ -0,0 +1,35 @@
1
+ import { RemotingScriptingObject, Listener } from '@elliemae/pui-scripting-object';
2
+ /**
3
+ * Interface for scripting object proxy
4
+ */
5
+ export interface IScriptingObjectProxy {
6
+ /**
7
+ * unique id of the scripting object
8
+ */
9
+ readonly id: string;
10
+ /**
11
+ * type of the scripting object
12
+ */
13
+ readonly objectType: string;
14
+ /**
15
+ * dipose the scripting object proxy
16
+ */
17
+ dispose?(): any;
18
+ }
19
+ /**
20
+ * Interface for scripting object
21
+ */
22
+ export interface IScriptingObject extends IScriptingObjectProxy {
23
+ /**
24
+ * convert the scripting object properties to a format suitable for transferring over window.postMessage
25
+ */
26
+ _toJSON(): RemotingScriptingObject;
27
+ /**
28
+ * dispose the scripting object proxy
29
+ */
30
+ _dispose(): void;
31
+ }
32
+ /**
33
+ * list of event listeners
34
+ */
35
+ export type EventListeners = Record<string, Listener<any, any, any, any>>;