@tldraw/utils 4.6.0-next.5a871ec02ff3 → 4.6.0-next.6594d48ace27

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 (51) hide show
  1. package/dist-cjs/index.d.ts +20 -1
  2. package/dist-cjs/index.js +3 -1
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/ExecutionQueue.js +1 -0
  5. package/dist-cjs/lib/ExecutionQueue.js.map +1 -1
  6. package/dist-cjs/lib/LruCache.js +52 -0
  7. package/dist-cjs/lib/LruCache.js.map +7 -0
  8. package/dist-cjs/lib/PerformanceTracker.js +1 -1
  9. package/dist-cjs/lib/PerformanceTracker.js.map +1 -1
  10. package/dist-cjs/lib/bind.js.map +1 -1
  11. package/dist-cjs/lib/debounce.js +1 -0
  12. package/dist-cjs/lib/debounce.js.map +2 -2
  13. package/dist-cjs/lib/network.js.map +1 -1
  14. package/dist-cjs/lib/retry.js.map +2 -2
  15. package/dist-cjs/lib/storage.js.map +1 -1
  16. package/dist-cjs/lib/timers.js.map +1 -1
  17. package/dist-cjs/lib/types.js.map +1 -1
  18. package/dist-cjs/lib/version.js.map +1 -1
  19. package/dist-esm/index.d.mts +20 -1
  20. package/dist-esm/index.mjs +3 -1
  21. package/dist-esm/index.mjs.map +2 -2
  22. package/dist-esm/lib/ExecutionQueue.mjs +1 -0
  23. package/dist-esm/lib/ExecutionQueue.mjs.map +1 -1
  24. package/dist-esm/lib/LruCache.mjs +32 -0
  25. package/dist-esm/lib/LruCache.mjs.map +7 -0
  26. package/dist-esm/lib/PerformanceTracker.mjs +1 -1
  27. package/dist-esm/lib/PerformanceTracker.mjs.map +1 -1
  28. package/dist-esm/lib/bind.mjs.map +1 -1
  29. package/dist-esm/lib/debounce.mjs +1 -0
  30. package/dist-esm/lib/debounce.mjs.map +2 -2
  31. package/dist-esm/lib/network.mjs.map +1 -1
  32. package/dist-esm/lib/retry.mjs.map +2 -2
  33. package/dist-esm/lib/storage.mjs.map +1 -1
  34. package/dist-esm/lib/timers.mjs.map +1 -1
  35. package/dist-esm/lib/version.mjs.map +1 -1
  36. package/package.json +1 -1
  37. package/src/index.ts +2 -0
  38. package/src/lib/ExecutionQueue.test.ts +1 -1
  39. package/src/lib/LruCache.test.ts +89 -0
  40. package/src/lib/LruCache.ts +32 -0
  41. package/src/lib/PerformanceTracker.test.ts +1 -1
  42. package/src/lib/PerformanceTracker.ts +1 -1
  43. package/src/lib/bind.ts +1 -1
  44. package/src/lib/debounce.ts +5 -1
  45. package/src/lib/network.ts +2 -2
  46. package/src/lib/retry.ts +1 -0
  47. package/src/lib/storage.test.ts +2 -0
  48. package/src/lib/storage.tsx +1 -1
  49. package/src/lib/timers.ts +1 -1
  50. package/src/lib/types.ts +8 -0
  51. package/src/lib/version.ts +1 -1
@@ -7,7 +7,7 @@
7
7
  * @internal
8
8
  */
9
9
  export async function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response> {
10
- // eslint-disable-next-line no-restricted-properties
10
+ // eslint-disable-next-line tldraw/no-restricted-properties
11
11
  return window.fetch(input, {
12
12
  // We want to make sure that the referrer is not sent to other domains.
13
13
  referrerPolicy: 'strict-origin-when-cross-origin',
@@ -25,7 +25,7 @@ export async function fetch(input: RequestInfo | URL, init?: RequestInit): Promi
25
25
  * @internal
26
26
  */
27
27
  export const Image = (width?: number, height?: number) => {
28
- // eslint-disable-next-line no-restricted-properties
28
+ // eslint-disable-next-line tldraw/no-restricted-properties
29
29
  const img = new window.Image(width, height)
30
30
  img.referrerPolicy = 'strict-origin-when-cross-origin'
31
31
  return img
package/src/lib/retry.ts CHANGED
@@ -72,5 +72,6 @@ export async function retry<T>(
72
72
  await sleep(waitDuration)
73
73
  }
74
74
  }
75
+ // eslint-disable-next-line no-throw-literal
75
76
  throw error
76
77
  }
@@ -1,3 +1,5 @@
1
+ /* eslint-disable tldraw/no-direct-storage */
2
+
1
3
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2
4
  import {
3
5
  clearLocalStorage,
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-restricted-syntax */
1
+ /* eslint-disable tldraw/no-direct-storage */
2
2
 
3
3
  /**
4
4
  * Get a value from local storage.
package/src/lib/timers.ts CHANGED
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-restricted-properties */
1
+ /* eslint-disable tldraw/no-restricted-properties */
2
2
 
3
3
  /**
4
4
  * A utility class for managing timeouts, intervals, and animation frames with context-based organization and automatic cleanup.
package/src/lib/types.ts CHANGED
@@ -66,6 +66,14 @@ export type RecursivePartial<T> = {
66
66
  */
67
67
  export type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never
68
68
 
69
+ /**
70
+ * A value that may be returned synchronously or as a `Promise` / `PromiseLike`.
71
+ * Use with `await` or `Promise.resolve(...)` to normalize to a single `Promise`.
72
+ *
73
+ * @public
74
+ */
75
+ export type Awaitable<T> = T | PromiseLike<T>
76
+
69
77
  /**
70
78
  * Makes specified keys in a type required while keeping all other properties as-is.
71
79
  * This is useful when you need to ensure certain optional properties are provided
@@ -12,7 +12,7 @@ interface TldrawLibraryVersionInfo {
12
12
 
13
13
  const TLDRAW_LIBRARY_VERSION_KEY = '__TLDRAW_LIBRARY_VERSIONS__' as const
14
14
 
15
- // eslint-disable-next-line @typescript-eslint/prefer-namespace-keyword, @typescript-eslint/no-namespace
15
+ // eslint-disable-next-line @typescript-eslint/prefer-namespace-keyword, @typescript-eslint/no-namespace, no-shadow-restricted-names
16
16
  declare module globalThis {
17
17
  export const __TLDRAW_LIBRARY_VERSIONS__: TldrawLibraryVersionInfo
18
18
  }