@farcaster/frame-host 0.0.20 → 0.0.22

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.
@@ -3,7 +3,7 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Endpoint, EventSource, PostMessageWithOrigin } from "./protocol";
6
+ import { type Endpoint, type EventSource, type PostMessageWithOrigin } from './protocol';
7
7
  export type { Endpoint };
8
8
  export declare const proxyMarker: unique symbol;
9
9
  export declare const createEndpoint: unique symbol;
@@ -3,12 +3,13 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export const proxyMarker = Symbol("Comlink.proxy");
7
- export const createEndpoint = Symbol("Comlink.endpoint");
8
- export const releaseProxy = Symbol("Comlink.releaseProxy");
9
- export const finalizer = Symbol("Comlink.finalizer");
10
- const throwMarker = Symbol("Comlink.thrown");
11
- const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function";
6
+ import { MessageType, WireValueType, } from './protocol';
7
+ export const proxyMarker = Symbol('Comlink.proxy');
8
+ export const createEndpoint = Symbol('Comlink.endpoint');
9
+ export const releaseProxy = Symbol('Comlink.releaseProxy');
10
+ export const finalizer = Symbol('Comlink.finalizer');
11
+ const throwMarker = Symbol('Comlink.thrown');
12
+ const isObject = (val) => (typeof val === 'object' && val !== null) || typeof val === 'function';
12
13
  /**
13
14
  * Internal transfer handle to handle objects marked to proxy.
14
15
  */
