{"version":3,"file":"static/js/main.112e1391.js","mappings":"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,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,SAAU,CACN,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,SAAU,CACN,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,QAAS,CACL,IACA,KACA,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA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,GACCA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,KAAUA,GAAK,KACf,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,MEtvC7B,SAAS6rB,GAAcC,GACnBA,EAAI5pC,SAAQ,SAAUw6B,GAElB,UADOA,EAAG3/B,S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","sources":["../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/index.tsx","../../packages/react-router-dom/index.tsx","App.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-redux/es/components/connectAdvanced.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/connect.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","Repository.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@microsoft/signalr/src/DefaultReconnectPolicy.ts","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@microsoft/signalr/src/Errors.ts","../node_modules/@microsoft/signalr/src/ILogger.ts","../node_modules/@microsoft/signalr/src/HttpClient.ts","../node_modules/@microsoft/signalr/src/Loggers.ts","../node_modules/@microsoft/signalr/src/Utils.ts","../node_modules/@microsoft/signalr/src/FetchHttpClient.ts","../node_modules/@microsoft/signalr/src/XhrHttpClient.ts","../node_modules/@microsoft/signalr/src/ITransport.ts","../node_modules/@microsoft/signalr/src/DefaultHttpClient.ts","../node_modules/@microsoft/signalr/src/HeaderNames.ts","../node_modules/@microsoft/signalr/src/AbortController.ts","../node_modules/@microsoft/signalr/src/LongPollingTransport.ts","../node_modules/@microsoft/signalr/src/ServerSentEventsTransport.ts","../node_modules/@microsoft/signalr/src/WebSocketTransport.ts","../node_modules/@microsoft/signalr/src/HttpConnection.ts","../node_modules/@microsoft/signalr/src/TextMessageFormat.ts","../node_modules/@microsoft/signalr/src/HandshakeProtocol.ts","../node_modules/@microsoft/signalr/src/IHubProtocol.ts","../node_modules/@microsoft/signalr/src/Subject.ts","../node_modules/@microsoft/signalr/src/HubConnection.ts","../node_modules/@microsoft/signalr/src/JsonHubProtocol.ts","../node_modules/@microsoft/signalr/src/HubConnectionBuilder.ts","ForgeJobManager.js","actions/types.js","actions/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/react-intl/lib/src/components/injectIntl.js","../node_modules/@formatjs/ecma402-abstract/lib/utils.js","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/@formatjs/intl/lib/src/error.js","../node_modules/@formatjs/intl/lib/src/utils.js","../node_modules/react-intl/lib/src/utils.js","../node_modules/react-intl/lib/src/components/useIntl.js","../node_modules/react-intl/lib/src/components/message.js","components/pages/Login.js","components/pages/ChangePassword.js","components/Welcome.js","components/subcomponents/CatalogCard.js","components/subcomponents/CatalogBreadcrumb.js","components/pages/Catalog.js","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","reducers/scroll.js","reducers/catalog.js","reducers/catalogBreadcrumb.js","reducers/menu.js","reducers/bpList.js","reducers/orders.js","utils/Utils.js","reducers/modelconfigurator.js","reducers/cart.js","reducers/modalconfirm.js","reducers/cartClose.js","reducers/loggedUser.js","reducers/index.js","reducers/root.js","store.js","components/subcomponents/ModalLogout.js","components/subcomponents/Header.js","components/subcomponents/Menu.js","components/pages/BpDetails.js","components/subcomponents/BpCard.js","components/pages/BpList.js","components/subcomponents/OrderCard.js","components/pages/Orders.js","components/shared.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Spinner.js","components/subcomponents/LoadingSpinner.js","components/subcomponents/ModalConfirm.js","components/subcomponents/ModalConfiguratorInfo.js","components/pages/ModelConfigurator.js","components/subcomponents/PopupSection.js","components/subcomponents/ForgeViewer.js","components/subcomponents/ModalSuccess.js","components/pages/ModelConfiguratorPoint.js","components/pages/ModelConfiguratorCutter.js","components/subcomponents/CartItemAccessoryGrp.js","components/subcomponents/CartItem.js","components/pages/Cart.js","../node_modules/react-bootstrap/esm/Table.js","utils/TrasformDataForApi.js","components/pages/CartClose.js","../node_modules/@formatjs/intl/lib/src/message.js","../node_modules/@formatjs/intl/lib/src/number.js","../node_modules/@formatjs/intl/lib/src/relativeTime.js","../node_modules/@formatjs/intl/lib/src/dateTime.js","../node_modules/@formatjs/intl/lib/src/plural.js","../node_modules/@formatjs/intl/lib/src/list.js","../node_modules/@formatjs/intl/lib/src/displayName.js","../node_modules/@formatjs/intl/lib/src/create-intl.js","../node_modules/react-intl/lib/src/components/provider.js","index.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/classnames/index.js","../node_modules/exenv/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom-test-utils.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/test-utils.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-load-script/lib/index.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/react-modal/lib/helpers/bodyTrap.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/warning/warning.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/startup"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type {\n Hash,\n History,\n InitialEntry,\n Location,\n MemoryHistory,\n Path,\n Pathname,\n Search,\n To,\n} from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath,\n createPath,\n} from \"history\";\n\nexport { parsePath, createPath, NavigationType };\nexport type { Hash, Location, Path, Pathname, Search, To };\n\nfunction invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nfunction warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, (_) =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext,\n};\n","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","import React from 'react';\n\nexport default ({ children }) => {\n\n return (\n
\n
\n {children}\n
\n
\n );\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"],\n _excluded2 = [\"reactReduxForwardedRef\"];\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var reactReduxForwardedRef = props.reactReduxForwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded2);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n reactReduxForwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + \"or pass a custom React context provider to and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var subscription = createSubscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }));\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","export default function bindActionCreators(actionCreators, dispatch) {\n var boundActionCreators = {};\n\n var _loop = function _loop(key) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = function () {\n return dispatch(actionCreator.apply(void 0, arguments));\n };\n }\n };\n\n for (var key in actionCreators) {\n _loop(key);\n }\n\n return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"];\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, _excluded);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default /*#__PURE__*/createConnect();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\n * Hook factory, which creates a `useSelector` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useSelector` hook bound to the specified context.\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const counter = useSelector(state => state.counter)\n * return
{counter}
\n * }\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","/////////////////////////////////////////////////////////////////////\r\n// Copyright (c) Autodesk, Inc. All rights reserved\r\n// Written by Forge Design Automation team for Inventor\r\n//\r\n// Permission to use, copy, modify, and distribute this software in\r\n// object code form for any purpose and without fee is hereby granted,\r\n// provided that the above copyright notice appears in all copies and\r\n// that both that copyright notice and the limited warranty and\r\n// restricted rights notice below appear in all supporting\r\n// documentation.\r\n//\r\n// AUTODESK PROVIDES THIS PROGRAM \"AS IS\" AND WITH ALL FAULTS.\r\n// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF\r\n// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.\r\n// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE\r\n// UNINTERRUPTED OR ERROR FREE.\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nimport axios from 'axios';\r\n\r\nconst AuthorizationHeader = 'Authorization';\r\n\r\n/** Kind-of data layer, which hides all interaction with backend. */\r\nclass Repository {\r\n\r\n /** Get list of projects */\r\n async loadProjects() {\r\n const response = await axios.get(\"/projects\");\r\n return response.data;\r\n }\r\n /** Delete projects */\r\n async deleteProjects(projectList) {\r\n const response = await axios.delete(\"/projects\", {\r\n headers: {\r\n 'content-type': 'application/json'\r\n },\r\n data: JSON.stringify(projectList)\r\n });\r\n return response.data;\r\n }\r\n /** Get project parameters */\r\n async loadParameters(projectName) {\r\n const response = await axios.get(\"/parameters/\" + projectName);\r\n return response.data;\r\n }\r\n\r\n /** Get the information if we should show the strip informing customer that parameters changed */\r\n async loadShowParametersChanged() {\r\n const response = await axios.get(\"/showParametersChanged\");\r\n return response.data;\r\n }\r\n\r\n /** Send to server if we want to permanently enable/disable the showing of parameters changed banner */\r\n async sendShowParametersChanged(value) {\r\n const response = await axios.post(\"/showParametersChanged\", value, {\r\n headers: {\r\n 'content-type': 'application/json'\r\n }\r\n });\r\n return response.data;\r\n }\r\n\r\n /** Load user's profile */\r\n async loadProfile() {\r\n const response = await axios.get(\"/login/profile\");\r\n return response.data;\r\n }\r\n\r\n /**Uploads package to the server */\r\n async uploadPackage(form) {\r\n const formData = new FormData();\r\n\r\n formData.append('package', form.file);\r\n formData.append('root', form.root);\r\n const result = await axios.post('/projects', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n });\r\n\r\n // console.log(\"Repository uploadPackage \", result)\r\n\r\n return result.data;\r\n }\r\n\r\n getAccessToken() { return this._accessToken; }\r\n\r\n setAccessToken(value) {\r\n this._accessToken = value;\r\n axios.defaults.headers.common[AuthorizationHeader] = `Bearer ${value}`;\r\n }\r\n\r\n forgetAccessToken() {\r\n delete axios.defaults.headers.common[AuthorizationHeader];\r\n delete this._accessToken;\r\n }\r\n\r\n hasAccessToken() { return !! this._accessToken; }\r\n\r\n /** Get BOM data */\r\n async loadBom(bomUrl) {\r\n const response = await axios.get(bomUrl);\r\n return response.data;\r\n }\r\n\r\n /** Get list of drawings */\r\n async loadDrawingsList(drawingsListUrl) {\r\n const response = await axios.get(drawingsListUrl);\r\n\r\n return response.data;\r\n }\r\n}\r\n\r\n/** Singleton with repo */\r\nexport default new Repository();","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { IRetryPolicy, RetryContext } from \"./IRetryPolicy\";\r\n\r\n// 0, 2, 10, 30 second delays before reconnect attempts.\r\nconst DEFAULT_RETRY_DELAYS_IN_MILLISECONDS = [0, 2000, 10000, 30000, null];\r\n\r\n/** @private */\r\nexport class DefaultReconnectPolicy implements IRetryPolicy {\r\n private readonly _retryDelays: (number | null)[];\r\n\r\n constructor(retryDelays?: number[]) {\r\n this._retryDelays = retryDelays !== undefined ? [...retryDelays, null] : DEFAULT_RETRY_DELAYS_IN_MILLISECONDS;\r\n }\r\n\r\n public nextRetryDelayInMilliseconds(retryContext: RetryContext): number | null {\r\n return this._retryDelays[retryContext.previousRetryCount];\r\n }\r\n}\r\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { HttpTransportType } from \"./ITransport\";\r\n\r\n/** Error thrown when an HTTP request fails. */\r\nexport class HttpError extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** The HTTP status code represented by this error. */\r\n public statusCode: number;\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n * @param {number} statusCode The HTTP status code represented by this error.\r\n */\r\n constructor(errorMessage: string, statusCode: number) {\r\n const trueProto = new.target.prototype;\r\n super(`${errorMessage}: Status code '${statusCode}'`);\r\n this.statusCode = statusCode;\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n\r\n/** Error thrown when a timeout elapses. */\r\nexport class TimeoutError extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.TimeoutError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage: string = \"A timeout occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n\r\n/** Error thrown when an action is aborted. */\r\nexport class AbortError extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** Constructs a new instance of {@link AbortError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage: string = \"An abort occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n\r\n/** Error thrown when the selected transport is unsupported by the browser. */\r\n/** @private */\r\nexport class UnsupportedTransportError extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** The {@link @microsoft/signalr.HttpTransportType} this error occured on. */\r\n public transport: HttpTransportType;\r\n\r\n /** The type name of this error. */\r\n public errorType: string;\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.UnsupportedTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message: string, transport: HttpTransportType) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'UnsupportedTransportError';\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n\r\n/** Error thrown when the selected transport is disabled by the browser. */\r\n/** @private */\r\nexport class DisabledTransportError extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** The {@link @microsoft/signalr.HttpTransportType} this error occured on. */\r\n public transport: HttpTransportType;\r\n\r\n /** The type name of this error. */\r\n public errorType: string;\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.DisabledTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message: string, transport: HttpTransportType) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'DisabledTransportError';\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n\r\n/** Error thrown when the selected transport cannot be started. */\r\n/** @private */\r\nexport class FailedToStartTransportError extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** The {@link @microsoft/signalr.HttpTransportType} this error occured on. */\r\n public transport: HttpTransportType;\r\n\r\n /** The type name of this error. */\r\n public errorType: string;\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToStartTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message: string, transport: HttpTransportType) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'FailedToStartTransportError';\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n\r\n/** Error thrown when the negotiation with the server failed to complete. */\r\n/** @private */\r\nexport class FailedToNegotiateWithServerError extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** The type name of this error. */\r\n public errorType: string;\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToNegotiateWithServerError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n */\r\n constructor(message: string) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.errorType = 'FailedToNegotiateWithServerError';\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n\r\n/** Error thrown when multiple errors have occured. */\r\n/** @private */\r\nexport class AggregateErrors extends Error {\r\n // @ts-ignore: Intentionally unused.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private __proto__: Error;\r\n\r\n /** The collection of errors this error is aggregating. */\r\n public innerErrors: Error[];\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.AggregateErrors}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {Error[]} innerErrors The collection of errors this error is aggregating.\r\n */\r\n constructor(message: string, innerErrors: Error[]) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n\r\n this.innerErrors = innerErrors;\r\n\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here.\r\n/** Indicates the severity of a log message.\r\n *\r\n * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc.\r\n */\r\nexport enum LogLevel {\r\n /** Log level for very low severity diagnostic messages. */\r\n Trace = 0,\r\n /** Log level for low severity diagnostic messages. */\r\n Debug = 1,\r\n /** Log level for informational diagnostic messages. */\r\n Information = 2,\r\n /** Log level for diagnostic messages that indicate a non-fatal problem. */\r\n Warning = 3,\r\n /** Log level for diagnostic messages that indicate a failure in the current operation. */\r\n Error = 4,\r\n /** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */\r\n Critical = 5,\r\n /** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */\r\n None = 6,\r\n}\r\n\r\n/** An abstraction that provides a sink for diagnostic messages. */\r\nexport interface ILogger {\r\n /** Called by the framework to emit a diagnostic message.\r\n *\r\n * @param {LogLevel} logLevel The severity level of the message.\r\n * @param {string} message The message.\r\n */\r\n log(logLevel: LogLevel, message: string): void;\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { AbortSignal } from \"./AbortController\";\r\nimport { MessageHeaders } from \"./IHubProtocol\";\r\n\r\n/** Represents an HTTP request. */\r\nexport interface HttpRequest {\r\n /** The HTTP method to use for the request. */\r\n method?: string;\r\n\r\n /** The URL for the request. */\r\n url?: string;\r\n\r\n /** The body content for the request. May be a string or an ArrayBuffer (for binary data). */\r\n content?: string | ArrayBuffer;\r\n\r\n /** An object describing headers to apply to the request. */\r\n headers?: MessageHeaders;\r\n\r\n /** The XMLHttpRequestResponseType to apply to the request. */\r\n responseType?: XMLHttpRequestResponseType;\r\n\r\n /** An AbortSignal that can be monitored for cancellation. */\r\n abortSignal?: AbortSignal;\r\n\r\n /** The time to wait for the request to complete before throwing a TimeoutError. Measured in milliseconds. */\r\n timeout?: number;\r\n\r\n /** This controls whether credentials such as cookies are sent in cross-site requests. */\r\n withCredentials?: boolean;\r\n}\r\n\r\n/** Represents an HTTP response. */\r\nexport class HttpResponse {\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpResponse} with the specified status code.\r\n *\r\n * @param {number} statusCode The status code of the response.\r\n */\r\n constructor(statusCode: number);\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpResponse} with the specified status code and message.\r\n *\r\n * @param {number} statusCode The status code of the response.\r\n * @param {string} statusText The status message of the response.\r\n */\r\n constructor(statusCode: number, statusText: string);\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpResponse} with the specified status code, message and string content.\r\n *\r\n * @param {number} statusCode The status code of the response.\r\n * @param {string} statusText The status message of the response.\r\n * @param {string} content The content of the response.\r\n */\r\n constructor(statusCode: number, statusText: string, content: string);\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpResponse} with the specified status code, message and binary content.\r\n *\r\n * @param {number} statusCode The status code of the response.\r\n * @param {string} statusText The status message of the response.\r\n * @param {ArrayBuffer} content The content of the response.\r\n */\r\n constructor(statusCode: number, statusText: string, content: ArrayBuffer);\r\n\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpResponse} with the specified status code, message and binary content.\r\n *\r\n * @param {number} statusCode The status code of the response.\r\n * @param {string} statusText The status message of the response.\r\n * @param {string | ArrayBuffer} content The content of the response.\r\n */\r\n constructor(statusCode: number, statusText: string, content: string | ArrayBuffer);\r\n constructor(\r\n public readonly statusCode: number,\r\n public readonly statusText?: string,\r\n public readonly content?: string | ArrayBuffer) {\r\n }\r\n}\r\n\r\n/** Abstraction over an HTTP client.\r\n *\r\n * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms.\r\n */\r\nexport abstract class HttpClient {\r\n /** Issues an HTTP GET request to the specified URL, returning a Promise that resolves with an {@link @microsoft/signalr.HttpResponse} representing the result.\r\n *\r\n * @param {string} url The URL for the request.\r\n * @returns {Promise} A Promise that resolves with an {@link @microsoft/signalr.HttpResponse} describing the response, or rejects with an Error indicating a failure.\r\n */\r\n public get(url: string): Promise;\r\n\r\n /** Issues an HTTP GET request to the specified URL, returning a Promise that resolves with an {@link @microsoft/signalr.HttpResponse} representing the result.\r\n *\r\n * @param {string} url The URL for the request.\r\n * @param {HttpRequest} options Additional options to configure the request. The 'url' field in this object will be overridden by the url parameter.\r\n * @returns {Promise} A Promise that resolves with an {@link @microsoft/signalr.HttpResponse} describing the response, or rejects with an Error indicating a failure.\r\n */\r\n public get(url: string, options: HttpRequest): Promise;\r\n public get(url: string, options?: HttpRequest): Promise {\r\n return this.send({\r\n ...options,\r\n method: \"GET\",\r\n url,\r\n });\r\n }\r\n\r\n /** Issues an HTTP POST request to the specified URL, returning a Promise that resolves with an {@link @microsoft/signalr.HttpResponse} representing the result.\r\n *\r\n * @param {string} url The URL for the request.\r\n * @returns {Promise} A Promise that resolves with an {@link @microsoft/signalr.HttpResponse} describing the response, or rejects with an Error indicating a failure.\r\n */\r\n public post(url: string): Promise;\r\n\r\n /** Issues an HTTP POST request to the specified URL, returning a Promise that resolves with an {@link @microsoft/signalr.HttpResponse} representing the result.\r\n *\r\n * @param {string} url The URL for the request.\r\n * @param {HttpRequest} options Additional options to configure the request. The 'url' field in this object will be overridden by the url parameter.\r\n * @returns {Promise} A Promise that resolves with an {@link @microsoft/signalr.HttpResponse} describing the response, or rejects with an Error indicating a failure.\r\n */\r\n public post(url: string, options: HttpRequest): Promise;\r\n public post(url: string, options?: HttpRequest): Promise {\r\n return this.send({\r\n ...options,\r\n method: \"POST\",\r\n url,\r\n });\r\n }\r\n\r\n /** Issues an HTTP DELETE request to the specified URL, returning a Promise that resolves with an {@link @microsoft/signalr.HttpResponse} representing the result.\r\n *\r\n * @param {string} url The URL for the request.\r\n * @returns {Promise} A Promise that resolves with an {@link @microsoft/signalr.HttpResponse} describing the response, or rejects with an Error indicating a failure.\r\n */\r\n public delete(url: string): Promise;\r\n\r\n /** Issues an HTTP DELETE request to the specified URL, returning a Promise that resolves with an {@link @microsoft/signalr.HttpResponse} representing the result.\r\n *\r\n * @param {string} url The URL for the request.\r\n * @param {HttpRequest} options Additional options to configure the request. The 'url' field in this object will be overridden by the url parameter.\r\n * @returns {Promise} A Promise that resolves with an {@link @microsoft/signalr.HttpResponse} describing the response, or rejects with an Error indicating a failure.\r\n */\r\n public delete(url: string, options: HttpRequest): Promise;\r\n public delete(url: string, options?: HttpRequest): Promise {\r\n return this.send({\r\n ...options,\r\n method: \"DELETE\",\r\n url,\r\n });\r\n }\r\n\r\n /** Issues an HTTP request to the specified URL, returning a {@link Promise} that resolves with an {@link @microsoft/signalr.HttpResponse} representing the result.\r\n *\r\n * @param {HttpRequest} request An {@link @microsoft/signalr.HttpRequest} describing the request to send.\r\n * @returns {Promise} A Promise that resolves with an HttpResponse describing the response, or rejects with an Error indicating a failure.\r\n */\r\n public abstract send(request: HttpRequest): Promise;\r\n\r\n /** Gets all cookies that apply to the specified URL.\r\n *\r\n * @param url The URL that the cookies are valid for.\r\n * @returns {string} A string containing all the key-value cookie pairs for the specified URL.\r\n */\r\n // @ts-ignore\r\n public getCookieString(url: string): string {\r\n return \"\";\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\n\r\n/** A logger that does nothing when log messages are sent to it. */\r\nexport class NullLogger implements ILogger {\r\n /** The singleton instance of the {@link @microsoft/signalr.NullLogger}. */\r\n public static instance: ILogger = new NullLogger();\r\n\r\n private constructor() {}\r\n\r\n /** @inheritDoc */\r\n // eslint-disable-next-line\r\n public log(_logLevel: LogLevel, _message: string): void {\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { IStreamSubscriber, ISubscription } from \"./Stream\";\r\nimport { Subject } from \"./Subject\";\r\nimport { IHttpConnectionOptions } from \"./IHttpConnectionOptions\";\r\n\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR client. */\r\n\r\nexport const VERSION: string = \"0.0.0-DEV_BUILD\";\r\n/** @private */\r\nexport class Arg {\r\n public static isRequired(val: any, name: string): void {\r\n if (val === null || val === undefined) {\r\n throw new Error(`The '${name}' argument is required.`);\r\n }\r\n }\r\n public static isNotEmpty(val: string, name: string): void {\r\n if (!val || val.match(/^\\s*$/)) {\r\n throw new Error(`The '${name}' argument should not be empty.`);\r\n }\r\n }\r\n\r\n public static isIn(val: any, values: any, name: string): void {\r\n // TypeScript enums have keys for **both** the name and the value of each enum member on the type itself.\r\n if (!(val in values)) {\r\n throw new Error(`Unknown ${name} value: ${val}.`);\r\n }\r\n }\r\n}\r\n\r\n/** @private */\r\nexport class Platform {\r\n // react-native has a window but no document so we should check both\r\n public static get isBrowser(): boolean {\r\n return typeof window === \"object\" && typeof window.document === \"object\";\r\n }\r\n\r\n // WebWorkers don't have a window object so the isBrowser check would fail\r\n public static get isWebWorker(): boolean {\r\n return typeof self === \"object\" && \"importScripts\" in self;\r\n }\r\n\r\n // react-native has a window but no document\r\n static get isReactNative(): boolean {\r\n return typeof window === \"object\" && typeof window.document === \"undefined\";\r\n }\r\n\r\n // Node apps shouldn't have a window object, but WebWorkers don't either\r\n // so we need to check for both WebWorker and window\r\n public static get isNode(): boolean {\r\n return !this.isBrowser && !this.isWebWorker && !this.isReactNative;\r\n }\r\n}\r\n\r\n/** @private */\r\nexport function getDataDetail(data: any, includeContent: boolean): string {\r\n let detail = \"\";\r\n if (isArrayBuffer(data)) {\r\n detail = `Binary data of length ${data.byteLength}`;\r\n if (includeContent) {\r\n detail += `. Content: '${formatArrayBuffer(data)}'`;\r\n }\r\n } else if (typeof data === \"string\") {\r\n detail = `String data of length ${data.length}`;\r\n if (includeContent) {\r\n detail += `. Content: '${data}'`;\r\n }\r\n }\r\n return detail;\r\n}\r\n\r\n/** @private */\r\nexport function formatArrayBuffer(data: ArrayBuffer): string {\r\n const view = new Uint8Array(data);\r\n\r\n // Uint8Array.map only supports returning another Uint8Array?\r\n let str = \"\";\r\n view.forEach((num) => {\r\n const pad = num < 16 ? \"0\" : \"\";\r\n str += `0x${pad}${num.toString(16)} `;\r\n });\r\n\r\n // Trim of trailing space.\r\n return str.substr(0, str.length - 1);\r\n}\r\n\r\n// Also in signalr-protocol-msgpack/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val: any): val is ArrayBuffer {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n\r\n/** @private */\r\nexport async function sendMessage(logger: ILogger, transportName: string, httpClient: HttpClient, url: string, accessTokenFactory: (() => string | Promise) | undefined,\r\n content: string | ArrayBuffer, options: IHttpConnectionOptions): Promise {\r\n let headers: {[k: string]: string} = {};\r\n if (accessTokenFactory) {\r\n const token = await accessTokenFactory();\r\n if (token) {\r\n headers = {\r\n [\"Authorization\"]: `Bearer ${token}`,\r\n };\r\n }\r\n }\r\n\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n\r\n logger.log(LogLevel.Trace, `(${transportName} transport) sending data. ${getDataDetail(content, options.logMessageContent!)}.`);\r\n\r\n const responseType = isArrayBuffer(content) ? \"arraybuffer\" : \"text\";\r\n const response = await httpClient.post(url, {\r\n content,\r\n headers: { ...headers, ...options.headers},\r\n responseType,\r\n timeout: options.timeout,\r\n withCredentials: options.withCredentials,\r\n });\r\n\r\n logger.log(LogLevel.Trace, `(${transportName} transport) request complete. Response status: ${response.statusCode}.`);\r\n}\r\n\r\n/** @private */\r\nexport function createLogger(logger?: ILogger | LogLevel): ILogger {\r\n if (logger === undefined) {\r\n return new ConsoleLogger(LogLevel.Information);\r\n }\r\n\r\n if (logger === null) {\r\n return NullLogger.instance;\r\n }\r\n\r\n if ((logger as ILogger).log !== undefined) {\r\n return logger as ILogger;\r\n }\r\n\r\n return new ConsoleLogger(logger as LogLevel);\r\n}\r\n\r\n/** @private */\r\nexport class SubjectSubscription implements ISubscription {\r\n private _subject: Subject;\r\n private _observer: IStreamSubscriber;\r\n\r\n constructor(subject: Subject, observer: IStreamSubscriber) {\r\n this._subject = subject;\r\n this._observer = observer;\r\n }\r\n\r\n public dispose(): void {\r\n const index: number = this._subject.observers.indexOf(this._observer);\r\n if (index > -1) {\r\n this._subject.observers.splice(index, 1);\r\n }\r\n\r\n if (this._subject.observers.length === 0 && this._subject.cancelCallback) {\r\n this._subject.cancelCallback().catch((_) => { });\r\n }\r\n }\r\n}\r\n\r\n/** @private */\r\nexport class ConsoleLogger implements ILogger {\r\n private readonly _minLevel: LogLevel;\r\n\r\n // Public for testing purposes.\r\n public out: {\r\n error(message: any): void,\r\n warn(message: any): void,\r\n info(message: any): void,\r\n log(message: any): void,\r\n };\r\n\r\n constructor(minimumLogLevel: LogLevel) {\r\n this._minLevel = minimumLogLevel;\r\n this.out = console;\r\n }\r\n\r\n public log(logLevel: LogLevel, message: string): void {\r\n if (logLevel >= this._minLevel) {\r\n const msg = `[${new Date().toISOString()}] ${LogLevel[logLevel]}: ${message}`;\r\n switch (logLevel) {\r\n case LogLevel.Critical:\r\n case LogLevel.Error:\r\n this.out.error(msg);\r\n break;\r\n case LogLevel.Warning:\r\n this.out.warn(msg);\r\n break;\r\n case LogLevel.Information:\r\n this.out.info(msg);\r\n break;\r\n default:\r\n // console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debug\r\n this.out.log(msg);\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** @private */\r\nexport function getUserAgentHeader(): [string, string] {\r\n let userAgentHeaderName = \"X-SignalR-User-Agent\";\r\n if (Platform.isNode) {\r\n userAgentHeaderName = \"User-Agent\";\r\n }\r\n return [ userAgentHeaderName, constructUserAgent(VERSION, getOsName(), getRuntime(), getRuntimeVersion()) ];\r\n}\r\n\r\n/** @private */\r\nexport function constructUserAgent(version: string, os: string, runtime: string, runtimeVersion: string | undefined): string {\r\n // Microsoft SignalR/[Version] ([Detailed Version]; [Operating System]; [Runtime]; [Runtime Version])\r\n let userAgent: string = \"Microsoft SignalR/\";\r\n\r\n const majorAndMinor = version.split(\".\");\r\n userAgent += `${majorAndMinor[0]}.${majorAndMinor[1]}`;\r\n userAgent += ` (${version}; `;\r\n\r\n if (os && os !== \"\") {\r\n userAgent += `${os}; `;\r\n } else {\r\n userAgent += \"Unknown OS; \";\r\n }\r\n\r\n userAgent += `${runtime}`;\r\n\r\n if (runtimeVersion) {\r\n userAgent += `; ${runtimeVersion}`;\r\n } else {\r\n userAgent += \"; Unknown Runtime Version\";\r\n }\r\n\r\n userAgent += \")\";\r\n return userAgent;\r\n}\r\n\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getOsName(): string {\r\n if (Platform.isNode) {\r\n switch (process.platform) {\r\n case \"win32\":\r\n return \"Windows NT\";\r\n case \"darwin\":\r\n return \"macOS\";\r\n case \"linux\":\r\n return \"Linux\";\r\n default:\r\n return process.platform;\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getRuntimeVersion(): string | undefined {\r\n if (Platform.isNode) {\r\n return process.versions.node;\r\n }\r\n return undefined;\r\n}\r\n\r\nfunction getRuntime(): string {\r\n if (Platform.isNode) {\r\n return \"NodeJS\";\r\n } else {\r\n return \"Browser\";\r\n }\r\n}\r\n\r\n/** @private */\r\nexport function getErrorString(e: any): string {\r\n if (e.stack) {\r\n return e.stack;\r\n } else if (e.message) {\r\n return e.message;\r\n }\r\n return `${e}`;\r\n}\r\n\r\n/** @private */\r\nexport function getGlobalThis(): unknown {\r\n // globalThis is semi-new and not available in Node until v12\r\n if (typeof globalThis !== \"undefined\") {\r\n return globalThis;\r\n }\r\n if (typeof self !== \"undefined\") {\r\n return self;\r\n }\r\n if (typeof window !== \"undefined\") {\r\n return window;\r\n }\r\n if (typeof global !== \"undefined\") {\r\n return global;\r\n }\r\n throw new Error(\"could not find global\");\r\n}","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// @ts-ignore: This will be removed from built files and is here to make the types available during dev work\r\nimport { CookieJar } from \"@types/tough-cookie\";\r\n\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpRequest, HttpResponse } from \"./HttpClient\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { Platform, getGlobalThis } from \"./Utils\";\r\n\r\nexport class FetchHttpClient extends HttpClient {\r\n private readonly _abortControllerType: { prototype: AbortController, new(): AbortController };\r\n private readonly _fetchType: (input: RequestInfo, init?: RequestInit) => Promise;\r\n private readonly _jar?: CookieJar;\r\n\r\n private readonly _logger: ILogger;\r\n\r\n public constructor(logger: ILogger) {\r\n super();\r\n this._logger = logger;\r\n\r\n if (typeof fetch === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n\r\n // Cookies aren't automatically handled in Node so we need to add a CookieJar to preserve cookies across requests\r\n this._jar = new (requireFunc(\"tough-cookie\")).CookieJar();\r\n this._fetchType = requireFunc(\"node-fetch\");\r\n\r\n // node-fetch doesn't have a nice API for getting and setting cookies\r\n // fetch-cookie will wrap a fetch implementation with a default CookieJar or a provided one\r\n this._fetchType = requireFunc(\"fetch-cookie\")(this._fetchType, this._jar);\r\n } else {\r\n this._fetchType = fetch.bind(getGlobalThis());\r\n }\r\n if (typeof AbortController === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n\r\n // Node needs EventListener methods on AbortController which our custom polyfill doesn't provide\r\n this._abortControllerType = requireFunc(\"abort-controller\");\r\n } else {\r\n this._abortControllerType = AbortController;\r\n }\r\n }\r\n\r\n /** @inheritDoc */\r\n public async send(request: HttpRequest): Promise {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n throw new AbortError();\r\n }\r\n\r\n if (!request.method) {\r\n throw new Error(\"No method defined.\");\r\n }\r\n if (!request.url) {\r\n throw new Error(\"No url defined.\");\r\n }\r\n\r\n const abortController = new this._abortControllerType();\r\n\r\n let error: any;\r\n // Hook our abortSignal into the abort controller\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n abortController.abort();\r\n error = new AbortError();\r\n };\r\n }\r\n\r\n // If a timeout has been passed in, setup a timeout to call abort\r\n // Type needs to be any to fit window.setTimeout and NodeJS.setTimeout\r\n let timeoutId: any = null;\r\n if (request.timeout) {\r\n const msTimeout = request.timeout!;\r\n timeoutId = setTimeout(() => {\r\n abortController.abort();\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n error = new TimeoutError();\r\n }, msTimeout);\r\n }\r\n\r\n let response: Response;\r\n try {\r\n response = await this._fetchType(request.url!, {\r\n body: request.content!,\r\n cache: \"no-cache\",\r\n credentials: request.withCredentials === true ? \"include\" : \"same-origin\",\r\n headers: {\r\n \"Content-Type\": \"text/plain;charset=UTF-8\",\r\n \"X-Requested-With\": \"XMLHttpRequest\",\r\n ...request.headers,\r\n },\r\n method: request.method!,\r\n mode: \"cors\",\r\n redirect: \"follow\",\r\n signal: abortController.signal,\r\n });\r\n } catch (e) {\r\n if (error) {\r\n throw error;\r\n }\r\n this._logger.log(\r\n LogLevel.Warning,\r\n `Error from HTTP request. ${e}.`,\r\n );\r\n throw e;\r\n } finally {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n }\r\n\r\n if (!response.ok) {\r\n const errorMessage = await deserializeContent(response, \"text\") as string;\r\n throw new HttpError(errorMessage || response.statusText, response.status);\r\n }\r\n\r\n const content = deserializeContent(response, request.responseType);\r\n const payload = await content;\r\n\r\n return new HttpResponse(\r\n response.status,\r\n response.statusText,\r\n payload,\r\n );\r\n }\r\n\r\n public getCookieString(url: string): string {\r\n let cookies: string = \"\";\r\n if (Platform.isNode && this._jar) {\r\n // @ts-ignore: unused variable\r\n this._jar.getCookies(url, (e, c) => cookies = c.join(\"; \"));\r\n }\r\n return cookies;\r\n }\r\n}\r\n\r\nfunction deserializeContent(response: Response, responseType?: XMLHttpRequestResponseType): Promise {\r\n let content;\r\n switch (responseType) {\r\n case \"arraybuffer\":\r\n content = response.arrayBuffer();\r\n break;\r\n case \"text\":\r\n content = response.text();\r\n break;\r\n case \"blob\":\r\n case \"document\":\r\n case \"json\":\r\n throw new Error(`${responseType} is not supported.`);\r\n default:\r\n content = response.text();\r\n break;\r\n }\r\n\r\n return content;\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpRequest, HttpResponse } from \"./HttpClient\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\n\r\nexport class XhrHttpClient extends HttpClient {\r\n private readonly _logger: ILogger;\r\n\r\n public constructor(logger: ILogger) {\r\n super();\r\n this._logger = logger;\r\n }\r\n\r\n /** @inheritDoc */\r\n public send(request: HttpRequest): Promise {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest();\r\n\r\n xhr.open(request.method!, request.url!, true);\r\n xhr.withCredentials = request.withCredentials === undefined ? true : request.withCredentials;\r\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\r\n // Explicitly setting the Content-Type header for React Native on Android platform.\r\n xhr.setRequestHeader(\"Content-Type\", \"text/plain;charset=UTF-8\");\r\n\r\n const headers = request.headers;\r\n if (headers) {\r\n Object.keys(headers)\r\n .forEach((header) => {\r\n xhr.setRequestHeader(header, headers[header]);\r\n });\r\n }\r\n\r\n if (request.responseType) {\r\n xhr.responseType = request.responseType;\r\n }\r\n\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n xhr.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n\r\n if (request.timeout) {\r\n xhr.timeout = request.timeout;\r\n }\r\n\r\n xhr.onload = () => {\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(new HttpResponse(xhr.status, xhr.statusText, xhr.response || xhr.responseText));\r\n } else {\r\n reject(new HttpError(xhr.response || xhr.responseText || xhr.statusText, xhr.status));\r\n }\r\n };\r\n\r\n xhr.onerror = () => {\r\n this._logger.log(LogLevel.Warning, `Error from HTTP request. ${xhr.status}: ${xhr.statusText}.`);\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n };\r\n\r\n xhr.ontimeout = () => {\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n reject(new TimeoutError());\r\n };\r\n\r\n xhr.send(request.content || \"\");\r\n });\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// This will be treated as a bit flag in the future, so we keep it using power-of-two values.\r\n/** Specifies a specific HTTP transport type. */\r\nexport enum HttpTransportType {\r\n /** Specifies no transport preference. */\r\n None = 0,\r\n /** Specifies the WebSockets transport. */\r\n WebSockets = 1,\r\n /** Specifies the Server-Sent Events transport. */\r\n ServerSentEvents = 2,\r\n /** Specifies the Long Polling transport. */\r\n LongPolling = 4,\r\n}\r\n\r\n/** Specifies the transfer format for a connection. */\r\nexport enum TransferFormat {\r\n /** Specifies that only text data will be transmitted over the connection. */\r\n Text = 1,\r\n /** Specifies that binary data will be transmitted over the connection. */\r\n Binary = 2,\r\n}\r\n\r\n/** An abstraction over the behavior of transports. This is designed to support the framework and not intended for use by applications. */\r\nexport interface ITransport {\r\n connect(url: string, transferFormat: TransferFormat): Promise;\r\n send(data: any): Promise;\r\n stop(): Promise;\r\n onreceive: ((data: string | ArrayBuffer) => void) | null;\r\n onclose: ((error?: Error) => void) | null;\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { AbortError } from \"./Errors\";\r\nimport { FetchHttpClient } from \"./FetchHttpClient\";\r\nimport { HttpClient, HttpRequest, HttpResponse } from \"./HttpClient\";\r\nimport { ILogger } from \"./ILogger\";\r\nimport { Platform } from \"./Utils\";\r\nimport { XhrHttpClient } from \"./XhrHttpClient\";\r\n\r\n/** Default implementation of {@link @microsoft/signalr.HttpClient}. */\r\nexport class DefaultHttpClient extends HttpClient {\r\n private readonly _httpClient: HttpClient;\r\n\r\n /** Creates a new instance of the {@link @microsoft/signalr.DefaultHttpClient}, using the provided {@link @microsoft/signalr.ILogger} to log messages. */\r\n public constructor(logger: ILogger) {\r\n super();\r\n\r\n if (typeof fetch !== \"undefined\" || Platform.isNode) {\r\n this._httpClient = new FetchHttpClient(logger);\r\n } else if (typeof XMLHttpRequest !== \"undefined\") {\r\n this._httpClient = new XhrHttpClient(logger);\r\n } else {\r\n throw new Error(\"No usable HttpClient found.\");\r\n }\r\n }\r\n\r\n /** @inheritDoc */\r\n public send(request: HttpRequest): Promise {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n\r\n return this._httpClient.send(request);\r\n }\r\n\r\n public getCookieString(url: string): string {\r\n return this._httpClient.getCookieString(url);\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nexport abstract class HeaderNames {\r\n static readonly Authorization = \"Authorization\";\r\n static readonly Cookie = \"Cookie\";\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController\r\n// We don't actually ever use the API being polyfilled, we always use the polyfill because\r\n// it's a very new API right now.\r\n\r\n// Not exported from index.\r\n/** @private */\r\nexport class AbortController implements AbortSignal {\r\n private _isAborted: boolean = false;\r\n public onabort: (() => void) | null = null;\r\n\r\n public abort(): void {\r\n if (!this._isAborted) {\r\n this._isAborted = true;\r\n if (this.onabort) {\r\n this.onabort();\r\n }\r\n }\r\n }\r\n\r\n get signal(): AbortSignal {\r\n return this;\r\n }\r\n\r\n get aborted(): boolean {\r\n return this._isAborted;\r\n }\r\n}\r\n\r\n/** Represents a signal that can be monitored to determine if a request has been aborted. */\r\nexport interface AbortSignal {\r\n /** Indicates if the request has been aborted. */\r\n aborted: boolean;\r\n /** Set this to a handler that will be invoked when the request is aborted. */\r\n onabort: (() => void) | null;\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { AbortController } from \"./AbortController\";\r\nimport { HttpError, TimeoutError } from \"./Errors\";\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { HttpClient, HttpRequest } from \"./HttpClient\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { ITransport, TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, sendMessage } from \"./Utils\";\r\nimport { IHttpConnectionOptions } from \"./IHttpConnectionOptions\";\r\n\r\n// Not exported from 'index', this type is internal.\r\n/** @private */\r\nexport class LongPollingTransport implements ITransport {\r\n private readonly _httpClient: HttpClient;\r\n private readonly _accessTokenFactory: (() => string | Promise) | undefined;\r\n private readonly _logger: ILogger;\r\n private readonly _options: IHttpConnectionOptions;\r\n private readonly _pollAbort: AbortController;\r\n\r\n private _url?: string;\r\n private _running: boolean;\r\n private _receiving?: Promise;\r\n private _closeError?: Error;\r\n\r\n public onreceive: ((data: string | ArrayBuffer) => void) | null;\r\n public onclose: ((error?: Error) => void) | null;\r\n\r\n // This is an internal type, not exported from 'index' so this is really just internal.\r\n public get pollAborted(): boolean {\r\n return this._pollAbort.aborted;\r\n }\r\n\r\n constructor(httpClient: HttpClient, accessTokenFactory: (() => string | Promise) | undefined, logger: ILogger, options: IHttpConnectionOptions) {\r\n this._httpClient = httpClient;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logger = logger;\r\n this._pollAbort = new AbortController();\r\n this._options = options;\r\n\r\n this._running = false;\r\n\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n\r\n public async connect(url: string, transferFormat: TransferFormat): Promise {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n\r\n this._url = url;\r\n\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Connecting.\");\r\n\r\n // Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property)\r\n if (transferFormat === TransferFormat.Binary &&\r\n (typeof XMLHttpRequest !== \"undefined\" && typeof new XMLHttpRequest().responseType !== \"string\")) {\r\n throw new Error(\"Binary protocols over XmlHttpRequest not implementing advanced features are not supported.\");\r\n }\r\n\r\n const [name, value] = getUserAgentHeader();\r\n const headers = { [name]: value, ...this._options.headers };\r\n\r\n const pollOptions: HttpRequest = {\r\n abortSignal: this._pollAbort.signal,\r\n headers,\r\n timeout: 100000,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n\r\n if (transferFormat === TransferFormat.Binary) {\r\n pollOptions.responseType = \"arraybuffer\";\r\n }\r\n\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(pollOptions, token);\r\n\r\n // Make initial long polling request\r\n // Server uses first long polling request to finish initializing connection and it returns without data\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n\r\n // Mark running as false so that the poll immediately ends and runs the close logic\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n } else {\r\n this._running = true;\r\n }\r\n\r\n this._receiving = this._poll(this._url, pollOptions);\r\n }\r\n\r\n private async _getAccessToken(): Promise {\r\n if (this._accessTokenFactory) {\r\n return await this._accessTokenFactory();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _updateHeaderToken(request: HttpRequest, token: string | null) {\r\n if (!request.headers) {\r\n request.headers = {};\r\n }\r\n if (token) {\r\n request.headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n return;\r\n }\r\n if (request.headers[HeaderNames.Authorization]) {\r\n delete request.headers[HeaderNames.Authorization];\r\n }\r\n }\r\n\r\n private async _poll(url: string, pollOptions: HttpRequest): Promise {\r\n try {\r\n while (this._running) {\r\n // We have to get the access token on each poll, in case it changes\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(pollOptions, token);\r\n\r\n try {\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n\r\n if (response.statusCode === 204) {\r\n this._logger.log(LogLevel.Information, \"(LongPolling transport) Poll terminated by server.\");\r\n\r\n this._running = false;\r\n } else if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n\r\n // Unexpected status code\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n } else {\r\n // Process the response\r\n if (response.content) {\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) data received. ${getDataDetail(response.content, this._options.logMessageContent!)}.`);\r\n if (this.onreceive) {\r\n this.onreceive(response.content);\r\n }\r\n } else {\r\n // This is another way timeout manifest.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n }\r\n } catch (e) {\r\n if (!this._running) {\r\n // Log but disregard errors that occur after stopping\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) Poll errored after shutdown: ${e.message}`);\r\n } else {\r\n if (e instanceof TimeoutError) {\r\n // Ignore timeouts and reissue the poll.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n } else {\r\n // Close the connection with the error as the result.\r\n this._closeError = e;\r\n this._running = false;\r\n }\r\n }\r\n }\r\n }\r\n } finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Polling complete.\");\r\n\r\n // We will reach here with pollAborted==false when the server returned a response causing the transport to stop.\r\n // If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent.\r\n if (!this.pollAborted) {\r\n this._raiseOnClose();\r\n }\r\n }\r\n }\r\n\r\n public async send(data: any): Promise {\r\n if (!this._running) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"LongPolling\", this._httpClient, this._url!, this._accessTokenFactory, data, this._options);\r\n }\r\n\r\n public async stop(): Promise {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stopping polling.\");\r\n\r\n // Tell receiving loop to stop, abort any current request, and then wait for it to finish\r\n this._running = false;\r\n this._pollAbort.abort();\r\n\r\n try {\r\n await this._receiving;\r\n\r\n // Send DELETE to clean up long polling on the server\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) sending DELETE request to ${this._url}.`);\r\n\r\n const headers: {[k: string]: string} = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n\r\n const deleteOptions: HttpRequest = {\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(deleteOptions, token);\r\n await this._httpClient.delete(this._url!, deleteOptions);\r\n\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) DELETE request sent.\");\r\n } finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stop finished.\");\r\n\r\n // Raise close event here instead of in polling\r\n // It needs to happen after the DELETE request is sent\r\n this._raiseOnClose();\r\n }\r\n }\r\n\r\n private _raiseOnClose() {\r\n if (this.onclose) {\r\n let logMessage = \"(LongPolling transport) Firing onclose event.\";\r\n if (this._closeError) {\r\n logMessage += \" Error: \" + this._closeError;\r\n }\r\n this._logger.log(LogLevel.Trace, logMessage);\r\n this.onclose(this._closeError);\r\n }\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { MessageHeaders } from \"./IHubProtocol\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { ITransport, TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform, sendMessage } from \"./Utils\";\r\nimport { IHttpConnectionOptions } from \"./IHttpConnectionOptions\";\r\n\r\n/** @private */\r\nexport class ServerSentEventsTransport implements ITransport {\r\n private readonly _httpClient: HttpClient;\r\n private readonly _accessTokenFactory: (() => string | Promise) | undefined;\r\n private readonly _logger: ILogger;\r\n private readonly _options: IHttpConnectionOptions;\r\n private _eventSource?: EventSource;\r\n private _url?: string;\r\n\r\n public onreceive: ((data: string | ArrayBuffer) => void) | null;\r\n public onclose: ((error?: Error) => void) | null;\r\n\r\n constructor(httpClient: HttpClient, accessTokenFactory: (() => string | Promise) | undefined, logger: ILogger,\r\n options: IHttpConnectionOptions) {\r\n this._httpClient = httpClient;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logger = logger;\r\n this._options = options;\r\n\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n\r\n public async connect(url: string, transferFormat: TransferFormat): Promise {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n\r\n this._logger.log(LogLevel.Trace, \"(SSE transport) Connecting.\");\r\n\r\n // set url before accessTokenFactory because this.url is only for send and we set the auth header instead of the query string for send\r\n this._url = url;\r\n\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n let opened = false;\r\n if (transferFormat !== TransferFormat.Text) {\r\n reject(new Error(\"The Server-Sent Events transport only supports the 'Text' transfer format\"));\r\n return;\r\n }\r\n\r\n let eventSource: EventSource;\r\n if (Platform.isBrowser || Platform.isWebWorker) {\r\n eventSource = new this._options.EventSource!(url, { withCredentials: this._options.withCredentials });\r\n } else {\r\n // Non-browser passes cookies via the dictionary\r\n const cookies = this._httpClient.getCookieString(url);\r\n const headers: MessageHeaders = {};\r\n headers.Cookie = cookies;\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n\r\n eventSource = new this._options.EventSource!(url, { withCredentials: this._options.withCredentials, headers: { ...headers, ...this._options.headers} } as EventSourceInit);\r\n }\r\n\r\n try {\r\n eventSource.onmessage = (e: MessageEvent) => {\r\n if (this.onreceive) {\r\n try {\r\n this._logger.log(LogLevel.Trace, `(SSE transport) data received. ${getDataDetail(e.data, this._options.logMessageContent!)}.`);\r\n this.onreceive(e.data);\r\n } catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n\r\n // @ts-ignore: not using event on purpose\r\n eventSource.onerror = (e: Event) => {\r\n // EventSource doesn't give any useful information about server side closes.\r\n if (opened) {\r\n this._close();\r\n } else {\r\n reject(new Error(\"EventSource failed to connect. The connection could not be found on the server,\"\r\n + \" either the connection ID is not present on the server, or a proxy is refusing/buffering the connection.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\"));\r\n }\r\n };\r\n\r\n eventSource.onopen = () => {\r\n this._logger.log(LogLevel.Information, `SSE connected to ${this._url}`);\r\n this._eventSource = eventSource;\r\n opened = true;\r\n resolve();\r\n };\r\n } catch (e) {\r\n reject(e);\r\n return;\r\n }\r\n });\r\n }\r\n\r\n public async send(data: any): Promise {\r\n if (!this._eventSource) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"SSE\", this._httpClient, this._url!, this._accessTokenFactory, data, this._options);\r\n }\r\n\r\n public stop(): Promise {\r\n this._close();\r\n return Promise.resolve();\r\n }\r\n\r\n private _close(e?: Error) {\r\n if (this._eventSource) {\r\n this._eventSource.close();\r\n this._eventSource = undefined;\r\n\r\n if (this.onclose) {\r\n this.onclose(e);\r\n }\r\n }\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { MessageHeaders } from \"./IHubProtocol\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { ITransport, TransferFormat } from \"./ITransport\";\r\nimport { WebSocketConstructor } from \"./Polyfills\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform } from \"./Utils\";\r\n\r\n/** @private */\r\nexport class WebSocketTransport implements ITransport {\r\n private readonly _logger: ILogger;\r\n private readonly _accessTokenFactory: (() => string | Promise) | undefined;\r\n private readonly _logMessageContent: boolean;\r\n private readonly _webSocketConstructor: WebSocketConstructor;\r\n private readonly _httpClient: HttpClient;\r\n private _webSocket?: WebSocket;\r\n private _headers: MessageHeaders;\r\n\r\n public onreceive: ((data: string | ArrayBuffer) => void) | null;\r\n public onclose: ((error?: Error) => void) | null;\r\n\r\n constructor(httpClient: HttpClient, accessTokenFactory: (() => string | Promise) | undefined, logger: ILogger,\r\n logMessageContent: boolean, webSocketConstructor: WebSocketConstructor, headers: MessageHeaders) {\r\n this._logger = logger;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logMessageContent = logMessageContent;\r\n this._webSocketConstructor = webSocketConstructor;\r\n this._httpClient = httpClient;\r\n\r\n this.onreceive = null;\r\n this.onclose = null;\r\n this._headers = headers;\r\n }\r\n\r\n public async connect(url: string, transferFormat: TransferFormat): Promise {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\r\n\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n url = url.replace(/^http/, \"ws\");\r\n let webSocket: WebSocket | undefined;\r\n const cookies = this._httpClient.getCookieString(url);\r\n let opened = false;\r\n\r\n if (Platform.isNode) {\r\n const headers: {[k: string]: string} = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n\r\n if (cookies) {\r\n headers[HeaderNames.Cookie] = `${cookies}`;\r\n }\r\n\r\n // Only pass headers when in non-browser environments\r\n webSocket = new this._webSocketConstructor(url, undefined, {\r\n headers: { ...headers, ...this._headers },\r\n });\r\n }\r\n\r\n if (!webSocket) {\r\n // Chrome is not happy with passing 'undefined' as protocol\r\n webSocket = new this._webSocketConstructor(url);\r\n }\r\n\r\n if (transferFormat === TransferFormat.Binary) {\r\n webSocket.binaryType = \"arraybuffer\";\r\n }\r\n\r\n webSocket.onopen = (_event: Event) => {\r\n this._logger.log(LogLevel.Information, `WebSocket connected to ${url}.`);\r\n this._webSocket = webSocket;\r\n opened = true;\r\n resolve();\r\n };\r\n\r\n webSocket.onerror = (event: Event) => {\r\n let error: any = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n } else {\r\n error = \"There was an error with the transport\";\r\n }\r\n\r\n this._logger.log(LogLevel.Information, `(WebSockets transport) ${error}.`);\r\n };\r\n\r\n webSocket.onmessage = (message: MessageEvent) => {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) data received. ${getDataDetail(message.data, this._logMessageContent)}.`);\r\n if (this.onreceive) {\r\n try {\r\n this.onreceive(message.data);\r\n } catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n\r\n webSocket.onclose = (event: CloseEvent) => {\r\n // Don't call close handler if connection was never established\r\n // We'll reject the connect call instead\r\n if (opened) {\r\n this._close(event);\r\n } else {\r\n let error: any = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n } else {\r\n error = \"WebSocket failed to connect. The connection could not be found on the server,\"\r\n + \" either the endpoint may not be a SignalR endpoint,\"\r\n + \" the connection ID is not present on the server, or there is a proxy blocking WebSockets.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\";\r\n }\r\n\r\n reject(new Error(error));\r\n }\r\n };\r\n });\r\n }\r\n\r\n public send(data: any): Promise {\r\n if (this._webSocket && this._webSocket.readyState === this._webSocketConstructor.OPEN) {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`);\r\n this._webSocket.send(data);\r\n return Promise.resolve();\r\n }\r\n\r\n return Promise.reject(\"WebSocket is not in the OPEN state\");\r\n }\r\n\r\n public stop(): Promise {\r\n if (this._webSocket) {\r\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\r\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\r\n this._close(undefined);\r\n }\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n private _close(event?: CloseEvent | Error): void {\r\n // webSocket will be null if the transport did not start successfully\r\n if (this._webSocket) {\r\n // Clear websocket handlers because we are considering the socket closed now\r\n this._webSocket.onclose = () => {};\r\n this._webSocket.onmessage = () => {};\r\n this._webSocket.onerror = () => {};\r\n this._webSocket.close();\r\n this._webSocket = undefined;\r\n }\r\n\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\r\n if (this.onclose) {\r\n if (this._isCloseEvent(event) && (event.wasClean === false || event.code !== 1000)) {\r\n this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || \"no reason given\"}).`));\r\n } else if (event instanceof Error) {\r\n this.onclose(event);\r\n } else {\r\n this.onclose();\r\n }\r\n }\r\n }\r\n\r\n private _isCloseEvent(event?: any): event is CloseEvent {\r\n return event && typeof event.wasClean === \"boolean\" && typeof event.code === \"number\";\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nimport { AggregateErrors, DisabledTransportError, FailedToNegotiateWithServerError, FailedToStartTransportError, HttpError, UnsupportedTransportError } from \"./Errors\";\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { IConnection } from \"./IConnection\";\r\nimport { IHttpConnectionOptions } from \"./IHttpConnectionOptions\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { HttpTransportType, ITransport, TransferFormat } from \"./ITransport\";\r\nimport { LongPollingTransport } from \"./LongPollingTransport\";\r\nimport { ServerSentEventsTransport } from \"./ServerSentEventsTransport\";\r\nimport { Arg, createLogger, getUserAgentHeader, Platform } from \"./Utils\";\r\nimport { WebSocketTransport } from \"./WebSocketTransport\";\r\n\r\n/** @private */\r\nconst enum ConnectionState {\r\n Connecting = \"Connecting\",\r\n Connected = \"Connected\",\r\n Disconnected = \"Disconnected\",\r\n Disconnecting = \"Disconnecting\",\r\n}\r\n\r\n/** @private */\r\nexport interface INegotiateResponse {\r\n connectionId?: string;\r\n connectionToken?: string;\r\n negotiateVersion?: number;\r\n availableTransports?: IAvailableTransport[];\r\n url?: string;\r\n accessToken?: string;\r\n error?: string;\r\n}\r\n\r\n/** @private */\r\nexport interface IAvailableTransport {\r\n transport: keyof typeof HttpTransportType;\r\n transferFormats: (keyof typeof TransferFormat)[];\r\n}\r\n\r\nconst MAX_REDIRECTS = 100;\r\n\r\n/** @private */\r\nexport class HttpConnection implements IConnection {\r\n private _connectionState: ConnectionState;\r\n // connectionStarted is tracked independently from connectionState, so we can check if the\r\n // connection ever did successfully transition from connecting to connected before disconnecting.\r\n private _connectionStarted: boolean;\r\n private readonly _httpClient: HttpClient;\r\n private readonly _logger: ILogger;\r\n private readonly _options: IHttpConnectionOptions;\r\n // Needs to not start with _ to be available for tests\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private transport?: ITransport;\r\n private _startInternalPromise?: Promise;\r\n private _stopPromise?: Promise;\r\n private _stopPromiseResolver: (value?: PromiseLike) => void = () => {};\r\n private _stopError?: Error;\r\n private _accessTokenFactory?: () => string | Promise;\r\n private _sendQueue?: TransportSendQueue;\r\n\r\n public readonly features: any = {};\r\n public baseUrl: string;\r\n public connectionId?: string;\r\n public onreceive: ((data: string | ArrayBuffer) => void) | null;\r\n public onclose: ((e?: Error) => void) | null;\r\n\r\n private readonly _negotiateVersion: number = 1;\r\n\r\n constructor(url: string, options: IHttpConnectionOptions = {}) {\r\n Arg.isRequired(url, \"url\");\r\n\r\n this._logger = createLogger(options.logger);\r\n this.baseUrl = this._resolveUrl(url);\r\n\r\n options = options || {};\r\n options.logMessageContent = options.logMessageContent === undefined ? false : options.logMessageContent;\r\n if (typeof options.withCredentials === \"boolean\" || options.withCredentials === undefined) {\r\n options.withCredentials = options.withCredentials === undefined ? true : options.withCredentials;\r\n } else {\r\n throw new Error(\"withCredentials option was not a 'boolean' or 'undefined' value\");\r\n }\r\n options.timeout = options.timeout === undefined ? 100 * 1000 : options.timeout;\r\n\r\n let webSocketModule: any = null;\r\n let eventSourceModule: any = null;\r\n\r\n if (Platform.isNode && typeof require !== \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n webSocketModule = requireFunc(\"ws\");\r\n eventSourceModule = requireFunc(\"eventsource\");\r\n }\r\n\r\n if (!Platform.isNode && typeof WebSocket !== \"undefined\" && !options.WebSocket) {\r\n options.WebSocket = WebSocket;\r\n } else if (Platform.isNode && !options.WebSocket) {\r\n if (webSocketModule) {\r\n options.WebSocket = webSocketModule;\r\n }\r\n }\r\n\r\n if (!Platform.isNode && typeof EventSource !== \"undefined\" && !options.EventSource) {\r\n options.EventSource = EventSource;\r\n } else if (Platform.isNode && !options.EventSource) {\r\n if (typeof eventSourceModule !== \"undefined\") {\r\n options.EventSource = eventSourceModule;\r\n }\r\n }\r\n\r\n this._httpClient = options.httpClient || new DefaultHttpClient(this._logger);\r\n this._connectionState = ConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n this._options = options;\r\n\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n\r\n public start(): Promise;\r\n public start(transferFormat: TransferFormat): Promise;\r\n public async start(transferFormat?: TransferFormat): Promise {\r\n transferFormat = transferFormat || TransferFormat.Binary;\r\n\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n\r\n this._logger.log(LogLevel.Debug, `Starting connection with transfer format '${TransferFormat[transferFormat]}'.`);\r\n\r\n if (this._connectionState !== ConnectionState.Disconnected) {\r\n return Promise.reject(new Error(\"Cannot start an HttpConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n\r\n this._connectionState = ConnectionState.Connecting;\r\n\r\n this._startInternalPromise = this._startInternal(transferFormat);\r\n await this._startInternalPromise;\r\n\r\n // The TypeScript compiler thinks that connectionState must be Connecting here. The TypeScript compiler is wrong.\r\n if (this._connectionState as any === ConnectionState.Disconnecting) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"Failed to start the HttpConnection before stop() was called.\";\r\n this._logger.log(LogLevel.Error, message);\r\n\r\n // We cannot await stopPromise inside startInternal since stopInternal awaits the startInternalPromise.\r\n await this._stopPromise;\r\n\r\n return Promise.reject(new Error(message));\r\n } else if (this._connectionState as any !== ConnectionState.Connected) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!\";\r\n this._logger.log(LogLevel.Error, message);\r\n return Promise.reject(new Error(message));\r\n }\r\n\r\n this._connectionStarted = true;\r\n }\r\n\r\n public send(data: string | ArrayBuffer): Promise {\r\n if (this._connectionState !== ConnectionState.Connected) {\r\n return Promise.reject(new Error(\"Cannot send data if the connection is not in the 'Connected' State.\"));\r\n }\r\n\r\n if (!this._sendQueue) {\r\n this._sendQueue = new TransportSendQueue(this.transport!);\r\n }\r\n\r\n // Transport will not be null if state is connected\r\n return this._sendQueue.send(data);\r\n }\r\n\r\n public async stop(error?: Error): Promise {\r\n if (this._connectionState === ConnectionState.Disconnected) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n\r\n if (this._connectionState === ConnectionState.Disconnecting) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise;\r\n }\r\n\r\n this._connectionState = ConnectionState.Disconnecting;\r\n\r\n this._stopPromise = new Promise((resolve) => {\r\n // Don't complete stop() until stopConnection() completes.\r\n this._stopPromiseResolver = resolve;\r\n });\r\n\r\n // stopInternal should never throw so just observe it.\r\n await this._stopInternal(error);\r\n await this._stopPromise;\r\n }\r\n\r\n private async _stopInternal(error?: Error): Promise {\r\n // Set error as soon as possible otherwise there is a race between\r\n // the transport closing and providing an error and the error from a close message\r\n // We would prefer the close message error.\r\n this._stopError = error;\r\n\r\n try {\r\n await this._startInternalPromise;\r\n } catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n\r\n // The transport's onclose will trigger stopConnection which will run our onclose event.\r\n // The transport should always be set if currently connected. If it wasn't set, it's likely because\r\n // stop was called during start() and start() failed.\r\n if (this.transport) {\r\n try {\r\n await this.transport.stop();\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.transport.stop() threw error '${e}'.`);\r\n this._stopConnection();\r\n }\r\n\r\n this.transport = undefined;\r\n } else {\r\n this._logger.log(LogLevel.Debug, \"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.\");\r\n }\r\n }\r\n\r\n private async _startInternal(transferFormat: TransferFormat): Promise {\r\n // Store the original base url and the access token factory since they may change\r\n // as part of negotiating\r\n let url = this.baseUrl;\r\n this._accessTokenFactory = this._options.accessTokenFactory;\r\n\r\n try {\r\n if (this._options.skipNegotiation) {\r\n if (this._options.transport === HttpTransportType.WebSockets) {\r\n // No need to add a connection ID in this case\r\n this.transport = this._constructTransport(HttpTransportType.WebSockets);\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n await this._startTransport(url, transferFormat);\r\n } else {\r\n throw new Error(\"Negotiation can only be skipped when using the WebSocket transport directly.\");\r\n }\r\n } else {\r\n let negotiateResponse: INegotiateResponse | null = null;\r\n let redirects = 0;\r\n\r\n do {\r\n negotiateResponse = await this._getNegotiationResponse(url);\r\n // the user tries to stop the connection when it is being started\r\n if (this._connectionState === ConnectionState.Disconnecting || this._connectionState === ConnectionState.Disconnected) {\r\n throw new Error(\"The connection was stopped during negotiation.\");\r\n }\r\n\r\n if (negotiateResponse.error) {\r\n throw new Error(negotiateResponse.error);\r\n }\r\n\r\n if ((negotiateResponse as any).ProtocolVersion) {\r\n throw new Error(\"Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.\");\r\n }\r\n\r\n if (negotiateResponse.url) {\r\n url = negotiateResponse.url;\r\n }\r\n\r\n if (negotiateResponse.accessToken) {\r\n // Replace the current access token factory with one that uses\r\n // the returned access token\r\n const accessToken = negotiateResponse.accessToken;\r\n this._accessTokenFactory = () => accessToken;\r\n }\r\n\r\n redirects++;\r\n }\r\n while (negotiateResponse.url && redirects < MAX_REDIRECTS);\r\n\r\n if (redirects === MAX_REDIRECTS && negotiateResponse.url) {\r\n throw new Error(\"Negotiate redirection limit exceeded.\");\r\n }\r\n\r\n await this._createTransport(url, this._options.transport, negotiateResponse, transferFormat);\r\n }\r\n\r\n if (this.transport instanceof LongPollingTransport) {\r\n this.features.inherentKeepAlive = true;\r\n }\r\n\r\n if (this._connectionState === ConnectionState.Connecting) {\r\n // Ensure the connection transitions to the connected state prior to completing this.startInternalPromise.\r\n // start() will handle the case when stop was called and startInternal exits still in the disconnecting state.\r\n this._logger.log(LogLevel.Debug, \"The HttpConnection connected successfully.\");\r\n this._connectionState = ConnectionState.Connected;\r\n }\r\n\r\n // stop() is waiting on us via this.startInternalPromise so keep this.transport around so it can clean up.\r\n // This is the only case startInternal can exit in neither the connected nor disconnected state because stopConnection()\r\n // will transition to the disconnected state. start() will wait for the transition using the stopPromise.\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, \"Failed to start the connection: \" + e);\r\n this._connectionState = ConnectionState.Disconnected;\r\n this.transport = undefined;\r\n\r\n // if start fails, any active calls to stop assume that start will complete the stop promise\r\n this._stopPromiseResolver();\r\n return Promise.reject(e);\r\n }\r\n }\r\n\r\n private async _getNegotiationResponse(url: string): Promise {\r\n const headers: {[k: string]: string} = {};\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n }\r\n }\r\n\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n\r\n const negotiateUrl = this._resolveNegotiateUrl(url);\r\n this._logger.log(LogLevel.Debug, `Sending negotiation request: ${negotiateUrl}.`);\r\n try {\r\n const response = await this._httpClient.post(negotiateUrl, {\r\n content: \"\",\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n });\r\n\r\n if (response.statusCode !== 200) {\r\n return Promise.reject(new Error(`Unexpected status code returned from negotiate '${response.statusCode}'`));\r\n }\r\n\r\n const negotiateResponse = JSON.parse(response.content as string) as INegotiateResponse;\r\n if (!negotiateResponse.negotiateVersion || negotiateResponse.negotiateVersion < 1) {\r\n // Negotiate version 0 doesn't use connectionToken\r\n // So we set it equal to connectionId so all our logic can use connectionToken without being aware of the negotiate version\r\n negotiateResponse.connectionToken = negotiateResponse.connectionId;\r\n }\r\n return negotiateResponse;\r\n } catch (e) {\r\n let errorMessage = \"Failed to complete negotiation with the server: \" + e;\r\n if (e instanceof HttpError) {\r\n if (e.statusCode === 404) {\r\n errorMessage = errorMessage + \" Either this is not a SignalR endpoint or there is a proxy blocking the connection.\";\r\n }\r\n }\r\n this._logger.log(LogLevel.Error, errorMessage);\r\n\r\n return Promise.reject(new FailedToNegotiateWithServerError(errorMessage));\r\n }\r\n }\r\n\r\n private _createConnectUrl(url: string, connectionToken: string | null | undefined) {\r\n if (!connectionToken) {\r\n return url;\r\n }\r\n\r\n return url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + `id=${connectionToken}`;\r\n }\r\n\r\n private async _createTransport(url: string, requestedTransport: HttpTransportType | ITransport | undefined, negotiateResponse: INegotiateResponse, requestedTransferFormat: TransferFormat): Promise {\r\n let connectUrl = this._createConnectUrl(url, negotiateResponse.connectionToken);\r\n if (this._isITransport(requestedTransport)) {\r\n this._logger.log(LogLevel.Debug, \"Connection was provided an instance of ITransport, using that directly.\");\r\n this.transport = requestedTransport;\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n\r\n this.connectionId = negotiateResponse.connectionId;\r\n return;\r\n }\r\n\r\n const transportExceptions: any[] = [];\r\n const transports = negotiateResponse.availableTransports || [];\r\n let negotiate: INegotiateResponse | undefined = negotiateResponse;\r\n for (const endpoint of transports) {\r\n const transportOrError = this._resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat);\r\n if (transportOrError instanceof Error) {\r\n // Store the error and continue, we don't want to cause a re-negotiate in these cases\r\n transportExceptions.push(`${endpoint.transport} failed:`);\r\n transportExceptions.push(transportOrError);\r\n } else if (this._isITransport(transportOrError)) {\r\n this.transport = transportOrError;\r\n if (!negotiate) {\r\n try {\r\n negotiate = await this._getNegotiationResponse(url);\r\n } catch (ex) {\r\n return Promise.reject(ex);\r\n }\r\n connectUrl = this._createConnectUrl(url, negotiate.connectionToken);\r\n }\r\n try {\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n this.connectionId = negotiate.connectionId;\r\n return;\r\n } catch (ex) {\r\n this._logger.log(LogLevel.Error, `Failed to start the transport '${endpoint.transport}': ${ex}`);\r\n negotiate = undefined;\r\n transportExceptions.push(new FailedToStartTransportError(`${endpoint.transport} failed: ${ex}`, HttpTransportType[endpoint.transport]));\r\n\r\n if (this._connectionState !== ConnectionState.Connecting) {\r\n const message = \"Failed to select transport before stop() was called.\";\r\n this._logger.log(LogLevel.Debug, message);\r\n return Promise.reject(new Error(message));\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (transportExceptions.length > 0) {\r\n return Promise.reject(new AggregateErrors(`Unable to connect to the server with any of the available transports. ${transportExceptions.join(\" \")}`, transportExceptions));\r\n }\r\n return Promise.reject(new Error(\"None of the transports supported by the client are supported by the server.\"));\r\n }\r\n\r\n private _constructTransport(transport: HttpTransportType): ITransport {\r\n switch (transport) {\r\n case HttpTransportType.WebSockets:\r\n if (!this._options.WebSocket) {\r\n throw new Error(\"'WebSocket' is not supported in your environment.\");\r\n }\r\n return new WebSocketTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options.logMessageContent!, this._options.WebSocket, this._options.headers || {});\r\n case HttpTransportType.ServerSentEvents:\r\n if (!this._options.EventSource) {\r\n throw new Error(\"'EventSource' is not supported in your environment.\");\r\n }\r\n return new ServerSentEventsTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options);\r\n case HttpTransportType.LongPolling:\r\n return new LongPollingTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options);\r\n default:\r\n throw new Error(`Unknown transport: ${transport}.`);\r\n }\r\n }\r\n\r\n private _startTransport(url: string, transferFormat: TransferFormat): Promise {\r\n this.transport!.onreceive = this.onreceive;\r\n this.transport!.onclose = (e) => this._stopConnection(e);\r\n return this.transport!.connect(url, transferFormat);\r\n }\r\n\r\n private _resolveTransportOrError(endpoint: IAvailableTransport, requestedTransport: HttpTransportType | undefined, requestedTransferFormat: TransferFormat): ITransport | Error {\r\n const transport = HttpTransportType[endpoint.transport];\r\n if (transport === null || transport === undefined) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n return new Error(`Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n } else {\r\n if (transportMatches(requestedTransport, transport)) {\r\n const transferFormats = endpoint.transferFormats.map((s) => TransferFormat[s]);\r\n if (transferFormats.indexOf(requestedTransferFormat) >= 0) {\r\n if ((transport === HttpTransportType.WebSockets && !this._options.WebSocket) ||\r\n (transport === HttpTransportType.ServerSentEvents && !this._options.EventSource)) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it is not supported in your environment.'`);\r\n return new UnsupportedTransportError(`'${HttpTransportType[transport]}' is not supported in your environment.`, transport);\r\n } else {\r\n this._logger.log(LogLevel.Debug, `Selecting transport '${HttpTransportType[transport]}'.`);\r\n try {\r\n return this._constructTransport(transport);\r\n } catch (ex) {\r\n return ex;\r\n }\r\n }\r\n } else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it does not support the requested transfer format '${TransferFormat[requestedTransferFormat]}'.`);\r\n return new Error(`'${HttpTransportType[transport]}' does not support ${TransferFormat[requestedTransferFormat]}.`);\r\n }\r\n } else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it was disabled by the client.`);\r\n return new DisabledTransportError(`'${HttpTransportType[transport]}' is disabled by the client.`, transport);\r\n }\r\n }\r\n }\r\n\r\n private _isITransport(transport: any): transport is ITransport {\r\n return transport && typeof (transport) === \"object\" && \"connect\" in transport;\r\n }\r\n\r\n private _stopConnection(error?: Error): void {\r\n this._logger.log(LogLevel.Debug, `HttpConnection.stopConnection(${error}) called while in state ${this._connectionState}.`);\r\n\r\n this.transport = undefined;\r\n\r\n // If we have a stopError, it takes precedence over the error from the transport\r\n error = this._stopError || error;\r\n this._stopError = undefined;\r\n\r\n if (this._connectionState === ConnectionState.Disconnected) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is already in the disconnected state.`);\r\n return;\r\n }\r\n\r\n if (this._connectionState === ConnectionState.Connecting) {\r\n this._logger.log(LogLevel.Warning, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is still in the connecting state.`);\r\n throw new Error(`HttpConnection.stopConnection(${error}) was called while the connection is still in the connecting state.`);\r\n }\r\n\r\n if (this._connectionState === ConnectionState.Disconnecting) {\r\n // A call to stop() induced this call to stopConnection and needs to be completed.\r\n // Any stop() awaiters will be scheduled to continue after the onclose callback fires.\r\n this._stopPromiseResolver();\r\n }\r\n\r\n if (error) {\r\n this._logger.log(LogLevel.Error, `Connection disconnected with error '${error}'.`);\r\n } else {\r\n this._logger.log(LogLevel.Information, \"Connection disconnected.\");\r\n }\r\n\r\n if (this._sendQueue) {\r\n this._sendQueue.stop().catch((e) => {\r\n this._logger.log(LogLevel.Error, `TransportSendQueue.stop() threw error '${e}'.`);\r\n });\r\n this._sendQueue = undefined;\r\n }\r\n\r\n this.connectionId = undefined;\r\n this._connectionState = ConnectionState.Disconnected;\r\n\r\n if (this._connectionStarted) {\r\n this._connectionStarted = false;\r\n try {\r\n if (this.onclose) {\r\n this.onclose(error);\r\n }\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.onclose(${error}) threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n\r\n private _resolveUrl(url: string): string {\r\n // startsWith is not supported in IE\r\n if (url.lastIndexOf(\"https://\", 0) === 0 || url.lastIndexOf(\"http://\", 0) === 0) {\r\n return url;\r\n }\r\n\r\n if (!Platform.isBrowser) {\r\n throw new Error(`Cannot resolve '${url}'.`);\r\n }\r\n\r\n // Setting the url to the href propery of an anchor tag handles normalization\r\n // for us. There are 3 main cases.\r\n // 1. Relative path normalization e.g \"b\" -> \"http://localhost:5000/a/b\"\r\n // 2. Absolute path normalization e.g \"/a/b\" -> \"http://localhost:5000/a/b\"\r\n // 3. Networkpath reference normalization e.g \"//localhost:5000/a/b\" -> \"http://localhost:5000/a/b\"\r\n const aTag = window.document.createElement(\"a\");\r\n aTag.href = url;\r\n\r\n this._logger.log(LogLevel.Information, `Normalizing '${url}' to '${aTag.href}'.`);\r\n return aTag.href;\r\n }\r\n\r\n private _resolveNegotiateUrl(url: string): string {\r\n const index = url.indexOf(\"?\");\r\n let negotiateUrl = url.substring(0, index === -1 ? url.length : index);\r\n if (negotiateUrl[negotiateUrl.length - 1] !== \"/\") {\r\n negotiateUrl += \"/\";\r\n }\r\n negotiateUrl += \"negotiate\";\r\n negotiateUrl += index === -1 ? \"\" : url.substring(index);\r\n\r\n if (negotiateUrl.indexOf(\"negotiateVersion\") === -1) {\r\n negotiateUrl += index === -1 ? \"?\" : \"&\";\r\n negotiateUrl += \"negotiateVersion=\" + this._negotiateVersion;\r\n }\r\n return negotiateUrl;\r\n }\r\n}\r\n\r\nfunction transportMatches(requestedTransport: HttpTransportType | undefined, actualTransport: HttpTransportType) {\r\n return !requestedTransport || ((actualTransport & requestedTransport) !== 0);\r\n}\r\n\r\n/** @private */\r\nexport class TransportSendQueue {\r\n private _buffer: any[] = [];\r\n private _sendBufferedData: PromiseSource;\r\n private _executing: boolean = true;\r\n private _transportResult?: PromiseSource;\r\n private _sendLoopPromise: Promise;\r\n\r\n constructor(private readonly _transport: ITransport) {\r\n this._sendBufferedData = new PromiseSource();\r\n this._transportResult = new PromiseSource();\r\n\r\n this._sendLoopPromise = this._sendLoop();\r\n }\r\n\r\n public send(data: string | ArrayBuffer): Promise {\r\n this._bufferData(data);\r\n if (!this._transportResult) {\r\n this._transportResult = new PromiseSource();\r\n }\r\n return this._transportResult.promise;\r\n }\r\n\r\n public stop(): Promise {\r\n this._executing = false;\r\n this._sendBufferedData.resolve();\r\n return this._sendLoopPromise;\r\n }\r\n\r\n private _bufferData(data: string | ArrayBuffer): void {\r\n if (this._buffer.length && typeof(this._buffer[0]) !== typeof(data)) {\r\n throw new Error(`Expected data to be of type ${typeof(this._buffer)} but was of type ${typeof(data)}`);\r\n }\r\n\r\n this._buffer.push(data);\r\n this._sendBufferedData.resolve();\r\n }\r\n\r\n private async _sendLoop(): Promise {\r\n while (true) {\r\n await this._sendBufferedData.promise;\r\n\r\n if (!this._executing) {\r\n if (this._transportResult) {\r\n this._transportResult.reject(\"Connection stopped.\");\r\n }\r\n\r\n break;\r\n }\r\n\r\n this._sendBufferedData = new PromiseSource();\r\n\r\n const transportResult = this._transportResult!;\r\n this._transportResult = undefined;\r\n\r\n const data = typeof(this._buffer[0]) === \"string\" ?\r\n this._buffer.join(\"\") :\r\n TransportSendQueue._concatBuffers(this._buffer);\r\n\r\n this._buffer.length = 0;\r\n\r\n try {\r\n await this._transport.send(data);\r\n transportResult.resolve();\r\n } catch (error) {\r\n transportResult.reject(error);\r\n }\r\n }\r\n }\r\n\r\n private static _concatBuffers(arrayBuffers: ArrayBuffer[]): ArrayBuffer {\r\n const totalLength = arrayBuffers.map((b) => b.byteLength).reduce((a, b) => a + b);\r\n const result = new Uint8Array(totalLength);\r\n let offset = 0;\r\n for (const item of arrayBuffers) {\r\n result.set(new Uint8Array(item), offset);\r\n offset += item.byteLength;\r\n }\r\n\r\n return result.buffer;\r\n }\r\n}\r\n\r\nclass PromiseSource {\r\n private _resolver?: () => void;\r\n private _rejecter!: (reason?: any) => void;\r\n public promise: Promise;\r\n\r\n constructor() {\r\n this.promise = new Promise((resolve, reject) => [this._resolver, this._rejecter] = [resolve, reject]);\r\n }\r\n\r\n public resolve(): void {\r\n this._resolver!();\r\n }\r\n\r\n public reject(reason?: any): void {\r\n this._rejecter!(reason);\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Not exported from index\r\n/** @private */\r\nexport class TextMessageFormat {\r\n public static RecordSeparatorCode = 0x1e;\r\n public static RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode);\r\n\r\n public static write(output: string): string {\r\n return `${output}${TextMessageFormat.RecordSeparator}`;\r\n }\r\n\r\n public static parse(input: string): string[] {\r\n if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n\r\n const messages = input.split(TextMessageFormat.RecordSeparator);\r\n messages.pop();\r\n return messages;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n\r\n/** @private */\r\nexport interface HandshakeRequestMessage {\r\n readonly protocol: string;\r\n readonly version: number;\r\n}\r\n\r\n/** @private */\r\nexport interface HandshakeResponseMessage {\r\n readonly error: string;\r\n readonly minorVersion: number;\r\n}\r\n\r\n/** @private */\r\nexport class HandshakeProtocol {\r\n // Handshake request is always JSON\r\n public writeHandshakeRequest(handshakeRequest: HandshakeRequestMessage): string {\r\n return TextMessageFormat.write(JSON.stringify(handshakeRequest));\r\n }\r\n\r\n public parseHandshakeResponse(data: any): [any, HandshakeResponseMessage] {\r\n let messageData: string;\r\n let remainingData: any;\r\n\r\n if (isArrayBuffer(data)) {\r\n // Format is binary but still need to read JSON text from handshake response\r\n const binaryData = new Uint8Array(data);\r\n const separatorIndex = binaryData.indexOf(TextMessageFormat.RecordSeparatorCode);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = String.fromCharCode.apply(null, Array.prototype.slice.call(binaryData.slice(0, responseLength)));\r\n remainingData = (binaryData.byteLength > responseLength) ? binaryData.slice(responseLength).buffer : null;\r\n } else {\r\n const textData: string = data;\r\n const separatorIndex = textData.indexOf(TextMessageFormat.RecordSeparator);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = textData.substring(0, responseLength);\r\n remainingData = (textData.length > responseLength) ? textData.substring(responseLength) : null;\r\n }\r\n\r\n // At this point we should have just the single handshake message\r\n const messages = TextMessageFormat.parse(messageData);\r\n const response = JSON.parse(messages[0]);\r\n if (response.type) {\r\n throw new Error(\"Expected a handshake response from the server.\");\r\n }\r\n const responseMessage: HandshakeResponseMessage = response;\r\n\r\n // multiple messages could have arrived with handshake\r\n // return additional data to be parsed as usual, or null if all parsed\r\n return [remainingData, responseMessage];\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { ILogger } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\n\r\n/** Defines the type of a Hub Message. */\r\nexport enum MessageType {\r\n /** Indicates the message is an Invocation message and implements the {@link @microsoft/signalr.InvocationMessage} interface. */\r\n Invocation = 1,\r\n /** Indicates the message is a StreamItem message and implements the {@link @microsoft/signalr.StreamItemMessage} interface. */\r\n StreamItem = 2,\r\n /** Indicates the message is a Completion message and implements the {@link @microsoft/signalr.CompletionMessage} interface. */\r\n Completion = 3,\r\n /** Indicates the message is a Stream Invocation message and implements the {@link @microsoft/signalr.StreamInvocationMessage} interface. */\r\n StreamInvocation = 4,\r\n /** Indicates the message is a Cancel Invocation message and implements the {@link @microsoft/signalr.CancelInvocationMessage} interface. */\r\n CancelInvocation = 5,\r\n /** Indicates the message is a Ping message and implements the {@link @microsoft/signalr.PingMessage} interface. */\r\n Ping = 6,\r\n /** Indicates the message is a Close message and implements the {@link @microsoft/signalr.CloseMessage} interface. */\r\n Close = 7,\r\n}\r\n\r\n/** Defines a dictionary of string keys and string values representing headers attached to a Hub message. */\r\nexport interface MessageHeaders {\r\n /** Gets or sets the header with the specified key. */\r\n [key: string]: string;\r\n}\r\n\r\n/** Union type of all known Hub messages. */\r\nexport type HubMessage =\r\n InvocationMessage |\r\n StreamInvocationMessage |\r\n StreamItemMessage |\r\n CompletionMessage |\r\n CancelInvocationMessage |\r\n PingMessage |\r\n CloseMessage;\r\n\r\n/** Defines properties common to all Hub messages. */\r\nexport interface HubMessageBase {\r\n /** A {@link @microsoft/signalr.MessageType} value indicating the type of this message. */\r\n readonly type: MessageType;\r\n}\r\n\r\n/** Defines properties common to all Hub messages relating to a specific invocation. */\r\nexport interface HubInvocationMessage extends HubMessageBase {\r\n /** A {@link @microsoft/signalr.MessageHeaders} dictionary containing headers attached to the message. */\r\n readonly headers?: MessageHeaders;\r\n /** The ID of the invocation relating to this message.\r\n *\r\n * This is expected to be present for {@link @microsoft/signalr.StreamInvocationMessage} and {@link @microsoft/signalr.CompletionMessage}. It may\r\n * be 'undefined' for an {@link @microsoft/signalr.InvocationMessage} if the sender does not expect a response.\r\n */\r\n readonly invocationId?: string;\r\n}\r\n\r\n/** A hub message representing a non-streaming invocation. */\r\nexport interface InvocationMessage extends HubInvocationMessage {\r\n /** @inheritDoc */\r\n readonly type: MessageType.Invocation;\r\n /** The target method name. */\r\n readonly target: string;\r\n /** The target method arguments. */\r\n readonly arguments: any[];\r\n /** The target methods stream IDs. */\r\n readonly streamIds?: string[];\r\n}\r\n\r\n/** A hub message representing a streaming invocation. */\r\nexport interface StreamInvocationMessage extends HubInvocationMessage {\r\n /** @inheritDoc */\r\n readonly type: MessageType.StreamInvocation;\r\n\r\n /** The invocation ID. */\r\n readonly invocationId: string;\r\n /** The target method name. */\r\n readonly target: string;\r\n /** The target method arguments. */\r\n readonly arguments: any[];\r\n /** The target methods stream IDs. */\r\n readonly streamIds?: string[];\r\n}\r\n\r\n/** A hub message representing a single item produced as part of a result stream. */\r\nexport interface StreamItemMessage extends HubInvocationMessage {\r\n /** @inheritDoc */\r\n readonly type: MessageType.StreamItem;\r\n\r\n /** The invocation ID. */\r\n readonly invocationId: string;\r\n\r\n /** The item produced by the server. */\r\n readonly item?: any;\r\n}\r\n\r\n/** A hub message representing the result of an invocation. */\r\nexport interface CompletionMessage extends HubInvocationMessage {\r\n /** @inheritDoc */\r\n readonly type: MessageType.Completion;\r\n /** The invocation ID. */\r\n readonly invocationId: string;\r\n /** The error produced by the invocation, if any.\r\n *\r\n * Either {@link @microsoft/signalr.CompletionMessage.error} or {@link @microsoft/signalr.CompletionMessage.result} must be defined, but not both.\r\n */\r\n readonly error?: string;\r\n /** The result produced by the invocation, if any.\r\n *\r\n * Either {@link @microsoft/signalr.CompletionMessage.error} or {@link @microsoft/signalr.CompletionMessage.result} must be defined, but not both.\r\n */\r\n readonly result?: any;\r\n}\r\n\r\n/** A hub message indicating that the sender is still active. */\r\nexport interface PingMessage extends HubMessageBase {\r\n /** @inheritDoc */\r\n readonly type: MessageType.Ping;\r\n}\r\n\r\n/** A hub message indicating that the sender is closing the connection.\r\n *\r\n * If {@link @microsoft/signalr.CloseMessage.error} is defined, the sender is closing the connection due to an error.\r\n */\r\nexport interface CloseMessage extends HubMessageBase {\r\n /** @inheritDoc */\r\n readonly type: MessageType.Close;\r\n /** The error that triggered the close, if any.\r\n *\r\n * If this property is undefined, the connection was closed normally and without error.\r\n */\r\n readonly error?: string;\r\n\r\n /** If true, clients with automatic reconnects enabled should attempt to reconnect after receiving the CloseMessage. Otherwise, they should not. */\r\n readonly allowReconnect?: boolean;\r\n}\r\n\r\n/** A hub message sent to request that a streaming invocation be canceled. */\r\nexport interface CancelInvocationMessage extends HubInvocationMessage {\r\n /** @inheritDoc */\r\n readonly type: MessageType.CancelInvocation;\r\n /** The invocation ID. */\r\n readonly invocationId: string;\r\n}\r\n\r\n/** A protocol abstraction for communicating with SignalR Hubs. */\r\nexport interface IHubProtocol {\r\n /** The name of the protocol. This is used by SignalR to resolve the protocol between the client and server. */\r\n readonly name: string;\r\n /** The version of the protocol. */\r\n readonly version: number;\r\n /** The {@link @microsoft/signalr.TransferFormat} of the protocol. */\r\n readonly transferFormat: TransferFormat;\r\n\r\n /** Creates an array of {@link @microsoft/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * If {@link @microsoft/signalr.IHubProtocol.transferFormat} is 'Text', the `input` parameter must be a string, otherwise it must be an ArrayBuffer.\r\n *\r\n * @param {string | ArrayBuffer} input A string or ArrayBuffer containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n parseMessages(input: string | ArrayBuffer, logger: ILogger): HubMessage[];\r\n\r\n /** Writes the specified {@link @microsoft/signalr.HubMessage} to a string or ArrayBuffer and returns it.\r\n *\r\n * If {@link @microsoft/signalr.IHubProtocol.transferFormat} is 'Text', the result of this method will be a string, otherwise it will be an ArrayBuffer.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string | ArrayBuffer} A string or ArrayBuffer containing the serialized representation of the message.\r\n */\r\n writeMessage(message: HubMessage): string | ArrayBuffer;\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { IStreamResult, IStreamSubscriber, ISubscription } from \"./Stream\";\r\nimport { SubjectSubscription } from \"./Utils\";\r\n\r\n/** Stream implementation to stream items to the server. */\r\nexport class Subject implements IStreamResult {\r\n /** @internal */\r\n public observers: IStreamSubscriber[];\r\n\r\n /** @internal */\r\n public cancelCallback?: () => Promise;\r\n\r\n constructor() {\r\n this.observers = [];\r\n }\r\n\r\n public next(item: T): void {\r\n for (const observer of this.observers) {\r\n observer.next(item);\r\n }\r\n }\r\n\r\n public error(err: any): void {\r\n for (const observer of this.observers) {\r\n if (observer.error) {\r\n observer.error(err);\r\n }\r\n }\r\n }\r\n\r\n public complete(): void {\r\n for (const observer of this.observers) {\r\n if (observer.complete) {\r\n observer.complete();\r\n }\r\n }\r\n }\r\n\r\n public subscribe(observer: IStreamSubscriber): ISubscription {\r\n this.observers.push(observer);\r\n return new SubjectSubscription(this, observer);\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { HandshakeProtocol, HandshakeRequestMessage, HandshakeResponseMessage } from \"./HandshakeProtocol\";\r\nimport { IConnection } from \"./IConnection\";\r\nimport { CancelInvocationMessage, CompletionMessage, IHubProtocol, InvocationMessage, MessageType, StreamInvocationMessage, StreamItemMessage } from \"./IHubProtocol\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { IRetryPolicy } from \"./IRetryPolicy\";\r\nimport { IStreamResult } from \"./Stream\";\r\nimport { Subject } from \"./Subject\";\r\nimport { Arg, getErrorString, Platform } from \"./Utils\";\r\n\r\nconst DEFAULT_TIMEOUT_IN_MS: number = 30 * 1000;\r\nconst DEFAULT_PING_INTERVAL_IN_MS: number = 15 * 1000;\r\n\r\n/** Describes the current state of the {@link HubConnection} to the server. */\r\nexport enum HubConnectionState {\r\n /** The hub connection is disconnected. */\r\n Disconnected = \"Disconnected\",\r\n /** The hub connection is connecting. */\r\n Connecting = \"Connecting\",\r\n /** The hub connection is connected. */\r\n Connected = \"Connected\",\r\n /** The hub connection is disconnecting. */\r\n Disconnecting = \"Disconnecting\",\r\n /** The hub connection is reconnecting. */\r\n Reconnecting = \"Reconnecting\",\r\n}\r\n\r\n/** Represents a connection to a SignalR Hub. */\r\nexport class HubConnection {\r\n private readonly _cachedPingMessage: string | ArrayBuffer;\r\n // Needs to not start with _ for tests\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private readonly connection: IConnection;\r\n private readonly _logger: ILogger;\r\n private readonly _reconnectPolicy?: IRetryPolicy;\r\n private _protocol: IHubProtocol;\r\n private _handshakeProtocol: HandshakeProtocol;\r\n private _callbacks: { [invocationId: string]: (invocationEvent: StreamItemMessage | CompletionMessage | null, error?: Error) => void };\r\n private _methods: { [name: string]: ((...args: any[]) => void)[] };\r\n private _invocationId: number;\r\n\r\n private _closedCallbacks: ((error?: Error) => void)[];\r\n private _reconnectingCallbacks: ((error?: Error) => void)[];\r\n private _reconnectedCallbacks: ((connectionId?: string) => void)[];\r\n\r\n private _receivedHandshakeResponse: boolean;\r\n private _handshakeResolver!: (value?: PromiseLike<{}>) => void;\r\n private _handshakeRejecter!: (reason?: any) => void;\r\n private _stopDuringStartError?: Error;\r\n\r\n private _connectionState: HubConnectionState;\r\n // connectionStarted is tracked independently from connectionState, so we can check if the\r\n // connection ever did successfully transition from connecting to connected before disconnecting.\r\n private _connectionStarted: boolean;\r\n private _startPromise?: Promise;\r\n private _stopPromise?: Promise;\r\n private _nextKeepAlive: number = 0;\r\n\r\n // The type of these a) doesn't matter and b) varies when building in browser and node contexts\r\n // Since we're building the WebPack bundle directly from the TypeScript, this matters (previously\r\n // we built the bundle from the compiled JavaScript).\r\n private _reconnectDelayHandle?: any;\r\n private _timeoutHandle?: any;\r\n private _pingServerHandle?: any;\r\n\r\n private _freezeEventListener = () =>\r\n {\r\n this._logger.log(LogLevel.Warning, \"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep\");\r\n };\r\n\r\n /** The server timeout in milliseconds.\r\n *\r\n * If this timeout elapses without receiving any messages from the server, the connection will be terminated with an error.\r\n * The default timeout value is 30,000 milliseconds (30 seconds).\r\n */\r\n public serverTimeoutInMilliseconds: number;\r\n\r\n /** Default interval at which to ping the server.\r\n *\r\n * The default value is 15,000 milliseconds (15 seconds).\r\n * Allows the server to detect hard disconnects (like when a client unplugs their computer).\r\n * The ping will happen at most as often as the server pings.\r\n * If the server pings every 5 seconds, a value lower than 5 will ping every 5 seconds.\r\n */\r\n public keepAliveIntervalInMilliseconds: number;\r\n\r\n /** @internal */\r\n // Using a public static factory method means we can have a private constructor and an _internal_\r\n // create method that can be used by HubConnectionBuilder. An \"internal\" constructor would just\r\n // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a\r\n // public parameter-less constructor.\r\n public static create(connection: IConnection, logger: ILogger, protocol: IHubProtocol, reconnectPolicy?: IRetryPolicy): HubConnection {\r\n return new HubConnection(connection, logger, protocol, reconnectPolicy);\r\n }\r\n\r\n private constructor(connection: IConnection, logger: ILogger, protocol: IHubProtocol, reconnectPolicy?: IRetryPolicy) {\r\n Arg.isRequired(connection, \"connection\");\r\n Arg.isRequired(logger, \"logger\");\r\n Arg.isRequired(protocol, \"protocol\");\r\n\r\n this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;\r\n this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;\r\n\r\n this._logger = logger;\r\n this._protocol = protocol;\r\n this.connection = connection;\r\n this._reconnectPolicy = reconnectPolicy;\r\n this._handshakeProtocol = new HandshakeProtocol();\r\n\r\n this.connection.onreceive = (data: any) => this._processIncomingData(data);\r\n this.connection.onclose = (error?: Error) => this._connectionClosed(error);\r\n\r\n this._callbacks = {};\r\n this._methods = {};\r\n this._closedCallbacks = [];\r\n this._reconnectingCallbacks = [];\r\n this._reconnectedCallbacks = [];\r\n this._invocationId = 0;\r\n this._receivedHandshakeResponse = false;\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n\r\n this._cachedPingMessage = this._protocol.writeMessage({ type: MessageType.Ping });\r\n }\r\n\r\n /** Indicates the state of the {@link HubConnection} to the server. */\r\n get state(): HubConnectionState {\r\n return this._connectionState;\r\n }\r\n\r\n /** Represents the connection id of the {@link HubConnection} on the server. The connection id will be null when the connection is either\r\n * in the disconnected state or if the negotiation step was skipped.\r\n */\r\n get connectionId(): string | null {\r\n return this.connection ? (this.connection.connectionId || null) : null;\r\n }\r\n\r\n /** Indicates the url of the {@link HubConnection} to the server. */\r\n get baseUrl(): string {\r\n return this.connection.baseUrl || \"\";\r\n }\r\n\r\n /**\r\n * Sets a new url for the HubConnection. Note that the url can only be changed when the connection is in either the Disconnected or\r\n * Reconnecting states.\r\n * @param {string} url The url to connect to.\r\n */\r\n set baseUrl(url: string) {\r\n if (this._connectionState !== HubConnectionState.Disconnected && this._connectionState !== HubConnectionState.Reconnecting) {\r\n throw new Error(\"The HubConnection must be in the Disconnected or Reconnecting state to change the url.\");\r\n }\r\n\r\n if (!url) {\r\n throw new Error(\"The HubConnection url must be a valid url.\");\r\n }\r\n\r\n this.connection.baseUrl = url;\r\n }\r\n\r\n /** Starts the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error.\r\n */\r\n public start(): Promise {\r\n this._startPromise = this._startWithStateTransitions();\r\n return this._startPromise;\r\n }\r\n\r\n private async _startWithStateTransitions(): Promise {\r\n if (this._connectionState !== HubConnectionState.Disconnected) {\r\n return Promise.reject(new Error(\"Cannot start a HubConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n\r\n this._connectionState = HubConnectionState.Connecting;\r\n this._logger.log(LogLevel.Debug, \"Starting HubConnection.\");\r\n\r\n try {\r\n await this._startInternal();\r\n\r\n if (Platform.isBrowser) {\r\n // Log when the browser freezes the tab so users know why their connection unexpectedly stopped working\r\n window.document.addEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n\r\n this._connectionState = HubConnectionState.Connected;\r\n this._connectionStarted = true;\r\n this._logger.log(LogLevel.Debug, \"HubConnection connected successfully.\");\r\n } catch (e) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._logger.log(LogLevel.Debug, `HubConnection failed to start successfully because of error '${e}'.`);\r\n return Promise.reject(e);\r\n }\r\n }\r\n\r\n private async _startInternal() {\r\n this._stopDuringStartError = undefined;\r\n this._receivedHandshakeResponse = false;\r\n // Set up the promise before any connection is (re)started otherwise it could race with received messages\r\n const handshakePromise = new Promise((resolve, reject) => {\r\n this._handshakeResolver = resolve;\r\n this._handshakeRejecter = reject;\r\n });\r\n\r\n await this.connection.start(this._protocol.transferFormat);\r\n\r\n try {\r\n const handshakeRequest: HandshakeRequestMessage = {\r\n protocol: this._protocol.name,\r\n version: this._protocol.version,\r\n };\r\n\r\n this._logger.log(LogLevel.Debug, \"Sending handshake request.\");\r\n\r\n await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(handshakeRequest));\r\n\r\n this._logger.log(LogLevel.Information, `Using HubProtocol '${this._protocol.name}'.`);\r\n\r\n // defensively cleanup timeout in case we receive a message from the server before we finish start\r\n this._cleanupTimeout();\r\n this._resetTimeoutPeriod();\r\n this._resetKeepAliveInterval();\r\n\r\n await handshakePromise;\r\n\r\n // It's important to check the stopDuringStartError instead of just relying on the handshakePromise\r\n // being rejected on close, because this continuation can run after both the handshake completed successfully\r\n // and the connection was closed.\r\n if (this._stopDuringStartError) {\r\n // It's important to throw instead of returning a rejected promise, because we don't want to allow any state\r\n // transitions to occur between now and the calling code observing the exceptions. Returning a rejected promise\r\n // will cause the calling continuation to get scheduled to run later.\r\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\r\n throw this._stopDuringStartError;\r\n }\r\n } catch (e) {\r\n this._logger.log(LogLevel.Debug, `Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`);\r\n\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n\r\n // HttpConnection.stop() should not complete until after the onclose callback is invoked.\r\n // This will transition the HubConnection to the disconnected state before HttpConnection.stop() completes.\r\n await this.connection.stop(e);\r\n throw e;\r\n }\r\n }\r\n\r\n /** Stops the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error.\r\n */\r\n public async stop(): Promise {\r\n // Capture the start promise before the connection might be restarted in an onclose callback.\r\n const startPromise = this._startPromise;\r\n\r\n this._stopPromise = this._stopInternal();\r\n await this._stopPromise;\r\n\r\n try {\r\n // Awaiting undefined continues immediately\r\n await startPromise;\r\n } catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n }\r\n\r\n private _stopInternal(error?: Error): Promise {\r\n if (this._connectionState === HubConnectionState.Disconnected) {\r\n this._logger.log(LogLevel.Debug, `Call to HubConnection.stop(${error}) ignored because it is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise!;\r\n }\r\n\r\n this._connectionState = HubConnectionState.Disconnecting;\r\n\r\n this._logger.log(LogLevel.Debug, \"Stopping HubConnection.\");\r\n\r\n if (this._reconnectDelayHandle) {\r\n // We're in a reconnect delay which means the underlying connection is currently already stopped.\r\n // Just clear the handle to stop the reconnect loop (which no one is waiting on thankfully) and\r\n // fire the onclose callbacks.\r\n this._logger.log(LogLevel.Debug, \"Connection stopped during reconnect delay. Done reconnecting.\");\r\n\r\n clearTimeout(this._reconnectDelayHandle);\r\n this._reconnectDelayHandle = undefined;\r\n\r\n this._completeClose();\r\n return Promise.resolve();\r\n }\r\n\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n this._stopDuringStartError = error || new Error(\"The connection was stopped before the hub handshake could complete.\");\r\n\r\n // HttpConnection.stop() should not complete until after either HttpConnection.start() fails\r\n // or the onclose callback is invoked. The onclose callback will transition the HubConnection\r\n // to the disconnected state if need be before HttpConnection.stop() completes.\r\n return this.connection.stop(error);\r\n }\r\n\r\n /** Invokes a streaming hub method on the server using the specified name and arguments.\r\n *\r\n * @typeparam T The type of the items returned by the server.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {IStreamResult} An object that yields results from the server as they are received.\r\n */\r\n public stream(methodName: string, ...args: any[]): IStreamResult {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createStreamInvocation(methodName, args, streamIds);\r\n\r\n // eslint-disable-next-line prefer-const\r\n let promiseQueue: Promise;\r\n\r\n const subject = new Subject();\r\n subject.cancelCallback = () => {\r\n const cancelInvocation: CancelInvocationMessage = this._createCancelInvocation(invocationDescriptor.invocationId);\r\n\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n\r\n return promiseQueue.then(() => {\r\n return this._sendWithProtocol(cancelInvocation);\r\n });\r\n };\r\n\r\n this._callbacks[invocationDescriptor.invocationId] = (invocationEvent: CompletionMessage | StreamItemMessage | null, error?: Error) => {\r\n if (error) {\r\n subject.error(error);\r\n return;\r\n } else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n subject.error(new Error(invocationEvent.error));\r\n } else {\r\n subject.complete();\r\n }\r\n } else {\r\n subject.next((invocationEvent.item) as T);\r\n }\r\n }\r\n };\r\n\r\n promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n subject.error(e);\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n });\r\n\r\n this._launchStreams(streams, promiseQueue);\r\n\r\n return subject;\r\n }\r\n\r\n private _sendMessage(message: any) {\r\n this._resetKeepAliveInterval();\r\n return this.connection.send(message);\r\n }\r\n\r\n /**\r\n * Sends a js object to the server.\r\n * @param message The js object to serialize and send.\r\n */\r\n private _sendWithProtocol(message: any) {\r\n return this._sendMessage(this._protocol.writeMessage(message));\r\n }\r\n\r\n /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver.\r\n *\r\n * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still\r\n * be processing the invocation.\r\n *\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error.\r\n */\r\n public send(methodName: string, ...args: any[]): Promise {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const sendPromise = this._sendWithProtocol(this._createInvocation(methodName, args, true, streamIds));\r\n\r\n this._launchStreams(streams, sendPromise);\r\n\r\n return sendPromise;\r\n }\r\n\r\n /** Invokes a hub method on the server using the specified name and arguments.\r\n *\r\n * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise\r\n * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of\r\n * resolving the Promise.\r\n *\r\n * @typeparam T The expected return type.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error.\r\n */\r\n public invoke(methodName: string, ...args: any[]): Promise {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createInvocation(methodName, args, false, streamIds);\r\n\r\n const p = new Promise((resolve, reject) => {\r\n // invocationId will always have a value for a non-blocking invocation\r\n this._callbacks[invocationDescriptor.invocationId!] = (invocationEvent: StreamItemMessage | CompletionMessage | null, error?: Error) => {\r\n if (error) {\r\n reject(error);\r\n return;\r\n } else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n reject(new Error(invocationEvent.error));\r\n } else {\r\n resolve(invocationEvent.result);\r\n }\r\n } else {\r\n reject(new Error(`Unexpected message type: ${invocationEvent.type}`));\r\n }\r\n }\r\n };\r\n\r\n const promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n reject(e);\r\n // invocationId will always have a value for a non-blocking invocation\r\n delete this._callbacks[invocationDescriptor.invocationId!];\r\n });\r\n\r\n this._launchStreams(streams, promiseQueue);\r\n });\r\n\r\n return p;\r\n }\r\n\r\n /** Registers a handler that will be invoked when the hub method with the specified method name is invoked.\r\n *\r\n * @param {string} methodName The name of the hub method to define.\r\n * @param {Function} newMethod The handler that will be raised when the hub method is invoked.\r\n */\r\n public on(methodName: string, newMethod: (...args: any[]) => void): void {\r\n if (!methodName || !newMethod) {\r\n return;\r\n }\r\n\r\n methodName = methodName.toLowerCase();\r\n if (!this._methods[methodName]) {\r\n this._methods[methodName] = [];\r\n }\r\n\r\n // Preventing adding the same handler multiple times.\r\n if (this._methods[methodName].indexOf(newMethod) !== -1) {\r\n return;\r\n }\r\n\r\n this._methods[methodName].push(newMethod);\r\n }\r\n\r\n /** Removes all handlers for the specified hub method.\r\n *\r\n * @param {string} methodName The name of the method to remove handlers for.\r\n */\r\n public off(methodName: string): void;\r\n\r\n /** Removes the specified handler for the specified hub method.\r\n *\r\n * You must pass the exact same Function instance as was previously passed to {@link @microsoft/signalr.HubConnection.on}. Passing a different instance (even if the function\r\n * body is the same) will not remove the handler.\r\n *\r\n * @param {string} methodName The name of the method to remove handlers for.\r\n * @param {Function} method The handler to remove. This must be the same Function instance as the one passed to {@link @microsoft/signalr.HubConnection.on}.\r\n */\r\n public off(methodName: string, method: (...args: any[]) => void): void;\r\n public off(methodName: string, method?: (...args: any[]) => void): void {\r\n if (!methodName) {\r\n return;\r\n }\r\n\r\n methodName = methodName.toLowerCase();\r\n const handlers = this._methods[methodName];\r\n if (!handlers) {\r\n return;\r\n }\r\n if (method) {\r\n const removeIdx = handlers.indexOf(method);\r\n if (removeIdx !== -1) {\r\n handlers.splice(removeIdx, 1);\r\n if (handlers.length === 0) {\r\n delete this._methods[methodName];\r\n }\r\n }\r\n } else {\r\n delete this._methods[methodName];\r\n }\r\n\r\n }\r\n\r\n /** Registers a handler that will be invoked when the connection is closed.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any).\r\n */\r\n public onclose(callback: (error?: Error) => void): void {\r\n if (callback) {\r\n this._closedCallbacks.push(callback);\r\n }\r\n }\r\n\r\n /** Registers a handler that will be invoked when the connection starts reconnecting.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection starts reconnecting. Optionally receives a single argument containing the error that caused the connection to start reconnecting (if any).\r\n */\r\n public onreconnecting(callback: (error?: Error) => void): void {\r\n if (callback) {\r\n this._reconnectingCallbacks.push(callback);\r\n }\r\n }\r\n\r\n /** Registers a handler that will be invoked when the connection successfully reconnects.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection successfully reconnects.\r\n */\r\n public onreconnected(callback: (connectionId?: string) => void): void {\r\n if (callback) {\r\n this._reconnectedCallbacks.push(callback);\r\n }\r\n }\r\n\r\n private _processIncomingData(data: any) {\r\n this._cleanupTimeout();\r\n\r\n if (!this._receivedHandshakeResponse) {\r\n data = this._processHandshakeResponse(data);\r\n this._receivedHandshakeResponse = true;\r\n }\r\n\r\n // Data may have all been read when processing handshake response\r\n if (data) {\r\n // Parse the messages\r\n const messages = this._protocol.parseMessages(data, this._logger);\r\n\r\n for (const message of messages) {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n this._invokeClientMethod(message);\r\n break;\r\n case MessageType.StreamItem:\r\n case MessageType.Completion: {\r\n const callback = this._callbacks[message.invocationId];\r\n if (callback) {\r\n if (message.type === MessageType.Completion) {\r\n delete this._callbacks[message.invocationId];\r\n }\r\n try {\r\n callback(message);\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream callback threw error: ${getErrorString(e)}`);\r\n }\r\n }\r\n break;\r\n }\r\n case MessageType.Ping:\r\n // Don't care about pings\r\n break;\r\n case MessageType.Close: {\r\n this._logger.log(LogLevel.Information, \"Close message received from server.\");\r\n\r\n const error = message.error ? new Error(\"Server returned an error on close: \" + message.error) : undefined;\r\n\r\n if (message.allowReconnect === true) {\r\n // It feels wrong not to await connection.stop() here, but processIncomingData is called as part of an onreceive callback which is not async,\r\n // this is already the behavior for serverTimeout(), and HttpConnection.Stop() should catch and log all possible exceptions.\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(error);\r\n } else {\r\n // We cannot await stopInternal() here, but subsequent calls to stop() will await this if stopInternal() is still ongoing.\r\n this._stopPromise = this._stopInternal(error);\r\n }\r\n\r\n break;\r\n }\r\n default:\r\n this._logger.log(LogLevel.Warning, `Invalid message type: ${message.type}.`);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this._resetTimeoutPeriod();\r\n }\r\n\r\n private _processHandshakeResponse(data: any): any {\r\n let responseMessage: HandshakeResponseMessage;\r\n let remainingData: any;\r\n\r\n try {\r\n [remainingData, responseMessage] = this._handshakeProtocol.parseHandshakeResponse(data);\r\n } catch (e) {\r\n const message = \"Error parsing handshake response: \" + e;\r\n this._logger.log(LogLevel.Error, message);\r\n\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n }\r\n if (responseMessage.error) {\r\n const message = \"Server returned handshake error: \" + responseMessage.error;\r\n this._logger.log(LogLevel.Error, message);\r\n\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n } else {\r\n this._logger.log(LogLevel.Debug, \"Server handshake complete.\");\r\n }\r\n\r\n this._handshakeResolver();\r\n return remainingData;\r\n }\r\n\r\n private _resetKeepAliveInterval() {\r\n if (this.connection.features.inherentKeepAlive) {\r\n return;\r\n }\r\n\r\n // Set the time we want the next keep alive to be sent\r\n // Timer will be setup on next message receive\r\n this._nextKeepAlive = new Date().getTime() + this.keepAliveIntervalInMilliseconds;\r\n\r\n this._cleanupPingTimer();\r\n }\r\n\r\n private _resetTimeoutPeriod() {\r\n if (!this.connection.features || !this.connection.features.inherentKeepAlive) {\r\n // Set the timeout timer\r\n this._timeoutHandle = setTimeout(() => this.serverTimeout(), this.serverTimeoutInMilliseconds);\r\n\r\n // Set keepAlive timer if there isn't one\r\n if (this._pingServerHandle === undefined)\r\n {\r\n let nextPing = this._nextKeepAlive - new Date().getTime();\r\n if (nextPing < 0) {\r\n nextPing = 0;\r\n }\r\n\r\n // The timer needs to be set from a networking callback to avoid Chrome timer throttling from causing timers to run once a minute\r\n this._pingServerHandle = setTimeout(async () => {\r\n if (this._connectionState === HubConnectionState.Connected) {\r\n try {\r\n await this._sendMessage(this._cachedPingMessage);\r\n } catch {\r\n // We don't care about the error. It should be seen elsewhere in the client.\r\n // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering\r\n this._cleanupPingTimer();\r\n }\r\n }\r\n }, nextPing);\r\n }\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private serverTimeout() {\r\n // The server hasn't talked to us in a while. It doesn't like us anymore ... :(\r\n // Terminate the connection, but we don't need to wait on the promise. This could trigger reconnecting.\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(new Error(\"Server timeout elapsed without receiving a message from the server.\"));\r\n }\r\n\r\n private _invokeClientMethod(invocationMessage: InvocationMessage) {\r\n const methods = this._methods[invocationMessage.target.toLowerCase()];\r\n if (methods) {\r\n try {\r\n methods.forEach((m) => m.apply(this, invocationMessage.arguments));\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `A callback for the method ${invocationMessage.target.toLowerCase()} threw error '${e}'.`);\r\n }\r\n\r\n if (invocationMessage.invocationId) {\r\n // This is not supported in v1. So we return an error to avoid blocking the server waiting for the response.\r\n const message = \"Server requested a response, which is not supported in this version of the client.\";\r\n this._logger.log(LogLevel.Error, message);\r\n\r\n // We don't want to wait on the stop itself.\r\n this._stopPromise = this._stopInternal(new Error(message));\r\n }\r\n } else {\r\n this._logger.log(LogLevel.Warning, `No client method with the name '${invocationMessage.target}' found.`);\r\n }\r\n }\r\n\r\n private _connectionClosed(error?: Error) {\r\n this._logger.log(LogLevel.Debug, `HubConnection.connectionClosed(${error}) called while in state ${this._connectionState}.`);\r\n\r\n // Triggering this.handshakeRejecter is insufficient because it could already be resolved without the continuation having run yet.\r\n this._stopDuringStartError = this._stopDuringStartError || error || new Error(\"The underlying connection was closed before the hub handshake could complete.\");\r\n\r\n // If the handshake is in progress, start will be waiting for the handshake promise, so we complete it.\r\n // If it has already completed, this should just noop.\r\n if (this._handshakeResolver) {\r\n this._handshakeResolver();\r\n }\r\n\r\n this._cancelCallbacksWithError(error || new Error(\"Invocation canceled due to the underlying connection being closed.\"));\r\n\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._completeClose(error);\r\n } else if (this._connectionState === HubConnectionState.Connected && this._reconnectPolicy) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._reconnect(error);\r\n } else if (this._connectionState === HubConnectionState.Connected) {\r\n this._completeClose(error);\r\n }\r\n\r\n // If none of the above if conditions were true were called the HubConnection must be in either:\r\n // 1. The Connecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail it.\r\n // 2. The Reconnecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail the current reconnect attempt\r\n // and potentially continue the reconnect() loop.\r\n // 3. The Disconnected state in which case we're already done.\r\n }\r\n\r\n private _completeClose(error?: Error) {\r\n if (this._connectionStarted) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n\r\n if (Platform.isBrowser) {\r\n window.document.removeEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n\r\n try {\r\n this._closedCallbacks.forEach((c) => c.apply(this, [error]));\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `An onclose callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n\r\n private async _reconnect(error?: Error) {\r\n const reconnectStartTime = Date.now();\r\n let previousReconnectAttempts = 0;\r\n let retryError = error !== undefined ? error : new Error(\"Attempting to reconnect due to a unknown error.\");\r\n\r\n let nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, 0, retryError);\r\n\r\n if (nextRetryDelay === null) {\r\n this._logger.log(LogLevel.Debug, \"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.\");\r\n this._completeClose(error);\r\n return;\r\n }\r\n\r\n this._connectionState = HubConnectionState.Reconnecting;\r\n\r\n if (error) {\r\n this._logger.log(LogLevel.Information, `Connection reconnecting because of error '${error}'.`);\r\n } else {\r\n this._logger.log(LogLevel.Information, \"Connection reconnecting.\");\r\n }\r\n\r\n if (this._reconnectingCallbacks.length !== 0) {\r\n try {\r\n this._reconnectingCallbacks.forEach((c) => c.apply(this, [error]));\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnecting callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n\r\n // Exit early if an onreconnecting callback called connection.stop().\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.\");\r\n return;\r\n }\r\n }\r\n\r\n while (nextRetryDelay !== null) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt number ${previousReconnectAttempts} will start in ${nextRetryDelay} ms.`);\r\n\r\n await new Promise((resolve) => {\r\n this._reconnectDelayHandle = setTimeout(resolve, nextRetryDelay!);\r\n });\r\n this._reconnectDelayHandle = undefined;\r\n\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state during reconnect delay. Done reconnecting.\");\r\n return;\r\n }\r\n\r\n try {\r\n await this._startInternal();\r\n\r\n this._connectionState = HubConnectionState.Connected;\r\n this._logger.log(LogLevel.Information, \"HubConnection reconnected successfully.\");\r\n\r\n if (this._reconnectedCallbacks.length !== 0) {\r\n try {\r\n this._reconnectedCallbacks.forEach((c) => c.apply(this, [this.connection.connectionId]));\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`);\r\n }\r\n }\r\n\r\n return;\r\n } catch (e) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt failed because of error '${e}'.`);\r\n\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, `Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`);\r\n // The TypeScript compiler thinks that connectionState must be Connected here. The TypeScript compiler is wrong.\r\n if (this._connectionState as any === HubConnectionState.Disconnecting) {\r\n this._completeClose();\r\n }\r\n return;\r\n }\r\n\r\n retryError = e instanceof Error ? e : new Error(e.toString());\r\n nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, Date.now() - reconnectStartTime, retryError);\r\n }\r\n }\r\n\r\n this._logger.log(LogLevel.Information, `Reconnect retries have been exhausted after ${Date.now() - reconnectStartTime} ms and ${previousReconnectAttempts} failed attempts. Connection disconnecting.`);\r\n\r\n this._completeClose();\r\n }\r\n\r\n private _getNextRetryDelay(previousRetryCount: number, elapsedMilliseconds: number, retryReason: Error) {\r\n try {\r\n return this._reconnectPolicy!.nextRetryDelayInMilliseconds({\r\n elapsedMilliseconds,\r\n previousRetryCount,\r\n retryReason,\r\n });\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `IRetryPolicy.nextRetryDelayInMilliseconds(${previousRetryCount}, ${elapsedMilliseconds}) threw error '${e}'.`);\r\n return null;\r\n }\r\n }\r\n\r\n private _cancelCallbacksWithError(error: Error) {\r\n const callbacks = this._callbacks;\r\n this._callbacks = {};\r\n\r\n Object.keys(callbacks)\r\n .forEach((key) => {\r\n const callback = callbacks[key];\r\n try {\r\n callback(null, error);\r\n } catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream 'error' callback called with '${error}' threw error: ${getErrorString(e)}`);\r\n }\r\n });\r\n }\r\n\r\n private _cleanupPingTimer(): void {\r\n if (this._pingServerHandle) {\r\n clearTimeout(this._pingServerHandle);\r\n this._pingServerHandle = undefined;\r\n }\r\n }\r\n\r\n private _cleanupTimeout(): void {\r\n if (this._timeoutHandle) {\r\n clearTimeout(this._timeoutHandle);\r\n }\r\n }\r\n\r\n private _createInvocation(methodName: string, args: any[], nonblocking: boolean, streamIds: string[]): InvocationMessage {\r\n if (nonblocking) {\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n } else {\r\n return {\r\n arguments: args,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n } else {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n } else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n }\r\n }\r\n\r\n private _launchStreams(streams: IStreamResult[], promiseQueue: Promise): void {\r\n if (streams.length === 0) {\r\n return;\r\n }\r\n\r\n // Synchronize stream data so they arrive in-order on the server\r\n if (!promiseQueue) {\r\n promiseQueue = Promise.resolve();\r\n }\r\n\r\n // We want to iterate over the keys, since the keys are the stream ids\r\n // eslint-disable-next-line guard-for-in\r\n for (const streamId in streams) {\r\n streams[streamId].subscribe({\r\n complete: () => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId)));\r\n },\r\n error: (err) => {\r\n let message: string;\r\n if (err instanceof Error) {\r\n message = err.message;\r\n } else if (err && err.toString) {\r\n message = err.toString();\r\n } else {\r\n message = \"Unknown error\";\r\n }\r\n\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId, message)));\r\n },\r\n next: (item) => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createStreamItemMessage(streamId, item)));\r\n },\r\n });\r\n }\r\n }\r\n\r\n private _replaceStreamingParams(args: any[]): [IStreamResult[], string[]] {\r\n const streams: IStreamResult[] = [];\r\n const streamIds: string[] = [];\r\n for (let i = 0; i < args.length; i++) {\r\n const argument = args[i];\r\n if (this._isObservable(argument)) {\r\n const streamId = this._invocationId;\r\n this._invocationId++;\r\n // Store the stream for later use\r\n streams[streamId] = argument;\r\n streamIds.push(streamId.toString());\r\n\r\n // remove stream from args\r\n args.splice(i, 1);\r\n }\r\n }\r\n\r\n return [streams, streamIds];\r\n }\r\n\r\n private _isObservable(arg: any): arg is IStreamResult {\r\n // This allows other stream implementations to just work (like rxjs)\r\n return arg && arg.subscribe && typeof arg.subscribe === \"function\";\r\n }\r\n\r\n private _createStreamInvocation(methodName: string, args: any[], streamIds: string[]): StreamInvocationMessage {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n } else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n }\r\n }\r\n\r\n private _createCancelInvocation(id: string): CancelInvocationMessage {\r\n return {\r\n invocationId: id,\r\n type: MessageType.CancelInvocation,\r\n };\r\n }\r\n\r\n private _createStreamItemMessage(id: string, item: any): StreamItemMessage {\r\n return {\r\n invocationId: id,\r\n item,\r\n type: MessageType.StreamItem,\r\n };\r\n }\r\n\r\n private _createCompletionMessage(id: string, error?: any, result?: any): CompletionMessage {\r\n if (error) {\r\n return {\r\n error,\r\n invocationId: id,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n\r\n return {\r\n invocationId: id,\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { CompletionMessage, HubMessage, IHubProtocol, InvocationMessage, MessageType, StreamItemMessage } from \"./IHubProtocol\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\n\r\nconst JSON_HUB_PROTOCOL_NAME: string = \"json\";\r\n\r\n/** Implements the JSON Hub Protocol. */\r\nexport class JsonHubProtocol implements IHubProtocol {\r\n\r\n /** @inheritDoc */\r\n public readonly name: string = JSON_HUB_PROTOCOL_NAME;\r\n /** @inheritDoc */\r\n public readonly version: number = 1;\r\n\r\n /** @inheritDoc */\r\n public readonly transferFormat: TransferFormat = TransferFormat.Text;\r\n\r\n /** Creates an array of {@link @microsoft/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * @param {string} input A string containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n public parseMessages(input: string, logger: ILogger): HubMessage[] {\r\n // The interface does allow \"ArrayBuffer\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (typeof input !== \"string\") {\r\n throw new Error(\"Invalid input for JSON hub protocol. Expected a string.\");\r\n }\r\n\r\n if (!input) {\r\n return [];\r\n }\r\n\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n\r\n // Parse the messages\r\n const messages = TextMessageFormat.parse(input);\r\n\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = JSON.parse(message) as HubMessage;\r\n if (typeof parsedMessage.type !== \"number\") {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n switch (parsedMessage.type) {\r\n case MessageType.Invocation:\r\n this._isInvocationMessage(parsedMessage);\r\n break;\r\n case MessageType.StreamItem:\r\n this._isStreamItemMessage(parsedMessage);\r\n break;\r\n case MessageType.Completion:\r\n this._isCompletionMessage(parsedMessage);\r\n break;\r\n case MessageType.Ping:\r\n // Single value, no need to validate\r\n break;\r\n case MessageType.Close:\r\n // All optional values, no need to validate\r\n break;\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + parsedMessage.type + \"' ignored.\");\r\n continue;\r\n }\r\n hubMessages.push(parsedMessage);\r\n }\r\n\r\n return hubMessages;\r\n }\r\n\r\n /** Writes the specified {@link @microsoft/signalr.HubMessage} to a string and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string} A string containing the serialized representation of the message.\r\n */\r\n public writeMessage(message: HubMessage): string {\r\n return TextMessageFormat.write(JSON.stringify(message));\r\n }\r\n\r\n private _isInvocationMessage(message: InvocationMessage): void {\r\n this._assertNotEmptyString(message.target, \"Invalid payload for Invocation message.\");\r\n\r\n if (message.invocationId !== undefined) {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Invocation message.\");\r\n }\r\n }\r\n\r\n private _isStreamItemMessage(message: StreamItemMessage): void {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for StreamItem message.\");\r\n\r\n if (message.item === undefined) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n }\r\n\r\n private _isCompletionMessage(message: CompletionMessage): void {\r\n if (message.result && message.error) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n if (!message.result && message.error) {\r\n this._assertNotEmptyString(message.error, \"Invalid payload for Completion message.\");\r\n }\r\n\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Completion message.\");\r\n }\r\n\r\n private _assertNotEmptyString(value: any, errorMessage: string): void {\r\n if (typeof value !== \"string\" || value === \"\") {\r\n throw new Error(errorMessage);\r\n }\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { DefaultReconnectPolicy } from \"./DefaultReconnectPolicy\";\r\nimport { HttpConnection } from \"./HttpConnection\";\r\nimport { HubConnection } from \"./HubConnection\";\r\nimport { IHttpConnectionOptions } from \"./IHttpConnectionOptions\";\r\nimport { IHubProtocol } from \"./IHubProtocol\";\r\nimport { ILogger, LogLevel } from \"./ILogger\";\r\nimport { IRetryPolicy } from \"./IRetryPolicy\";\r\nimport { HttpTransportType } from \"./ITransport\";\r\nimport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { Arg, ConsoleLogger } from \"./Utils\";\r\n\r\nconst LogLevelNameMapping: {[k: string]: LogLevel} = {\r\n trace: LogLevel.Trace,\r\n debug: LogLevel.Debug,\r\n info: LogLevel.Information,\r\n information: LogLevel.Information,\r\n warn: LogLevel.Warning,\r\n warning: LogLevel.Warning,\r\n error: LogLevel.Error,\r\n critical: LogLevel.Critical,\r\n none: LogLevel.None,\r\n};\r\n\r\nfunction parseLogLevel(name: string): LogLevel {\r\n // Case-insensitive matching via lower-casing\r\n // Yes, I know case-folding is a complicated problem in Unicode, but we only support\r\n // the ASCII strings defined in LogLevelNameMapping anyway, so it's fine -anurse.\r\n const mapping = LogLevelNameMapping[name.toLowerCase()];\r\n if (typeof mapping !== \"undefined\") {\r\n return mapping;\r\n } else {\r\n throw new Error(`Unknown log level: ${name}`);\r\n }\r\n}\r\n\r\n/** A builder for configuring {@link @microsoft/signalr.HubConnection} instances. */\r\nexport class HubConnectionBuilder {\r\n /** @internal */\r\n public protocol?: IHubProtocol;\r\n /** @internal */\r\n public httpConnectionOptions?: IHttpConnectionOptions;\r\n /** @internal */\r\n public url?: string;\r\n /** @internal */\r\n public logger?: ILogger;\r\n\r\n /** If defined, this indicates the client should automatically attempt to reconnect if the connection is lost. */\r\n /** @internal */\r\n public reconnectPolicy?: IRetryPolicy;\r\n\r\n /** Configures console logging for the {@link @microsoft/signalr.HubConnection}.\r\n *\r\n * @param {LogLevel} logLevel The minimum level of messages to log. Anything at this level, or a more severe level, will be logged.\r\n * @returns The {@link @microsoft/signalr.HubConnectionBuilder} instance, for chaining.\r\n */\r\n public configureLogging(logLevel: LogLevel): HubConnectionBuilder;\r\n\r\n /** Configures custom logging for the {@link @microsoft/signalr.HubConnection}.\r\n *\r\n * @param {ILogger} logger An object implementing the {@link @microsoft/signalr.ILogger} interface, which will be used to write all log messages.\r\n * @returns The {@link @microsoft/signalr.HubConnectionBuilder} instance, for chaining.\r\n */\r\n public configureLogging(logger: ILogger): HubConnectionBuilder;\r\n\r\n /** Configures custom logging for the {@link @microsoft/signalr.HubConnection}.\r\n *\r\n * @param {string} logLevel A string representing a LogLevel setting a minimum level of messages to log.\r\n * See {@link https://docs.microsoft.com/aspnet/core/signalr/configuration#configure-logging|the documentation for client logging configuration} for more details.\r\n */\r\n public configureLogging(logLevel: string): HubConnectionBuilder;\r\n\r\n /** Configures custom logging for the {@link @microsoft/signalr.HubConnection}.\r\n *\r\n * @param {LogLevel | string | ILogger} logging A {@link @microsoft/signalr.LogLevel}, a string representing a LogLevel, or an object implementing the {@link @microsoft/signalr.ILogger} interface.\r\n * See {@link https://docs.microsoft.com/aspnet/core/signalr/configuration#configure-logging|the documentation for client logging configuration} for more details.\r\n * @returns The {@link @microsoft/signalr.HubConnectionBuilder} instance, for chaining.\r\n */\r\n public configureLogging(logging: LogLevel | string | ILogger): HubConnectionBuilder;\r\n public configureLogging(logging: LogLevel | string | ILogger): HubConnectionBuilder {\r\n Arg.isRequired(logging, \"logging\");\r\n\r\n if (isLogger(logging)) {\r\n this.logger = logging;\r\n } else if (typeof logging === \"string\") {\r\n const logLevel = parseLogLevel(logging);\r\n this.logger = new ConsoleLogger(logLevel);\r\n } else {\r\n this.logger = new ConsoleLogger(logging);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to use HTTP-based transports to connect to the specified URL.\r\n *\r\n * The transport will be selected automatically based on what the server and client support.\r\n *\r\n * @param {string} url The URL the connection will use.\r\n * @returns The {@link @microsoft/signalr.HubConnectionBuilder} instance, for chaining.\r\n */\r\n public withUrl(url: string): HubConnectionBuilder;\r\n\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to use the specified HTTP-based transport to connect to the specified URL.\r\n *\r\n * @param {string} url The URL the connection will use.\r\n * @param {HttpTransportType} transportType The specific transport to use.\r\n * @returns The {@link @microsoft/signalr.HubConnectionBuilder} instance, for chaining.\r\n */\r\n public withUrl(url: string, transportType: HttpTransportType): HubConnectionBuilder;\r\n\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to use HTTP-based transports to connect to the specified URL.\r\n *\r\n * @param {string} url The URL the connection will use.\r\n * @param {IHttpConnectionOptions} options An options object used to configure the connection.\r\n * @returns The {@link @microsoft/signalr.HubConnectionBuilder} instance, for chaining.\r\n */\r\n public withUrl(url: string, options: IHttpConnectionOptions): HubConnectionBuilder;\r\n public withUrl(url: string, transportTypeOrOptions?: IHttpConnectionOptions | HttpTransportType): HubConnectionBuilder {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isNotEmpty(url, \"url\");\r\n\r\n this.url = url;\r\n\r\n // Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed\r\n // to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called.\r\n if (typeof transportTypeOrOptions === \"object\") {\r\n this.httpConnectionOptions = { ...this.httpConnectionOptions, ...transportTypeOrOptions };\r\n } else {\r\n this.httpConnectionOptions = {\r\n ...this.httpConnectionOptions,\r\n transport: transportTypeOrOptions,\r\n };\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to use the specified Hub Protocol.\r\n *\r\n * @param {IHubProtocol} protocol The {@link @microsoft/signalr.IHubProtocol} implementation to use.\r\n */\r\n public withHubProtocol(protocol: IHubProtocol): HubConnectionBuilder {\r\n Arg.isRequired(protocol, \"protocol\");\r\n\r\n this.protocol = protocol;\r\n return this;\r\n }\r\n\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to automatically attempt to reconnect if the connection is lost.\r\n * By default, the client will wait 0, 2, 10 and 30 seconds respectively before trying up to 4 reconnect attempts.\r\n */\r\n public withAutomaticReconnect(): HubConnectionBuilder;\r\n\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to automatically attempt to reconnect if the connection is lost.\r\n *\r\n * @param {number[]} retryDelays An array containing the delays in milliseconds before trying each reconnect attempt.\r\n * The length of the array represents how many failed reconnect attempts it takes before the client will stop attempting to reconnect.\r\n */\r\n public withAutomaticReconnect(retryDelays: number[]): HubConnectionBuilder;\r\n\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to automatically attempt to reconnect if the connection is lost.\r\n *\r\n * @param {IRetryPolicy} reconnectPolicy An {@link @microsoft/signalR.IRetryPolicy} that controls the timing and number of reconnect attempts.\r\n */\r\n public withAutomaticReconnect(reconnectPolicy: IRetryPolicy): HubConnectionBuilder;\r\n public withAutomaticReconnect(retryDelaysOrReconnectPolicy?: number[] | IRetryPolicy): HubConnectionBuilder {\r\n if (this.reconnectPolicy) {\r\n throw new Error(\"A reconnectPolicy has already been set.\");\r\n }\r\n\r\n if (!retryDelaysOrReconnectPolicy) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy();\r\n } else if (Array.isArray(retryDelaysOrReconnectPolicy)) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy(retryDelaysOrReconnectPolicy);\r\n } else {\r\n this.reconnectPolicy = retryDelaysOrReconnectPolicy;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /** Creates a {@link @microsoft/signalr.HubConnection} from the configuration options specified in this builder.\r\n *\r\n * @returns {HubConnection} The configured {@link @microsoft/signalr.HubConnection}.\r\n */\r\n public build(): HubConnection {\r\n // If httpConnectionOptions has a logger, use it. Otherwise, override it with the one\r\n // provided to configureLogger\r\n const httpConnectionOptions = this.httpConnectionOptions || {};\r\n\r\n // If it's 'null', the user **explicitly** asked for null, don't mess with it.\r\n if (httpConnectionOptions.logger === undefined) {\r\n // If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it.\r\n httpConnectionOptions.logger = this.logger;\r\n }\r\n\r\n // Now create the connection\r\n if (!this.url) {\r\n throw new Error(\"The 'HubConnectionBuilder.withUrl' method must be called before building the connection.\");\r\n }\r\n const connection = new HttpConnection(this.url, httpConnectionOptions);\r\n\r\n return HubConnection.create(\r\n connection,\r\n this.logger || NullLogger.instance,\r\n this.protocol || new JsonHubProtocol(),\r\n this.reconnectPolicy);\r\n }\r\n}\r\n\r\nfunction isLogger(logger: any): logger is ILogger {\r\n return logger.log !== undefined;\r\n}\r\n","/////////////////////////////////////////////////////////////////////\r\n// Copyright (c) Autodesk, Inc. All rights reserved\r\n// Written by Forge Design Automation team for Inventor\r\n//\r\n// Permission to use, copy, modify, and distribute this software in\r\n// object code form for any purpose and without fee is hereby granted,\r\n// provided that the above copyright notice appears in all copies and\r\n// that both that copyright notice and the limited warranty and\r\n// restricted rights notice below appear in all supporting\r\n// documentation.\r\n//\r\n// AUTODESK PROVIDES THIS PROGRAM \"AS IS\" AND WITH ALL FAULTS.\r\n// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF\r\n// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.\r\n// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE\r\n// UNINTERRUPTED OR ERROR FREE.\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nimport * as signalR from '@microsoft/signalr';\r\nimport repo from './Repository';\r\nimport config from './config.json';\r\n\r\nclass JobManager {\r\n\r\n async startConnection() {\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(config.signalrURL) \r\n .withAutomaticReconnect()\r\n //.configureLogging(signalR.LogLevel.Warning)\r\n .build();\r\n\r\n connection.serverTimeoutInMilliseconds = 600000; \r\n await connection.start().then(res => { console.log(\"CONNECTION STARTED\") }).catch( e => console.log(\" CONNECTION START FAILED\", e));\r\n \r\n console.log(\"startConnection\", connection)\r\n\r\n return connection;\r\n }\r\n\r\n async getOAuthToken(onStart, onComplete, onError) {\r\n \r\n const connection = await this.startConnection();\r\n console.log(\"getOAuthToken\",connection)\r\n\r\n if (onStart)\r\n onStart();\r\n\r\n connection.on(\"onComplete\", (token) => {\r\n // stop connection\r\n console.log(\"onComplete\", connection, connection.connection.connectionState)\r\n if(connection.connection.connectionState !== 2){\r\n console.log(\"stopping connection\")\r\n // connection.stop();\r\n }\r\n else {\r\n console.log(\"connection already stopped\")\r\n }\r\n \r\n\r\n if (onComplete)\r\n onComplete(token);\r\n });\r\n\r\n connection.on(\"onError\", (jobId, reportUrl) => {\r\n console.log(\"onError\",connection, connection.state)\r\n\r\n // connection.stop();\r\n\r\n if (onError)\r\n onError(\"\", \"\");\r\n });\r\n\r\n console.log(\"GetOAuthentication\", connection)\r\n await connection.invoke(\"GetOAuthentication\");\r\n }\r\n\r\n async updateParamters(data, onStart, onComplete, onError) {\r\n \r\n const connection = await this.startConnection();\r\n \r\n connection.serverTimeoutInMilliseconds = 600000;\r\n console.log(\"updateParamters\",connection)\r\n\r\n if (onStart)\r\n onStart();\r\n\r\n connection.on(\"onComplete\", (response) => {\r\n console.log(\"*** onComplete ***\", connection)\r\n // stop connection\r\n if(connection.connection.connectionState !== 2)\r\n {\r\n // connection.stop();\r\n }\r\n \r\n if (onComplete) {\r\n onComplete(response);\r\n }\r\n \r\n });\r\n\r\n connection.on(\"onError\", (jobId, reportUrl) => {\r\n console.log(\"*** onError ***\", jobId)\r\n\r\n // connection.stop();\r\n\r\n if (onError)\r\n onError(\"\", \"\");\r\n });\r\n\r\n //console.log(\"updateParamters\", connection)\r\n await connection.invoke(\"UpdateParameters\", data);\r\n }\r\n/*\r\n async GetDrawingPdf(data, onStart, onComplete, onError) {\r\n \r\n const connection = await this.startConnection();\r\n \r\n connection.serverTimeoutInMilliseconds = 600000;\r\n\r\n if (onStart)\r\n onStart();\r\n\r\n connection.on(\"onComplete\", (response) => {\r\n console.log(\"*** onComplete ***\", connection)\r\n // stop connection\r\n if(connection.connection.connectionState !== 2)\r\n {\r\n // connection.stop();\r\n }\r\n \r\n if (onComplete) {\r\n onComplete(response);\r\n }\r\n \r\n });\r\n\r\n connection.on(\"onError\", (jobId, reportUrl) => {\r\n console.log(\"*** onError ***\", jobId)\r\n\r\n // connection.stop();\r\n\r\n if (onError)\r\n onError(\"\", \"\");\r\n });\r\n\r\n console.log(\"getPdfDraw\", connection)\r\n await connection.invoke(\"GetDrawingPdf\", data);\r\n }\r\n\r\n async GetModelStep(data, onStart, onComplete, onError) {\r\n const connection = await this.startConnection();\r\n \r\n connection.serverTimeoutInMilliseconds = 600000;\r\n console.log(\"GetModelStep\",connection)\r\n\r\n if (onStart)\r\n onStart();\r\n\r\n connection.on(\"onComplete\", (response) => {\r\n console.log(\"*** onComplete ***\", connection)\r\n // stop connection\r\n if(connection.connection.connectionState !== 2)\r\n {\r\n // connection.stop();\r\n }\r\n \r\n if (onComplete) {\r\n onComplete(response);\r\n }\r\n \r\n });\r\n\r\n connection.on(\"onError\", (jobId, reportUrl) => {\r\n console.log(\"*** onError ***\", jobId)\r\n\r\n // connection.stop();\r\n\r\n if (onError)\r\n onError(\"\", \"\");\r\n });\r\n\r\n console.log(\"GetModelStep\", connection)\r\n await connection.invoke(\"GetModelStep\", data);\r\n }\r\n */\r\n}\r\n\r\nconst jobManager = new JobManager();\r\n\r\nexport function Jobs() {\r\n return jobManager;\r\n}\r\n\r\n\r\n","export const SCROLL_EVENT = \"scroll_event\"; // azione di scrolling della pagina\r\n\r\nexport const UPDATE_CATALOG_CONTENT = \"update_catalog_content\"; // click di un elemento del catalogo per caricamento livello successivo\r\n\r\nexport const ADD_BREADCRUMB_STEP_CATALOG = \"add_breadcrumb_step_catalog\"; // azione di aggiunta nuovo step in coda al breadcrumb\r\nexport const INITIALIZE_BREADCRUMB_CATALOG = \"initialize_breadcrumb_catalog\"; // azione di aggiunta nuovo step in coda al breadcrumb\r\nexport const SELECT_BREADCRUMB_STEP_CATALOG = \"select_breadcrumb_step_catalog\"; // azione click su uno step del breadcrumb \r\n\r\nexport const TOOGLE_MENU_BUTTON_CLICKED = \"toogle_menu_button_clicked\"; // azione click bottone menu (che sta nell header)\r\n\r\nexport const SET_BP_LIST = \"set_bp_list\"; // caricamento lista BP\r\nexport const SET_BP_FAVOURITE = \"set_bp_favoutire\" // In lista bp, click icona a stella per set/unset bp preferito\r\n\r\nexport const SET_ORDER_LIST = \"set_order_list\"; // caricamento ordini\r\nexport const DELETE_ORDER = \"delete_order\" // In pagina ordini, click icona cestino in una OrderCard\r\nexport const TOOGLE_DRAFT_ORDER_CONTAINER = \"toogle_draft_order_Container\" // espandi/comprimi sezione ordini in bozza (pagina orders)\r\nexport const TOOGLE_INPROGRESS_ORDER_CONTAINER = \"toogle_inprogress_order_Container\" // espandi/comprimi sezione ordini in corso (pagina orders)\r\nexport const TOOGLE_HISTORY_ORDER_CONTAINER = \"toogle_draft_history_Container\" // espandi/comprimi sezione ordini storici (pagina orders)\r\n\r\nexport const UPDATE_ORDERS_SEARCH_STRING = \"update_orders_search_string\"\r\n\r\nexport const SET_ACCESS_TOKEN = \"set_access_token\" // memorizza token autenticazione Forge\r\nexport const FORGE_UPDATE_MODEL_PARAMETERS = \"forge_update_model_parameters\" // aggiorna l'url (Forge) del modello da visualizzare nel viewer\r\n\r\nexport const SET_LOADING_SPINNER_VISIBILITY = \"set_loading_spinner_visibility\" // Visualizza/nasconde lo spinner di caricamento\r\n\r\nexport const SET_MODELCONFIGURATOR_FORM = \"set_modelconfigurator_form\" // Recupera la form con i parametri configurabili per il modello che si vuoel configurare\r\n\r\nexport const SET_MODELCARTDETAILS_FORM = \"set_modelcartdetails_form\" // Recupera la form dettaglio macchina in cart\r\nexport const ADD_ITEM_IN_CART = \"add_item_in_cart\" // Aggiunge un item a carrello\r\nexport const SET_ITEMS_IN_CART_ACCESSORIES = \"set_item_in_cart_accessories\" // Setta gli accessori per gli items a carrello\r\nexport const UPDATE_ITEM_IN_CART_QTY = \"update_item_in_cart_qty\" // Aggiornamento quantità di un articolo a carrello\r\nexport const REMOVE_ITEM_IN_CART = \"remove_item_in_cart\" // Elimina un articolo dal carrello\r\nexport const EMPTY_CART = \"empty_cart\" // Svuota il contenuto del carrello\r\n\r\nexport const INITIALIZE_MODAL_CONFIRM = \"initialize_modal_confirm\" // Inizializzazione della confirm modal (title, content, styles)\r\nexport const SET_MODEL_CONF_ITEM = \"set_model_conf_item\" // Imposta la proprietà item dello stato di modelconfigurator\r\nexport const UPDATE_MODEL_PARAMS_REDUCER = \"update_model_parameters_in_reducer\" // Aggiorna lo stato di modelconfigurator aggiornando la configurazione del modello così come impostata dall utente\r\n\r\nexport const SET_CARTCLOSE_USERDET_FORM = \"set_cartclose_userdet_form\" // Inizializza i campi della form in chiusura carrello\r\nexport const SET_CARTCLOSE_ITEMTABLE = \"set_cartclose_itemtable\" // Inizializza le colonne e le righe della tabella articoli in chiusura carrello\r\nexport const SET_ITEM_PRICE = \"set_item_price\"\r\nexport const UPDATE_DELIVERY_DATE = \"update_delivery_date\"\r\nexport const UPDATE_DELIVERY_DATE_ITEM = \"update_delivery_date_item\"\r\n\r\nexport const SET_ISLOGGEDUSER = \"is_logged_user\"\r\n\r\nexport const SET_ITEM_CONFIGURATION_PDF_URL = \"set_item_configuration_pdf_url\"\r\nexport const SET_ITEM_CONFIGURATION_STEP_URL = \"set_item_configuration_step_url\"\r\n\r\nexport const ONCHANGE_CONFIGURATOR_FORM_INPUT = \"onchange_configurator_input\"\r\nexport const ONCHANGE_ACCESSORYGRP_FORM_INPUT = \"onchange_accessorygrp_input\"\r\nexport const ONCHANGE_CNC_FORM_INPUT = 'onchange_cnc_form_input'\r\nexport const UPDATE_ITEM_IN_CART_ACCESSORIES = \"update_item_in_cart_accessories\"\r\nexport const ONCHANGE_USERDET_FORM_INPUT = \"onchange_userdet_form_input\"\r\nexport const SET_MODELCONFIGURATOR_DESCR = \"set_modelconfiguration_descr\"\r\nexport const DESTROY_SESSION = \"destroy_session\"\r\nexport const SET_MENU_CONTENT = \"set_menu_content\"\r\n\r\nexport const SET_LOGGED_USER = \"set_logged_user\"\r\n\r\nexport const SET_MODELCONFIGURATOR_SVF = \"set_modelconfiguration_svf\"\r\nexport const ONCHANGE_ITEM_NOTE = \"onchange_item_note\"\r\n","import repo from '../Repository';\r\nimport axios from 'axios';\r\n//File con nome server e porta per le chiamate delle API.\r\nimport config from '../config.json';\r\nimport { Jobs } from '../ForgeJobManager';\r\n\r\nimport {\r\n SCROLL_EVENT, UPDATE_CATALOG_CONTENT, ADD_BREADCRUMB_STEP_CATALOG, SELECT_BREADCRUMB_STEP_CATALOG, INITIALIZE_BREADCRUMB_CATALOG,\r\n TOOGLE_MENU_BUTTON_CLICKED, SET_BP_LIST, SET_BP_FAVOURITE, SET_ORDER_LIST, DELETE_ORDER, TOOGLE_DRAFT_ORDER_CONTAINER, TOOGLE_INPROGRESS_ORDER_CONTAINER,\r\n TOOGLE_HISTORY_ORDER_CONTAINER, SET_ACCESS_TOKEN, FORGE_UPDATE_MODEL_PARAMETERS, SET_LOADING_SPINNER_VISIBILITY, SET_MODELCONFIGURATOR_FORM, SET_MODELCARTDETAILS_FORM,\r\n SET_ITEMS_IN_CART_ACCESSORIES, ADD_ITEM_IN_CART, UPDATE_ITEM_IN_CART_QTY, REMOVE_ITEM_IN_CART, INITIALIZE_MODAL_CONFIRM, SET_MODEL_CONF_ITEM,\r\n SET_CARTCLOSE_USERDET_FORM, SET_CARTCLOSE_ITEMTABLE, UPDATE_MODEL_PARAMS_REDUCER, SET_ITEM_PRICE, SET_ISLOGGEDUSER, UPDATE_DELIVERY_DATE, UPDATE_DELIVERY_DATE_ITEM, \r\n SET_ITEM_CONFIGURATION_PDF_URL, SET_ITEM_CONFIGURATION_STEP_URL, ONCHANGE_CONFIGURATOR_FORM_INPUT, ONCHANGE_ACCESSORYGRP_FORM_INPUT, UPDATE_ITEM_IN_CART_ACCESSORIES,\r\n ONCHANGE_CNC_FORM_INPUT, ONCHANGE_USERDET_FORM_INPUT, SET_MODELCONFIGURATOR_DESCR, DESTROY_SESSION, SET_MENU_CONTENT, EMPTY_CART, SET_MODELCONFIGURATOR_SVF, SET_LOGGED_USER,\r\n ONCHANGE_ITEM_NOTE\r\n} from \"./types\";\r\n\r\n/*\r\nlet interceptor = axios.interceptors.response.use(\r\n (response) => {\r\n console.log(\"----------\")\r\n console.log(\"response refreshToken\")\r\n console.log(response)\r\n console.log(\"----------\")\r\n return response;\r\n },\r\n (error) => {\r\n console.log(\"error\",error)\r\n if (error.response.status === 401) {\r\n console.log(\"REFRESH TOKEN UNAUTHORIZED!\")\r\n }\r\n\r\n // axios.interceptors.request.eject(interceptor)\r\n console.log(\"*** refresh token error \", error)\r\n return error;\r\n }\r\n);\r\n*/\r\n\r\n/* \r\n Funzione invocata quando l'utente esegue scroll. Memorizza nel reducer l'offset' dello scroll effettuato.\r\n*/\r\nexport const scrollEventOccurs = (scrollOffsetX, scrollOffsetY) => async dispatch => {\r\n dispatch({ type: SCROLL_EVENT, payload: { scrollOffsetY: scrollOffsetY, scrollOffsetX: scrollOffsetX } })\r\n}\r\n\r\nexport const doLogin = (dataRequest) => async dispatch => {\r\n // console.log(\"doLogin\",dataRequest)\r\n \r\n try{\r\n const response = await axios.post(\r\n config.server + 'gateway/Auth/authenticate',\r\n {\r\n username: dataRequest.username,\r\n password: dataRequest.psw\r\n },\r\n {headers: { \r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }} \r\n )\r\n \r\n console.log(\"response\", response)\r\n\r\n dispatch({ type: SET_LOGGED_USER, payload: response.data })\r\n \r\n sessionStorage.setItem('jwtToken', response.data.jwtToken)\r\n sessionStorage.setItem('refreshToken', response.data.refreshToken) \r\n dispatch({ type: SET_ISLOGGEDUSER, payload: { isUserLogged: true} })\r\n dispatch({ type: SET_MENU_CONTENT, payload: { menuElements: [{ menuLabel: \"Catalogo\", target: \"/catalog\", icon: \"bi bi-images\" }]} })\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"doLogin err\", err)\r\n return err\r\n }\r\n \r\n // DEBUG LOCALE \r\n /*\r\n sessionStorage.setItem('jwtToken', \"123456789\")\r\n dispatch({ type: SET_ISLOGGEDUSER, payload: { isUserLogged: true} })\r\n dispatch({ type: SET_MENU_CONTENT, payload: { menuElements: [{ menuLabel: \"Catalogo\", target: \"/catalog\", icon: \"bi bi-images\" }]} })\r\n return {}\r\n*/\r\n // FINE DEBUG LOCALE\r\n\r\n \r\n}\r\n\r\nexport const changePassword = (dataRequest) => async dispatch => {\r\n console.log(\"changePassword\",dataRequest)\r\n \r\n try{\r\n const response = await axios.post(\r\n config.server + 'gateway/Auth/changePassword',\r\n {\r\n Id_User: dataRequest.id_User,\r\n OldPassword: dataRequest.oldPsw,\r\n NewPassword: dataRequest.newPsw\r\n },\r\n {headers: { \r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }} \r\n )\r\n \r\n console.log(\"response\", response) \r\n return response \r\n }\r\n catch(err){\r\n console.log(\"changePassword err\", err)\r\n return err\r\n }\r\n\r\n \r\n}\r\n\r\n\r\nexport const refreshToken = () => async dispatch => {\r\n console.log(\"*** refreshToken ***\")\r\n\r\n const response = await axios.post(\r\n config.server + 'gateway/Auth/refresh',\r\n {\r\n jwtToken: sessionStorage.getItem('jwtToken'),\r\n refreshToken: sessionStorage.getItem('refreshToken')\r\n },\r\n {headers: { \r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }} \r\n )\r\n\r\n sessionStorage.setItem('jwtToken', response.data.jwtToken)\r\n sessionStorage.setItem('refreshToken', response.data.refreshToken)\r\n\r\n return response\r\n}\r\n\r\nexport const doLogout = () => async dispatch => {\r\n console.log(\"*** LOGOUT ***\")\r\n sessionStorage.removeItem('jwtToken')\r\n sessionStorage.clear()\r\n dispatch({ type: SET_ISLOGGEDUSER, payload: { isUserLogged: false} })\r\n dispatch({ type: DESTROY_SESSION });\r\n}\r\n\r\n/********************************************************************************************************************************* */\r\n/******************************************* CATALOGO ******************************************************************* */\r\n/********************************************************************************************************************************* */\r\n\r\n// Recupera il primo livello del catalogo\r\nexport const getCatalogFirstLevel = (dataRequest) => async dispatch => {\r\n // console.log(\"getCatalogFirstLevel \", dataRequest.bp)\r\n \r\n try { \r\n const response = await axios.post(\r\n config.server + 'Catalog/GetCatalogLevel',\r\n {\r\n ID_BP: -1,\r\n ID_Parent: -1,\r\n LangCode: dataRequest.langCode\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n var payload = {\r\n bp: dataRequest.bp,\r\n catalogElements: response.data.categories,\r\n itemElements: response.data.items\r\n }\r\n \r\n // Verifico se ci sono già dati presenti nel sessionStorage\r\n var oldBreadcrumb = sessionStorage.getItem('catalogBreadcrumbSteps')\r\n var oldCatalogEl = sessionStorage.getItem('catalogElements')\r\n var oldItemsEl = sessionStorage.getItem('itemElements')\r\n var currCatalogBp = sessionStorage.getItem('catalogBpActive')\r\n // console.log(\"oldBreadcrumb\",JSON.parse(oldBreadcrumb))\r\n // console.log(\"oldCatalogEl\",JSON.parse(oldCatalogEl))\r\n //console.log(\"oldItemsEl\",JSON.parse(oldItemsEl))\r\n // console.log(\"currCatalogBp\",JSON.parse(currCatalogBp))\r\n \r\n if (typeof oldBreadcrumb !== \"undefined\" && oldBreadcrumb && JSON.parse(oldBreadcrumb).length > 1\r\n && typeof oldCatalogEl !== \"undefined\" && oldCatalogEl\r\n && typeof oldItemsEl !== \"undefined\" && oldItemsEl\r\n && dataRequest.bp.bpCode === JSON.parse(currCatalogBp).bpCode) {\r\n dispatch({ type: UPDATE_CATALOG_CONTENT, payload: { bp: JSON.parse(currCatalogBp), catalogElements: JSON.parse(oldCatalogEl), itemElements: JSON.parse(oldItemsEl) } })\r\n dispatch({ type: INITIALIZE_BREADCRUMB_CATALOG, payload: JSON.parse(oldBreadcrumb) })\r\n }\r\n else {\r\n dispatch({ type: UPDATE_CATALOG_CONTENT, payload: payload })\r\n dispatch({ type: INITIALIZE_BREADCRUMB_CATALOG, payload: [{ item: { catalogCode: \"C\", catalogName: dataRequest.bp.bpCode }, elements: payload }] })\r\n }\r\n \r\n return response\r\n }\r\n catch(err){\r\n console.log(\"getCatalogFirstLevel err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getCatalogFirstLevel(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\n// Data una categoria del catalogo, recupera il livello successivo (i figli della categoria)\r\nexport const getCatalogNextLevel = (dataRequest) => async dispatch => {\r\n // console.log(\"getCatalogNextLevel\", dataRequest)\r\n\r\n try {\r\n var payload = undefined\r\n\r\n const response = await axios.post(\r\n config.server + 'Catalog/GetCatalogLevel',\r\n {\r\n ID_BP: -1,\r\n ID_Parent: dataRequest.item.iD_Catalog,\r\n LangCode: dataRequest.langCode\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n\r\n console.log(\"response\", response)\r\n\r\n payload = {\r\n bp: dataRequest.bp,\r\n catalogElements: response.data.categories,\r\n itemElements: response.data.items\r\n }\r\n\r\n if (typeof payload !== \"undefined\") {\r\n dispatch({ type: UPDATE_CATALOG_CONTENT, payload: payload })\r\n dispatch({ type: ADD_BREADCRUMB_STEP_CATALOG, payload: { item: dataRequest.item, elements: payload } })\r\n }\r\n else {\r\n payload = {\r\n bp: dataRequest.bp,\r\n catalogElements: [],\r\n itemElements: []\r\n }\r\n\r\n dispatch({ type: UPDATE_CATALOG_CONTENT, payload: payload })\r\n dispatch({ type: ADD_BREADCRUMB_STEP_CATALOG, payload: { item: dataRequest.item, elements: payload } })\r\n }\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"getCatalogNextLevel err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getCatalogNextLevel(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n\r\n}\r\n\r\n/* \r\n Funzione invocata al click di un elemento (step) del breadcrumb. \r\n Aggiorna il contenuto del catalogo (con gli elementi catalogo dello step) e aggiorna il breadcrumb.\r\n*/\r\nexport const selectCatalogBreadcrumbStep = (step) => async dispatch => {\r\n dispatch({ type: UPDATE_CATALOG_CONTENT, payload: step.elements })\r\n dispatch({ type: SELECT_BREADCRUMB_STEP_CATALOG, payload: step })\r\n\r\n}\r\n\r\n//--------------------------------------------- FINE CATALOGO -------------------------------------------------------------------------\r\n//--------------------------------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n// Funzione invocata al click del bottone per aprire/chiudere menu\r\nexport const toogleMenuButtonClicked = () => async dispatch => {\r\n dispatch({ type: TOOGLE_MENU_BUTTON_CLICKED, payload: {} })\r\n}\r\n\r\n// Recupera la lista di bp associati all'utente loggato\r\nexport const getBpList = (dataRequest) => async dispatch => {\r\n var payload = {\r\n bpList: [\r\n {\r\n bpCode: \"101978\",\r\n bpName: \"BRETON SPA\",\r\n List1: \"Mario Rossi\",\r\n tel: \"+39 049 5628741\",\r\n isFavourite: true,\r\n color: \"#ff00009e\"\r\n },\r\n {\r\n bpCode: \"562014\",\r\n bpName: \"CELENIT\",\r\n List1: \"Andrea Bianchi\",\r\n tel: \"+39 049 5628741\",\r\n isFavourite: false,\r\n color: \"#ffff00b3\"\r\n },\r\n {\r\n bpCode: \"896520\",\r\n bpName: \"HOFFMAN\",\r\n List1: \"Paolo Verdi\",\r\n tel: \"+39 049 5628741\",\r\n isFavourite: true,\r\n color: \"#0080008f\"\r\n },\r\n {\r\n bpCode: \"021774\",\r\n bpName: \"REDBULL\",\r\n List1: \"Luca Ferrari\",\r\n tel: \"+39 049 5628741\",\r\n isFavourite: \"\",\r\n color: \"rgb(255, 197, 136)\"\r\n },\r\n {\r\n bpCode: \"635200\",\r\n bpName: \"GARRONE SPA\",\r\n List1: \"Mario Rossi\",\r\n tel: \"+39 049 5628741\",\r\n isFavourite: false,\r\n color: \"rgb(126, 194, 214)\"\r\n }\r\n ]\r\n }\r\n\r\n dispatch({ type: SET_BP_LIST, payload: payload })\r\n}\r\n\r\n// Marca un bp come favorito (icona stella di BpCard)\r\nexport const setBpFavourite = (bp) => async dispatch => {\r\n dispatch({ type: SET_BP_FAVOURITE, payload: bp })\r\n}\r\n\r\n\r\n\r\n/********************************************************************************************************************************* */\r\n/********************************************* ORDINI ******************************************************************* */\r\n/********************************************************************************************************************************* */\r\n\r\n// Recupera gli ordini di un bp\r\nexport const getOrders = (dataRequest) => async dispatch => {\r\n var payload = {\r\n draft: [\r\n {\r\n orderCode: \"0000000011\",\r\n bpCode: \"101978\",\r\n deliveryAddress: \"VIA TRENTO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#00e1ff\",\r\n Tot: \"12,00\"\r\n },\r\n {\r\n orderCode: \"0000000012\",\r\n bpCode: \"896520\",\r\n deliveryAddress: \"VIA ROMA 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#00e1ff\",\r\n Tot: \"144,00\"\r\n }\r\n ],\r\n inProgress: [\r\n {\r\n orderCode: \"0000000013\",\r\n bpCode: \"101978\",\r\n deliveryAddress: \"VIA RONCHI 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#ff0000a3\",\r\n Tot: \"152,00\"\r\n },\r\n {\r\n orderCode: \"0000000014\",\r\n bpCode: \"635200\",\r\n deliveryAddress: \"VIA TREVISO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#ff8300b0\",\r\n Tot: \"1123,00\"\r\n }\r\n ],\r\n history: [\r\n {\r\n orderCode: \"0000000015\",\r\n bpCode: \"896520\",\r\n deliveryAddress: \"VIA PADOVA 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"222,00\"\r\n },\r\n {\r\n orderCode: \"0000000016\",\r\n bpCode: \"635200\",\r\n deliveryAddress: \"VIA TRENTO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"156,00\"\r\n },\r\n {\r\n orderCode: \"0000000017\",\r\n bpCode: \"896520\",\r\n deliveryAddress: \"VIA PADOVA 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"222,00\"\r\n },\r\n {\r\n orderCode: \"0000000018\",\r\n bpCode: \"635200\",\r\n deliveryAddress: \"VIA TRENTO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"156,00\"\r\n },\r\n {\r\n orderCode: \"0000000019\",\r\n bpCode: \"896520\",\r\n deliveryAddress: \"VIA PADOVA 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"222,00\"\r\n },\r\n {\r\n orderCode: \"0000000020\",\r\n bpCode: \"635200\",\r\n deliveryAddress: \"VIA TRENTO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"156,00\"\r\n },\r\n {\r\n orderCode: \"0000000021\",\r\n bpCode: \"635200\",\r\n deliveryAddress: \"VIA TRENTO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"156,00\"\r\n },\r\n {\r\n orderCode: \"0000000022\",\r\n bpCode: \"896520\",\r\n deliveryAddress: \"VIA PADOVA 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"222,00\"\r\n },\r\n {\r\n orderCode: \"0000000023\",\r\n bpCode: \"635200\",\r\n deliveryAddress: \"VIA TRENTO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"156,00\"\r\n },\r\n {\r\n orderCode: \"0000000024\",\r\n bpCode: \"896520\",\r\n deliveryAddress: \"VIA PADOVA 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"222,00\"\r\n },\r\n {\r\n orderCode: \"0000000025\",\r\n bpCode: \"635200\",\r\n deliveryAddress: \"VIA TRENTO 40\",\r\n orderDate: \"2022-01-03\",\r\n color: \"#008000a1\",\r\n Tot: \"156,00\"\r\n }\r\n ]\r\n }\r\n\r\n //console.log(\"getOrders\", payload)\r\n dispatch({ type: SET_ORDER_LIST, payload: payload })\r\n}\r\n\r\n// Elimina un ordine del bp\r\nexport const deleteOrder = (order) => async dispatch => {\r\n //console.log(\"order\", order)\r\n dispatch({ type: DELETE_ORDER, payload: order })\r\n}\r\n\r\n// Click icona per comprimere/espandere sezione ordini in bozza.\r\nexport const toogleDraftOrdersContainer = () => async dispatch => {\r\n dispatch({ type: TOOGLE_DRAFT_ORDER_CONTAINER, payload: {} })\r\n}\r\n\r\n// Click icona per comprimere/espandere sezione ordini in elaborazione.\r\nexport const toogleInProgressOrdersContainer = () => async dispatch => {\r\n dispatch({ type: TOOGLE_INPROGRESS_ORDER_CONTAINER, payload: {} })\r\n}\r\n\r\n// Click icona per comprimere/espandere sezione ordini storici.\r\nexport const toogleHistoryOrdersContainer = () => async dispatch => {\r\n dispatch({ type: TOOGLE_HISTORY_ORDER_CONTAINER, payload: {} })\r\n}\r\n\r\n//----------------------------------------------- FINE ORDINI -------------------------------------------------------------------------\r\n//--------------------------------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n\r\n// Recupera token autenticazione Forge\r\nexport const getForgeOAuthToken = (successCB) => async dispatch => {\r\n\r\n try {\r\n const response = await axios.post(\r\n config.server + 'Forge/GetOAuthentication',\r\n { },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n\r\n if(response.data && response.data !== \"\"){\r\n dispatch({ type: SET_ACCESS_TOKEN, payload: { accessToken: response.data.data.dictionary.access_token } })\r\n\r\n if(successCB){\r\n successCB(response.data)\r\n }\r\n \r\n return response\r\n }\r\n \r\n \r\n \r\n }\r\n catch(err){\r\n console.log(\"getForgeOAuthToken err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getForgeOAuthToken())\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n /*\r\n try {\r\n const jobManager = Jobs();\r\n await jobManager.getOAuthToken(\r\n () => {\r\n // console.log(\"start getOAuthToken\")\r\n },\r\n (response) => {\r\n console.log(\"onComplete\", response)\r\n\r\n if (successCB) {\r\n successCB(response);\r\n }\r\n\r\n dispatch({ type: SET_ACCESS_TOKEN, payload: { accessToken: response.data.dictionary.access_token } })\r\n\r\n },\r\n (err) => {\r\n console.log(\"onError\", err)\r\n }\r\n )\r\n } catch (e) {\r\n console.log(\"getForgeOAuthToken error \", e)\r\n }\r\n */\r\n}\r\n\r\n/*\r\n Aggiorna un modello con nuovi valori per i parametri configurabili del modello\r\n*/\r\nexport const updateModelParameters = (dataRequest, successCB) => async dispatch => {\r\n\r\n try {\r\n const response = await axios.post(\r\n config.server + 'Forge/UpdateParameters',\r\n {\r\n jsonData: JSON.stringify(dataRequest)\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n\r\n successCB(response.data)\r\n \r\n dispatch({ type: FORGE_UPDATE_MODEL_PARAMETERS, payload: { svfUrl: response.data.OutputModelUrl, outputIam: response.data.OutputModelIAM } })\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"updateModelParameters err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(updateModelParameters(dataRequest, successCB))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n\r\n /*\r\n try {\r\n\r\n\r\n\r\n // console.log(\"updateModelParameters\",dataRequest, successCB)\r\n const jobManager = Jobs();\r\n\r\n await jobManager.updateParamters(dataRequest,\r\n () => {\r\n // console.log(\"start updateParamters\")\r\n },\r\n (response) => {\r\n console.log(\"onComplete\", response)\r\n\r\n if (successCB) {\r\n successCB(response);\r\n }\r\n\r\n dispatch({ type: FORGE_UPDATE_MODEL_PARAMETERS, payload: { svfUrl: response.OutputModelUrl, outputIam: response.OutputModelIAM } })\r\n\r\n },\r\n (err) => {\r\n console.log(\"onError\", err)\r\n }\r\n )\r\n \r\n } catch (e) {\r\n console.log(\"updateModelParameters error \", e)\r\n }\r\n */\r\n}\r\n\r\nexport const getDrawingPdf = (dataRequest, successCB) => async dispatch => {\r\n try {\r\n\r\n\r\n const response = await axios.post(\r\n config.server + 'Forge/GetDrawingPdf',\r\n dataRequest,\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n dispatch({ type: SET_ITEM_CONFIGURATION_PDF_URL, payload: { pdfUrl: response.data, item: dataRequest.item } })\r\n\r\n } catch (e) {\r\n console.log(\"GetDrawingPdf error \", e)\r\n }\r\n}\r\n\r\nexport const getModelStep = (dataRequest, successCB) => async dispatch => {\r\n try {\r\n\r\n const response = await axios.post(\r\n config.server + 'Forge/GetModelStep',\r\n dataRequest,\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n\r\n dispatch({ type: SET_ITEM_CONFIGURATION_STEP_URL, payload: { stepUrl: response.data, item: dataRequest.item } })\r\n \r\n } catch (e) {\r\n console.log(\"getModelStep error \", e)\r\n }\r\n}\r\n\r\nexport const downloadStepFromUrl = (stepUrl) => async dispatch => {\r\n console.log(stepUrl)\r\n const res = await axios.get(\r\n stepUrl,\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/STEP'\r\n }\r\n }\r\n )\r\n\r\n console.log(\"res\", res)\r\n return res.data\r\n}\r\n\r\n\r\n// Visualizza/nasconde lo spinner di caricamento, a seconda se isVisible è true/false\r\nexport const setLoadingSpinnerVisibility = (isVisible) => async dispatch => {\r\n dispatch({ type: SET_LOADING_SPINNER_VISIBILITY, payload: isVisible })\r\n}\r\n\r\n/*\r\n Recupera la form con i parametri configurabili per il modello che si vuoel configurare\r\n*/\r\nexport const getModelConfiguratorForm = (dataRequest) => async dispatch => {\r\n\r\n try {\r\n const response = await axios.post(\r\n config.server + 'ModelConfigurator/GetModelByItem',\r\n {\r\n ID_Item: dataRequest.iD_Item,\r\n LangCode: dataRequest.LangCode\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n dispatch({ type: SET_MODELCONFIGURATOR_FORM, payload: { formList: response.data } })\r\n\r\n if(response.data && response.data.configuration){\r\n dispatch({ type: SET_MODELCONFIGURATOR_SVF, payload: { svf: response.data.configuration[0].urlConfiguration } })\r\n }\r\n \r\n\r\n\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"getModelConfiguratorForm err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getModelConfiguratorForm(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\nexport const getConfigurationDescription = (dataRequest) => async dispatch => {\r\n try {\r\n const response = await axios.post(\r\n config.server + 'ModelConfigurator/GetConfigurationDescription',\r\n {\r\n jsonData: dataRequest\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n dispatch({ type: SET_MODELCONFIGURATOR_DESCR, payload: { configurationDescr: response.data } })\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"getConfigurationDescription err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getConfigurationDescription(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\n/*\r\n Recupera la form dettaglio macchina in cart\r\n*/\r\nexport const getCartDetailsForm = (dataRequest) => async dispatch => {\r\n\r\n console.log(\"dataRequest\", dataRequest)\r\n try {\r\n const response = await axios.post(\r\n config.server + 'Cart/GetItemCncForm',\r\n {\r\n ID_Item: dataRequest.ID_Item, // dataRequest.iD_Item // TODO aggiungere i record a db per gestire la form di tutti gli articoli\r\n LangCode: dataRequest.LangCode\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n dispatch({ type: SET_MODELCARTDETAILS_FORM, payload: { formList: response.data } })\r\n\r\n return response\r\n } \r\n catch(err){\r\n console.log(\"getCartDetailsForm err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getCartDetailsForm(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\nexport const getItemCncFormAgainstFormValues = (dataRequest) => async dispatch => {\r\n\r\n console.log(\"getItemCncFormAgainstFormValues\", JSON.stringify(dataRequest))\r\n try {\r\n const response = await axios.post(\r\n config.server + 'Cart/GetItemCncFormAgainstFormValues',\r\n {\r\n jsonData: JSON.stringify(dataRequest)\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n dispatch({ type: SET_MODELCARTDETAILS_FORM, payload: { formList: response.data } })\r\n\r\n return response\r\n } \r\n catch(err){\r\n console.log(\"getItemCncFormAgainstFormValues err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getItemCncFormAgainstFormValues(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\n/*\r\n Aggiunge item a carrello\r\n*/\r\nexport const addToCart = (item) => async dispatch => {\r\n dispatch({ type: ADD_ITEM_IN_CART, payload: { item: item } })\r\n}\r\n\r\n/*\r\n Recupera gli accessori per gli articoli a carrello\r\n*/\r\nexport const getItemAccessories = (dataRequest) => async dispatch => {\r\n \r\n console.log(\"getItemAccessories\", dataRequest)\r\n \r\n try {\r\n const response = await axios.post(\r\n config.server + 'Item/GetItemAccessories',\r\n {\r\n iD_ItemGrp: dataRequest.item.iD_ItemGrp,\r\n langCode: dataRequest.langCode,\r\n jsonData: dataRequest.jsonData\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n dispatch({ type: SET_ITEMS_IN_CART_ACCESSORIES, payload: { item: dataRequest.item, accessories: response.data }})\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"getItemAccessories err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getItemAccessories(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\n\r\n/*\r\n Aggiorna la qta a carrello dell articolo item\r\n*/\r\nexport const updateItemInCartQty = (item, prevQty) => async dispatch => {\r\n dispatch({ type: UPDATE_ITEM_IN_CART_QTY, payload: { item: item, prevQty : prevQty } })\r\n}\r\n\r\n/*\r\n Rimuove articolo da carrello\r\n*/\r\nexport const removeItemInCart = (item) => async dispatch => {\r\n dispatch({ type: REMOVE_ITEM_IN_CART, payload: { item: item } })\r\n}\r\n\r\n/*\r\n Inizializza il contenuto della ModalConfirm (reindirizzamento se utente conferma, markup del body della modal, stile css)\r\n*/\r\nexport const initializeModalConfirm = (confirmRedirectTo, getContent, customStyles) => async dispatch => {\r\n dispatch({ type: INITIALIZE_MODAL_CONFIRM, payload: { confirmRedirectTo: confirmRedirectTo, getContent: getContent, customStyles: customStyles } })\r\n}\r\n\r\n/*\r\n Svuota il carrello\r\n*/\r\nexport const emptyCart = () => async dispatch => {\r\n dispatch({ type: EMPTY_CART })\r\n}\r\n\r\n/*\r\n Imposta l'articolo da configurare nel modelconfigurator\r\n*/\r\nexport const setModelConfiguratorItem = (item) => async dispatch => {\r\n // console.log(\"setModelConfiguratorItem\", item)\r\n dispatch({ type: SET_MODEL_CONF_ITEM, payload: { item: item } })\r\n}\r\n\r\n/*\r\n Aggiorna lo stato di modelconfigurator aggiornando la configurazione del modello così come impostata dall utente (contenuta in parameters)\r\n*/\r\nexport const updateModelParametersInReducer = (parameters) => async dispatch => {\r\n dispatch({ type: UPDATE_MODEL_PARAMS_REDUCER, payload: { newParams: parameters } })\r\n}\r\n\r\n/*\r\n Recupera i valori con cui popolare la form di close cart (cliente di fatturazione, destinatari, spedizionieri, ecc.)\r\n*/\r\nexport const getCartCloseForm = (dataRequest) => async dispatch => {\r\n console.log(\"*** getCartCloseForm ***\", dataRequest)\r\n\r\n try {\r\n const response = await axios.post(\r\n config.server + 'Estimator/GetUserDetailForm',\r\n {\r\n LangCode: dataRequest.langCode\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n dispatch({ type: SET_CARTCLOSE_USERDET_FORM, payload: response.data })\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"getCartCloseForm err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getCartCloseForm(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n}\r\n\r\n/*\r\n Recupera le colonne e le righe della tabella articoli (con relativi prezzi) in chiusura a carrello \r\n*/\r\nexport const getCartCloseTableItems = () => async dispatch => {\r\n var payload = {\r\n columns: [\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.Avaiability\"\r\n },\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.ArtCode\"\r\n },\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.ArtName\"\r\n },\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.UM\"\r\n },\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.Qty\"\r\n },\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.Price\"\r\n },\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.Discount\"\r\n },\r\n {\r\n columnName: \"CartClose.ItemTable.Columns.Total\"\r\n },\r\n {\r\n columnName: \"PDF\"\r\n },\r\n {\r\n columnName: \"STEP\"\r\n }\r\n ],\r\n rows: [\r\n\r\n ]\r\n }\r\n\r\n dispatch({ type: SET_CARTCLOSE_ITEMTABLE, payload: payload })\r\n}\r\n\r\n/*\r\n Calcolo del prezzo preventivo\r\n*/\r\nexport const getItemPrice = (dataRequest) => async dispatch => {\r\n // console.log(\"dataRequest\", dataRequest)\r\n\r\n try {\r\n const response = await axios.get(\r\n config.server + 'Estimator/GetEstimate/' + dataRequest.item.iD_Item,\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n params: {\r\n jsonData: dataRequest.jsonClientConf\r\n }\r\n }\r\n )\r\n \r\n console.log(\"getItemPrice response\", response)\r\n \r\n dispatch({ type: SET_ITEM_PRICE, payload: { item: dataRequest.item, price: response.data }})\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"getItemPrice err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getItemPrice(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\n/* \r\n Aggiorna la configurazione del modello nel reducer di ModelConfiguration e ModelConfigurationPoint\r\n*/\r\nexport const onChangeConfiguratorFormInput = (idInput, newValue) => async dispatch => {\r\n dispatch({ type: ONCHANGE_CONFIGURATOR_FORM_INPUT, payload: { idInput: idInput, newValue: newValue }})\r\n}\r\n\r\n/*\r\n Aggiorna la configurazione (es. accessorio selezionato e quantità) di un gruppo di accessori (nel reducer di Cart)\r\n*/\r\nexport const onChangeAccessoryGrpFormInput = (item, formStep, idInput, newValue) => async dispatch => {\r\n dispatch({ type: ONCHANGE_ACCESSORYGRP_FORM_INPUT, payload: { item: item, formStep: formStep, idInput: idInput, newValue: newValue }})\r\n}\r\n\r\n/*\r\n Aggiorna gli accessori selezionati da un utente per un articolo a carrello\r\n*/\r\nexport const updateItemInCartAccessories = (itemInCart) => async dispatch => {\r\n dispatch({ type: UPDATE_ITEM_IN_CART_ACCESSORIES, payload: { itemInCart: itemInCart }})\r\n}\r\n\r\n/*\r\n Aggiorna il modello della form CNC con i valori inseriti dall utente\r\n*/\r\nexport const onChangeCncFormInput = (formStep, idInput, newValue) => async dispatch => {\r\n dispatch({ type: ONCHANGE_CNC_FORM_INPUT, payload: { formStep: formStep, idInput: idInput, newValue: newValue }})\r\n}\r\n\r\n/*\r\n Invia la mail con la richiesta preventivo ed i dati di quest ultimo\r\n*/\r\nexport const sendEstimateRequestMail = (dataRequest) => async dispatch => {\r\n try {\r\n console.log(\"dataRequest\", dataRequest)\r\n\r\n const response = await axios.post(\r\n config.server + 'Estimator/SendEstimateRequestMail',\r\n {\r\n jsonData: JSON.stringify(dataRequest)\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n\r\n return response\r\n }\r\n catch(err){\r\n console.log(\"sendEstimateRequestMail err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(sendEstimateRequestMail(dataRequest))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n}\r\n\r\n/*\r\n Aggiorna il modello della form dettagli cliente con i valori inseriti dall utente\r\n*/\r\nexport const onChangeUserDetFormInput = (formStep, idInput, newValue) => async dispatch => {\r\n dispatch({ type: ONCHANGE_USERDET_FORM_INPUT, payload: { formStep: formStep, idInput: idInput, newValue: newValue }})\r\n}\r\n\r\n/*\r\n Aggiorna le note dell articolo a carrello\r\n*/\r\nexport const onChangeItemNote = (item, note) => async dispatch => {\r\n dispatch({ type: ONCHANGE_ITEM_NOTE, payload: { item: item, note: note }})\r\n}\r\n\r\n/*\r\n Invoca il servizio che applica le correzioni alla form di configurazione modello, in base a quanto imputato\r\n dall'utente durante la compilazione delle form di configurazione modello\r\n*/\r\nexport const getPointModelConfigFormsAgainstFormValues = (modelConfiguration) => async dispatch => {\r\n //console.log(\"getPointModelConfigFormsAgainstFormValues\", JSON.stringify(modelConfiguration))\r\n try {\r\n const response = await axios.post(\r\n config.server + 'ModelConfigurator/GetPointModelConfigFormsAgainstFormValues',\r\n {\r\n jsonData: JSON.stringify(modelConfiguration)\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n if(response.data && response.data !== \"\"){\r\n console.log(dispatch({ type: SET_MODELCONFIGURATOR_FORM, payload: { formList: response.data } }))\r\n return response\r\n }\r\n \r\n } \r\n catch(err){\r\n console.log(\"getPointModelConfigFormsAgainstFormValues err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getPointModelConfigFormsAgainstFormValues(modelConfiguration))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n}\r\n\r\nexport const checkPointModelRules = (modelConfiguration) => async dispatch => {\r\n try {\r\n const response = await axios.post(\r\n config.server + 'ModelConfigurator/CheckPointModelRules',\r\n {\r\n jsonData: JSON.stringify(modelConfiguration)\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"CheckPointModelRules response\", response)\r\n \r\n if(response.data && response.data !== \"\"){\r\n console.log(dispatch({ type: SET_MODELCONFIGURATOR_FORM, payload: { formList: response.data } }))\r\n return response\r\n }\r\n \r\n } \r\n catch(err){\r\n console.log(\"checkPointModelRules err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(checkPointModelRules(modelConfiguration))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n}\r\n\r\nexport const CheckCutterModelRules = (modelConfiguration) => async dispatch => {\r\n try {\r\n const response = await axios.post(\r\n config.server + 'ModelConfigurator/CheckCutterModelRules',\r\n {\r\n jsonData: JSON.stringify(modelConfiguration)\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"CheckCutterModelRules response\", response)\r\n \r\n if(response.data && response.data !== \"\"){\r\n console.log(dispatch({ type: SET_MODELCONFIGURATOR_FORM, payload: { formList: response.data } }))\r\n return response\r\n }\r\n \r\n } \r\n catch(err){\r\n console.log(\"CheckCutterModelRules err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(CheckCutterModelRules(modelConfiguration))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n \r\n}\r\n\r\nexport const getCutterModelConfigFormsAgainstFormValues = (modelConfiguration) => async dispatch => {\r\n //console.log(\"getCutterModelConfigFormsAgainstFormValues\", JSON.stringify(modelConfiguration))\r\n try {\r\n const response = await axios.post(\r\n config.server + 'ModelConfigurator/GetCutterModelConfigFormsAgainstFormValues',\r\n {\r\n jsonData: JSON.stringify(modelConfiguration)\r\n },\r\n {\r\n headers: {\r\n Authorization: \"Bearer \" + sessionStorage.getItem('jwtToken'),\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n )\r\n \r\n console.log(\"response\", response)\r\n \r\n if(response.data && response.data !== \"\"){\r\n console.log(dispatch({ type: SET_MODELCONFIGURATOR_FORM, payload: { formList: response.data } }))\r\n return response\r\n }\r\n \r\n } \r\n catch(err){\r\n console.log(\"getCutterModelConfigFormsAgainstFormValues err\", err)\r\n\r\n if(err.response && (err.response.status === 401 || err.response.status === \"401\")) {\r\n return dispatch(refreshToken()).then(function(refTok){\r\n \r\n if(refTok.status === 200) {\r\n return dispatch(getCutterModelConfigFormsAgainstFormValues(modelConfiguration))\r\n }\r\n else {\r\n return refTok\r\n }\r\n })\r\n }\r\n\r\n return err\r\n }\r\n}","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nvar IntlContext = React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer, IntlProvider = IntlContext.Provider;\nexport var Provider = IntlProvider;\nexport var Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n var _a = options || {}, _b = _a.intlPropName, intlPropName = _b === void 0 ? 'intl' : _b, _c = _a.forwardRef, forwardRef = _c === void 0 ? false : _c, _d = _a.enforceContext, enforceContext = _d === void 0 ? true : _d;\n var WithIntl = function (props) { return (React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n var intlProp = (_a = {}, _a[intlPropName] = intl, _a);\n return (React.createElement(WrappedComponent, __assign({}, props, intlProp, { ref: forwardRef ? props.forwardedRef : null })));\n })); };\n WithIntl.displayName = \"injectIntl(\".concat(getDisplayName(WrappedComponent), \")\");\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef(function (props, ref) { return (React.createElement(WithIntl, __assign({}, props, { forwardedRef: ref }))); }), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"AX\": [\n \"H\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"AR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CL\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"GT\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"HN\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MX\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"NI\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"PY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"SV\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"UY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"JP\": [\n \"H\",\n \"h\",\n \"K\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BO\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"EC\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"PE\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ]\n};\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n// only for testing\nexport var _Parser = Parser;\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n var _this = this;\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () {\n var _a;\n return ({\n locale: ((_a = _this.resolvedLocale) === null || _a === void 0 ? void 0 : _a.toString()) ||\n Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n });\n };\n this.getAst = function () { return _this.ast; };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n locale: this.resolvedLocale,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n if (typeof Intl.Locale === 'undefined') {\n return;\n }\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\nvar IntlError = /** @class */ (function (_super) {\n __extends(IntlError, _super);\n function IntlError(code, message, exception) {\n var _this = this;\n var err = exception\n ? exception instanceof Error\n ? exception\n : new Error(String(exception))\n : undefined;\n _this = _super.call(this, \"[@formatjs/intl Error \".concat(code, \"] \").concat(message, \"\\n\").concat(err ? \"\\n\".concat(err.message, \"\\n\").concat(err.stack) : '')) || this;\n _this.code = code;\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (typeof Error.captureStackTrace === 'function') {\n // @ts-ignore just so we don't need to declare dep on @types/node\n Error.captureStackTrace(_this, IntlError);\n }\n return _this;\n }\n return IntlError;\n}(Error));\nexport { IntlError };\nvar UnsupportedFormatterError = /** @class */ (function (_super) {\n __extends(UnsupportedFormatterError, _super);\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n return UnsupportedFormatterError;\n}(IntlError));\nexport { UnsupportedFormatterError };\nvar InvalidConfigError = /** @class */ (function (_super) {\n __extends(InvalidConfigError, _super);\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n return InvalidConfigError;\n}(IntlError));\nexport { InvalidConfigError };\nvar MissingDataError = /** @class */ (function (_super) {\n __extends(MissingDataError, _super);\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n return MissingDataError;\n}(IntlError));\nexport { MissingDataError };\nvar IntlFormatError = /** @class */ (function (_super) {\n __extends(IntlFormatError, _super);\n function IntlFormatError(message, locale, exception) {\n return _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \"\\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n }\n return IntlFormatError;\n}(IntlError));\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */ (function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \"\\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \"\\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError));\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */ (function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage\n ? \"default message (\".concat(typeof descriptor.defaultMessage === 'string'\n ? descriptor.defaultMessage\n : descriptor.defaultMessage\n .map(function (e) { var _a; return (_a = e.value) !== null && _a !== void 0 ? _a : JSON.stringify(e); })\n .join(), \")\")\n : 'id', \" as fallback.\")) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MissingTranslationError;\n}(IntlError));\nexport { MissingTranslationError };\n","import { __assign, __spreadArray } from \"tslib\";\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { UnsupportedFormatterError } from './error';\nexport function filterProps(props, allowlist, defaults) {\n if (defaults === void 0) { defaults = {}; }\n return allowlist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nvar defaultErrorHandler = function (error) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\nvar defaultWarnHandler = function (warning) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n};\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n fallbackOnEmptyString: true,\n onError: defaultErrorHandler,\n onWarn: defaultWarnHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache) {\n if (cache === void 0) { cache = createIntlCache(); }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n });\n var getNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n });\n var getPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({ formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules,\n } }, (opts || {})));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic,\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic,\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic,\n }),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new UnsupportedFormatterError(\"No \".concat(type, \" format named: \").concat(name)));\n}\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { DEFAULT_INTL_CONFIG as CORE_DEFAULT_INTL_CONFIG } from '@formatjs/intl';\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n ' needs to exist in the component ancestry.');\n}\nexport var DEFAULT_INTL_CONFIG = __assign(__assign({}, CORE_DEFAULT_INTL_CONFIG), { textComponent: React.Fragment });\n/**\n * Takes a `formatXMLElementFn`, and composes it in function, which passes\n * argument `parts` through, assigning unique key to each part, to prevent\n * \"Each child in a list should have a unique \"key\"\" React error.\n * @param formatXMLElementFn\n */\nexport function assignUniqueKeysToParts(formatXMLElementFn) {\n return function (parts) {\n // eslint-disable-next-line prefer-rest-params\n return formatXMLElementFn(React.Children.toArray(parts));\n };\n}\nexport function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] ||\n !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}\n","import * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n var intl = React.useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __rest } from \"tslib\";\nimport * as React from 'react';\nimport useIntl from './useIntl';\nimport { shallowEqual } from '../utils';\nfunction areEqual(prevProps, nextProps) {\n var values = prevProps.values, otherProps = __rest(prevProps, [\"values\"]);\n var nextValues = nextProps.values, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (shallowEqual(nextValues, values) &&\n shallowEqual(otherProps, nextOtherProps));\n}\nfunction FormattedMessage(props) {\n var intl = useIntl();\n var formatMessage = intl.formatMessage, _a = intl.textComponent, Text = _a === void 0 ? React.Fragment : _a;\n var id = props.id, description = props.description, defaultMessage = props.defaultMessage, values = props.values, children = props.children, _b = props.tagName, Component = _b === void 0 ? Text : _b, ignoreTag = props.ignoreTag;\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var nodes = formatMessage(descriptor, values, {\n ignoreTag: ignoreTag,\n });\n if (typeof children === 'function') {\n return children(Array.isArray(nodes) ? nodes : [nodes]);\n }\n if (Component) {\n return React.createElement(Component, null, React.Children.toArray(nodes));\n }\n return React.createElement(React.Fragment, null, nodes);\n}\nFormattedMessage.displayName = 'FormattedMessage';\nvar MemoizedFormattedMessage = React.memo(FormattedMessage, areEqual);\nMemoizedFormattedMessage.displayName = 'MemoizedFormattedMessage';\nexport default MemoizedFormattedMessage;\n","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { doLogin, doLogout } from '../../actions/index';\r\nimport { Navigate, useNavigate } from \"react-router-dom\";\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nfunction Login(props) {\r\n \r\n const [errCredential, setErrCredential] = useState(false)\r\n const [username, setUserInputVal] = useState(\"\")\r\n const [psw, setPswInputVal] = useState(\"\")\r\n\r\n let navigate = useNavigate();\r\n props.doLogout();\r\n let inputChangedUsernameHandler = function(e) {\r\n // username = e.target.value\r\n setUserInputVal(e.target.value)\r\n }\r\n\r\n let inputChangedPswHandler = function(e) {\r\n // psw = e.target.value\r\n setPswInputVal(e.target.value)\r\n }\r\n\r\n // console.log(props)\r\n return (\r\n
\r\n )\r\n\r\n}\r\n\r\n\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n doLogin: (dataRquest) => dispatch(doLogin(dataRquest)),\r\n doLogout: () => dispatch(doLogout())\r\n }\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(Login)\r\n","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { changePassword, doLogout } from '../../actions/index';\r\nimport { Navigate, useNavigate } from \"react-router-dom\";\r\nimport {FormattedMessage, useIntl, injectIntl} from 'react-intl';\r\n\r\nfunction ChangePassword(props) {\r\n \r\n const [errCredential, setErrCredential] = useState(false)\r\n const [oldPsw, setOldPswInputVal] = useState(\"\")\r\n const [newPsw, setNewPswInputVal] = useState(\"\")\r\n const [confirmPsw, setConfirmPswInputVal] = useState(\"\")\r\n\r\n const intl = useIntl()\r\n\r\n let navigate = useNavigate();\r\n //props.doLogout();\r\n\r\n let inputChangedOldPswHandler = (e) => {\r\n setOldPswInputVal(e.target.value)\r\n }\r\n\r\n let inputChangedNewPswHandler = (e) => {\r\n setNewPswInputVal(e.target.value)\r\n }\r\n\r\n let inputChangedConfirmPswHandler = (e) => {\r\n setConfirmPswInputVal(e.target.value)\r\n\r\n if(newPsw !== e.target.value) {\r\n setErrCredential(true)\r\n }\r\n else {\r\n setErrCredential(false)\r\n }\r\n }\r\n\r\n let changePasswordClicked = (e) => {\r\n console.log(props, this)\r\n var res = props.changePassword({ id_User: props.id_User, oldPsw: oldPsw, newPsw: newPsw});\r\n\r\n if(res && res.response && (res.response.status === 401 || res.response.status === \"401\")) {\r\n setErrCredential(true)\r\n }\r\n else {\r\n props.doLogout();\r\n navigate('/');\r\n }\r\n }\r\n\r\n // console.log(props)\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n

