@elliemae/ssf-host 2.0.0-next.29

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 (103) hide show
  1. package/dist/cjs/app.config.json +20 -0
  2. package/dist/cjs/guest.js +196 -0
  3. package/dist/cjs/host.js +930 -0
  4. package/dist/cjs/ihost.js +16 -0
  5. package/dist/cjs/index.html +183 -0
  6. package/dist/cjs/index.js +33 -0
  7. package/dist/cjs/package.json +4 -0
  8. package/dist/cjs/tests/guest.html +14 -0
  9. package/dist/cjs/tests/logger.js +31 -0
  10. package/dist/cjs/tests/scriptingObjects/appEvents.js +16 -0
  11. package/dist/cjs/tests/scriptingObjects/appObjects.js +16 -0
  12. package/dist/cjs/tests/scriptingObjects/appraisalServiceModule.js +127 -0
  13. package/dist/cjs/tests/scriptingObjects/constant.js +38 -0
  14. package/dist/cjs/tests/scriptingObjects/floodServiceModule.js +49 -0
  15. package/dist/cjs/tests/server.js +29 -0
  16. package/dist/cjs/tests/serverHandlers.js +50 -0
  17. package/dist/cjs/tests/utils.js +76 -0
  18. package/dist/cjs/types.js +46 -0
  19. package/dist/cjs/utils.js +57 -0
  20. package/dist/esm/app.config.json +20 -0
  21. package/dist/esm/guest.js +177 -0
  22. package/dist/esm/host.js +919 -0
  23. package/dist/esm/ihost.js +0 -0
  24. package/dist/esm/index.html +183 -0
  25. package/dist/esm/index.js +13 -0
  26. package/dist/esm/package.json +4 -0
  27. package/dist/esm/tests/guest.html +14 -0
  28. package/dist/esm/tests/logger.js +15 -0
  29. package/dist/esm/tests/scriptingObjects/appEvents.js +0 -0
  30. package/dist/esm/tests/scriptingObjects/appObjects.js +0 -0
  31. package/dist/esm/tests/scriptingObjects/appraisalServiceModule.js +112 -0
  32. package/dist/esm/tests/scriptingObjects/constant.js +18 -0
  33. package/dist/esm/tests/scriptingObjects/floodServiceModule.js +29 -0
  34. package/dist/esm/tests/server.js +9 -0
  35. package/dist/esm/tests/serverHandlers.js +20 -0
  36. package/dist/esm/tests/utils.js +56 -0
  37. package/dist/esm/types.js +26 -0
  38. package/dist/esm/utils.js +37 -0
  39. package/dist/public/app.config.json +20 -0
  40. package/dist/public/autoFill.js +3 -0
  41. package/dist/public/autoFill.js.br +0 -0
  42. package/dist/public/autoFill.js.gz +0 -0
  43. package/dist/public/autoFill.js.map +1 -0
  44. package/dist/public/index.html +1 -0
  45. package/dist/public/init.js +3 -0
  46. package/dist/public/init.js.br +0 -0
  47. package/dist/public/init.js.gz +0 -0
  48. package/dist/public/init.js.map +1 -0
  49. package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js +3 -0
  50. package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js.br +0 -0
  51. package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js.gz +0 -0
  52. package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js.map +1 -0
  53. package/dist/public/loan-object.js +3 -0
  54. package/dist/public/loan-object.js.br +1 -0
  55. package/dist/public/loan-object.js.gz +0 -0
  56. package/dist/public/loan-object.js.map +1 -0
  57. package/dist/public/utils.js +3 -0
  58. package/dist/public/utils.js.br +0 -0
  59. package/dist/public/utils.js.gz +0 -0
  60. package/dist/public/utils.js.map +1 -0
  61. package/dist/types/guest.d.ts +140 -0
  62. package/dist/types/host.d.ts +107 -0
  63. package/dist/types/ihost.d.ts +138 -0
  64. package/dist/types/index.d.ts +8 -0
  65. package/dist/types/tests/event.test.d.ts +1 -0
  66. package/dist/types/tests/guest.test.d.ts +1 -0
  67. package/dist/types/tests/guestAsHost.test.d.ts +1 -0
  68. package/dist/types/tests/host.test.d.ts +1 -0
  69. package/dist/types/tests/logger.d.ts +3 -0
  70. package/dist/types/tests/scriptingObject.test.d.ts +1 -0
  71. package/dist/types/tests/scriptingObjects/appEvents.d.ts +3 -0
  72. package/dist/types/tests/scriptingObjects/appObjects.d.ts +7 -0
  73. package/dist/types/tests/scriptingObjects/appraisalServiceModule.d.ts +46 -0
  74. package/dist/types/tests/scriptingObjects/constant.d.ts +8 -0
  75. package/dist/types/tests/scriptingObjects/floodServiceModule.d.ts +17 -0
  76. package/dist/types/tests/server.d.ts +1 -0
  77. package/dist/types/tests/serverHandlers.d.ts +1 -0
  78. package/dist/types/tests/utils.d.ts +28 -0
  79. package/dist/types/types.d.ts +145 -0
  80. package/dist/types/utils.d.ts +8 -0
  81. package/dist/umd/app.config.json +20 -0
  82. package/dist/umd/autoFill.js +3 -0
  83. package/dist/umd/autoFill.js.br +0 -0
  84. package/dist/umd/autoFill.js.gz +0 -0
  85. package/dist/umd/autoFill.js.map +1 -0
  86. package/dist/umd/index.html +1 -0
  87. package/dist/umd/index.js +3 -0
  88. package/dist/umd/index.js.br +0 -0
  89. package/dist/umd/index.js.gz +0 -0
  90. package/dist/umd/index.js.map +1 -0
  91. package/dist/umd/init.js +3 -0
  92. package/dist/umd/init.js.br +0 -0
  93. package/dist/umd/init.js.gz +0 -0
  94. package/dist/umd/init.js.map +1 -0
  95. package/dist/umd/loan-object.js +3 -0
  96. package/dist/umd/loan-object.js.br +1 -0
  97. package/dist/umd/loan-object.js.gz +0 -0
  98. package/dist/umd/loan-object.js.map +1 -0
  99. package/dist/umd/utils.js +3 -0
  100. package/dist/umd/utils.js.br +0 -0
  101. package/dist/umd/utils.js.gz +0 -0
  102. package/dist/umd/utils.js.map +1 -0
  103. package/package.json +69 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "appId": "ssf-host",
