rezo 1.0.9 → 1.0.10

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.
@@ -4219,48 +4219,101 @@ export declare class Rezo {
4219
4219
  setCookies(setCookieArray: string[], url: string, startNew?: boolean): void;
4220
4220
  setCookies(setCookieArray: string[], url: string | undefined, startNew: boolean): void;
4221
4221
  /**
4222
- * Get all cookies from the cookie jar.
4222
+ * Get all cookies from the cookie jar in multiple convenient formats.
4223
4223
  *
4224
- * Returns a `Cookies` object where keys are domain names and values are
4225
- * arrays of Cookie objects for that domain. This provides easy access to
4226
- * all stored cookies for inspection, serialization, or manual manipulation.
4224
+ * Returns a `Cookies` object containing all stored cookies in various formats
4225
+ * for different use cases. This provides flexible access to cookies for
4226
+ * HTTP headers, file storage, serialization, or programmatic manipulation.
4227
4227
  *
4228
- * @returns A Cookies object mapping domains to their Cookie arrays
4228
+ * The returned `Cookies` object contains:
4229
+ * - **array**: `Cookie[]` - Array of Cookie class instances for programmatic access
4230
+ * - **serialized**: `SerializedCookie[]` - Plain objects for JSON serialization/storage
4231
+ * - **netscape**: `string` - Netscape cookie file format for file-based storage
4232
+ * - **string**: `string` - Cookie header format (`key=value; key2=value2`) for HTTP requests
4233
+ * - **setCookiesString**: `string[]` - Array of Set-Cookie header strings
4234
+ *
4235
+ * @returns A Cookies object with cookies in multiple formats
4229
4236
  *
4230
4237
  * @example
4231
4238
  * ```typescript
4232
- * // Get all cookies
4233
4239
  * const cookies = rezo.getCookies();
4234
4240
  *
4235
- * // Access cookies for a specific domain
4236
- * const exampleCookies = cookies['example.com'];
4237
- * if (exampleCookies) {
4238
- * for (const cookie of exampleCookies) {
4239
- * console.log(`${cookie.key}=${cookie.value}`);
4240
- * }
4241
+ * // Access as Cookie instances for programmatic use
4242
+ * for (const cookie of cookies.array) {
4243
+ * console.log(`${cookie.key}=${cookie.value} (expires: ${cookie.expires})`);
4241
4244
  * }
4242
4245
  *
4243
- * // List all domains with cookies
4244
- * const domains = Object.keys(cookies);
4245
- * console.log('Cookies stored for:', domains);
4246
+ * // Get cookie header string for manual HTTP requests
4247
+ * console.log(cookies.string); // "session=abc123; user=john"
4248
+ *
4249
+ * // Save to Netscape cookie file
4250
+ * fs.writeFileSync('cookies.txt', cookies.netscape);
4246
4251
  *
4247
- * // Count total cookies
4248
- * const totalCookies = Object.values(cookies)
4249
- * .reduce((sum, arr) => sum + arr.length, 0);
4250
- * console.log(`Total cookies: ${totalCookies}`);
4252
+ * // Serialize to JSON for storage
4253
+ * const json = JSON.stringify(cookies.serialized);
4254
+ * localStorage.setItem('cookies', json);
4255
+ *
4256
+ * // Get Set-Cookie headers (useful for proxying responses)
4257
+ * for (const setCookie of cookies.setCookiesString) {
4258
+ * console.log(setCookie); // "session=abc123; Domain=example.com; Path=/; HttpOnly"
4259
+ * }
4251
4260
  *
4252
- * // Serialize all cookies to JSON
4253
- * const serialized = JSON.stringify(cookies);
4261
+ * // Check cookie count
4262
+ * console.log(`Total cookies: ${cookies.array.length}`);
4254
4263
  *
4255
- * // Check if a specific cookie exists
4256
- * const hasSession = cookies['example.com']
4257
- * ?.some(c => c.key === 'session');
4264
+ * // Find specific cookie
4265
+ * const sessionCookie = cookies.array.find(c => c.key === 'session');
4258
4266
  * ```
4259
4267
  *
4260
4268
  * @see {@link setCookies} - Set cookies in the jar
4269
+ * @see {@link clearCookies} - Remove all cookies from the jar
4261
4270
  * @see {@link cookieJar} - Access the underlying RezoCookieJar for more methods
4262
4271
  */
4263
4272
  getCookies(): Cookies;
4273
+ /**
4274
+ * Remove all cookies from the cookie jar.
4275
+ *
4276
+ * This method synchronously clears the entire cookie store, removing all
4277
+ * cookies regardless of domain, path, or expiration. Useful for:
4278
+ * - Logging out users and clearing session state
4279
+ * - Resetting the client to a clean state between test runs
4280
+ * - Implementing "clear cookies" functionality in applications
4281
+ * - Starting fresh before authenticating with different credentials
4282
+ *
4283
+ * This operation is immediate and cannot be undone. If you need to preserve
4284
+ * certain cookies, use {@link getCookies} to save them before clearing,
4285
+ * then restore specific ones with {@link setCookies}.
4286
+ *
4287
+ * @example
4288
+ * ```typescript
4289
+ * // Simple logout - clear all cookies
4290
+ * rezo.clearCookies();
4291
+ *
4292
+ * // Save cookies before clearing (if needed)
4293
+ * const savedCookies = rezo.getCookies();
4294
+ * rezo.clearCookies();
4295
+ * // Later, restore specific cookies if needed
4296
+ * const importantCookies = savedCookies.array.filter(c => c.key === 'preferences');
4297
+ * rezo.setCookies(importantCookies);
4298
+ *
4299
+ * // Clear and re-authenticate
4300
+ * rezo.clearCookies();
4301
+ * await rezo.post('https://api.example.com/login', {
4302
+ * username: 'newuser',
4303
+ * password: 'newpass'
4304
+ * });
4305
+ *
4306
+ * // Use in test teardown
4307
+ * afterEach(() => {
4308
+ * rezo.clearCookies(); // Clean state for next test
4309
+ * });
4310
+ * ```
4311
+ *
4312
+ * @see {@link getCookies} - Get all cookies before clearing
4313
+ * @see {@link setCookies} - Restore or set new cookies after clearing
4314
+ * @see {@link cookieJar} - Access the underlying RezoCookieJar for more control
4315
+ */
4316
+ clearCookies(): void;
4264
4317
  }
