@typewoo/sdk 3.5.3 → 3.5.4-beta.0
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/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/configs/sdk.config.d.ts +51 -1
- package/dist/lib/configs/sdk.config.d.ts.map +1 -1
- package/dist/lib/configs/sdk.config.js.map +1 -1
- package/dist/lib/sdk.d.ts +105 -1
- package/dist/lib/sdk.d.ts.map +1 -1
- package/dist/lib/sdk.js +152 -0
- package/dist/lib/sdk.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from './lib/sdk.js';
|
|
2
2
|
export * from './lib/configs/sdk.config.js';
|
|
3
|
+
export type { CustomEndpoints } from './lib/configs/sdk.config.js';
|
|
4
|
+
export type { TypewooClient } from './lib/sdk.js';
|
|
5
|
+
export { createTypewoo } from './lib/sdk.js';
|
|
3
6
|
export * from './lib/configs/index.js';
|
|
4
7
|
export { isJwtExpired, getJwtExpiration } from './lib/utilities/jwt.utility.js';
|
|
5
8
|
export * from './lib/extensions/index.js';
|
|
@@ -37,4 +40,5 @@ export { EventBus } from './lib/bus/event.bus.js';
|
|
|
37
40
|
export * from './lib/sdk.events.js';
|
|
38
41
|
export * from './lib/types/sdk.state.js';
|
|
39
42
|
export * from './lib/types/index.js';
|
|
43
|
+
export type { RequestOptions, RequestContext } from './lib/types/request.js';
|
|
40
44
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGhF,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAC;AAC1G,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,cAAc,wBAAwB,CAAC;AAEvC,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,4CAA4C;AAC5C,cAAc,2BAA2B,CAAC;AAE1C,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAE1C,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAC;AAC1G,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,8BAA8B;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,12 +1,37 @@
|
|
|
1
1
|
import { AxiosRequestConfig, Method } from 'axios';
|
|
2
2
|
import { StorageType, StorageProvider } from '../storage/auth.storage.js';
|
|
3
|
+
/**
|
|
4
|
+
* Type for custom endpoint functions.
|
|
5
|
+
* Each endpoint is a function that can have any parameters and returns a Promise.
|
|
6
|
+
* Use the exported HTTP helpers (doGet, doPost, etc.) inside your endpoint functions.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createTypewoo, doGet, doPost, RequestOptions } from '@typewoo/core';
|
|
11
|
+
*
|
|
12
|
+
* const sdk = createTypewoo({
|
|
13
|
+
* baseUrl: 'https://mystore.com',
|
|
14
|
+
* endpoints: {
|
|
15
|
+
* getNotifications: (userId: string, options?: RequestOptions) =>
|
|
16
|
+
* doGet<Notification[]>(`/custom/notifications/${userId}`, options),
|
|
17
|
+
* markAsRead: (id: number) =>
|
|
18
|
+
* doPost(`/custom/notifications/${id}/read`),
|
|
19
|
+
* },
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* // Endpoints are fully typed:
|
|
23
|
+
* const { data } = await sdk.endpoints.getNotifications('user-123');
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export type CustomEndpoints = Record<string, (...args: any[]) => Promise<any>>;
|
|
3
27
|
export declare function setSdkConfig(config: ResolvedSdkConfig): void;
|
|
4
28
|
export declare function getSdkConfig(): ResolvedSdkConfig | null;
|
|
5
29
|
/**
|
|
6
30
|
* Configuration interface for the SDK.
|
|
7
31
|
* This is the input type - storage can be either a string type or a provider instance.
|
|
32
|
+
* @template TEndpoints - The type of custom endpoints, inferred from the endpoints object.
|
|
8
33
|
*/
|
|
9
|
-
export interface SdkConfig {
|
|
34
|
+
export interface SdkConfig<TEndpoints extends CustomEndpoints = CustomEndpoints> {
|
|
10
35
|
baseUrl: string;
|
|
11
36
|
admin?: {
|
|
12
37
|
consumer_key?: string;
|
|
@@ -52,6 +77,31 @@ export interface SdkConfig {
|
|
|
52
77
|
storage?: StorageType | StorageProvider;
|
|
53
78
|
};
|
|
54
79
|
axiosConfig?: AxiosRequestConfig;
|
|
80
|
+
/**
|
|
81
|
+
* Custom endpoints object.
|
|
82
|
+
* Define custom API endpoints that will be accessible via the returned SDK's `endpoints` property.
|
|
83
|
+
* Use the exported HTTP helpers (doGet, doPost, doPut, doDelete, doHead) in your endpoint functions.
|
|
84
|
+
* Each endpoint can have any parameters you need.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* import { createTypewoo, doGet, doPost, RequestOptions } from '@typewoo/core';
|
|
89
|
+
*
|
|
90
|
+
* const sdk = createTypewoo({
|
|
91
|
+
* baseUrl: 'https://mystore.com',
|
|
92
|
+
* endpoints: {
|
|
93
|
+
* getNotifications: (userId: string, options?: RequestOptions) =>
|
|
94
|
+
* doGet<Notification[]>(`/custom/notifications/${userId}`, options),
|
|
95
|
+
* markAsRead: (id: number) =>
|
|
96
|
+
* doPost(`/custom/notifications/${id}/read`),
|
|
97
|
+
* },
|
|
98
|
+
* });
|
|
99
|
+
*
|
|
100
|
+
* // Endpoints are fully typed from the config:
|
|
101
|
+
* const { data } = await sdk.endpoints.getNotifications('user-123');
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
endpoints?: TEndpoints;
|
|
55
105
|
request?: {
|
|
56
106
|
/**
|
|
57
107
|
* Retry configuration for failed requests.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.config.d.ts","sourceRoot":"","sources":["../../../src/lib/configs/sdk.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,eAAe,EAEhB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.config.d.ts","sourceRoot":"","sources":["../../../src/lib/configs/sdk.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.config.js","sourceRoot":"","sources":["../../../src/lib/configs/sdk.config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAGL,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.config.js","sourceRoot":"","sources":["../../../src/lib/configs/sdk.config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sdk.d.ts
CHANGED
|
@@ -1,10 +1,86 @@
|
|
|
1
|
-
import { ResolvedSdkConfig, SdkConfig } from './configs/sdk.config.js';
|
|
1
|
+
import { CustomEndpoints, ResolvedSdkConfig, SdkConfig } from './configs/sdk.config.js';
|
|
2
2
|
import { SdkState } from './types/sdk.state.js';
|
|
3
3
|
import { StoreService } from './services/store.service.js';
|
|
4
4
|
import { SdkEvent } from './sdk.events.js';
|
|
5
5
|
import { EventBus } from './bus/event.bus.js';
|
|
6
6
|
import { AuthService } from './services/auth/auth.service.js';
|
|
7
7
|
import { AdminService } from './services/admin.service.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create a fully typed Typewoo SDK instance.
|
|
10
|
+
*
|
|
11
|
+
* This is the recommended way to initialize the SDK when using custom endpoints,
|
|
12
|
+
* as it provides full TypeScript inference for your endpoint functions.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { createTypewoo, doGet, doPost, RequestOptions } from '@typewoo/core';
|
|
17
|
+
*
|
|
18
|
+
* // Create your typed SDK instance
|
|
19
|
+
* export const typewoo = createTypewoo({
|
|
20
|
+
* baseUrl: 'https://mystore.com',
|
|
21
|
+
* endpoints: {
|
|
22
|
+
* posts: (options?: RequestOptions) => doGet(`/wp/v2/posts`, options),
|
|
23
|
+
* pages: () => doGet(`/wp/v2/pages`),
|
|
24
|
+
*
|
|
25
|
+
* // using different baseUrl
|
|
26
|
+
* pages: () => doGet(`https://another-store.com/wp/v2/comments`),
|
|
27
|
+
* },
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // Full autocomplete and type checking!
|
|
31
|
+
* const { data } = await typewoo.endpoints.posts();
|
|
32
|
+
* const products = await typewoo.store.products.list();
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @param config - SDK configuration with optional custom endpoints
|
|
36
|
+
* @returns A fully typed SDK instance
|
|
37
|
+
*/
|
|
38
|
+
export declare const createTypewoo: <TEndpoints extends CustomEndpoints = Record<string, never>>(config: SdkConfig<TEndpoints>) => TypewooClient<TEndpoints>;
|
|
39
|
+
export declare class TypewooClient<TEndpoints extends CustomEndpoints = Record<string, never>> {
|
|
40
|
+
private _auth;
|
|
41
|
+
private _store;
|
|
42
|
+
private _admin;
|
|
43
|
+
private _config;
|
|
44
|
+
private _endpoints;
|
|
45
|
+
state: SdkState;
|
|
46
|
+
events: EventBus<SdkEvent>;
|
|
47
|
+
constructor(config: SdkConfig<TEndpoints>);
|
|
48
|
+
/**
|
|
49
|
+
* Resolved SDK configuration.
|
|
50
|
+
* Storage fields are guaranteed to be StorageProvider instances after initialization.
|
|
51
|
+
*/
|
|
52
|
+
get config(): ResolvedSdkConfig;
|
|
53
|
+
/**
|
|
54
|
+
* Auth API
|
|
55
|
+
*/
|
|
56
|
+
get auth(): AuthService;
|
|
57
|
+
/**
|
|
58
|
+
* Store API
|
|
59
|
+
*/
|
|
60
|
+
get store(): StoreService;
|
|
61
|
+
/**
|
|
62
|
+
* Admin API
|
|
63
|
+
*/
|
|
64
|
+
get admin(): AdminService;
|
|
65
|
+
/**
|
|
66
|
+
* Custom endpoints defined in the SDK configuration.
|
|
67
|
+
*
|
|
68
|
+
* For full type inference on custom endpoints, use `createTypewoo()` instead:
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const typewoo = createTypewoo({
|
|
72
|
+
* baseUrl: 'https://mystore.com',
|
|
73
|
+
* endpoints: {
|
|
74
|
+
* getNotifications: (userId: string) => doGet<Notification[]>(`/notifications/${userId}`),
|
|
75
|
+
* },
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* // Full type inference:
|
|
79
|
+
* const { data } = await typewoo.endpoints.getNotifications('user-123');
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
get endpoints(): TEndpoints;
|
|
83
|
+
}
|
|
8
84
|
export declare class Sdk {
|
|
9
85
|
private _config;
|
|
10
86
|
state: SdkState;
|
|
@@ -33,5 +109,33 @@ export declare class Sdk {
|
|
|
33
109
|
get admin(): AdminService;
|
|
34
110
|
private throwIfNotInitized;
|
|
35
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Default Typewoo singleton instance.
|
|
114
|
+
*
|
|
115
|
+
* For simple usage without custom endpoints:
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* await Typewoo.init({ baseUrl: 'https://mystore.com' });
|
|
119
|
+
* const products = await Typewoo.store.products.list();
|
|
120
|
+
* ```
|
|
121
|
+
*
|
|
122
|
+
* For custom endpoints with full type inference, use `createTypewoo()` instead.
|
|
123
|
+
*
|
|
124
|
+
* @deprecated Use `createTypewoo()` instead to create a single typewoo instance. This will be removed in a future major version.
|
|
125
|
+
*
|
|
126
|
+
* **Migration:**
|
|
127
|
+
* ```typescript
|
|
128
|
+
* // Before (deprecated):
|
|
129
|
+
* await Typewoo.init({ baseUrl: 'https://mystore.com' });
|
|
130
|
+
* const products = await Typewoo.store.products.list();
|
|
131
|
+
*
|
|
132
|
+
* // After (recommended):
|
|
133
|
+
* // Create once at app startup (e.g., in a shared module or context provider)
|
|
134
|
+
* const typewoo = createTypewoo({ baseUrl: 'https://mystore.com' });
|
|
135
|
+
*
|
|
136
|
+
* // Then import and use throughout your app
|
|
137
|
+
* const products = await typewoo.store.products.list();
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
36
140
|
export declare const Typewoo: Sdk;
|
|
37
141
|
//# sourceMappingURL=sdk.d.ts.map
|
package/dist/lib/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/lib/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/lib/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,iBAAiB,EACjB,SAAS,EAEV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,eAAO,MAAM,aAAa,GACxB,UAAU,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE1D,QAAQ,SAAS,CAAC,UAAU,CAAC,8BAG9B,CAAC;AAEF,qBAAa,aAAa,CACxB,UAAU,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAE1D,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,UAAU,CAAc;IAEhC,KAAK,EAAE,QAAQ,CAAM;IACrB,MAAM,qBAA4B;gBAEtB,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC;IA4DzC;;;OAGG;IACH,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IAED;;OAEG;IACH,IAAI,IAAI,gBAEP;IAED;;OAEG;IACH,IAAI,KAAK,iBAER;IAED;;OAEG;IACH,IAAI,KAAK,iBAER;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,SAAS,IAAI,UAAU,CAE1B;CACF;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,OAAO,CAAqB;IACpC,KAAK,EAAE,QAAQ,CAAM;IAErB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,YAAY,CAAS;IAE7B,MAAM,qBAA4B;IAErB,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DnD;;;OAGG;IACH,IAAI,MAAM,IAAI,iBAAiB,CAG9B;IAED;;OAEG;IACH,IAAI,IAAI,gBAGP;IAED;;OAEG;IACH,IAAI,KAAK,iBAGR;IAED;;OAEG;IACH,IAAI,KAAK,iBAGR;IAED,OAAO,CAAC,kBAAkB;CAI3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,OAAO,KAAY,CAAC"}
|
package/dist/lib/sdk.js
CHANGED
|
@@ -10,6 +10,130 @@ import { AuthService } from './services/auth/auth.service.js';
|
|
|
10
10
|
import { addRefreshTokenInterceptor } from './interceptors/refresh.token.interceptor.js';
|
|
11
11
|
import { AdminService } from './services/admin.service.js';
|
|
12
12
|
import { addAdminAuthInterceptor } from './interceptors/admin-auth.interceptor.js';
|
|
13
|
+
/**
|
|
14
|
+
* Create a fully typed Typewoo SDK instance.
|
|
15
|
+
*
|
|
16
|
+
* This is the recommended way to initialize the SDK when using custom endpoints,
|
|
17
|
+
* as it provides full TypeScript inference for your endpoint functions.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { createTypewoo, doGet, doPost, RequestOptions } from '@typewoo/core';
|
|
22
|
+
*
|
|
23
|
+
* // Create your typed SDK instance
|
|
24
|
+
* export const typewoo = createTypewoo({
|
|
25
|
+
* baseUrl: 'https://mystore.com',
|
|
26
|
+
* endpoints: {
|
|
27
|
+
* posts: (options?: RequestOptions) => doGet(`/wp/v2/posts`, options),
|
|
28
|
+
* pages: () => doGet(`/wp/v2/pages`),
|
|
29
|
+
*
|
|
30
|
+
* // using different baseUrl
|
|
31
|
+
* pages: () => doGet(`https://another-store.com/wp/v2/comments`),
|
|
32
|
+
* },
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Full autocomplete and type checking!
|
|
36
|
+
* const { data } = await typewoo.endpoints.posts();
|
|
37
|
+
* const products = await typewoo.store.products.list();
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @param config - SDK configuration with optional custom endpoints
|
|
41
|
+
* @returns A fully typed SDK instance
|
|
42
|
+
*/
|
|
43
|
+
export const createTypewoo = (config) => {
|
|
44
|
+
return new TypewooClient(config);
|
|
45
|
+
};
|
|
46
|
+
export class TypewooClient {
|
|
47
|
+
constructor(config) {
|
|
48
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
49
|
+
this.state = {};
|
|
50
|
+
this.events = new EventBus();
|
|
51
|
+
// Resolve all storage providers to ensure type safety
|
|
52
|
+
this._config = resolveConfig(config);
|
|
53
|
+
// Store original config for retry logic access
|
|
54
|
+
setSdkConfig(this._config);
|
|
55
|
+
// Store custom endpoints
|
|
56
|
+
this._endpoints = ((_a = config.endpoints) !== null && _a !== void 0 ? _a : {});
|
|
57
|
+
this._auth = new AuthService(this.state, this._config, this.events);
|
|
58
|
+
this._store = new StoreService(this.state, this._config, this.events);
|
|
59
|
+
this._admin = new AdminService(this.state, this._config, this.events);
|
|
60
|
+
createHttpClient(Object.assign({ baseURL: this._config.baseUrl }, this._config.axiosConfig));
|
|
61
|
+
addNonceInterceptors(this._config, this.state, this.events);
|
|
62
|
+
addCartTokenInterceptors(this._config, this.state, this.events);
|
|
63
|
+
if (!((_c = (_b = config.auth) === null || _b === void 0 ? void 0 : _b.accessToken) === null || _c === void 0 ? void 0 : _c.disabled)) {
|
|
64
|
+
const useTokenInterceptor = (_f = (_e = (_d = this._config.auth) === null || _d === void 0 ? void 0 : _d.accessToken) === null || _e === void 0 ? void 0 : _e.useInterceptor) !== null && _f !== void 0 ? _f : true;
|
|
65
|
+
if (useTokenInterceptor) {
|
|
66
|
+
addTokenInterceptor(this._config);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (!((_h = (_g = config.auth) === null || _g === void 0 ? void 0 : _g.accessToken) === null || _h === void 0 ? void 0 : _h.disabled) &&
|
|
70
|
+
!((_k = (_j = config.auth) === null || _j === void 0 ? void 0 : _j.refreshToken) === null || _k === void 0 ? void 0 : _k.disabled)) {
|
|
71
|
+
const useRefreshTokenInterceptor = (_o = (_m = (_l = this._config.auth) === null || _l === void 0 ? void 0 : _l.refreshToken) === null || _m === void 0 ? void 0 : _m.useInterceptor) !== null && _o !== void 0 ? _o : true;
|
|
72
|
+
if (useRefreshTokenInterceptor) {
|
|
73
|
+
addRefreshTokenInterceptor(this._config, this._auth);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (((_p = this._config.admin) === null || _p === void 0 ? void 0 : _p.consumer_key) &&
|
|
77
|
+
this._config.admin.consumer_secret) {
|
|
78
|
+
if (this._config.admin.useAuthInterceptor !== false) {
|
|
79
|
+
addAdminAuthInterceptor(this._config);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Set initial authentication state based on stored token
|
|
83
|
+
const accessTokenStorage = (_r = (_q = this._config.auth) === null || _q === void 0 ? void 0 : _q.accessToken) === null || _r === void 0 ? void 0 : _r.storage;
|
|
84
|
+
if (accessTokenStorage) {
|
|
85
|
+
accessTokenStorage.get().then((value) => {
|
|
86
|
+
this.state.authenticated = !!value;
|
|
87
|
+
this.events.emit('auth:changed', !!value);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Resolved SDK configuration.
|
|
93
|
+
* Storage fields are guaranteed to be StorageProvider instances after initialization.
|
|
94
|
+
*/
|
|
95
|
+
get config() {
|
|
96
|
+
return this._config;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Auth API
|
|
100
|
+
*/
|
|
101
|
+
get auth() {
|
|
102
|
+
return this._auth;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Store API
|
|
106
|
+
*/
|
|
107
|
+
get store() {
|
|
108
|
+
return this._store;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Admin API
|
|
112
|
+
*/
|
|
113
|
+
get admin() {
|
|
114
|
+
return this._admin;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Custom endpoints defined in the SDK configuration.
|
|
118
|
+
*
|
|
119
|
+
* For full type inference on custom endpoints, use `createTypewoo()` instead:
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const typewoo = createTypewoo({
|
|
123
|
+
* baseUrl: 'https://mystore.com',
|
|
124
|
+
* endpoints: {
|
|
125
|
+
* getNotifications: (userId: string) => doGet<Notification[]>(`/notifications/${userId}`),
|
|
126
|
+
* },
|
|
127
|
+
* });
|
|
128
|
+
*
|
|
129
|
+
* // Full type inference:
|
|
130
|
+
* const { data } = await typewoo.endpoints.getNotifications('user-123');
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
get endpoints() {
|
|
134
|
+
return this._endpoints;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
13
137
|
export class Sdk {
|
|
14
138
|
constructor() {
|
|
15
139
|
this.state = {};
|
|
@@ -97,5 +221,33 @@ export class Sdk {
|
|
|
97
221
|
throw new Error('SDK not initialized. Call `await Typewoo.init()` first.');
|
|
98
222
|
}
|
|
99
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Default Typewoo singleton instance.
|
|
226
|
+
*
|
|
227
|
+
* For simple usage without custom endpoints:
|
|
228
|
+
* @example
|
|
229
|
+
* ```typescript
|
|
230
|
+
* await Typewoo.init({ baseUrl: 'https://mystore.com' });
|
|
231
|
+
* const products = await Typewoo.store.products.list();
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* For custom endpoints with full type inference, use `createTypewoo()` instead.
|
|
235
|
+
*
|
|
236
|
+
* @deprecated Use `createTypewoo()` instead to create a single typewoo instance. This will be removed in a future major version.
|
|
237
|
+
*
|
|
238
|
+
* **Migration:**
|
|
239
|
+
* ```typescript
|
|
240
|
+
* // Before (deprecated):
|
|
241
|
+
* await Typewoo.init({ baseUrl: 'https://mystore.com' });
|
|
242
|
+
* const products = await Typewoo.store.products.list();
|
|
243
|
+
*
|
|
244
|
+
* // After (recommended):
|
|
245
|
+
* // Create once at app startup (e.g., in a shared module or context provider)
|
|
246
|
+
* const typewoo = createTypewoo({ baseUrl: 'https://mystore.com' });
|
|
247
|
+
*
|
|
248
|
+
* // Then import and use throughout your app
|
|
249
|
+
* const products = await typewoo.store.products.list();
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
100
252
|
export const Typewoo = new Sdk();
|
|
101
253
|
//# sourceMappingURL=sdk.js.map
|
package/dist/lib/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/lib/sdk.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/lib/sdk.ts"],"names":[],"mappings":"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"}
|