@memberstack/dom 1.0.0-beta.3 → 1.0.0-beta.33

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 (37) hide show
  1. package/lib/auth/persistence/index.d.ts +0 -1
  2. package/lib/auth/persistence/index.js +0 -1
  3. package/lib/auth/persistence/local.d.ts +1 -1
  4. package/lib/auth/persistence/local.js +16 -21
  5. package/lib/auth/persistence/methods.d.ts +3 -1
  6. package/lib/auth/persistence/methods.js +41 -11
  7. package/lib/auth/persistence/session.d.ts +1 -1
  8. package/lib/auth/persistence/session.js +16 -21
  9. package/lib/constants/storage.d.ts +1 -0
  10. package/lib/constants/storage.js +4 -0
  11. package/lib/index.d.ts +4 -3
  12. package/lib/index.js +5 -5
  13. package/lib/methods/client.d.ts +38 -0
  14. package/lib/methods/client.js +35 -0
  15. package/lib/methods/dom/index.d.ts +2 -0
  16. package/lib/methods/dom/index.js +9 -0
  17. package/lib/methods/dom/methods.d.ts +17 -0
  18. package/lib/methods/dom/methods.js +113 -0
  19. package/lib/methods/dom/script.d.ts +11 -0
  20. package/lib/methods/dom/script.js +116 -0
  21. package/lib/methods/index.d.ts +9 -1303
  22. package/lib/methods/index.js +24 -68
  23. package/lib/utils/cookies.d.ts +2 -2
  24. package/lib/utils/cookies.js +11 -7
  25. package/lib/utils/interceptor.d.ts +4 -0
  26. package/lib/utils/interceptor.js +18 -0
  27. package/lib/utils/logger.d.ts +3 -0
  28. package/lib/utils/logger.js +51 -0
  29. package/lib/utils/proxy.d.ts +2 -0
  30. package/lib/utils/proxy.js +101 -0
  31. package/package.json +6 -5
  32. package/lib/auth/persistence/interceptor.d.ts +0 -2
  33. package/lib/auth/persistence/interceptor.js +0 -43
  34. package/lib/methods/dom.d.ts +0 -10
  35. package/lib/methods/dom.js +0 -55
  36. package/lib/types/params.d.ts +0 -11
  37. package/lib/types/params.js +0 -2
@@ -1,2 +1 @@
1
1
  export * from "./methods";