4265
4318
  /**
4266
4319
  * Extended Rezo instance with Axios-compatible static helpers.
@@ -4219,48 +4219,101 @@ export declare class Rezo {
4219
4219
  setCookies(setCookieArray: string[], url: string, startNew?: boolean): void;
4220
4220
  setCookies(setCookieArray: string[], url: string | undefined, startNew: boolean): void;
4221
4221
  /**
4222
- * Get all cookies from the cookie jar.
4222
+ * Get all cookies from the cookie jar in multiple convenient formats.
4223
4223
  *
4224
- * Returns a `Cookies` object where keys are domain names and values are
4225
- * arrays of Cookie objects for that domain. This provides easy access to
4226
- * all stored cookies for inspection, serialization, or manual manipulation.
4224
+ * Returns a `Cookies` object containing all stored cookies in various formats
4225
+ * for different use cases. This provides flexible access to cookies for
4226
+ * HTTP headers, file storage, serialization, or programmatic manipulation.
4227
4227
  *
4228
- * @returns A Cookies object mapping domains to their Cookie arrays
4228
+ * The returned `Cookies` object contains:
4229
+ * - **array**: `Cookie[]` - Array of Cookie class instances for programmatic access
4230
+ * - **serialized**: `SerializedCookie[]` - Plain objects for JSON serialization/storage
4231
+ * - **netscape**: `string` - Netscape cookie file format for file-based storage
4232
+ * - **string**: `string` - Cookie header format (`key=value; key2=value2`) for HTTP requests
4233
+ * - **setCookiesString**: `string[]` - Array of Set-Cookie header strings
4234
+ *
4235
+ * @returns A Cookies object with cookies in multiple formats
4229
4236
  *
4230
4237
  * @example
4231
4238
  * ```typescript
4232
- * // Get all cookies
4233
4239
  * const cookies = rezo.getCookies();
4234
4240
  *
4235
- * // Access cookies for a specific domain
4236
- * const exampleCookies = cookies['example.com'];
4237
- * if (exampleCookies) {
4238
- * for (const cookie of exampleCookies) {
4239
- * console.log(`${cookie.key}=${cookie.value}`);
4240
- * }
4241
+ * // Access as Cookie instances for programmatic use
4242
+ * for (const cookie of cookies.array) {
4243
+ * console.log(`${cookie.key}=${cookie.value} (expires: ${cookie.expires})`);
4241
4244
  * }
4242
4245
  *
4243
- * // List all domains with cookies
4244
- * const domains = Object.keys(cookies);
4245
- * console.log('Cookies stored for:', domains);
4246
+ * // Get cookie header string for manual HTTP requests
4247
+ * console.log(cookies.string); // "session=abc123; user=john"
4248
+ *
4249
+ * // Save to Netscape cookie file
4250
+ * fs.writeFileSync('cookies.txt', cookies.netscape);
4246
4251
  *
4247
- * // Count total cookies
4248
- * const totalCookies = Object.values(cookies)
4249
- * .reduce((sum, arr) => sum + arr.length, 0);
4250
- * console.log(`Total cookies: ${totalCookies}`);
4252
+ * // Serialize to JSON for storage
4253
+ * const json = JSON.stringify(cookies.serialized);
4254
+ * localStorage.setItem('cookies', json);
4255
+ *
4256
+ * // Get Set-Cookie headers (useful for proxying responses)
4257
+ * for (const setCookie of cookies.setCookiesString) {
4258
+ * console.log(setCookie); // "session=abc123; Domain=example.com; Path=/; HttpOnly"
4259
+ * }
4251
4260
  *
4252
- * // Serialize all cookies to JSON
4253
- * const serialized = JSON.stringify(cookies);
4261
+ * // Check cookie count
4262
+ * console.log(`Total cookies: ${cookies.array.length}`);
4254
4263
  *
4255
- * // Check if a specific cookie exists
4256
- * const hasSession = cookies['example.com']
4257
- * ?.some(c => c.key === 'session');
4264
+ * // Find specific cookie
4265
+ * const sessionCookie = cookies.array.find(c => c.key === 'session');
4258
4266
  * ```
4259
4267
  *
4260
4268
  * @see {@link setCookies} - Set cookies in the jar
4269
+ * @see {@link clearCookies} - Remove all cookies from the jar
4261
4270
  * @see {@link cookieJar} - Access the underlying RezoCookieJar for more methods
4262
4271
  */
