@farcaster/frame-sdk 0.0.55 → 0.0.57

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/sdk.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import type { Emitter, FrameSDK } from './types.ts';
2
- export declare function createEmitter(): Emitter;
1
+ import type { FrameSDK } from './types.ts';
3
2
  export declare const sdk: FrameSDK;
package/dist/sdk.js CHANGED
@@ -1,32 +1,11 @@
1
1
  import { AddMiniApp, SignIn, } from '@farcaster/frame-core';
2
2
  import { createLightClient } from '@farcaster/quick-auth/light';
3
- import { EventEmitter } from 'eventemitter3';
4
3
  import * as Siwe from 'ox/Siwe';
4
+ import { createBack } from "./back.js";
5
5
  import { ethereumProvider, getEthereumProvider } from "./ethereumProvider.js";
6
6
  import { frameHost } from "./frameHost.js";
7
+ import { emitter } from "./sdkEmitter.js";
7
8
  import { getSolanaProvider } from "./solanaProvider.js";
8
- export function createEmitter() {
9
- const emitter = new EventEmitter();
10
- return {
11
- get eventNames() {
12
- return emitter.eventNames.bind(emitter);
13
- },
14
- get listenerCount() {
15
- return emitter.listenerCount.bind(emitter);
16
- },
17
- get listeners() {
18
- return emitter.listeners.bind(emitter);
19
- },
20
- addListener: emitter.addListener.bind(emitter),
21
- emit: emitter.emit.bind(emitter),
22
- off: emitter.off.bind(emitter),
23
- on: emitter.on.bind(emitter),
24
- once: emitter.once.bind(emitter),
25
- removeAllListeners: emitter.removeAllListeners.bind(emitter),
26
- removeListener: emitter.removeListener.bind(emitter),
27
- };
28
- }
29
- const emitter = createEmitter();
30
9
  let cachedIsInMiniAppResult = null;
31
10
  /**
32
11
  * Determines if the current environment is a MiniApp context.
@@ -82,9 +61,12 @@ export const sdk = {
82
61
  getChains: frameHost.getChains,
83
62
  isInMiniApp,
84
63
  context: frameHost.context,
64
+ back: createBack({ frameHost, emitter }),
85
65
  actions: {
86
66
  setPrimaryButton: frameHost.setPrimaryButton.bind(frameHost),
87
- ready: frameHost.ready.bind(frameHost),
67
+ ready: async (options = {}) => {
68
+ return await frameHost.ready(options);
69
+ },
88
70
  close: frameHost.close.bind(frameHost),
89
71
  viewCast: frameHost.viewCast.bind(frameHost),
90
72
  viewProfile: frameHost.viewProfile.bind(frameHost),
@@ -180,6 +162,9 @@ if (typeof document !== 'undefined') {
180
162
  else if (frameEvent.event === 'notifications_disabled') {
181
163
  emitter.emit('notificationsDisabled');
182
164
  }
165
+ else if (frameEvent.event === 'back_navigation_triggered') {
166
+ emitter.emit('backNavigationTriggered');
167
+ }
183
168
  }
184
169
  });
185
170
  }
@@ -212,6 +197,9 @@ if (typeof window !== 'undefined') {
212
197
  else if (frameEvent.event === 'notifications_disabled') {
213
198
  emitter.emit('notificationsDisabled');
214
199
  }
200
+ else if (frameEvent.event === 'back_navigation_triggered') {
201
+ emitter.emit('backNavigationTriggered');
202
+ }
215
203
  }
216
204
  }
217
205
  });
@@ -0,0 +1,15 @@
1
+ import EventEmitter from 'eventemitter3';
2
+ import type { Emitter, EventMap } from './types.ts';
3
+ export declare function createEmitter(): Emitter;
4
+ export declare const emitter: {
5
+ eventNames: () => (keyof EventMap)[];
6
+ listeners: <T extends keyof EventMap>(event: T) => ((...args: EventEmitter.ArgumentMap<EventMap>[Extract<T, keyof EventMap>]) => void)[];
7
+ listenerCount: (event: keyof EventMap) => number;
8
+ emit: <T extends keyof EventMap>(event: T, ...args: EventEmitter.ArgumentMap<EventMap>[Extract<T, keyof EventMap>]) => boolean;
9
+ on: <T extends keyof EventMap>(event: T, fn: (...args: EventEmitter.ArgumentMap<EventMap>[Extract<T, keyof EventMap>]) => void, context?: any) => EventEmitter<EventMap, any>;
10
+ addListener: <T extends keyof EventMap>(event: T, fn: (...args: EventEmitter.ArgumentMap<EventMap>[Extract<T, keyof EventMap>]) => void, context?: any) => EventEmitter<EventMap, any>;
11
+ once: <T extends keyof EventMap>(event: T, fn: (...args: EventEmitter.ArgumentMap<EventMap>[Extract<T, keyof EventMap>]) => void, context?: any) => EventEmitter<EventMap, any>;
12
+ removeListener: <T extends keyof EventMap>(event: T, fn?: ((...args: EventEmitter.ArgumentMap<EventMap>[Extract<T, keyof EventMap>]) => void) | undefined, context?: any, once?: boolean) => EventEmitter<EventMap, any>;
13
+ off: <T extends keyof EventMap>(event: T, fn?: ((...args: EventEmitter.ArgumentMap<EventMap>[Extract<T, keyof EventMap>]) => void) | undefined, context?: any, once?: boolean) => EventEmitter<EventMap, any>;
14
+ removeAllListeners: (event?: keyof EventMap | undefined) => EventEmitter<EventMap, any>;
15
+ };
@@ -0,0 +1,23 @@
1
+ import EventEmitter from 'eventemitter3';
2
+ export function createEmitter() {
3
+ const emitter = new EventEmitter();
4
+ return {
5
+ get eventNames() {
6
+ return emitter.eventNames.bind(emitter);
7
+ },
8
+ get listenerCount() {
9
+ return emitter.listenerCount.bind(emitter);
10
+ },
11
+ get listeners() {
12
+ return emitter.listeners.bind(emitter);
13
+ },
14
+ addListener: emitter.addListener.bind(emitter),
15
+ emit: emitter.emit.bind(emitter),
16
+ off: emitter.off.bind(emitter),
17
+ on: emitter.on.bind(emitter),
18
+ once: emitter.once.bind(emitter),
19
+ removeAllListeners: emitter.removeAllListeners.bind(emitter),
20
+ removeListener: emitter.removeListener.bind(emitter),
21
+ };
22
+ }
23
+ export const emitter = createEmitter();