@@ -57,12 +58,12 @@ const throwTransferHandler = {
57
58
  * Allows customizing the serialization of certain values.
58
59
  */
59
60
  export const transferHandlers = new Map([
60
- ["proxy", proxyTransferHandler],
61
- ["throw", throwTransferHandler],
61
+ ['proxy', proxyTransferHandler],
62
+ ['throw', throwTransferHandler],
62
63
  ]);
63
64
  function isAllowedOrigin(allowedOrigins, origin) {
64
65
  for (const allowedOrigin of allowedOrigins) {
65
- if (origin === allowedOrigin || allowedOrigin === "*") {
66
+ if (origin === allowedOrigin || allowedOrigin === '*') {
66
67
  return true;
67
68
  }
68
69
  if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {
@@ -71,7 +72,7 @@ function isAllowedOrigin(allowedOrigins, origin) {
71
72
  }
72
73
  return false;
73
74
  }
74
- export function expose(obj, ep = globalThis, allowedOrigins = ["*"]) {
75
+ export function expose(obj, ep = globalThis, allowedOrigins = ['*']) {
75
76
  function callback(ev) {
76
77
  if (!ev || !ev.data) {
77
78
  return;
@@ -90,36 +91,36 @@ export function expose(obj, ep = globalThis, allowedOrigins = ["*"]) {
90
91
  const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);
91
92
  const rawValue = path.reduce((obj, prop) => obj[prop], obj);
92
93
  switch (type) {
93
- case "GET" /* MessageType.GET */:
94
+ case MessageType.GET:
94
95
  {
95
96
  returnValue = rawValue;
96
97
  }
97
98
  break;
98
- case "SET" /* MessageType.SET */:
99
+ case MessageType.SET:
99
100
  {
100
101
  parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);
101
102
  returnValue = true;
102
103
  }
103
104
  break;
104
- case "APPLY" /* MessageType.APPLY */:
105
+ case MessageType.APPLY:
105
106
  {
106
107
  returnValue = rawValue.apply(parent, argumentList);
107
108
  }
108
109
  break;
109
- case "CONSTRUCT" /* MessageType.CONSTRUCT */:
110
+ case MessageType.CONSTRUCT:
110
111
  {
111
112
  const value = new rawValue(...argumentList);
112
113
  returnValue = proxy(value);
113
114
  }
114
115
  break;
115
- case "ENDPOINT" /* MessageType.ENDPOINT */:
116
+ case MessageType.ENDPOINT:
116
117
  {
117
118
  const { port1, port2 } = new MessageChannel();
118
119
  expose(obj, port2);
119
120
  returnValue = transfer(port1, [port1]);
120
121
  }
121
122
  break;
122
- case "RELEASE" /* MessageType.RELEASE */:
123
+ case MessageType.RELEASE:
123
124
  {
124
125
  returnValue = undefined;
125
126
  }
@@ -138,11 +139,11 @@ export function expose(obj, ep = globalThis, allowedOrigins = ["*"]) {
138
139
  .then((returnValue) => {
139
140
  const [wireValue, transferables] = toWireValue(returnValue);
140
141
  ep.postMessage({ ...wireValue, id }, transferables);
141
- if (type === "RELEASE" /* MessageType.RELEASE */) {
142
+ if (type === MessageType.RELEASE) {
142
143
  // detach and deactive after sending release response above.
143
- ep.removeEventListener("message", callback);
144
+ ep.removeEventListener('message', callback);
144
145
  closeEndPoint(ep);
145
- if (finalizer in obj && typeof obj[finalizer] === "function") {
146
+ if (finalizer in obj && typeof obj[finalizer] === 'function') {
146
147
  obj[finalizer]();
147
148
  }
148
149
  }
@@ -150,26 +151,26 @@ export function expose(obj, ep = globalThis, allowedOrigins = ["*"]) {
150
151
  .catch((error) => {
151
152
  // Send Serialization Error To Caller
152
153
  const [wireValue, transferables] = toWireValue({
153
- value: new TypeError("Unserializable return value"),
154
+ value: new TypeError('Unserializable return value'),
154
155
  [throwMarker]: 0,
155
156
  });
156
157
  ep.postMessage({ ...wireValue, id }, transferables);
157
158
  });
158
159
  }
159
- ep.addEventListener("message", callback);
160
+ ep.addEventListener('message', callback);
160
161
  if (ep.start) {
161
162
  ep.start();
162
163
  }
163
164
  return () => {
164
- ep.removeEventListener("message", callback);
165
+ ep.removeEventListener('message', callback);
165
166
  closeEndPoint(ep);
166
- if (finalizer in obj && typeof obj[finalizer] === "function") {
167
+ if (finalizer in obj && typeof obj[finalizer] === 'function') {
167
168
  obj[finalizer]();
168
169
  }
169
170
  };
170
171
  }
171
172
  function isMessagePort(endpoint) {
172
- return endpoint.constructor.name === "MessagePort";
173
+ return endpoint.constructor.name === 'MessagePort';
173
174
  }
174
175
  function closeEndPoint(endpoint) {
175
176
  if (isMessagePort(endpoint))
@@ -177,7 +178,7 @@ function closeEndPoint(endpoint) {
177
178
  }
178
179
  export function wrap(ep, target) {
179
180
  const pendingListeners = new Map();
180
- ep.addEventListener("message", function handleMessage(ev) {
181
+ ep.addEventListener('message', function handleMessage(ev) {
181
182
  const { data } = ev;
182
183
  if (!data || !data.id) {
183
184
  return;
@@ -197,18 +198,18 @@ export function wrap(ep, target) {
197
198
  }
198
199
  function throwIfProxyReleased(isReleased) {
199
200
  if (isReleased) {
200
- throw new Error("Proxy has been released and is not useable");
201
+ throw new Error('Proxy has been released and is not useable');
201
202
  }
202
203
  }
203
204
  function releaseEndpoint(ep) {
204
205
  return requestResponseMessage(ep, new Map(), {
205
- type: "RELEASE" /* MessageType.RELEASE */,
206
+ type: MessageType.RELEASE,
206
207
  }).then(() => {
207
208
  closeEndPoint(ep);
208
209
  });
209
210
  }
210
211
  const proxyCounter = new WeakMap();
211
- const proxyFinalizers = "FinalizationRegistry" in globalThis &&
212
+ const proxyFinalizers = 'FinalizationRegistry' in globalThis &&
212
213
  new FinalizationRegistry((ep) => {
213
214
  const newCount = (proxyCounter.get(ep) || 0) - 1;
214
215
  proxyCounter.set(ep, newCount);
@@ -228,7 +229,7 @@ function unregisterProxy(proxy) {
228
229
  proxyFinalizers.unregister(proxy);
229
230
  }
230
231
  }
231
- function createProxy(ep, pendingListeners, path = [], target = function () { }) {
232
+ function createProxy(ep, pendingListeners, path = [], target = () => { }) {
232
233
  let isProxyReleased = false;
233
234
  const proxy = new Proxy(target, {
234
235
  get(_target, prop) {
@@ -241,12 +242,12 @@ function createProxy(ep, pendingListeners, path = [], target = function () { })
241
242
  isProxyReleased = true;
242
243
  };
243
244
  }
244
- if (prop === "then") {
245
+ if (prop === 'then') {
245
246
  if (path.length === 0) {
246
247
  return { then: () => proxy };
247
248
  }
248
249
  const r = requestResponseMessage(ep, pendingListeners, {
249
- type: "GET" /* MessageType.GET */,
250
+ type: MessageType.GET,
250
251
  path: path.map((p) => p.toString()),
251
252
  }).then(fromWireValue);
252
253
  return r.then.bind(r);
@@ -259,7 +260,7 @@ function createProxy(ep, pendingListeners, path = [], target = function () { })
259
260
  // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯
260
261
  const [value, transferables] = toWireValue(rawValue);
261
262
  return requestResponseMessage(ep, pendingListeners, {
262
- type: "SET" /* MessageType.SET */,
263
+ type: MessageType.SET,
263
264
  path: [...path, prop].map((p) => p.toString()),
264
265
  value,
265
266
  }, transferables).then(fromWireValue);
@@ -269,16 +270,16 @@ function createProxy(ep, pendingListeners, path = [], target = function () { })
269
270
  const last = path[path.length - 1];
270
271
  if (last === createEndpoint) {
271
272
  return requestResponseMessage(ep, pendingListeners, {
272
- type: "ENDPOINT" /* MessageType.ENDPOINT */,
273
+ type: MessageType.ENDPOINT,
273
274
  }).then(fromWireValue);
274
275
  }
275
276
  // We just pretend that `bind()` didn’t happen.
276
- if (last === "bind") {
277
+ if (last === 'bind') {
277
278
  return createProxy(ep, pendingListeners, path.slice(0, -1));
278
279
  }
279
280
  const [argumentList, transferables] = processArguments(rawArgumentList);
280
281
  return requestResponseMessage(ep, pendingListeners, {
281
- type: "APPLY" /* MessageType.APPLY */,
282
+ type: MessageType.APPLY,
282
283
  path: path.map((p) => p.toString()),
283
284
  argumentList,
284
285
  }, transferables).then(fromWireValue);
@@ -287,7 +288,7 @@ function createProxy(ep, pendingListeners, path = [], target = function () { })
287
288
  throwIfProxyReleased(isProxyReleased);
288
289
  const [argumentList, transferables] = processArguments(rawArgumentList);
289
290
  return requestResponseMessage(ep, pendingListeners, {
290
- type: "CONSTRUCT" /* MessageType.CONSTRUCT */,
291
+ type: MessageType.CONSTRUCT,
291
292
  path: path.map((p) => p.toString()),
292
293
  argumentList,
293
294
  }, transferables).then(fromWireValue);
@@ -311,7 +312,7 @@ export function transfer(obj, transfers) {
311
312
  export function proxy(obj) {
312
313
  return Object.assign(obj, { [proxyMarker]: true });
313
314
  }
314
- export function windowEndpoint(w, context = globalThis, targetOrigin = "*") {
315
+ export function windowEndpoint(w, context = globalThis, targetOrigin = '*') {
315
316
  return {
316
317
  postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),
317
318
  addEventListener: context.addEventListener.bind(context),
@@ -324,7 +325,7 @@ function toWireValue(value) {
324
325
  const [serializedValue, transferables] = handler.serialize(value);
325
326
  return [
326
327
  {
327
- type: "HANDLER" /* WireValueType.HANDLER */,
328
+ type: WireValueType.HANDLER,
328
329
  name,
329
330
  value: serializedValue,
330
331
  },
@@ -334,7 +335,7 @@ function toWireValue(value) {
334
335
  }
335
336
  return [
336
337
  {
337
- type: "RAW" /* WireValueType.RAW */,
338
+ type: WireValueType.RAW,
338
339
  value,
339
340
  },
340
341
  transferCache.get(value) || [],
@@ -342,9 +343,9 @@ function toWireValue(value) {
342
343
  }
343
344
  function fromWireValue(value) {
344
345
  switch (value.type) {
345
- case "HANDLER" /* WireValueType.HANDLER */:
346
+ case WireValueType.HANDLER:
346
347
  return transferHandlers.get(value.name).deserialize(value.value);
347
- case "RAW" /* WireValueType.RAW */:
348
+ case WireValueType.RAW:
348
349
  return value.value;
349
350
  }
350
351
  }
@@ -362,5 +363,5 @@ function generateUUID() {
362
363
  return new Array(4)
363
364
  .fill(0)
364
365
  .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))
365
- .join("-");
366
+ .join('-');
366
367
  }
@@ -1 +1 @@
1
- export * from "./comlink";
1
+ export * from './comlink';
@@ -1 +1 @@
1
- export * from "./comlink";
1
+ export * from './comlink';
@@ -3,7 +3,7 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Endpoint } from "./protocol";
6
+ import type { Endpoint } from './protocol';
7
7
  export interface NodeEndpoint {
8
8
  postMessage(message: any, transfer?: any[]): void;
9
9
  on(type: string, listener: EventListenerOrEventListenerObject, options?: {}): void;
@@ -9,14 +9,14 @@ export default function nodeEndpoint(nep) {
9
9
  postMessage: nep.postMessage.bind(nep),
10
10
  addEventListener: (_, eh) => {
11
11
  const l = (data) => {
12
- if ("handleEvent" in eh) {
12
+ if ('handleEvent' in eh) {
13
13
  eh.handleEvent({ data });
14
14
  }
15
15
  else {
16
16
  eh({ data });
17
17
  }
18
18
  };
19
- nep.on("message", l);
19
+ nep.on('message', l);
20
20
  listeners.set(eh, l);
21
21
  },
22
22
  removeEventListener: (_, eh) => {
@@ -24,9 +24,9 @@ export default function nodeEndpoint(nep) {
24
24
  if (!l) {
25
25
  return;
26
26
  }
27
- nep.off("message", l);
27
+ nep.off('message', l);
28
28
  listeners.delete(eh);
29
29
  },
30
- start: nep.start && nep.start.bind(nep),
30
+ start: nep.start?.bind(nep),
31
31
  };
32
32
  }
@@ -14,7 +14,7 @@ export interface Endpoint extends EventSource {
14
14
  postMessage(message: any, transfer?: Transferable[]): void;
15
15
  start?: () => void;
16
16
  }
17
- export declare const enum WireValueType {
17
+ export declare enum WireValueType {
18
18
  RAW = "RAW",
19
19
  PROXY = "PROXY",
20
20
  THROW = "THROW",
@@ -33,7 +33,7 @@ export interface HandlerWireValue {
33
33
  }
34
34
  export type WireValue = RawWireValue | HandlerWireValue;
35
35
  export type MessageID = string;
36
- export declare const enum MessageType {
36
+ export declare enum MessageType {
37
37
  GET = "GET",
38
38
  SET = "SET",
39
39
  APPLY = "APPLY",
@@ -3,4 +3,19 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export {};
6
+ export var WireValueType;
7
+ (function (WireValueType) {
8
+ WireValueType["RAW"] = "RAW";
9
+ WireValueType["PROXY"] = "PROXY";
10
+ WireValueType["THROW"] = "THROW";
11
+ WireValueType["HANDLER"] = "HANDLER";
12
+ })(WireValueType || (WireValueType = {}));
13
+ export var MessageType;
14
+ (function (MessageType) {
15
+ MessageType["GET"] = "GET";
16
+ MessageType["SET"] = "SET";
17
+ MessageType["APPLY"] = "APPLY";
18
+ MessageType["CONSTRUCT"] = "CONSTRUCT";
19
+ MessageType["ENDPOINT"] = "ENDPOINT";
20
+ MessageType["RELEASE"] = "RELEASE";
21
+ })(MessageType || (MessageType = {}));
@@ -1,19 +1,19 @@
1
- import { FrameHost } from "@farcaster/frame-core";
2
- import { Provider } from "ox";
3
- import { HostEndpoint } from "../types";
1
+ import type { FrameHost } from '@farcaster/frame-core';
2
+ import type { Provider } from 'ox';
3
+ import type { HostEndpoint } from '../types';
4
4
  /**
5
5
  * @returns function to cleanup provider listeners
6
6
  */
7
7
  export declare function exposeToEndpoint({ endpoint, sdk, frameOrigin, ethProvider, debug, }: {
8
8
  endpoint: HostEndpoint;
9
- sdk: Omit<FrameHost, "ethProviderRequestV2">;
9
+ sdk: Omit<FrameHost, 'ethProviderRequestV2'>;
10
10
  frameOrigin: string;
11
11
  ethProvider?: Provider.Provider;
12
12
  debug?: boolean;
13
13
  }): () => void;
14
14
  export declare function useExposeToEndpoint({ endpoint, sdk, frameOrigin, ethProvider, debug, }: {
15
15
  endpoint: HostEndpoint | undefined;
16
- sdk: Omit<FrameHost, "ethProviderRequestV2">;
16
+ sdk: Omit<FrameHost, 'ethProviderRequestV2'>;
17
17
  frameOrigin: string;
18
18
  ethProvider?: Provider.Provider;
19
19
  debug?: boolean;
@@ -1,7 +1,7 @@
1
- import * as Comlink from "../comlink";
2
- import { forwardProviderEvents, wrapProviderRequest } from "./provider";
3
- import { wrapHandlers } from "./sdk";
4
- import { useEffect } from "react";
1
+ import { useEffect } from 'react';
2
+ import * as Comlink from '../comlink';
3
+ import { forwardProviderEvents, wrapProviderRequest } from './provider';
4
+ import { wrapHandlers } from './sdk';
5
5
  /**
6
6
  * @returns function to cleanup provider listeners
7
7
  */
@@ -1,5 +1,5 @@
1
- import { Provider, RpcRequest, RpcResponse } from "ox";
2
- import { HostEndpoint } from "../types";
1
+ import { Provider, type RpcRequest, RpcResponse } from 'ox';
2
+ import type { HostEndpoint } from '../types';
3
3
  export declare function forwardProviderEvents({ provider, endpoint, }: {
4
4
  provider: Provider.Provider;
5
5
  endpoint: HostEndpoint;
@@ -1,31 +1,31 @@
1
- import { Provider, RpcResponse } from "ox";
1
+ import { Provider, RpcResponse } from 'ox';
2
2
  export function forwardProviderEvents({ provider, endpoint, }) {
3
- let accountsChanged = (accounts) => {
4
- endpoint.emitEthProvider("accountsChanged", [accounts]);
3
+ const accountsChanged = (accounts) => {
4
+ endpoint.emitEthProvider('accountsChanged', [accounts]);
5
5
  };
6
- let chainChanged = (chainId) => {
7
- endpoint.emitEthProvider("chainChanged", [chainId]);
6
+ const chainChanged = (chainId) => {
7
+ endpoint.emitEthProvider('chainChanged', [chainId]);
8
8
  };
9
- let connect = (connectInfo) => {
10
- endpoint.emitEthProvider("connect", [connectInfo]);
9
+ const connect = (connectInfo) => {
10
+ endpoint.emitEthProvider('connect', [connectInfo]);
11
11
  };
12
- let disconnect = (providerRpcError) => {
13
- endpoint.emitEthProvider("disconnect", [providerRpcError]);
12
+ const disconnect = (providerRpcError) => {
13
+ endpoint.emitEthProvider('disconnect', [providerRpcError]);
14
14
  };
15
- let message = (message) => {
16
- endpoint.emitEthProvider("message", [message]);
15
+ const message = (message) => {
16
+ endpoint.emitEthProvider('message', [message]);
17
17
  };
18
- provider.on("accountsChanged", accountsChanged);
19
- provider.on("chainChanged", chainChanged);
20
- provider.on("connect", connect);
21
- provider.on("disconnect", disconnect);
22
- provider.on("message", message);
18
+ provider.on('accountsChanged', accountsChanged);
19
+ provider.on('chainChanged', chainChanged);
20
+ provider.on('connect', connect);
21
+ provider.on('disconnect', disconnect);
22
+ provider.on('message', message);
23
23
  return () => {
24
- provider.removeListener("accountsChanged", accountsChanged);
25
- provider.removeListener("chainChanged", chainChanged);
26
- provider.removeListener("connect", connect);
27
- provider.removeListener("disconnect", disconnect);
28
- provider.removeListener("message", message);
24
+ provider.removeListener('accountsChanged', accountsChanged);
25
+ provider.removeListener('chainChanged', chainChanged);
26
+ provider.removeListener('connect', connect);
27
+ provider.removeListener('disconnect', disconnect);
28
+ provider.removeListener('message', message);
29
29
  };
30
30
  }
31
31
  // export type FrameTransport<
@@ -39,18 +39,18 @@ export function forwardProviderEvents({ provider, endpoint, }) {
39
39
  export const wrapProviderRequest = ({ provider, debug = false, }) => async (request) => {
40
40
  try {
41
41
  if (debug) {
42
- console.debug("[frame-host] eth provider req: ", request);
42
+ console.debug('[frame-host] eth provider req: ', request);
43
43
  }
44
44
  const result = await provider.request(request);
45
45
  const response = RpcResponse.from({ result }, { request });
46
46
  if (debug) {
47
- console.debug("[frame-host] eth provider res: ", response);
47
+ console.debug('[frame-host] eth provider res: ', response);
48
48
  }
49
49
  return response;
50
50
  }
51
51
  catch (e) {
52
52
  if (debug) {
53
- console.error("provider request error", e);
53
+ console.error('provider request error', e);
54
54
  }
55
55
  if (e instanceof Provider.ProviderRpcError) {
56
56
  return RpcResponse.from({
@@ -62,22 +62,22 @@ export const wrapProviderRequest = ({ provider, debug = false, }) => async (requ
62
62
  }, { request });
63
63
  }
64
64
  if (e !== null &&
65
- typeof e === "object" &&
66
- "message" in e &&
67
- typeof e.message === "string" &&
68
- "code" in e &&
69
- typeof e.code === "number") {
65
+ typeof e === 'object' &&
66
+ 'message' in e &&
67
+ typeof e.message === 'string' &&
68
+ 'code' in e &&
69
+ typeof e.code === 'number') {
70
70
  return RpcResponse.from({
71
71
  error: {
72
72
  message: e.message,
73
73
  code: e.code,
74
- details: "details" in e && typeof e.details === "string"
74
+ details: 'details' in e && typeof e.details === 'string'
75
75
  ? e.details
76
76
  : undefined,
77
77
  },
78
78
  }, { request });
79
79
  }
80
- const errorMessage = e instanceof Error ? e.message : "Unknown";
80
+ const errorMessage = e instanceof Error ? e.message : 'Unknown';
81
81
  return RpcResponse.from({
82
82
  error: {
83
83
  message: errorMessage,
@@ -1,2 +1,2 @@
1
- import type { FrameHost, WireFrameHost } from "@farcaster/frame-core";
1
+ import type { FrameHost, WireFrameHost } from '@farcaster/frame-core';
2
2
  export declare function wrapHandlers(host: FrameHost): WireFrameHost;
@@ -1,7 +1,30 @@
1
- import { SignIn } from "@farcaster/frame-core";
1
+ import { AddFrame, SignIn } from '@farcaster/frame-core';
2
2
  export function wrapHandlers(host) {
3
3
  return {
4
4
  ...host,
5
+ addFrame: async () => {
6
+ try {
7
+ const result = await host.addFrame();
8
+ return { result };
9
+ }
10
+ catch (e) {
11
+ if (e instanceof AddFrame.RejectedByUser) {
12
+ return {
13
+ error: {
14
+ type: 'rejected_by_user',
15
+ },
16
+ };
17
+ }
18
+ if (e instanceof AddFrame.InvalidDomainManifest) {
19
+ return {
20
+ error: {
21
+ type: 'invalid_domain_manifest',
22
+ },
23
+ };
24
+ }
25
+ throw e;
26
+ }
27
+ },
5
28
  signIn: async (options) => {
6
29
  try {
7
30
  const result = await host.signIn(options);
@@ -11,12 +34,12 @@ export function wrapHandlers(host) {
11
34
  if (e instanceof SignIn.RejectedByUser) {
12
35
  return {
13
36
  error: {
14
- type: 'rejected_by_user'
15
- }
37
+ type: 'rejected_by_user',
38
+ },
16
39
  };
17
40
  }
18
41
  throw e;
19
42
  }
20
- }
43
+ },
21
44
  };
22
45
  }
package/dist/iframe.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { Provider } from "ox";
2
- import { FrameHost } from "@farcaster/frame-core";
3
- import { HostEndpoint } from "./types";
1
+ import type { FrameHost } from '@farcaster/frame-core';
2
+ import type { Provider } from 'ox';
3
+ import type { HostEndpoint } from './types';
4
4
  /**
5
5
  * An endpoint of communicating with an iFrame
6
6
  */
@@ -11,7 +11,7 @@ export declare function createIframeEndpoint({ iframe, targetOrigin, debug, }: {
11
11
  }): HostEndpoint;
12
12
  export declare function exposeToIframe({ iframe, sdk, ethProvider, frameOrigin, debug, }: {
13
13
  iframe: HTMLIFrameElement;
14
- sdk: Omit<FrameHost, "ethProviderRequestV2">;
14
+ sdk: Omit<FrameHost, 'ethProviderRequestV2'>;
15
15
  frameOrigin: string;
16
16
  ethProvider?: Provider.Provider;
17
17
  debug?: boolean;
package/dist/iframe.js CHANGED
@@ -1,5 +1,5 @@
1
- import * as Comlink from "./comlink";
2
- import { exposeToEndpoint } from "./helpers/endpoint";
1
+ import * as Comlink from './comlink';
2
+ import { exposeToEndpoint } from './helpers/endpoint';
3
3
  /**
4
4
  * An endpoint of communicating with an iFrame
5
5
  */
@@ -9,20 +9,20 @@ export function createIframeEndpoint({ iframe, targetOrigin, debug = true, }) {
9
9
  ...Comlink.windowEndpoint(iframe.contentWindow),
10
10
  emit: (event) => {
11
11
  if (debug) {
12
- console.debug("frameEvent", event);
12
+ console.debug('frameEvent', event);
13
13
  }
14
14
  const wireEvent = {
15
- type: "frameEvent",
15
+ type: 'frameEvent',
16
16
  event,
17
17
  };
18
18
  iframe.contentWindow?.postMessage(wireEvent, targetOrigin);
19
19
  },
20
20
  emitEthProvider: (event, params) => {
21
21
  if (debug) {
22
- console.debug("fc:emitEthProvider", event, params);
22
+ console.debug('fc:emitEthProvider', event, params);
23
23
  }
24
24
  const wireEvent = {
25
- type: "frameEthProviderEvent",
25
+ type: 'frameEthProviderEvent',
26
26
  event,
27
27
  params,
28
28
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from "@farcaster/frame-core";
2
- export * from "./types";
3
- export * from "./iframe";
4
- export * from "./helpers/endpoint";
1
+ export * from '@farcaster/frame-core';
2
+ export * from './types';
3
+ export * from './iframe';
4
+ export * from './helpers/endpoint';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export * from "@farcaster/frame-core";
2
- export * from "./types";
3
- export * from "./iframe";
4
- export * from "./helpers/endpoint";
1
+ export * from '@farcaster/frame-core';
2
+ export * from './types';
3
+ export * from './iframe';
4
+ export * from './helpers/endpoint';