katanakit-js 6.2.0 → 6.6.1

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 (116) hide show
  1. package/README.md +11 -3
  2. package/dist/adapters/better-auth/better-auth.service.d.ts +83 -0
  3. package/dist/adapters/better-auth/better-auth.service.d.ts.map +1 -0
  4. package/dist/adapters/better-auth/better-auth.service.js +110 -0
  5. package/dist/adapters/better-auth/better-auth.service.js.map +1 -0
  6. package/dist/adapters/better-auth/client.d.ts +51 -0
  7. package/dist/adapters/better-auth/client.d.ts.map +1 -0
  8. package/dist/adapters/better-auth/client.js +67 -0
  9. package/dist/adapters/better-auth/client.js.map +1 -0
  10. package/dist/adapters/better-auth/index.d.ts +3 -0
  11. package/dist/adapters/better-auth/index.d.ts.map +1 -0
  12. package/dist/adapters/better-auth/index.js +3 -0
  13. package/dist/adapters/better-auth/index.js.map +1 -0
  14. package/dist/adapters/express/server.d.ts +133 -1
  15. package/dist/adapters/express/server.d.ts.map +1 -1
  16. package/dist/adapters/express/server.js +199 -97
  17. package/dist/adapters/express/server.js.map +1 -1
  18. package/dist/adapters/index.d.ts +2 -0
  19. package/dist/adapters/index.d.ts.map +1 -1
  20. package/dist/adapters/index.js +2 -0
  21. package/dist/adapters/index.js.map +1 -1
  22. package/dist/adapters/insforge/insforge.service.d.ts +139 -4
  23. package/dist/adapters/insforge/insforge.service.d.ts.map +1 -1
  24. package/dist/adapters/insforge/insforge.service.js +383 -213
  25. package/dist/adapters/insforge/insforge.service.js.map +1 -1
  26. package/dist/adapters/notion/notion.service.d.ts +130 -144
  27. package/dist/adapters/notion/notion.service.d.ts.map +1 -1
  28. package/dist/adapters/notion/notion.service.js +330 -341
  29. package/dist/adapters/notion/notion.service.js.map +1 -1
  30. package/dist/adapters/photoswipe/index.d.ts +2 -0
  31. package/dist/adapters/photoswipe/index.d.ts.map +1 -0
  32. package/dist/adapters/photoswipe/index.js +2 -0
  33. package/dist/adapters/photoswipe/index.js.map +1 -0
  34. package/dist/adapters/photoswipe/photoswipe.service.d.ts +99 -0
  35. package/dist/adapters/photoswipe/photoswipe.service.d.ts.map +1 -0
  36. package/dist/adapters/photoswipe/photoswipe.service.js +150 -0
  37. package/dist/adapters/photoswipe/photoswipe.service.js.map +1 -0
  38. package/dist/adapters/telegram/telegram.service.d.ts +82 -13
  39. package/dist/adapters/telegram/telegram.service.d.ts.map +1 -1
  40. package/dist/adapters/telegram/telegram.service.js +133 -55
  41. package/dist/adapters/telegram/telegram.service.js.map +1 -1
  42. package/dist/adapters/wordpress/wordpress.service.d.ts +181 -110
  43. package/dist/adapters/wordpress/wordpress.service.d.ts.map +1 -1
  44. package/dist/adapters/wordpress/wordpress.service.js +556 -465
  45. package/dist/adapters/wordpress/wordpress.service.js.map +1 -1
  46. package/dist/config/seo.service.d.ts +1 -1
  47. package/dist/config/seo.service.d.ts.map +1 -1
  48. package/dist/config/seo.service.js +1 -1
  49. package/dist/config/seo.service.js.map +1 -1
  50. package/dist/core/services/access.service.d.ts +167 -4
  51. package/dist/core/services/access.service.d.ts.map +1 -1
  52. package/dist/core/services/access.service.js +241 -31
  53. package/dist/core/services/access.service.js.map +1 -1
  54. package/dist/core/services/agent.service.d.ts +182 -27
  55. package/dist/core/services/agent.service.d.ts.map +1 -1
  56. package/dist/core/services/agent.service.js +296 -164
  57. package/dist/core/services/agent.service.js.map +1 -1
  58. package/dist/core/services/assistant.service.d.ts +96 -5
  59. package/dist/core/services/assistant.service.d.ts.map +1 -1
  60. package/dist/core/services/assistant.service.js +171 -66
  61. package/dist/core/services/assistant.service.js.map +1 -1
  62. package/dist/core/services/dates.service.d.ts +183 -11
  63. package/dist/core/services/dates.service.d.ts.map +1 -1
  64. package/dist/core/services/dates.service.js +256 -57
  65. package/dist/core/services/dates.service.js.map +1 -1
  66. package/dist/core/services/http.service.d.ts +172 -133
  67. package/dist/core/services/http.service.d.ts.map +1 -1
  68. package/dist/core/services/http.service.js +367 -310
  69. package/dist/core/services/http.service.js.map +1 -1
  70. package/dist/core/services/logger.service.d.ts +96 -34
  71. package/dist/core/services/logger.service.d.ts.map +1 -1
  72. package/dist/core/services/logger.service.js +128 -41
  73. package/dist/core/services/logger.service.js.map +1 -1
  74. package/dist/core/services/query.service.d.ts +101 -0
  75. package/dist/core/services/query.service.d.ts.map +1 -1
  76. package/dist/core/services/query.service.js +131 -14
  77. package/dist/core/services/query.service.js.map +1 -1
  78. package/dist/core/services/utils.service.d.ts +286 -131
  79. package/dist/core/services/utils.service.d.ts.map +1 -1
  80. package/dist/core/services/utils.service.js +417 -227
  81. package/dist/core/services/utils.service.js.map +1 -1
  82. package/dist/core/services/validation.service.d.ts +48 -3
  83. package/dist/core/services/validation.service.d.ts.map +1 -1
  84. package/dist/core/services/validation.service.js +75 -23
  85. package/dist/core/services/validation.service.js.map +1 -1
  86. package/dist/infrastructure/decorators/cache.decorator.d.ts +53 -0
  87. package/dist/infrastructure/decorators/cache.decorator.d.ts.map +1 -0
  88. package/dist/infrastructure/decorators/cache.decorator.js +47 -0
  89. package/dist/infrastructure/decorators/cache.decorator.js.map +1 -0
  90. package/dist/infrastructure/decorators/index.d.ts +4 -0
  91. package/dist/infrastructure/decorators/index.d.ts.map +1 -0
  92. package/dist/infrastructure/decorators/index.js +4 -0
  93. package/dist/infrastructure/decorators/index.js.map +1 -0
  94. package/dist/infrastructure/decorators/logger.decorator.d.ts +38 -0
  95. package/dist/infrastructure/decorators/logger.decorator.d.ts.map +1 -0
  96. package/dist/infrastructure/decorators/logger.decorator.js +66 -0
  97. package/dist/infrastructure/decorators/logger.decorator.js.map +1 -0
  98. package/dist/infrastructure/decorators/retry.decorator.d.ts +37 -0
  99. package/dist/infrastructure/decorators/retry.decorator.d.ts.map +1 -0
  100. package/dist/infrastructure/decorators/retry.decorator.js +54 -0
  101. package/dist/infrastructure/decorators/retry.decorator.js.map +1 -0
  102. package/dist/infrastructure/index.d.ts +1 -0
  103. package/dist/infrastructure/index.d.ts.map +1 -1
  104. package/dist/infrastructure/index.js +1 -0
  105. package/dist/infrastructure/index.js.map +1 -1
  106. package/dist/styles.css +2 -0
  107. package/package.json +49 -14
  108. package/scss/_flags.scss +179 -0
  109. package/scss/_functions.scss +168 -0
  110. package/scss/_mixins.scss +658 -0
  111. package/scss/_reset.scss +275 -0
  112. package/scss/_utilities.scss +449 -0
  113. package/scss/_variables.scss +539 -0
  114. package/scss/components/_index.scss +50 -0
  115. package/scss/demo.scss +12 -0
  116. package/scss/main.scss +56 -0
