@corva/ui 3.54.0-7 → 3.54.0-9
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/cjs-bundle/clients/api/apiCore.js +1 -1
- package/cjs-bundle/clients/api/apiCore.js.map +1 -1
- package/cjs-bundle/clients/api/constants.js +2 -0
- package/cjs-bundle/clients/api/constants.js.map +1 -0
- package/cjs-bundle/clients/api/rateLimiter.js +2 -0
- package/cjs-bundle/clients/api/rateLimiter.js.map +1 -0
- package/cjs-bundle/clients/index.js +1 -1
- package/cjs-bundle/clients/utils.js +1 -1
- package/cjs-bundle/clients/utils.js.map +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
- package/cjs-bundle/componentsV2/AppContainer/AppContainer.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/AppHeader.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AppHeaderV3.js +1 -1
- package/cjs-bundle/componentsV2/AppSettings/AppSettings.js +1 -1
- package/cjs-bundle/componentsV2/AppSettings/AppSettingsPinningContext.js +1 -1
- package/cjs-bundle/effects/subscriptions/useSubscriptions.v1.js +1 -1
- package/cjs-bundle/effects/subscriptions/useSubscriptions.v1.js.map +1 -1
- package/cjs-bundle/effects/subscriptions/useSubscriptions.v2.js +1 -1
- package/clients/api/apiCore.d.ts.map +1 -1
- package/clients/api/apiCore.js +1 -1
- package/clients/api/apiCore.js.map +1 -1
- package/clients/api/constants.d.ts +37 -0
- package/clients/api/constants.d.ts.map +1 -0
- package/clients/api/constants.js +2 -0
- package/clients/api/constants.js.map +1 -0
- package/clients/api/rateLimiter.d.ts +24 -0
- package/clients/api/rateLimiter.d.ts.map +1 -0
- package/clients/api/rateLimiter.js +2 -0
- package/clients/api/rateLimiter.js.map +1 -0
- package/clients/index.js +1 -1
- package/clients/index.js.map +1 -1
- package/clients/utils.d.ts +4 -2
- package/clients/utils.d.ts.map +1 -1
- package/clients/utils.js +1 -1
- package/clients/utils.js.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
- package/componentsV2/AppContainer/AppContainer.d.ts +2 -0
- package/componentsV2/AppContainer/AppContainer.d.ts.map +1 -1
- package/componentsV2/AppContainer/AppContainer.js +1 -1
- package/componentsV2/AppHeader/AppHeader.d.ts +1 -5
- package/componentsV2/AppHeader/AppHeader.d.ts.map +1 -1
- package/componentsV2/AppHeader/AppHeader.js +1 -1
- package/componentsV2/AppHeader/V3/Actions/Actions.d.ts +1 -2
- package/componentsV2/AppHeader/V3/Actions/Actions.d.ts.map +1 -1
- package/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
- package/componentsV2/AppHeader/V3/AppHeaderV3.d.ts +0 -1
- package/componentsV2/AppHeader/V3/AppHeaderV3.d.ts.map +1 -1
- package/componentsV2/AppHeader/V3/AppHeaderV3.js +1 -1
- package/componentsV2/AppHeader/V3/AppHeaderV3.stories.d.ts +2 -1
- package/componentsV2/AppHeader/V3/AppHeaderV3.stories.d.ts.map +1 -1
- package/componentsV2/AppSettings/AppSettings.d.ts +0 -1
- package/componentsV2/AppSettings/AppSettings.d.ts.map +1 -1
- package/componentsV2/AppSettings/AppSettings.js +1 -1
- package/componentsV2/AppSettings/AppSettingsPinningContext.d.ts +3 -1
- package/componentsV2/AppSettings/AppSettingsPinningContext.d.ts.map +1 -1
- package/componentsV2/AppSettings/AppSettingsPinningContext.js +1 -1
- package/effects/subscriptions/useSubscriptions.v1.js +1 -1
- package/effects/subscriptions/useSubscriptions.v1.js.map +1 -1
- package/effects/subscriptions/useSubscriptions.v2.d.ts.map +1 -1
- package/effects/subscriptions/useSubscriptions.v2.js +1 -1
- package/effects/useSubscriptions.d.ts.map +1 -1
- package/mcp-server/server.mjs +13 -13
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),s=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/slicedToArray"),o=require("@babel/runtime/helpers/typeof"),t=require("react/jsx-runtime"),r=require("react"),i=require("classnames"),c=require("../../../ButtonIcon/ButtonIcon.js"),u=require("../../../Tooltip/Tooltip.js"),l=require("../SettingsButton/SettingsButton.js");require("../SettingsButton/SettingsButton.constants.js");var a=require("../../../Menu/Menu.js");require("../../../AppCommonsProvider/AppCommonsProvider.js");var m=require("../../../AppCommonsProvider/AppCommonsContext.js"),p=require("../../../Popover/Popover.js"),d=require("../../../AppSettings/AppSettings.js");require("../../../AppSettings/AppSettings.constants.js");var j=require("../../../AppSettings/AppSettingsPinningContext.js"),q=require("../../../AppSizeProvider/AppSizeProvider.js"),I=require("./Actions.constants.js"),C=require("./Actions.scss.js"),f=require("../../../../icons/iconParkIcons.js"),g=require("../../../../icons/customIcons/icons/AddMessage.js");require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js"),require("../../../../clients/subscriptions/constants.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("querystring"),require("uuid/v1"),require("lodash"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/jsonApi/index.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js");var h=require("../../../../effects/useOutsideClick.js");require("immutable"),require("query-string"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../../components/GradientManager/configuration/constants.js"),require("../../../../utils/index.js"),require("uuid"),require("jsona"),require("../../../../utils/env.js"),require("../../../../components/StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../constants/streamSourceType.js");var b=require("../../../../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var v=A(e),x=A(s),S=A(n),y=A(o),P=A(i);function k(e,s){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);s&&(o=o.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),n.push.apply(n,o)}return n}function O(e){for(var s=1;s<arguments.length;s++){var n=null!=arguments[s]?arguments[s]:{};s%2?k(Object(n),!0).forEach((function(s){x.default(e,s,n[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(n,s))}))}return e}var B=function(e){return!!e&&"object"===y.default(e)&&"title"in e};exports.Actions=function(e){var s=e.additionalActions,n=e.showComments,o=e.disableSettings,i=e.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),s=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/slicedToArray"),o=require("@babel/runtime/helpers/typeof"),t=require("react/jsx-runtime"),r=require("react"),i=require("classnames"),c=require("../../../ButtonIcon/ButtonIcon.js"),u=require("../../../Tooltip/Tooltip.js"),l=require("../SettingsButton/SettingsButton.js");require("../SettingsButton/SettingsButton.constants.js");var a=require("../../../Menu/Menu.js");require("../../../AppCommonsProvider/AppCommonsProvider.js");var m=require("../../../AppCommonsProvider/AppCommonsContext.js"),p=require("../../../Popover/Popover.js"),d=require("../../../AppSettings/AppSettings.js");require("../../../AppSettings/AppSettings.constants.js");var j=require("../../../AppSettings/AppSettingsPinningContext.js"),q=require("../../../AppSizeProvider/AppSizeProvider.js"),I=require("./Actions.constants.js"),C=require("./Actions.scss.js"),f=require("../../../../icons/iconParkIcons.js"),g=require("../../../../icons/customIcons/icons/AddMessage.js");require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js"),require("../../../../clients/subscriptions/constants.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("querystring"),require("uuid/v1"),require("lodash"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/jsonApi/index.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js");var h=require("../../../../effects/useOutsideClick.js");require("immutable"),require("query-string"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../../components/GradientManager/configuration/constants.js"),require("../../../../utils/index.js"),require("uuid"),require("jsona"),require("../../../../utils/env.js"),require("../../../../components/StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../constants/streamSourceType.js");var b=require("../../../../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var v=A(e),x=A(s),S=A(n),y=A(o),P=A(i);function k(e,s){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);s&&(o=o.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),n.push.apply(n,o)}return n}function O(e){for(var s=1;s<arguments.length;s++){var n=null!=arguments[s]?arguments[s]:{};s%2?k(Object(n),!0).forEach((function(s){x.default(e,s,n[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(n,s))}))}return e}var B=function(e){return!!e&&"object"===y.default(e)&&"title"in e};exports.Actions=function(e){var s=e.additionalActions,n=e.showComments,o=e.disableSettings,i=e.rootRef,A=e.hideSettingsUnderMore,x=m.useAppCommonsInternal(),y=x.maximized,k=x.setMaximized,M=x.isInsideNewMobileApp,T=b.useAppCommentsMode(),F=b.useSetAppCommentsMode(),E=r.useState(!1),w=S.default(E,2),z=w[0],D=w[1],R=r.useRef(null),N=r.useRef(null),G=r.useState(!0),U=S.default(G,2),H=U[0],L=U[1],W=r.useRef(null),_=j.useAppSettingPinning(),Z=_.isPinned,J=_.close,K=_.open,Q=_.isPopoverOpen,V=_.animatePopover,X=r.useCallback((function(){J(!1)}),[J]),Y=m.useAppCommonsInternal().appSettingsComponent,$=(q.useAppSize()||{}).height,ee=!!Y&&!o,se=r.useMemo((function(){return{maxHeight:"".concat($,"px")}}),[$]),ne=r.useCallback((function(){D((function(e){return!e}))}),[]),oe=r.useCallback((function(){F((function(e){return!e}))}),[F]),te=r.useCallback((function(){L(!1),k(!y)}),[y,k]);r.useEffect((function(){L(!0)}),[y]);var re=r.useMemo((function(){var e=function(e){return function(){ne(),null==e||e()}},o=(s||[]).filter(B).map((function(s){return O(O({},s),{},{onClick:e(s.onClick)})})),r={icon:t.jsx(f.MessageIcon,{}),onClick:e(oe),title:T?"Close Comments Mode":"Add Comment"},i={title:"Full Screen",onClick:e(te),icon:t.jsx(f.ExpandIcon,{})},c={title:"Settings",onClick:e(K),icon:t.jsx(f.SettingTwoIcon,{})};return[].concat(v.default(o),v.default(n?[r]:[]),v.default(A&&ee?[c]:[]),[i])}),[s,T,A,K,ee,n,oe,te,ne]);h(W,X,[N.current,'[role="tooltip"]','[role="presentation"]']);var ie=re.length>1,ce=t.jsx(c.ButtonIcon,{size:"small",type:"tertiaryBg",onClick:te,className:ie?C.fullscreenButton:void 0,testId:y?I.ActionsTestIds.CollapseButtonTestId:I.ActionsTestIds.ExpandButtonTestId,children:y?t.jsx(f.CollapseIcon,{}):t.jsx(f.ExpandIcon,{})});return t.jsxs(t.Fragment,{children:[null==s?void 0:s.map((function(e,s){return B(e)?t.jsx(u.Tooltip,{title:e.title,children:t.jsx(c.ButtonIcon,{size:"small",type:"tertiary",onClick:e.onClick,className:P.default(C.additionalActionButton),testId:I.ActionsTestIds.AdditionalActionItemTestId,children:e.icon})},s):t.jsx(r.Fragment,{children:e},s)})),n&&t.jsx(u.Tooltip,{title:T?"Close Comments Mode":"Add Comment",children:t.jsx(c.ButtonIcon,{size:"small",type:T?"secondaryBg":"tertiaryBg",onClick:oe,className:ie?C.commentButton:void 0,testId:T?I.ActionsTestIds.CloseCommentButtonTestId:I.ActionsTestIds.AddMessageButtonTestId,children:T?t.jsx(f.CloseSmallIcon,{}):t.jsx(g.AddMessageCustomIcon,{fill:"currentColor"})})}),ee&&t.jsx(l.SettingsButton,{ref:N,closeSettings:X,className:A?C.settingsHiddenUnderMore:void 0}),!M&&t.jsx(t.Fragment,{children:H?t.jsx(u.Tooltip,{title:y?"Close Full Screen":"Full Screen",children:ce}):ce}),ie&&t.jsx(u.Tooltip,{title:"More",children:t.jsx(c.ButtonIcon,{type:z||A&&Q?"secondaryBg":"tertiaryBg",className:C.moreButton,ref:R,onClick:ne,size:"small",children:t.jsx(f.MoreOneIcon,{})})}),ie&&R.current&&t.jsx(a.Menu,{anchorEl:R.current,open:z,onClose:ne,placement:"bottom-end",children:re.map((function(e,s){return t.jsx(a.Menu.Item,{size:"large",prefix:e.icon,onClick:e.onClick,children:e.title},s)}))}),ee&&i.current&&!Z&&t.jsx(p.Popover,{open:Q,placement:"bottom-end",anchorEl:i.current,onClose:X,className:C.settingsPopover,preventScroll:!1,backdrop:!1,animate:V,children:t.jsx(d.AppSettings,{rootStyles:se,ref:W,onClose:X})})]})};
|
|
2
2
|
//# sourceMappingURL=Actions.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("react/jsx-runtime"),s=require("react"),i=require("classnames"),l=require("lodash"),o=require("../../../constants/segment.js"),n=require("../../../utils/devcenter.js"),r=require("../../PadModeSelect/PadModeSelect.js");require("../../PadModeSelect/PadModeSelect.constants.js");var d=require("../AppHeader.constants.js");require("../../AppCommonsProvider/AppCommonsProvider.js");var a=require("../../AppCommonsProvider/AppCommonsContext.js"),u=require("../../utils.js"),c=require("./VersionSelect/VersionSelect.js"),p=require("./AssetChips/AssetChips.js"),v=require("./AppTitle/AppTitle.js");require("./AppTitle/AppTitle.constants.js");var f=require("./useResponsivity.js"),j=require("./Actions/Actions.js");require("./Actions/Actions.constants.js");var m=require("./AppHeaderV3.scss.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var C=A(e),y=A(i);function h(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,i)}return s}function b(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?h(Object(s),!0).forEach((function(t){C.default(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):h(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}exports.AppHeaderV3=function(e){var i,A,C,h,g,P,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("react/jsx-runtime"),s=require("react"),i=require("classnames"),l=require("lodash"),o=require("../../../constants/segment.js"),n=require("../../../utils/devcenter.js"),r=require("../../PadModeSelect/PadModeSelect.js");require("../../PadModeSelect/PadModeSelect.constants.js");var d=require("../AppHeader.constants.js");require("../../AppCommonsProvider/AppCommonsProvider.js");var a=require("../../AppCommonsProvider/AppCommonsContext.js"),u=require("../../utils.js"),c=require("./VersionSelect/VersionSelect.js"),p=require("./AssetChips/AssetChips.js"),v=require("./AppTitle/AppTitle.js");require("./AppTitle/AppTitle.constants.js");var f=require("./useResponsivity.js"),j=require("./Actions/Actions.js");require("./Actions/Actions.constants.js");var m=require("./AppHeaderV3.scss.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var C=A(e),y=A(i);function h(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,i)}return s}function b(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?h(Object(s),!0).forEach((function(t){C.default(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):h(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}exports.AppHeaderV3=function(e){var i,A,C,h,g,q,P,I,S,M,O,R,x,N=e.elementsClassNames,L=e.className,w=e.testId,T=e.logo,D=e.additionalControls,H=e.title,E=e.padModeDisabled,V=e.padModeWells,U=e.dqData,k=e.asset,W=e.lastUpdate,F=e.additionalActions,_=e.showComments,B=e.titleControls,G=e.disableSettings,z=e.showAssetChips,J=e.disableAssetSelector,K=e.titleMenuActions,Q=e.titleControlsPosition,X=void 0===Q?"right":Q,Y=e.responsivenessConfig,Z=s.useRef(null),$=a.useAppCommonsInternal(),ee=$.app,te=$.well,se=$.wells,ie=$.fracFleet,le=$.isInsideNewMobileApp,oe=n.getAppSegment(ee),ne=V||se,re=!(E||oe!==o.SEGMENTS.COMPLETION||te||l.isEmpty(ne)||!ie||le),de=T?"ultranarrow":re||D||B?"narrow":void 0,ae="left"===X&&!!B,ue=s.useRef(null),ce=s.useRef(null),pe=s.useRef(null),ve=s.useRef(null),fe=s.useRef(null),je=s.useRef(null),me=s.useRef(null),Ae=f.useResponsivity({disabled:le,titleControlsLeft:ae,rootRef:Z,versionRef:ue,additionalControlsRef:pe,titleControlsRef:ve,logoRef:je,padModeRef:ce,chipsRef:fe,actionsRef:me});return t.jsxs("div",b(b({className:y.default(m.root,L),"data-testid":w,ref:Z,style:null===(i=Ae.root)||void 0===i?void 0:i.style},u.AppHeaderFinderProps),{},{children:[t.jsx("div",{className:y.default(m.logoContainer,null==N?void 0:N.logoContainer),ref:je,children:T&&"string"==typeof T?t.jsx("img",{className:m.logo,src:T,alt:"Logo"}):T}),t.jsx(v.AppTitle,{title:H,asset:k,dqData:U,lastUpdate:W,className:y.default(m.title,ae&&m.titleWithControlsLeft,null==N?void 0:N.title),disableAssetSelector:J,titleMenuActions:K,style:null===(A=Ae.title)||void 0===A?void 0:A.style}),B&&t.jsx("div",{className:y.default(m.titleControls,ae&&m.titleControlsLeft,(null===(C=Ae.titleControls)||void 0===C?void 0:C.lastInLine)&&m.lastInLine,null==N?void 0:N.titleControls),ref:ve,style:null===(h=Ae.titleControls)||void 0===h?void 0:h.style,children:B}),!le&&t.jsx("div",{className:m.version,ref:ue,children:t.jsx(c.VersionSelect,{className:null==N?void 0:N.versionSelect})}),re&&t.jsx("div",{className:y.default(m.padMode,(null===(g=Ae.padMode)||void 0===g?void 0:g.lastInLine)&&m.lastInLine),ref:ce,style:null===(q=Ae.padMode)||void 0===q?void 0:q.style,children:t.jsx(r.PadModeSelect,{testId:d.AppHeaderTestIds.PadModeSelectTestId})}),D&&t.jsx("div",{className:y.default(m.additionalControls,(null===(P=Ae.additionalControls)||void 0===P?void 0:P.lastInLine)&&m.lastInLine,null==N?void 0:N.additionalControls),ref:pe,style:null===(I=Ae.additionalControls)||void 0===I?void 0:I.style,"data-testid":d.AppHeaderTestIds.AdditionalControlsTestId,children:D}),z&&!le&&t.jsx("div",{className:y.default(m.assetChips,(null===(S=Ae.chips)||void 0===S?void 0:S.lastInLine)&&m.lastInLine,null==N?void 0:N.chips),ref:fe,style:null===(M=Ae.chips)||void 0===M?void 0:M.style,children:t.jsx(p.AssetChips,{chipsWidth:de})}),t.jsx("div",{className:y.default(m.actions,(null===(O=Ae.actions)||void 0===O?void 0:O.lastInLine)&&m.lastInLine,null==N?void 0:N.actions),ref:me,style:null===(R=Ae.actions)||void 0===R?void 0:R.style,"data-testid":d.AppHeaderTestIds.ActionsRootTestId,children:t.jsx(j.Actions,{additionalActions:F,showComments:_,disableSettings:G,rootRef:Z,hideSettingsUnderMore:null==Y?void 0:Y.hideSettingsUnderMore})}),null===(x=Ae.linebreaks)||void 0===x?void 0:x.map((function(e,s){return t.jsx("div",{className:m.responsivenessLineBreak,style:e},s)}))]}))};
|
|
2
2
|
//# sourceMappingURL=AppHeaderV3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("@babel/runtime/helpers/slicedToArray"),e=require("react/jsx-runtime"),n=require("react"),o=require("lodash"),i=require("classnames"),c=require("../Text/Text.js"),r=require("../Tooltip/Tooltip.js"),t=require("../ButtonIcon/ButtonIcon.js"),u=require("../../components/ErrorBoundary/ErrorBoundary.js"),l=require("../../components/ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js"),a=require("../AppCommonsProvider/AppCommonsContext.js"),m=require("./AppSettingsPinningContext.js"),d=require("./AppSettings.scss.js"),j=require("../../icons/iconParkIcons.js");require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js"),require("../../icons/customIcons/icons/Global.js"),require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js");var p=require("../../icons/customIcons/icons/Pin.js");require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js");var q=require("./AppSettings.constants.js");function I(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var h=I(s),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("@babel/runtime/helpers/slicedToArray"),e=require("react/jsx-runtime"),n=require("react"),o=require("lodash"),i=require("classnames"),c=require("../Text/Text.js"),r=require("../Tooltip/Tooltip.js"),t=require("../ButtonIcon/ButtonIcon.js"),u=require("../../components/ErrorBoundary/ErrorBoundary.js"),l=require("../../components/ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js"),a=require("../AppCommonsProvider/AppCommonsContext.js"),m=require("./AppSettingsPinningContext.js"),d=require("./AppSettings.scss.js"),j=require("../../icons/iconParkIcons.js");require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js"),require("../../icons/customIcons/icons/Global.js"),require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js");var p=require("../../icons/customIcons/icons/Pin.js");require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js");var q=require("./AppSettings.constants.js");function I(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var h=I(s),C=I(i),g=n.forwardRef((function(s,i){var I=s.rootStyles,g=s.onClose,v=a.useAppCommonsInternal(),x=v.appSettings,S=v.currentUser,A=v.onSettingChange,f=v.onSettingsChange,P=v.layoutEnvironment,b=v.app,T=v.appData,F=v.appSettingsComponent,B=n.useState(!1),E=h.default(B,2),k=E[0],y=E[1],O=n.useRef(null),R=m.useAppSettingPinning(),w=R.isPinned,D=R.onPinClick,U=R.showPinButton;return n.useEffect((function(){if(O.current){var s=o.debounce((function(){requestAnimationFrame((function(){var s=O.current||{},e=s.clientHeight,n=void 0===e?0:e,o=s.scrollHeight;y(n<(void 0===o?0:o))}))}),200,{leading:!0}),e=new ResizeObserver(s);return O.current&&e.observe(O.current),function(){e.disconnect(),s.cancel()}}}),[]),F?e.jsxs("div",{className:d.root,style:I,ref:i,children:[e.jsxs("div",{className:d.header,children:[e.jsx(c.Text,{size:16,weight:"medium",className:d.title,children:"Settings"}),U&&e.jsx(r.Tooltip,{title:w?"Unpin":"Pin",children:e.jsx(t.ButtonIcon,{size:"small",className:w?d.pinnedPinButton:void 0,onClick:D,testId:w?q.AppSettingsTestIds.UnpinButtonTestId:q.AppSettingsTestIds.PinButtonTestId,children:e.jsx(p.Pin,{})})}),e.jsx(r.Tooltip,{title:"Close Settings",children:e.jsx(t.ButtonIcon,{testId:q.AppSettingsTestIds.CloseSettingsButtonTestId,size:"small",onClick:g,children:e.jsx(j.CloseSmallIcon,{})})})]}),e.jsx("div",{className:C.default(d.content,k&&d.scrollable),children:e.jsx("div",{className:d.contentInner,ref:O,children:e.jsx(u,{ErrorView:l,children:e.jsx(F,{app:b,appData:T,settings:x,onSettingChange:A,onSettingsChange:f,layoutEnvironment:P,currentUser:S})})})})]}):null}));exports.AppSettings=g;
|
|
2
2
|
//# sourceMappingURL=AppSettings.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),n=require("react/jsx-runtime"),t=require("react"),i=require("../AppCommonsProvider/AppCommonsContext.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=o(e),s=t.createContext({isPinned:!1,isPopoverOpen:!1,open:function(){},close:function(){},onPinClick:function(){},animatePopover:!0,showPinButton:!0});exports.AppSettingsPinnedKey=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),n=require("react/jsx-runtime"),t=require("react"),i=require("../AppCommonsProvider/AppCommonsContext.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=o(e),u="CorvaUI.internal.SettingsPinned",s=t.createContext({isPinned:!1,isPopoverOpen:!1,open:function(){},close:function(){},onPinClick:function(){},animatePopover:!0,showPinButton:!0});exports.AppSettingsPinnedKey=u,exports.AppSettingsPinningProvider=function(e){var o=e.children,a=e.initiallyPinned,p=void 0!==a&&a,l=e.pinningEnabled,c=void 0!==l&&l,d=i.useAppCommonsInternal(),P=d.appSettings,f=d.onSettingChange,v=d.appSettingsComponent,C=d.isInsideNewMobileApp,m=p&&P&&!(u in P)||!(null==P||!P[u]),g=t.useState(!1),S=r.default(g,2),b=S[0],x=S[1],A=t.useState(!1),h=r.default(A,2),y=h[0],j=h[1],k=t.useState(m&&!!v),q=r.default(k,2),w=q[0],I=q[1],M=w&&!C,O=t.useCallback((function(){j(!1),x(M),I(!M),f(u,!M)}),[f,M]),B=t.useCallback((function(){M||(j(!0),x(!0))}),[M]),_=t.useCallback((function(e){j(!0),I(!1),e&&f(u,!1),x(!1)}),[f]),E=!C&&c,K=t.useMemo((function(){return{isPinned:M,isPopoverOpen:b,open:B,close:_,onPinClick:O,animatePopover:y,showPinButton:E,initiallyPinned:p}}),[M,b,B,_,O,y,E,p]);return n.jsx(s.Provider,{value:K,children:o})},exports.useAppSettingPinning=function(){return t.useContext(s)};
|
|
2
2
|
//# sourceMappingURL=AppSettingsPinningContext.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/asyncToGenerator"),t=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/regenerator"),u=require("querystring"),a=require("react"),i=require("uuid/v1"),c=require("lodash"),s=require("../../clients/subscriptions.v1.js"),o=require("../../clients/utils.js"),p=require("../../clients/jsonApi/index.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=f(e),d=f(r),b=f(t),m=f(n),y=f(i);function v(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function h(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?v(Object(t),!0).forEach((function(r){b.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function g(e,r,t){var n=s.getSubscriptionId(e,r);return h(h({},e),{},{hookId:r,subId:n,appInstanceId:n,app_key:t})}function O(e,r){return w.apply(this,arguments)}function w(){return w=d.default(m.default.mark((function e(r,t){var n,u,a;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.timeQuery,u=t.appKey,a=r.map(function(){var e=d.default(m.default.mark((function e(r){var t,a,i,c,s,o,f,l,d;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.provider,a=r.collection,i=r.assetId,c=r.subscribeOnly,s=r.params,!c){e.next=3;break}return e.abrupt("return",null);case 3:return o=s.query,f=n?"{timestamp#lte#".concat(n.timestamp.$lte):"",l=o&&f?"AND":"",d="".concat(o).concat(l).concat(f),e.prev=7,e.next=10,p.getAppStorage(t,a,i,h(h(h({},s),d?{query:d}:{}),{},{appKey:u}));case 10:return e.abrupt("return",e.sent);case 13:return e.prev=13,e.t0=e.catch(7),e.abrupt("return",[]);case 16:case"end":return e.stop()}}),e,null,[[7,13]])})));return function(r){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(a));case 3:case"end":return e.stop()}}),e)}))),w.apply(this,arguments)}function I(e,r){return j.apply(this,arguments)}function j(){return j=d.default(m.default.mark((function e(r,t){var n,u,a;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.timeQuery,u=t.appKey,a=r.map(function(){var e=d.default(m.default.mark((function e(r){var t,a,i,s,o,f,l,d,b,y,v,g;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.provider,a=r.collection,i=r.assetId,s=r.subscribeOnly,o=r.params,f=void 0===o?{}:o,!s){e.next=3;break}return e.abrupt("return",null);case 3:if(!f.aggregate){e.next=5;break}return e.abrupt("return",p.getDataAppStorageAggregate(t,a,h({},c.mapValues(f.aggregate,JSON.stringify))));case 5:return l=JSON.stringify(c.merge({asset_id:i},f.query,n)),d=f.limit,b=void 0===d?1:d,y=f.sort,v=void 0===y?'{"timestamp": 1}':y,e.prev=7,g=h(h({},f),{},{limit:b,sort:v,query:l,appKey:u}),e.next=11,p.getDataAppStorage(t,a,g);case 11:return e.abrupt("return",e.sent);case 14:return e.prev=14,e.t0=e.catch(7),e.abrupt("return",[]);case 17:case"end":return e.stop()}}),e,null,[[7,14]])})));return function(r){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(a));case 3:case"end":return e.stop()}}),e)}))),j.apply(this,arguments)}exports.fetchInitialSubscriptionsData=I,exports.fetchInitialSubscriptionsDataDeprecated=O,exports.useSubscriptionsV1=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=r.timestamp,n=r.isOldApiUsed,i=a.useState({}),s=l.default(i,2),p=s[0],f=s[1],d=a.useRef();d.current||(d.current=y.default());var m=window[Symbol.for("socket")],v=m.subscribe,w=m.unsubscribe,j=m.socket,q=a.useMemo((function(){return o.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/asyncToGenerator"),t=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/regenerator"),u=require("querystring"),a=require("react"),i=require("uuid/v1"),c=require("lodash"),s=require("../../clients/subscriptions.v1.js"),o=require("../../clients/utils.js"),p=require("../../clients/jsonApi/index.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=f(e),d=f(r),b=f(t),m=f(n),y=f(i);function v(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function h(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?v(Object(t),!0).forEach((function(r){b.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function g(e,r,t){var n=s.getSubscriptionId(e,r);return h(h({},e),{},{hookId:r,subId:n,appInstanceId:n,app_key:t})}function O(e,r){return w.apply(this,arguments)}function w(){return w=d.default(m.default.mark((function e(r,t){var n,u,a;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.timeQuery,u=t.appKey,a=r.map(function(){var e=d.default(m.default.mark((function e(r){var t,a,i,c,s,o,f,l,d;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.provider,a=r.collection,i=r.assetId,c=r.subscribeOnly,s=r.params,!c){e.next=3;break}return e.abrupt("return",null);case 3:return o=s.query,f=n?"{timestamp#lte#".concat(n.timestamp.$lte):"",l=o&&f?"AND":"",d="".concat(o).concat(l).concat(f),e.prev=7,e.next=10,p.getAppStorage(t,a,i,h(h(h({},s),d?{query:d}:{}),{},{appKey:u}));case 10:return e.abrupt("return",e.sent);case 13:return e.prev=13,e.t0=e.catch(7),e.abrupt("return",[]);case 16:case"end":return e.stop()}}),e,null,[[7,13]])})));return function(r){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(a));case 3:case"end":return e.stop()}}),e)}))),w.apply(this,arguments)}function I(e,r){return j.apply(this,arguments)}function j(){return j=d.default(m.default.mark((function e(r,t){var n,u,a;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.timeQuery,u=t.appKey,a=r.map(function(){var e=d.default(m.default.mark((function e(r){var t,a,i,s,o,f,l,d,b,y,v,g;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=r.provider,a=r.collection,i=r.assetId,s=r.subscribeOnly,o=r.params,f=void 0===o?{}:o,!s){e.next=3;break}return e.abrupt("return",null);case 3:if(!f.aggregate){e.next=5;break}return e.abrupt("return",p.getDataAppStorageAggregate(t,a,h({},c.mapValues(f.aggregate,JSON.stringify))));case 5:return l=JSON.stringify(c.merge({asset_id:i},f.query,n)),d=f.limit,b=void 0===d?1:d,y=f.sort,v=void 0===y?'{"timestamp": 1}':y,e.prev=7,g=h(h({},f),{},{limit:b,sort:v,query:l,appKey:u}),e.next=11,p.getDataAppStorage(t,a,g);case 11:return e.abrupt("return",e.sent);case 14:return e.prev=14,e.t0=e.catch(7),e.abrupt("return",[]);case 17:case"end":return e.stop()}}),e,null,[[7,14]])})));return function(r){return e.apply(this,arguments)}}()),e.abrupt("return",Promise.all(a));case 3:case"end":return e.stop()}}),e)}))),j.apply(this,arguments)}exports.fetchInitialSubscriptionsData=I,exports.fetchInitialSubscriptionsDataDeprecated=O,exports.useSubscriptionsV1=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=r.timestamp,n=r.isOldApiUsed,i=a.useState({}),s=l.default(i,2),p=s[0],f=s[1],d=a.useRef();d.current||(d.current=y.default());var m=window[Symbol.for("socket")],v=m.subscribe,w=m.unsubscribe,j=m.socket,q=a.useMemo((function(){var e;return null===(e=o.getAppKeyAndId())||void 0===e?void 0:e.appKey}),[]),x=a.useRef([]),S=c.castArray(e).map((function(e){return g(e,d.current,q)})),k=S.map((function(e){return e.subId})).join(),A=a.useMemo((function(){if(t)return{timestamp:{$lte:t}};var e=u.parse(window.location.search).time;return e?{timestamp:{$lte:new Date(e)/1e3}}:null}),[window.location.search,t]);return a.useEffect((function(){var e=function(e){e.hookId===d.current&&f((function(r){var t=e.data;return e.subId in r&&!e.subscribeOnly&&(t=c.concat(r[e.subId],e.data)),e.params&&e.params.limit&&(t=t.slice(-e.params.limit)),h(h({},r),{},b.default({},e.subId,t))}))};return j&&j.on("data",e),function(){j&&j.off("data",e)}}),[]),a.useEffect((function(){x.current.forEach(w),x.current=[]}),[A]),a.useEffect((function(){var e=x.current,r=c.differenceBy(S,e,"subId"),t=c.differenceBy(e,S,"subId");r.forEach((function(e){A&&!e.alwaysSubscribe||v(e)})),t.forEach(w),x.current=S,(n?O:I)(r,{timeQuery:A,appKey:q,isOldApiUsed:n}).then((function(e){return f((function(n){var u=c.omit(n,t.map((function(e){return e.subId})));return r.forEach((function(r,t){null!==e[t]&&(u[r.subId]=e[t])})),u}))}))}),[k,A]),a.useEffect((function(){return function(){return x.current.forEach(w)}}),[]),a.useMemo((function(){return S.map((function(e){var r=e.subId;return{loading:!(r in p),data:p[r]}}))}),[p,k])};
|
|
2
2
|
//# sourceMappingURL=useSubscriptions.v1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubscriptions.v1.js","sources":["../../../../src/effects/subscriptions/useSubscriptions.v1.js"],"sourcesContent":["// NOTE: This is a deprecated module, but is still used in the codebase (some devcenter apps)\n// We don't support it, dc devs should refactor their code to use socketClient directly\nimport { parse } from 'querystring';\n\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport uuidV1 from 'uuid/v1';\nimport { castArray, omit, differenceBy, concat, merge, mapValues } from 'lodash';\n\nimport { getSubscriptionId } from '../../clients/subscriptions.v1';\n\nimport { getAppKeyFromStackTrace } from '~/clients/utils';\nimport { getAppStorage, getDataAppStorage, getDataAppStorageAggregate } from '~/clients/jsonApi';\n\nfunction getSubscriptionWithId(sub, hookId, appKey) {\n const subId = getSubscriptionId(sub, hookId);\n return { ...sub, hookId, subId, appInstanceId: subId, app_key: appKey };\n}\n\nexport async function fetchInitialSubscriptionsDataDeprecated(\n subscriptions,\n { timeQuery, appKey }\n) {\n const requests = subscriptions.map(\n async ({ provider, collection, assetId, subscribeOnly, params }) => {\n if (subscribeOnly) return null;\n const queryFromParameters = params.query;\n const queryFromTime = timeQuery ? `{timestamp#lte#${timeQuery.timestamp.$lte}` : '';\n const separator = queryFromParameters && queryFromTime ? 'AND' : '';\n const query = `${queryFromParameters}${separator}${queryFromTime}`;\n\n try {\n return await getAppStorage(provider, collection, assetId, {\n ...params,\n ...(query ? { query } : {}),\n appKey,\n });\n } catch (e) {\n return [];\n }\n }\n );\n return Promise.all(requests);\n}\n\nexport async function fetchInitialSubscriptionsData(subscriptions, { timeQuery, appKey }) {\n const requests = subscriptions.map(\n async ({ provider, collection, assetId, subscribeOnly, params = {} }) => {\n if (subscribeOnly) return null;\n\n // NOTE: Use different endpoint for aggregate queries\n // https://data.qa.corva.ai/docs#/default/aggregate_api_v1_data__provider___dataset__aggregate__get\n if (params.aggregate)\n return getDataAppStorageAggregate(provider, collection, {\n ...mapValues(params.aggregate, JSON.stringify),\n });\n\n const query = JSON.stringify(merge({ asset_id: assetId }, params.query, timeQuery));\n const { limit = 1, sort = '{\"timestamp\": 1}' } = params;\n\n try {\n const options = {\n ...params,\n limit,\n sort,\n query,\n appKey,\n };\n\n return await getDataAppStorage(provider, collection, options);\n } catch (e) {\n return [];\n }\n }\n );\n return Promise.all(requests);\n}\n\n/**\n * A hook to subscribe to the corva socket updates\n * @param {Object | Object[]} subscriptions - subscription params\n * @param {number} subscriptions.limit - only save given amount of records\n * @param {boolean} subscriptions.subscribeOnly - do NOT send initial requests for the data\n * @param {boolean} subscriptions.alwaysSubscribe - will always subscribe, even when well timeline used\n * and do NOT store previously received data if true\n * @param {Object | Object} options - various hook options\n * @param {Object | Object} options.timestamp - requested time (usually from well timeline).\n * If provided only the initial request is being sent with the {\"timestamp\": {\"$lte\":time}} query added.\n */\nexport function useSubscriptionsV1(subscriptions, { timestamp, isOldApiUsed } = {}) {\n const [data, setData] = useState({});\n // NOTE: Declare this hook id to differentiate between hooks\n const hookIdRef = useRef();\n if (!hookIdRef.current) hookIdRef.current = uuidV1();\n const { subscribe, unsubscribe, socket } = window[Symbol.for('socket')];\n const appKey = useMemo(() => getAppKeyFromStackTrace(), []);\n\n // NOTE: Save previous subscriptions to detect added/removed subscriptions\n const prevSubscriptionsRef = useRef([]);\n const currentSubscriptions = castArray(subscriptions).map(sub =>\n getSubscriptionWithId(sub, hookIdRef.current, appKey)\n );\n\n // NOTE: This string is used to trigger effects\n const currentSubscriptionsIdsJoined = currentSubscriptions.map(sub => sub.subId).join();\n const timeQuery = useMemo(() => {\n if (timestamp) return { timestamp: { $lte: timestamp } };\n const timeFromLocation = parse(window.location.search).time;\n return timeFromLocation ? { timestamp: { $lte: new Date(timeFromLocation) / 1000 } } : null;\n }, [window.location.search, timestamp]);\n\n useEffect(() => {\n const onDataReceive = event => {\n // NOTE: Skip other effects subscriptions' events\n if (event.hookId !== hookIdRef.current) return;\n setData(prevData => {\n let nextData = event.data;\n if (event.subId in prevData && !event.subscribeOnly) {\n nextData = concat(prevData[event.subId], event.data);\n }\n\n if (event.params && event.params.limit) nextData = nextData.slice(-event.params.limit);\n\n return {\n ...prevData,\n [event.subId]: nextData,\n };\n });\n };\n if (socket) socket.on('data', onDataReceive);\n return () => {\n if (socket) socket.off('data', onDataReceive);\n };\n }, []);\n\n useEffect(() => {\n const { current: prevSubscriptions } = prevSubscriptionsRef;\n prevSubscriptions.forEach(unsubscribe);\n prevSubscriptionsRef.current = [];\n }, [timeQuery]);\n\n useEffect(() => {\n const { current: prevSubscriptions } = prevSubscriptionsRef;\n const addedSubscriptions = differenceBy(currentSubscriptions, prevSubscriptions, 'subId');\n const deletedSubscriptions = differenceBy(prevSubscriptions, currentSubscriptions, 'subId');\n addedSubscriptions.forEach(subscription => {\n // NOTE: only subscribe when the timestamp wasn't provided (well timeline wasn't used)\n if (!timeQuery || subscription.alwaysSubscribe) subscribe(subscription);\n });\n deletedSubscriptions.forEach(unsubscribe);\n\n prevSubscriptionsRef.current = currentSubscriptions;\n\n // NOTE: Migrate to new api after https://corvaqa.atlassian.net/browse/DC-1090 is done\n const fetchFunc = isOldApiUsed\n ? fetchInitialSubscriptionsDataDeprecated\n : fetchInitialSubscriptionsData;\n fetchFunc(addedSubscriptions, { timeQuery, appKey, isOldApiUsed }).then(subsData =>\n setData(prevData => {\n // NOTE: Here we omit data from deleted subscriptions\n const nextData = omit(\n prevData,\n deletedSubscriptions.map(sub => sub.subId)\n );\n\n addedSubscriptions.forEach((sub, idx) => {\n if (subsData[idx] !== null) nextData[sub.subId] = subsData[idx];\n });\n return nextData;\n })\n );\n }, [currentSubscriptionsIdsJoined, timeQuery]);\n\n // NOTE: Clear all subscriptions on unmounting\n useEffect(() => () => prevSubscriptionsRef.current.forEach(unsubscribe), []);\n\n return useMemo(\n () =>\n currentSubscriptions.map(({ subId }) => ({\n loading: !(subId in data),\n data: data[subId],\n })),\n [data, currentSubscriptionsIdsJoined]\n );\n}\n"],"names":["getSubscriptionWithId","sub","hookId","appKey","subId","getSubscriptionId","_objectSpread","appInstanceId","app_key","fetchInitialSubscriptionsDataDeprecated","_x","_x2","_fetchInitialSubscriptionsDataDeprecated","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","subscriptions","_ref","timeQuery","requests","wrap","_context2","prev","next","map","_ref6","_callee","_ref5","provider","collection","assetId","subscribeOnly","params","queryFromParameters","queryFromTime","separator","query","_context","abrupt","timestamp","$lte","getAppStorage","sent","t0","stop","_x5","Promise","all","_callee2","fetchInitialSubscriptionsData","_x3","_x4","_fetchInitialSubscriptionsData","_ref2","_context4","_ref8","_callee3","_ref7","_ref7$params","_params$limit","limit","_params$sort","sort","options","_context3","aggregate","getDataAppStorageAggregate","mapValues","JSON","stringify","merge","asset_id","getDataAppStorage","_x6","_callee4","_ref3","length","undefined","isOldApiUsed","_useState","useState","_useState2","_slicedToArray","data","setData","hookIdRef","useRef","current","uuidV1","window","Symbol","for","subscribe","unsubscribe","socket","useMemo","getAppKeyFromStackTrace","prevSubscriptionsRef","currentSubscriptions","castArray","currentSubscriptionsIdsJoined","join","timeFromLocation","parse","location","search","time","Date","useEffect","onDataReceive","event","prevData","nextData","concat","slice","on","off","forEach","prevSubscriptions","addedSubscriptions","differenceBy","deletedSubscriptions","subscription","alwaysSubscribe","then","subsData","omit","idx","_ref4","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSubscriptions.v1.js","sources":["../../../../src/effects/subscriptions/useSubscriptions.v1.js"],"sourcesContent":["// NOTE: This is a deprecated module, but is still used in the codebase (some devcenter apps)\n// We don't support it, dc devs should refactor their code to use socketClient directly\nimport { parse } from 'querystring';\n\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport uuidV1 from 'uuid/v1';\nimport { castArray, concat, differenceBy, mapValues, merge, omit } from 'lodash';\n\nimport { getSubscriptionId } from '../../clients/subscriptions.v1';\n\nimport { getAppKeyAndId } from '~/clients/utils';\nimport { getAppStorage, getDataAppStorage, getDataAppStorageAggregate } from '~/clients/jsonApi';\n\nfunction getSubscriptionWithId(sub, hookId, appKey) {\n const subId = getSubscriptionId(sub, hookId);\n return { ...sub, hookId, subId, appInstanceId: subId, app_key: appKey };\n}\n\nexport async function fetchInitialSubscriptionsDataDeprecated(\n subscriptions,\n { timeQuery, appKey }\n) {\n const requests = subscriptions.map(\n async ({ provider, collection, assetId, subscribeOnly, params }) => {\n if (subscribeOnly) return null;\n const queryFromParameters = params.query;\n const queryFromTime = timeQuery ? `{timestamp#lte#${timeQuery.timestamp.$lte}` : '';\n const separator = queryFromParameters && queryFromTime ? 'AND' : '';\n const query = `${queryFromParameters}${separator}${queryFromTime}`;\n\n try {\n return await getAppStorage(provider, collection, assetId, {\n ...params,\n ...(query ? { query } : {}),\n appKey,\n });\n } catch (e) {\n return [];\n }\n }\n );\n return Promise.all(requests);\n}\n\nexport async function fetchInitialSubscriptionsData(subscriptions, { timeQuery, appKey }) {\n const requests = subscriptions.map(\n async ({ provider, collection, assetId, subscribeOnly, params = {} }) => {\n if (subscribeOnly) return null;\n\n // NOTE: Use different endpoint for aggregate queries\n // https://data.qa.corva.ai/docs#/default/aggregate_api_v1_data__provider___dataset__aggregate__get\n if (params.aggregate)\n return getDataAppStorageAggregate(provider, collection, {\n ...mapValues(params.aggregate, JSON.stringify),\n });\n\n const query = JSON.stringify(merge({ asset_id: assetId }, params.query, timeQuery));\n const { limit = 1, sort = '{\"timestamp\": 1}' } = params;\n\n try {\n const options = {\n ...params,\n limit,\n sort,\n query,\n appKey,\n };\n\n return await getDataAppStorage(provider, collection, options);\n } catch (e) {\n return [];\n }\n }\n );\n return Promise.all(requests);\n}\n\n/**\n * A hook to subscribe to the corva socket updates\n * @param {Object | Object[]} subscriptions - subscription params\n * @param {number} subscriptions.limit - only save given amount of records\n * @param {boolean} subscriptions.subscribeOnly - do NOT send initial requests for the data\n * @param {boolean} subscriptions.alwaysSubscribe - will always subscribe, even when well timeline used\n * and do NOT store previously received data if true\n * @param {Object | Object} options - various hook options\n * @param {Object | Object} options.timestamp - requested time (usually from well timeline).\n * If provided only the initial request is being sent with the {\"timestamp\": {\"$lte\":time}} query added.\n */\nexport function useSubscriptionsV1(subscriptions, { timestamp, isOldApiUsed } = {}) {\n const [data, setData] = useState({});\n // NOTE: Declare this hook id to differentiate between hooks\n const hookIdRef = useRef();\n if (!hookIdRef.current) hookIdRef.current = uuidV1();\n const { subscribe, unsubscribe, socket } = window[Symbol.for('socket')];\n const appKey = useMemo(() => getAppKeyAndId()?.appKey, []);\n\n // NOTE: Save previous subscriptions to detect added/removed subscriptions\n const prevSubscriptionsRef = useRef([]);\n const currentSubscriptions = castArray(subscriptions).map(sub =>\n getSubscriptionWithId(sub, hookIdRef.current, appKey)\n );\n\n // NOTE: This string is used to trigger effects\n const currentSubscriptionsIdsJoined = currentSubscriptions.map(sub => sub.subId).join();\n const timeQuery = useMemo(() => {\n if (timestamp) return { timestamp: { $lte: timestamp } };\n const timeFromLocation = parse(window.location.search).time;\n return timeFromLocation ? { timestamp: { $lte: new Date(timeFromLocation) / 1000 } } : null;\n }, [window.location.search, timestamp]);\n\n useEffect(() => {\n const onDataReceive = event => {\n // NOTE: Skip other effects subscriptions' events\n if (event.hookId !== hookIdRef.current) return;\n setData(prevData => {\n let nextData = event.data;\n if (event.subId in prevData && !event.subscribeOnly) {\n nextData = concat(prevData[event.subId], event.data);\n }\n\n if (event.params && event.params.limit) nextData = nextData.slice(-event.params.limit);\n\n return {\n ...prevData,\n [event.subId]: nextData,\n };\n });\n };\n if (socket) socket.on('data', onDataReceive);\n return () => {\n if (socket) socket.off('data', onDataReceive);\n };\n }, []);\n\n useEffect(() => {\n const { current: prevSubscriptions } = prevSubscriptionsRef;\n prevSubscriptions.forEach(unsubscribe);\n prevSubscriptionsRef.current = [];\n }, [timeQuery]);\n\n useEffect(() => {\n const { current: prevSubscriptions } = prevSubscriptionsRef;\n const addedSubscriptions = differenceBy(currentSubscriptions, prevSubscriptions, 'subId');\n const deletedSubscriptions = differenceBy(prevSubscriptions, currentSubscriptions, 'subId');\n addedSubscriptions.forEach(subscription => {\n // NOTE: only subscribe when the timestamp wasn't provided (well timeline wasn't used)\n if (!timeQuery || subscription.alwaysSubscribe) subscribe(subscription);\n });\n deletedSubscriptions.forEach(unsubscribe);\n\n prevSubscriptionsRef.current = currentSubscriptions;\n\n // NOTE: Migrate to new api after https://corvaqa.atlassian.net/browse/DC-1090 is done\n const fetchFunc = isOldApiUsed\n ? fetchInitialSubscriptionsDataDeprecated\n : fetchInitialSubscriptionsData;\n fetchFunc(addedSubscriptions, { timeQuery, appKey, isOldApiUsed }).then(subsData =>\n setData(prevData => {\n // NOTE: Here we omit data from deleted subscriptions\n const nextData = omit(\n prevData,\n deletedSubscriptions.map(sub => sub.subId)\n );\n\n addedSubscriptions.forEach((sub, idx) => {\n if (subsData[idx] !== null) nextData[sub.subId] = subsData[idx];\n });\n return nextData;\n })\n );\n }, [currentSubscriptionsIdsJoined, timeQuery]);\n\n // NOTE: Clear all subscriptions on unmounting\n useEffect(() => () => prevSubscriptionsRef.current.forEach(unsubscribe), []);\n\n return useMemo(\n () =>\n currentSubscriptions.map(({ subId }) => ({\n loading: !(subId in data),\n data: data[subId],\n })),\n [data, currentSubscriptionsIdsJoined]\n );\n}\n"],"names":["getSubscriptionWithId","sub","hookId","appKey","subId","getSubscriptionId","_objectSpread","appInstanceId","app_key","fetchInitialSubscriptionsDataDeprecated","_x","_x2","_fetchInitialSubscriptionsDataDeprecated","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","subscriptions","_ref","timeQuery","requests","wrap","_context2","prev","next","map","_ref6","_callee","_ref5","provider","collection","assetId","subscribeOnly","params","queryFromParameters","queryFromTime","separator","query","_context","abrupt","timestamp","$lte","getAppStorage","sent","t0","stop","_x5","Promise","all","_callee2","fetchInitialSubscriptionsData","_x3","_x4","_fetchInitialSubscriptionsData","_ref2","_context4","_ref8","_callee3","_ref7","_ref7$params","_params$limit","limit","_params$sort","sort","options","_context3","aggregate","getDataAppStorageAggregate","mapValues","JSON","stringify","merge","asset_id","getDataAppStorage","_x6","_callee4","_ref3","length","undefined","isOldApiUsed","_useState","useState","_useState2","_slicedToArray","data","setData","hookIdRef","useRef","current","uuidV1","window","Symbol","for","subscribe","unsubscribe","socket","useMemo","_getAppKeyAndId","getAppKeyAndId","prevSubscriptionsRef","currentSubscriptions","castArray","currentSubscriptionsIdsJoined","join","timeFromLocation","parse","location","search","time","Date","useEffect","onDataReceive","event","prevData","nextData","concat","slice","on","off","forEach","prevSubscriptions","addedSubscriptions","differenceBy","deletedSubscriptions","subscription","alwaysSubscribe","then","subsData","omit","idx","_ref4","loading"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("querystring"),n=require("react"),i=require("lodash"),u=require("../../clients/subscriptions/get-channel-name.js"),o=require("../../clients/utils.js"),c=require("../../clients/subscriptions/subscriptions-client.factory.js"),a=require("./useSubscriptions.v1.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=s(e),l=s(t);function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){f.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}exports.useSubscriptionsV2=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=t.timestamp,p=t.isOldApiUsed,b=t.url,d=i.castArray(e),y=d.map(u.getChannelName).join(","),h=Array.from(new Set(d.map(u.getChannelName))).sort().join(","),g=n.useState({}),j=l.default(g,2),O=j[0],v=j[1],w=n.useState(!0),S=l.default(w,2),q=S[0],P=S[1],A=n.useMemo((function(){var e;return null===(e=o.getAppKeyAndId())||void 0===e?void 0:e.appKey}),[]),D=n.useMemo((function(){return c.SubscriptionsClientFactory.init(b)}),[b]),M=n.useMemo((function(){return d.map(u.getChannelName)}),[y]),C=n.useMemo((function(){return Array.from(new Set(d.map(u.getChannelName)))}),[h]),E=n.useRef(!0),N=n.useMemo((function(){if(s)return{timestamp:{$lte:s}};var e=r.parse(window.location.search).time,t=Array.isArray(e)?e[0]:e;return t?{timestamp:{$lte:new Date(t).getTime()/1e3}}:null}),[window.location.search,s]);return n.useEffect((function(){return E.current=!0,function(){E.current=!1}}),[]),n.useEffect((function(){if(D&&0!==C.length&&!q){var e=C.map((function(e){return D.subscribe(e,(function(t){E.current&&v((function(r){return m(m({},r),{},f.default({},e,t))}))}))}));return function(){e.forEach((function(e){return e()}))}}}),[h,q,D]),n.useEffect((function(){y&&(p?a.fetchInitialSubscriptionsDataDeprecated:a.fetchInitialSubscriptionsData)(d,{timeQuery:N,appKey:A}).then((function(e){if(E.current){var t=e.reduce((function(e,t,r){return e[u.getChannelName(d[r])]=t,e}),{});v(t),P(!1)}}))}),[y,N,p,A]),n.useMemo((function(){return 0===d.length?[]:M.map((function(e){var t=!(e in O);return t?{loading:t}:{loading:!1,data:O[e]}}))}),[O,y])};
|
|
2
2
|
//# sourceMappingURL=useSubscriptions.v2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiCore.d.ts","sourceRoot":"","sources":["../../../src/clients/api/apiCore.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apiCore.d.ts","sourceRoot":"","sources":["../../../src/clients/api/apiCore.js"],"names":[],"mappings":"AA8EA,0DAMC;AA4DD;;;;;;GAMG;AACH,2BAJW,MAAM,WACN,MAAM,YAAC,wBACL,OAAO,CAAC,GAAC,CAAC,CAiBtB;AAED;;;GAiBC;AAED;;;;;;;GAOG;AACH,0BALW,MAAM,gBACN,MAAM,YAAC,mBACP,MAAM,YAAC,GACL,OAAO,CAAC,GAAC,CAAC,CAUtB;AAED,wFAUC;AAED,kGAcC;AAED,oGAmBC;AAED,oFAiBC;AAED,wGA4BC;AAjRD;IACE,sCAKC;IAJC,YAA6B;IAC7B,gBAAqC;IACrC,aAA2C;IAC3C,eAAqB;IAGvB,mCAEC;IAED,0BAIC;IAED,sBAEC;IAED,8BAEC;IAED,iCAKC;IAED,iCAKC;CACF;AAED,0BAA0C"}
|
package/clients/api/apiCore.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/objectWithoutProperties";import r from"@babel/runtime/helpers/asyncToGenerator";import n from"@babel/runtime/helpers/defineProperty";import i from"@babel/runtime/helpers/classCallCheck";import o from"@babel/runtime/helpers/createClass";import a from"@babel/runtime/regenerator";import*as s from"query-string";import{getAuthorizationHeaders as c,attachHTTPHeaders as u,getAppKeyAndId as p}from"../utils.js";import{CORVA_API_URLS as l}from"../constants.js";import{DISPLAY_HTTP_MESSAGES as f}from"./httpMessages.js";import{apiRequestsRateLimiter as h}from"./rateLimiter.js";var d=["appKey"],v=["appKey"];function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b={400:"Request Failed",403:"No Permission",404:"Not Found"},g=["POST","PUT","PATCH","DELETE"],w=function(){function e(t,r){i(this,e),this.status=t.status,this.statusText=t.statusText,this.message=r.message||"No Message",this.errorBody=r}return o(e,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var e,t;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t?void 0:t.login)}},{key:"isLockedAccountProblem",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),e}(),x=l.API,P=c(),j=y({"Content-Type":"application/json",Accept:"application/json"},P);function k(e){var t;null===(t=e.isAuthenticationProblem)||void 0===t||!t.call(e)||e.isTermsProblem()||e.isLoginProblem()||(console.error("Problem with user"),"/login"!==window.location.pathname&&(window.location.href="/login"))}var O=/^\/v1\/assets.*/;function T(){return T=r(a.mark((function e(t){var r,n,i,o,s,c,p=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=p.length>1&&void 0!==p[1]?p[1]:{},n=p.length>2&&void 0!==p[2]?p[2]:{},i=n.apiUrl,o=void 0===i?x:i,s=n.appKey,c=n.appInstanceId,!s||!c){e.next=6;break}return e.next=6,h.acquire(s,c);case 6:return O.test(t)&&(r.cache="reload"),r.credentials="include",e.abrupt("return",fetch("".concat(o).concat(t),u(y({config:r,appKey:s},P))));case 9:case"end":return e.stop()}}),e)}))),T.apply(this,arguments)}var U,A,E=(U=function(e){return T.apply(this,arguments)},A=r(a.mark((function e(t,r,n){var i,o,s,c,u,p,l;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U(t,r,n);case 2:if(i=e.sent,o=i.status,!i.ok){e.next=6;break}return e.abrupt("return",204===o?null:i);case 6:return e.prev=6,e.next=9,i.json();case 9:s=e.sent,e.next=15;break;case 12:e.prev=12,e.t0=e.catch(6),s={};case 15:throw c=r.method,u=!n.hideNotification&&g.includes(c),p=f[s.message]||b[o],u&&p&&console.error(p),k(l=new w(i,s)),l;case 22:case"end":return e.stop()}}),e,null,[[6,12]])}))),function(e,t,r){return A.apply(this,arguments)});function K(e,t){return C.apply(this,arguments)}function C(){return C=r(a.mark((function e(t,r){var n,i,o,s,c,u=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=u.length>2&&void 0!==u[2]?u[2]:{},i=n.apiUrl,o=n.withHeaders,s=void 0!==o&&o,e.next=4,E(t,{method:"POST",headers:j,body:JSON.stringify(r)},y({apiUrl:i},p()));case 4:if(c=e.sent,!s){e.next=7;break}return e.abrupt("return",c);case 7:return e.abrupt("return",c&&c.json());case 8:case"end":return e.stop()}}),e)}))),C.apply(this,arguments)}function S(e){return D.apply(this,arguments)}function D(){return D=r(a.mark((function e(r){var n,i,o,c,u,l,f,h,v,m=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=m.length>1&&void 0!==m[1]?m[1]:{},i=m.length>2&&void 0!==m[2]?m[2]:{},o=i.apiUrl,c=i.signal,u=s.stringify(n,{arrayFormat:"bracket"}),l=p()||{},f=l.appKey,h=t(l,d),e.next=7,E("".concat(r).concat(u?"?":"").concat(u),{method:"GET",signal:c},y({apiUrl:o,appKey:i.appKey||f},h));case 7:if(v=e.sent,e.t0=v,!e.t0){e.next=13;break}return e.next=12,v.json();case 12:e.t0=e.sent;case 13:return e.t1=e.t0,e.t2=v&&v.headers,e.abrupt("return",{data:e.t1,headers:e.t2});case 16:case"end":return e.stop()}}),e)}))),D.apply(this,arguments)}function N(e){return L.apply(this,arguments)}function L(){return L=r(a.mark((function e(r){var n,i,o,s,c,u,l=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>1&&void 0!==l[1]?l[1]:{},i=l.length>2&&void 0!==l[2]?l[2]:{},o=p()||{},s=o.appKey,c=t(o,v),e.next=5,S(r,n,y(y({},i),{},{appKey:i.appKey||s},c));case 5:return u=e.sent,e.abrupt("return",u.data);case 7:case"end":return e.stop()}}),e)}))),L.apply(this,arguments)}function B(e,t){return I.apply(this,arguments)}function I(){return I=r(a.mark((function e(t,r){var n,i,o,c,u,l,f=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.length>2&&void 0!==f[2]?f[2]:{},i=f.length>3&&void 0!==f[3]?f[3]:{},o=i.apiUrl,c=i.signal,u=s.stringify(n),e.next=6,E("".concat(t).concat(u?"?":"").concat(u),{method:"PUT",headers:j,body:JSON.stringify(r)},y(y({apiUrl:o},p()),{},{signal:c}));case 6:return l=e.sent,e.abrupt("return",l&&l.json());case 8:case"end":return e.stop()}}),e)}))),I.apply(this,arguments)}function F(e,t){return M.apply(this,arguments)}function M(){return M=r(a.mark((function e(t,r){var n,i,o,c,u,l,f=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.length>2&&void 0!==f[2]?f[2]:{},i=f.length>3&&void 0!==f[3]?f[3]:{},o=i.apiUrl,c=i.signal,u=s.stringify(n),e.next=6,E("".concat(t).concat(u?"?":"").concat(u),{method:"PATCH",headers:j,body:JSON.stringify(r)},y(y({apiUrl:o},p()),{},{signal:c}));case 6:return l=e.sent,e.abrupt("return",l&&l.json());case 8:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}function q(e){return H.apply(this,arguments)}function H(){return H=r(a.mark((function e(t){var r,n,i,o,c,u,l=arguments;return a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:{},n=l.length>2&&void 0!==l[2]?l[2]:{},i=n.apiUrl,o=n.signal,c=s.stringify(r),e.next=6,E(c?"".concat(t,"?").concat(c):t,{method:"DELETE",headers:j},y(y({apiUrl:i},p()),{},{signal:o}));case 6:return u=e.sent,e.abrupt("return",u&&u.json());case 8:case"end":return e.stop()}}),e)}))),H.apply(this,arguments)}function J(e,t){return G.apply(this,arguments)}function G(){return G=r(a.mark((function t(r,n){var i,o,c,u,l,f,h,d,v=arguments;return a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=v.length>2&&void 0!==v[2]?v[2]:{},o=v.length>3&&void 0!==v[3]?v[3]:{},c=s.stringify(i),u=o.method,l=void 0===u?"POST":u,f=o.signal,h=new FormData,Object.entries(n).forEach((function(t){var r=e(t,2),n=r[0],i=r[1];Array.isArray(i)?i.forEach((function(e){h.append(n,e)})):h.append(n,i)})),t.next=8,E(c?"".concat(r,"?").concat(c):r,{method:l,headers:{Accept:"application/json"},body:h},y(y({},p()),{},{signal:f}));case 8:return d=t.sent,t.abrupt("return",d&&d.json());case 10:case"end":return t.stop()}}),t)}))),G.apply(this,arguments)}export{w as APIException,x as baseUrl,q as del,N as get,S as getWithHeaders,k as handleAuthenticationProblem,F as patch,K as post,B as put,J as sendFormData};
|
|
2
2
|
//# sourceMappingURL=apiCore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiCore.js","sources":["../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport {\n getAppKeyFromStackTrace,\n attachHTTPHeaders,\n getAuthorizationHeaders,\n getAppKeyFromXProps,\n} from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey } = overrides;\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, appKey, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: appKey || getAppKeyFromXProps() || getAppKeyFromStackTrace() }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || getAppKeyFromXProps() || getAppKeyFromStackTrace(),\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { appKey: getAppKeyFromXProps() || getAppKeyFromStackTrace(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","_args2","arguments","wrap","_context2","prev","next","length","undefined","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","post","_x5","_x6","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","_args3","_context3","headers","body","JSON","stringify","getAppKeyFromXProps","getAppKeyFromStackTrace","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_args4","_context4","queryString","arrayFormat","t1","t2","data","_callee4","get","_x8","_get","dataAndHeaders","_args5","_context5","_callee5","put","_x10","_x11","_put","_callee7","content","_args7","_context7","patch","_x12","_x13","_patch","_callee8","_args8","_context8","del","_x14","_del","query","_args9","_context9","concat","_callee9","sendFormData","_x15","_x16","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref","_ref2","_slicedToArray","Array","isArray","arrayValueEntity","append"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apiCore.js","sources":["../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { attachHTTPHeaders, getAppKeyAndId, getAuthorizationHeaders } from '../utils';\nimport { CORVA_API_URLS } from '../constants';\n\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nimport { apiRequestsRateLimiter } from '~/clients/api/rateLimiter';\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n if (e.isAuthenticationProblem?.() && !e.isTermsProblem() && !e.isLoginProblem()) {\n console.error('Problem with user');\n // NOTE: Redirect to login page\n if (window.location.pathname !== '/login') window.location.href = '/login';\n }\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n const exception = new APIException(response, json);\n handleAuthenticationProblem(exception);\n\n throw exception;\n };\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey, appInstanceId } = overrides;\n\n if (appKey && appInstanceId) {\n await apiRequestsRateLimiter.acquire(appKey, appInstanceId);\n }\n\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n },\n { apiUrl, ...getAppKeyAndId() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: requestOptions.appKey || appKey, ...rest }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || appKey,\n ...rest,\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","handleAuthenticationProblem","e","_e$isAuthenticationPr","isAuthenticationProblem","isTermsProblem","isLoginProblem","console","error","window","location","pathname","href","V1_ASSETS_REGEXP","_requestCore","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","appInstanceId","_args2","arguments","wrap","_context2","prev","next","length","undefined","apiRequestsRateLimiter","acquire","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","apply","requestCoreFunc","_errorHandler","request","_x4","requestMethod","isMethodToShowNotification","httpErrorMessage","exception","_context","sent","ok","t0","method","hideNotification","DISPLAY_HTTP_MESSAGES","_callee","_x","_x2","_x3","post","_x5","_x6","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","_args3","_context3","headers","body","JSON","stringify","getAppKeyAndId","getWithHeaders","_x7","_getWithHeaders","queryParams","signal","qry","_ref","rest","_args4","_context4","queryString","arrayFormat","_objectWithoutProperties","_excluded","t1","t2","data","_callee4","get","_x8","_get","_ref2","dataAndHeaders","_args5","_context5","_excluded2","_callee5","put","_x10","_x11","_put","_callee7","content","_args7","_context7","patch","_x12","_x13","_patch","_callee8","_args8","_context8","del","_x14","_del","query","_args9","_context9","concat","_callee9","sendFormData","_x15","_x16","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref3","_ref4","_slicedToArray","Array","isArray","arrayValueEntity","append"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const IDLE_CLEANUP_AFTER_MS = 60000;
|
|
2
|
+
type BucketConfig = {
|
|
3
|
+
maxTokens: number;
|
|
4
|
+
/**
|
|
5
|
+
* Tokens added per second
|
|
6
|
+
* */
|
|
7
|
+
refillRate: number;
|
|
8
|
+
/**
|
|
9
|
+
* Max ms a request waits in queue before being rejected
|
|
10
|
+
* */
|
|
11
|
+
queueTimeout: number;
|
|
12
|
+
/**
|
|
13
|
+
* Maximum size of queue
|
|
14
|
+
*/
|
|
15
|
+
maxQueueSize?: number;
|
|
16
|
+
};
|
|
17
|
+
export type QueueEntry = {
|
|
18
|
+
resolve: () => void;
|
|
19
|
+
reject: (reason: Error) => void;
|
|
20
|
+
timeoutId: ReturnType<typeof setTimeout>;
|
|
21
|
+
};
|
|
22
|
+
export type Bucket = BucketConfig & {
|
|
23
|
+
appKey: string;
|
|
24
|
+
appInstanceId: string;
|
|
25
|
+
tokens: number;
|
|
26
|
+
lastRefill: number;
|
|
27
|
+
lastActivity: number;
|
|
28
|
+
queue: QueueEntry[];
|
|
29
|
+
refillTimer: ReturnType<typeof setInterval> | null;
|
|
30
|
+
};
|
|
31
|
+
export type RateLimiterConfig = {
|
|
32
|
+
defaults?: BucketConfig;
|
|
33
|
+
overrides?: Record<string, Partial<BucketConfig>>;
|
|
34
|
+
};
|
|
35
|
+
export declare const DEFAULT_CONFIG: Required<RateLimiterConfig>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/clients/api/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;SAEK;IACL,UAAU,EAAE,MAAM,CAAC;IACnB;;SAEK;IACL,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,iBAAiB,CAYtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Bucket, RateLimiterConfig } from './constants';
|
|
2
|
+
export declare class RateLimiter {
|
|
3
|
+
private readonly buckets;
|
|
4
|
+
private config;
|
|
5
|
+
constructor(config?: RateLimiterConfig);
|
|
6
|
+
getOrCreateBucket(bucketId: string, appKey: string, appInstanceId: string): Bucket;
|
|
7
|
+
refill(bucket: Bucket): void;
|
|
8
|
+
startRefillTimer(bucketId: string, bucket: Bucket): void;
|
|
9
|
+
drainQueue(bucket: Bucket): void;
|
|
10
|
+
cleanupIdleIfNeeded(bucketId: string, bucket: Bucket): void;
|
|
11
|
+
destroyBucket(bucket: Bucket): void;
|
|
12
|
+
/**
|
|
13
|
+
* Resolves when a token is available for `bucketId`.
|
|
14
|
+
* If the bucket is empty the request is queued; a console warning is printed
|
|
15
|
+
* and the promise resolves once a token is refilled.
|
|
16
|
+
* Rejects if the queue timeout elapses before a token is available.
|
|
17
|
+
*/
|
|
18
|
+
acquire(appKey: string, appInstanceId: string | number): Promise<void>;
|
|
19
|
+
updateConfig(config: RateLimiterConfig): void;
|
|
20
|
+
/** Clear all timers and reject all queued requests. */
|
|
21
|
+
destroy(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare const apiRequestsRateLimiter: RateLimiter;
|
|
24
|
+
//# sourceMappingURL=rateLimiter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimiter.d.ts","sourceRoot":"","sources":["../../../src/clients/api/rateLimiter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAyC,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/F,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD,OAAO,CAAC,MAAM,CAA8B;gBAEhC,MAAM,GAAE,iBAAsB;IAO1C,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IA+BlF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW5B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAUxD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWhC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAY3D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAanC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DtE,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAQ7C,uDAAuD;IACvD,OAAO,IAAI,IAAI;CAIhB;AAED,eAAO,MAAM,sBAAsB,aAAoB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"@babel/runtime/helpers/classCallCheck";import t from"@babel/runtime/helpers/createClass";import r from"@babel/runtime/helpers/defineProperty";import{IDLE_CLEANUP_AFTER_MS as i,DEFAULT_CONFIG as n}from"./constants.js";function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function o(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?u(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):u(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var a=function(){function u(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e(this,u),r(this,"buckets",new Map),r(this,"config",void 0),this.config={defaults:o(o({},n.defaults),t.defaults),overrides:o({},t.overrides)}}return t(u,[{key:"getOrCreateBucket",value:function(e,t,r){var i=this.buckets.get(e);if(!i){var n=o(o({},this.config.defaults),this.config.overrides[t]),u=n.maxTokens,a=n.refillRate,l=n.queueTimeout,s=n.maxQueueSize,c={appKey:t,appInstanceId:r,tokens:u,maxTokens:u,refillRate:a,queueTimeout:l,lastRefill:Date.now(),lastActivity:Date.now(),queue:[],refillTimer:null,maxQueueSize:s};return this.buckets.set(e,c),this.startRefillTimer(e,c),c}return i}},{key:"refill",value:function(e){var t=Date.now(),r=(t-e.lastRefill)/1e3*e.refillRate;r>0&&(e.tokens=Math.min(e.maxTokens,e.tokens+r),e.lastRefill=t)}},{key:"startRefillTimer",value:function(e,t){var r=this;t.refillTimer=setInterval((function(){r.refill(t),r.drainQueue(t),r.cleanupIdleIfNeeded(e,t)}),200)}},{key:"drainQueue",value:function(e){for(;e.queue.length>0&&e.tokens>=1;){e.tokens-=1,e.lastActivity=Date.now();var t=e.queue.shift();clearTimeout(null==t?void 0:t.timeoutId),null==t||t.resolve()}}},{key:"cleanupIdleIfNeeded",value:function(e,t){t.queue.length>0||Date.now()-t.lastActivity>=i&&(this.destroyBucket(t),this.buckets.delete(e))}},{key:"destroyBucket",value:function(e){e.refillTimer&&clearInterval(e.refillTimer),e.queue.forEach((function(e){clearTimeout(e.timeoutId),e.reject(new Error("[RateLimiter] Destroyed while request was queued"))})),e.queue=[]}},{key:"acquire",value:function(e,t){var r,i,n="".concat(e,"|").concat(t),u=this.getOrCreateBucket(n,e,String(t));if(this.refill(u),u.tokens>=1)return u.tokens-=1,u.lastActivity=Date.now(),Promise.resolve();var o=u.queue.length+1;return null===(r=(i=window)[Symbol.for("corvaAPI.rateLimiterReport")])||void 0===r||r.call(i,{message:"[RateLimiter] Rate limit reached",bucket:{id:n,appKey:u.appKey,appInstanceId:u.appInstanceId,maxTokens:u.maxTokens,queueLength:o,queueTimeout:u.queueTimeout,refillRate:u.refillRate}}),void 0!==u.maxQueueSize&&o>u.maxQueueSize?Promise.reject(new Error('[RateLimiter] Queue size limit exceeded for "'.concat(n,'". Limit: ').concat(u.maxQueueSize))):Promise.resolve()}},{key:"updateConfig",value:function(e){this.config=o(o({},this.config),{},{defaults:o(o({},this.config.defaults),e.defaults),overrides:o(o({},this.config.overrides),e.overrides)})}},{key:"destroy",value:function(){this.buckets.forEach(this.destroyBucket),this.buckets.clear()}}]),u}(),l=new a;export{a as RateLimiter,l as apiRequestsRateLimiter};
|
|
2
|
+
//# sourceMappingURL=rateLimiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimiter.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|