@webview-bridge/react-native 1.6.1 → 1.7.0-rc.0

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 (39) hide show
  1. package/dist/index.cjs +922 -0
  2. package/dist/index.d.cts +155 -0
  3. package/dist/index.d.ts +155 -0
  4. package/dist/index.js +821 -0
  5. package/package.json +19 -25
  6. package/dist/packages/react-native/src/createWebView.d.ts +0 -50
  7. package/dist/packages/react-native/src/createWebView.js +0 -180
  8. package/dist/packages/react-native/src/error.d.ts +0 -3
  9. package/dist/packages/react-native/src/error.js +0 -10
  10. package/dist/packages/react-native/src/index.d.ts +0 -6
  11. package/dist/packages/react-native/src/index.js +0 -22
  12. package/dist/packages/react-native/src/integrations/bridge.d.ts +0 -20
  13. package/dist/packages/react-native/src/integrations/bridge.js +0 -95
  14. package/dist/packages/react-native/src/integrations/console.d.ts +0 -3
  15. package/dist/packages/react-native/src/integrations/console.js +0 -56
  16. package/dist/packages/react-native/src/integrations/handleRegisterWebMethod.d.ts +0 -4
  17. package/dist/packages/react-native/src/integrations/handleRegisterWebMethod.js +0 -30
  18. package/dist/packages/react-native/src/integrations/postMessageSchema.d.ts +0 -2
  19. package/dist/packages/react-native/src/integrations/postMessageSchema.js +0 -56
  20. package/dist/packages/react-native/src/types/webview.d.ts +0 -3
  21. package/dist/packages/react-native/src/types/webview.js +0 -2
  22. package/dist/packages/react-native/src/useBridge.d.ts +0 -3
  23. package/dist/packages/react-native/src/useBridge.js +0 -9
  24. package/dist/shared/util/src/createEvents.d.ts +0 -25
  25. package/dist/shared/util/src/createEvents.js +0 -40
  26. package/dist/shared/util/src/createRandomId.d.ts +0 -1
  27. package/dist/shared/util/src/createRandomId.js +0 -10
  28. package/dist/shared/util/src/equals.d.ts +0 -1
  29. package/dist/shared/util/src/equals.js +0 -49
  30. package/dist/shared/util/src/index.d.ts +0 -6
  31. package/dist/shared/util/src/index.js +0 -22
  32. package/dist/shared/util/src/noop.d.ts +0 -1
  33. package/dist/shared/util/src/noop.js +0 -5
  34. package/dist/shared/util/src/removeUndefinedKeys.d.ts +0 -1
  35. package/dist/shared/util/src/removeUndefinedKeys.js +0 -12
  36. package/dist/shared/util/src/timeout.d.ts +0 -1
  37. package/dist/shared/util/src/timeout.js +0 -16
  38. package/dist/shared/util/src/types.d.ts +0 -36
  39. package/dist/shared/util/src/types.js +0 -2