@@ -1,4 +1,171 @@
1
1
  import type { ConfigFacade, FetchResult, WordPressConfig, WpBatchOperation, WpBatchResult, WpCategory, WpCategoryCreate, WpCategoryUpdate, WpComment, WpCommentCreate, WpCommentUpdate, WpMedia, WpMediaMeta, WpMediaUpdate, WpPage, WpPageCreate, WpPageUpdate, WpPost, WpPostCreate, WpPostUpdate, WpQueryParams, WpTag, WpTagCreate, WpTagUpdate, WpUser, WpUserCreate, WpUserUpdate } from "../../types/index.js";
2
+ /**
3
+ * WordPressService - Singleton para el cliente del WordPress REST API.
4
+ *
5
+ * Aplica el patrón Singleton: una única instancia mantiene la configuración
6
+ * (URL base, auth, namespace) y centraliza todas las operaciones CRUD contra
7
+ * la REST API de WordPress, devolviendo siempre Safe Results.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const wp = WordPressService.getInstance();
12
+ * wp.useInit({ baseUrl: "https://mysite.com", auth: { type: "jwt", token: "..." } });
13
+ * const result = await wp.useGetPosts({ per_page: 5 });
14
+ * ```
15
+ */
16
+ export declare class WordPressService {
17
+ private static instance;
18
+ /** Registered WordPress configuration. */
19
+ private config;
20
+ /**
21
+ * Constructor privado - enforce singleton.
22
+ */
23
+ private constructor();
24
+ /**
25
+ * Obtiene la instancia única del WordPressService (Singleton).
26
+ *
27
+ * @returns La instancia única de {@link WordPressService}.
28
+ */
29
+ static getInstance(): WordPressService;
30
+ /**
31
+ * Retrieves the registered WordPress config or throws.
32
+ * @internal
33
+ */
34
+ private useGetConfig;
35
+ /**
36
+ * Builds the base API URL from config.
37
+ * @internal
38
+ */
39
+ private useGetApiBase;
40
+ /**
41
+ * Builds authentication headers from config.
42
+ * @internal
43
+ */
44
+ private useGetAuthHeaders;
45
+ /**
46
+ * Internal helper to make requests to the WordPress REST API.
47
+ * @internal
48
+ */
49
+ private useRequest;
50
+ /**
51
+ * Internal helper for multipart file uploads.
52
+ * @internal
53
+ */
54
+ private useUpload;
55
+ /**
56
+ * Registers the WordPress REST API configuration.
57
+ *
58
+ * Supports multiple auth methods: Application Passwords, JWT tokens,
59
+ * Basic Auth, and nonce-based auth for themes.
60
+ *
61
+ * @param cfg - Site URL, authentication method, and optional API namespace.
62
+ * @throws {Error} If the config fails Zod validation.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * WordPressService.getInstance().useInit({
67
+ * baseUrl: "https://mysite.com",
68
+ * auth: { type: "application-passwords", username: "admin", password: "xxxx xxxx xxxx" },
69
+ * });
70
+ * ```
71
+ */
72
+ useInit(cfg: WordPressConfig): void;
73
+ /** Retrieves a list of WordPress posts with optional filtering and pagination. */
74
+ useGetPosts(options?: WpQueryParams): Promise<FetchResult<WpPost[]>>;
75
+ /** Retrieves a single WordPress post by ID. */
76
+ useGetPost(id: number, options?: WpQueryParams): Promise<FetchResult<WpPost>>;
77
+ /** Creates a new WordPress post. */
78
+ useCreatePost(data: WpPostCreate): Promise<FetchResult<WpPost>>;
79
+ /** Updates an existing WordPress post. */
80
+ useUpdatePost(id: number, data: WpPostUpdate): Promise<FetchResult<WpPost>>;
81
+ /** Deletes a WordPress post (trash by default, permanent with `force`). */
82
+ useDeletePost(id: number, force?: boolean): Promise<FetchResult<WpPost>>;
83
+ /** Retrieves a list of WordPress pages. */
84
+ useGetPages(options?: WpQueryParams): Promise<FetchResult<WpPage[]>>;
85
+ /** Retrieves a single WordPress page by ID. */
86
+ useGetPage(id: number, options?: WpQueryParams): Promise<FetchResult<WpPage>>;
87
+ /** Creates a new WordPress page. */
88
+ useCreatePage(data: WpPageCreate): Promise<FetchResult<WpPage>>;
89
+ /** Updates an existing WordPress page. */
90
+ useUpdatePage(id: number, data: WpPageUpdate): Promise<FetchResult<WpPage>>;
91
+ /** Deletes a WordPress page (trash by default, permanent with `force`). */
92
+ useDeletePage(id: number, force?: boolean): Promise<FetchResult<WpPage>>;
93
+ /** Retrieves a list of WordPress media items. */
94
+ useGetMedia(options?: WpQueryParams): Promise<FetchResult<WpMedia[]>>;
95
+ /** Retrieves a single WordPress media item by ID. */
96
+ useGetMediaItem(id: number): Promise<FetchResult<WpMedia>>;
97
+ /** Uploads a file to the WordPress media library. */
98
+ useUploadMedia(file: File | Blob | Buffer, meta?: WpMediaMeta): Promise<FetchResult<WpMedia>>;
99
+ /** Updates metadata of a WordPress media item. */
100
+ useUpdateMedia(id: number, data: WpMediaUpdate): Promise<FetchResult<WpMedia>>;
101
+ /** Deletes a WordPress media item. */
102
+ useDeleteMedia(id: number, force?: boolean): Promise<FetchResult<WpMedia>>;
103
+ /** Retrieves a list of WordPress categories. */
104
+ useGetCategories(options?: WpQueryParams): Promise<FetchResult<WpCategory[]>>;
105
+ /** Retrieves a single WordPress category by ID. */
106
+ useGetCategory(id: number): Promise<FetchResult<WpCategory>>;
107
+ /** Creates a new WordPress category. */
108
+ useCreateCategory(data: WpCategoryCreate): Promise<FetchResult<WpCategory>>;
109
+ /** Updates an existing WordPress category. */
110
+ useUpdateCategory(id: number, data: WpCategoryUpdate): Promise<FetchResult<WpCategory>>;
111
+ /** Deletes a WordPress category. */
112
+ useDeleteCategory(id: number, force?: boolean): Promise<FetchResult<WpCategory>>;
113
+ /** Retrieves a list of WordPress tags. */
114
+ useGetTags(options?: WpQueryParams): Promise<FetchResult<WpTag[]>>;
115
+ /** Retrieves a single WordPress tag by ID. */
116
+ useGetTag(id: number): Promise<FetchResult<WpTag>>;
117
+ /** Creates a new WordPress tag. */
118
+ useCreateTag(data: WpTagCreate): Promise<FetchResult<WpTag>>;
119
+ /** Updates an existing WordPress tag. */
120
+ useUpdateTag(id: number, data: WpTagUpdate): Promise<FetchResult<WpTag>>;
121
+ /** Deletes a WordPress tag. */
122
+ useDeleteTag(id: number, force?: boolean): Promise<FetchResult<WpTag>>;
123
+ /** Retrieves a list of WordPress comments. */
124
+ useGetComments(options?: WpQueryParams): Promise<FetchResult<WpComment[]>>;
125
+ /** Retrieves a single WordPress comment by ID. */
126
+ useGetComment(id: number): Promise<FetchResult<WpComment>>;
127
+ /** Creates a new WordPress comment. */
128
+ useCreateComment(data: WpCommentCreate): Promise<FetchResult<WpComment>>;
129
+ /** Updates an existing WordPress comment. */
130
+ useUpdateComment(id: number, data: WpCommentUpdate): Promise<FetchResult<WpComment>>;
131
+ /** Deletes a WordPress comment. */
132
+ useDeleteComment(id: number, force?: boolean): Promise<FetchResult<WpComment>>;
133
+ /** Retrieves a list of WordPress users. */
134
+ useGetUsers(options?: WpQueryParams): Promise<FetchResult<WpUser[]>>;
135
+ /** Retrieves a single WordPress user by ID. */
136
+ useGetUser(id: number): Promise<FetchResult<WpUser>>;
137
+ /** Retrieves the currently authenticated WordPress user. */
138
+ useGetCurrentUser(): Promise<FetchResult<WpUser>>;
139
+ /** Creates a new WordPress user. */
140
+ useCreateUser(data: WpUserCreate): Promise<FetchResult<WpUser>>;
141
+ /** Updates an existing WordPress user. */
142
+ useUpdateUser(id: number, data: WpUserUpdate): Promise<FetchResult<WpUser>>;
143
+ /** Deletes a WordPress user, optionally reassigning their content. */
144
+ useDeleteUser(id: number, reassign?: number): Promise<FetchResult<WpUser>>;
145
+ /** Retrieves a list of custom post type entries. */
146
+ useGetCustomPosts(postType: string, options?: WpQueryParams): Promise<FetchResult<unknown[]>>;
147
+ /** Retrieves a single custom post type entry by ID. */
148
+ useGetCustomPost(postType: string, id: number, options?: WpQueryParams): Promise<FetchResult<unknown>>;
149
+ /** Creates a new custom post type entry. */
150
+ useCreateCustomPost(postType: string, data: Record<string, unknown>): Promise<FetchResult<unknown>>;
151
+ /** Updates a custom post type entry. */
152
+ useUpdateCustomPost(postType: string, id: number, data: Record<string, unknown>): Promise<FetchResult<unknown>>;
153
+ /** Deletes a custom post type entry. */
154
+ useDeleteCustomPost(postType: string, id: number, force?: boolean): Promise<FetchResult<unknown>>;
155
+ /** Executes multiple WordPress REST API requests in a single batch. */
156
+ useBatch(operations: WpBatchOperation[]): Promise<FetchResult<WpBatchResult>>;
157
+ /**
158
+ * Fetches ALL posts matching the criteria, automatically handling pagination.
159
+ *
160
+ * @param options - Query params for filtering. Do NOT pass `page` or `per_page`.
161
+ * @param maxItems - Cap on the total number of posts to fetch (default `1000`).
162
+ */
163
+ useListAllPosts(options?: WpQueryParams, maxItems?: number): Promise<FetchResult<WpPost[]>>;
164
+ /** Searches ALL posts by keyword, automatically handling pagination. */
165
+ useSearchAllPosts(query: string, options?: WpQueryParams): Promise<FetchResult<WpPost[]>>;
166
+ /** Finds a single post by its URL slug. Returns `null` if not found. */
167
+ useFindPostBySlug(slug: string): Promise<FetchResult<WpPost | null>>;
168
+ }
2
169
  /**
3
170
  * Registers the WordPress configuration and returns your methods alongside it —
4
171
  * the config-file entry point. One call is the whole setup: no separate
@@ -45,40 +212,22 @@ export declare function defineWordPressConfig<T extends WordPressConfig>(input:
45
212
  * ```ts
46
213
  * import { useInitWordPress } from "katanakit-js/adapters/wordpress";
47
214
  *
48
- * // With Application Passwords (recommended)
49
215
  * useInitWordPress({
50
216
  * baseUrl: "https://mysite.com",
51
217
  * auth: { type: "application-passwords", username: "admin", password: "xxxx xxxx xxxx" },
52
218
  * });
53
- *
54
- * // With JWT
55
- * useInitWordPress({
56
- * baseUrl: "https://mysite.com",
57
- * auth: { type: "jwt", token: "eyJhbGci..." },
58
- * });
59
219
  * ```
60
220
  */
