@clicktap/state 0.16.2 → 0.16.3

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.
Files changed (59) hide show
  1. package/__mocks__/nanoid.d.ts +7 -0
  2. package/auth/AuthProvider.d.ts +255 -0
  3. package/auth/actions/addError.d.ts +8 -0
  4. package/auth/actions/clearErrors.d.ts +5 -0
  5. package/auth/actions/index.d.ts +8 -0
  6. package/auth/actions/notifyAuthenticated.d.ts +6 -0
  7. package/auth/actions/setAccessToken.d.ts +9 -0
  8. package/auth/actions/setIgnoreRefreshToken.d.ts +4 -0
  9. package/auth/actions/setUserContext.d.ts +9 -0
  10. package/auth/actions/unsetRefreshToken.d.ts +4 -0
  11. package/auth/actions/unsetUserContext.d.ts +8 -0
  12. package/auth/actors/authenticate.d.ts +16 -0
  13. package/auth/actors/index.d.ts +3 -0
  14. package/auth/actors/refreshAccessToken.d.ts +18 -0
  15. package/auth/actors/unauthenticate.d.ts +14 -0
  16. package/auth/auth.d.ts +115 -0
  17. package/auth/types.d.ts +50 -0
  18. package/helpers/request.d.ts +2 -0
  19. package/package.json +1 -1
  20. package/quote/CheckoutProvider.d.ts +276 -0
  21. package/quote/QuoteProvider.d.ts +491 -0
  22. package/quote/checkout/actions/changeStep.d.ts +8 -0
  23. package/quote/checkout/actions/index.d.ts +5 -0
  24. package/quote/checkout/actions/nextStep.d.ts +8 -0
  25. package/quote/checkout/actions/resetCheckout.d.ts +104 -0
  26. package/quote/checkout/actions/updateQuote.d.ts +216 -0
  27. package/quote/checkout/actions/updateSuccessId.d.ts +8 -0
  28. package/quote/checkout/actors/index.d.ts +2 -0
  29. package/quote/checkout/actors/placeOrder.d.ts +20 -0
  30. package/quote/checkout/actors/submitStepData.d.ts +19 -0
  31. package/quote/checkout/guards/index.d.ts +1 -0
  32. package/quote/checkout/guards/quoteExists.d.ts +10 -0
  33. package/quote/checkout/types.d.ts +55 -0
  34. package/quote/checkout.d.ts +85 -0
  35. package/quote/quote/actions/addItems.d.ts +217 -0
  36. package/quote/quote/actions/index.d.ts +9 -0
  37. package/quote/quote/actions/notifyAddItems.d.ts +6 -0
  38. package/quote/quote/actions/notifyRemoveItems.d.ts +6 -0
  39. package/quote/quote/actions/notifyUpdateItems.d.ts +6 -0
  40. package/quote/quote/actions/refresh.d.ts +216 -0
  41. package/quote/quote/actions/removeItems.d.ts +217 -0
  42. package/quote/quote/actions/reset.d.ts +40 -0
  43. package/quote/quote/actions/syncAccessToken.d.ts +100 -0
  44. package/quote/quote/actions/updateItems.d.ts +217 -0
  45. package/quote/quote/actors/addItems.d.ts +24 -0
  46. package/quote/quote/actors/index.d.ts +4 -0
  47. package/quote/quote/actors/refresh.d.ts +22 -0
  48. package/quote/quote/actors/removeItems.d.ts +24 -0
  49. package/quote/quote/actors/updateItems.d.ts +24 -0
  50. package/quote/quote/guards/canRefresh.d.ts +10 -0
  51. package/quote/quote/guards/hasItems.d.ts +5 -0
  52. package/quote/quote/guards/index.d.ts +2 -0
  53. package/quote/quote/types.d.ts +291 -0
  54. package/quote/quote.d.ts +155 -0
  55. package/quote/types.d.ts +5 -0
  56. package/toast/ToastProvider.d.ts +93 -0
  57. package/toast/timer.d.ts +22 -0
  58. package/toast/toast.d.ts +82 -0
  59. package/toast/types.d.ts +58 -0