@@ -1,25 +0,0 @@
1
- interface EventsMap {
2
- [event: string]: any;
3
- }
4
- export interface DefaultEvents extends EventsMap {
5
- [event: string]: (...args: any) => void;
6
- }
7
- export interface EventEmitter<Events extends EventsMap = DefaultEvents> {
8
- emit<K extends keyof Events>(this: this, event: K, ...args: Parameters<Events[K]>): void;
9
- events: Partial<{
10
- [E in keyof Events]: Events[E][];
11
- }>;
12
- on<K extends keyof Events>(this: this, event: K, cb: Events[K]): () => void;
13
- }
14
- export type DefaultEmitter = EventEmitter<DefaultEvents>;
15
- export declare const createEvents: <Events extends EventsMap = DefaultEvents>() => EventEmitter<Events>;
16
- export interface CreateResolverOptions {
17
- emitter: DefaultEmitter;
18
- evaluate: () => void;
19
- eventId: string;
20
- failHandler?: Error | false;
21
- methodName: string;
22
- onFallback?: () => void;
23
- }
24
- export declare const createResolver: ({ emitter, evaluate, eventId, failHandler, methodName, onFallback, }: CreateResolverOptions) => Promise<unknown>;
25
- export {};
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createResolver = exports.createEvents = void 0;
4
- const createEvents = () => ({
5
- events: {},
6
- emit(event, ...args) {
7
- const callbacks = this.events[event] || [];
8
- for (let i = 0, length = callbacks.length; i < length; i++) {
9
- callbacks[i](...args);
10
- }
11
- },
12
- on(event, cb) {
13
- this.events[event]?.push(cb) || (this.events[event] = [cb]);
14
- return () => {
15
- this.events[event] = this.events[event]?.filter((i) => cb !== i);
16
- };
17
- },
18
- });
19
- exports.createEvents = createEvents;
20
- const createResolver = ({ emitter, evaluate, eventId, failHandler = false, methodName, onFallback, }) => {
21
- return new Promise((resolve, reject) => {
22
- const unbind = emitter.on(`${methodName}-${eventId}`, (data, throwOccurred) => {
23
- unbind();
24
- if (throwOccurred) {
25
- if (failHandler instanceof Error) {
26
- onFallback?.();
27
- reject(failHandler);
28
- }
29
- else {
30
- resolve(void 0);
31
- }
32
- }
33
- else {
34
- resolve(data);
35
- }
36
- });
37
- evaluate();
38
- });
39
- };
40
- exports.createResolver = createResolver;
@@ -1 +0,0 @@
1
- export declare const createRandomId: (size?: number) => string;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRandomId = void 0;
4
- const TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
5
- const ID_LENGTH = 21;
6
- const createRandomId = (size = ID_LENGTH) => {
7
- const randomValues = Array.from({ length: size }, () => TABLE[Math.floor(Math.random() * TABLE.length)]);
8
- return randomValues.join("");
9
- };
10
- exports.createRandomId = createRandomId;
@@ -1 +0,0 @@
1
- export declare const equals: (a: any, b: any) => boolean;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.equals = void 0;
4
- const equals = (a, b) => {
5
- if (a === b) {
6
- return true;
7
- }
8
- if (a && b && typeof a === "object" && typeof b === "object") {
9
- const arrA = Array.isArray(a);
10
- const arrB = Array.isArray(b);
11
- let i;
12
- let length;
13
- let key;
14
- if (arrA && arrB) {
15
- length = a.length;
16
- if (length !== b.length) {
17
- return false;
18
- }
19
- for (i = length; i-- !== 0;) {
20
- if (!(0, exports.equals)(a[i], b[i])) {
21
- return false;
22
- }
23
- }
24
- return true;
25
- }
26
- if (arrA !== arrB) {
27
- return false;
28
- }
29
- const keys = Object.keys(a);
30
- length = keys.length;
31
- if (length !== Object.keys(b).length) {
32
- return false;
33
- }
34
- for (i = length; i-- !== 0;) {
35
- if (!Object.prototype.hasOwnProperty.call(b, keys[i])) {
36
- return false;
37
- }
38
- }
39
- for (i = length; i-- !== 0;) {
40
- key = keys[i];
41
- if (!(0, exports.equals)(a[key], b[key])) {
42
- return false;
43
- }
44
- }
45
- return true;
46
- }
47
- return a !== a && b !== b;
48
- };
49
- exports.equals = equals;
@@ -1,6 +0,0 @@
1
- export * from "./createEvents";
2
- export * from "./createRandomId";
3
- export * from "./equals";
4
- export * from "./noop";
5
- export * from "./removeUndefinedKeys";
6
- export * from "./timeout";
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./createEvents"), exports);
18
- __exportStar(require("./createRandomId"), exports);
19
- __exportStar(require("./equals"), exports);
20
- __exportStar(require("./noop"), exports);
21
- __exportStar(require("./removeUndefinedKeys"), exports);
22
- __exportStar(require("./timeout"), exports);
@@ -1 +0,0 @@
1
- export declare const noop: () => void;
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noop = void 0;
4
- const noop = () => { };
5
- exports.noop = noop;
@@ -1 +0,0 @@
1
- export declare const removeUndefinedKeys: (obj: Record<string, any>) => Record<string, any>;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeUndefinedKeys = void 0;
4
- const removeUndefinedKeys = (obj) => {
5
- Object.keys(obj).forEach((key) => {
6
- if (obj[key] === undefined) {
7
- delete obj[key];
8
- }
9
- });
10
- return obj;
11
- };
12
- exports.removeUndefinedKeys = removeUndefinedKeys;
@@ -1 +0,0 @@
1
- export declare const timeout: (ms: number, throwOnError?: boolean) => Promise<unknown>;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.timeout = void 0;
4
- const timeout = (ms, throwOnError = true) => {
5
- return new Promise((resolve, reject) => {
6
- setTimeout(() => {
7
- if (throwOnError) {
8
- reject(new Error("Timeout"));
9
- }
10
- else {
11
- resolve(void 0);
12
- }
13
- }, ms);
14
- });
15
- };
16
- exports.timeout = timeout;
@@ -1,36 +0,0 @@
1
- import type { Infer as SupertructInfer, Struct } from "superstruct";
2
- import type { AnySchema as YupTypeAny, InferType as yupInfer } from "yup";
3
- import type { infer as zodInfer, ZodTypeAny } from "zod";
4
- export type AsyncFunction = (...args: any[]) => Promise<any>;
5
- export type Primitive = string | number | boolean | null | undefined;
6
- export type PrimitiveObject = Record<string, Primitive>;
7
- export type RawJSON = Primitive | {
8
- [key: string]: RawJSON;
9
- } | RawJSONArray;
10
- interface RawJSONArray extends Array<RawJSON> {
11
- }
12
- export type Bridge = Record<string, AsyncFunction | RawJSON>;
13
- export type BridgeStore<T extends Bridge> = {
14
- getState: () => T;
15
- setState: (newState: Partial<OnlyJSON<T>>) => void;
16
- subscribe: (listener: (newState: T, prevState: T) => void) => () => void;
17
- };
18
- export type ExtractStore<S> = S extends {
19
- getState: () => infer T;
20
- } ? T : never;
21
- export type OnlyJSON<T> = {
22
- [P in keyof T as T[P] extends RawJSON ? P : never]: T[P];
23
- };
24
- export type ExcludePrimitive<T> = {
25
- [P in keyof T as T[P] extends RawJSON ? never : P]: T[P];
26
- };
27
- export type KeyOfOrString<T> = T extends undefined ? string : keyof T;
28
- export type PostMessageSchemaObject = Record<string, ZodTypeAny | YupTypeAny | Struct<any>>;
29
- export type ParserSchema<T = object> = {
30
- [P in keyof T]: {
31
- parse: (data: any) => any;
32
- schema: T[P];
33
- };
34
- };
35
- export type Parser<Input extends ParserSchema<any>, EventName> = Input extends undefined ? Record<string, Primitive> | Primitive : EventName extends keyof Input ? Input[EventName]["schema"] extends ZodTypeAny ? zodInfer<Input[EventName]["schema"]> : Input[EventName]["schema"] extends YupTypeAny ? yupInfer<Input[EventName]["schema"]> : Input[EventName]["schema"] extends Struct<any> ? SupertructInfer<Input[EventName]["schema"]> : Record<string, Primitive> | Primitive : never;
36
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });