@iebh/tera-fy 2.3.7 → 2.3.9

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 (41) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/lib/projectFile.js +118 -6
  3. package/dist/lib/projectFile.js.map +1 -1
  4. package/dist/lib/syncro/entities.d.ts +7 -1
  5. package/dist/lib/syncro/entities.js +79 -95
  6. package/dist/lib/syncro/entities.js.map +1 -1
  7. package/dist/lib/syncro/keyed.js +24 -23
  8. package/dist/lib/syncro/keyed.js.map +1 -1
  9. package/dist/lib/syncro/syncro.d.ts +15 -2
  10. package/dist/lib/syncro/syncro.js +124 -43
  11. package/dist/lib/syncro/syncro.js.map +1 -1
  12. package/dist/lib/terafy.bootstrapper.js +11 -11
  13. package/dist/lib/terafy.bootstrapper.js.map +1 -1
  14. package/dist/lib/terafy.client.js +157 -158
  15. package/dist/lib/terafy.client.js.map +1 -1
  16. package/dist/lib/terafy.proxy.js +32 -27
  17. package/dist/lib/terafy.proxy.js.map +1 -1
  18. package/dist/lib/terafy.server.js +52 -54
  19. package/dist/lib/terafy.server.js.map +1 -1
  20. package/dist/plugin.vue2.es2019.js +27 -27
  21. package/dist/plugins/firebase.js +22 -10
  22. package/dist/plugins/firebase.js.map +1 -1
  23. package/dist/plugins/vue2.d.ts +1 -2
  24. package/dist/plugins/vue2.js +24 -17
  25. package/dist/plugins/vue2.js.map +1 -1
  26. package/dist/plugins/vue3.d.ts +1 -2
  27. package/dist/plugins/vue3.js +7 -11
  28. package/dist/plugins/vue3.js.map +1 -1
  29. package/dist/terafy.bootstrapper.es2019.js +2 -2
  30. package/dist/terafy.bootstrapper.js +2 -2
  31. package/dist/terafy.es2019.js +2 -2
  32. package/dist/terafy.js +1 -1
  33. package/lib/syncro/entities.ts +94 -103
  34. package/lib/syncro/keyed.ts +1 -0
  35. package/lib/syncro/syncro.ts +44 -8
  36. package/lib/terafy.client.ts +0 -1
  37. package/lib/terafy.server.ts +6 -7
  38. package/package.json +4 -3
  39. package/plugins/vue2.ts +2 -3
  40. package/plugins/vue3.ts +2 -4
  41. package/tsconfig.json +3 -3
@@ -8,6 +8,157 @@ import ProjectFile from './projectFile.js';
8
8
  * @class TeraFy
9
9
  */
