Comparing version 5.2.0 to 5.2.1
@@ -0,1 +1,5 @@ | ||
# 5.2.1 | ||
- Fix circular dependency issue ([Issue #97](https://github.com/braintree/framebus/issues/97)) | ||
# 5.2.0 | ||
@@ -2,0 +6,0 @@ |
@@ -1,5 +0,5 @@ | ||
import type { FramebusSubscriberArg, FramebusOnHandler, FramebusReplyHandler } from "./lib/types"; | ||
declare type VerifyDomainMethod = (domain: string) => boolean; | ||
declare type IFrameOrWindowList = Array<HTMLIFrameElement | Window>; | ||
declare type FramebusOptions = { | ||
import type { FramebusSubscriberArg, FramebusOnHandler, FramebusReplyHandler } from "./lib"; | ||
type VerifyDomainMethod = (domain: string) => boolean; | ||
type IFrameOrWindowList = Array<HTMLIFrameElement | Window>; | ||
type FramebusOptions = { | ||
channel?: string; | ||
@@ -21,3 +21,3 @@ origin?: string; | ||
static Promise: PromiseConstructor; | ||
static setPromise(PromiseGlobal: typeof Framebus["Promise"]): void; | ||
static setPromise(PromiseGlobal: (typeof Framebus)["Promise"]): void; | ||
static target(options?: FramebusOptions): Framebus; | ||
@@ -24,0 +24,0 @@ addTargetFrame(frame: Window | HTMLIFrameElement): void; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Framebus = void 0; | ||
var is_not_string_1 = require("./lib/is-not-string"); | ||
var subscription_args_invalid_1 = require("./lib/subscription-args-invalid"); | ||
var broadcast_1 = require("./lib/broadcast"); | ||
var package_payload_1 = require("./lib/package-payload"); | ||
var send_message_1 = require("./lib/send-message"); | ||
var constants_1 = require("./lib/constants"); | ||
var lib_1 = require("./lib"); | ||
var DefaultPromise = (typeof window !== "undefined" && | ||
@@ -53,3 +48,3 @@ window.Promise); | ||
} | ||
constants_1.childWindows.push(childWindow); | ||
lib_1.childWindows.push(childWindow); | ||
return true; | ||
@@ -66,6 +61,6 @@ }; | ||
eventName = this.namespaceEvent(eventName); | ||
if ((0, is_not_string_1.isntString)(eventName)) { | ||
if ((0, lib_1.isntString)(eventName)) { | ||
return false; | ||
} | ||
if ((0, is_not_string_1.isntString)(origin)) { | ||
if ((0, lib_1.isntString)(origin)) { | ||
return false; | ||
@@ -77,3 +72,3 @@ } | ||
} | ||
var payload = (0, package_payload_1.packagePayload)(eventName, origin, data, reply); | ||
var payload = (0, lib_1.packagePayload)(eventName, origin, data, reply); | ||
if (!payload) { | ||
@@ -84,7 +79,7 @@ return false; | ||
this.targetFramesAsWindows().forEach(function (frame) { | ||
(0, send_message_1.sendMessage)(frame, payload, origin); | ||
(0, lib_1.sendMessage)(frame, payload, origin); | ||
}); | ||
} | ||
else { | ||
(0, broadcast_1.broadcast)(payload, { | ||
(0, lib_1.broadcast)(payload, { | ||
origin: origin, | ||
@@ -116,3 +111,3 @@ frame: window.top || window.self, | ||
eventName = this.namespaceEvent(eventName); | ||
if ((0, subscription_args_invalid_1.subscriptionArgsInvalid)(eventName, handler, origin)) { | ||
if ((0, lib_1.subscriptionArgsInvalid)(eventName, handler, origin)) { | ||
return false; | ||
@@ -144,5 +139,5 @@ } | ||
}); | ||
constants_1.subscribers[origin] = constants_1.subscribers[origin] || {}; | ||
constants_1.subscribers[origin][eventName] = constants_1.subscribers[origin][eventName] || []; | ||
constants_1.subscribers[origin][eventName].push(handler); | ||
lib_1.subscribers[origin] = lib_1.subscribers[origin] || {}; | ||
lib_1.subscribers[origin][eventName] = lib_1.subscribers[origin][eventName] || []; | ||
lib_1.subscribers[origin][eventName].push(handler); | ||
return true; | ||
@@ -165,6 +160,6 @@ }; | ||
var origin = this.origin; | ||
if ((0, subscription_args_invalid_1.subscriptionArgsInvalid)(eventName, handler, origin)) { | ||
if ((0, lib_1.subscriptionArgsInvalid)(eventName, handler, origin)) { | ||
return false; | ||
} | ||
var subscriberList = constants_1.subscribers[origin] && constants_1.subscribers[origin][eventName]; | ||
var subscriberList = lib_1.subscribers[origin] && lib_1.subscribers[origin][eventName]; | ||
if (!subscriberList) { | ||
@@ -171,0 +166,0 @@ return false; |
"use strict"; | ||
var attach_1 = require("./lib/attach"); | ||
var lib_1 = require("./lib"); | ||
var framebus_1 = require("./framebus"); | ||
(0, attach_1.attach)(); | ||
(0, lib_1.attach)(); | ||
module.exports = framebus_1.Framebus; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.detach = exports.attach = void 0; | ||
var message_1 = require("./message"); | ||
var _1 = require("./"); | ||
var isAttached = false; | ||
@@ -11,3 +11,3 @@ function attach() { | ||
isAttached = true; | ||
window.addEventListener("message", message_1.onmessage, false); | ||
window.addEventListener("message", _1.onMessage, false); | ||
} | ||
@@ -18,5 +18,5 @@ exports.attach = attach; | ||
isAttached = false; | ||
window.removeEventListener("message", message_1.onmessage, false); | ||
window.removeEventListener("message", _1.onMessage, false); | ||
} | ||
exports.detach = detach; | ||
// endRemoveIf(production) |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.broadcastToChildWindows = void 0; | ||
var broadcast_1 = require("./broadcast"); | ||
var constants_1 = require("./constants"); | ||
var _1 = require("./"); | ||
function broadcastToChildWindows(payload, origin, source) { | ||
for (var i = constants_1.childWindows.length - 1; i >= 0; i--) { | ||
var childWindow = constants_1.childWindows[i]; | ||
for (var i = _1.childWindows.length - 1; i >= 0; i--) { | ||
var childWindow = _1.childWindows[i]; | ||
if (childWindow.closed) { | ||
constants_1.childWindows.splice(i, 1); | ||
_1.childWindows.splice(i, 1); | ||
} | ||
else if (source !== childWindow) { | ||
(0, broadcast_1.broadcast)(payload, { | ||
(0, _1.broadcast)(payload, { | ||
origin: origin, | ||
@@ -15,0 +14,0 @@ frame: childWindow.top, |
@@ -1,2 +0,2 @@ | ||
declare type BroadcastOptions = { | ||
type BroadcastOptions = { | ||
origin: string; | ||
@@ -3,0 +3,0 @@ frame: Window; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.broadcast = void 0; | ||
var has_opener_1 = require("./has-opener"); | ||
var _1 = require("./"); | ||
function broadcast(payload, options) { | ||
@@ -11,3 +11,3 @@ var i = 0; | ||
frame.postMessage(payload, origin); | ||
if ((0, has_opener_1.hasOpener)(frame) && frame.opener.top !== window.top) { | ||
if ((0, _1.hasOpener)(frame) && frame.opener.top !== window.top) { | ||
broadcast(payload, { | ||
@@ -14,0 +14,0 @@ origin: origin, |
@@ -1,4 +0,4 @@ | ||
import type { FramebusSubscriber } from "./types"; | ||
import type { FramebusSubscriber } from "./"; | ||
export declare const prefix = "/*framebus*/"; | ||
export declare const childWindows: Window[]; | ||
export declare const subscribers: FramebusSubscriber; |
@@ -1,2 +0,2 @@ | ||
import type { FramebusSubscriberArg, FramebusSubscribeHandler } from "./types"; | ||
import type { FramebusSubscriberArg, FramebusSubscribeHandler } from "./"; | ||
export declare function dispatch(origin: string, event: string, data?: FramebusSubscriberArg, reply?: FramebusSubscribeHandler, e?: MessageEvent): void; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.dispatch = void 0; | ||
var constants_1 = require("./constants"); | ||
var _1 = require("./"); | ||
function dispatch(origin, event, data, reply, e) { | ||
if (!constants_1.subscribers[origin]) { | ||
if (!_1.subscribers[origin]) { | ||
return; | ||
} | ||
if (!constants_1.subscribers[origin][event]) { | ||
if (!_1.subscribers[origin][event]) { | ||
return; | ||
@@ -19,6 +19,6 @@ } | ||
} | ||
for (var i = 0; i < constants_1.subscribers[origin][event].length; i++) { | ||
constants_1.subscribers[origin][event][i].apply(e, args); | ||
for (var i = 0; i < _1.subscribers[origin][event].length; i++) { | ||
_1.subscribers[origin][event][i].apply(e, args); | ||
} | ||
} | ||
exports.dispatch = dispatch; |
@@ -1,1 +0,1 @@ | ||
export declare function onmessage(e: MessageEvent): void; | ||
export declare function onMessage(e: MessageEvent): void; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.onmessage = void 0; | ||
var is_not_string_1 = require("./is-not-string"); | ||
var unpack_payload_1 = require("./unpack-payload"); | ||
var dispatch_1 = require("./dispatch"); | ||
var broadcast_to_child_windows_1 = require("./broadcast-to-child-windows"); | ||
function onmessage(e) { | ||
if ((0, is_not_string_1.isntString)(e.data)) { | ||
exports.onMessage = void 0; | ||
var _1 = require("./"); | ||
function onMessage(e) { | ||
if ((0, _1.isntString)(e.data)) { | ||
return; | ||
} | ||
var payload = (0, unpack_payload_1.unpackPayload)(e); | ||
var payload = (0, _1.unpackPayload)(e); | ||
if (!payload) { | ||
@@ -18,6 +15,6 @@ return; | ||
var reply = payload.reply; | ||
(0, dispatch_1.dispatch)("*", payload.event, data, reply, e); | ||
(0, dispatch_1.dispatch)(e.origin, payload.event, data, reply, e); | ||
(0, broadcast_to_child_windows_1.broadcastToChildWindows)(e.data, payload.origin, e.source); | ||
(0, _1.dispatch)("*", payload.event, data, reply, e); | ||
(0, _1.dispatch)(e.origin, payload.event, data, reply, e); | ||
(0, _1.broadcastToChildWindows)(e.data, payload.origin, e.source); | ||
} | ||
exports.onmessage = onmessage; | ||
exports.onMessage = onMessage; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.packagePayload = void 0; | ||
var subscribe_replier_1 = require("./subscribe-replier"); | ||
var constants_1 = require("./constants"); | ||
var _1 = require("./"); | ||
function packagePayload(event, origin, data, reply) { | ||
@@ -13,7 +12,7 @@ var packaged; | ||
if (typeof reply === "function") { | ||
payload.reply = (0, subscribe_replier_1.subscribeReplier)(reply, origin); | ||
payload.reply = (0, _1.subscribeReplier)(reply, origin); | ||
} | ||
payload.eventData = data; | ||
try { | ||
packaged = constants_1.prefix + JSON.stringify(payload); | ||
packaged = _1.prefix + JSON.stringify(payload); | ||
} | ||
@@ -20,0 +19,0 @@ catch (e) { |
@@ -1,2 +0,2 @@ | ||
import type { FramebusSubscribeHandler } from "./types"; | ||
import type { FramebusSubscribeHandler } from "./"; | ||
export declare function subscribeReplier(fn: FramebusSubscribeHandler, origin: string): string; |
@@ -1,2 +0,2 @@ | ||
import type { FramebusOnHandler } from "./types"; | ||
import type { FramebusOnHandler } from "./"; | ||
export declare function subscriptionArgsInvalid(event: string, fn: FramebusOnHandler, origin: string): boolean; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.subscriptionArgsInvalid = void 0; | ||
var is_not_string_1 = require("./is-not-string"); | ||
var _1 = require("./"); | ||
function subscriptionArgsInvalid(event, fn, origin) { | ||
if ((0, is_not_string_1.isntString)(event)) { | ||
if ((0, _1.isntString)(event)) { | ||
return true; | ||
@@ -12,4 +12,4 @@ } | ||
} | ||
return (0, is_not_string_1.isntString)(origin); | ||
return (0, _1.isntString)(origin); | ||
} | ||
exports.subscriptionArgsInvalid = subscriptionArgsInvalid; |
@@ -6,4 +6,4 @@ declare global { | ||
} | ||
declare type ReplyFunction = (...args: unknown[]) => void; | ||
export declare type FramebusPayload = { | ||
type ReplyFunction = (...args: unknown[]) => void; | ||
export type FramebusPayload = { | ||
data?: string; | ||
@@ -15,8 +15,8 @@ event: string; | ||
}; | ||
export declare type FramebusSubscriberArg = Record<string, unknown>; | ||
export declare type FramebusSubscribeHandler = (data?: FramebusSubscriberArg | FramebusSubscribeHandler, reply?: FramebusSubscribeHandler) => void; | ||
declare type FramebusSubscription = Record<string, FramebusSubscribeHandler[]>; | ||
export declare type FramebusSubscriber = Record<string, FramebusSubscription>; | ||
export declare type FramebusReplyHandler = (data: unknown) => void; | ||
export declare type FramebusOnHandler = (data: FramebusSubscriberArg, reply: FramebusReplyHandler) => void; | ||
export type FramebusSubscriberArg = Record<string, unknown>; | ||
export type FramebusSubscribeHandler = (data?: FramebusSubscriberArg | FramebusSubscribeHandler, reply?: FramebusSubscribeHandler) => void; | ||
type FramebusSubscription = Record<string, FramebusSubscribeHandler[]>; | ||
export type FramebusSubscriber = Record<string, FramebusSubscription>; | ||
export type FramebusReplyHandler = (data: unknown) => void; | ||
export type FramebusOnHandler = (data: FramebusSubscriberArg, reply: FramebusReplyHandler) => void; | ||
export {}; |
@@ -1,2 +0,2 @@ | ||
import type { FramebusPayload } from "./types"; | ||
import type { FramebusPayload } from "./"; | ||
export declare function unpackPayload(e: MessageEvent): FramebusPayload | false; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.unpackPayload = void 0; | ||
var constants_1 = require("./constants"); | ||
var package_payload_1 = require("./package-payload"); | ||
var _1 = require("./"); | ||
function unpackPayload(e) { | ||
var payload; | ||
if (e.data.slice(0, constants_1.prefix.length) !== constants_1.prefix) { | ||
if (e.data.slice(0, _1.prefix.length) !== _1.prefix) { | ||
return false; | ||
} | ||
try { | ||
payload = JSON.parse(e.data.slice(constants_1.prefix.length)); | ||
payload = JSON.parse(e.data.slice(_1.prefix.length)); | ||
} | ||
@@ -25,3 +24,3 @@ catch (err) { | ||
} | ||
var replyPayload = (0, package_payload_1.packagePayload)(replyEvent_1, replyOrigin_1, replyData); | ||
var replyPayload = (0, _1.packagePayload)(replyEvent_1, replyOrigin_1, replyData); | ||
if (!replyPayload) { | ||
@@ -28,0 +27,0 @@ return; |
@@ -9,3 +9,3 @@ { | ||
"homepage": "https://github.com/braintree/framebus", | ||
"version": "5.2.0", | ||
"version": "5.2.1", | ||
"main": "dist/index.js", | ||
@@ -34,3 +34,3 @@ "files": [ | ||
"devDependencies": { | ||
"@types/jest": "^29.2.0", | ||
"@types/jest": "^29.4.0", | ||
"@wdio/cli": "^7.25.2", | ||
@@ -43,6 +43,6 @@ "@wdio/local-runner": "^7.25.2", | ||
"browserify": "^17.0.0", | ||
"chromedriver": "^106.0.1", | ||
"chromedriver": "^114.0.2", | ||
"del": "^6.0.0", | ||
"ejs": "^3.1.8", | ||
"eslint": "^8.25.0", | ||
"eslint": "^8.35.0", | ||
"eslint-config-braintree": "6.0.0-typescript-prep-rc.2", | ||
@@ -56,12 +56,12 @@ "express": "^4.18.2", | ||
"gulp-uglify": "^3.0.2", | ||
"jest": "^29.2.1", | ||
"jest-environment-jsdom": "^29.2.1", | ||
"jest": "^29.5.0", | ||
"jest-environment-jsdom": "^29.5.0", | ||
"morgan": "^1.10.0", | ||
"prettier": "^2.7.1", | ||
"ts-jest": "^29.0.3", | ||
"prettier": "^2.8.4", | ||
"ts-jest": "^29.0.5", | ||
"tsify": "^5.0.4", | ||
"typescript": "^4.8.4", | ||
"typescript": "^4.9.5", | ||
"vinyl-buffer": "^1.0.1", | ||
"vinyl-source-stream": "^2.0.0", | ||
"wdio-chromedriver-service": "^8.0.0" | ||
"wdio-chromedriver-service": "^8.1.1" | ||
}, | ||
@@ -68,0 +68,0 @@ "jest": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
40972
38
649