@memberstack/dom 1.0.0-beta.2 → 1.0.0-beta.20

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 (38) 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/endpoint.js +2 -2
  10. package/lib/constants/storage.d.ts +1 -0
  11. package/lib/constants/storage.js +4 -0
  12. package/lib/constants/window.d.ts +1 -2
  13. package/lib/constants/window.js +1 -2
  14. package/lib/index.d.ts +4 -2
  15. package/lib/index.js +2 -2
  16. package/lib/methods/client.d.ts +36 -0
  17. package/lib/methods/client.js +23 -0
  18. package/lib/methods/dom/index.d.ts +2 -0
  19. package/lib/methods/dom/index.js +9 -0
  20. package/lib/methods/dom/methods.d.ts +31 -0
  21. package/lib/methods/dom/methods.js +45 -0
  22. package/lib/methods/dom/script.d.ts +3 -0
  23. package/lib/methods/dom/script.js +40 -0
  24. package/lib/methods/index.d.ts +6 -1306
  25. package/lib/methods/index.js +17 -102
  26. package/lib/utils/cookies.d.ts +1 -1
  27. package/lib/utils/cookies.js +11 -7
  28. package/lib/utils/interceptor.d.ts +4 -0
  29. package/lib/utils/interceptor.js +18 -0
  30. package/lib/utils/proxy.d.ts +2 -0
  31. package/lib/utils/proxy.js +62 -0
  32. package/package.json +4 -4
  33. package/lib/auth/persistence/interceptor.d.ts +0 -2
  34. package/lib/auth/persistence/interceptor.js +0 -43
  35. package/lib/methods/dom.d.ts +0 -10
  36. package/lib/methods/dom.js +0 -55
  37. package/lib/types/params.d.ts +0 -11
  38. 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;
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.endpoints = void 0;
4
4
  exports.endpoints = {
5
- parentOrigin: "https://ui.memberstack.com",
6
- loaderScript: "https://ui.memberstack.com/loader.cjs.production.min.js",
5
+ parentOrigin: "https://dev-ui.memberstack.com",
6
+ loaderScript: "https://dev-ui.memberstack.com/loader.cjs.production.min.js",
7
7
  };
@@ -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";
@@ -1,4 +1,3 @@
1
1
  export declare const Window: {
2
- MSDOM: string;
3
- APP_ID: string;
2
+ MEMBERSTACK: string;
4
3
  };
@@ -2,6 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Window = void 0;
4
4
  exports.Window = {
5
- MSDOM: "__MSDOM",
6
- APP_ID: "__MS-APPID",
5
+ MEMBERSTACK: "memberstack",
7
6
  };
package/lib/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
- import { Methods } from "./methods";
2
1
  export { Persistence } from "./auth/persistence";
3
- export default Methods;
2
+ declare const _default: {
3
+ init: any;
4
+ };
5
+ export default _default;
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Persistence = void 0;
4
- var methods_1 = require("./methods");
5
4
  var persistence_1 = require("./auth/persistence");
6
5
  Object.defineProperty(exports, "Persistence", { enumerable: true, get: function () { return persistence_1.Persistence; } });
