msw 2.11.5 → 2.12.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.
Files changed (45) hide show
  1. package/lib/browser/index.js +365 -308
  2. package/lib/browser/index.js.map +1 -1
  3. package/lib/browser/index.mjs +365 -308
  4. package/lib/browser/index.mjs.map +1 -1
  5. package/lib/core/index.d.mts +1 -0
  6. package/lib/core/index.d.ts +1 -0
  7. package/lib/core/index.js +2 -0
  8. package/lib/core/index.js.map +1 -1
  9. package/lib/core/index.mjs +4 -0
  10. package/lib/core/index.mjs.map +1 -1
  11. package/lib/core/sse.d.mts +116 -0
  12. package/lib/core/sse.d.ts +116 -0
  13. package/lib/core/sse.js +599 -0
  14. package/lib/core/sse.js.map +1 -0
  15. package/lib/core/sse.mjs +581 -0
  16. package/lib/core/sse.mjs.map +1 -0
  17. package/lib/core/utils/internal/isObject.d.mts +1 -1
  18. package/lib/core/utils/internal/isObject.d.ts +1 -1
  19. package/lib/core/utils/internal/isObject.js.map +1 -1
  20. package/lib/core/utils/internal/isObject.mjs.map +1 -1
  21. package/lib/core/ws/utils/attachWebSocketLogger.d.mts +7 -1
  22. package/lib/core/ws/utils/attachWebSocketLogger.d.ts +7 -1
  23. package/lib/core/ws/utils/attachWebSocketLogger.js +1 -0
  24. package/lib/core/ws/utils/attachWebSocketLogger.js.map +1 -1
  25. package/lib/core/ws/utils/attachWebSocketLogger.mjs +1 -0
  26. package/lib/core/ws/utils/attachWebSocketLogger.mjs.map +1 -1
  27. package/lib/core/ws/utils/getMessageLength.js +2 -1
  28. package/lib/core/ws/utils/getMessageLength.js.map +1 -1
  29. package/lib/core/ws/utils/getMessageLength.mjs +2 -1
  30. package/lib/core/ws/utils/getMessageLength.mjs.map +1 -1
  31. package/lib/core/ws/utils/getPublicData.js +2 -1
  32. package/lib/core/ws/utils/getPublicData.js.map +1 -1
  33. package/lib/core/ws/utils/getPublicData.mjs +2 -1
  34. package/lib/core/ws/utils/getPublicData.mjs.map +1 -1
  35. package/lib/iife/index.js +1367 -746
  36. package/lib/iife/index.js.map +1 -1
  37. package/lib/mockServiceWorker.js +1 -1
  38. package/package.json +6 -4
  39. package/src/browser/tsconfig.browser.json +1 -1
  40. package/src/core/index.ts +9 -0
  41. package/src/core/sse.ts +897 -0
  42. package/src/core/utils/internal/isObject.ts +1 -1
  43. package/src/core/ws/utils/attachWebSocketLogger.ts +1 -1
  44. package/src/core/ws/utils/getMessageLength.ts +2 -1
  45. package/src/core/ws/utils/getPublicData.ts +3 -2
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Determines if the given value is an object.
3
3
  */
4
- export function isObject(value: any): boolean {
4
+ export function isObject(value: any): value is Record<string, any> {
5
5
  return value != null && typeof value === 'object' && !Array.isArray(value)
6
6
  }
@@ -9,7 +9,7 @@ import { toPublicUrl } from '../../utils/request/toPublicUrl'
9
9
  import { getMessageLength } from './getMessageLength'
10
10
  import { getPublicData } from './getPublicData'
11
11
 
12
- const colors = {
12
+ export const colors = {
13
13
  system: '#3b82f6',
14
14
  outgoing: '#22c55e',
15
15
  incoming: '#ef4444',
@@ -1,4 +1,5 @@
1
1
  import type { WebSocketData } from '@mswjs/interceptors/WebSocket'
2
+ import { isObject } from '../../utils/internal/isObject'
2
3
 
3
4
  /**
4
5
  * Returns the byte length of the given WebSocket message.
@@ -11,7 +12,7 @@ export function getMessageLength(data: WebSocketData): number {
11
12
  return data.size
12
13
  }
13
14
 
14
- if (data instanceof ArrayBuffer) {
15
+ if (isObject(data) && 'byteLength' in data) {
15
16
  return data.byteLength
16
17
  }
17
18
 
@@ -1,4 +1,5 @@
1
- import { WebSocketData } from '@mswjs/interceptors/WebSocket'
1
+ import type { WebSocketData } from '@mswjs/interceptors/WebSocket'
2
+ import { isObject } from '../../utils/internal/isObject'
2
3
  import { truncateMessage } from './truncateMessage'
3
4
 
4
5
  export async function getPublicData(data: WebSocketData): Promise<string> {
@@ -8,7 +9,7 @@ export async function getPublicData(data: WebSocketData): Promise<string> {
8
9
  }
9
10
 
10
11
  // Handle all ArrayBuffer-like objects.
11
- if (typeof data === 'object' && 'byteLength' in data) {
12
+ if (isObject(data)) {
12
13
  const text = new TextDecoder().decode(data as ArrayBuffer)
13
14
  return `ArrayBuffer(${truncateMessage(text)})`
14
15
  }