4263
4272
  getCookies(): Cookies;
4273
+ /**
4274
+ * Remove all cookies from the cookie jar.
4275
+ *
4276
+ * This method synchronously clears the entire cookie store, removing all
4277
+ * cookies regardless of domain, path, or expiration. Useful for:
4278
+ * - Logging out users and clearing session state
4279
+ * - Resetting the client to a clean state between test runs
4280
+ * - Implementing "clear cookies" functionality in applications
4281
+ * - Starting fresh before authenticating with different credentials
4282
+ *
4283
+ * This operation is immediate and cannot be undone. If you need to preserve
4284
+ * certain cookies, use {@link getCookies} to save them before clearing,
4285
+ * then restore specific ones with {@link setCookies}.
4286
+ *
4287
+ * @example
4288
+ * ```typescript
4289
+ * // Simple logout - clear all cookies
4290
+ * rezo.clearCookies();
4291
+ *
4292
+ * // Save cookies before clearing (if needed)
4293
+ * const savedCookies = rezo.getCookies();
4294
+ * rezo.clearCookies();
4295
+ * // Later, restore specific cookies if needed
4296
+ * const importantCookies = savedCookies.array.filter(c => c.key === 'preferences');
4297
+ * rezo.setCookies(importantCookies);
4298
+ *
4299
+ * // Clear and re-authenticate
4300
+ * rezo.clearCookies();
4301
+ * await rezo.post('https://api.example.com/login', {
4302
+ * username: 'newuser',
4303
+ * password: 'newpass'
4304
+ * });
4305
+ *
4306
+ * // Use in test teardown
4307
+ * afterEach(() => {
4308
+ * rezo.clearCookies(); // Clean state for next test
4309
+ * });
4310
+ * ```
4311
+ *
4312
+ * @see {@link getCookies} - Get all cookies before clearing
4313
+ * @see {@link setCookies} - Restore or set new cookies after clearing
4314
+ * @see {@link cookieJar} - Access the underlying RezoCookieJar for more control
4315
+ */
4316
+ clearCookies(): void;
4264
4317
  }