61
221
  export declare function useInitWordPress(cfg: WordPressConfig): void;
62
222
  /**
63
223
  * Retrieves a list of WordPress posts with optional filtering and pagination.
64
224
  *
65
- * Use to display blog listings, search posts, or filter by category/tag/status.
66
- * Returns a single page of results (default 10 per page).
67
- *
68
- * @param options - Query params: `per_page`, `page`, `search`, `categories`,
69
- * `tags`, `status`, `orderby`, `order`, `_embed`, etc.
225
+ * @param options - Query params: `per_page`, `page`, `search`, `categories`, etc.
70
226
  * @returns Array of posts.
71
227
  *
72
228
  * @example
73
229
  * ```ts
74
- * // Get latest 5 published posts
75
230
  * const result = await useWpGetPosts({ per_page: 5, status: "publish" });
76
- *
77
- * // Search posts by keyword
78
- * const result = await useWpGetPosts({ search: "tutorial" });
79
- *
80
- * // Get posts from category 3, sorted by title
81
- * const result = await useWpGetPosts({ categories: 3, orderby: "title", order: "asc" });
82
231
  * ```
83
232
  */
84
233
  export declare function useWpGetPosts(options?: WpQueryParams): Promise<FetchResult<WpPost[]>>;
@@ -92,32 +241,18 @@ export declare function useWpGetPosts(options?: WpQueryParams): Promise<FetchRes
92
241
  * @example