3
+ "activeEnv": "localhost",
4
+ "options": {
5
+ "guestUrl": "http://localhost:4001"
6
+ },
7
+ "env": {
8
+ "localhost": {
9
+ "options": {
10
+ "guestUrl": "http://localhost:4001"
11
+ }
12
+ },
13
+ "dev2": {},
14
+ "qa2": {},
15
+ "qa3": {},
16
+ "int": {},
17
+ "stage": {},
18
+ "prod": {}
19
+ }
20
+ }
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var __publicField = (obj, key, value) => {
21
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
+ return value;
23
+ };
24
+ var __accessCheck = (obj, member, msg) => {
25
+ if (!member.has(obj))
26
+ throw TypeError("Cannot " + msg);
27
+ };
28
+ var __privateGet = (obj, member, getter) => {
29
+ __accessCheck(obj, member, "read from private field");
30
+ return getter ? getter.call(obj) : member.get(obj);
31
+ };
32
+ var __privateAdd = (obj, member, value) => {
33
+ if (member.has(obj))
34
+ throw TypeError("Cannot add the same private member more than once");
35
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
36
+ };
37
+ var __privateSet = (obj, member, value, setter) => {
38
+ __accessCheck(obj, member, "write to private field");
39
+ setter ? setter.call(obj, value) : member.set(obj, value);
40
+ return value;
41
+ };
42
+ var guest_exports = {};
43
+ __export(guest_exports, {
44
+ Guest: () => Guest
45
+ });
46
+ module.exports = __toCommonJS(guest_exports);
47
+ var import_ssf_common = require("@elliemae/ssf-common");
48
+ var import_types = require("./types.js");
49
+ var import_utils = require("./utils.js");
50
+ var _remoting;
51
+ class Guest {
52
+ /**
53
+ * Create object representing guest application
54
+ *
55
+ * @param {GuestOption} option - options for creating a guest application
56
+ */
57
+ constructor(option) {
58
+ /**
59
+ * unique id of the guest application
60
+ */
61
+ __publicField(this, "id");
62
+ /**
63
+ * page title of the guest application
64
+ */
65
+ __publicField(this, "title");
66
+ /**
67
+ * url of the guest application
68
+ */
69
+ __publicField(this, "url");
70
+ /**
71
+ * properties of the guest application
72
+ */
73
+ __publicField(this, "params");
74
+ /**
75
+ * iframe element of the guest application
76
+ */
77
+ __publicField(this, "domElement");
78
+ /**
79
+ * window object of the guest application
80
+ */
81
+ __publicField(this, "window");
82
+ /**
83
+ * open mode of the guest application
84
+ */
85
+ __publicField(this, "openMode");
86
+ /**
87
+ * origin of the guest application
88
+ */
89
+ __publicField(this, "origin");
90
+ /**
91
+ * flag indicating if the guest application is initialized
92
+ */
93
+ __publicField(this, "initialized", false);
94
+ /**
95
+ * flag indicating if the guest application is ready
96
+ */
97
+ __publicField(this, "ready", false);
98
+ /**
99
+ * capabilities of the guest application
100
+ */
101
+ __publicField(this, "capabilities");
102
+ /**
103
+ * remoting object
104
+ */
105
+ __privateAdd(this, _remoting, void 0);
106
+ /**
107
+ * clean up resources
108
+ */
109
+ __publicField(this, "dispose", () => {
110
+ __privateGet(this, _remoting).removeSender({ origin: this.origin, window: this.window });
111
+ if (this.openMode === import_types.OpenMode.Popup) {
112
+ this.window.close();
113
+ } else {
114
+ this.domElement?.remove?.();
115
+ }
116
+ });
117
+ /**
118
+ * Get information about the guest application
119
+ *
120
+ * @returns guest properties
121
+ */
122
+ __publicField(this, "getInfo", () => ({
123
+ guestId: this.id,
124
+ guestTitle: this.title,
125
+ guestUrl: this.url
126
+ }));
127
+ /**
128
+ * initialize guest messaging
129
+ */
130
+ __publicField(this, "init", () => {
131
+ __privateGet(this, _remoting).addSender({ origin: this.origin, window: this.window });
132
+ if (this.openMode === import_types.OpenMode.Popup) {
133
+ const handShakeInterval = setInterval(() => {
134
+ __privateGet(this, _remoting).send({
135
+ targetWin: this.window,
136
+ targetOrigin: this.origin,
137
+ messageType: import_ssf_common.MessageType.HandShake,
138
+ messageBody: {}
139
+ });
140
+ }, 1e3);
141
+ __privateGet(this, _remoting).listen({
142
+ messageType: import_ssf_common.MessageType.HandShakeAck,
143
+ callback: () => {
144
+ clearInterval(handShakeInterval);
145
+ }
146
+ });
147
+ }
148
+ });
149
+ /**
150
+ * invokes event callback on the guest application
151
+ *
152
+ * @param {EventObject} event - event object
153
+ * @param {number} timeout - timeout in milliseconds
154
+ */
155
+ __publicField(this, "dispatchEvent", (event, timeout) => __privateGet(this, _remoting).invoke({
156
+ targetWin: this.window,
157
+ targetOrigin: this.origin,
158
+ messageType: import_ssf_common.MessageType.ObjectEvent,
159
+ messageBody: event,
160
+ responseTimeoutMs: timeout
161
+ }));
162
+ /**
163
+ * Send a message without any form of response. fire and forget
164
+ *
165
+ * @param {MessageParam} param - message to be sent
166
+ */
167
+ __publicField(this, "send", (param) => {
168
+ __privateGet(this, _remoting).send({
169
+ targetWin: this.window,
170
+ targetOrigin: this.origin,
171
+ ...param
172
+ });
173
+ });
174
+ const {
175
+ guestId,
176
+ domElement = null,
177
+ title,
178
+ url,
179
+ window,
180
+ params = {},
181
+ openMode = import_types.OpenMode.Embed,
182
+ remoting
183
+ } = option;
184
+ this.id = guestId;
185
+ this.title = title;
186
+ this.url = url;
187
+ this.origin = (0, import_utils.getOrigin)(url);
188
+ this.params = params;
189
+ this.domElement = domElement;
190
+ this.window = window;
191
+ this.openMode = openMode;
192
+ this.capabilities = {};
193
+ __privateSet(this, _remoting, remoting);
194
+ }
195
+ }
196
+ _remoting = new WeakMap();