4265
4318
  /**
4266
4319
  * Extended Rezo instance with Axios-compatible static helpers.
@@ -4219,48 +4219,101 @@ export declare class Rezo {
4219
4219
  setCookies(setCookieArray: string[], url: string, startNew?: boolean): void;
4220
4220
  setCookies(setCookieArray: string[], url: string | undefined, startNew: boolean): void;
4221
4221
  /**
4222
- * Get all cookies from the cookie jar.
4222
+ * Get all cookies from the cookie jar in multiple convenient formats.
4223
4223
  *
4224
- * Returns a `Cookies` object where keys are domain names and values are
4225
- * arrays of Cookie objects for that domain. This provides easy access to
4226
- * all stored cookies for inspection, serialization, or manual manipulation.
4224
+ * Returns a `Cookies` object containing all stored cookies in various formats
4225
+ * for different use cases. This provides flexible access to cookies for
4226
+ * HTTP headers, file storage, serialization, or programmatic manipulation.
4227
4227
  *
4228
- * @returns A Cookies object mapping domains to their Cookie arrays
4228
+ * The returned `Cookies` object contains:
4229
+ * - **array**: `Cookie[]` - Array of Cookie class instances for programmatic access
4230
+ * - **serialized**: `SerializedCookie[]` - Plain objects for JSON serialization/storage
4231
+ * - **netscape**: `string` - Netscape cookie file format for file-based storage
4232
+ * - **string**: `string` - Cookie header format (`key=value; key2=value2`) for HTTP requests
4233
+ * - **setCookiesString**: `string[]` - Array of Set-Cookie header strings
4234
+ *
4235
+ * @returns A Cookies object with cookies in multiple formats
4229
4236
  *
4230
4237
  * @example
4231
4238
  * ```typescript
4232
- * // Get all cookies
4233
4239
  * const cookies = rezo.getCookies();
4234
4240
  *
4235
- * // Access cookies for a specific domain
4236
- * const exampleCookies = cookies['example.com'];
4237
- * if (exampleCookies) {
4238
- * for (const cookie of exampleCookies) {
4239
- * console.log(`${cookie.key}=${cookie.value}`);
4240
- * }
4241
+ * // Access as Cookie instances for programmatic use
4242
+ * for (const cookie of cookies.array) {
4243
+ * console.log(`${cookie.key}=${cookie.value} (expires: ${cookie.expires})`);
4241
4244
  * }
4242
4245
  *
4243
- * // List all domains with cookies
4244
- * const domains = Object.keys(cookies);
4245
- * console.log('Cookies stored for:', domains);
4246
+ * // Get cookie header string for manual HTTP requests
4247
+ * console.log(cookies.string); // "session=abc123; user=john"
4248
+ *
4249
+ * // Save to Netscape cookie file
4250
+ * fs.writeFileSync('cookies.txt', cookies.netscape);
4246
4251
  *
4247
- * // Count total cookies
4248
- * const totalCookies = Object.values(cookies)
4249
- * .reduce((sum, arr) => sum + arr.length, 0);
4250
- * console.log(`Total cookies: ${totalCookies}`);
4252
+ * // Serialize to JSON for storage
4253
+ * const json = JSON.stringify(cookies.serialized);
4254
+ * localStorage.setItem('cookies', json);
4255
+ *
4256
+ * // Get Set-Cookie headers (useful for proxying responses)
4257
+ * for (const setCookie of cookies.setCookiesString) {
4258
+ * console.log(setCookie); // "session=abc123; Domain=example.com; Path=/; HttpOnly"
4259
+ * }
4251
4260
  *
4252
- * // Serialize all cookies to JSON
4253
- * const serialized = JSON.stringify(cookies);
4261
+ * // Check cookie count
4262
+ * console.log(`Total cookies: ${cookies.array.length}`);
4254
4263
  *
4255
- * // Check if a specific cookie exists
4256
- * const hasSession = cookies['example.com']
4257
- * ?.some(c => c.key === 'session');
4264
+ * // Find specific cookie
4265
+ * const sessionCookie = cookies.array.find(c => c.key === 'session');
4258
4266
  * ```
4259
4267
  *
4260
4268
  * @see {@link setCookies} - Set cookies in the jar
4269
+ * @see {@link clearCookies} - Remove all cookies from the jar
4261
4270
  * @see {@link cookieJar} - Access the underlying RezoCookieJar for more methods
4262
4271
  */