93
242
  * ```ts
94
243
  * const result = await useWpGetPost(42, { _embed: true });
95
- * if (result.ok) console.log(result.data.title.rendered);
96
244
  * ```
97
245
  */
98
246
  export declare function useWpGetPost(id: number, options?: WpQueryParams): Promise<FetchResult<WpPost>>;
99
247
  /**
100
248
  * Creates a new WordPress post.
101
249
  *
102
- * Use to publish blog entries, create drafts, or schedule future posts.
103
- * The post will be assigned to the authenticated user by default.
104
- *
105
- * @param data - Post data: `title`, `content` (HTML), `status` (publish/draft/pending),
106
- * `categories`, `tags`, `featured_media`, `excerpt`, `slug`, `date`, etc.
250
+ * @param data - Post data: `title`, `content`, `status`, `categories`, etc.
107
251
  * @returns The created post.
108
252
  *
109
253
  * @example
110
254
  * ```ts
111
- * // Publish immediately
112
- * const result = await useWpCreatePost({
113
- * title: "My New Post",
114
- * content: "<p>Hello World!</p>",
115
- * status: "publish",
116
- * categories: [1, 3],
117
- * });
118
- *
119
- * // Create as draft
120
- * await useWpCreatePost({ title: "Draft Post", content: "...", status: "draft" });
255
+ * const result = await useWpCreatePost({ title: "My New Post", content: "<p>Hello</p>", status: "publish" });
121
256
  * ```
122
257
  */