\r\n
\r\n
\r\n inputChangedOldPswHandler(e)} type=\"password\" id=\"changePsw-form-old-psw-input\" aria-describedby=\"Vecchia Password\" \r\n placeholder={intl.formatMessage({\r\n id: \"ChangePassword.Form.OldPsw.Placeholder\",\r\n defaultMessage: 'Vecchia Password',\r\n })} \r\n defaultValue={oldPsw}/> \r\n
\r\n
\r\n inputChangedNewPswHandler(e)} type=\"password\" id=\"changePsw-form-psw-input\" aria-describedby=\"Nuova Password\" \r\n placeholder={intl.formatMessage({\r\n id: \"ChangePassword.Form.NewPsw.Placeholder\",\r\n defaultMessage: 'Nuova Password',\r\n })} \r\n defaultValue={newPsw}/> \r\n
\r\n
\r\n inputChangedConfirmPswHandler(e)} type=\"password\" id=\"changePsw-form-confirm-psw\" aria-describedby=\"Conferma Password\" \r\n placeholder={intl.formatMessage({\r\n id: \"ChangePassword.Form.ConfirmNewPsw.Placeholder\",\r\n defaultMessage: 'Conferma Password',\r\n })} \r\n value={confirmPsw}/> \r\n
\r\n
\r\n