4263
4272
  getCookies(): Cookies;
4273
+ /**
4274
+ * Remove all cookies from the cookie jar.
4275
+ *
4276
+ * This method synchronously clears the entire cookie store, removing all
4277
+ * cookies regardless of domain, path, or expiration. Useful for:
4278
+ * - Logging out users and clearing session state
4279
+ * - Resetting the client to a clean state between test runs
4280
+ * - Implementing "clear cookies" functionality in applications
4281
+ * - Starting fresh before authenticating with different credentials
4282
+ *
4283
+ * This operation is immediate and cannot be undone. If you need to preserve
4284
+ * certain cookies, use {@link getCookies} to save them before clearing,
4285
+ * then restore specific ones with {@link setCookies}.
4286
+ *
4287
+ * @example
4288
+ * ```typescript
4289
+ * // Simple logout - clear all cookies
4290
+ * rezo.clearCookies();
4291
+ *
4292
+ * // Save cookies before clearing (if needed)
4293
+ * const savedCookies = rezo.getCookies();
4294
+ * rezo.clearCookies();
4295
+ * // Later, restore specific cookies if needed
4296
+ * const importantCookies = savedCookies.array.filter(c => c.key === 'preferences');
4297
+ * rezo.setCookies(importantCookies);
4298
+ *
4299
+ * // Clear and re-authenticate
4300
+ * rezo.clearCookies();
4301
+ * await rezo.post('https://api.example.com/login', {
4302
+ * username: 'newuser',
4303
+ * password: 'newpass'
4304
+ * });
4305
+ *
4306
+ * // Use in test teardown
4307
+ * afterEach(() => {
4308
+ * rezo.clearCookies(); // Clean state for next test
4309
+ * });
4310
+ * ```
4311
+ *
4312
+ * @see {@link getCookies} - Get all cookies before clearing
4313
+ * @see {@link setCookies} - Restore or set new cookies after clearing
4314
+ * @see {@link cookieJar} - Access the underlying RezoCookieJar for more control
4315
+ */
4316
+ clearCookies(): void;
4264
4317
  }
