@syncular/core 0.0.2-2 → 0.0.3-14
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/dist/types.d.ts +33 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/types.ts +45 -2
package/dist/types.d.ts
CHANGED
|
@@ -51,12 +51,43 @@ export type MergeResult = MergeResultOk | MergeResultConflict;
|
|
|
51
51
|
* Options for transport operations.
|
|
52
52
|
* Provides hooks for auth errors and cancellation support.
|
|
53
53
|
*/
|
|
54
|
+
export type SyncAuthOperation = 'sync' | 'snapshotChunk' | 'snapshotChunkStream' | 'blobInitiateUpload' | 'blobCompleteUpload' | 'blobGetDownloadUrl';
|
|
55
|
+
export interface SyncAuthErrorContext {
|
|
56
|
+
operation: SyncAuthOperation;
|
|
57
|
+
status: 401 | 403;
|
|
58
|
+
}
|
|
59
|
+
export interface SyncAuthRetryContext extends SyncAuthErrorContext {
|
|
60
|
+
refreshResult: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface SyncAuthLifecycle {
|
|
63
|
+
/**
|
|
64
|
+
* Called when a request receives 401/403.
|
|
65
|
+
* Useful for marking auth/session as stale in app state.
|
|
66
|
+
*/
|
|
67
|
+
onAuthExpired?: (context: SyncAuthErrorContext) => Promise<void> | void;
|
|
68
|
+
/**
|
|
69
|
+
* Refresh credentials.
|
|
70
|
+
* Return true when refresh succeeded and a retry should be considered.
|
|
71
|
+
*/
|
|
72
|
+
refreshToken?: (context: SyncAuthErrorContext) => Promise<boolean> | boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Final retry decision after refresh completes.
|
|
75
|
+
* Defaults to `refreshResult` when omitted.
|
|
76
|
+
*/
|
|
77
|
+
retryWithFreshToken?: (context: SyncAuthRetryContext) => Promise<boolean> | boolean;
|
|
78
|
+
}
|
|
54
79
|
export interface SyncTransportOptions {
|
|
55
80
|
/**
|
|
56
|
-
*
|
|
57
|
-
* Return true to retry
|
|
81
|
+
* Legacy per-call auth retry callback.
|
|
82
|
+
* Return true to retry once after refreshing auth.
|
|
83
|
+
* If provided, this takes precedence over `authLifecycle`.
|
|
58
84
|
*/
|
|
59
85
|
onAuthError?: () => Promise<boolean>;
|
|
86
|
+
/**
|
|
87
|
+
* First-class auth lifecycle callbacks.
|
|
88
|
+
* Use this to centralize auth refresh behavior.
|
|
89
|
+
*/
|
|
90
|
+
authLifecycle?: SyncAuthLifecycle;
|
|
60
91
|
/**
|
|
61
92
|
* Abort signal for cancellation support.
|
|
62
93
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkMH;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzB,MAAM;IACN,IAAI;IAHtB,YACE,OAAe,EACC,MAAe,EACf,IAAa,EAC7B;QACA,KAAK,CAAC,OAAO,CAAC,CAAC;sBAHC,MAAM;oBACN,IAAI;QAGpB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IAAA,CAClC;CACF"}
|
package/package.json
CHANGED
package/src/types.ts
CHANGED
|
@@ -69,12 +69,55 @@ export type MergeResult = MergeResultOk | MergeResultConflict;
|
|
|
69
69
|
* Options for transport operations.
|
|
70
70
|
* Provides hooks for auth errors and cancellation support.
|
|
71
71
|
*/
|
|
72
|
+
export type SyncAuthOperation =
|
|
73
|
+
| 'sync'
|
|
74
|
+
| 'snapshotChunk'
|
|
75
|
+
| 'snapshotChunkStream'
|
|
76
|
+
| 'blobInitiateUpload'
|
|
77
|
+
| 'blobCompleteUpload'
|
|
78
|
+
| 'blobGetDownloadUrl';
|
|
79
|
+
|
|
80
|
+
export interface SyncAuthErrorContext {
|
|
81
|
+
operation: SyncAuthOperation;
|
|
82
|
+
status: 401 | 403;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export interface SyncAuthRetryContext extends SyncAuthErrorContext {
|
|
86
|
+
refreshResult: boolean;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface SyncAuthLifecycle {
|
|
90
|
+
/**
|
|
91
|
+
* Called when a request receives 401/403.
|
|
92
|
+
* Useful for marking auth/session as stale in app state.
|
|
93
|
+
*/
|
|
94
|
+
onAuthExpired?: (context: SyncAuthErrorContext) => Promise<void> | void;
|
|
95
|
+
/**
|
|
96
|
+
* Refresh credentials.
|
|
97
|
+
* Return true when refresh succeeded and a retry should be considered.
|
|
98
|
+
*/
|
|
99
|
+
refreshToken?: (context: SyncAuthErrorContext) => Promise<boolean> | boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Final retry decision after refresh completes.
|
|
102
|
+
* Defaults to `refreshResult` when omitted.
|
|
103
|
+
*/
|
|
104
|
+
retryWithFreshToken?: (
|
|
105
|
+
context: SyncAuthRetryContext
|
|
106
|
+
) => Promise<boolean> | boolean;
|
|
107
|
+
}
|
|
108
|
+
|
|
72
109
|
export interface SyncTransportOptions {
|
|
73
110
|
/**
|
|
74
|
-
*
|
|
75
|
-
* Return true to retry
|
|
111
|
+
* Legacy per-call auth retry callback.
|
|
112
|
+
* Return true to retry once after refreshing auth.
|
|
113
|
+
* If provided, this takes precedence over `authLifecycle`.
|
|
76
114
|
*/
|
|
77
115
|
onAuthError?: () => Promise<boolean>;
|
|
116
|
+
/**
|
|
117
|
+
* First-class auth lifecycle callbacks.
|
|
118
|
+
* Use this to centralize auth refresh behavior.
|
|
119
|
+
*/
|
|
120
|
+
authLifecycle?: SyncAuthLifecycle;
|
|
78
121
|
/**
|
|
79
122
|
* Abort signal for cancellation support.
|
|
80
123
|
*/
|