\r\n \r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log(\"cart state \", state)\r\n return {\r\n id_User: state.loggedUser.id_User\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n changePassword: (dataRquest) => dispatch(changePassword(dataRquest)),\r\n doLogout: () => dispatch(doLogout())\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChangePassword)\r\n","import React from 'react';\r\n\r\nexport default () => {\r\n console.log(\"WELCOME\")\r\n return
Benvenuti, per procedere accedete all'applicazione.
;\r\n};\r\n","import React, { Component } from 'react';\r\n\r\nclass CatalogCard extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() { }\r\n\r\n render() {\r\n var label = \"\";\r\n var urlThumbail = \"\";\r\n\r\n // categoria catalogo\r\n if(this.props.item.catalogName) { \r\n label = this.props.item.catalogName\r\n }\r\n // item\r\n else {\r\n \r\n label = this.props.item.itemName\r\n }\r\n\r\n\r\n // categoria catalogo\r\n if(this.props.item.pathToThumbnail) { \r\n urlThumbail = this.props.item.pathToThumbnail\r\n }\r\n // item\r\n else if(this.props.item.thumbnails && this.props.item.thumbnails.length > 0) {\r\n urlThumbail = this.props.item.thumbnails[0].pathToThumbnail\r\n }\r\n\r\n return (\r\n
this.props.onClick(this.props.item)}>\r\n
\r\n \r\n
\r\n
\r\n

