UNPKG

3.83 kBJavaScriptView Raw
1"use strict";
2var __extends = (this && this.__extends) || (function () {
3 var extendStatics = function (d, b) {
4 extendStatics = Object.setPrototypeOf ||
5 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7 return extendStatics(d, b);
8 };
9 return function (d, b) {
10 extendStatics(d, b);
11 function __() { this.constructor = d; }
12 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13 };
14})();
15var __assign = (this && this.__assign) || function () {
16 __assign = Object.assign || function(t) {
17 for (var s, i = 1, n = arguments.length; i < n; i++) {
18 s = arguments[i];
19 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20 t[p] = s[p];
21 }
22 return t;
23 };
24 return __assign.apply(this, arguments);
25};
26var __importDefault = (this && this.__importDefault) || function (mod) {
27 return (mod && mod.__esModule) ? mod : { "default": mod };
28};
29var __importStar = (this && this.__importStar) || function (mod) {
30 if (mod && mod.__esModule) return mod;
31 var result = {};
32 if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
33 result["default"] = mod;
34 return result;
35};
36Object.defineProperty(exports, "__esModule", { value: true });
37var lodash_kebabcase_1 = __importDefault(require("lodash.kebabcase"));
38var React = __importStar(require("react"));
39var js_1 = __importDefault(require("@bearer/js"));
40exports.BearerContext = React.createContext({
41 bearer: js_1.default.instance,
42 state: {},
43 handlePropUpdates: function () { }
44});
45var BearerProvider = /** @class */ (function (_super) {
46 __extends(BearerProvider, _super);
47 function BearerProvider(props) {
48 var _this = _super.call(this, props) || this;
49 _this.handlePropUpdates = function (e) {
50 e.stopPropagation();
51 var payload = e.detail;
52 var kebabPayload = Object.keys(payload).reduce(function (acc, key) {
53 acc[lodash_kebabcase_1.default(key)] = payload[key];
54 return acc;
55 }, {});
56 _this.setState(function (state) { return (__assign({}, state, { integrationState: __assign({}, state.integrationState, kebabPayload) })); });
57 };
58 _this.state = {
59 bearer: _this.initBearerFromProps(props),
60 integrationState: props.initialContext || {}
61 };
62 return _this;
63 }
64 BearerProvider.prototype.render = function () {
65 var value = {
66 bearer: this.state.bearer,
67 handlePropUpdates: this.handlePropUpdates,
68 state: this.state.integrationState
69 };
70 return React.createElement(exports.BearerContext.Provider, { value: value }, this.props.children);
71 };
72 BearerProvider.prototype.componentWillReceiveProps = function (newProps, oldProps) {
73 var _this = this;
74 if (newProps.clientId !== oldProps.clientId) {
75 this.setState(function (state) { return (__assign({}, state, { bearer: _this.initBearerFromProps(newProps) })); });
76 }
77 };
78 BearerProvider.prototype.componentDidUpdate = function (_prevProps, prevState) {
79 if (this.props.onUpdate && this.state !== prevState) {
80 this.props.onUpdate(this.state);
81 }
82 };
83 BearerProvider.prototype.initBearerFromProps = function (props) {
84 var integrationHost = props.integrationHost, domObserver = props.domObserver;
85 return js_1.default(props.clientId, { integrationHost: integrationHost, domObserver: domObserver });
86 };
87 return BearerProvider;
88}(React.Component));
89exports.default = BearerProvider;