@@ -0,0 +1,7 @@
1
+ export declare const nanoid: (_size?: number) => string;
2
+ export declare const customAlphabet: (_alphabet: string, _defaultSize?: number) => (_size?: number) => string;
3
+ declare const _default: {
4
+ nanoid: (_size?: number) => string;
5
+ customAlphabet: (_alphabet: string, _defaultSize?: number | undefined) => (_size?: number | undefined) => string;
6
+ };
7
+ export default _default;
@@ -0,0 +1,255 @@
1
+ import { ReactNode } from 'react';
2
+ import { Actor, InspectionEvent, Observer } from 'xstate';
3
+ import { authMachine } from './auth';
4
+ export interface AuthContextType {
5
+ authActor: Actor<typeof authMachine>;
6
+ isLoggedIn: boolean;
7
+ }
8
+ export declare const AuthContext: import('react').Context<Actor<import('xstate').StateMachine<import('./types').AuthMachineContext, import('./types').RefreshTokenEvent | import('./types').LoginEvent | import('./types').LogoutEvent | import('./types').ClearErrorsEvent | import('./types').RestoreEvent | import('xstate').DoneActorEvent<import('./types').AuthenticateSuccessEvent> | import('xstate').DoneActorEvent<import('./types').RefreshTokenSuccessEvent>, {
9
+ [x: string]: import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>, {
10
+ [k: string]: unknown;
11
+ type: string;
12
+ }, import('xstate').EventObject> | import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>, {
13
+ [k: string]: unknown;
14
+ type: string;
15
+ }, import('xstate').EventObject> | import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>, {
16
+ [k: string]: unknown;
17
+ type: string;
18
+ }, import('xstate').EventObject> | undefined;
19
+ }, import('xstate').Values<{
20
+ authenticate: {
21
+ src: "authenticate";
22
+ logic: import('xstate').PromiseActorLogic<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>;
23
+ id: string | undefined;
24
+ };
25
+ refreshAccessToken: {
26
+ src: "refreshAccessToken";
27
+ logic: import('xstate').PromiseActorLogic<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>;
28
+ id: string | undefined;
29
+ };
30
+ unauthenticate: {
31
+ src: "unauthenticate";
32
+ logic: import('xstate').PromiseActorLogic<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>;
33
+ id: string | undefined;
34
+ };
35
+ }>, import('xstate').Values<{
36
+ addError: {
37
+ type: "addError";
38
+ params: import('xstate').NonReducibleUnknown;
39
+ };
40
+ clearErrors: {
41
+ type: "clearErrors";
42
+ params: import('xstate').NonReducibleUnknown;
43
+ };
44
+ notifyAuthenticated: {
45
+ type: "notifyAuthenticated";
46
+ params: import('xstate').NonReducibleUnknown;
47
+ };
48
+ setAccessToken: {
49
+ type: "setAccessToken";
50
+ params: import('xstate').NonReducibleUnknown;
51
+ };
52
+ setIgnoreRefreshToken: {
53
+ type: "setIgnoreRefreshToken";
54
+ params: import('xstate').NonReducibleUnknown;
55
+ };
56
+ setUserContext: {
57
+ type: "setUserContext";
58
+ params: import('xstate').NonReducibleUnknown;
59
+ };
60
+ unsetRefreshToken: {
61
+ type: "unsetRefreshToken";
62
+ params: import('xstate').NonReducibleUnknown;
63
+ };
64
+ unsetUserContext: {
65
+ type: "unsetUserContext";
66
+ params: import('xstate').NonReducibleUnknown;
67
+ };
68
+ }>, never, "refresh", "refreshing" | "authenticating" | "loggedIn" | "loggedOut" | "unauthenticating" | "loggedInReady", string, {
69
+ initialContext: Partial<import('./types').AuthMachineContext>;
70
+ initialState?: string | undefined;
71
+ }, import('xstate').NonReducibleUnknown, import('./types').AuthenticatedEmittedEvent, import('xstate').MetaObject, import('xstate').ResolveTypegenMeta<import('xstate').TypegenDisabled, import('./types').RefreshTokenEvent | import('./types').LoginEvent | import('./types').LogoutEvent | import('./types').ClearErrorsEvent | import('./types').RestoreEvent | import('xstate').DoneActorEvent<import('./types').AuthenticateSuccessEvent> | import('xstate').DoneActorEvent<import('./types').RefreshTokenSuccessEvent>, import('xstate').Values<{
72
+ authenticate: {
73
+ src: "authenticate";
74
+ logic: import('xstate').PromiseActorLogic<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>;
75
+ id: string | undefined;
76
+ };
77
+ refreshAccessToken: {
78
+ src: "refreshAccessToken";
79
+ logic: import('xstate').PromiseActorLogic<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>;
80
+ id: string | undefined;
81
+ };
82
+ unauthenticate: {
83
+ src: "unauthenticate";
84
+ logic: import('xstate').PromiseActorLogic<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>;
85
+ id: string | undefined;
86
+ };
87
+ }>, import('xstate').Values<{
88
+ addError: {
89
+ type: "addError";
90
+ params: import('xstate').NonReducibleUnknown;
91
+ };
92
+ clearErrors: {
93
+ type: "clearErrors";
94
+ params: import('xstate').NonReducibleUnknown;
95
+ };
96
+ notifyAuthenticated: {
97
+ type: "notifyAuthenticated";
98
+ params: import('xstate').NonReducibleUnknown;
99
+ };
100
+ setAccessToken: {
101
+ type: "setAccessToken";
102
+ params: import('xstate').NonReducibleUnknown;
103
+ };
104
+ setIgnoreRefreshToken: {
105
+ type: "setIgnoreRefreshToken";
106
+ params: import('xstate').NonReducibleUnknown;
107
+ };
108
+ setUserContext: {
109
+ type: "setUserContext";
110
+ params: import('xstate').NonReducibleUnknown;
111
+ };
112
+ unsetRefreshToken: {
113
+ type: "unsetRefreshToken";
114
+ params: import('xstate').NonReducibleUnknown;
115
+ };
116
+ unsetUserContext: {
117
+ type: "unsetUserContext";
118
+ params: import('xstate').NonReducibleUnknown;
119
+ };
120
+ }>, never, "refresh", string, import('./types').AuthenticatedEmittedEvent>>>>;
121
+ export declare const useAuth: () => AuthContextType;
122
+ type AuthOptions = {
123
+ inspect: Observer<InspectionEvent> | undefined;
124
+ endpoints: {
125
+ login: string;
126
+ logout: string;
127
+ refresh: string;
128
+ ssrRefresh: string;
129
+ };
130
+ };
131
+ /**
132
+ * runs on server side as part of withAuth HOF
133
+ *
134
+ * @todo should probably update signature to pass Partial<AuthContext> and
135
+ * Options, endpoints should probably be moved into context
136
+ */
137
+ export declare const getAuth: (refreshToken?: string, options?: AuthOptions) => Promise<Actor<import('xstate').StateMachine<import('./types').AuthMachineContext, import('./types').RefreshTokenEvent | import('./types').LoginEvent | import('./types').LogoutEvent | import('./types').ClearErrorsEvent | import('./types').RestoreEvent | import('xstate').DoneActorEvent<import('./types').AuthenticateSuccessEvent> | import('xstate').DoneActorEvent<import('./types').RefreshTokenSuccessEvent>, {
138
+ [x: string]: import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>, {
139
+ [k: string]: unknown;
140
+ type: string;
141
+ }, import('xstate').EventObject> | import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>, {
142
+ [k: string]: unknown;
143
+ type: string;
144
+ }, import('xstate').EventObject> | import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>, {
145
+ [k: string]: unknown;
146
+ type: string;
147
+ }, import('xstate').EventObject> | undefined;
148
+ }, import('xstate').Values<{
149
+ authenticate: {
150
+ src: "authenticate";
151
+ logic: import('xstate').PromiseActorLogic<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>;
152
+ id: string | undefined;
153
+ };
154
+ refreshAccessToken: {
155
+ src: "refreshAccessToken";
156
+ logic: import('xstate').PromiseActorLogic<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>;
157
+ id: string | undefined;
158
+ };
159
+ unauthenticate: {
160
+ src: "unauthenticate";
161
+ logic: import('xstate').PromiseActorLogic<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>;
162
+ id: string | undefined;
163
+ };
164
+ }>, import('xstate').Values<{
165
+ addError: {
166
+ type: "addError";
167
+ params: import('xstate').NonReducibleUnknown;
168
+ };
169
+ clearErrors: {
170
+ type: "clearErrors";
171
+ params: import('xstate').NonReducibleUnknown;
172
+ };
173
+ notifyAuthenticated: {
174
+ type: "notifyAuthenticated";
175
+ params: import('xstate').NonReducibleUnknown;
176
+ };
177
+ setAccessToken: {
178
+ type: "setAccessToken";
179
+ params: import('xstate').NonReducibleUnknown;
180
+ };
181
+ setIgnoreRefreshToken: {
182
+ type: "setIgnoreRefreshToken";
183
+ params: import('xstate').NonReducibleUnknown;
184
+ };
185
+ setUserContext: {
186
+ type: "setUserContext";
187
+ params: import('xstate').NonReducibleUnknown;
188
+ };
189
+ unsetRefreshToken: {
190
+ type: "unsetRefreshToken";
191
+ params: import('xstate').NonReducibleUnknown;
192
+ };
193
+ unsetUserContext: {
194
+ type: "unsetUserContext";
195
+ params: import('xstate').NonReducibleUnknown;
196
+ };
197
+ }>, never, "refresh", "refreshing" | "authenticating" | "loggedIn" | "loggedOut" | "unauthenticating" | "loggedInReady", string, {
198
+ initialContext: Partial<import('./types').AuthMachineContext>;
199
+ initialState?: string | undefined;
200
+ }, import('xstate').NonReducibleUnknown, import('./types').AuthenticatedEmittedEvent, import('xstate').MetaObject, import('xstate').ResolveTypegenMeta<import('xstate').TypegenDisabled, import('./types').RefreshTokenEvent | import('./types').LoginEvent | import('./types').LogoutEvent | import('./types').ClearErrorsEvent | import('./types').RestoreEvent | import('xstate').DoneActorEvent<import('./types').AuthenticateSuccessEvent> | import('xstate').DoneActorEvent<import('./types').RefreshTokenSuccessEvent>, import('xstate').Values<{
201
+ authenticate: {
202
+ src: "authenticate";
203
+ logic: import('xstate').PromiseActorLogic<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>;
204
+ id: string | undefined;
205
+ };
206
+ refreshAccessToken: {
207
+ src: "refreshAccessToken";
208
+ logic: import('xstate').PromiseActorLogic<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>;
209
+ id: string | undefined;
210
+ };
211
+ unauthenticate: {
212
+ src: "unauthenticate";
213
+ logic: import('xstate').PromiseActorLogic<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>;
214
+ id: string | undefined;
215
+ };
216
+ }>, import('xstate').Values<{
217
+ addError: {
218
+ type: "addError";
219
+ params: import('xstate').NonReducibleUnknown;
220
+ };
221
+ clearErrors: {
222
+ type: "clearErrors";
223
+ params: import('xstate').NonReducibleUnknown;
224
+ };
225
+ notifyAuthenticated: {
226
+ type: "notifyAuthenticated";
227
+ params: import('xstate').NonReducibleUnknown;
228
+ };
229
+ setAccessToken: {
230
+ type: "setAccessToken";
231
+ params: import('xstate').NonReducibleUnknown;
232
+ };
233
+ setIgnoreRefreshToken: {
234
+ type: "setIgnoreRefreshToken";
235
+ params: import('xstate').NonReducibleUnknown;
236
+ };
237
+ setUserContext: {
238
+ type: "setUserContext";
239
+ params: import('xstate').NonReducibleUnknown;
240
+ };
241
+ unsetRefreshToken: {
242
+ type: "unsetRefreshToken";
243
+ params: import('xstate').NonReducibleUnknown;
244
+ };
245
+ unsetUserContext: {
246
+ type: "unsetUserContext";
247
+ params: import('xstate').NonReducibleUnknown;
248
+ };
249
+ }>, never, "refresh", string, import('./types').AuthenticatedEmittedEvent>>>>;
250
+ type Props = {
251
+ children: ReactNode;
252
+ actor: Actor<typeof authMachine>;
253
+ };
254
+ export declare function AuthProvider({ actor, children }: Props): import("react/jsx-runtime").JSX.Element;
255
+ export {};
@@ -0,0 +1,8 @@
1
+ import { AuthMachineContext, AuthMachineEvents } from '../types';
2
+ export declare function addError({ context, event, }: {
3
+ context: AuthMachineContext;
4
+ event: AuthMachineEvents;
5
+ }): AuthMachineContext | {
6
+ errors: string[];
7
+ };
8
+ export default addError;
@@ -0,0 +1,5 @@
1
+ /** @todo should we assertEvent here? */
2
+ export declare function clearErrors(): {
3
+ errors: never[];
4
+ };
5
+ export default clearErrors;
@@ -0,0 +1,8 @@
1
+ export * from './addError';
2
+ export * from './clearErrors';
3
+ export * from './notifyAuthenticated';
4
+ export * from './setAccessToken';
5
+ export * from './setIgnoreRefreshToken';
6
+ export * from './setUserContext';
7
+ export * from './unsetRefreshToken';
8
+ export * from './unsetUserContext';
@@ -0,0 +1,6 @@
1
+ import { AuthenticatedEmittedEvent, AuthMachineContext, AuthMachineEvents } from '../types';
2
+ export declare function notifyAuthenticated({ event, }: {
3
+ context: AuthMachineContext;
4
+ event: AuthMachineEvents;
5
+ }): AuthenticatedEmittedEvent;
6
+ export default notifyAuthenticated;
@@ -0,0 +1,9 @@
1
+ import { AuthMachineContext, AuthMachineEvents } from '../types';
2
+ export declare function setAccessToken({ context, event, }: {
3
+ context: AuthMachineContext;
4
+ event: AuthMachineEvents;
5
+ }): AuthMachineContext | {
6
+ accessToken: string;
7
+ ignoreRefreshToken: boolean;
8
+ };
9
+ export default setAccessToken;
@@ -0,0 +1,4 @@
1
+ export declare function setIgnoreRefreshToken(): {
2
+ ignoreRefreshToken: boolean;
3
+ };
4
+ export default setIgnoreRefreshToken;
@@ -0,0 +1,9 @@
1
+ import { AuthMachineContext, AuthMachineEvents } from '../types';
2
+ export declare function setUserContext({ context, event, }: {
3
+ context: AuthMachineContext;
4
+ event: AuthMachineEvents;
5
+ }): AuthMachineContext | {
6
+ accessToken: string;
7
+ ignoreRefreshToken: boolean;
8
+ };
9
+ export default setUserContext;
@@ -0,0 +1,4 @@
1
+ export declare function unsetRefreshToken(): {
2
+ refreshToken: string;
3
+ };
4
+ export default unsetRefreshToken;
@@ -0,0 +1,8 @@
1
+ /** @todo should we assertEvent here? */
2
+ export declare function unsetUserContext(): {
3
+ user: null;
4
+ accessToken: string;
5
+ refreshToken: string;
6
+ ignoreRefreshToken: boolean;
7
+ };
8
+ export default unsetUserContext;
@@ -0,0 +1,16 @@
1
+ import { AuthenticateSuccessEvent, AuthMachineContext } from '../types';
2
+ export type AuthenticateInput = {
3
+ endpoint: {
4
+ client: AuthMachineContext['endpoints']['login'];
5
+ };
6
+ password: string;
7
+ username: string;
8
+ };
9
+ export type AuthenticateResponse = {
10
+ success: boolean;
11
+ message?: string;
12
+ accessToken?: string;
13
+ };
14
+ /** @todo pass locale for auth server? */
15
+ export declare const authenticate: import('xstate').PromiseActorLogic<AuthenticateSuccessEvent, AuthenticateInput>;
16
+ export default authenticate;
@@ -0,0 +1,3 @@
1
+ export * from './authenticate';
2
+ export * from './refreshAccessToken';
3
+ export * from './unauthenticate';
@@ -0,0 +1,18 @@
1
+ import { RefreshTokenSuccessEvent, AuthMachineContext } from '../types';
2
+ export type RefreshTokenInput = {
3
+ refreshToken: AuthMachineContext['refreshToken'];
4
+ endpoint: {
5
+ client: AuthMachineContext['endpoints']['refresh'];
6
+ server: AuthMachineContext['endpoints']['ssrRefresh'];
7
+ };
8
+ };
9
+ export type RefreshTokenResponse = {
10
+ accessToken?: string;
11
+ };
12
+ export type RefreshTokenOutput = {
13
+ type: string;
14
+ accessToken: string;
15
+ };
16
+ /** @todo pass locale for auth server? */
17
+ export declare const refreshAccessToken: import('xstate').PromiseActorLogic<RefreshTokenSuccessEvent, RefreshTokenInput>;
18
+ export default refreshAccessToken;
@@ -0,0 +1,14 @@
1
+ import { UnauthenticateSuccessEvent, AuthMachineContext } from '../types';
2
+ export type UnauthenticateInput = {
3
+ endpoint: {
4
+ client: AuthMachineContext['endpoints']['logout'];
5
+ };
6
+ };
7
+ export type UnauthenticateResponse = {
8
+ success: boolean;
9
+ message?: string;
10
+ accessToken?: string;
11
+ };
12
+ /** @todo pass locale for auth server? */
13
+ export declare const unauthenticate: import('xstate').PromiseActorLogic<UnauthenticateSuccessEvent, UnauthenticateInput>;
14
+ export default unauthenticate;
package/auth/auth.d.ts ADDED
@@ -0,0 +1,115 @@
1
+ import { AuthMachineContext } from './types';
2
+ export declare const authMachine: import('xstate').StateMachine<AuthMachineContext, import('./types').RefreshTokenEvent | import('./types').LoginEvent | import('./types').LogoutEvent | import('./types').ClearErrorsEvent | import('./types').RestoreEvent | import('xstate').DoneActorEvent<import('./types').AuthenticateSuccessEvent> | import('xstate').DoneActorEvent<import('./types').RefreshTokenSuccessEvent>, {
3
+ [x: string]: import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>, {
4
+ [k: string]: unknown;
5
+ type: string;
6
+ }, import('xstate').EventObject> | import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>, {
7
+ [k: string]: unknown;
8
+ type: string;
9
+ }, import('xstate').EventObject> | import('xstate').ActorRef<import('xstate').PromiseSnapshot<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>, {
10
+ [k: string]: unknown;
11
+ type: string;
12
+ }, import('xstate').EventObject> | undefined;
13
+ }, import('xstate').Values<{
14
+ authenticate: {
15
+ src: "authenticate";
16
+ logic: import('xstate').PromiseActorLogic<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>;
17
+ id: string | undefined;
18
+ };
19
+ refreshAccessToken: {
20
+ src: "refreshAccessToken";
21
+ logic: import('xstate').PromiseActorLogic<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>;
22
+ id: string | undefined;
23
+ };
24
+ unauthenticate: {
25
+ src: "unauthenticate";
26
+ logic: import('xstate').PromiseActorLogic<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>;
27
+ id: string | undefined;
28
+ };
29
+ }>, import('xstate').Values<{
30
+ addError: {
31
+ type: "addError";
32
+ params: import('xstate').NonReducibleUnknown;
33
+ };
34
+ clearErrors: {
35
+ type: "clearErrors";
36
+ params: import('xstate').NonReducibleUnknown;
37
+ };
38
+ notifyAuthenticated: {
39
+ type: "notifyAuthenticated";
40
+ params: import('xstate').NonReducibleUnknown;
41
+ };
42
+ setAccessToken: {
43
+ type: "setAccessToken";
44
+ params: import('xstate').NonReducibleUnknown;
45
+ };
46
+ setIgnoreRefreshToken: {
47
+ type: "setIgnoreRefreshToken";
48
+ params: import('xstate').NonReducibleUnknown;
49
+ };
50
+ setUserContext: {
51
+ type: "setUserContext";
52
+ params: import('xstate').NonReducibleUnknown;
53
+ };
54
+ unsetRefreshToken: {
55
+ type: "unsetRefreshToken";
56
+ params: import('xstate').NonReducibleUnknown;
57
+ };
58
+ unsetUserContext: {
59
+ type: "unsetUserContext";
60
+ params: import('xstate').NonReducibleUnknown;
61
+ };
62
+ }>, never, "refresh", "refreshing" | "authenticating" | "loggedIn" | "loggedOut" | "unauthenticating" | "loggedInReady", string, {
63
+ initialContext: Partial<AuthMachineContext>;
64
+ initialState?: string | undefined;
65
+ }, import('xstate').NonReducibleUnknown, import('./types').AuthenticatedEmittedEvent, import('xstate').MetaObject, import('xstate').ResolveTypegenMeta<import('xstate').TypegenDisabled, import('./types').RefreshTokenEvent | import('./types').LoginEvent | import('./types').LogoutEvent | import('./types').ClearErrorsEvent | import('./types').RestoreEvent | import('xstate').DoneActorEvent<import('./types').AuthenticateSuccessEvent> | import('xstate').DoneActorEvent<import('./types').RefreshTokenSuccessEvent>, import('xstate').Values<{
66
+ authenticate: {
67
+ src: "authenticate";
68
+ logic: import('xstate').PromiseActorLogic<import('./types').AuthenticateSuccessEvent, import('./actors').AuthenticateInput>;
69
+ id: string | undefined;
70
+ };
71
+ refreshAccessToken: {
72
+ src: "refreshAccessToken";
73
+ logic: import('xstate').PromiseActorLogic<import('./types').RefreshTokenSuccessEvent, import('./actors').RefreshTokenInput>;
74
+ id: string | undefined;
75
+ };
76
+ unauthenticate: {
77
+ src: "unauthenticate";
78
+ logic: import('xstate').PromiseActorLogic<import('./types').UnauthenticateSuccessEvent, import('./actors').UnauthenticateInput>;
79
+ id: string | undefined;
80
+ };
81
+ }>, import('xstate').Values<{
82
+ addError: {
83
+ type: "addError";
84
+ params: import('xstate').NonReducibleUnknown;
85
+ };
86
+ clearErrors: {
87
+ type: "clearErrors";
88
+ params: import('xstate').NonReducibleUnknown;
89
+ };
90
+ notifyAuthenticated: {
91
+ type: "notifyAuthenticated";
92
+ params: import('xstate').NonReducibleUnknown;
93
+ };
94
+ setAccessToken: {
95
+ type: "setAccessToken";
96
+ params: import('xstate').NonReducibleUnknown;
97
+ };
98
+ setIgnoreRefreshToken: {
99
+ type: "setIgnoreRefreshToken";
100
+ params: import('xstate').NonReducibleUnknown;
101
+ };
102
+ setUserContext: {
103
+ type: "setUserContext";
104
+ params: import('xstate').NonReducibleUnknown;
105
+ };
106
+ unsetRefreshToken: {
107
+ type: "unsetRefreshToken";
108
+ params: import('xstate').NonReducibleUnknown;
109
+ };
110
+ unsetUserContext: {
111
+ type: "unsetUserContext";
112
+ params: import('xstate').NonReducibleUnknown;
113
+ };
114
+ }>, never, "refresh", string, import('./types').AuthenticatedEmittedEvent>>;
115
+ export default authMachine;
@@ -0,0 +1,50 @@
1
+ import { DoneActorEvent } from 'xstate';
2
+ export interface AuthMachineContext {
3
+ user: Record<string, any> | null;
4
+ accessToken: string;
5
+ refreshToken: string;
6
+ ignoreRefreshToken: boolean;
7
+ endpoints: {
8
+ login: string;
9
+ logout: string;
10
+ refresh: string;
11
+ ssrRefresh: string;
12
+ };
13
+ errors: Array<string>;
14
+ }
15
+ export interface RefreshTokenEvent {
16
+ type: 'REFRESH_TOKEN';
17
+ accessToken: AuthMachineContext['accessToken'];
18
+ }
19
+ export interface LoginEvent {
20
+ type: 'LOGIN';
21
+ username: string;
22
+ password: string;
23
+ }
24
+ export interface LogoutEvent {
25
+ type: 'LOGOUT';
26
+ }
27
+ export interface ClearErrorsEvent {
28
+ type: 'CLEAR_ERRORS';
29
+ }
30
+ export interface RestoreEvent {
31
+ type: 'RESTORE';
32
+ }
33
+ export interface AuthenticateSuccessEvent {
34
+ type: 'AUTHENTICATE_SUCCESS';
35
+ user: Partial<AuthMachineContext['user']>;
36
+ accessToken: AuthMachineContext['accessToken'];
37
+ }
38
+ export interface RefreshTokenSuccessEvent {
39
+ type: 'REFRESH_TOKEN_SUCCESS';
40
+ accessToken: AuthMachineContext['accessToken'];
41
+ }
42
+ export interface UnauthenticateSuccessEvent {
43
+ type: 'UNAUTHENTICATE_SUCCESS';
44
+ }
45
+ export interface AuthenticatedEmittedEvent {
46
+ type: 'EMIT_AUTHENTICATED';
47
+ accessToken: AuthMachineContext['accessToken'];
48
+ }
49
+ export type AuthMachineEvents = RefreshTokenEvent | RestoreEvent | LoginEvent | LogoutEvent | ClearErrorsEvent | DoneActorEvent<AuthenticateSuccessEvent> | DoneActorEvent<RefreshTokenSuccessEvent>;
50
+ export type AuthMachineEmittedEvents = AuthenticatedEmittedEvent;
@@ -0,0 +1,2 @@
1
+ export declare function request<T>(url: string, options: object): Promise<T>;
2
+ export default request;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clicktap/state",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "private": false,
5
5
  "author": "Clicktap",
6
6
  "description": "A state management library for Clicktap reference frontend.",