@trackunit/react-core-hooks 0.2.219 → 0.2.220

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -135,6 +135,29 @@ const useEnvironment = () => {
135
135
  return context;
136
136
  };
137
137
 
138
+ const ErrorHandlingContext = React.createContext(null);
139
+ const ErrorHandlingContextProvider = ErrorHandlingContext.Provider; // easy import
140
+ /**
141
+ * Hook to get the error handling context.
142
+ *
143
+ * @example
144
+ * import { useErrorHandler } from "@trackunit/react-core-hooks";
145
+ * const { logError } = useErrorHandler();
146
+ *
147
+ * try { ... }
148
+ * catch(ex) {
149
+ * logError(ex);
150
+ * }
151
+ * @see {@link ErrorHandlingContext}
152
+ */
153
+ const useErrorHandler = () => {
154
+ const context = React.useContext(ErrorHandlingContext);
155
+ if (!context) {
156
+ throw new Error("useErrorHandler must be used within an ErrorHandlingContextProvider");
157
+ }
158
+ return context;
159
+ };
160
+
138
161
  /******************************************************************************
139
162
  Copyright (c) Microsoft Corporation.
140
163
 
@@ -872,6 +895,8 @@ exports.ConfirmationDialogProvider = ConfirmationDialogProvider;
872
895
  exports.CurrentUserPreferenceProvider = CurrentUserPreferenceProvider;
873
896
  exports.CurrentUserProvider = CurrentUserProvider;
874
897
  exports.EnvironmentContextProvider = EnvironmentContextProvider;
898
+ exports.ErrorHandlingContext = ErrorHandlingContext;
899
+ exports.ErrorHandlingContextProvider = ErrorHandlingContextProvider;
875
900
  exports.FilterBarProvider = FilterBarProvider;
876
901
  exports.ModalDialogContextProvider = ModalDialogContextProvider;
877
902
  exports.NavigationContextProvider = NavigationContextProvider;
@@ -890,6 +915,7 @@ exports.useCurrentUserSystemOfMeasurement = useCurrentUserSystemOfMeasurement;
890
915
  exports.useCurrentUserTimeZonePreference = useCurrentUserTimeZonePreference;
891
916
  exports.useCustomerRuntime = useCustomerRuntime;
892
917
  exports.useEnvironment = useEnvironment;
918
+ exports.useErrorHandler = useErrorHandler;
893
919
  exports.useEventRuntime = useEventRuntime;
894
920
  exports.useFeatureBranchQueryString = useFeatureBranchQueryString;
895
921
  exports.useFilterBarContext = useFilterBarContext;
package/index.esm.js CHANGED
@@ -112,6 +112,29 @@ const useEnvironment = () => {
112
112
  return context;
113
113
  };
114
114
 
115
+ const ErrorHandlingContext = createContext(null);
116
+ const ErrorHandlingContextProvider = ErrorHandlingContext.Provider; // easy import
117
+ /**
118
+ * Hook to get the error handling context.
119
+ *
120
+ * @example
121
+ * import { useErrorHandler } from "@trackunit/react-core-hooks";
122
+ * const { logError } = useErrorHandler();
123
+ *
124
+ * try { ... }
125
+ * catch(ex) {
126
+ * logError(ex);
127
+ * }
128
+ * @see {@link ErrorHandlingContext}
129
+ */
130
+ const useErrorHandler = () => {
131
+ const context = useContext(ErrorHandlingContext);
132
+ if (!context) {
133
+ throw new Error("useErrorHandler must be used within an ErrorHandlingContextProvider");
134
+ }
135
+ return context;
136
+ };
137
+
115
138
  /******************************************************************************
116
139
  Copyright (c) Microsoft Corporation.
117
140
 
@@ -842,4 +865,4 @@ const useCurrentUser = () => {
842
865
  return context;
843
866
  };
844
867
 
845
- export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, ConfirmationDialogProvider, CurrentUserPreferenceProvider, CurrentUserProvider, EnvironmentContextProvider, FilterBarProvider, ModalDialogContextProvider, NavigationContextProvider, OemBrandingContextProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, fetchAssetBlobUrl, useAnalytics, useAssetRuntime, useAssetSorting, useConfirmationDialog, useCurrentUser, useCurrentUserLanguage, useCurrentUserSystemOfMeasurement, useCurrentUserTimeZonePreference, useCustomerRuntime, useEnvironment, useEventRuntime, useFeatureBranchQueryString, useFilterBarContext, useHasAccessTo, useImageUploader, useIrisAppId, useIrisAppImage, useIrisAppName, useModalDialogContext, useNavigateInHost, useOemBrandingContext, useSiteRuntime, useTextSearch, useToast, useToken, useUserSubscription };
868
+ export { AnalyticsContext, AnalyticsContextProvider, AssetSortingProvider, ConfirmationDialogProvider, CurrentUserPreferenceProvider, CurrentUserProvider, EnvironmentContextProvider, ErrorHandlingContext, ErrorHandlingContextProvider, FilterBarProvider, ModalDialogContextProvider, NavigationContextProvider, OemBrandingContextProvider, ToastProvider, TokenProvider, UserSubscriptionProvider, fetchAssetBlobUrl, useAnalytics, useAssetRuntime, useAssetSorting, useConfirmationDialog, useCurrentUser, useCurrentUserLanguage, useCurrentUserSystemOfMeasurement, useCurrentUserTimeZonePreference, useCustomerRuntime, useEnvironment, useErrorHandler, useEventRuntime, useFeatureBranchQueryString, useFilterBarContext, useHasAccessTo, useImageUploader, useIrisAppId, useIrisAppImage, useIrisAppName, useModalDialogContext, useNavigateInHost, useOemBrandingContext, useSiteRuntime, useTextSearch, useToast, useToken, useUserSubscription };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-core-hooks",
3
- "version": "0.2.219",
3
+ "version": "0.2.220",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { ErrorHandlingContextValue } from "@trackunit/react-core-contexts-api";
3
+ export declare const ErrorHandlingContext: import("react").Context<ErrorHandlingContextValue | null>;
4
+ export declare const ErrorHandlingContextProvider: import("react").Provider<ErrorHandlingContextValue | null>;
5
+ /**
6
+ * Hook to get the error handling context.
7
+ *
8
+ * @example
9
+ * import { useErrorHandler } from "@trackunit/react-core-hooks";
10
+ * const { logError } = useErrorHandler();
11
+ *
12
+ * try { ... }
13
+ * catch(ex) {
14
+ * logError(ex);
15
+ * }
16
+ * @see {@link ErrorHandlingContext}
17
+ */
18
+ export declare const useErrorHandler: () => ErrorHandlingContextValue;
package/src/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./analytics/AnalyticsProvider";
2
2
  export * from "./assetSorting/AssetSortingProvider";
3
3
  export * from "./confirmationDialog/ConfirmationDialogProvider";
4
4
  export * from "./environment/EnvironmentContextProvider";
5
+ export * from "./errorHandling/ErrorHandlingProvider";
5
6
  export * from "./fetchAssetBlobUrl";
6
7
  export * from "./filter-bar/FilterBarProvider";
7
8
  export * from "./images/useImageUploader";