4265
4318
  /**
4266
4319
  * Extended Rezo instance with Axios-compatible static helpers.
@@ -4219,48 +4219,101 @@ export declare class Rezo {
4219
4219
  setCookies(setCookieArray: string[], url: string, startNew?: boolean): void;
4220
4220
  setCookies(setCookieArray: string[], url: string | undefined, startNew: boolean): void;
4221
4221
  /**
4222
- * Get all cookies from the cookie jar.
4222
+ * Get all cookies from the cookie jar in multiple convenient formats.
4223
4223
  *
4224
- * Returns a `Cookies` object where keys are domain names and values are
4225
- * arrays of Cookie objects for that domain. This provides easy access to
4226
- * all stored cookies for inspection, serialization, or manual manipulation.
4224
+ * Returns a `Cookies` object containing all stored cookies in various formats
4225
+ * for different use cases. This provides flexible access to cookies for
4226
+ * HTTP headers, file storage, serialization, or programmatic manipulation.
4227
4227
  *
4228
- * @returns A Cookies object mapping domains to their Cookie arrays
4228
+ * The returned `Cookies` object contains:
4229
+ * - **array**: `Cookie[]` - Array of Cookie class instances for programmatic access
4230
+ * - **serialized**: `SerializedCookie[]` - Plain objects for JSON serialization/storage
4231
+ * - **netscape**: `string` - Netscape cookie file format for file-based storage
4232
+ * - **string**: `string` - Cookie header format (`key=value; key2=value2`) for HTTP requests
4233
+ * - **setCookiesString**: `string[]` - Array of Set-Cookie header strings
4234
+ *
4235
+ * @returns A Cookies object with cookies in multiple formats
4229
4236
  *
4230
4237
  * @example
4231
4238
  * ```typescript
4232
- * // Get all cookies
4233
4239
  * const cookies = rezo.getCookies();
4234
4240
  *
4235
- * // Access cookies for a specific domain
4236
- * const exampleCookies = cookies['example.com'];
4237
- * if (exampleCookies) {
4238
- * for (const cookie of exampleCookies) {
4239
- * console.log(`${cookie.key}=${cookie.value}`);
4240
- * }
4241
+ * // Access as Cookie instances for programmatic use
4242
+ * for (const cookie of cookies.array) {
4243
+ * console.log(`${cookie.key}=${cookie.value} (expires: ${cookie.expires})`);
4241
4244
  * }
4242
4245
  *
4243
- * // List all domains with cookies
4244
- * const domains = Object.keys(cookies);
4245
- * console.log('Cookies stored for:', domains);
4246
+ * // Get cookie header string for manual HTTP requests
4247
+ * console.log(cookies.string); // "session=abc123; user=john"
4248
+ *
4249
+ * // Save to Netscape cookie file
4250
+ * fs.writeFileSync('cookies.txt', cookies.netscape);
4246
4251
  *
4247
- * // Count total cookies
4248
- * const totalCookies = Object.values(cookies)
4249
- * .reduce((sum, arr) => sum + arr.length, 0);
4250
- * console.log(`Total cookies: ${totalCookies}`);
4252
+ * // Serialize to JSON for storage
4253
+ * const json = JSON.stringify(cookies.serialized);
4254
+ * localStorage.setItem('cookies', json);
4255
+ *
4256
+ * // Get Set-Cookie headers (useful for proxying responses)
4257
+ * for (const setCookie of cookies.setCookiesString) {
4258
+ * console.log(setCookie); // "session=abc123; Domain=example.com; Path=/; HttpOnly"
4259
+ * }
4251
4260
  *
4252
- * // Serialize all cookies to JSON
4253
- * const serialized = JSON.stringify(cookies);
4261
+ * // Check cookie count
4262
+ * console.log(`Total cookies: ${cookies.array.length}`);
4254
4263
  *
4255
- * // Check if a specific cookie exists
4256
- * const hasSession = cookies['example.com']
4257
- * ?.some(c => c.key === 'session');
4264
+ * // Find specific cookie
4265
+ * const sessionCookie = cookies.array.find(c => c.key === 'session');
4258
4266
  * ```
4259
4267
  *
4260
4268
  * @see {@link setCookies} - Set cookies in the jar
4269
+ * @see {@link clearCookies} - Remove all cookies from the jar
4261
4270
  * @see {@link cookieJar} - Access the underlying RezoCookieJar for more methods
4262
4271
  */
4263
4272
  getCookies(): Cookies;