123
258
  export declare function useWpCreatePost(data: WpPostCreate): Promise<FetchResult<WpPost>>;
@@ -143,8 +278,7 @@ export declare function useWpUpdatePost(id: number, data: WpPostUpdate): Promise
143
278
  *
144
279
  * @example
145
280
  * ```ts
146
- * await useWpDeletePost(42); // Move to trash
147
- * await useWpDeletePost(42, true); // Permanently delete
281
+ * await useWpDeletePost(42, true);
148
282
  * ```
149
283
  */
150
284
  export declare function useWpDeletePost(id: number, force?: boolean): Promise<FetchResult<WpPost>>;
@@ -170,7 +304,6 @@ export declare function useWpGetPages(options?: WpQueryParams): Promise<FetchRes
170
304
  * @example
171
305
  * ```ts
172
306
  * const result = await useWpGetPage(10);
173
- * if (result.ok) console.log(result.data.title.rendered);
174
307
  * ```
175
308
  */
176
309
  export declare function useWpGetPage(id: number, options?: WpQueryParams): Promise<FetchResult<WpPage>>;
@@ -182,11 +315,7 @@ export declare function useWpGetPage(id: number, options?: WpQueryParams): Promi
182
315
  *
183
316
  * @example
184
317
  * ```ts
185
- * await useWpCreatePage({
186
- * title: "About Us",
187
- * content: "<p>Welcome to our site!</p>",
188
- * status: "publish",
189
- * });
318
+ * await useWpCreatePage({ title: "About Us", content: "<p>Welcome</p>", status: "publish" });
190
319
  * ```