{ label }

\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default CatalogCard","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport { selectCatalogBreadcrumbStep } from '../../actions/index';\r\n\r\nclass CatalogBreadcrumb extends Component {\r\n\r\n constructor(props){\r\n super(props)\r\n\r\n this.keyCount = 0;\r\n this.getKey = this.getKey.bind(this)\r\n }\r\n\r\n getKey() {\r\n var newKey = \"catalogBr\" + this.keyCount++\r\n return newKey;\r\n } \r\n\r\n onStepClick = (step) => {\r\n this.props.selectCatalogBreadcrumbStep(step)\r\n }\r\n\r\n // � necessario passare il riferimento a this in quanto all'interno della callback della funzione map il\r\n // this corrisponde a quello della funzione anonima\r\n getSteps = (_this) => {\r\n //if (_this.props.auth) {\r\n console.log(\"getSteps\", this.props.steps)\r\n return this.props.steps.map(function (step, index) {\r\n if (index < _this.props.steps.length - 1) {\r\n return
  • _this.onStepClick(step)}> {step.item.catalogName}
  • \r\n }\r\n else {\r\n return
  • _this.onStepClick(step)}> {step.item.catalogName}
  • \r\n }\r\n })\r\n //}\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n // console.log(\"breadcrumb state \",state)\r\n return {\r\n steps: state.catalogBreadcrumb.steps\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n selectCatalogBreadcrumbStep: (step, currBreadcrumb, history, callback) => dispatch(selectCatalogBreadcrumbStep(step, currBreadcrumb, history, callback))\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CatalogBreadcrumb);","import React, { Component } from 'react';\r\nimport CatalogCard from '../subcomponents/CatalogCard';\r\nimport CatalogBreadcrumb from '../subcomponents/CatalogBreadcrumb';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport {\r\n getCatalogFirstLevel,\r\n getCatalogNextLevel,\r\n setModelConfiguratorItem,\r\n refreshToken\r\n } from '../../actions/index';\r\n import { createBrowserHistory } from \"history\";\r\n\r\n\r\n\r\n const locale = navigator.language;\r\n\r\nclass Catalog extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.keyCount = 0;\r\n this.getKey = this.getKey.bind(this)\r\n }\r\n\r\n\r\n getKey() {\r\n var newKey = \"catalog\" + this.keyCount++\r\n return newKey;\r\n } \r\n\r\n componentDidMount() {\r\n // console.log(\"componentDidMount Catalog this.props\", this.props.history)\r\n let _this = this\r\n\r\n if(window.location.search.includes(\"selectedBp\")) {\r\n this.props.getCatalogFirstLevel({ bp: { bpCode: \"Pippo\"}, langCode : locale})\r\n .then(function(response){\r\n // console.log(\"response\", response, response.status)\r\n }).catch(function(err){\r\n console.log(\"err\",err)\r\n let history = createBrowserHistory();\r\n history.push(\"/login\", _this.props)\r\n })\r\n }\r\n else {\r\n\r\n console.log(\"locale\", locale)\r\n var catLabel = \"Catalogo\"\r\n if(locale !== \"it\"){\r\n catLabel = \"Catalogue\"\r\n }\r\n\r\n this.props.getCatalogFirstLevel({ bp: { bpCode: catLabel}, langCode : locale}) \r\n .then(function(response){\r\n console.log(\"response\", response, response.status)\r\n }).catch(function(err){\r\n console.log(\"err\",err)\r\n let history = createBrowserHistory();\r\n history.push(\"/login\", _this.props)\r\n })\r\n \r\n }\r\n\r\n \r\n \r\n }\r\n\r\n // click categoria catalogo\r\n onCatalogElementClicked = (item) => {\r\n // console.log(\"onCatalogElementClicked\", item)\r\n let _this = this\r\n if(window.location.search.includes(\"selectedBp\")) {\r\n this.props.getCatalogNextLevel({bp: { bpCode: \"Pippo\"}, item : item, langCode : locale})\r\n .then(function(response){\r\n // console.log(\"response\", response, response.status)\r\n }).catch(function(err){\r\n console.log(\"err\",err)\r\n let history = createBrowserHistory();\r\n history.push(\"/login\", _this.props)\r\n })\r\n }\r\n else {\r\n this.props.getCatalogNextLevel({ bp: { bpCode: \"Catalogo\"}, item : item, langCode : locale})\r\n .then(function(response){\r\n // console.log(\"response\", response, response.status)\r\n }).catch(function(err){\r\n console.log(\"err\",err)\r\n let history = createBrowserHistory();\r\n history.push(\"/login\", _this.props)\r\n })\r\n } \r\n }\r\n\r\n // click articolo\r\n onItemElementClicked = (item) => {\r\n // console.log(\"onItemElementClicked\", item) \r\n // imposto l'articolo che dev'essere configurato, nello stato di modelconfigurator\r\n this.props.setModelConfiguratorItem(item)\r\n }\r\n\r\n render() {\r\n console.log(\"this.props.itemElements\", this.props.itemElements)\r\n const catalogCards = [];\r\n // categorie catalogo\r\n for (let i = 0; i < this.props.catalogElements.length; i++) {\r\n catalogCards.push( this.onCatalogElementClicked(this.props.catalogElements[i])} />);\r\n }\r\n // articoli\r\n for (let i = 0; i < this.props.itemElements.length; i++) {\r\n var modelConfPage = \"/modelconfigurator\"\r\n\r\n if(this.props.itemElements[i].itemGrp.itemGrpCode === \"PUNTA\"){\r\n modelConfPage = \"/modelconfiguratorpoint\"\r\n }\r\n else if(this.props.itemElements[i].itemGrp.itemGrpCode === \"FRESA\"){\r\n modelConfPage = \"/modelconfiguratorcutter\"\r\n }\r\n\r\n catalogCards.push( this.onItemElementClicked(this.props.itemElements[i])} />);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n { catalogCards }\r\n
    \r\n
    \r\n )\r\n } \r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n // console.log(\"catalog state \", state)\r\n return {\r\n catalogElements: state.catalog.catalogElements,\r\n itemElements: state.catalog.itemElements\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n getCatalogFirstLevel: (dataRequest) => dispatch(getCatalogFirstLevel(dataRequest)),\r\n getCatalogNextLevel: (dataRequest) => dispatch(getCatalogNextLevel(dataRequest)),\r\n setModelConfiguratorItem: (item) => dispatch(setModelConfiguratorItem(item)),\r\n refreshToken: () => dispatch(refreshToken())\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Catalog)","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import { SCROLL_EVENT } from \"../actions/types\";\r\n\r\nconst INITIAL_STATE = {\r\n scrollOffsetY : 0,\r\n scrollOffsetX : 0\r\n}\r\n\r\nexport default function (state = INITIAL_STATE, action) {\r\n switch(action.type) {\r\n case SCROLL_EVENT:\r\n return {...state, scrollOffsetY: action.payload.scrollOffsetY, scrollOffsetX: action.payload.scrollOffsetX}\r\n default:\r\n return state;\r\n }\r\n}","import { UPDATE_CATALOG_CONTENT } from '../actions/types'\r\n\r\n/*\r\n Oggetto in catalogElements: \r\n {\r\n \"iD_Catalog\": INT,\r\n \"catalogCode\": STRING,\r\n \"catalogName\": STRING,\r\n \"iD_Parent\": INT,\r\n \"rowNumber\": INT,\r\n \"creationDate\": STRING \"MM/dd/aaaa hh:mm:ss\",\r\n \"updateDate\": STRING \"MM/dd/aaaa hh:mm:ss\",\r\n \"note\": STRING,\r\n \"pathToThumbnail\": STRING (es. \"https://localhost:44387/data/THUMBNAILS/PST.png\")\r\n }\r\n\r\n\r\n\r\n\r\n\r\n*/\r\nconst INITIAL_STATE = {\r\n bp: {},\r\n catalogElements: [],\r\n itemElements: []\r\n}\r\n\r\nexport default function (state = INITIAL_STATE, action) {\r\n // console.log(\"catalog reducer \" + action.type, action.payload)\r\n \r\n switch(action.type) {\r\n case UPDATE_CATALOG_CONTENT:\r\n // console.log(\"JSON.stringify(action.payload.catalogElements)\", JSON.stringify(action.payload.catalogElements))\r\n sessionStorage.setItem('catalogElements', JSON.stringify(action.payload.catalogElements))\r\n sessionStorage.setItem('itemElements', JSON.stringify(action.payload.itemElements))\r\n sessionStorage.setItem('catalogBpActive', JSON.stringify(action.payload.bp))\r\n return {...state, bp: action.payload.bp, catalogElements: action.payload.catalogElements, itemElements: action.payload.itemElements}\r\n default:\r\n return state;\r\n }\r\n}","import { ADD_BREADCRUMB_STEP_CATALOG, SELECT_BREADCRUMB_STEP_CATALOG, INITIALIZE_BREADCRUMB_CATALOG } from \"../actions/types\";\r\n\r\nconst INITIAL_STATE = {\r\n steps: []\r\n}\r\n\r\nexport default function(state = INITIAL_STATE, action) {\r\n switch(action.type){\r\n case ADD_BREADCRUMB_STEP_CATALOG:\r\n var newStep = action.payload;\r\n\r\n // console.log(\"newStep\", newStep)\r\n var newBreadcrumb = state.steps.concat(newStep);\r\n sessionStorage.setItem('catalogBreadcrumbSteps', JSON.stringify(newBreadcrumb))\r\n return { ...state, steps: newBreadcrumb };\r\n case SELECT_BREADCRUMB_STEP_CATALOG:\r\n var step = action.payload;\r\n var newBreadcrumb = state.steps.slice(0, state.steps.findIndex(el => el.item.catalogCode === step.item.catalogCode) + 1);\r\n sessionStorage.setItem('catalogBreadcrumbSteps', JSON.stringify(newBreadcrumb) )\r\n return { ...state, steps: newBreadcrumb };\r\n case INITIALIZE_BREADCRUMB_CATALOG:\r\n // console.log(\"INITIALIZE_BREADCRUMB_CATALOG\", action.payload)\r\n var steps = action.payload;\r\n var newBreadcrumb = steps;\r\n sessionStorage.setItem('catalogBreadcrumbSteps', JSON.stringify(newBreadcrumb) )\r\n return { ...state, steps: newBreadcrumb };\r\n default:\r\n return state;\r\n }\r\n}","import { TOOGLE_MENU_BUTTON_CLICKED ,SET_MENU_CONTENT } from \"../actions/types\";\r\n\r\nconst INITIAL_STATE = {\r\n menuElements: [],\r\n isMenuOpen: false,\r\n}\r\n\r\nexport default function(state = INITIAL_STATE, action) {\r\n switch(action.type){\r\n // apertura/chiusura menu\r\n case TOOGLE_MENU_BUTTON_CLICKED:\r\n console.log(\"state.isMenuOpen\", state.isMenuOpen)\r\n\r\n if(state.isMenuOpen === true || state.isMenuOpen === \"true\") {\r\n sessionStorage.setItem('isMenuOpen', false )\r\n return { ...state, isMenuOpen: false };\r\n }\r\n else {\r\n sessionStorage.setItem('isMenuOpen', true )\r\n return { ...state, isMenuOpen: true };\r\n }\r\n case SET_MENU_CONTENT:\r\n // console.log(\"SET_MENU_CONTENT\", action.payload.menuElements)\r\n sessionStorage.setItem('menuElements', JSON.stringify(action.payload.menuElements))\r\n return {...state, menuElements: action.payload.menuElements}\r\n default:\r\n return state;\r\n }\r\n}","import { SET_BP_LIST, SET_BP_FAVOURITE } from '../actions/types';\r\n\r\nconst INITIAL_STATE = {\r\n bpList: []\r\n}\r\n\r\nexport default function(state = INITIAL_STATE, action) {\r\n switch(action.type) {\r\n case SET_BP_LIST:\r\n console.log(\"SET_BP_LIST \", action.payload)\r\n var newBpList = action.payload;\r\n sessionStorage.setItem('bpList', JSON.stringify(newBpList.bpList))\r\n return { ...state, bpList: newBpList.bpList }\r\n case SET_BP_FAVOURITE:\r\n var bp = action.payload\r\n var oldBpList = JSON.parse(JSON.stringify(state.bpList))\r\n var bpToUpdate = oldBpList.find(el => el.bpCode === bp.bpCode)\r\n\r\n if(typeof bpToUpdate !== \"undefined\" && bpToUpdate) {\r\n bpToUpdate.isFavourite = !bpToUpdate.isFavourite \r\n sessionStorage.setItem('bpList', JSON.stringify(oldBpList))\r\n return { bpList: oldBpList }\r\n }\r\n\r\n return state\r\n default:\r\n return state\r\n }\r\n}","import { SET_ORDER_LIST, DELETE_ORDER, TOOGLE_DRAFT_ORDER_CONTAINER, TOOGLE_INPROGRESS_ORDER_CONTAINER, TOOGLE_HISTORY_ORDER_CONTAINER, UPDATE_ORDERS_SEARCH_STRING } from '../actions/types';\r\n\r\nconst INITIAL_STATE = { \r\n draft: [],\r\n inProgress: [],\r\n history: [],\r\n draftContainerOpen: true,\r\n inProgressContainerOpen: true,\r\n historyContainerOpen: true,\r\n searchstring: \"\"\r\n}\r\n\r\nexport default function(state = INITIAL_STATE, action) {\r\n switch(action.type) {\r\n case SET_ORDER_LIST:\r\n sessionStorage.setItem('draftOrders', JSON.stringify(action.payload.draft))\r\n sessionStorage.setItem('inProgressOrders', JSON.stringify(action.payload.inProgress))\r\n sessionStorage.setItem('historyOrders', JSON.stringify(action.payload.history))\r\n return { ...state, draft: action.payload.draft, inProgress: action.payload.inProgress, history: action.payload.history }\r\n case TOOGLE_DRAFT_ORDER_CONTAINER:\r\n return { ...state, draftContainerOpen: !state.draftContainerOpen }\r\n case TOOGLE_INPROGRESS_ORDER_CONTAINER:\r\n return { ...state, inProgressContainerOpen: !state.inProgressContainerOpen }\r\n case TOOGLE_HISTORY_ORDER_CONTAINER:\r\n return { ...state, historyContainerOpen: !state.historyContainerOpen }\r\n case DELETE_ORDER:\r\n var newDraft = JSON.parse(JSON.stringify(state.draft))\r\n var orderToDeleteIndex = -1\r\n orderToDeleteIndex = newDraft.findIndex(el => el.orderCode === action.payload.orderCode)\r\n\r\n if(orderToDeleteIndex >= 0){\r\n newDraft.splice(orderToDeleteIndex, 1)\r\n }\r\n \r\n sessionStorage.setItem('draftOrders', JSON.stringify(newDraft))\r\n\r\n return { ...state, draft: newDraft }\r\n case UPDATE_ORDERS_SEARCH_STRING:\r\n return { ...state, searchstring: action.payload }\r\n default:\r\n return state\r\n }\r\n}","\r\nexport const GetConfigurationDetailMarkup = function(configurationForm) {\r\n var config = [] // configurazione del modello da visualizzare\r\n var keyDiv = \"\"\r\n var keyValue = \"\"\r\n var keyLabel = \"\"\r\n\r\n // configurationForm contiene la configurazione del modello, da visualizzare nel corpo della ModalConfirm\r\n configurationForm.forEach(confInput => {\r\n keyDiv = \"divModalConfirm_\" + confInput.formDetailCode;\r\n keyValue = \"valueModalConfirm_\" + confInput.formDetailCode;\r\n keyLabel = \"labelModalConfirm_\" + confInput.formDetailCode;\r\n\r\n //console.log(\"confInput\", confInput)\r\n \r\n if(confInput.inputType === \"checkbox\"){\r\n // console.log(\"confInput checkbox\", confInput, confInput.instance.value, confInput.instance.value === true, confInput.instance.value == true)\r\n\r\n if(confInput.instance.value === \"checked\" || confInput.instance.value === true || confInput.instance.value === \"true\" || confInput.instance.value === \"True\") {\r\n config.push(\r\n
    \r\n {confInput.inputPlaceholder}: Si\r\n
    \r\n ) \r\n }\r\n else {\r\n config.push(\r\n
    \r\n {confInput.inputPlaceholder}: No\r\n
    \r\n ) \r\n }\r\n \r\n }\r\n else {\r\n config.push(\r\n
    \r\n {confInput.inputLabel}: { confInput.instance.value }\r\n
    \r\n ) \r\n }\r\n \r\n })\r\n\r\n return config;\r\n}\r\n\r\nexport const GetConfigurationDetailMarkupForPoints = function(configuration) {\r\n var config = [] // configurazione del modello da visualizzare\r\n var keyDiv = \"\"\r\n var keyValue = \"\"\r\n var keyLabel = \"\"\r\n\r\n var pntConf = configuration.find(c => c.formTemplateCode === \"PNT_CONF\")\r\n var nrStep = configuration.find(c => c.formTemplateCode === \"PNT_NRSTEP\")\r\n var nrStepInt = parseInt(nrStep.configurationForm[0].instance.value)\r\n var angVerConf = configuration.find(c => c.formTemplateCode === \"PNT_ANGVER\")\r\n var lubrorConf = configuration.find(c => c.formTemplateCode === \"PNT_LUBROR\")\r\n var altroConf = configuration.find(c => c.formTemplateCode === \"PNT_ALTRO\")\r\n var noteConf = configuration.find(c => c.formTemplateCode === \"PNT_NOTE\")\r\n var materPolimConf = configuration.find(c => c.formTemplateCode === \"PNT_MATPOLIM\")\r\n var materRameCong = configuration.find(c => c.formTemplateCode === \"PNT_MATRAME\")\r\n var materLavConf = configuration.find(c => c.formTemplateCode === \"PNT_MATLAV\")\r\n\r\n config = config.concat(GetConfigurationDetailMarkup(pntConf.configurationForm))\r\n\r\n config.push(\r\n
    \r\n {nrStep.configurationForm[0].inputLabel}: { nrStep.configurationForm[0].instance.value }\r\n
    \r\n ) \r\n\r\n for(var i = 1; i <= nrStepInt; i++) {\r\n var stepConf = configuration.find(c => c.formTemplateCode === (\"PNT_STEP\" + i))\r\n \r\n stepConf.configurationForm.forEach(confInput => {\r\n keyDiv = \"divModalConfirm_\" + confInput.formDetailCode;\r\n keyValue = \"valueModalConfirm_\" + confInput.formDetailCode;\r\n keyLabel = \"labelModalConfirm_\" + confInput.formDetailCode;\r\n\r\n if(confInput.instance.value && confInput.instance.value !== \"\"){\r\n config.push(\r\n
    \r\n {confInput.inputLabel}: { confInput.instance.value }\r\n
    \r\n ) \r\n }\r\n })\r\n }\r\n\r\n var angVerSelected = angVerConf.configurationForm.find(cf => cf.instance.value === cf.formDetailCode || cf.instance.value === \"checked\")\r\n console.log(\"angVerSelected\",angVerSelected)\r\n if(angVerSelected) {\r\n keyDiv = \"divModalConfirm_\" + angVerSelected.formDetailCode;\r\n keyValue = \"valueModalConfirm_\" + angVerSelected.formDetailCode;\r\n keyLabel = \"labelModalConfirm_\" + angVerSelected.formDetailCode;\r\n\r\n if(angVerSelected.formDetailCode === \"FreeInputCheckbox\") {\r\n\r\n var angVertFreeInpu = angVerConf.configurationForm.find(cf => cf.formDetailCode === \"FreeInputText\")\r\n config.push(\r\n
    \r\n Angolo Vertice: {angVertFreeInpu.instance.value}\r\n
    \r\n ) \r\n }\r\n else {\r\n config.push(\r\n
    \r\n Angolo Vertice: {angVerSelected.inputLabel}\r\n
    \r\n ) \r\n }\r\n \r\n }\r\n\r\n var lubrorSelected = lubrorConf.configurationForm.find(cf => cf.instance.value === cf.formDetailCode || cf.instance.value === \"checked\")\r\n if(lubrorSelected) {\r\n keyDiv = \"divModalConfirm_\" + lubrorSelected.formDetailCode;\r\n keyValue = \"valueModalConfirm_\" + lubrorSelected.formDetailCode;\r\n keyLabel = \"labelModalConfirm_\" + lubrorSelected.formDetailCode;\r\n\r\n config.push(\r\n
    \r\n Lubrorefrigerazione: {lubrorSelected.inputLabel}\r\n
    \r\n ) \r\n }\r\n\r\n config = config.concat(GetConfigurationDetailMarkup(altroConf.configurationForm))\r\n config = config.concat(GetConfigurationDetailMarkup(noteConf.configurationForm))\r\n console.log(materPolimConf.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\"))\r\n config = config.concat(GetConfigurationDetailMarkup(materPolimConf.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\" || cf.instance.value === true || cf.instance.value === \"True\")))\r\n config = config.concat(GetConfigurationDetailMarkup(materRameCong.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\" || cf.instance.value === true || cf.instance.value === \"True\")))\r\n config = config.concat(GetConfigurationDetailMarkup(materLavConf.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\" || cf.instance.value === true || cf.instance.value === \"True\")))\r\n\r\n return config\r\n}\r\n\r\nexport const GetConfigurationDetailMarkupForCutters = function(configuration) {\r\n var config = [] // configurazione del modello da visualizzare\r\n var keyDiv = \"\"\r\n var keyValue = \"\"\r\n var keyLabel = \"\"\r\n\r\n var frsConf = configuration.find(c => c.formTemplateCode === \"FRS_CONF\")\r\n var lubrorConf = configuration.find(c => c.formTemplateCode === \"FRS_LUBROR\")\r\n var altroConf = configuration.find(c => c.formTemplateCode === \"FRS_ALTRO\")\r\n var noteConf = configuration.find(c => c.formTemplateCode === \"FRS_NOTE\")\r\n var materPolimConf = configuration.find(c => c.formTemplateCode === \"FRS_MATPOLIM\")\r\n var materRameCong = configuration.find(c => c.formTemplateCode === \"FRS_MATRAME\")\r\n var materLavConf = configuration.find(c => c.formTemplateCode === \"FRS_MATLAV\")\r\n\r\n config = config.concat(GetConfigurationDetailMarkup(frsConf.configurationForm))\r\n\r\n var lubrorSelected = lubrorConf.configurationForm.find(cf => cf.instance.value === cf.formDetailCode || cf.instance.value === \"checked\")\r\n if(lubrorSelected) {\r\n keyDiv = \"divModalConfirm_\" + lubrorSelected.formDetailCode;\r\n keyValue = \"valueModalConfirm_\" + lubrorSelected.formDetailCode;\r\n keyLabel = \"labelModalConfirm_\" + lubrorSelected.formDetailCode;\r\n\r\n config.push(\r\n
    \r\n Lubrorefrigerazione: {lubrorSelected.inputLabel}\r\n
    \r\n ) \r\n }\r\n\r\n config = config.concat(GetConfigurationDetailMarkup(altroConf.configurationForm))\r\n config = config.concat(GetConfigurationDetailMarkup(noteConf.configurationForm))\r\n console.log(materPolimConf.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\"))\r\n config = config.concat(GetConfigurationDetailMarkup(materPolimConf.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\" || cf.instance.value === true || cf.instance.value === \"True\")))\r\n config = config.concat(GetConfigurationDetailMarkup(materRameCong.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\" || cf.instance.value === true || cf.instance.value === \"True\")))\r\n config = config.concat(GetConfigurationDetailMarkup(materLavConf.configurationForm.filter(cf => cf.instance.value === \"checked\" || cf.instance.value === \"true\" || cf.instance.value === true || cf.instance.value === \"True\")))\r\n\r\n return config\r\n}","import { SET_ACCESS_TOKEN, FORGE_UPDATE_MODEL_PARAMETERS, SET_LOADING_SPINNER_VISIBILITY, SET_MODELCONFIGURATOR_FORM, SET_MODEL_CONF_ITEM,\r\n UPDATE_MODEL_PARAMS_REDUCER, ONCHANGE_CONFIGURATOR_FORM_INPUT, EMPTY_CART, SET_MODELCONFIGURATOR_SVF } from '../actions/types';\r\nimport config from '../config.json'\r\nimport { GetConfigurationDetailMarkup } from '../utils/Utils';\r\n/*\r\n oggetto di modelConfig:\r\n {\r\n id string\r\n label string \r\n inputType string\r\n value string/int/object\r\n }\r\n\r\n oggetto di formList\r\n {\r\n id int\r\n label string \r\n inputType string\r\n inputValues array\r\n inputPlaceholder string\r\n inputDefaultValue string\r\n divClassName string\r\n inputClassName string\r\n labelClassName string\r\n }\r\n \r\n oggetto item\r\n {\r\n ID_Item int\r\n itemCode string\r\n itemName string \r\n UM string\r\n Note string\r\n urlThumbnail string \r\n Descr string\r\n Qty int\r\n configuration array [ -- array che rappresenta la configurazione scelta per l item, definita in ModelConfigurator\r\n {\r\n id string\r\n label string \r\n inputType string\r\n value string/int/object\r\n }\r\n ]\r\n accesories array [\r\n {\r\n\r\n }\r\n ]\r\n }\r\n \r\n\r\n*/\r\nconst INITIAL_STATE = {\r\n svf: \"\",\r\n accessToken: \"\",\r\n item: null,\r\n modelConfig: [],\r\n loading: false,\r\n outputIam: \"\"\r\n}\r\n\r\nexport default function(state = INITIAL_STATE, action) {\r\n //console.log(\"modelconfigurator reducer\", action)\r\n switch(action.type) {\r\n case SET_ACCESS_TOKEN:\r\n sessionStorage.setItem('accessToken', action.payload.accessToken)\r\n return {...state, accessToken: action.payload.accessToken}\r\n case FORGE_UPDATE_MODEL_PARAMETERS:\r\n console.log(\"FORGE_UPDATE_MODEL_PARAMETERS\", action.payload)\r\n sessionStorage.setItem('svf', config.server + action.payload.svfUrl )\r\n sessionStorage.setItem('outputIam', config.server + action.payload.outputIam )\r\n return {...state, svf: config.server + action.payload.svfUrl, outputIam: action.payload.outputIam }\r\n case SET_LOADING_SPINNER_VISIBILITY:\r\n return {...state, loading: action.payload }\r\n case SET_MODELCONFIGURATOR_SVF:\r\n var svf = \"\"\r\n console.log(\"SET_MODELCONFIGURATOR_SVF\", action.payload)\r\n if(action.payload.svf && action.payload.svf !== \"\"){\r\n svf = config.server + action.payload.svf\r\n }\r\n else {\r\n svf = state.svf\r\n }\r\n\r\n sessionStorage.setItem('svf', svf)\r\n return {...state, svf: svf }\r\n case SET_MODELCONFIGURATOR_FORM: \r\n console.log(\"SET_MODELCONFIGURATOR_FORM\", action.payload)\r\n \r\n sessionStorage.setItem('modelConfig', JSON.stringify(action.payload.formList))\r\n\r\n console.log(\"modelConfig\", JSON.parse(JSON.stringify(action.payload.formList)))\r\n\r\n return {...state, modelConfig: action.payload.formList }\r\n case SET_MODEL_CONF_ITEM:\r\n sessionStorage.setItem('modelConfiguratorItem', JSON.stringify(action.payload.item))\r\n sessionStorage.setItem('svf', \"\" )\r\n sessionStorage.setItem('outputIam', \"\" )\r\n sessionStorage.setItem('modelConfig', JSON.stringify([]))\r\n return {...state, item: action.payload.item, svf: \"\", outputIam: \"\", modelConfig: [] }\r\n case UPDATE_MODEL_PARAMS_REDUCER:\r\n console.log(\"UPDATE_MODEL_PARAMS_REDUCER\", action.payload)\r\n\r\n var newParams = action.payload.newParams\r\n var newConf = JSON.parse(JSON.stringify(state.modelConfig))\r\n //var newConfForm = newConf.configuration[0].configurationForm\r\n\r\n newConf.configuration.forEach(c => {\r\n c.configurationForm.forEach(cf => {\r\n var paramCode = Object.keys(newParams).find(p => p === cf.formDetailCode)\r\n \r\n if(paramCode) {\r\n console.log(\"newParams[paramCode]\", cf, newParams[paramCode])\r\n var newVal = newParams[paramCode].value.replace(/\\\"/g,\"\") // i valori restituiti dall api Forge possono contenere caratteri doppi apici \" indesiderati\r\n \r\n\r\n if(cf.inputType === \"number\"){\r\n if(newParams[paramCode].unit) {\r\n // rimuovo l unita di misura dal valore\r\n newVal = newVal.replace(newParams[paramCode].unit, '').trim()\r\n }\r\n\r\n try{\r\n newVal = Number.parseFloat(newVal).toFixed(2)\r\n console.log(\"newval\", newVal)\r\n }\r\n catch{\r\n console.log(\"ERROR: non è possibile convertire in numero il valore per\" + cf.formDetailCode)\r\n newVal = \"\"\r\n }\r\n \r\n }\r\n\r\n if(cf.inputType === \"select\" && newVal === \"\"){\r\n newVal = cf.instance.value\r\n }\r\n\r\n cf.instance.value = newVal \r\n cf.inputDefaultValue = newVal\r\n }\r\n else{\r\n console.log(\"ERRORE: non trovato parametro \" + cf.formDetailCode)\r\n }\r\n });\r\n }) \r\n\r\n //console.log(\"newConfForm\", newConfForm)\r\n console.log(\"modelConfig\", newConf)\r\n sessionStorage.setItem('modelConfig', JSON.stringify(newConf))\r\n // sessionStorage.setItem('modelConfiguratorForm', JSON.stringify(newConfForm))\r\n\r\n return {...state, modelConfig: newConf }\r\n case ONCHANGE_CONFIGURATOR_FORM_INPUT:\r\n console.log(\"ONCHANGE_CONFIGURATOR_FORM_INPUT\", action.payload)\r\n\r\n var idInput = action.payload.idInput\r\n console.log(\"idInput\", idInput)\r\n var newValue = action.payload.newValue\r\n var formTemplateCode = \"\"\r\n var formDetailCode = idInput\r\n // gli id degli input sono creati concatendo il formTemplate code + '__' + formDetailCode\r\n if(idInput.includes(\"__\")) {\r\n formTemplateCode = idInput.split(\"__\")[0]\r\n formDetailCode = idInput.split(\"__\")[1]\r\n }\r\n \r\n var newConf = JSON.parse(JSON.stringify(state.modelConfig))\r\n var newConfForm = newConf.configuration.find(c => c.formTemplateCode === formTemplateCode).configurationForm \r\n\r\n // console.log(\"newConf\", newConf)\r\n // console.log(\"newConfForm\", newConfForm)\r\n\r\n var paramCode = newConfForm.find(p => p.formDetailCode === formDetailCode)\r\n // console.log(\"paramCode\", paramCode)\r\n\r\n if(paramCode){\r\n if(paramCode.inputType === \"radio\"){\r\n /* gli input radio hanno un comportamento particolare: se seleziono, il valore non è \"checked\", ma corrisponde al contenuto di formDetailCode. Inoltre se seleziono\r\n un radio e successivamente seleziono uno diverso, il primo continuerà ad avere il valore di formDetailCode, quindi bisogna modificarlo manualmente in \"unchecked\" */\r\n console.log(\"formDetailCode\", formDetailCode)\r\n var radios = newConfForm.filter(cf => cf.inputType === \"radio\" && cf.formDetailCode !== formDetailCode)\r\n console.log(\"radios\",radios)\r\n radios.forEach(cf => cf.instance.value = \"unchecked\")\r\n }\r\n\r\n paramCode.instance.value = newValue\r\n }\r\n\r\n // TODO\r\n // Da creare servizio backend per aggiornamento dinamico form (tramite procedura)\r\n if(formDetailCode === \"Configurazione_AUTO\"){\r\n console.log(\"Configurazione_AUTO\", newValue === true)\r\n\r\n for(var i=0; i i.ItemCode === item.ItemCode)\r\n\r\n if(itemToUpdate && newQty >= 0) {\r\n itemToUpdate.Qty = newQty\r\n\r\n console.log(\"newCart\", newCart)\r\n\r\n newCart.forEach(i => {\r\n i.accessories.forEach(a => {\r\n \r\n if(a.accessoryGrpForm) {\r\n // se l accessorio non è modificabile dall utente bisogna aggiornare automaticamente la qta per questo accessorio\r\n var qtyForm = a.accessoryGrpForm.find(af => af.formDetailCode.includes(\"Qty\") && af.dimmed === 1)\r\n if(qtyForm){\r\n var currQty = parseInt(qtyForm.instance.value);\r\n qtyForm.instance.value = ((currQty /parseInt(prevQty)) * parseInt(newQty)).toString()\r\n\r\n console.log(\"currQty\", currQty)\r\n console.log(\"qtyForm.instance.value\", qtyForm.instance.value)\r\n \r\n }\r\n }\r\n })\r\n })\r\n\r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n return {...state, itemInCart: newCart }\r\n break;\r\n }\r\n case REMOVE_ITEM_IN_CART:\r\n var item = action.payload.item \r\n var newCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n // (\"action.payload.item\", action.payload.item)\r\n var itemToRemoveIndex = newCart.findIndex(i => i.iD_Item === item.iD_Item && i.configurationCode === item.configurationCode)\r\n // console.log(\"itemToRemoveIndex\",itemToRemoveIndex)\r\n if(itemToRemoveIndex >= 0){\r\n if(newCart.length == 1) {\r\n sessionStorage.setItem('itemInCart', JSON.stringify([]))\r\n sessionStorage.setItem('completeRequestBtnEnabled', false)\r\n return {...state, itemInCart: [], completeRequestBtnEnabled: false }\r\n }\r\n else {\r\n newCart.splice(itemToRemoveIndex, 1)\r\n // (\"REMOVE_ITEM_IN_CART newCart\", newCart)\r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n sessionStorage.setItem('completeRequestBtnEnabled', true)\r\n return {...state, itemInCart: newCart, completeRequestBtnEnabled: true }\r\n break;\r\n } \r\n \r\n }\r\n break;\r\n case SET_ITEM_PRICE:\r\n console.log(\"SET_ITEM_PRICE\", action.payload)\r\n\r\n var item = action.payload.item \r\n var newCart = JSON.parse(JSON.stringify(state.itemInCart)) \r\n\r\n var itemToSetPrice = newCart.find(i => i.iD_Item === item.iD_Item && i.configurationCode === item.configurationCode)\r\n // console.log(\"itemToSetPrice\", itemToSetPrice)\r\n if(itemToSetPrice) {\r\n itemToSetPrice.price = parseFloat(action.payload.price.price)\r\n itemToSetPrice.total = itemToSetPrice.price * itemToSetPrice.Qty\r\n itemToSetPrice.supplierCode = \"\"\r\n\r\n if(action.payload.price.itemCode && action.payload.price.itemCode != \"\"){\r\n itemToSetPrice.itemCode = action.payload.price.itemCode\r\n }\r\n\r\n if(action.payload.price.supplierCode){\r\n itemToSetPrice.supplierCode = action.payload.price.supplierCode\r\n }\r\n\r\n if(action.payload.price.extraCharges){\r\n itemToSetPrice.extraCharges = action.payload.price.extraCharges\r\n }\r\n }\r\n\r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n return {...state, itemInCart: newCart }\r\n break;\r\n case UPDATE_DELIVERY_DATE_ITEM:\r\n\r\n if(action.payload.deliveryDate) {\r\n var item = action.payload.item\r\n var newCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n var itemToUpdate = newCart.find(i => i.iD_Item === item.iD_Item && i.configurationCode === item.configurationCode)\r\n \r\n if(itemToUpdate) {\r\n itemToUpdate.deliveryDate = action.payload.deliveryDate \r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n return {...state, itemInCart: newCart } \r\n }\r\n else {\r\n return { ...state } \r\n } \r\n }\r\n else {\r\n return state\r\n } \r\n case SET_ITEM_CONFIGURATION_PDF_URL:\r\n console.log(\"SET_ITEM_CONFIGURATION_PDF_URL\", action.payload) \r\n\r\n if(action.payload.pdfUrl) {\r\n var item = action.payload.item\r\n var newCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n var itemToUpdate = newCart.find(i => i.iD_Item === item.iD_Item && i.configurationCode === item.configurationCode)\r\n \r\n if(itemToUpdate) {\r\n itemToUpdate.pdfUrl = config.server + action.payload.pdfUrl \r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n return {...state, itemInCart: newCart } \r\n }\r\n else {\r\n return { ...state } \r\n } \r\n }\r\n else {\r\n return state\r\n } \r\n case SET_ITEM_CONFIGURATION_STEP_URL:\r\n console.log(\"SET_ITEM_CONFIGURATION_STEP_URL\", action.payload) \r\n\r\n if(action.payload.stepUrl) {\r\n var item = action.payload.item\r\n var newCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n var itemToUpdate = newCart.find(i => i.iD_Item === item.iD_Item && i.configurationCode === item.configurationCode)\r\n \r\n if(itemToUpdate) {\r\n itemToUpdate.stepUrl = config.server + action.payload.stepUrl \r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n return {...state, itemInCart: newCart } \r\n }\r\n else {\r\n return { ...state } \r\n } \r\n }\r\n else {\r\n return state\r\n } \r\n case SET_ITEMS_IN_CART_ACCESSORIES:\r\n // console.log(\"SET_ITEMS_IN_CART_ACCESSORIES\", action.payload)\r\n\r\n var item = action.payload.item\r\n var newCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n var itemToUpdate = newCart.find(i => i.iD_Item === item.iD_Item && i.configurationCode === item.configurationCode)\r\n // console.log(\"itemToUpdate\", itemToUpdate) \r\n if(itemToUpdate) {\r\n itemToUpdate.accessories = action.payload.accessories \r\n itemToUpdate.accessories.forEach(function(acc){\r\n if(acc.imgUrl) {\r\n acc.imgUrl = config.server + acc.imgUrl\r\n }\r\n })\r\n\r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n return {...state, itemInCart: newCart } \r\n }\r\n else {\r\n return { ...state } \r\n } \r\n case ONCHANGE_ACCESSORYGRP_FORM_INPUT:\r\n console.log(\"ONCHANGE_ACCESSORYGRP_FORM_INPUT\", action.payload)\r\n\r\n var formDetail = action.payload.formStep\r\n var item = action.payload.item\r\n var newCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n var itemToUpdate = newCart.find(i => i.iD_Item === item.iD_Item && i.configurationCode === item.configurationCode)\r\n console.log(\"itemToUpdate\", itemToUpdate) \r\n if(itemToUpdate && itemToUpdate.accessories) {\r\n\r\n itemToUpdate.accessories.forEach(function(acc){\r\n if(acc.accessoryGrpForm){\r\n acc.accessoryGrpForm.forEach(function(formDet){\r\n if(formDet.formDetailCode === formDetail.formDetailCode) {\r\n formDet.instance.value = action.payload.newValue\r\n }\r\n })\r\n }\r\n })\r\n\r\n sessionStorage.setItem('itemInCart', JSON.stringify(newCart))\r\n return {...state, itemInCart: newCart } \r\n }\r\n else {\r\n return { ...state } \r\n } \r\n case UPDATE_ITEM_IN_CART_ACCESSORIES:\r\n if(action.payload.itemInCart){\r\n sessionStorage.setItem('itemInCart', JSON.stringify(action.payload.itemInCart))\r\n return {...state, itemInCart: action.payload.itemInCart } \r\n }\r\n case ONCHANGE_CNC_FORM_INPUT:\r\n console.log(\"ONCHANGE_CNC_FORM_INPUT\", action.payload)\r\n var formDetail = action.payload.formStep\r\n var newFormList = JSON.parse(JSON.stringify(state.formList))\r\n\r\n var formDetToUpdate = newFormList.find(fd => fd.iD_FormDetail === formDetail.iD_FormDetail)\r\n if(formDetToUpdate) { \r\n formDetToUpdate.instance.value = action.payload.newValue\r\n sessionStorage.setItem('cartDetailsForm', JSON.stringify(newFormList))\r\n return {...state, formList: newFormList }\r\n }\r\n \r\n case SET_MODELCONFIGURATOR_DESCR:\r\n console.log(\"SET_MODELCONFIGURATOR_DESCR\", action.payload)\r\n \r\n var newItemInCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n newItemInCart[0].configurationDescr = action.payload.configurationDescr\r\n sessionStorage.setItem('itemInCart', JSON.stringify(newItemInCart))\r\n \r\n return {...state, itemInCart: newItemInCart }\r\n case EMPTY_CART:\r\n sessionStorage.setItem('itemInCart', JSON.stringify([]))\r\n sessionStorage.setItem('cartDetailsForm', JSON.stringify([]))\r\n sessionStorage.setItem('completeRequestBtnEnabled', false)\r\n return { itemInCart: [], formList: [], completeRequestBtnEnabled: false}\r\n\r\n case ONCHANGE_ITEM_NOTE:\r\n console.log(\"ONCHANGE_ITEM_NOTE\", action.payload)\r\n var newItemInCart = JSON.parse(JSON.stringify(state.itemInCart))\r\n\r\n var itemToUpd = newItemInCart.find(i => i.iD_Item === action.payload.item.iD_Item)\r\n if(itemToUpd) {\r\n itemToUpd.note = action.payload.note; \r\n }\r\n\r\n sessionStorage.setItem('itemInCart', JSON.stringify(newItemInCart)) \r\n return {...state, itemInCart: newItemInCart }\r\n\r\n default:\r\n return state\r\n }\r\n}","import { INITIALIZE_MODAL_CONFIRM } from '../actions/types';\r\n\r\n/*\r\n isOpen bool : gestione visualizzazione modal\r\n confirmRedirectTo: route in cui effettuare il reindirizzamento dopo la conferma\r\n getContent: funzione che restituisce il markup che sarà il contenuto della modal\r\n customStyles: stile css della modal\r\n*/\r\nconst INITIAL_STATE = {\r\n isOpen: false, // il controllo modal aperta/chiusa viene fatto direttamente dal controller che contiene la modal\r\n confirmRedirectTo: \"\",\r\n getContent: function() {},\r\n customStyles: {}\r\n}\r\n\r\nexport default function(state = INITIAL_STATE, action) {\r\n //console.log(\"modelconfigurator reducer\", action)\r\n switch(action.type) {\r\n case INITIALIZE_MODAL_CONFIRM:\r\n sessionStorage.setItem('confirmModalConfirmRedirectTo', action.payload.confirmRedirectTo )\r\n sessionStorage.setItem('confirmModalGetContentF', action.payload.getContent )\r\n sessionStorage.setItem('confirmModalCustomStyles', action.payload.customStyles )\r\n return {...state, confirmRedirectTo: action.payload.confirmRedirectTo, getContent: action.payload.getContent, customStyles: action.payload.customStyles } \r\n default:\r\n return state\r\n }\r\n}","import { SET_CARTCLOSE_USERDET_FORM, SET_CARTCLOSE_ITEMTABLE, UPDATE_DELIVERY_DATE, ONCHANGE_USERDET_FORM_INPUT } from '../actions/types'\r\n\r\nconst INITIAL_STATE = {\r\n // FORM\r\n invoiceBp: {},\r\n destinations: [],\r\n selectedDestination: null,\r\n carriages: [],\r\n selectedCarriage: null,\r\n creationDate: new Date(),\r\n deliveryDate: null,\r\n internalRef: null,\r\n note: null,\r\n userDetailForm: [],\r\n // ITEMS\r\n itemTableColumns: [],\r\n itemTableRows: []\r\n}\r\n\r\nexport default function (state = INITIAL_STATE, action) {\r\n // console.log(\"cart close reducer \" + action.type, action.payload)\r\n switch(action.type) {\r\n case SET_CARTCLOSE_USERDET_FORM:\r\n console.log(\"SET_CARTCLOSE_USERDET_FORM\", action.payload)\r\n /*\r\n var creationDate = new Date(action.payload.creationDate)\r\n var deliveryDate = null\r\n\r\n if(action.payload.deliveryDate) {\r\n deliveryDate = new Date(action.payload.deliveryDate) \r\n sessionStorage.setItem('cartCloseDeliveryDate', action.payload.deliveryDate) \r\n }\r\n else if(!sessionStorage.getItem('cartCloseDeliveryDate')){\r\n // lo metto a null perchè potrebbe essere undefined (questo crea problemi a componente datepicker)\r\n action.payload.deliveryDate = null\r\n }\r\n else {\r\n deliveryDate = new Date(sessionStorage.getItem('cartCloseDeliveryDate'))\r\n }\r\n\r\n sessionStorage.setItem('cartCloseInvoiceBp', JSON.stringify(action.payload.invoiceBp))\r\n sessionStorage.setItem('cartCloseDestinations', JSON.stringify(action.payload.destinations))\r\n sessionStorage.setItem('cartCloseCarriages', JSON.stringify(action.payload.carriages))\r\n sessionStorage.setItem('cartCloseCreationDate', action.payload.creationDate) \r\n sessionStorage.setItem('cartCloseInternalRef', action.payload.internalRef)\r\n sessionStorage.setItem('cartCloseNote', action.payload.note)\r\n\r\n return {\r\n ...state, \r\n invoiceBp: action.payload.invoiceBp,\r\n destinations: action.payload.destinations,\r\n carriages: action.payload.carriages,\r\n creationDate: creationDate,\r\n deliveryDate: deliveryDate,\r\n internalRef: action.payload.internalRef,\r\n note: action.payload.note\r\n }\r\n */\r\n \r\n sessionStorage.setItem('cartCloseUserDetailForm', JSON.stringify(action.payload)) \r\n return {...state, userDetailForm: action.payload}\r\n case SET_CARTCLOSE_ITEMTABLE:\r\n \r\n sessionStorage.setItem('cartCloseItemTableColumns', JSON.stringify(action.payload.columns))\r\n\r\n return {\r\n ...state, \r\n itemTableColumns: action.payload.columns\r\n }\r\n case UPDATE_DELIVERY_DATE:\r\n var deliveryDate = null\r\n \r\n // console.log(\"UPDATE_DELIVERY_DATE\", action.payload.deliveryDate)\r\n\r\n if(typeof action.payload.deliveryDate !== undefined) {\r\n deliveryDate = new Date(action.payload.deliveryDate) \r\n sessionStorage.setItem('cartCloseDeliveryDate', action.payload.deliveryDate) \r\n\r\n return {\r\n ...state,\r\n deliveryDate: deliveryDate\r\n } \r\n }\r\n else {\r\n console.log(\"action.payload.deliveryDate UNDEFINED\")\r\n return state\r\n } \r\n case ONCHANGE_USERDET_FORM_INPUT:\r\n // console.log(\"ONCHANGE_USERDET_FORM_INPUT\", action.payload)\r\n var formDetail = action.payload.formStep\r\n var newFormList = JSON.parse(JSON.stringify(state.userDetailForm))\r\n\r\n var formDetToUpdate = newFormList.find(fd => fd.iD_FormDetail === formDetail.iD_FormDetail)\r\n if(formDetToUpdate) { \r\n formDetToUpdate.instance.value = action.payload.newValue\r\n sessionStorage.setItem('cartCloseUserDetailForm', JSON.stringify(newFormList))\r\n return {...state, userDetailForm: newFormList }\r\n }\r\n default:\r\n return state\r\n }\r\n}","import { SET_LOGGED_USER, SET_ISLOGGEDUSER } from \"../actions/types\";\r\n\r\nconst INITIAL_STATE = {\r\n isUserLogged: false,\r\n id_User: \"\",\r\n userCode: \"\",\r\n userName: \"\"\r\n}\r\n\r\nexport default function(state = INITIAL_STATE, action) {\r\n switch(action.type){\r\n // apertura/chiusura menu\r\n case SET_LOGGED_USER:\r\n console.log(\"SET_LOGGED_USER\", action.payload)\r\n sessionStorage.setItem(\"id_User\", action.payload.id_User)\r\n sessionStorage.setItem(\"userCode\", action.payload.userCode)\r\n sessionStorage.setItem(\"userName\", action.payload.userName)\r\n return { ...state, id_User: action.payload.id_User, userCode: action.payload.userCode, userName: action.payload.userName}; \r\n \r\n case SET_ISLOGGEDUSER:\r\n sessionStorage.setItem('isUserLogged', action.payload.isUserLogged)\r\n return { ...state, isUserLogged: action.payload.isUserLogged }; \r\n default:\r\n return state;\r\n }\r\n}","import { combineReducers } from \"redux\";\r\nimport scroll from \"./scroll\";\r\nimport catalog from \"./catalog\";\r\nimport catalogBreadcrumb from \"./catalogBreadcrumb\";\r\nimport menu from \"./menu\";\r\nimport bpList from \"./bpList\";\r\nimport orders from \"./orders\";\r\nimport modelconfigurator from \"./modelconfigurator\";\r\nimport cart from \"./cart\";\r\nimport modalconfirm from \"./modalconfirm\";\r\nimport cartClose from \"./cartClose\";\r\nimport loggedUser from \"./loggedUser\";\r\nimport { DESTROY_SESSION } from \"../actions/types\";\r\n\r\n// Combine all reducers.\r\nconst appReducer = combineReducers({\r\n scroll,\r\n catalog,\r\n catalogBreadcrumb,\r\n menu,\r\n bpList,\r\n orders,\r\n modelconfigurator,\r\n cart,\r\n modalconfirm,\r\n cartClose,\r\n loggedUser\r\n});\r\n\r\n const rootReducer = (state, action) => { \r\n // Clear all data in redux store to initial.\r\n if(action.type === DESTROY_SESSION)\r\n {\r\n state = undefined;\r\n }\r\n \r\n return appReducer(state, action);\r\n };\r\n\r\n\r\nexport default rootReducer;","import index from './index';\r\n\r\nconst root = (state, action) => {\r\n return index(state, action)\r\n}\r\n\r\nexport default root;","import { createStore, applyMiddleware, compose } from 'redux';\r\nimport reduxThunk from 'redux-thunk';\r\nimport reducers from './reducers/root.js'\r\n\r\n// Store is the result of calling createStore.\r\n// You may also pass an initial state to createStore, useful for server side rendering and state preloading.\r\n// The most important concept to understand here is that the state in Redux comes from reducers; \r\n// reducers produce the state of your application.\r\n// Reducers produce the state of an application.\r\n// A Redux reducer is just a JavaScript function. It takes two parameters: the current state and action.\r\n\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\n// console.log(\"sessionStorage\", sessionStorage)\r\n\r\nconst store = createStore(\r\n reducers,\r\n {\r\n scroll: {\r\n scrollOffsetY : 0,\r\n scrollOffsetX : 0\r\n },\r\n catalog: {\r\n bp: sessionStorage.getItem('catalogBpActive') ? JSON.parse(sessionStorage.getItem('catalogBpActive')) : {},\r\n catalogElements: sessionStorage.getItem('catalogElements') ? JSON.parse(sessionStorage.getItem('catalogElements')) : [],\r\n itemElements: sessionStorage.getItem('itemElements') ? JSON.parse(sessionStorage.getItem('itemElements')) : []\r\n },\r\n catalogBreadcrumb: {\r\n steps: sessionStorage.getItem('catalogBreadcrumbSteps') ? JSON.parse(sessionStorage.getItem('catalogBreadcrumbSteps')) : []\r\n },\r\n menu: {\r\n menuElements: sessionStorage.getItem('menuElements') ? JSON.parse(sessionStorage.getItem('menuElements')) : [],\r\n isMenuOpen: sessionStorage.getItem('isMenuOpen') ? JSON.parse(sessionStorage.getItem('isMenuOpen')) : false,\r\n },\r\n bpList: {\r\n bpList: sessionStorage.getItem('bpList') ? JSON.parse(sessionStorage.getItem('bpList')) : []\r\n },\r\n orders: { \r\n draft: sessionStorage.getItem('draftOrders') ? JSON.parse(sessionStorage.getItem('draftOrders')) : [], \r\n inProgress: sessionStorage.getItem('inProgressOrders') ? JSON.parse(sessionStorage.getItem('inProgressOrders')) : [], \r\n history: sessionStorage.getItem('historyOrders') ? JSON.parse(sessionStorage.getItem('historyOrders')) : [], \r\n draftContainerOpen: true, \r\n inProgressContainerOpen: true, \r\n historyContainerOpen: true,\r\n searchstring: \"\"\r\n },\r\n modelconfigurator: {\r\n svf: sessionStorage.getItem('svf') ? sessionStorage.getItem('svf') : \"\",\r\n accessToken: sessionStorage.getItem('accessToken') ? sessionStorage.getItem('accessToken') : \"\",\r\n item: sessionStorage.getItem('modelConfiguratorItem') ? JSON.parse(sessionStorage.getItem('modelConfiguratorItem')) : [], \r\n modelConfig: sessionStorage.getItem('modelConfig') ? JSON.parse(sessionStorage.getItem('modelConfig')) : [],\r\n loading: false,\r\n outputIam: sessionStorage.getItem('outputIam') ? sessionStorage.getItem('outputIam') : \"\",\r\n },\r\n cart : {\r\n itemInCart: sessionStorage.getItem('itemInCart') ? JSON.parse(sessionStorage.getItem('itemInCart')) : [],\r\n formList: sessionStorage.getItem('cartDetailsForm') ? JSON.parse(sessionStorage.getItem('cartDetailsForm')) : [], \r\n completeRequestBtnEnabled: sessionStorage.getItem('completeRequestBtnEnabled') ? sessionStorage.getItem('completeRequestBtnEnabled') : false,\r\n },\r\n cartClose : {\r\n invoiceBp: sessionStorage.getItem('cartCloseInvoiceBp') ? JSON.parse(sessionStorage.getItem('cartCloseInvoiceBp')) : {},\r\n destinations: sessionStorage.getItem('cartCloseDestinations') ? JSON.parse(sessionStorage.getItem('cartCloseDestinations')) : [],\r\n selectedDestination: sessionStorage.getItem('cartCloseSelectedDestination') ? JSON.parse(sessionStorage.getItem('cartCloseSelectedDestination')) : null,\r\n carriages: sessionStorage.getItem('cartCloseCarriages') ? JSON.parse(sessionStorage.getItem('cartCloseCarriages')) : [],\r\n selectedCarriage: sessionStorage.getItem('cartCloseSelectedCarriage') ? JSON.parse(sessionStorage.getItem('cartCloseSelectedCarriage')) : null,\r\n creationDate: sessionStorage.getItem('cartCloseCreationDate') ? new Date(sessionStorage.getItem('cartCloseCreationDate')) : null,\r\n deliveryDate: sessionStorage.getItem('cartCloseDeliveryDate') ? new Date(sessionStorage.getItem('cartCloseDeliveryDate')) : null,\r\n internalRef: sessionStorage.getItem('cartCloseInternalRef') ? sessionStorage.getItem('cartCloseInternalRef') : null,\r\n note: sessionStorage.getItem('cartCloseNote') ? sessionStorage.getItem('cartCloseNote') : null,\r\n itemTableColumns: sessionStorage.getItem('cartCloseItemTableColumns') ? JSON.parse(sessionStorage.getItem('cartCloseItemTableColumns')) : [],\r\n userDetailForm: sessionStorage.getItem('cartCloseUserDetailForm') ? JSON.parse(sessionStorage.getItem('cartCloseUserDetailForm')) : [], \r\n },\r\n loggedUser: {\r\n isUserLogged: sessionStorage.getItem('isUserLogged') ? sessionStorage.getItem('isUserLogged') : false,\r\n id_User: sessionStorage.getItem('id_User') ? sessionStorage.getItem('id_User') : \"\",\r\n userCode: sessionStorage.getItem('userCode') ? sessionStorage.getItem('userCode') : \"\",\r\n userName: sessionStorage.getItem('userName') ? sessionStorage.getItem('userName') : \"\"\r\n }\r\n \r\n },\r\n composeEnhancers(applyMiddleware(reduxThunk))\r\n)\r\n\r\nexport default store;","import React, { useState } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from \"react-router-dom\";\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nfunction ModalLogout(props) {\r\n\r\n const [isOpen, setLogoutModOpen] = useState(false)\r\n Modal.setAppElement('#root');\r\n\r\n\r\n\r\n const buttonStyle= {\r\n border: \"1px solid black\",\r\n margin: \"1rem 1rem 0 0\" \r\n }\r\n\r\n const modalStyle = {\r\n content : {\r\n border: \"1px solid black\",\r\n bottom: \"auto\",\r\n left: \"50%\",\r\n marginRight: \"-50%\",\r\n right: \"auto\",\r\n top: \"50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: \"min(60vw, 600px)\",\r\n fontSize: \"min(1.5vw, 20px)\",\r\n fontWeight: \"500\"\r\n } \r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n )\r\n \r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n //console.log(\"ModalConfirm state \", state)\r\n return {\r\n \r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ModalLogout)","import React, { Component } from 'react';\r\nimport ModalLogout from '../subcomponents/ModalLogout'\r\nimport headerLogoNoScroll from '../../resources/HoG-Logo.jpg'\r\nimport { connect } from 'react-redux';\r\nimport 'bootstrap-icons/font/bootstrap-icons.css';\r\nimport {\r\n scrollEventOccurs,\r\n toogleMenuButtonClicked,\r\n doLogout\r\n} from '../../actions/index';\r\nimport { Link } from \"react-router-dom\";\r\n\r\nclass Header extends Component {\r\n\r\n scrollOffsetX = 0\r\n scrollOffsetY = 0\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLogoutModalOpen: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('scroll', this.handleScroll, true);\r\n }\r\n \r\n componentWillUnmount() {\r\n window.removeEventListener('scroll', this.handleScroll, true);\r\n }\r\n \r\n handleScroll = event => { \r\n // console.log(\"this.props\", this.props)\r\n this.props.scrollEventOccurs(window.pageXOffset, window.pageYOffset)\r\n }\r\n\r\n onConfirmLogout = () => {\r\n console.log(\"onConfirmLogout\")\r\n this.setState(({ isLogoutModalOpen }) => ({ isLogoutModalOpen: false }))\r\n this.props.doLogout();\r\n }\r\n\r\n onCloseModal = () => {\r\n console.log(\"this\", this)\r\n this.setState(({ isLogoutModalOpen }) => ({ isLogoutModalOpen: false }))\r\n }\r\n\r\n onLogoutCLicked = () => {\r\n this.setState(({ isLogoutModalOpen }) => ({ isLogoutModalOpen: true }))\r\n }\r\n\r\n render() {\r\n // console.log(\"this.props.itemInCartCount\",this.props.itemInCartCount)\r\n //console.log(\"this.props.isUserLogged\",this.props.isUserLogged)\r\n\r\n if(!this.props.isUserLogged) {\r\n return(
    \r\n \r\n
    );\r\n }\r\n else { \r\n return(\r\n
    \r\n \r\n
    \r\n )\r\n } \r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n scrollEventOccurs: (scrollOffsetX, scrollOffsetY) => dispatch(scrollEventOccurs(scrollOffsetX, scrollOffsetY)),\r\n toogleMenuButtonClicked: () => dispatch(toogleMenuButtonClicked()),\r\n doLogout: () => dispatch(doLogout())\r\n }\r\n }\r\n \r\n function mapStateToProps(state) {\r\n // console.log(\"state\", state)\r\n return {\r\n scrollOffsetX: state.scroll.scrollOffsetX,\r\n scrollOffsetY: state.scroll.scrollOffsetY,\r\n itemInCartCount: state.cart.itemInCart.length,\r\n isUserLogged: state.loggedUser.isUserLogged // da spostare dal reducer di menu e metterlo in un posto piu generico\r\n } \r\n }\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport 'bootstrap-icons/font/bootstrap-icons.css';\r\nimport {\r\n toogleMenuButtonClicked\r\n } from '../../actions/index';\r\n import {FormattedMessage} from 'react-intl';\r\n\r\nclass Menu extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n\r\n this.keyCount = 0;\r\n this.getKey = this.getKey.bind(this)\r\n }\r\n\r\n getKey() {\r\n var newKey = \"menu\" + this.keyCount++\r\n return newKey;\r\n } \r\n\r\n getElements= (_this) => {\r\n console.log(\"menuElements\", this.props.menuElements)\r\n\r\n var menuMarkup = []\r\n\r\n menuMarkup.push(
  • )\r\n\r\n this.props.menuElements.forEach(m => {\r\n if(_this.props.isMenuOpen) {\r\n menuMarkup.push(
  • )\r\n }\r\n else {\r\n menuMarkup.push(
  • )\r\n }\r\n });\r\n\r\n return menuMarkup\r\n }\r\n\r\n render() {\r\n if(!this.props.isUserLogged) {\r\n return (\r\n
    \r\n
    \r\n )\r\n }\r\n else if(this.props.isMenuOpen) {\r\n return (\r\n
    \r\n
      \r\n {this.getElements(this)} \r\n
    \r\n
    \r\n )\r\n }\r\n else {\r\n return (\r\n
    \r\n
      \r\n {this.getElements(this)} \r\n
    \r\n
    \r\n )\r\n }\r\n \r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n // console.log(state)\r\n return {\r\n menuElements: state.menu.menuElements,\r\n display: state.menu.display,\r\n isUserLogged: state.loggedUser.isUserLogged,\r\n isMenuOpen: state.menu.isMenuOpen\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n toogleMenuButtonClicked: () => dispatch(toogleMenuButtonClicked())\r\n }\r\n }\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Menu)","import React, { Component } from 'react';\r\n\r\nclass BpDetails extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return(\r\n

    ANAGRAFICA BP TODO

    \r\n )\r\n }\r\n}\r\n\r\nexport default BpDetails;","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n setBpFavourite\r\n } from '../../actions/index';\r\n\r\nclass BpCard extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() { \r\n //console.log(\"BpCard \", this.props)\r\n }\r\n\r\n componentDidUpdate() {\r\n // console.log(\"BpCard componentDidUpdate \", this.props)\r\n }\r\n\r\n onFavIconClicked= () => {\r\n this.props.setBpFavourite(this.props.item)\r\n }\r\n\r\n render() {\r\n return (\r\n
    this.props.onClick(this.props.item)} >\r\n
    \r\n

    { this.props.item.bpCode }

    \r\n
    \r\n
    \r\n
    \r\n

    { this.props.item.bpName }

    \r\n

    { this.props.item.bpCode }

    \r\n
    \r\n
    \r\n

    { this.props.item.tel }

    \r\n
    \r\n
    \r\n
    \r\n {this.props.item.isFavourite && (\r\n \r\n )}\r\n {!this.props.item.isFavourite && (\r\n \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n setBpFavourite: (bp) => dispatch(setBpFavourite(bp))\r\n }\r\n} \r\n\r\nexport default connect(null, mapDispatchToProps)(BpCard)","import React, { Component } from 'react';\r\nimport BpCard from '../subcomponents/BpCard';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n getBpList\r\n } from '../../actions/index';\r\n\r\nclass BpList extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n \r\n this.keyCount = 0;\r\n this.getKey = this.getKey.bind(this)\r\n }\r\n\r\n getKey() {\r\n var newKey = \"bplist\" + this.keyCount++\r\n return newKey;\r\n } \r\n\r\n componentDidMount() {\r\n this.props.getBpList()\r\n //console.log(\"BpList \", this.props)\r\n }\r\n\r\n componentDidUpdate() {\r\n // console.log(\"BpList componentDidUpdate \", this.props)\r\n }\r\n\r\n onBpListElementClicked = (item) => {\r\n // console.log(\"onBpListElementClicked \", item) \r\n }\r\n\r\n render() {\r\n const bpCards = [];\r\n \r\n for (let i = 0; i < this.props.bpList.length; i++) {\r\n bpCards.push( this.onBpListElementClicked(this.props.bpList[i])} />);\r\n }\r\n\r\n return(\r\n
    \r\n { bpCards }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state){\r\n return {\r\n bpList: state.bpList.bpList\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n getBpList: (dataRequest) => dispatch(getBpList(dataRequest))\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(BpList);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n deleteOrder\r\n } from '../../actions/index';\r\n\r\nclass OrderCard extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() { \r\n // console.log(\"OrderCard \", this.props)\r\n }\r\n\r\n componentDidUpdate() {\r\n // console.log(\"OrderCard componentDidUpdate \", this.props)\r\n }\r\n\r\n onDeleteClicked= () => {\r\n this.props.deleteOrder(this.props.item)\r\n }\r\n\r\n render() {\r\n return (\r\n
    this.props.onClick(this.props.item)} >\r\n
    \r\n

    { this.props.item.orderCode }

    \r\n
    \r\n
    \r\n
    \r\n

    { this.props.item.bpCode }

    \r\n

    { this.props.item.deliveryAddress }

    \r\n

    { this.props.item.orderDate }

    \r\n
    \r\n
    \r\n

    € { this.props.item.Tot }

    \r\n
    \r\n
    \r\n
    \r\n {this.props.deletable &&\r\n \r\n }\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n deleteOrder: (order) => dispatch(deleteOrder(order))\r\n }\r\n} \r\n\r\nexport default connect(null, mapDispatchToProps)(OrderCard)","import React, { Component } from 'react';\r\nimport OrderCard from '../subcomponents/OrderCard';\r\nimport { getOrders, toogleDraftOrdersContainer, toogleInProgressOrdersContainer, toogleHistoryOrdersContainer } from '../../actions/index';\r\nimport { connect } from 'react-redux';\r\n\r\nclass Orders extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n \r\n this.keyCount = 0;\r\n this.getKey = this.getKey.bind(this)\r\n }\r\n\r\n getKey() {\r\n var newKey = \"orders\" + this.keyCount++\r\n return newKey;\r\n } \r\n\r\n componentDidMount() {\r\n this.props.getOrders()\r\n console.log(\"Orders \", this.props)\r\n }\r\n\r\n componentDidUpdate() {\r\n // console.log(\"BpList componentDidUpdate \", this.props)\r\n }\r\n\r\n onOrderElementClicked = (item) => {\r\n // console.log(\"onBpListElementClicked \", item) \r\n }\r\n\r\n onToogleDraftOrdersContainer = () => {\r\n this.props.toogleDraftOrdersContainer()\r\n }\r\n\r\n onToogleInProgressOrdersContainer = () => {\r\n this.props.toogleInProgressOrdersContainer()\r\n }\r\n\r\n onToogleHistoryOrdersContainer = () => {\r\n this.props.toogleHistoryOrdersContainer()\r\n }\r\n\r\n render() {\r\n const orderCardsDraft = [];\r\n const orderCardsInProgress = [];\r\n const orderCardsHistory = [];\r\n // console.log(\"this.props\", this.props)\r\n for (let i = 0; i < this.props.draft.length; i++) {\r\n orderCardsDraft.push( this.onOrderElementClicked(this.props.draft[i])} deletable={true} />);\r\n }\r\n for (let j = 0; j < this.props.inProgress.length; j++) {\r\n orderCardsInProgress.push( this.onOrderElementClicked(this.props.inProgress[j])} />);\r\n }\r\n for (let k = 0; k < this.props.history.length; k++) {\r\n orderCardsHistory.push( this.onOrderElementClicked(this.props.history[k])} />);\r\n }\r\n \r\n return(\r\n
    \r\n\r\n
    \r\n
    \r\n

    Bozze di preventivo

    \r\n {this.props.draftContainerOpen &&\r\n \r\n }\r\n {!this.props.draftContainerOpen &&\r\n \r\n }\r\n
    \r\n
    \r\n { orderCardsDraft }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Preventivi

    \r\n {this.props.inProgressContainerOpen &&\r\n \r\n }\r\n {!this.props.inProgressContainerOpen &&\r\n \r\n }\r\n
    \r\n
    \r\n { orderCardsInProgress }\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Storico

    \r\n {this.props.historyContainerOpen &&\r\n \r\n }\r\n {!this.props.historyContainerOpen &&\r\n \r\n }\r\n
    \r\n
    \r\n { orderCardsHistory }\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state){\r\n // console.log(\"state\", state)\r\n return {\r\n draft: state.orders.draft,\r\n inProgress: state.orders.inProgress,\r\n history: state.orders.history,\r\n draftContainerOpen: state.orders.draftContainerOpen,\r\n inProgressContainerOpen: state.orders.inProgressContainerOpen,\r\n historyContainerOpen: state.orders.historyContainerOpen,\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n getOrders: (dataRequest) => dispatch(getOrders(dataRequest)),\r\n toogleDraftOrdersContainer: () => dispatch(toogleDraftOrdersContainer()),\r\n toogleInProgressOrdersContainer: () => dispatch(toogleInProgressOrdersContainer()),\r\n toogleHistoryOrdersContainer: () => dispatch(toogleHistoryOrdersContainer())\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Orders);","/////////////////////////////////////////////////////////////////////\r\n// Copyright (c) Autodesk, Inc. All rights reserved\r\n// Written by Forge Design Automation team for Inventor\r\n//\r\n// Permission to use, copy, modify, and distribute this software in\r\n// object code form for any purpose and without fee is hereby granted,\r\n// provided that the above copyright notice appears in all copies and\r\n// that both that copyright notice and the limited warranty and\r\n// restricted rights notice below appear in all supporting\r\n// documentation.\r\n//\r\n// AUTODESK PROVIDES THIS PROGRAM \"AS IS\" AND WITH ALL FAULTS.\r\n// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF\r\n// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.\r\n// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE\r\n// UNINTERRUPTED OR ERROR FREE.\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n// use fixed version of the viewer to avoid usage of untested viewer version\r\nconst viewerVersion = '7.29.0';\r\n\r\n// in case you need to debug Viewer script/css - remove '.min' from the URLs\r\nexport const viewerCss = \"https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css\";\r\nexport const viewerJs = \"https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js\";\r\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {}\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\n\nfunction ThemeProvider({\n prefixes = {},\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: { ...prefixes\n },\n dir\n }), [prefixes, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({ ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, { ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Spinner = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n variant,\n animation,\n size,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n const bsSpinnerPrefix = `${bsPrefix}-${animation}`;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsSpinnerPrefix, size && `${bsSpinnerPrefix}-${size}`, variant && `text-${variant}`)\n });\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","import React, { Component } from 'react';\r\nimport Spinner from 'react-bootstrap/Spinner'\r\nimport { connect } from 'react-redux';\r\n\r\nclass LoadingSpinner extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n }\r\n\r\n render() {\r\n // console.log(\"LoadingSpinner isVisible\",this.props.isVisible)\r\n return (\r\n this.props.isVisible === \"true\" ?\r\n
    \r\n \r\n
    : null\r\n )\r\n }\r\n}\r\n\r\nexport default LoadingSpinner;\r\n\r\n","import React, { useState } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Modal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from \"react-router-dom\";\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nfunction ModalConfirm(props) {\r\n \r\n\r\n const [isOpen, setModalConfirmOpen] = useState(false)\r\n Modal.setAppElement('#root');\r\n\r\n \r\n\r\n const buttonStyle= {\r\n border: \"1px solid black\",\r\n margin: \"1rem 1rem 0 0\" \r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {props.getContent()}\r\n
    \r\n
    \r\n\r\n { typeof props.closeModal !== \"undefined\" ? \r\n \r\n : \r\n
    \r\n } \r\n \r\n { typeof props.confirmRedirectTo === \"undefined\" || props.confirmRedirectTo === \"\" ? \r\n \r\n : \r\n \r\n } \r\n
    \r\n \r\n
    \r\n )\r\n \r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n //console.log(\"ModalConfirm state \", state)\r\n return {\r\n customStyles: state.modalconfirm.customStyles,\r\n getContent: state.modalconfirm.getContent,\r\n confirmRedirectTo: state.modalconfirm.confirmRedirectTo \r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ModalConfirm)","import React, { useState } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nfunction ModalConfiguratorInfo(props) {\r\n \r\n\r\n const [isOpen, setModalConfirmOpen] = useState(false)\r\n Modal.setAppElement('#root');\r\n\r\n \r\n\r\n const buttonStyle= {\r\n border: \"1px solid #FF7000\",\r\n margin: \"1rem 1rem 0 0\",\r\n color: \"#FF7000\" \r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    Note Generali

    \r\n
    \r\n

    Il configuratore online di Hoffmann Italia è in versione Beta e per questo motivo può avere problemi di funzionamento. Nel caso contattate direttamente il servizio tecnico di Hoffmann Italia spa al Tel. 049-7960209 o via mail application.specialtools@hoffmann-group.com

    \r\n
    \r\n
    \r\n
      \r\n
    • Le dimensioni realizzabili delle piastre possono essere diverse in funzione della loro geometria della piastra Zeropoint
    • \r\n
    • Le piastre possono essere costruite in più parti in funzione delle dimensioni e vengono assemblate in fase di montaggio da parte del cliente.
    • \r\n
    • In fase di offerta viene specificato se le piastre Zeropoint sono componibili e in quante parte saranno costituite
    • \r\n
    • I prezzi indicati dal configuratore posso subire variazioni in funzione dei costi delle materie prime
    • \r\n
    • La consegna indicata in offerta è solo indicativa
    • \r\n
    • Dopo l’accettazione dell’ordine da parte del cliente con la controfirma del disegno dell’attrezzatura definitivo è possibile dare una data precisa di consegna.
    • \r\n
    • Il prezzi per le piastre in acciaio e in alluminio non varia
    • \r\n
    • Le piastre possono essere costruite con circuitazione resinata, con foratura profonda o con entrambe le tecnologie. La scelta è di competenza di Hoffmann Italia spa.
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n { typeof props.closeModal !== \"undefined\" ? \r\n \r\n : \r\n
    \r\n } \r\n
    \r\n \r\n
    \r\n )\r\n \r\n}\r\n\r\n\r\nexport default connect(null, null)(ModalConfiguratorInfo)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { viewerCss, viewerJs } from './../shared.js';\r\nimport { getForgeOAuthToken, setLoadingSpinnerVisibility, updateModelParameters, getModelConfiguratorForm, toogleMenuButtonClicked, addToCart,\r\n initializeModalConfirm, updateModelParametersInReducer, onChangeConfiguratorFormInput, getConfigurationDescription } from '../../actions/index';\r\nimport Script from 'react-load-script';\r\nimport LoadingSpinner from '../subcomponents/LoadingSpinner';\r\nimport ModalConfirm from '../subcomponents/ModalConfirm';\r\nimport { createBrowserHistory } from \"history\";\r\nimport {FormattedMessage} from 'react-intl';\r\nimport { GetConfigurationDetailMarkup } from './../../utils/Utils.js';\r\nimport ModalConfiguratorInfo from '../subcomponents/ModalConfiguratorInfo.js';\r\n\r\nlet Autodesk = null;\r\nconst locale = navigator.language;\r\n\r\nclass ModelConfigurator extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n\r\n var self = this;\r\n\r\n this.viewerDiv = React.createRef();\r\n this.viewer = null;\r\n this.getKey = this.getKey.bind(this)\r\n\r\n this.state = {\r\n isConfirmModalOpen: false,\r\n isCartNotEmptyWarnModalOpen: false,\r\n isConfigurationInfoModalOpen: false\r\n }\r\n\r\n }\r\n\r\n getKey() {\r\n var newKey = \"modelconfigurator\" + this.keyCount++\r\n return newKey;\r\n } \r\n\r\n componentDidMount() {\r\n let _this = this \r\n console.log(\"ModelConfigurator componentDidMount\", this)\r\n\r\n // In questa pagina chiudo il menu per recuperare spazio\r\n if(this.props.isMenuOpen === \"true\" || this.props.isMenuOpen == true) {\r\n this.props.toogleMenuButtonClicked()\r\n }\r\n\r\n // Action che inizializza l'oggett formList dello stato di modelconfigurator\r\n this.props.getModelConfiguratorForm({ iD_Item: this.props.item.iD_Item, LangCode: locale})\r\n .then(function(response){\r\n // console.log(\"getModelConfiguratorForm response\", response, response.status)\r\n }).catch(function(err){\r\n console.log(\"err\",err)\r\n let history = createBrowserHistory();\r\n history.push(\"/login\", _this.props)\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // console.log(\"componentDidUpdate\")\r\n\r\n if (Autodesk && (this.props.svf !== prevProps.svf)) {\r\n Autodesk.Viewing.Document.load(\r\n this.getSvfUrl(), this.onDocumentLoadSuccess.bind(this), this.onDocumentLoadFail.bind(this)\r\n );\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n // Riapro il menu quando esco da modelconfigurator\r\n /*\r\n HOF-33 richiesto da alessandro di tenerlo chiuso\r\n if(!this.props.isMenuOpen) {\r\n this.props.toogleMenuButtonClicked()\r\n }\r\n */\r\n\r\n\r\n }\r\n\r\n\r\n handleScriptLoad() {\r\n // console.log(\"handleScriptLoad\")\r\n this.props.setLoadingSpinnerVisibility(true);\r\n var self = this;\r\n\r\n var oauthCallback = function(token) {\r\n // console.log(\"token\",token)\r\n const options = { \r\n env: 'AutodeskProduction',\r\n accessToken: token\r\n }\r\n \r\n Autodesk = window.Autodesk; \r\n // const container = self.viewerDiv.current;\r\n const container = document.getElementById(\"ForgeViewer\");\r\n \r\n self.viewer = new Autodesk.Viewing.GuiViewer3D(container);\r\n \r\n // uncomment this for Viewer debugging\r\n //self.viewer.debugEvents(true); \r\n Autodesk.Viewing.Initializer(options, self.handleViewerInit.bind(self));\r\n }\r\n\r\n if(this.props.accessToken === \"\"){\r\n self.props.getForgeOAuthToken((res) => {\r\n // console.log(\"getForgeOAuthToken\", res)\r\n oauthCallback(res.data.dictionary.access_token)\r\n })\r\n }\r\n else {\r\n oauthCallback(this.props.accessToken)\r\n }\r\n \r\n \r\n }\r\n\r\n handleViewerInit() {\r\n // console.log(\"handleViewerInit\", this.viewer)\r\n\r\n const errorCode = this.viewer.start();\r\n if (errorCode)\r\n {\r\n console.log(\"*** errorCode\", errorCode);\r\n return;\r\n }\r\n \r\n // orient camera in the same way as it's on the thumbnail\r\n // corresponding to ViewOrientationTypeEnum.kIsoTopRightViewOrientation\r\n const viewer = this.viewer;\r\n \r\n this.viewer.addEventListener(Autodesk.Viewing.EXTENSION_LOADED_EVENT, (event) => {\r\n //console.log(\"EXTENSION_LOADED_EVENT\", event.extensionId)\r\n const viewCubeExtensionId = \"Autodesk.ViewCubeUi\";\r\n\r\n // this is not perfect, because the view transition is visible, so it's a place to improve someday\r\n if (event.extensionId === viewCubeExtensionId) {\r\n\r\n const viewCubeUI = event.target.getExtension(viewCubeExtensionId);\r\n viewCubeUI.setViewCube(\"front top right\");\r\n\r\n viewer.removeEventListener(Autodesk.Viewing.EXTENSION_LOADED_EVENT);\r\n }\r\n\r\n });\r\n\r\n // skip loading of svf when there is no active project svf\r\n if (!this.props.svf)\r\n {\r\n //console.log(\"!!!!!this.props.svf\",this.props.svf)\r\n return;\r\n }\r\n\r\n Autodesk.Viewing.Document.load(this.getSvfUrl(), this.onDocumentLoadSuccess.bind(this),this.onDocumentLoadFail.bind(this));\r\n }\r\n\r\n getSvfUrl() {\r\n console.log(\"this.props.svf\", this.props.svf + \"/bubble.json\")\r\n return this.props.svf + \"/bubble.json\";\r\n }\r\n\r\n onDocumentLoadSuccess(viewerDocument) {\r\n var self = this;\r\n // console.log(\"*** onDocumentLoadSuccess\", viewerDocument)\r\n if(viewerDocument.myPath === self.getSvfUrl()){\r\n const defaultModel = viewerDocument.getRoot().getDefaultGeometry();\r\n this.viewer.loadDocumentNode(viewerDocument, defaultModel).then(function(){\r\n self.props.setLoadingSpinnerVisibility(false);\r\n });\r\n }\r\n }\r\n\r\n onDocumentLoadFail(errorCode, error) {\r\n // console.log(\"*** onDocumentLoadFail\", errorCode, error)\r\n this.props.setLoadingSpinnerVisibility(false);\r\n }\r\n\r\n updateModel(event) {\r\n event.preventDefault();\r\n // console.log(\"***updateModel this.props.modelConfig\", this.props.modelConfig)\r\n var parameters = \"{\"\r\n var paramForReducer = []\r\n\r\n this.props.modelConfig.configuration[0].configurationForm.forEach(confInput => {\r\n\r\n // console.log(\"confInput\", confInput)\r\n\r\n /*\r\n TODO\r\n aggiungere la gestione per tutti i tipi di input, non solo text/select\r\n\r\n */\r\n if(confInput.inputType === \"text\" || confInput.inputType === \"select\"){\r\n // console.log(document.getElementById(confInput.formDetailCode).value)\r\n parameters = parameters + \" \\\"\" + confInput.formDetailCode + \"\\\" : { \\\"Value\\\": \\\"\" + document.getElementById(this.props.modelConfig.configuration[0].formTemplateCode + \"__\" + confInput.formDetailCode).value + \"\\\" } ,\" \r\n paramForReducer.push({ formDetailCode: confInput.formDetailCode, value: document.getElementById(this.props.modelConfig.configuration[0].formTemplateCode + \"__\" + confInput.formDetailCode).value })\r\n }\r\n\r\n if(confInput.inputType === \"checkbox\"){\r\n console.log(document.querySelector('#' + this.props.modelConfig.configuration[0].formTemplateCode + \"__\" + confInput.formDetailCode + ':checked'))\r\n\r\n if(document.querySelector('#' + this.props.modelConfig.configuration[0].formTemplateCode + \"__\" + confInput.formDetailCode + ':checked')) {\r\n parameters = parameters + \" \\\"\" + confInput.formDetailCode + \"\\\" : { \\\"Value\\\": \\\"\" + \"True\" + \"\\\" } ,\" \r\n paramForReducer.push({ formDetailCode: confInput.formDetailCode, value: \"True\" })\r\n }\r\n else {\r\n parameters = parameters + \" \\\"\" + confInput.formDetailCode + \"\\\" : { \\\"Value\\\": \\\"\" + \"False\" + \"\\\" } ,\" \r\n paramForReducer.push({ formDetailCode: confInput.formDetailCode, value: \"False\" })\r\n }\r\n \r\n }\r\n\r\n console.log(parameters)\r\n \r\n })\r\n\r\n parameters = parameters.slice(0, -1)\r\n parameters = parameters + \" } \"\r\n\r\n // console.log(\"parameters\", JSON.parse(parameters))\r\n \r\n var dataRequest = {\r\n appBundleName: \"UpdateParameters\",\r\n appBundleLabelVersion: \"alpha\",\r\n activityName: \"UpdateProject\",\r\n activityLabelVersion: \"alpha\",\r\n bucketName: this.props.modelConfig.forgeBucketName,\r\n objectName: this.props.modelConfig.forgeObjectName,\r\n assemblyRoot: this.props.modelConfig.assemblyRoot,\r\n parameters: JSON.parse(parameters)\r\n }\r\n\r\n this.props.setLoadingSpinnerVisibility(true);\r\n\r\n this.props.updateModelParameters(dataRequest, (updResp) => { \r\n //console.log(\"updResp\", updResp)\r\n var outputParameters = JSON.parse(updResp.UpdateParametersOutput)\r\n console.log(\"paramOut\", outputParameters)\r\n // this.props.updateModelParametersInReducer(paramForReducer) \r\n this.props.updateModelParametersInReducer(outputParameters) \r\n });\r\n }\r\n\r\n // Aggiunge articolo (prelevato dallo stato di modelconfigurator) a carrello\r\n addItemInCart = (e) => {\r\n // console.log(\"***** addItemInCart ***** \", this.props.item)\r\n e.preventDefault();\r\n var item = this.props.item\r\n\r\n item.modelConfiguration = this.props.modelConfig;\r\n item.outputIam = this.props.outputIam; // identificativo dello iam nel bucket forge. Utilizzato per generare pdf.\r\n item.forgeBucketName = this.props.modelConfig.forgeBucketName\r\n item.objectName = this.props.modelConfig.forgeObjectName\r\n item.assemblyRoot = this.props.modelConfig.assemblyRoot\r\n \r\n this.props.addToCart(item)\r\n // recupero descrizione in base a configurazione\r\n // setta nel modello dell item la descrizione in base alla configurazione \r\n var dataRequest = JSON.stringify({Item: item, ModelConfiguration: item.modelConfiguration }) \r\n this.props.getConfigurationDescription(dataRequest)\r\n this.setState(({ isConfirmModalOpen }) => ({ isConfirmModalOpen: false }))\r\n }\r\n\r\n /*\r\n Controlla se sono già presenti articoli a carrello. In caso affermativo, apre la modal che avvisa l utente. In caso contrario apre la modal per confermare la configurazione scelta.\r\n */\r\n openModal = (e) => {\r\n e.preventDefault();\r\n\r\n if(this.props.itemInCart.length > 0){\r\n this.openModalCartNotEmptyWarn();\r\n }\r\n else {\r\n this.openModalConfirm();\r\n }\r\n }\r\n\r\n openModalConfiguratorInfo = (e) => {\r\n this.setState(({ isConfigurationInfoModalOpen }) => ({ isConfigurationInfoModalOpen: true }))\r\n }\r\n\r\n /*\r\n Inizializza lo stato di ModalConfirm e apre la modal\r\n Apre la modal per visualizzare ed eventualmente confermare la configurazione scelta\r\n */\r\n openModalConfirm = () => {\r\n\r\n this.setState(({ isCartNotEmptyWarnModalOpen }) => ({ isCartNotEmptyWarnModalOpen: false }))\r\n\r\n var confirmRedirectTo = \"/cart\" // redirezione su /cart se utente conferma\r\n var config = GetConfigurationDetailMarkup(this.props.modelConfig.configuration[0].configurationForm) // configurazione del modello da visualizzare // configurazione del modello da visualizzare\r\n\r\n // Funzione che restituisce il markup da settare come contenuto della modal\r\n var getContent = function() { \r\n return
    \r\n

    \r\n
    \r\n {config }\r\n
    \r\n
    \r\n }\r\n\r\n // Stile css della ModalConfirm\r\n var customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: \"60%\",\r\n border: \"1px solid black\", \r\n }\r\n }\r\n\r\n // Inizializza lo stato della ModalConfirm\r\n this.props.initializeModalConfirm(confirmRedirectTo, getContent, customStyles)\r\n // Apre la ModalConfirm\r\n this.setState(({ isConfirmModalOpen }) => ({ isConfirmModalOpen: true }))\r\n }\r\n\r\n /*\r\n Apre la modal che avvisa l utente della presenza di un articolo a carrello. Se conferma, tale articolo a carrello verrà sostituito dall articolo corrente\r\n */\r\n openModalCartNotEmptyWarn = () => {\r\n\r\n // Funzione che restituisce il markup da settare come contenuto della modal\r\n var getContent = function() { \r\n return
    \r\n

    \r\n \r\n

    \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n }\r\n\r\n // Stile css della ModalConfirm\r\n var customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: \"50%\",\r\n border: \"1px solid black\", \r\n }\r\n }\r\n\r\n // Inizializza lo stato della ModalConfirm\r\n this.props.initializeModalConfirm(\"\", getContent, customStyles)\r\n // Apre la ModalConfirm\r\n this.setState(({ isCartNotEmptyWarnModalOpen }) => ({ isCartNotEmptyWarnModalOpen: true }))\r\n }\r\n\r\n closeModalConfirm = () => {\r\n this.setState(({ isConfirmModalOpen }) => ({ isConfirmModalOpen: false }))\r\n }\r\n\r\n closeModalCartNotEmptyWarn = () => {\r\n this.setState(({ isCartNotEmptyWarnModalOpen }) => ({ isCartNotEmptyWarnModalOpen: false }))\r\n }\r\n\r\n closeModalConfigurationInfo = () => {\r\n this.setState(({ isConfigurationInfoModalOpen }) => ({ isConfigurationInfoModalOpen: false }))\r\n }\r\n\r\n getFormToRender = () => {\r\n // console.log(\" getFormToRender\", this.props.modelConfig.configuration.configurationForm)\r\n var _this= this\r\n var formListToRender = []\r\n var keyDiv = \"\"\r\n var keyInput = \"\"\r\n var keyLabel = \"\"\r\n \r\n this.props.modelConfig.configuration[0].configurationForm.map(function(formStep, index) {\r\n \r\n var formTemplateCode = _this.props.modelConfig.configuration[0].formTemplateCode\r\n\r\n // console.log(\"formStep \", formStep)\r\n keyDiv = \"div_\" + formStep.formDetailCode + \"_\" + index;\r\n keyInput = \"input_\" + formStep.formDetailCode + \"_\" + index;\r\n keyLabel = \"label_\" + formStep.formDetailCode + \"_\" + index;\r\n \r\n formStep.onChange = function(e) {\r\n var newValue = e.target.value\r\n\r\n if(e.target.type === \"checkbox\"){\r\n newValue = e.target.checked\r\n }\r\n\r\n _this.props.onChangeConfiguratorFormInput(e.target.id, newValue)\r\n }\r\n \r\n switch(formStep.inputType) {\r\n case \"text\":\r\n //console.log(\"formStep.instance.value\", formStep.instance.value)\r\n if(formStep.dimmed === 1) {\r\n formListToRender.push(\r\n
    \r\n \r\n \r\n
    \r\n )\r\n }\r\n else {\r\n formListToRender.push(\r\n
    \r\n \r\n formStep.onChange(e) } />\r\n
    \r\n )\r\n }\r\n \r\n break;\r\n case \"select\":\r\n var options = []\r\n var keyOpt = \"\"\r\n formStep.inputValuesList.map(function(selectValue, index){\r\n keyOpt = \"option_\" + formStep.formDetailCode + \"_\" + index; \r\n //console.log(\"formStep.instance.value\", formStep.instance.value)\r\n //console.log(\"selectValue\", selectValue)\r\n var instanceV = formStep.instance.value\r\n // potrebbe essere presente l unita di misura, che elimino\r\n instanceV = instanceV.replace(/\\D+/g, \"\")\r\n selectValue = selectValue.replace(/\\D+/g, \"\")\r\n \r\n if(instanceV === selectValue) {\r\n options.push(\r\n \r\n )\r\n }\r\n else {\r\n options.push(\r\n \r\n )\r\n }\r\n \r\n })\r\n \r\n if(formStep.dimmed === 1) {\r\n formListToRender.push(\r\n
    \r\n \r\n \r\n
    \r\n )\r\n }\r\n else {\r\n formListToRender.push(\r\n
    \r\n \r\n \r\n
    \r\n )\r\n }\r\n \r\n break;\r\n case \"checkbox\":\r\n if(formStep.dimmed === 1) {\r\n formListToRender.push(\r\n
    \r\n formStep.onChange(e) } />\r\n \r\n
    \r\n );\r\n }\r\n else{\r\n if(formStep.instance.value === \"checked\" || formStep.instance.value === \"true\" || formStep.instance.value === \"True\" || formStep.instance.value === true) {\r\n formListToRender.push(\r\n
    \r\n formStep.onChange(e) } />\r\n \r\n
    \r\n );\r\n }\r\n else {\r\n formListToRender.push(\r\n
    \r\n formStep.onChange(e) } />\r\n \r\n
    \r\n );\r\n }\r\n \r\n }\r\n \r\n break;\r\n default:\r\n break;\r\n }\r\n })\r\n \r\n // console.log(\"formListToRender\", formListToRender)\r\n return formListToRender;\r\n }\r\n\r\n getFormButtons = () => {\r\n if(this.props.outputIam && this.props.outputIam !== \"\") {\r\n return[\r\n
    \r\n \r\n \r\n
    \r\n ]\r\n }\r\n else {\r\n return[\r\n
    \r\n \r\n \r\n
    \r\n ]\r\n }\r\n }\r\n\r\n render() {\r\n // console.log(this.props)\r\n if(this.props.modelConfig.configuration){\r\n \r\n return(\r\n
    \r\n {this.props.loading &&\r\n \r\n } \r\n {/* Modal che avvisa l utente della presenza di un articolo a carrello */}\r\n \r\n {/* Modal per confermare la configurazione corrente e la conseguente aggiunta a carrello (se già presente un articolo a carrello, quest'ultimo verrà sostituito) */}\r\n \r\n \r\n
    \r\n
    \r\n { this.getFormToRender() }\r\n { this.getFormButtons() }\r\n
    \r\n
    \r\n \r\n