4273
+ /**
4274
+ * Remove all cookies from the cookie jar.
4275
+ *
4276
+ * This method synchronously clears the entire cookie store, removing all
4277
+ * cookies regardless of domain, path, or expiration. Useful for:
4278
+ * - Logging out users and clearing session state
4279
+ * - Resetting the client to a clean state between test runs
4280
+ * - Implementing "clear cookies" functionality in applications
4281
+ * - Starting fresh before authenticating with different credentials
4282
+ *
4283
+ * This operation is immediate and cannot be undone. If you need to preserve
4284
+ * certain cookies, use {@link getCookies} to save them before clearing,
4285
+ * then restore specific ones with {@link setCookies}.
4286
+ *
4287
+ * @example
4288
+ * ```typescript
4289
+ * // Simple logout - clear all cookies
4290
+ * rezo.clearCookies();
4291
+ *
4292
+ * // Save cookies before clearing (if needed)
4293
+ * const savedCookies = rezo.getCookies();
4294
+ * rezo.clearCookies();
4295
+ * // Later, restore specific cookies if needed
4296
+ * const importantCookies = savedCookies.array.filter(c => c.key === 'preferences');
4297
+ * rezo.setCookies(importantCookies);
4298
+ *
4299
+ * // Clear and re-authenticate
4300
+ * rezo.clearCookies();
4301
+ * await rezo.post('https://api.example.com/login', {
4302
+ * username: 'newuser',
4303
+ * password: 'newpass'
4304
+ * });
4305
+ *
4306
+ * // Use in test teardown
4307
+ * afterEach(() => {
4308
+ * rezo.clearCookies(); // Clean state for next test
4309
+ * });
4310
+ * ```
4311
+ *
4312
+ * @see {@link getCookies} - Get all cookies before clearing
4313
+ * @see {@link setCookies} - Restore or set new cookies after clearing
4314
+ * @see {@link cookieJar} - Access the underlying RezoCookieJar for more control
4315
+ */
4316
+ clearCookies(): void;
4264
4317
  }
4265
4318
  /**
4266
4319
  * Extended Rezo instance with Axios-compatible static helpers.
@@ -4219,48 +4219,101 @@ export declare class Rezo {
4219
4219
  setCookies(setCookieArray: string[], url: string, startNew?: boolean): void;
4220
4220
  setCookies(setCookieArray: string[], url: string | undefined, startNew: boolean): void;
4221
4221
  /**
4222
- * Get all cookies from the cookie jar.
4222
+ * Get all cookies from the cookie jar in multiple convenient formats.
4223
4223
  *
4224
- * Returns a `Cookies` object where keys are domain names and values are
4225
- * arrays of Cookie objects for that domain. This provides easy access to
4226
- * all stored cookies for inspection, serialization, or manual manipulation.
4224
+ * Returns a `Cookies` object containing all stored cookies in various formats
4225
+ * for different use cases. This provides flexible access to cookies for
4226
+ * HTTP headers, file storage, serialization, or programmatic manipulation.
4227
4227
  *
4228
- * @returns A Cookies object mapping domains to their Cookie arrays
4228
+ * The returned `Cookies` object contains:
4229
+ * - **array**: `Cookie[]` - Array of Cookie class instances for programmatic access
4230
+ * - **serialized**: `SerializedCookie[]` - Plain objects for JSON serialization/storage
4231
+ * - **netscape**: `string` - Netscape cookie file format for file-based storage
4232
+ * - **string**: `string` - Cookie header format (`key=value; key2=value2`) for HTTP requests
4233
+ * - **setCookiesString**: `string[]` - Array of Set-Cookie header strings
4234
+ *
4235
+ * @returns A Cookies object with cookies in multiple formats
4229
4236
  *
4230
4237
  * @example
4231
4238
  * ```typescript
4232
- * // Get all cookies
4233
4239
  * const cookies = rezo.getCookies();
4234
4240
  *
4235
- * // Access cookies for a specific domain
4236
- * const exampleCookies = cookies['example.com'];
4237
- * if (exampleCookies) {
4238
- * for (const cookie of exampleCookies) {
4239
- * console.log(`${cookie.key}=${cookie.value}`);
4240
- * }
4241
+ * // Access as Cookie instances for programmatic use
4242
+ * for (const cookie of cookies.array) {
4243
+ * console.log(`${cookie.key}=${cookie.value} (expires: ${cookie.expires})`);
4241
4244
  * }
4242
4245
  *
4243
- * // List all domains with cookies
4244
- * const domains = Object.keys(cookies);
4245
- * console.log('Cookies stored for:', domains);
4246
+ * // Get cookie header string for manual HTTP requests
4247
+ * console.log(cookies.string); // "session=abc123; user=john"
4248
+ *
4249
+ * // Save to Netscape cookie file
4250
+ * fs.writeFileSync('cookies.txt', cookies.netscape);
4246
4251
  *
4247
- * // Count total cookies
4248
- * const totalCookies = Object.values(cookies)
4249
- * .reduce((sum, arr) => sum + arr.length, 0);
4250
- * console.log(`Total cookies: ${totalCookies}`);
4252
+ * // Serialize to JSON for storage
4253
+ * const json = JSON.stringify(cookies.serialized);
4254
+ * localStorage.setItem('cookies', json);
4255
+ *
4256
+ * // Get Set-Cookie headers (useful for proxying responses)
4257
+ * for (const setCookie of cookies.setCookiesString) {
4258
+ * console.log(setCookie); // "session=abc123; Domain=example.com; Path=/; HttpOnly"
4259
+ * }
4251
4260
  *
4252
- * // Serialize all cookies to JSON
4253
- * const serialized = JSON.stringify(cookies);
4261
+ * // Check cookie count
4262
+ * console.log(`Total cookies: ${cookies.array.length}`);
4254
4263
  *
4255
- * // Check if a specific cookie exists
4256
- * const hasSession = cookies['example.com']
4257
- * ?.some(c => c.key === 'session');
4264
+ * // Find specific cookie
4265
+ * const sessionCookie = cookies.array.find(c => c.key === 'session');
4258
4266
  * ```
4259
4267
  *
4260
4268
  * @see {@link setCookies} - Set cookies in the jar
4269
+ * @see {@link clearCookies} - Remove all cookies from the jar
4261
4270
  * @see {@link cookieJar} - Access the underlying RezoCookieJar for more methods
4262
4271
  */
