@melio-eng/web-sdk 1.0.17-pr.34.fd37362 → 1.0.17-pr.35.6d53e91

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.
package/dist/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export declare class MelioSDK implements MelioSDK {
13
13
  * Initialize the SDK by creating an authentication flow
14
14
  */
15
15
  init(authenticationCode: string, options: InitOptions): FlowInstance;
16
+ private setupKeepAlive;
16
17
  /**
17
18
  * Launch the onboarding flow
18
19
  */
@@ -34,4 +35,4 @@ export declare class MelioSDK implements MelioSDK {
34
35
  * Export the SDK instance
35
36
  */
36
37
  export declare const melioSDK: MelioSDK;
37
- export * from "./types.js";
38
+ export * from './types.js';
package/dist/index.js CHANGED
@@ -230,12 +230,18 @@ class PaymentsDashboardFlow extends Flow {
230
230
  return `${baseUrl}/${this.partnerName}/pay-dashboard/payments`;
231
231
  }
232
232
  }
233
+ const isEmptyString = (str) => {
234
+ return !str?.trim();
235
+ };
233
236
  /**
234
237
  * InitFlow subclass for handling initialization with callbacks
235
238
  */
236
239
  class InitFlow extends Flow {
237
240
  constructor(containerId, config, partnerName, environment, branchOverride) {
238
241
  super(containerId, config, partnerName, environment, branchOverride);
242
+ if (isEmptyString(config.authCode)) {
243
+ throw new Error('Authorization code is required for init flow');
244
+ }
239
245
  this.authorizationCode = config.authCode;
240
246
  }
241
247
  /**
@@ -260,17 +266,7 @@ class InitFlow extends Flow {
260
266
  token: this.authorizationCode,
261
267
  theme: this.partnerName,
262
268
  });
263
- return `${baseUrl}/${this.partnerName}/start?${params.toString()}&cdn_branch_override=refresh_token_on_user_ping`;
264
- }
265
- setupKeepAlive() {
266
- this.keepAliveInterval = window.setInterval(() => {
267
- if (this.iframe && this.iframe.contentWindow) {
268
- console.log('Sending keep-alive ping!');
269
- this.iframe.contentWindow.postMessage({
270
- type: 'USER_ACTIVE_PING',
271
- }, 'https://app.melio.com');
272
- }
273
- }, 30000); // Send ping every 30 seconds
269
+ return `${baseUrl}/${this.partnerName}/start?${params.toString()}`;
274
270
  }
275
271
  }
276
272
  /**
@@ -288,15 +284,25 @@ export class MelioSDK {
288
284
  * Initialize the SDK by creating an authentication flow
289
285
  */
290
286
  init(authenticationCode, options) {
287
+ // Set partner name and environment from options
291
288
  this.partnerName = options.partnerName;
292
289
  this.environment = options.environment || 'production';
293
290
  this.branchOverride = options.branchOverride;
294
- const initFlow = new InitFlow('', // no need container id for init flow as it is created inside the initialization
291
+ const flow = new InitFlow('', // no need container id for init flow as it is created inside the initialization
295
292
  { authCode: authenticationCode, containerId: '' }, this.partnerName, this.environment, this.branchOverride);
296
- initFlow.initialize();
297
- if (options.keepAlive)
298
- initFlow.setupKeepAlive();
299
- return initFlow;
293
+ flow.initialize();
294
+ this.setupKeepAlive();
295
+ return flow;
296
+ }
297
+ setupKeepAlive() {
298
+ // Send periodic pings to keep session alive
299
+ this.keepAliveInterval = window.setInterval(() => {
300
+ if (this.keepAliveIframe && this.keepAliveIframe.contentWindow) {
301
+ this.keepAliveIframe.contentWindow.postMessage({
302
+ type: 'USER_ACTIVE_PING',
303
+ }, 'https://app.melio.com');
304
+ }
305
+ }, 30000); // Send ping every 30 seconds
300
306
  }
301
307
  /**
302
308
  * Launch the onboarding flow
@@ -336,4 +342,4 @@ export class MelioSDK {
336
342
  */
337
343
  export const melioSDK = new MelioSDK();
338
344
  // Export types for consumers
339
- export * from "./types.js";
345
+ export * from './types.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@melio-eng/web-sdk",
3
- "version": "1.0.17-pr.34.fd37362",
3
+ "version": "1.0.17-pr.35.6d53e91",
4
4
  "description": "Melio Web SDK - Embed core Melio workflows directly into partner UI with minimal effort",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",