2
- export * from "./interceptor";
@@ -11,4 +11,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./methods"), exports);
14
- __exportStar(require("./interceptor"), exports);
@@ -1,4 +1,4 @@
1
- export declare const localStoragePersistence: () => {
1
+ export declare const localStoragePersistence: {
2
2
  setMember: (member: any) => any;
3
3
  getMember: () => any;
4
4
  unsetMember: () => void;
@@ -1,25 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.localStoragePersistence = void 0;
4
- var localStoragePersistence = function () {
5
- if (!(window === null || window === void 0 ? void 0 : window.localStorage)) {
6
- throw new Error("Local Storage is not supported.");
7
- }
8
- return {
9
- setMember: function (member) {
10
- localStorage.setItem("_ms-member", JSON.stringify(member));
11
- return JSON.parse(localStorage.getItem("_ms-member"));
12
- },
13
- getMember: function () {
14
- var persistedMember = localStorage.getItem("_ms-member");
15
- if (!persistedMember || !Object.keys(persistedMember).length) {
16
- return null;
17
- }
18
- return JSON.parse(localStorage.getItem("_ms-member"));
19
- },
20
- unsetMember: function () {
21
- localStorage.removeItem("_ms-member");
22
- },
23
- };
4
+ var storage_1 = require("../../constants/storage");
5
+ exports.localStoragePersistence = {
6
+ setMember: function (member) {
7
+ localStorage === null || localStorage === void 0 ? void 0 : localStorage.setItem(storage_1.PERSISTED_MEMBER_KEY, JSON.stringify(member));
8
+ return JSON.parse(localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem(storage_1.PERSISTED_MEMBER_KEY));
9
+ },
10
+ getMember: function () {
11
+ var persistedMember = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem(storage_1.PERSISTED_MEMBER_KEY);
12
+ if (!persistedMember || !Object.keys(persistedMember).length) {
13
+ return null;
14
+ }
15
+ return JSON.parse(localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem(storage_1.PERSISTED_MEMBER_KEY));
16
+ },
17
+ unsetMember: function () {
18
+ localStorage === null || localStorage === void 0 ? void 0 : localStorage.removeItem(storage_1.PERSISTED_MEMBER_KEY);
19
+ },
24
20
  };
25
- exports.localStoragePersistence = localStoragePersistence;
@@ -7,5 +7,7 @@ export declare enum Persistence {
7
7
  export declare const setPersistedMember: (member: Await<ReturnType<ReturnType<typeof memberstack.init>["loginMemberEmailPassword"]>>["data"]["member"], persistence: Persistence) => void;
8
8
  export declare const getPersistedMember: (persistence: any) => any;
9
9
  export declare const unsetPersistedMember: (persistence: any) => void;
10
- export declare const onAuthChange: (cb: any) => void;
10
+ export declare const onAuthChange: (cb: any) => {
11
+ unsubscribe: () => boolean;
12
+ };
11
13
  export {};
@@ -1,4 +1,29 @@
1
1
  "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
2
27
  Object.defineProperty(exports, "__esModule", { value: true });
3
28
  exports.onAuthChange = exports.unsetPersistedMember = exports.getPersistedMember = exports.setPersistedMember = exports.Persistence = void 0;
4
29
  var local_1 = require("./local");
@@ -9,27 +34,28 @@ var Persistence;
9
34
  Persistence["LOCAL"] = "LOCAL";
10
35
  })(Persistence = exports.Persistence || (exports.Persistence = {}));
11
36
  var createObservable = function () {
12
- var observers = [];
37
+ var observer = new Map();
13
38
  return {
14
- subscribe: function (fn) {
15
- if (typeof fn === "function") {
16
- observers.push(fn);
17
- }
39
+ subscribe: function (key, fn) {
40
+ if (typeof fn !== "function")
41
+ return;
42
+ return observer.set(key, fn);
43
+ },
44
+ unsubscribe: function (key) {
45
+ return observer.delete(key);
18
46
  },
19
47
  notify: function (data) {
20
- return observers.forEach(function (observer) {
21
- observer(data);
22
- });
48
+ return __spreadArray([], __read(observer.values()), false).forEach(function (fn) { return fn(data); });
23
49
  },
24
50
  };
25
51
  };
26
52
  var observable = createObservable();
27
53
  var getPersistence = function (persistence) {
28
54
  if (persistence === Persistence.LOCAL) {
29
- return local_1.localStoragePersistence();
55
+ return local_1.localStoragePersistence;
30
56
  }
31
57
  if (persistence === Persistence.SESSION) {
32
- return session_1.sessionStoragePersistence();
58
+ return session_1.sessionStoragePersistence;
33
59
  }
34
60
  };
35
61
  var setPersistedMember = function (member, persistence) {
@@ -52,6 +78,10 @@ var unsetPersistedMember = function (persistence) {
52
78
  };
53
79
  exports.unsetPersistedMember = unsetPersistedMember;
54
80
  var onAuthChange = function (cb) {
55
- observable.subscribe(cb);
81
+ var id = Math.floor(Math.random() * 1000);
82
+ observable.subscribe(id, cb);
83
+ return {
84
+ unsubscribe: function () { return observable.unsubscribe(id); },
85
+ };
56
86
  };
57
87
  exports.onAuthChange = onAuthChange;
@@ -1,4 +1,4 @@
1
- export declare const sessionStoragePersistence: () => {
1
+ export declare const sessionStoragePersistence: {
2
2
  setMember: (member: any) => any;
3
3
  getMember: () => any;
4
4
  unsetMember: () => void;
@@ -1,25 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sessionStoragePersistence = void 0;
4
- var sessionStoragePersistence = function () {
5
- if (!(window === null || window === void 0 ? void 0 : window.sessionStorage)) {
6
- throw new Error("Session Storage is not supported.");
7
- }
8
- return {
9
- setMember: function (member) {
10
- sessionStorage.setItem("_ms-member", JSON.stringify(member));
11
- return JSON.parse(sessionStorage.getItem("_ms-member"));
12
- },
13
- getMember: function () {
14
- var persistedMember = sessionStorage.getItem("_ms-member");
15
- if (!persistedMember || !Object.keys(persistedMember).length) {
16
- return null;
17
- }
18
- return JSON.parse(sessionStorage.getItem("_ms-member"));
19
- },
20
- unsetMember: function () {
21
- sessionStorage.removeItem("_ms-member");
22
- },
23
- };
4
+ var storage_1 = require("../../constants/storage");
5
+ exports.sessionStoragePersistence = {
6
+ setMember: function (member) {
7
+ sessionStorage === null || sessionStorage === void 0 ? void 0 : sessionStorage.setItem(storage_1.PERSISTED_MEMBER_KEY, JSON.stringify(member));
8
+ return JSON.parse(sessionStorage === null || sessionStorage === void 0 ? void 0 : sessionStorage.getItem(storage_1.PERSISTED_MEMBER_KEY));
9
+ },
10
+ getMember: function () {
11
+ var persistedMember = sessionStorage === null || sessionStorage === void 0 ? void 0 : sessionStorage.getItem(storage_1.PERSISTED_MEMBER_KEY);
12
+ if (!persistedMember || !Object.keys(persistedMember).length) {
13
+ return null;
14
+ }
15
+ return JSON.parse(sessionStorage === null || sessionStorage === void 0 ? void 0 : sessionStorage.getItem(storage_1.PERSISTED_MEMBER_KEY));
16
+ },
17
+ unsetMember: function () {
18
+ sessionStorage === null || sessionStorage === void 0 ? void 0 : sessionStorage.removeItem(storage_1.PERSISTED_MEMBER_KEY);
19
+ },
24
20
  };
25
- exports.sessionStoragePersistence = sessionStoragePersistence;
@@ -0,0 +1 @@
1
+ export declare const PERSISTED_MEMBER_KEY = "_ms-mem";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PERSISTED_MEMBER_KEY = void 0;
4
+ exports.PERSISTED_MEMBER_KEY = "_ms-mem";
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- import { Methods } from "./methods";
2
- export { Persistence } from "./auth/persistence";
3
- export default Methods;
1
+ declare const _default: {
2
+ init: (props: import("./methods").DOMConfig) => any;
3
+ };
4
+ export default _default;
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Persistence = void 0;
4
- var methods_1 = require("./methods");
5
- var persistence_1 = require("./auth/persistence");
6
- Object.defineProperty(exports, "Persistence", { enumerable: true, get: function () { return persistence_1.Persistence; } });
7
- exports.default = methods_1.Methods;
6
+ var methods_1 = __importDefault(require("./methods"));
7
+ exports.default = { init: methods_1.default.init };
@@ -0,0 +1,38 @@
1
+ import msClient from "@memberstack/client";
2
+ export declare type ClientConfig = Parameters<typeof msClient["init"]>[0] & {
3
+ useCookie?: boolean;
4
+ };
5
+ export declare const initClient: ({ useCookie, ...props }: ClientConfig) => {
6
+ getApp(): Promise<import("@memberstack/client/lib/types/payloads").AppPayload>;
7
+ getAuthProviders(): Promise<import("@memberstack/client/lib/types/payloads").AppPayload>;
8
+ loginMemberEmailPassword(params: import("@memberstack/client/lib/types/params").LoginMemberEmailPasswordParams): Promise<import("@memberstack/client/lib/types/payloads").LoginMemberEmailPasswordPayload>;
9
+ loginMemberAuthProvider(params: import("@memberstack/client/lib/types/params").LoginMemberAuthProviderParams): Promise<import("@memberstack/client/lib/types/payloads").LoginMemberAuthProviderPayload>;
10
+ getPlan(params: import("@memberstack/client/lib/types/params").GetPlanParams): Promise<import("@memberstack/client/lib/types/payloads").GetPlanPayload>;
11
+ getPlans(params?: import("@memberstack/client/lib/types/params").GetPlansParams): Promise<import("@memberstack/client/lib/types/payloads").GetPlansPayload>;
12
+ getCurrentMember(options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetCurrentMemberPayload>;
13
+ getMemberCards(options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetMemberCardsPayload>;
14
+ getMemberInvoices(params?: import("@memberstack/client/lib/types/params").GetMemberInvoicesParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetMemberInvoicesPayload>;
15
+ getMemberReceipts(params?: import("@memberstack/client/lib/types/params").GetMemberReceiptsParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetMemberReceiptsPayload>;
16
+ getAuthenticationClientSecret(params: import("@memberstack/client/lib/types/params").GetAuthenticationClientSecretParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetAuthenticationClientSecretPayload>;
17
+ getTotalCheckoutAmount(params: import("@memberstack/client/lib/types/params").GetTotalCheckoutAmountParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetTotalCheckoutAmountPayload>;
18
+ purchasePlans(params: import("@memberstack/client/lib/types/params").PurchasePlansParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").PurchasePlansPayload>;
19
+ cancelPlan(params: import("@memberstack/client/lib/types/params").CancelPlanParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").CancelPlanPayload>;
20
+ updateMember(params: import("@memberstack/client/lib/types/params").UpdateMemberParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdateMemberPayload>;
21
+ updateMemberAuth(params: import("@memberstack/client/lib/types/params").UpdateMemberAuthParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdateMemberAuthPayload>;
22
+ addCard(params: import("@memberstack/client/lib/types/params").AddMemberCardParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").AddMemberCardPayload>;
23
+ updateDefaultCard(params: import("@memberstack/client/lib/types/params").UpdateDefaultCardParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdateDefaultCardPayload>;
24
+ updatePlanPayment(params: import("@memberstack/client/lib/types/params").UpdatePlanPaymentParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdatePlanPaymentPayload>;
25
+ signupMemberEmailPassword(params: import("@memberstack/client/lib/types/params").SignupMemberEmailPasswordParams): Promise<import("@memberstack/client/lib/types/payloads").SignupMemberEmailPasswordPayload>;
26
+ signupMemberAuthProvider(params: import("@memberstack/client/lib/types/params").SignupMemberAuthProviderParams): Promise<import("@memberstack/client/lib/types/payloads").SignupMemberAuthProviderPayload>;
27
+ refreshMemberTokens(params: import("@memberstack/client/lib/types/params").RefreshMemberTokensParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").RefreshMemberTokensPayload>;
28
+ sendMemberResetPasswordEmail(params: import("@memberstack/client/lib/types/params").SendMemberResetPasswordEmailParams): Promise<import("@memberstack/client/lib/types/payloads").SendMemberResetPasswordEmailPayload>;
29
+ resetMemberPassword(params: import("@memberstack/client/lib/types/params").ResetMemberPasswordParams): Promise<import("@memberstack/client/lib/types/payloads").ResetMemberPasswordPayload>;
30
+ logout(options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").LogoutMemberPayload>;
31
+ replacePlan(params: import("@memberstack/client/lib/types/params").ReplacePlanParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").ReplacePlanPayload>;
32
+ verifyToken({ token }: {
33
+ token: string;
34
+ }): Promise<Pick<import("jose").JWTPayload, "iat" | "exp"> & {
35
+ id: string;
36
+ type: "member";
37
+ }>;
38
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.initClient = void 0;
29
+ var client_1 = __importDefault(require("@memberstack/client"));
30
+ var cookies_1 = require("../utils/cookies");
31
+ var initClient = function (_a) {
32
+ var _b = _a.useCookie, useCookie = _b === void 0 ? true : _b, props = __rest(_a, ["useCookie"]);
33
+ return client_1.default.init(__assign(__assign(__assign({}, (props.token && { token: props.token })), (useCookie && { token: (0, cookies_1.getMemberCookie)() })), props));
34
+ };
35
+ exports.initClient = initClient;
@@ -0,0 +1,2 @@
1
+ export { hideModal, load, openModal, OpenModalParams } from "./methods";
2
+ export { initialize } from "./script";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialize = exports.openModal = exports.load = exports.hideModal = void 0;
4
+ var methods_1 = require("./methods");
5
+ Object.defineProperty(exports, "hideModal", { enumerable: true, get: function () { return methods_1.hideModal; } });
6
+ Object.defineProperty(exports, "load", { enumerable: true, get: function () { return methods_1.load; } });
7
+ Object.defineProperty(exports, "openModal", { enumerable: true, get: function () { return methods_1.openModal; } });
8
+ var script_1 = require("./script");
9
+ Object.defineProperty(exports, "initialize", { enumerable: true, get: function () { return script_1.initialize; } });
@@ -0,0 +1,17 @@
1
+ import type { DOMConfig } from "..";
2
+ export declare type OpenModalParams = {
3
+ type: "LOGIN" | "SIGNUP" | "FORGOT_PASSWORD";
4
+ params?: {
5
+ planId?: string;
6
+ priceId?: string;
7
+ };
8
+ options?: {
9
+ onCompleted?: (x: any) => any;
10
+ onError?: (x: any) => any;
11
+ };
12
+ };
13
+ export declare const load: (props: {
14
+ publicKey: string;
15
+ }) => void;
16
+ export declare const openModal: (props: OpenModalParams & DOMConfig) => Promise<void>;
17
+ export declare const hideModal: () => void;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.hideModal = exports.openModal = exports.load = void 0;
40
+ var window_1 = require("../../constants/window");
41
+ var endpoint_1 = require("../../constants/endpoint");
42
+ var cookies_1 = require("../../utils/cookies");
43
+ var persistence_1 = require("../../auth/persistence");
44
+ var logger_1 = require("../../utils/logger");
45
+ var script_1 = require("./script");
46
+ var isBrowser = typeof window !== "undefined";
47
+ var isInitialized = function () {
48
+ if (!isBrowser)
49
+ return;
50
+ if (!(window === null || window === void 0 ? void 0 : window[window_1.Window.MSDOM])) {
51
+ console.warn("Memberstack has not been initialized yet.");
52
+ return false;
53
+ }
54
+ return true;
55
+ };
56
+ var hasIFrame = function () {
57
+ var initialized = isInitialized();
58
+ if (!initialized)
59
+ return false;
60
+ var iframe = document.querySelector("iframe[id=\"_ms-iframe\"]");
61
+ if (!iframe) {
62
+ console.warn("iFrame has not been loaded yet.");
63
+ return false;
64
+ }
65
+ return true;
66
+ };
67
+ var load = function (props) {
68
+ var _a;
69
+ if (isInitialized()) {
70
+ (_a = window[window_1.Window.MSDOM]) === null || _a === void 0 ? void 0 : _a.load({ publicKey: props.publicKey });
71
+ }
72
+ };
73
+ exports.load = load;
74
+ var openModal = function (props) { return __awaiter(void 0, void 0, void 0, function () {
75
+ var _a;
76
+ return __generator(this, function (_b) {
77
+ switch (_b.label) {
78
+ case 0:
79
+ (0, logger_1.log)("call openModal()");
80
+ return [4 /*yield*/, script_1.hostedUIReady.isReady];
81
+ case 1:
82
+ _b.sent();
83
+ if (hasIFrame()) {
84
+ (_a = window[window_1.Window.MSDOM]) === null || _a === void 0 ? void 0 : _a.show(props.type, props.params);
85
+ window.addEventListener("message", function (e) {
86
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
87
+ if (e.origin === endpoint_1.endpoints.parentOrigin) {
88
+ if (e.data.type === "CLOSE") {
89
+ return (0, exports.hideModal)();
90
+ }
91
+ if ((_b = (_a = e.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.member) {
92
+ (0, persistence_1.setPersistedMember)((_c = e.data) === null || _c === void 0 ? void 0 : _c.data.member, props.persistence);
93
+ }
94
+ if (props.useCookie && ((_f = (_e = (_d = e.data) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.tokens) === null || _f === void 0 ? void 0 : _f.accessToken)) {
95
+ (0, cookies_1.setMemberCookie)(e.data.data.tokens.accessToken);
96
+ }
97
+ (_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.onCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, (_j = e.data) === null || _j === void 0 ? void 0 : _j.data);
98
+ }
99
+ });
100
+ }
101
+ return [2 /*return*/];
102
+ }
103
+ });
104
+ }); };
105
+ exports.openModal = openModal;
106
+ var hideModal = function () {
107
+ var _a;
108
+ (0, logger_1.log)("call hideModal()");
109
+ if (hasIFrame()) {
110
+ (_a = window[window_1.Window.MSDOM]) === null || _a === void 0 ? void 0 : _a.hide();
111
+ }
112
+ };
113
+ exports.hideModal = hideModal;
@@ -0,0 +1,11 @@
1
+ export declare function initialize(props: {
2
+ publicKey: string;
3
+ }): Promise<any>;
4
+ export declare class HostedUI {
5
+ private __globalResolver;
6
+ private __isReady;
7
+ constructor();
8
+ get isReady(): Promise<void>;
9
+ resolve(): void;
10
+ }
11
+ export declare const hostedUIReady: HostedUI;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.hostedUIReady = exports.HostedUI = exports.initialize = void 0;
40
+ var endpoint_1 = require("../../constants/endpoint");
41
+ var window_1 = require("../../constants/window");
42
+ var logger_1 = require("../../utils/logger");
43
+ var isBrowser = typeof window !== "undefined";
44
+ var SCRIPT_URL = endpoint_1.endpoints.loaderScript;
45
+ var SCRIPT_URL_REGEX = new RegExp(SCRIPT_URL);
46
+ var getScript = function () {
47
+ var existingScript = document.querySelector("script[src^=\"".concat(SCRIPT_URL, "\"]"));
48
+ if (existingScript && SCRIPT_URL_REGEX.test(existingScript.src)) {
49
+ return existingScript;
50
+ }
51
+ var script = document.createElement("script");
52
+ script.src = SCRIPT_URL;
53
+ script.defer = true;
54
+ script.crossOrigin = "true";
55
+ if (!document.body) {
56
+ throw new Error("Memberstack requires a <body> element.");
57
+ }
58
+ document.body.appendChild(script);
59
+ (0, logger_1.log)("Appending script to load parent hosted UI");
60
+ return script;
61
+ };
62
+ function initialize(props) {
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ var script;
65
+ var _this = this;
66
+ return __generator(this, function (_a) {
67
+ if (!isBrowser)
68
+ return [2 /*return*/, null];
69
+ script = getScript();
70
+ (0, logger_1.log)("Add script event listener for load");
71
+ script.addEventListener("load", function () { return __awaiter(_this, void 0, void 0, function () {
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ (0, logger_1.log)("Hosted UI parent script loaded");
76
+ if (!window[window_1.Window.MSDOM]) return [3 /*break*/, 2];
77
+ (0, logger_1.log)("Call MSDOM load function, pass public key");
78
+ return [4 /*yield*/, window[window_1.Window.MSDOM].load({ publicKey: props.publicKey })];
79
+ case 1:
80
+ _a.sent();
81
+ exports.hostedUIReady.resolve();
82
+ console.info("\x1b[36m%s\x1b[0m", "Memberstack has been initialized");
83
+ return [3 /*break*/, 3];
84
+ case 2:
85
+ console.warn("Could not initialize Memberstack.");
86
+ _a.label = 3;
87
+ case 3: return [2 /*return*/];
88
+ }
89
+ });
90
+ }); });
91
+ return [2 /*return*/];
92
+ });
93
+ });
94
+ }
95
+ exports.initialize = initialize;
96
+ var HostedUI = /** @class */ (function () {
97
+ function HostedUI() {
98
+ var _this = this;
99
+ this.__isReady = new Promise(function (resolve) {
100
+ _this.__globalResolver = resolve;
101
+ });
102
+ }
103
+ Object.defineProperty(HostedUI.prototype, "isReady", {
104
+ get: function () {
105
+ return this.__isReady;
106
+ },
107
+ enumerable: false,
108
+ configurable: true
109
+ });
110
+ HostedUI.prototype.resolve = function () {
111
+ this.__globalResolver();
112
+ };
113
+ return HostedUI;
114
+ }());
115
+ exports.HostedUI = HostedUI;
116
+ exports.hostedUIReady = new HostedUI();