@redhat-cloud-services/chrome 0.0.2
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.
- package/ChromeContext/ChromeContext.d.ts +9 -0
- package/ChromeContext/ChromeContext.js +15 -0
- package/ChromeContext/ChromeContext.js.map +1 -0
- package/ChromeContext/index.d.ts +2 -0
- package/ChromeContext/index.js +11 -0
- package/ChromeContext/index.js.map +1 -0
- package/ChromeContext/package.json +1 -0
- package/ChromeProvider/ChromeProvider.d.ts +3 -0
- package/ChromeProvider/ChromeProvider.js +66 -0
- package/ChromeProvider/ChromeProvider.js.map +1 -0
- package/ChromeProvider/chromeState.d.ts +14 -0
- package/ChromeProvider/chromeState.js +66 -0
- package/ChromeProvider/chromeState.js.map +1 -0
- package/ChromeProvider/chromeStateManager.d.ts +3 -0
- package/ChromeProvider/chromeStateManager.js +22 -0
- package/ChromeProvider/chromeStateManager.js.map +1 -0
- package/ChromeProvider/index.d.ts +3 -0
- package/ChromeProvider/index.js +13 -0
- package/ChromeProvider/index.js.map +1 -0
- package/ChromeProvider/package.json +1 -0
- package/README.md +9 -0
- package/esm/ChromeContext/ChromeContext.js +13 -0
- package/esm/ChromeContext/ChromeContext.js.map +1 -0
- package/esm/ChromeContext/index.js +3 -0
- package/esm/ChromeContext/index.js.map +1 -0
- package/esm/ChromeProvider/ChromeProvider.js +61 -0
- package/esm/ChromeProvider/ChromeProvider.js.map +1 -0
- package/esm/ChromeProvider/chromeState.js +63 -0
- package/esm/ChromeProvider/chromeState.js.map +1 -0
- package/esm/ChromeProvider/chromeStateManager.js +22 -0
- package/esm/ChromeProvider/chromeStateManager.js.map +1 -0
- package/esm/ChromeProvider/index.js +4 -0
- package/esm/ChromeProvider/index.js.map +1 -0
- package/esm/index.js +4 -0
- package/esm/index.js.map +1 -0
- package/esm/useLastVisited/index.js +3 -0
- package/esm/useLastVisited/index.js.map +1 -0
- package/esm/useLastVisited/useLastVisited.js +16 -0
- package/esm/useLastVisited/useLastVisited.js.map +1 -0
- package/esm/utils/fetch.js +28 -0
- package/esm/utils/fetch.js.map +1 -0
- package/esm/utils/generateSubscribtionId.js +5 -0
- package/esm/utils/generateSubscribtionId.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +20 -0
- package/index.js.map +1 -0
- package/package.json +40 -0
- package/useLastVisited/index.d.ts +2 -0
- package/useLastVisited/index.js +11 -0
- package/useLastVisited/index.js.map +1 -0
- package/useLastVisited/package.json +1 -0
- package/useLastVisited/useLastVisited.d.ts +2 -0
- package/useLastVisited/useLastVisited.js +18 -0
- package/useLastVisited/useLastVisited.js.map +1 -0
- package/utils/fetch.d.ts +2 -0
- package/utils/fetch.js +33 -0
- package/utils/fetch.js.map +1 -0
- package/utils/generateSubscribtionId.d.ts +2 -0
- package/utils/generateSubscribtionId.js +7 -0
- package/utils/generateSubscribtionId.js.map +1 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const ChromeContext: import("react").Context<{
|
|
3
|
+
getState: () => import("../ChromeProvider/chromeState").ChromeContextState;
|
|
4
|
+
setLastVisited: (pages: string[]) => void;
|
|
5
|
+
subscribe: (event: import("../ChromeProvider/chromeState").UpdateEvents, onUpdate: () => void) => number;
|
|
6
|
+
unsubscribe: (id: number, event: import("../ChromeProvider/chromeState").UpdateEvents) => void;
|
|
7
|
+
update: (event: import("../ChromeProvider/chromeState").UpdateEvents, attributes: Partial<import("../ChromeProvider/chromeState").ChromeContextState>) => void;
|
|
8
|
+
}>;
|
|
9
|
+
export default ChromeContext;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_1 = require("react");
|
|
4
|
+
var ChromeContext = (0, react_1.createContext)({
|
|
5
|
+
update: function () { return undefined; },
|
|
6
|
+
setLastVisited: function () { return undefined; },
|
|
7
|
+
subscribe: function () { return 0; },
|
|
8
|
+
unsubscribe: function () { return undefined; },
|
|
9
|
+
getState: function () { return ({
|
|
10
|
+
lastVisitedPages: [],
|
|
11
|
+
subscribtions: {},
|
|
12
|
+
}); },
|
|
13
|
+
});
|
|
14
|
+
exports.default = ChromeContext;
|
|
15
|
+
//# sourceMappingURL=ChromeContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChromeContext.js","sourceRoot":"","sources":["../src/ChromeContext/ChromeContext.ts"],"names":[],"mappings":";;AAAA,+BAAsC;AAGtC,IAAM,aAAa,GAAG,IAAA,qBAAa,EAAiC;IAClE,MAAM,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACvB,cAAc,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC/B,SAAS,EAAE,cAAM,OAAA,CAAC,EAAD,CAAC;IAClB,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,QAAQ,EAAE,cAAM,OAAA,CAAC;QACf,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;KAClB,CAAC,EAHc,CAGd;CACH,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChromeContext = exports.default = void 0;
|
|
7
|
+
var ChromeContext_1 = require("./ChromeContext");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(ChromeContext_1).default; } });
|
|
9
|
+
var ChromeContext_2 = require("./ChromeContext");
|
|
10
|
+
Object.defineProperty(exports, "ChromeContext", { enumerable: true, get: function () { return __importDefault(ChromeContext_2).default; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ChromeContext/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA0C;AAAjC,yHAAA,OAAO,OAAA;AAChB,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"index.js","module":"../esm/ChromeContext/index.js","typings":"index.d.ts"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
18
|
+
var react_1 = require("react");
|
|
19
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
20
|
+
var proxy_client_react_1 = require("@unleash/proxy-client-react");
|
|
21
|
+
var ChromeContext_1 = require("../ChromeContext");
|
|
22
|
+
var chromeState_1 = __importDefault(require("./chromeState"));
|
|
23
|
+
var fetch_1 = require("../utils/fetch");
|
|
24
|
+
var API_BASE = '/api/chrome-service/v1';
|
|
25
|
+
var LAST_VISITED_URL = "".concat(API_BASE, "/last-visited");
|
|
26
|
+
var getLastVisited = function () { return (0, fetch_1.get)(LAST_VISITED_URL); };
|
|
27
|
+
var useLastPageVisitedUploader = function (providerState, chromeBackendEnabled) {
|
|
28
|
+
var pathname = (0, react_router_dom_1.useLocation)().pathname;
|
|
29
|
+
(0, react_1.useEffect)(function () {
|
|
30
|
+
if (chromeBackendEnabled) {
|
|
31
|
+
(0, fetch_1.post)(LAST_VISITED_URL, {
|
|
32
|
+
pathname: pathname,
|
|
33
|
+
title: document.title,
|
|
34
|
+
}).then(function (data) { return providerState.setLastVisited(data); });
|
|
35
|
+
}
|
|
36
|
+
}, [pathname]);
|
|
37
|
+
};
|
|
38
|
+
var ChromeProvider = function (_a) {
|
|
39
|
+
var children = _a.children;
|
|
40
|
+
var chromeBackendEnabled = (0, proxy_client_react_1.useFlag)('platform.chrome.chrome-service');
|
|
41
|
+
var isMounted = (0, react_1.useRef)(false);
|
|
42
|
+
var _b = (0, react_1.useState)(false), initialRequest = _b[0], setInitialRequest = _b[1];
|
|
43
|
+
var providerState = (0, react_1.useRef)();
|
|
44
|
+
if (!providerState.current) {
|
|
45
|
+
providerState.current = (0, chromeState_1.default)();
|
|
46
|
+
}
|
|
47
|
+
useLastPageVisitedUploader(providerState.current, chromeBackendEnabled);
|
|
48
|
+
(0, react_1.useEffect)(function () {
|
|
49
|
+
isMounted.current = true;
|
|
50
|
+
if (chromeBackendEnabled && !initialRequest) {
|
|
51
|
+
getLastVisited().then(function (lastVisited) {
|
|
52
|
+
var _a;
|
|
53
|
+
if (isMounted.current) {
|
|
54
|
+
(_a = providerState.current) === null || _a === void 0 ? void 0 : _a.setLastVisited(lastVisited);
|
|
55
|
+
setInitialRequest(true);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return function () {
|
|
60
|
+
isMounted.current = false;
|
|
61
|
+
};
|
|
62
|
+
}, [chromeBackendEnabled]);
|
|
63
|
+
return (0, jsx_runtime_1.jsx)(ChromeContext_1.ChromeContext.Provider, __assign({ value: providerState.current }, { children: children }));
|
|
64
|
+
};
|
|
65
|
+
exports.default = ChromeProvider;
|
|
66
|
+
//# sourceMappingURL=ChromeProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA2D;AAC3D,qDAA+C;AAC/C,kEAAsD;AAEtD,kDAAiD;AACjD,8DAAwC;AACxC,wCAA2C;AAE3C,IAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,IAAM,gBAAgB,GAAG,UAAG,QAAQ,kBAAe,CAAC;AAEpD,IAAM,cAAc,GAAG,cAAM,OAAA,IAAA,WAAG,EAAW,gBAAgB,CAAC,EAA/B,CAA+B,CAAC;AAE7D,IAAM,0BAA0B,GAAG,UAAC,aAA6C,EAAE,oBAA8B;IACvG,IAAA,QAAQ,GAAK,IAAA,8BAAW,GAAE,SAAlB,CAAmB;IACnC,IAAA,iBAAS,EAAC;QACR,IAAI,oBAAoB,EAAE;YACxB,IAAA,YAAI,EAAgD,gBAAgB,EAAE;gBACpE,QAAQ,UAAA;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;SACvD;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAa,UAAC,EAAY;QAAV,QAAQ,cAAA;IAC1C,IAAM,oBAAoB,GAAG,IAAA,4BAAO,EAAC,gCAAgC,CAAC,CAAC;IACvE,IAAM,SAAS,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,KAAsC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAC5D,IAAM,aAAa,GAAG,IAAA,cAAM,GAAkC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC1B,aAAa,CAAC,OAAO,GAAG,IAAA,qBAAW,GAAE,CAAC;KACvC;IAED,0BAA0B,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAExE,IAAA,iBAAS,EAAC;QACR,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,oBAAoB,IAAI,CAAC,cAAc,EAAE;YAC3C,cAAc,EAAE,CAAC,IAAI,CAAC,UAAC,WAAW;;gBAChC,IAAI,SAAS,CAAC,OAAO,EAAE;oBACrB,MAAA,aAAa,CAAC,OAAO,0CAAE,cAAc,CAAC,WAAW,CAAC,CAAC;oBACnD,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO;YACL,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,OAAO,uBAAC,6BAAa,CAAC,QAAQ,aAAC,KAAK,EAAE,aAAa,CAAC,OAAO,gBAAG,QAAQ,IAA0B,CAAC;AACnG,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare type ChromeContextState = {
|
|
2
|
+
lastVisitedPages: string[];
|
|
3
|
+
};
|
|
4
|
+
export declare enum UpdateEvents {
|
|
5
|
+
lastVisited = "lastVisited"
|
|
6
|
+
}
|
|
7
|
+
declare const chromeState: () => {
|
|
8
|
+
getState: () => ChromeContextState;
|
|
9
|
+
setLastVisited: (pages: string[]) => void;
|
|
10
|
+
subscribe: (event: UpdateEvents, onUpdate: () => void) => number;
|
|
11
|
+
unsubscribe: (id: number, event: UpdateEvents) => void;
|
|
12
|
+
update: (event: UpdateEvents, attributes: Partial<ChromeContextState>) => void;
|
|
13
|
+
};
|
|
14
|
+
export default chromeState;
|
|
@@ -0,0 +1,66 @@
|
|
|
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.UpdateEvents = void 0;
|
|
15
|
+
var UpdateEvents;
|
|
16
|
+
(function (UpdateEvents) {
|
|
17
|
+
UpdateEvents["lastVisited"] = "lastVisited";
|
|
18
|
+
})(UpdateEvents = exports.UpdateEvents || (exports.UpdateEvents = {}));
|
|
19
|
+
var chromeState = function () {
|
|
20
|
+
var state = {
|
|
21
|
+
lastVisitedPages: [],
|
|
22
|
+
};
|
|
23
|
+
var subscribtions = {
|
|
24
|
+
lastVisited: [],
|
|
25
|
+
};
|
|
26
|
+
function subscribe(event, onUpdate) {
|
|
27
|
+
var id = subscribtions[event].length;
|
|
28
|
+
subscribtions[event].push({ onUpdate: onUpdate });
|
|
29
|
+
onUpdate();
|
|
30
|
+
return id;
|
|
31
|
+
}
|
|
32
|
+
function unsubscribe(id, event) {
|
|
33
|
+
if (id < subscribtions[event].length) {
|
|
34
|
+
subscribtions[event].splice(id, 1);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.error('Trying to unsubscribe client outside of the range!');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function update(event, attributes) {
|
|
41
|
+
state = __assign(__assign({}, state), attributes);
|
|
42
|
+
var updateSubscriptions = subscribtions[event];
|
|
43
|
+
if (updateSubscriptions.length === 0) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
updateSubscriptions.forEach(function (_a) {
|
|
47
|
+
var onUpdate = _a.onUpdate;
|
|
48
|
+
onUpdate();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function setLastVisited(pages) {
|
|
52
|
+
update(UpdateEvents.lastVisited, { lastVisitedPages: pages });
|
|
53
|
+
}
|
|
54
|
+
function getState() {
|
|
55
|
+
return state;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
getState: getState,
|
|
59
|
+
setLastVisited: setLastVisited,
|
|
60
|
+
subscribe: subscribe,
|
|
61
|
+
unsubscribe: unsubscribe,
|
|
62
|
+
update: update,
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
exports.default = chromeState;
|
|
66
|
+
//# sourceMappingURL=chromeState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromeState.js","sourceRoot":"","sources":["../src/ChromeProvider/chromeState.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,2CAA2B,CAAA;AAC7B,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB;AAED,IAAM,WAAW,GAAG;IAClB,IAAI,KAAK,GAAuB;QAC9B,gBAAgB,EAAE,EAAE;KACrB,CAAC;IAEF,IAAM,aAAa,GAIf;QACF,WAAW,EAAE,EAAE;KAChB,CAAC;IAGF,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAoB;QAE1D,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAEvC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAExC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,SAAS,WAAW,CAAC,EAAU,EAAE,KAAmB;QAClD,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;YACpC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACrE;IACH,CAAC;IAGD,SAAS,MAAM,CAAC,KAAmB,EAAE,UAAuC;QAC1E,KAAK,yBACA,KAAK,GACL,UAAU,CACd,CAAC;QACF,IAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QAGD,mBAAmB,CAAC,OAAO,CAAC,UAAC,EAAY;gBAAV,QAAQ,cAAA;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,SAAS,cAAc,CAAC,KAAe;QACrC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,OAAO;QACL,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,SAAS,WAAA;QACT,WAAW,aAAA;QACX,MAAM,QAAA;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 chromeState = function () {
|
|
14
|
+
var state = {
|
|
15
|
+
lastVisitedPages: [],
|
|
16
|
+
};
|
|
17
|
+
function setLastVisited(pages) {
|
|
18
|
+
state.lastVisitedPages = pages;
|
|
19
|
+
}
|
|
20
|
+
return __assign({}, state);
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=chromeStateManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromeStateManager.js","sourceRoot":"","sources":["../src/ChromeProvider/chromeStateManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,WAAW,GAAG;IAClB,IAAM,KAAK,GAEP;QACF,gBAAgB,EAAE,EAAE;KACrB,CAAC;IAEF,SAAS,cAAc,CAAC,KAAe;QACrC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,oBACK,KAAK,EACR;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.UpdateEvents = exports.default = exports.ChromeProvider = void 0;
|
|
7
|
+
var ChromeProvider_1 = require("./ChromeProvider");
|
|
8
|
+
Object.defineProperty(exports, "ChromeProvider", { enumerable: true, get: function () { return __importDefault(ChromeProvider_1).default; } });
|
|
9
|
+
var ChromeProvider_2 = require("./ChromeProvider");
|
|
10
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(ChromeProvider_2).default; } });
|
|
11
|
+
var chromeState_1 = require("./chromeState");
|
|
12
|
+
Object.defineProperty(exports, "UpdateEvents", { enumerable: true, get: function () { return chromeState_1.UpdateEvents; } });
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/ChromeProvider/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,mDAA2C;AAAlC,0HAAA,OAAO,OAAA;AAChB,6CAAiE;AAApC,2GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"index.js","module":"../esm/ChromeProvider/index.js","typings":"index.d.ts"}
|
package/README.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Chrome package
|
|
2
|
+
|
|
3
|
+
This package is intended to be used as a public interface to all shared data or functions exposed by chrome to its modules
|
|
4
|
+
|
|
5
|
+
The package is currently in an experimental phase. Please do not use it.
|
|
6
|
+
|
|
7
|
+
## Installation: TDB
|
|
8
|
+
|
|
9
|
+
## Development: TDB
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
var ChromeContext = createContext({
|
|
3
|
+
update: function () { return undefined; },
|
|
4
|
+
setLastVisited: function () { return undefined; },
|
|
5
|
+
subscribe: function () { return 0; },
|
|
6
|
+
unsubscribe: function () { return undefined; },
|
|
7
|
+
getState: function () { return ({
|
|
8
|
+
lastVisitedPages: [],
|
|
9
|
+
subscribtions: {},
|
|
10
|
+
}); },
|
|
11
|
+
});
|
|
12
|
+
export default ChromeContext;
|
|
13
|
+
//# sourceMappingURL=ChromeContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChromeContext.js","sourceRoot":"","sources":["../../src/ChromeContext/ChromeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,IAAM,aAAa,GAAG,aAAa,CAAiC;IAClE,MAAM,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IACvB,cAAc,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC/B,SAAS,EAAE,cAAM,OAAA,CAAC,EAAD,CAAC;IAClB,WAAW,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC5B,QAAQ,EAAE,cAAM,OAAA,CAAC;QACf,gBAAgB,EAAE,EAAE;QACpB,aAAa,EAAE,EAAE;KAClB,CAAC,EAHc,CAGd;CACH,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChromeContext/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { useEffect, useRef, useState } from 'react';
|
|
14
|
+
import { useLocation } from 'react-router-dom';
|
|
15
|
+
import { useFlag } from '@unleash/proxy-client-react';
|
|
16
|
+
import { ChromeContext } from '../ChromeContext';
|
|
17
|
+
import chromeState from './chromeState';
|
|
18
|
+
import { get, post } from '../utils/fetch';
|
|
19
|
+
var API_BASE = '/api/chrome-service/v1';
|
|
20
|
+
var LAST_VISITED_URL = "".concat(API_BASE, "/last-visited");
|
|
21
|
+
var getLastVisited = function () { return get(LAST_VISITED_URL); };
|
|
22
|
+
var useLastPageVisitedUploader = function (providerState, chromeBackendEnabled) {
|
|
23
|
+
var pathname = useLocation().pathname;
|
|
24
|
+
useEffect(function () {
|
|
25
|
+
if (chromeBackendEnabled) {
|
|
26
|
+
post(LAST_VISITED_URL, {
|
|
27
|
+
pathname: pathname,
|
|
28
|
+
title: document.title,
|
|
29
|
+
}).then(function (data) { return providerState.setLastVisited(data); });
|
|
30
|
+
}
|
|
31
|
+
}, [pathname]);
|
|
32
|
+
};
|
|
33
|
+
var ChromeProvider = function (_a) {
|
|
34
|
+
var children = _a.children;
|
|
35
|
+
var chromeBackendEnabled = useFlag('platform.chrome.chrome-service');
|
|
36
|
+
var isMounted = useRef(false);
|
|
37
|
+
var _b = useState(false), initialRequest = _b[0], setInitialRequest = _b[1];
|
|
38
|
+
var providerState = useRef();
|
|
39
|
+
if (!providerState.current) {
|
|
40
|
+
providerState.current = chromeState();
|
|
41
|
+
}
|
|
42
|
+
useLastPageVisitedUploader(providerState.current, chromeBackendEnabled);
|
|
43
|
+
useEffect(function () {
|
|
44
|
+
isMounted.current = true;
|
|
45
|
+
if (chromeBackendEnabled && !initialRequest) {
|
|
46
|
+
getLastVisited().then(function (lastVisited) {
|
|
47
|
+
var _a;
|
|
48
|
+
if (isMounted.current) {
|
|
49
|
+
(_a = providerState.current) === null || _a === void 0 ? void 0 : _a.setLastVisited(lastVisited);
|
|
50
|
+
setInitialRequest(true);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return function () {
|
|
55
|
+
isMounted.current = false;
|
|
56
|
+
};
|
|
57
|
+
}, [chromeBackendEnabled]);
|
|
58
|
+
return _jsx(ChromeContext.Provider, __assign({ value: providerState.current }, { children: children }));
|
|
59
|
+
};
|
|
60
|
+
export default ChromeProvider;
|
|
61
|
+
//# sourceMappingURL=ChromeProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChromeProvider.js","sourceRoot":"","sources":["../../src/ChromeProvider/ChromeProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,IAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,IAAM,gBAAgB,GAAG,UAAG,QAAQ,kBAAe,CAAC;AAEpD,IAAM,cAAc,GAAG,cAAM,OAAA,GAAG,CAAW,gBAAgB,CAAC,EAA/B,CAA+B,CAAC;AAE7D,IAAM,0BAA0B,GAAG,UAAC,aAA6C,EAAE,oBAA8B;IACvG,IAAA,QAAQ,GAAK,WAAW,EAAE,SAAlB,CAAmB;IACnC,SAAS,CAAC;QACR,IAAI,oBAAoB,EAAE;YACxB,IAAI,CAAgD,gBAAgB,EAAE;gBACpE,QAAQ,UAAA;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;SACvD;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAa,UAAC,EAAY;QAAV,QAAQ,cAAA;IAC1C,IAAM,oBAAoB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACvE,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAA,KAAsC,QAAQ,CAAC,KAAK,CAAC,EAApD,cAAc,QAAA,EAAE,iBAAiB,QAAmB,CAAC;IAC5D,IAAM,aAAa,GAAG,MAAM,EAAkC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC1B,aAAa,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;KACvC;IAED,0BAA0B,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAExE,SAAS,CAAC;QACR,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,oBAAoB,IAAI,CAAC,cAAc,EAAE;YAC3C,cAAc,EAAE,CAAC,IAAI,CAAC,UAAC,WAAW;;gBAChC,IAAI,SAAS,CAAC,OAAO,EAAE;oBACrB,MAAA,aAAa,CAAC,OAAO,0CAAE,cAAc,CAAC,WAAW,CAAC,CAAC;oBACnD,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO;YACL,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,OAAO,KAAC,aAAa,CAAC,QAAQ,aAAC,KAAK,EAAE,aAAa,CAAC,OAAO,gBAAG,QAAQ,IAA0B,CAAC;AACnG,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
export var UpdateEvents;
|
|
13
|
+
(function (UpdateEvents) {
|
|
14
|
+
UpdateEvents["lastVisited"] = "lastVisited";
|
|
15
|
+
})(UpdateEvents || (UpdateEvents = {}));
|
|
16
|
+
var chromeState = function () {
|
|
17
|
+
var state = {
|
|
18
|
+
lastVisitedPages: [],
|
|
19
|
+
};
|
|
20
|
+
var subscribtions = {
|
|
21
|
+
lastVisited: [],
|
|
22
|
+
};
|
|
23
|
+
function subscribe(event, onUpdate) {
|
|
24
|
+
var id = subscribtions[event].length;
|
|
25
|
+
subscribtions[event].push({ onUpdate: onUpdate });
|
|
26
|
+
onUpdate();
|
|
27
|
+
return id;
|
|
28
|
+
}
|
|
29
|
+
function unsubscribe(id, event) {
|
|
30
|
+
if (id < subscribtions[event].length) {
|
|
31
|
+
subscribtions[event].splice(id, 1);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
console.error('Trying to unsubscribe client outside of the range!');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function update(event, attributes) {
|
|
38
|
+
state = __assign(__assign({}, state), attributes);
|
|
39
|
+
var updateSubscriptions = subscribtions[event];
|
|
40
|
+
if (updateSubscriptions.length === 0) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
updateSubscriptions.forEach(function (_a) {
|
|
44
|
+
var onUpdate = _a.onUpdate;
|
|
45
|
+
onUpdate();
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function setLastVisited(pages) {
|
|
49
|
+
update(UpdateEvents.lastVisited, { lastVisitedPages: pages });
|
|
50
|
+
}
|
|
51
|
+
function getState() {
|
|
52
|
+
return state;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
getState: getState,
|
|
56
|
+
setLastVisited: setLastVisited,
|
|
57
|
+
subscribe: subscribe,
|
|
58
|
+
unsubscribe: unsubscribe,
|
|
59
|
+
update: update,
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export default chromeState;
|
|
63
|
+
//# sourceMappingURL=chromeState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromeState.js","sourceRoot":"","sources":["../../src/ChromeProvider/chromeState.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,MAAM,CAAN,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,2CAA2B,CAAA;AAC7B,CAAC,EAFW,YAAY,KAAZ,YAAY,QAEvB;AAED,IAAM,WAAW,GAAG;IAClB,IAAI,KAAK,GAAuB;QAC9B,gBAAgB,EAAE,EAAE;KACrB,CAAC;IAEF,IAAM,aAAa,GAIf;QACF,WAAW,EAAE,EAAE;KAChB,CAAC;IAGF,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAoB;QAE1D,IAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAEvC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;QAExC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAGD,SAAS,WAAW,CAAC,EAAU,EAAE,KAAmB;QAClD,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;YACpC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACrE;IACH,CAAC;IAGD,SAAS,MAAM,CAAC,KAAmB,EAAE,UAAuC;QAC1E,KAAK,yBACA,KAAK,GACL,UAAU,CACd,CAAC;QACF,IAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QAGD,mBAAmB,CAAC,OAAO,CAAC,UAAC,EAAY;gBAAV,QAAQ,cAAA;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,SAAS,cAAc,CAAC,KAAe;QACrC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,QAAQ;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,OAAO;QACL,QAAQ,UAAA;QACR,cAAc,gBAAA;QACd,SAAS,WAAA;QACT,WAAW,aAAA;QACX,MAAM,QAAA;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 chromeState = function () {
|
|
14
|
+
var state = {
|
|
15
|
+
lastVisitedPages: [],
|
|
16
|
+
};
|
|
17
|
+
function setLastVisited(pages) {
|
|
18
|
+
state.lastVisitedPages = pages;
|
|
19
|
+
}
|
|
20
|
+
return __assign({}, state);
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=chromeStateManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromeStateManager.js","sourceRoot":"","sources":["../../src/ChromeProvider/chromeStateManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,WAAW,GAAG;IAClB,IAAM,KAAK,GAEP;QACF,gBAAgB,EAAE,EAAE;KACrB,CAAC;IAEF,SAAS,cAAc,CAAC,KAAe;QACrC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,oBACK,KAAK,EACR;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ChromeProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAsB,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/esm/index.js
ADDED
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/useLastVisited/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useContext, useEffect, useReducer } from 'react';
|
|
2
|
+
import { ChromeContext } from '../ChromeContext';
|
|
3
|
+
import { UpdateEvents } from '../ChromeProvider';
|
|
4
|
+
var useLastVisited = function () {
|
|
5
|
+
var _a = useContext(ChromeContext), subscribe = _a.subscribe, unsubscribe = _a.unsubscribe, getState = _a.getState;
|
|
6
|
+
var _b = useReducer(function (count) { return count + 1; }, 0), forceRender = _b[1];
|
|
7
|
+
useEffect(function () {
|
|
8
|
+
var subsId = subscribe(UpdateEvents.lastVisited, forceRender);
|
|
9
|
+
return function () {
|
|
10
|
+
unsubscribe(subsId, UpdateEvents.lastVisited);
|
|
11
|
+
};
|
|
12
|
+
}, []);
|
|
13
|
+
return getState().lastVisitedPages;
|
|
14
|
+
};
|
|
15
|
+
export default useLastVisited;
|
|
16
|
+
//# sourceMappingURL=useLastVisited.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLastVisited.js","sourceRoot":"","sources":["../../src/useLastVisited/useLastVisited.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,IAAM,cAAc,GAAG;IACf,IAAA,KAAuC,UAAU,CAAC,aAAa,CAAC,EAA9D,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAA8B,CAAC;IACjE,IAAA,KAAkB,UAAU,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,GAAG,CAAC,EAAT,CAAS,EAAE,CAAC,CAAC,EAAlD,WAAW,QAAuC,CAAC;IAE5D,SAAS,CAAC;QACR,IAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO;YACL,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,QAAQ,EAAE,CAAC,gBAAgB,CAAC;AACrC,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
export function get(url, options) {
|
|
13
|
+
return fetch(url, __assign(__assign({}, options), { method: 'GET' }))
|
|
14
|
+
.then(function (res) { return res.json(); })
|
|
15
|
+
.then(function (_a) {
|
|
16
|
+
var data = _a.data;
|
|
17
|
+
return data;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export function post(url, data, options) {
|
|
21
|
+
return fetch(url, __assign(__assign({ credentials: 'include' }, options), { headers: __assign(__assign({}, options === null || options === void 0 ? void 0 : options.headers), { 'Content-Type': 'application/json' }), method: 'POST', body: JSON.stringify(data) }))
|
|
22
|
+
.then(function (res) { return res.json(); })
|
|
23
|
+
.then(function (_a) {
|
|
24
|
+
var data = _a.data;
|
|
25
|
+
return data;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,UAAU,GAAG,CAAI,GAAgB,EAAE,OAAqB;IAC5D,OAAO,KAAK,CAAC,GAAG,wBAAO,OAAO,KAAE,MAAM,EAAE,KAAK,IAAG;SAC7C,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAC,UAAC,EAAqB;YAAnB,IAAI,UAAA;QAAoB,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,IAAI,CAAyD,GAAgB,EAAE,IAAO,EAAE,OAAmC;IACzI,OAAO,KAAK,CAAC,GAAG,sBACd,WAAW,EAAE,SAAS,IACnB,OAAO,KACV,OAAO,wBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KACnB,cAAc,EAAE,kBAAkB,KAEpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B;SACC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAI,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSubscribtionId.js","sourceRoot":"","sources":["../../src/utils/generateSubscribtionId.ts"],"names":[],"mappings":"AAAA,IAAM,sBAAsB,GAAG;IAC7B,OAAO,UAAG,IAAI,CAAC,GAAG,EAAE,cAAI,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
package/index.d.ts
ADDED
package/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ChromeProvider"), exports);
|
|
18
|
+
__exportStar(require("./ChromeContext"), exports);
|
|
19
|
+
__exportStar(require("./useLastVisited"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@redhat-cloud-services/chrome",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "Chrome functions for RedHat Hybrid cloud console.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"typings": "index.d.ts",
|
|
7
|
+
"module": "esm/index.js",
|
|
8
|
+
"publishConfig": {
|
|
9
|
+
"access": "public"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "npm run build:js && npm run build:esm && npm run build:packages",
|
|
13
|
+
"build:packages": "node ../../scripts/build-packages.js --forceTypes",
|
|
14
|
+
"start": "concurrently \"npm run build:esm -- --watch\" \"npm run build:js -- --watch\" \"npm run build:packages\"",
|
|
15
|
+
"build:esm": "tsc --module es2015 --target es5",
|
|
16
|
+
"build:js": "tsc -p tsconfig.cjs.json"
|
|
17
|
+
},
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/RedHatInsights/frontend-components.git"
|
|
21
|
+
},
|
|
22
|
+
"author": "",
|
|
23
|
+
"license": "Apache-2.0",
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/RedHatInsights/frontend-components/issues"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://github.com/RedHatInsights/frontend-components/tree/master/packages/chrome#readme",
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"@unleash/proxy-client-react": "^3.5.0",
|
|
30
|
+
"react-router-dom": "^5.0.0 || ^6.0.0"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"react": "^17.0.2",
|
|
34
|
+
"react-dom": "^17.0.2"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/react": "^17.0.0"
|
|
38
|
+
},
|
|
39
|
+
"sideEffects": false
|
|
40
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useLastVisited = exports.default = void 0;
|
|
7
|
+
var useLastVisited_1 = require("./useLastVisited");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(useLastVisited_1).default; } });
|
|
9
|
+
var useLastVisited_2 = require("./useLastVisited");
|
|
10
|
+
Object.defineProperty(exports, "useLastVisited", { enumerable: true, get: function () { return __importDefault(useLastVisited_2).default; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/useLastVisited/index.ts"],"names":[],"mappings":";;;;;;AAAA,mDAA2C;AAAlC,0HAAA,OAAO,OAAA;AAChB,mDAA6D;AAApD,iIAAA,OAAO,OAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"index.js","module":"../esm/useLastVisited/index.js","typings":"index.d.ts"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_1 = require("react");
|
|
4
|
+
var ChromeContext_1 = require("../ChromeContext");
|
|
5
|
+
var ChromeProvider_1 = require("../ChromeProvider");
|
|
6
|
+
var useLastVisited = function () {
|
|
7
|
+
var _a = (0, react_1.useContext)(ChromeContext_1.ChromeContext), subscribe = _a.subscribe, unsubscribe = _a.unsubscribe, getState = _a.getState;
|
|
8
|
+
var _b = (0, react_1.useReducer)(function (count) { return count + 1; }, 0), forceRender = _b[1];
|
|
9
|
+
(0, react_1.useEffect)(function () {
|
|
10
|
+
var subsId = subscribe(ChromeProvider_1.UpdateEvents.lastVisited, forceRender);
|
|
11
|
+
return function () {
|
|
12
|
+
unsubscribe(subsId, ChromeProvider_1.UpdateEvents.lastVisited);
|
|
13
|
+
};
|
|
14
|
+
}, []);
|
|
15
|
+
return getState().lastVisitedPages;
|
|
16
|
+
};
|
|
17
|
+
exports.default = useLastVisited;
|
|
18
|
+
//# sourceMappingURL=useLastVisited.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLastVisited.js","sourceRoot":"","sources":["../src/useLastVisited/useLastVisited.ts"],"names":[],"mappings":";;AAAA,+BAA0D;AAE1D,kDAAiD;AACjD,oDAAiD;AAEjD,IAAM,cAAc,GAAG;IACf,IAAA,KAAuC,IAAA,kBAAU,EAAC,6BAAa,CAAC,EAA9D,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAA8B,CAAC;IACjE,IAAA,KAAkB,IAAA,kBAAU,EAAC,UAAC,KAAK,IAAK,OAAA,KAAK,GAAG,CAAC,EAAT,CAAS,EAAE,CAAC,CAAC,EAAlD,WAAW,QAAuC,CAAC;IAE5D,IAAA,iBAAS,EAAC;QACR,IAAM,MAAM,GAAG,SAAS,CAAC,6BAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO;YACL,WAAW,CAAC,MAAM,EAAE,6BAAY,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,QAAQ,EAAE,CAAC,gBAAgB,CAAC;AACrC,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
package/utils/fetch.d.ts
ADDED
package/utils/fetch.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
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.post = exports.get = void 0;
|
|
15
|
+
function get(url, options) {
|
|
16
|
+
return fetch(url, __assign(__assign({}, options), { method: 'GET' }))
|
|
17
|
+
.then(function (res) { return res.json(); })
|
|
18
|
+
.then(function (_a) {
|
|
19
|
+
var data = _a.data;
|
|
20
|
+
return data;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
exports.get = get;
|
|
24
|
+
function post(url, data, options) {
|
|
25
|
+
return fetch(url, __assign(__assign({ credentials: 'include' }, options), { headers: __assign(__assign({}, options === null || options === void 0 ? void 0 : options.headers), { 'Content-Type': 'application/json' }), method: 'POST', body: JSON.stringify(data) }))
|
|
26
|
+
.then(function (res) { return res.json(); })
|
|
27
|
+
.then(function (_a) {
|
|
28
|
+
var data = _a.data;
|
|
29
|
+
return data;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.post = post;
|
|
33
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAgB,GAAG,CAAI,GAAgB,EAAE,OAAqB;IAC5D,OAAO,KAAK,CAAC,GAAG,wBAAO,OAAO,KAAE,MAAM,EAAE,KAAK,IAAG;SAC7C,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAC,UAAC,EAAqB;YAAnB,IAAI,UAAA;QAAoB,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AAC3C,CAAC;AAJD,kBAIC;AAED,SAAgB,IAAI,CAAyD,GAAgB,EAAE,IAAO,EAAE,OAAmC;IACzI,OAAO,KAAK,CAAC,GAAG,sBACd,WAAW,EAAE,SAAS,IACnB,OAAO,KACV,OAAO,wBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KACnB,cAAc,EAAE,kBAAkB,KAEpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B;SACC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;SACzB,IAAI,CAAI,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,IAAI;IAAJ,CAAI,CAAC,CAAC;AACjC,CAAC;AAbD,oBAaC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var generateSubscribtionId = function () {
|
|
4
|
+
return "".concat(Date.now(), ":").concat(Math.random());
|
|
5
|
+
};
|
|
6
|
+
exports.default = generateSubscribtionId;
|
|
7
|
+
//# sourceMappingURL=generateSubscribtionId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSubscribtionId.js","sourceRoot":"","sources":["../src/utils/generateSubscribtionId.ts"],"names":[],"mappings":";;AAAA,IAAM,sBAAsB,GAAG;IAC7B,OAAO,UAAG,IAAI,CAAC,GAAG,EAAE,cAAI,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,kBAAe,sBAAsB,CAAC"}
|