191
320
  */
192
321
  export declare function useWpCreatePage(data: WpPageCreate): Promise<FetchResult<WpPage>>;
@@ -212,7 +341,7 @@ export declare function useWpUpdatePage(id: number, data: WpPageUpdate): Promise
212
341
  *
213
342
  * @example
214
343
  * ```ts
215
- * await useWpDeletePage(10); // Move to trash
344
+ * await useWpDeletePage(10);
216
345
  * ```
217
346
  */
218
347
  export declare function useWpDeletePage(id: number, force?: boolean): Promise<FetchResult<WpPage>>;
@@ -237,34 +366,19 @@ export declare function useWpGetMedia(options?: WpQueryParams): Promise<FetchRes
237
366
  * @example
238
367
  * ```ts
239
368
  * const result = await useWpGetMediaItem(42);
240
- * if (result.ok) console.log(result.data.source_url);
241
369
  * ```
242
370
  */
243
371
  export declare function useWpGetMediaItem(id: number): Promise<FetchResult<WpMedia>>;
244
372
  /**
245
373
  * Uploads a file to the WordPress media library.
246
374
  *
247
- * Use to upload images, documents, or any file type supported by WordPress.
248
- * Returns the media item with its URL for use as featured media or in content.
249
- *
250
375
  * @param file - File (browser), Blob, or Buffer (Node.js) to upload.
251
- * @param meta - Optional metadata: `title`, `alt_text`, `caption`, `description`,
252
- * `post` (attach to existing post), `slug`.
376
+ * @param meta - Optional metadata: `title`, `alt_text`, `caption`, etc.
253
377
  * @returns The created media item with `source_url`.
254
378
  *
255
379
  * @example
256
380
  * ```ts
257
- * // From a file input (browser)
258
- * const file = document.querySelector("input[type=file]").files[0];
259
- * const result = await useWpUploadMedia(file, {
260
- * title: "My Image",
261
- * alt_text: "Description for accessibility",
262
- * });
263
- * if (result.ok) console.log(result.data.source_url); // URL to use in content
264
- *
265
- * // From a Buffer (Node.js)
266
- * const buffer = fs.readFileSync("photo.jpg");
267
- * await useWpUploadMedia(buffer, { title: "Photo" });
381
+ * const result = await useWpUploadMedia(file, { title: "My Image" });
268
382
  * ```
269
383
  */
