@memberstack/dom 1.0.0-beta.12 → 1.0.0-beta.16

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.
@@ -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,24 @@
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 __spread = (this && this.__spread) || function () {
19
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
20
+ return ar;
21
+ };
2
22
  Object.defineProperty(exports, "__esModule", { value: true });
3
23
  exports.onAuthChange = exports.unsetPersistedMember = exports.getPersistedMember = exports.setPersistedMember = exports.Persistence = void 0;
4
24
  var local_1 = require("./local");
@@ -9,17 +29,18 @@ var Persistence;
9
29
  Persistence["LOCAL"] = "LOCAL";
10
30
  })(Persistence = exports.Persistence || (exports.Persistence = {}));
11
31
  var createObservable = function () {
12
- var observers = [];
32
+ var observer = new Map();
13
33
  return {
14
- subscribe: function (fn) {
15
- if (typeof fn === "function") {
16
- observers.push(fn);
17
- }
34
+ subscribe: function (key, fn) {
35
+ if (typeof fn !== "function")
36
+ return;
37
+ return observer.set(key, fn);
38
+ },
39
+ unsubscribe: function (key) {
40
+ return observer.delete(key);
18
41
  },
19
42
  notify: function (data) {
20
- return observers.forEach(function (observer) {
21
- observer(data);
22
- });
43
+ return __spread(observer.values()).forEach(function (fn) { return fn(data); });
23
44
  },
24
45
  };
25
46
  };
@@ -52,6 +73,10 @@ var unsetPersistedMember = function (persistence) {
52
73
  };
53
74
  exports.unsetPersistedMember = unsetPersistedMember;
54
75
  var onAuthChange = function (cb) {
55
- observable.subscribe(cb);
76
+ var id = Math.floor(Math.random() * 1000);
77
+ observable.subscribe(id, cb);
78
+ return {
79
+ unsubscribe: function () { return observable.unsubscribe(id); },
80
+ };
56
81
  };
57
82
  exports.onAuthChange = onAuthChange;
@@ -13,7 +13,9 @@ export declare type DOMConfig = ClientConfig & {
13
13
  declare const DOMMethods: ({ useCookie, persistence, ...props }: DOMConfig) => {
14
14
  load: () => void;
15
15
  hideModal: () => void;
16
- onAuthChange: (cb: any) => void;
16
+ onAuthChange: (cb: any) => {
17
+ unsubscribe: () => boolean;
18
+ };
17
19
  openModal: (type: DOM.OpenModalParams["type"], params?: DOM.OpenModalParams["params"], options?: DOM.OpenModalParams["options"]) => void;
18
20
  };
19
21
  export declare const init: (props: DOMConfig) => ReturnType<typeof initClient> & ReturnType<typeof DOMMethods>;
@@ -64,8 +64,7 @@ var withScript = function (fn) {
64
64
  return function (props) {
65
65
  var config = __assign({ persistence: persistence_1.Persistence.LOCAL, useCookie: true }, props);
66
66
  script_1.initialize({ publicKey: props.publicKey });
67
- if (config.useCookie)
68
- interceptor_1.initializeInterceptors();
67
+ interceptor_1.initializeInterceptors({ persistence: config.persistence });
69
68
  return fn(config);
70
69
  };
71
70
  };
@@ -1 +1,3 @@
1
- export declare const initializeInterceptors: () => void;
1
+ export declare const initializeInterceptors: ({ persistence }: {
2
+ persistence: any;
3
+ }) => void;
@@ -9,13 +9,15 @@ var default_1 = __importDefault(require("node-request-interceptor/lib/presets/de
9
9
  var cookies_1 = require("./cookies");
10
10
  var persistence_1 = require("../auth/persistence");
11
11
  var interceptor = new node_request_interceptor_1.RequestInterceptor(default_1.default);
12
- var initializeInterceptors = function () {
12
+ var initializeInterceptors = function (_a) {
13
+ var persistence = _a.persistence;
13
14
  interceptor.on("response", function (req, response) {
14
15
  if (response === null || response === void 0 ? void 0 : response.headers["ms-mid"]) {
15
16
  if ((response === null || response === void 0 ? void 0 : response.headers["ms-mid"]) === "null") {
16
17
  cookies_1.setMemberCookie("", -1);
17
- persistence_1.unsetPersistedMember("LOCAL");
18
- persistence_1.unsetPersistedMember("SESSION");
18
+ if (persistence_1.getPersistedMember(persistence)) {
19
+ persistence_1.unsetPersistedMember(persistence);
20
+ }
19
21
  }
20
22
  else {
21
23
  cookies_1.setMemberCookie(response.headers["ms-mid"]);
@@ -59,24 +59,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
59
59
  var persistence_1 = require("../auth/persistence");
60
60
  var handleResponse = function (fn, props) {
61
61
  return function () {
62
- var _a;
63
62
  var args = [];
64
63
  for (var _i = 0; _i < arguments.length; _i++) {
65
64
  args[_i] = arguments[_i];
66
65
  }
67
- return (_a = fn.apply(void 0, __spread(args))) === null || _a === void 0 ? void 0 : _a.then(function (res) {
68
- var _a, _b, _c, _d, _e, _f;
69
- if ((_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.startsWith) === null || _b === void 0 ? void 0 : _b.call(_a, "mem_")) {
70
- persistence_1.unsetPersistedMember(props.persistence);
71
- }
72
- if ((_c = res.data) === null || _c === void 0 ? void 0 : _c.member) {
73
- persistence_1.setPersistedMember((_d = res.data) === null || _d === void 0 ? void 0 : _d.member, props.persistence);
74
- }
75
- if ((_f = (_e = res.data) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.startsWith("mem_")) {
76
- persistence_1.setPersistedMember(res.data, props.persistence);
77
- }
78
- return res;
79
- });
66
+ var result = fn.apply(void 0, __spread(args));
67
+ if (result === null || result === void 0 ? void 0 : result.then) {
68
+ return result.then(function (res) {
69
+ var _a, _b, _c, _d;
70
+ if ((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.member) {
71
+ persistence_1.setPersistedMember((_b = res.data) === null || _b === void 0 ? void 0 : _b.member, props.persistence);
72
+ }
73
+ if ((_d = (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.startsWith("mem_")) {
74
+ persistence_1.setPersistedMember(res.data, props.persistence);
75
+ }
76
+ return res;
77
+ });
78
+ }
79
+ return result;
80
80
  };
81
81
  };
82
82
  var handler = function (props) { return ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberstack/dom",
3
- "version": "1.0.0-beta.12",
3
+ "version": "1.0.0-beta.16",
4
4
  "main": "./lib/index.js",
5
5
  "files": [
6
6
  "lib/**/*"