summaryrefslogtreecommitdiff
path: root/src/jet/utils/error-metadata.ts
diff options
context:
space:
mode:
authorrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
committerrxliuli <rxliuli@gmail.com>2025-11-04 05:03:50 +0800
commitbce557cc2dc767628bed6aac87301a1be7c5431b (patch)
treeb51a051228d01fe3306cd7626d4a96768aadb944 /src/jet/utils/error-metadata.ts
init commit
Diffstat (limited to 'src/jet/utils/error-metadata.ts')
-rw-r--r--src/jet/utils/error-metadata.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/jet/utils/error-metadata.ts b/src/jet/utils/error-metadata.ts
new file mode 100644
index 0000000..1322dfd
--- /dev/null
+++ b/src/jet/utils/error-metadata.ts
@@ -0,0 +1,16 @@
+import type { Opt } from '@jet/environment';
+import type { Intent } from '@jet/environment/dispatching';
+
+export function addRejectedIntent(error: Error, intent: Intent<unknown>) {
+ (error as any).rejectedIntent = intent;
+}
+
+export function getRejectedIntent(error: Error): Opt<Intent<unknown>> {
+ return hasRejectedIntent(error) ? error.rejectedIntent : null;
+}
+
+function hasRejectedIntent(
+ error: Error,
+): error is Error & { rejectedIntent: Intent<unknown> } {
+ return 'rejectedIntent' in error;
+}