aboutsummaryrefslogtreecommitdiffstats
path: root/app/my-lib.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/my-lib.js')
-rw-r--r--app/my-lib.js238
1 files changed, 238 insertions, 0 deletions
diff --git a/app/my-lib.js b/app/my-lib.js
new file mode 100644
index 0000000..2c08b54
--- /dev/null
+++ b/app/my-lib.js
@@ -0,0 +1,238 @@
+window["MyLib"] =
+/******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // identity function for calling harmony imports with the correct context
+/******/ __webpack_require__.i = function(value) { return value; };
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, {
+/******/ configurable: false,
+/******/ enumerable: true,
+/******/ get: getter
+/******/ });
+/******/ }
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 2);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+Object.defineProperty(exports, "__esModule", { value: true });
+var base_pubsub_1 = __webpack_require__(1);
+var PluginPubSub = /** @class */ (function (_super) {
+ __extends(PluginPubSub, _super);
+ function PluginPubSub(pluginId, parentUrl, eventsToWait) {
+ var _this = _super.call(this, pluginId) || this;
+ _this.register('sdc-hub', window.parent, parentUrl);
+ _this.subscribe(eventsToWait);
+ return _this;
+ }
+ PluginPubSub.prototype.subscribe = function (eventsToWait) {
+ var registerData = {
+ pluginId: this.clientId,
+ eventsToWait: eventsToWait || []
+ };
+ this.notify('PLUGIN_REGISTER', registerData);
+ };
+ PluginPubSub.prototype.unsubscribe = function () {
+ var unregisterData = {
+ pluginId: this.clientId
+ };
+ this.notify('PLUGIN_UNREGISTER', unregisterData);
+ };
+ return PluginPubSub;
+}(base_pubsub_1.BasePubSub));
+exports.default = PluginPubSub;
+
+
+/***/ }),
+/* 1 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", { value: true });
+var BasePubSub = /** @class */ (function () {
+ function BasePubSub(pluginId) {
+ this.subscribers = new Map();
+ this.eventsCallbacks = [];
+ this.eventsToWait = new Map();
+ this.clientId = pluginId;
+ this.onMessage = this
+ .onMessage
+ .bind(this);
+ window.addEventListener('message', this.onMessage);
+ }
+ BasePubSub.prototype.onMessage = function (event) {
+ if (this.subscribers.has(event.data.originId)) {
+ this
+ .eventsCallbacks
+ .forEach(function (callback) {
+ callback(event.data, event);
+ });
+ }
+ };
+ BasePubSub.prototype.register = function (subscriberId, subscriberWindow, subscriberUrl) {
+ var subscriber = {
+ window: subscriberWindow,
+ locationUrl: subscriberUrl || subscriberWindow.location.href
+ };
+ this
+ .subscribers
+ .set(subscriberId, subscriber);
+ };
+ BasePubSub.prototype.unregister = function (subscriberId) {
+ this
+ .subscribers
+ .delete(subscriberId);
+ };
+ BasePubSub.prototype.on = function (callback) {
+ var functionExists = this
+ .eventsCallbacks
+ .find(function (func) {
+ return callback.toString() === func.toString();
+ });
+ if (!functionExists) {
+ this
+ .eventsCallbacks
+ .push(callback);
+ }
+ };
+ BasePubSub.prototype.off = function (callback) {
+ var index = this
+ .eventsCallbacks
+ .indexOf(callback);
+ this
+ .eventsCallbacks
+ .splice(index, 1);
+ };
+ BasePubSub.prototype.notify = function (eventType, eventData) {
+ var eventObj = {
+ type: eventType,
+ data: eventData,
+ originId: this.clientId
+ };
+ this
+ .subscribers
+ .forEach(function (subscriber, subscriberId) {
+ subscriber
+ .window
+ .postMessage(eventObj, subscriber.locationUrl);
+ });
+ return {
+ subscribe: function (callbackFn) {
+ var _this = this;
+ if (this.subscribers.size !== 0) {
+ var subscribersToNotify_1 = Array.from(this.subscribers.keys());
+ var checkNotifyComplete_1 = function (subscriberId) {
+ var index = subscribersToNotify_1.indexOf(subscriberId);
+ subscribersToNotify_1.splice(index, 1);
+ if (subscribersToNotify_1.length === 0) {
+ callbackFn();
+ }
+ };
+ this
+ .subscribers
+ .forEach(function (subscriber, subscriberId) {
+ if (_this.eventsToWait.has(subscriberId) && _this.eventsToWait.get(subscriberId).indexOf(eventType) !== -1) {
+ var actionCompletedFunction_1 = function (eventData, subId) {
+ if (subId === void 0) { subId = subscriberId; }
+ if (eventData.type === 'ACTION_COMPLETED') {
+ checkNotifyComplete_1(subId);
+ }
+ _this.off(actionCompletedFunction_1);
+ };
+ _this.on(actionCompletedFunction_1);
+ }
+ else {
+ checkNotifyComplete_1(subscriberId);
+ }
+ });
+ }
+ else {
+ callbackFn();
+ }
+ }.bind(this)
+ };
+ };
+ return BasePubSub;
+}());
+exports.BasePubSub = BasePubSub;
+
+
+/***/ }),
+/* 2 */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__(0);
+
+
+/***/ })
+/******/ ]);
+//# sourceMappingURL=my-lib.js.map \ No newline at end of file