270
384
  export declare function useWpUploadMedia(file: File | Blob | Buffer, meta?: WpMediaMeta): Promise<FetchResult<WpMedia>>;
@@ -303,7 +417,6 @@ export declare function useWpDeleteMedia(id: number, force?: boolean): Promise<F
303
417
  * @example
304
418
  * ```ts
305
419
  * const result = await useWpGetCategories({ per_page: 50 });
306
- * if (result.ok) result.data.forEach(c => console.log(c.name));
307
420
  * ```
308
421
  */
309
422
  export declare function useWpGetCategories(options?: WpQueryParams): Promise<FetchResult<WpCategory[]>>;
@@ -316,7 +429,6 @@ export declare function useWpGetCategories(options?: WpQueryParams): Promise<Fet
316
429
  * @example
317
430
  * ```ts
318
431
  * const result = await useWpGetCategory(5);
319
- * if (result.ok) console.log(result.data.name);
320
432
  * ```
321
433
  */
322
434
  export declare function useWpGetCategory(id: number): Promise<FetchResult<WpCategory>>;
@@ -428,7 +540,6 @@ export declare function useWpDeleteTag(id: number, force?: boolean): Promise<Fet
428
540
  *
429
541
  * @example
430
542
  * ```ts
431
- * // Get comments for a specific post
432
543
  * const result = await useWpGetComments({ post: 42 });
433
544
  * ```
434
545
  */
@@ -453,12 +564,7 @@ export declare function useWpGetComment(id: number): Promise<FetchResult<WpComme
453
564
  *
454
565
  * @example
455
566
  * ```ts
456
- * await useWpCreateComment({
457
- * post: 42,
458
- * content: "Great article!",
459
- * author_name: "John",
460
- * author_email: "john@example.com",
461
- * });
567
+ * await useWpCreateComment({ post: 42, content: "Great article!" });
462
568
  * ```
463
569
  */
464
570
  export declare function useWpCreateComment(data: WpCommentCreate): Promise<FetchResult<WpComment>>;
@@ -509,7 +615,6 @@ export declare function useWpGetUsers(options?: WpQueryParams): Promise<FetchRes
509
615
  * @example
510
616
  * ```ts
511
617
  * const result = await useWpGetUser(1);
512
- * if (result.ok) console.log(result.data.name);
513
618
  * ```
514
619
  */
515
620
  export declare function useWpGetUser(id: number): Promise<FetchResult<WpUser>>;
@@ -521,7 +626,6 @@ export declare function useWpGetUser(id: number): Promise<FetchResult<WpUser>>;
521
626
  * @example
522
627
  * ```ts
523
628
  * const result = await useWpGetCurrentUser();
524
- * if (result.ok) console.log(result.data.email);
525
629
  * ```
526
630
  */
527
631
  export declare function useWpGetCurrentUser(): Promise<FetchResult<WpUser>>;
@@ -533,12 +637,7 @@ export declare function useWpGetCurrentUser(): Promise<FetchResult<WpUser>>;
533
637
  *
534
638
  * @example
535
639
  * ```ts
536
- * await useWpCreateUser({
537
- * username: "johndoe",
538
- * email: "john@example.com",
539
- * password: "secure-password",
540
- * roles: ["editor"],
541
- * });
640
+ * await useWpCreateUser({ username: "johndoe", email: "john@example.com", password: "..." });
542
641
  * ```
543
642
  */
544
643
  export declare function useWpCreateUser(data: WpUserCreate): Promise<FetchResult<WpUser>>;
@@ -564,7 +663,7 @@ export declare function useWpUpdateUser(id: number, data: WpUserUpdate): Promise
564
663
  *
565
664
  * @example
566
665
  * ```ts
567
- * await useWpDeleteUser(2, 1); // Reassign content to user 1
666
+ * await useWpDeleteUser(2, 1);
568
667
  * ```
569
668
  */
570
669
  export declare function useWpDeleteUser(id: number, reassign?: number): Promise<FetchResult<WpUser>>;