10
10
  export default class TeraFy {
11
+ /**
12
+ * Various settings to configure behaviour
13
+ *
14
+ * @type {Object}
15
+ * @property {String} session Unique session signature for this instance of TeraFy, used to sign server messages, if falsy `getEntropicString(16)` is used to populate
16
+ * @property {Boolean} devMode Operate in Dev-Mode - i.e. force outer refresh when encountering an existing TeraFy instance + be more tolerant of weird iframe origins
17
+ * @property {Number} verbosity Verbosity level, the higher the more chatty TeraFY will be. Set to zero to disable all `debug()` call output
18
+ * @property {'detect'|'parent'|'child'|'popup'} mode How to communicate with TERA. 'parent' assumes that the parent of the current document is TERA, 'child' spawns an iFrame and uses TERA there, 'detect' tries parent and switches to `modeFallback` if communication fails
19
+ * @property {String} modeFallback Method to use when all method detection fails
20
+ * @property {Object<Object<Function>>} modeOverrides Functions to run when switching to specific modes, these are typically used to augment config. Called as `(config:Object)`
21
+ * @property {Number} modeTimeout How long entities have in 'detect' mode to identify themselves
22
+ * @property {String} siteUrl The TERA URL to connect to
23
+ * @property {String} restrictOrigin URL to restrict communications to
24
+ * @property {Array<String>} List of sandbox allowables for the embedded if in embed mode
25
+ * @property {Number} handshakeInterval Interval in milliseconds when scanning for a handshake
26
+ * @property {Number} handshakeTimeout Interval in milliseconds for when to give up trying to handshake
27
+ * @property {Array<String|Array<String>>} [debugPaths] List of paths (in either dotted or array notation) to enter debugging mode if a change is detected in dev mode e.g. `{debugPaths: ['foo.bar.baz']}`. This really slows down state writes so should only be used for debugging
28
+ */
29
+ settings = {
30
+ session: null,
31
+ // client: 'tera-fy', // Reserved by terafy.bootstrapper.js
32
+ // clientType: 'esm', // Reserved by terafy.bootstrapper.js
33
+ devMode: false,
34
+ verbosity: 1,
35
+ mode: 'detect',
36
+ modeTimeout: 300,
37
+ modeFallback: 'child', // ENUM: 'child' (use iframes), 'popup' (use popup windows)
38
+ modeOverrides: {
39
+ child(config) {
40
+ if (config.siteUrl == 'https://tera-tools.com/embed') { // Only if we're using the default URL...
41
+ config.siteUrl = 'https://dev.tera-tools.com/embed'; // Repoint URL to dev site
42
+ }
43
+ },
44
+ // eslint-disable-next-line no-unused-vars
45
+ },
46
+ siteUrl: 'https://tera-tools.com/embed',
47
+ restrictOrigin: '*',
48
+ frameSandbox: [
49
+ 'allow-forms',
50
+ 'allow-modals',
51
+ 'allow-orientation-lock',
52
+ 'allow-pointer-lock',
53
+ 'allow-popups',
54
+ 'allow-popups-to-escape-sandbox',
55
+ 'allow-presentation',
56
+ 'allow-same-origin',
57
+ 'allow-scripts',
58
+ 'allow-top-navigation',
59
+ ],
60
+ handshakeInterval: 1000, // ~1s
61
+ handshakeTimeout: 10_000, // ~10s
62
+ debugPaths: null, // Transformed into a Array<String> (in Lodash dotted notation) on init()
63
+ };
64
+ /**
65
+ * Event emitter subscription endpoint
66
+ * @type {Mitt}
67
+ */
68
+ // @ts-ignore - Because mitt is exported as cjs typescript has trouble resolving default export
69
+ events = Mitt();
70
+ /**
71
+ * DOMElements for this TeraFy instance
72
+ *
73
+ * @type {Object}
74
+ * @property {DOMElement} el The main tera-fy div wrapper
75
+ * @property {DOMElement} iframe The internal iFrame element (if `settings.mode == 'child'`)
76
+ * @property {Window} popup The popup window context (if `settings.mode == 'popup'`)
77
+ * @property {DOMElement} stylesheet The corresponding stylesheet
78
+ */
79
+ dom = {
80
+ el: null,
81
+ iframe: null,
82
+ popup: null,
83
+ stylesheet: null,
84
+ };
85
+ /**
86
+ * List of function stubs mapped from the server to here
87
+ * This array is forms the reference of `TeraFy.METHOD()` objects to provide locally which will be mapped via `TeraFy.rpc(METHOD, ...args)`
88
+ *
89
+ * @type {Array<String>}
90
+ */
91
+ methods = [
92
+ // Messages
93
+ 'handshake',
94
+ 'setServerVerbosity',
95
+ // Session
96
+ 'getUser',
97
+ 'requireUser',
98
+ 'getCredentials',
99
+ 'getKindeToken',
100
+ // Projects
101
+ 'bindProject',
102
+ 'getProject',
103
+ 'getProjects',
104
+ 'setActiveProject',
105
+ 'requireProject',
106
+ 'selectProject',
107
+ // Project namespaces
108
+ // 'mountNamespace', // Handled by this library
109
+ // 'unmountNamespace', // Handled by this library
110
+ 'getNamespace',
111
+ 'setNamespace',
112
+ 'listNamespaces',
113
+ // Project State
114
+ 'getProjectState',
115
+ 'setProjectState',
116
+ 'setProjectStateDefaults',
117
+ 'setProjectStateRefresh',
118
+ // Project files
119
+ // 'selectProjectFile', - Handled below (requires return collection mapped to ProjectFile)
120
+ // 'getProjectFiles', - Handled below (requires return collection mapped to ProjectFile)
121
+ // 'getProjectFile', - Handled below (requires return mapped to ProjectFile)
122
+ 'getProjectFileContents',
123
+ // 'createProjectFile', - Handled below (requires return mapped to ProjectFile)
124
+ // 'moveProjectFile', - Handled below (requires return mapped to ProjectFile)
125
+ 'deleteProjectFile',
126
+ 'setProjectFileContents',
127
+ // Project folders
128
+ 'createProjectFolder',
129
+ 'deleteProjectFolder',
130
+ // Project Libraries
131
+ 'selectProjectLibrary',
132
+ 'getProjectLibrary',
133
+ 'setProjectLibrary',
134
+ // Project Logging
135
+ 'projectLog',
136
+ // Webpages
137
+ 'setPage',
138
+ // UI
139
+ 'uiAlert',
140
+ 'uiConfirm',
141
+ 'uiJson',
142
+ 'uiPanic',
143
+ 'uiProgress',
144
+ 'uiPrompt',
145
+ 'uiThrow',
146
+ 'uiSplat',
147
+ 'uiWindow',
148
+ ];
149
+ /**
150
+ * Loaded plugins via Use()
151
+ * @type {Array<TeraFyPlugin>}
152
+ */
153
+ plugins = [];
154
+ /**
155
+ * Active namespaces we are subscribed to
156
+ * Each key is the namespace name with the value as the local reactive \ observer \ object equivalent
157
+ * The key string is always of the form `${ENTITY}::${ID}` e.g. `projects:1234`
158
+ *
159
+ * @type {Object<Object>}
160
+ */
161
+ namespaces = {};
11
162
  // Messages - send(), sendRaw(), rpc(), acceptMessage() {{{
12
163
  /**
13
164
  * Send a message + wait for a response object
@@ -139,6 +290,10 @@ export default class TeraFy {
139
290
  return Promise.resolve();
140
291
  }
141
292
  }
293
+ /**
294
+ * Listening postboxes, these correspond to outgoing message IDs that expect a response
295
+ */
296
+ acceptPostboxes = {};
142
297
  // }}}
143
298
  // Project namespace - mountNamespace(), unmountNamespace() {{{
144
299
  /**
@@ -205,166 +360,10 @@ export default class TeraFy {
205
360
  * @param {Object} [options] Additional options to merge into `settings` via `set`
206
361
  */
207
362
  constructor(options) {
208
- /**
209
- * Various settings to configure behaviour
210
- *
211
- * @type {Object}
212
- * @property {String} session Unique session signature for this instance of TeraFy, used to sign server messages, if falsy `getEntropicString(16)` is used to populate
213
- * @property {Boolean} devMode Operate in Dev-Mode - i.e. force outer refresh when encountering an existing TeraFy instance + be more tolerant of weird iframe origins
214
- * @property {Number} verbosity Verbosity level, the higher the more chatty TeraFY will be. Set to zero to disable all `debug()` call output
215
- * @property {'detect'|'parent'|'child'|'popup'} mode How to communicate with TERA. 'parent' assumes that the parent of the current document is TERA, 'child' spawns an iFrame and uses TERA there, 'detect' tries parent and switches to `modeFallback` if communication fails
216
- * @property {String} modeFallback Method to use when all method detection fails
217
- * @property {Object<Object<Function>>} modeOverrides Functions to run when switching to specific modes, these are typically used to augment config. Called as `(config:Object)`
218
- * @property {Number} modeTimeout How long entities have in 'detect' mode to identify themselves
219
- * @property {String} siteUrl The TERA URL to connect to
220
- * @property {String} restrictOrigin URL to restrict communications to
221
- * @property {Array<String>} List of sandbox allowables for the embedded if in embed mode
222
- * @property {Number} handshakeInterval Interval in milliseconds when scanning for a handshake
223
- * @property {Number} handshakeTimeout Interval in milliseconds for when to give up trying to handshake
224
- * @property {Array<String|Array<String>>} [debugPaths] List of paths (in either dotted or array notation) to enter debugging mode if a change is detected in dev mode e.g. `{debugPaths: ['foo.bar.baz']}`. This really slows down state writes so should only be used for debugging
225
- */
226
- this.settings = {
227
- session: null,
228
- // client: 'tera-fy', // Reserved by terafy.bootstrapper.js
229
- // clientType: 'esm', // Reserved by terafy.bootstrapper.js
230
- devMode: false,
231
- verbosity: 1,
232
- mode: 'detect',
233
- modeTimeout: 300,
234
- modeFallback: 'child', // ENUM: 'child' (use iframes), 'popup' (use popup windows)
235
- modeOverrides: {
236
- child(config) {
237
- if (config.siteUrl == 'https://tera-tools.com/embed') { // Only if we're using the default URL...
238
- config.siteUrl = 'https://dev.tera-tools.com/embed'; // Repoint URL to dev site
239
- }
240
- },
241
- // eslint-disable-next-line no-unused-vars
242
- },
243
- siteUrl: 'https://tera-tools.com/embed',
244
- restrictOrigin: '*',
245
- frameSandbox: [
246
- 'allow-forms',
247
- 'allow-modals',
248
- 'allow-orientation-lock',
249
- 'allow-pointer-lock',
250
- 'allow-popups',
251
- 'allow-popups-to-escape-sandbox',
252
- 'allow-presentation',
253
- 'allow-same-origin',
254
- 'allow-scripts',
255
- 'allow-top-navigation',
256
- ],
257
- handshakeInterval: 1000, // ~1s
258
- handshakeTimeout: 10000, // ~10s
259
- debugPaths: null, // Transformed into a Array<String> (in Lodash dotted notation) on init()
260
- };
261
- /**
262
- * Event emitter subscription endpoint
263
- * @type {Mitt}
264
- */
265
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
266
- // @ts-ignore - Because mitt is exported as cjs typescript has trouble resolving default export
267
- this.events = Mitt();
268
- /**
269
- * DOMElements for this TeraFy instance
270
- *
271
- * @type {Object}
272
- * @property {DOMElement} el The main tera-fy div wrapper
273
- * @property {DOMElement} iframe The internal iFrame element (if `settings.mode == 'child'`)
274
- * @property {Window} popup The popup window context (if `settings.mode == 'popup'`)
275
- * @property {DOMElement} stylesheet The corresponding stylesheet
276
- */
277
- this.dom = {
278
- el: null,
279
- iframe: null,
280
- popup: null,
281
- stylesheet: null,
282
- };
283
- /**
284
- * List of function stubs mapped from the server to here
285
- * This array is forms the reference of `TeraFy.METHOD()` objects to provide locally which will be mapped via `TeraFy.rpc(METHOD, ...args)`
286
- *
287
- * @type {Array<String>}
288
- */
289
- this.methods = [
290
- // Messages
291
- 'handshake',
292
- 'setServerVerbosity',
293
- // Session
294
- 'getUser',
295
- 'requireUser',
296
- 'getCredentials',
297
- 'getKindeToken',
298
- // Projects
299
- 'bindProject',
300
- 'getProject',
301
- 'getProjects',
302
- 'setActiveProject',
303
- 'requireProject',
304
- 'selectProject',
305
- // Project namespaces
306
- // 'mountNamespace', // Handled by this library
307
- // 'unmountNamespace', // Handled by this library
308
- 'getNamespace',
309
- 'setNamespace',
310
- 'listNamespaces',
311
- // Project State
312
- 'getProjectState',
313
- 'setProjectState',
314
- 'setProjectStateDefaults',
315
- 'setProjectStateRefresh',
316
- // Project files
317
- // 'selectProjectFile', - Handled below (requires return collection mapped to ProjectFile)
318
- // 'getProjectFiles', - Handled below (requires return collection mapped to ProjectFile)
319
- // 'getProjectFile', - Handled below (requires return mapped to ProjectFile)
320
- 'getProjectFileContents',
321
- // 'createProjectFile', - Handled below (requires return mapped to ProjectFile)
322
- // 'moveProjectFile', - Handled below (requires return mapped to ProjectFile)
323
- 'deleteProjectFile',
324
- 'setProjectFileContents',
325
- // Project folders
326
- 'createProjectFolder',
327
- 'deleteProjectFolder',
328
- // Project Libraries
329
- 'selectProjectLibrary',
330
- 'getProjectLibrary',
331
- 'setProjectLibrary',
332
- // Project Logging
333
- 'projectLog',
334
- // Webpages
335
- 'setPage',
336
- // UI
337
- 'uiAlert',
338
- 'uiConfirm',
339
- 'uiJson',
340
- 'uiPanic',
341
- 'uiProgress',
342
- 'uiPrompt',
343
- 'uiThrow',
344
- 'uiSplat',
345
- 'uiWindow',
346
- ];
347
- /**
348
- * Loaded plugins via Use()
349
- * @type {Array<TeraFyPlugin>}
350
- */
351
- this.plugins = [];
352
- /**
353
- * Active namespaces we are subscribed to
354
- * Each key is the namespace name with the value as the local reactive \ observer \ object equivalent
355
- * The key string is always of the form `${ENTITY}::${ID}` e.g. `projects:1234`
356
- *
357
- * @type {Object<Object>}
358
- */
359
- this.namespaces = {};
360
- /**
361
- * Listening postboxes, these correspond to outgoing message IDs that expect a response
362
- */
363
- this.acceptPostboxes = {};
364
- this.initPromise = null;
365
363
  if (options)
366
364
  this.set(options);
367
365
  }
366
+ initPromise = null;
368
367
  /**
369
368
  * Initialize the TERA client singleton
370
369
  * This function can only be called once and will return the existing init() worker Promise if its called against
@@ -382,7 +381,7 @@ export default class TeraFy {
382
381
  // eslint-disable-next-line @typescript-eslint/no-this-alias
383
382
  const context = this;
384
383
  this.initPromise = Promise.resolve()
385
- .then(() => { var _a; return (_a = this.settings).session || (_a.session = 'tfy-' + this.getEntropicString(16)); })
384
+ .then(() => this.settings.session ||= 'tfy-' + this.getEntropicString(16))
386
385
  .then(() => this.debug('INFO', 4, '[0/6] Init', 'Session', this.settings.session, 'against', this.settings.siteUrl))
387
386
  .then(() => {
388
387
  if (!this.settings.devMode)
@@ -1 +1 @@
1
- {"version":3,"file":"terafy.client.js","sourceRoot":"","sources":["../../lib/terafy.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terafy.client.js","sourceRoot":"","sources":["../../lib/terafy.client.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,38 @@ import { create as createDomain } from 'node:domain';
2
2
  import detectPort from 'detect-port';
3
3
  import Proxy from 'http-proxy';
4
4
  export class TeraProxy {
5
+ /**
6
+ * Setup a local loopback proxy for TERA-tools.com
7
+ *
8
+ * @param {Object} [options] Additional options to mutate behaviour
9
+ * @param {Boolean} [options.force=false] Restart the server even if its apparently running
10
+ * @param {Boolean} [options.autoStart=true] Automatically start the proxy without calling `Plugin.start()`
11
+ * @param {String} [options.host='0.0.0.0'] Host IP to listen on
12
+ * @param {Number} [options.port=7334] Host port to listen on
13
+ * @param {String} [options.targetProtocol='https'] Target protocol to forward to
14
+ * @param {String} [options.targetHost='tera-tools.com'] Target host to forward to
15
+ * @param {Number} [options.targetPort=443] Target port to forward to
16
+ * @param {'ignore'|'throw'} [options.portConflict='ignore'] Action to take when something is already listening on the allocated port
17
+ * @param {Function} [options.onLog=console.log] Function to call with any logging output. Defaults to using console.log. Called as `(level:'INFO|'WARN', ...msg:any)`
18
+ *
19
+ * @returns {VitePlugin}
20
+ */
21
+ settings = {
22
+ autoStart: true,
23
+ force: false,
24
+ host: '0.0.0.0',
25
+ port: 7334,
26
+ targetProtocol: 'https',
27
+ targetHost: 'dev.tera-tools.com',
28
+ targetPort: 443,
29
+ portConflict: 'ignore', // Add type assertion for stricter checking if needed elsewhere
30
+ onLog: (level, ...msg) => console.log(...msg),
31
+ };
32
+ /**
33
+ * Eventual proxy server when the plugin has booted
34
+ * @type {ProxyServer}
35
+ */
36
+ proxyServer;
5
37
  /**
6
38
  * Boot the proxy
7
39
  *
@@ -77,33 +109,6 @@ export class TeraProxy {
77
109
  .then(() => this.proxyServer && new Promise(resolve => this.proxyServer.close(() => resolve()))); // Use non-null assertion if sure it exists here
78
110
  }
79
111
  constructor(options) {
80
- /**
81
- * Setup a local loopback proxy for TERA-tools.com
82
- *
83
- * @param {Object} [options] Additional options to mutate behaviour
84
- * @param {Boolean} [options.force=false] Restart the server even if its apparently running
85
- * @param {Boolean} [options.autoStart=true] Automatically start the proxy without calling `Plugin.start()`
86
- * @param {String} [options.host='0.0.0.0'] Host IP to listen on
87
- * @param {Number} [options.port=7334] Host port to listen on
88
- * @param {String} [options.targetProtocol='https'] Target protocol to forward to
89
- * @param {String} [options.targetHost='tera-tools.com'] Target host to forward to
90
- * @param {Number} [options.targetPort=443] Target port to forward to
91
- * @param {'ignore'|'throw'} [options.portConflict='ignore'] Action to take when something is already listening on the allocated port
92
- * @param {Function} [options.onLog=console.log] Function to call with any logging output. Defaults to using console.log. Called as `(level:'INFO|'WARN', ...msg:any)`
93
- *
94
- * @returns {VitePlugin}
95
- */
96
- this.settings = {
97
- autoStart: true,
98
- force: false,
99
- host: '0.0.0.0',
100
- port: 7334,
101
- targetProtocol: 'https',
102
- targetHost: 'dev.tera-tools.com',
103
- targetPort: 443,
104
- portConflict: 'ignore', // Add type assertion for stricter checking if needed elsewhere
105
- onLog: (level, ...msg) => console.log(...msg),
106
- };
107
112
  if (options)
108
113
  Object.assign(this.settings, options);
109
114
  // Auto start?
@@ -1 +1 @@
1
- {"version":3,"file":"terafy.proxy.js","sourceRoot":"","sources":["../../lib/terafy.proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,aAAa,CAAC;AACnD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,MAAM,YAAY,CAAC;AAgB/B,MAAM,OAAO,SAAS;IAqCrB;;;;MAIE;IACF,KAAK;QACJ,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,8BAA8B;QAEtG,OAAO,OAAO,CAAC,OAAO,EAAE;aACtB,IAAI,CAAC,GAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACzC,IAAI,CAAC,OAAO,CAAC,EAAE;YACf,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxC,CAAC;YACD,4CAA4C;QAC7C,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACtD,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG;gBAC5C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;gBAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;aAC9B;SACD,CAAC,CAAC;aACF,IAAI,CAAC,GAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,iEAAiE;YACjE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA8B,EAAE,EAAE;gBACrD,IAAI,GAAG,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;oBAC9B,MAAM,CAAC,eAAe,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;YACF,CAAC,CAAC,CAAC;YACH,0DAA0D;YAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,sCAAsC;gBACvH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAC/D,uFAAuF;gBACvF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA8B,EAAE,EAAE;oBAC/D,IAAI,GAAG,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;wBAC9B,MAAM,CAAC,eAAe,CAAC,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,GAAG,CAAC,CAAC;oBACb,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;aACF,KAAK,CAAC,CAAC,CAAC,EAAE;YACV,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,EAAE,CAAC;oBAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,oFAAoF,CAAC,CAAC;oBAC9I,OAAO,KAAK,CAAC,CAAC,aAAa;gBAC5B,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,CAAC,CAAC,kDAAkD;gBAC5D,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,CAAC,CAAC,2BAA2B;YACrC,CAAC;QACF,CAAC,CAAC,CAAA;IACJ,CAAC;IAGD;;;MAGE;IACF,IAAI;QACH,OAAO,OAAO,CAAC,OAAO,EAAE;aACtB,IAAI,CAAC,GAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAY,CAAC,KAAK,CAAC,GAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,gDAAgD;IACxJ,CAAC;IAGD,YAAY,OAA0B;QA7GtC;;;;;;;;;;;;;;;UAeE;QACF,aAAQ,GAAG;YACV,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,OAAO;YACvB,UAAU,EAAE,oBAAoB;YAChC,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,QAA8B,EAAE,+DAA+D;YAC7G,KAAK,EAAE,CAAC,KAAsB,EAAE,GAAG,GAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACrE,CAAA;QAoFA,IAAI,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnD,cAAc;QACd,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAGD;;;;;EAKE;AACF,MAAM,CAAC,OAAO,WAAU,OAA0B;IACjD,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"terafy.proxy.js","sourceRoot":"","sources":["../../lib/terafy.proxy.ts"],"names":[],"mappings":"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"}