7
- exports.default = methods_1.Methods;
6
+ var methods_1 = require("./methods");
7
+ exports.default = { init: methods_1.init };
@@ -0,0 +1,36 @@
1
+ import msClient from "@memberstack/client";
2
+ export declare type ClientConfig = Parameters<typeof msClient["init"]>[0];
3
+ export declare const initClient: (props: ClientConfig) => {
4
+ getApp(): Promise<import("@memberstack/client/lib/types/payloads").AppPayload>;
5
+ getAuthProviders(): Promise<import("@memberstack/client/lib/types/payloads").AppPayload>;
6
+ loginMemberEmailPassword(params: import("@memberstack/client/lib/types/params").LoginMemberEmailPasswordParams): Promise<import("@memberstack/client/lib/types/payloads").LoginMemberEmailPasswordPayload>;
7
+ loginMemberAuthProvider(params: import("@memberstack/client/lib/types/params").LoginMemberAuthProviderParams): Promise<import("@memberstack/client/lib/types/payloads").LoginMemberAuthProviderPayload>;
8
+ getPlan(params: import("@memberstack/client/lib/types/params").GetPlanParams): Promise<import("@memberstack/client/lib/types/payloads").GetPlanPayload>;
9
+ getPlans(params?: import("@memberstack/client/lib/types/params").GetPlansParams): Promise<import("@memberstack/client/lib/types/payloads").GetPlansPayload>;
10
+ getCurrentMember(options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetCurrentMemberPayload>;
11
+ getMemberCards(options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetMemberCardsPayload>;
12
+ getMemberInvoices(params?: import("@memberstack/client/lib/types/params").GetMemberInvoicesParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetMemberInvoicesPayload>;
13
+ getMemberReceipts(params?: import("@memberstack/client/lib/types/params").GetMemberReceiptsParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetMemberReceiptsPayload>;
14
+ getAuthenticationClientSecret(params: import("@memberstack/client/lib/types/params").GetAuthenticationClientSecretParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetAuthenticationClientSecretPayload>;
15
+ getTotalCheckoutAmount(params: import("@memberstack/client/lib/types/params").GetTotalCheckoutAmountParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").GetTotalCheckoutAmountPayload>;
16
+ purchasePlan(params: import("@memberstack/client/lib/types/params").PurchasePlanParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").PurchasePlanPayload>;
17
+ cancelPlan(params: import("@memberstack/client/lib/types/params").CancelPlanParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").CancelPlanPayload>;
18
+ updateMember(params: import("@memberstack/client/lib/types/params").UpdateMemberParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdateMemberPayload>;
19
+ updateMemberAuth(params: import("@memberstack/client/lib/types/params").UpdateMemberAuthParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdateMemberAuthPayload>;
20
+ addCard(params: import("@memberstack/client/lib/types/params").AddMemberCardParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").AddMemberCardPayload>;
21
+ updateDefaultCard(params: import("@memberstack/client/lib/types/params").UpdateDefaultCardParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdateDefaultCardPayload>;
22
+ updatePlanPayment(params: import("@memberstack/client/lib/types/params").UpdatePlanPaymentParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").UpdatePlanPaymentPayload>;
23
+ signupMemberEmailPassword(params: import("@memberstack/client/lib/types/params").SignupMemberEmailPasswordParams): Promise<import("@memberstack/client/lib/types/payloads").SignupMemberEmailPasswordPayload>;
24
+ signupMemberAuthProvider(params: import("@memberstack/client/lib/types/params").SignupMemberAuthProviderParams): Promise<import("@memberstack/client/lib/types/payloads").SignupMemberAuthProviderPayload>;
25
+ refreshMemberTokens(params: import("@memberstack/client/lib/types/params").RefreshMemberTokensParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").RefreshMemberTokensPayload>;
26
+ sendMemberResetPasswordEmail(params: import("@memberstack/client/lib/types/params").SendMemberResetPasswordEmailParams): Promise<import("@memberstack/client/lib/types/payloads").SendMemberResetPasswordEmailPayload>;
27
+ resetMemberPassword(params: import("@memberstack/client/lib/types/params").ResetMemberPasswordParams): Promise<import("@memberstack/client/lib/types/payloads").ResetMemberPasswordPayload>;
28
+ logout(options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").LogoutMemberPayload>;
29
+ replacePlan(params: import("@memberstack/client/lib/types/params").ReplacePlanParams, options?: import("@memberstack/client/lib/methods").MemberstackOptions): Promise<import("@memberstack/client/lib/types/payloads").ReplacePlanPayload>;
30
+ verifyToken({ token }: {
31
+ token: string;
32
+ }): Promise<Pick<import("jose/types").JWTPayload, "iat" | "exp"> & {
33
+ id: string;
34
+ type: "member";
35
+ }>;
36
+ };
@@ -0,0 +1,23 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.initClient = void 0;
18
+ var client_1 = __importDefault(require("@memberstack/client"));
19
+ var cookies_1 = require("../utils/cookies");
20
+ var initClient = function (props) {
21
+ return client_1.default.init(__assign({ token: (0, cookies_1.getMemberCookie)() }, props));
22
+ };
23
+ 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,31 @@
1
+ import type { DOMConfig } from "..";
2
+ declare type ActionParams = {
3
+ onCompleted?: (x: any) => any;
4
+ onError?: (x: any) => any;
5
+ };
6
+ export declare type OpenModalParams = ActionParams & ({
7
+ type: "LOGIN";
8
+ params?: {
9
+ planId?: string;
10
+ priceId?: string;
11
+ };
12
+ } | {
13
+ type: "SIGNUP";
14
+ params: {
15
+ planId: string;
16
+ priceId?: string;
17
+ };
18
+ } | {
19
+ type: "FORGOT_PASSWORD";
20
+ params: {};
21
+ });
22
+ export declare const initDOM: (props: {
23
+ publicKey: string;
24
+ } & DOMConfig) => {
25
+ openModal: (openModalProps: OpenModalParams) => void;
26
+ hideModal: any;
27
+ onAuthChange: (cb: any) => {
28
+ unsubscribe: () => boolean;
29
+ };
30
+ };
31
+ export {};
@@ -0,0 +1,45 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.initDOM = void 0;
15
+ var window_1 = require("../../constants/window");
16
+ var endpoint_1 = require("../../constants/endpoint");
17
+ var cookies_1 = require("../../utils/cookies");
18
+ var persistence_1 = require("../../auth/persistence");
19
+ var initDOM = function (props) {
20
+ var methods = window[window_1.Window.MEMBERSTACK].init({ publicKey: props.publicKey });
21
+ return {
22
+ openModal: function (openModalProps) { return openModal(methods, __assign(__assign({}, props), openModalProps)); },
23
+ hideModal: methods.hide,
24
+ onAuthChange: persistence_1.onAuthChange
25
+ };
26
+ };
27
+ exports.initDOM = initDOM;
28
+ var openModal = function (methods, props) {
29
+ methods.show(props.type, props.params);
30
+ window.addEventListener("message", function (e) {
31
+ var _a, _b, _c, _d, _e, _f, _g, _h;
32
+ if (e.origin === endpoint_1.endpoints.parentOrigin) {
33
+ if (e.data.type === "CLOSE") {
34
+ return methods.hide();
35
+ }
36
+ if ((_b = (_a = e.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.member) {
37
+ (0, persistence_1.setPersistedMember)((_c = e.data) === null || _c === void 0 ? void 0 : _c.data.member, props.persistence);
38
+ }
39
+ 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)) {
40
+ (0, cookies_1.setMemberCookie)(e.data.data.tokens.accessToken);
41
+ }
42
+ (_g = props.onCompleted) === null || _g === void 0 ? void 0 : _g.call(props, (_h = e.data) === null || _h === void 0 ? void 0 : _h.data);
43
+ }
44
+ });
45
+ };
@@ -0,0 +1,3 @@
1
+ export declare function appendScript(props: {
2
+ publicKey: string;
3
+ }): HTMLScriptElement;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendScript = void 0;
4
+ var endpoint_1 = require("../../constants/endpoint");
5
+ var window_1 = require("../../constants/window");
6
+ var isBrowser = typeof window !== "undefined";
7
+ var SCRIPT_URL = endpoint_1.endpoints.loaderScript;
8
+ var SCRIPT_URL_REGEX = new RegExp(SCRIPT_URL);
9
+ var getScript = function (_a) {
10
+ var publicKey = _a.publicKey;
11
+ var existingScript = document.querySelector("script[src^=\"" + SCRIPT_URL + "\"]");
12
+ if (existingScript && SCRIPT_URL_REGEX.test(existingScript.src)) {
13
+ return existingScript;
14
+ }
15
+ var script = document.createElement("script");
16
+ script.src = SCRIPT_URL;
17
+ script.defer = true;
18
+ script.crossOrigin = "true";
19
+ if (!document.body) {
20
+ throw new Error("Memberstack requires a <body> element.");
21
+ }
22
+ script.addEventListener("load", function () {
23
+ if (window[window_1.Window.MEMBERSTACK]) {
24
+ window[window_1.Window.MEMBERSTACK].init({ publicKey: publicKey });
25
+ console.info("\x1b[36m%s\x1b[0m", "Memberstack has been initialized.");
26
+ }
27
+ else {
28
+ console.warn("Could not initialize Memberstack.");
29
+ }
30
+ });
31
+ document.body.appendChild(script);
32
+ return script;
33
+ };
34
+ function appendScript(props) {
35
+ if (!isBrowser) {
36
+ throw new Error("Memberstack requires a <body> element.");
37
+ }
38
+ return getScript({ publicKey: props.publicKey });
39
+ }
40
+ exports.appendScript = appendScript;