@@ -604,11 +703,7 @@ export declare function useWpGetCustomPost(postType: string, id: number, options
604
703
  *
605
704
  * @example
606
705
  * ```ts
607
- * await useWpCreateCustomPost("product", {
608
- * title: "Widget",
609
- * content: "<p>A great widget</p>",
610
- * status: "publish",
611
- * });
706
+ * await useWpCreateCustomPost("product", { title: "Widget", status: "publish" });
612
707
  * ```
613
708
  */
614
709
  export declare function useWpCreateCustomPost(postType: string, data: Record<string, unknown>): Promise<FetchResult<unknown>>;
@@ -650,41 +745,26 @@ export declare function useWpDeleteCustomPost(postType: string, id: number, forc
650
745
  * ```ts
651
746
  * const result = await useWpBatch([
652
747
  * { method: "GET", path: "/wp/v2/posts/1" },
653
- * { method: "POST", path: "/wp/v2/posts", body: { title: "New Post" } },
654
748
  * ]);
655
- * if (result.ok) console.log(result.data.responses);
656
749
  * ```
657
750
  */
658
751
  export declare function useWpBatch(operations: WpBatchOperation[]): Promise<FetchResult<WpBatchResult>>;
659
752
  /**
660
753
  * Fetches ALL posts matching the criteria, automatically handling pagination.
661
754
  *
662
- * Use when you need every post (e.g. for sitemap generation, RSS feeds,
663
- * or data exports) without managing page numbers. Loops until all pages
664
- * are fetched.
665
- *
666
- * @param options - Query params for filtering (`status`, `categories`, `tags`,
667
- * `author`, `search`, `orderby`, `order`). Do NOT pass `page` or `per_page`.
755
+ * @param options - Query params for filtering. Do NOT pass `page` or `per_page`.
668
756
  * @param maxItems - Cap on the total number of posts to fetch (default `1000`).
669
757
  * @returns All posts as a flat array.
670
758
  *
671
759
  * @example
672
760
  * ```ts
673
- * // Get ALL published posts
674
761
  * const result = await useWpListAllPosts({ status: "publish" });
675
- * if (result.ok) console.log(`Total: ${result.data.length}`);
676
- *
677
- * // Get ALL posts from category 5
678
- * const cat5 = await useWpListAllPosts({ categories: 5 });
679
762
  * ```
680
763
  */
681
764
  export declare function useWpListAllPosts(options?: WpQueryParams, maxItems?: number): Promise<FetchResult<WpPost[]>>;
682
765
  /**
683
766
  * Searches ALL posts by keyword, automatically handling pagination.
684
767
  *
685
- * Use to find posts by title or content when you need every match,
686
- * not just the first page. Combines `search` param with auto-pagination.
687
- *
688
768
  * @param query - Search term (searches title and content).
689
769
  * @param options - Additional filters (`status`, `categories`, etc.).
690
770
  * @returns All posts matching the search.
@@ -692,27 +772,18 @@ export declare function useWpListAllPosts(options?: WpQueryParams, maxItems?: nu
692
772
  * @example
693
773
  * ```ts
694
774
  * const result = await useWpSearchAllPosts("tutorial");
695
- * if (result.ok) result.data.forEach(p => console.log(p.title.rendered));
696
775
  * ```
697
776
  */
698
777
  export declare function useWpSearchAllPosts(query: string, options?: WpQueryParams): Promise<FetchResult<WpPost[]>>;
699
778
  /**
700
- * Finds a single post by its URL slug.
701
- *
702
- * Use for slug-based routing (e.g. `/blog/:slug` pages) where you need
703
- * to fetch a post by its human-readable URL identifier. Returns `null`
704
- * if no post matches the slug.
779
+ * Finds a single post by its URL slug. Returns `null` if not found.
705
780
  *
706
781
  * @param slug - The post slug (e.g. "hello-world").
707
782
  * @returns The post or `null` if not found.
708
783
  *
709
784
  * @example
710
785
  * ```ts
711
- * // In an Astro/[slug].astro or similar dynamic route
712
786
  * const result = await useWpFindPostBySlug("hello-world");
713
- * if (result.ok && result.data) {
714
- * console.log(result.data.title.rendered);
715
- * }
716
787
  * ```
717
788
  */
718
789
  export declare function useWpFindPostBySlug(slug: string): Promise<FetchResult<WpPost | null>>;
@@ -1 +1 @@
1
- {"version":3,"file":"wordpress.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/wordpress/wordpress.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wordpress.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/wordpress/wordpress.service.ts"],"names":[],"mappings":"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"}