4263
4272
  getCookies(): Cookies;
4273
+ /**
4274
+ * Remove all cookies from the cookie jar.
4275
+ *
4276
+ * This method synchronously clears the entire cookie store, removing all
4277
+ * cookies regardless of domain, path, or expiration. Useful for:
4278
+ * - Logging out users and clearing session state
4279
+ * - Resetting the client to a clean state between test runs
4280
+ * - Implementing "clear cookies" functionality in applications
4281
+ * - Starting fresh before authenticating with different credentials
4282
+ *
4283
+ * This operation is immediate and cannot be undone. If you need to preserve
4284
+ * certain cookies, use {@link getCookies} to save them before clearing,
4285
+ * then restore specific ones with {@link setCookies}.
4286
+ *
4287
+ * @example
4288
+ * ```typescript
4289
+ * // Simple logout - clear all cookies
4290
+ * rezo.clearCookies();
4291
+ *
4292
+ * // Save cookies before clearing (if needed)
4293
+ * const savedCookies = rezo.getCookies();
4294
+ * rezo.clearCookies();
4295
+ * // Later, restore specific cookies if needed
4296
+ * const importantCookies = savedCookies.array.filter(c => c.key === 'preferences');
4297
+ * rezo.setCookies(importantCookies);
4298
+ *
4299
+ * // Clear and re-authenticate
4300
+ * rezo.clearCookies();
4301
+ * await rezo.post('https://api.example.com/login', {
4302
+ * username: 'newuser',
4303
+ * password: 'newpass'
4304
+ * });
4305
+ *
4306
+ * // Use in test teardown
4307
+ * afterEach(() => {
4308
+ * rezo.clearCookies(); // Clean state for next test
4309
+ * });
4310
+ * ```
4311
+ *
4312
+ * @see {@link getCookies} - Get all cookies before clearing
4313
+ * @see {@link setCookies} - Restore or set new cookies after clearing
4314
+ * @see {@link cookieJar} - Access the underlying RezoCookieJar for more control
4315
+ */
4316
+ clearCookies(): void;
4264
4317
  }
4265
4318
  /**
4266
4319
  * Extended Rezo instance with Axios-compatible static helpers.