@tanstack/query-core 5.0.0-alpha.70 → 5.0.0-alpha.84

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 (121) hide show
  1. package/build/lib/focusManager.cjs +3 -2
  2. package/build/lib/focusManager.cjs.map +1 -1
  3. package/build/lib/focusManager.js +3 -2
  4. package/build/lib/focusManager.js.map +1 -1
  5. package/build/lib/focusManager.legacy.cjs +3 -2
  6. package/build/lib/focusManager.legacy.cjs.map +1 -1
  7. package/build/lib/focusManager.legacy.js +3 -2
  8. package/build/lib/focusManager.legacy.js.map +1 -1
  9. package/build/lib/infiniteQueryBehavior.cjs.map +1 -1
  10. package/build/lib/infiniteQueryBehavior.d.ts.map +1 -1
  11. package/build/lib/infiniteQueryBehavior.js.map +1 -1
  12. package/build/lib/infiniteQueryBehavior.legacy.cjs.map +1 -1
  13. package/build/lib/infiniteQueryBehavior.legacy.js.map +1 -1
  14. package/build/lib/infiniteQueryObserver.cjs.map +1 -1
  15. package/build/lib/infiniteQueryObserver.d.ts +2 -2
  16. package/build/lib/infiniteQueryObserver.d.ts.map +1 -1
  17. package/build/lib/infiniteQueryObserver.js.map +1 -1
  18. package/build/lib/infiniteQueryObserver.legacy.cjs.map +1 -1
  19. package/build/lib/infiniteQueryObserver.legacy.js.map +1 -1
  20. package/build/lib/mutation.cjs.map +1 -1
  21. package/build/lib/mutation.d.ts +2 -2
  22. package/build/lib/mutation.d.ts.map +1 -1
  23. package/build/lib/mutation.js.map +1 -1
  24. package/build/lib/mutation.legacy.cjs.map +1 -1
  25. package/build/lib/mutation.legacy.js.map +1 -1
  26. package/build/lib/mutationCache.cjs.map +1 -1
  27. package/build/lib/mutationCache.d.ts +3 -3
  28. package/build/lib/mutationCache.d.ts.map +1 -1
  29. package/build/lib/mutationCache.js.map +1 -1
  30. package/build/lib/mutationCache.legacy.cjs.map +1 -1
  31. package/build/lib/mutationCache.legacy.js.map +1 -1
  32. package/build/lib/mutationObserver.cjs.map +1 -1
  33. package/build/lib/mutationObserver.d.ts +3 -3
  34. package/build/lib/mutationObserver.d.ts.map +1 -1
  35. package/build/lib/mutationObserver.js.map +1 -1
  36. package/build/lib/mutationObserver.legacy.cjs.map +1 -1
  37. package/build/lib/mutationObserver.legacy.js.map +1 -1
  38. package/build/lib/onlineManager.cjs +3 -2
  39. package/build/lib/onlineManager.cjs.map +1 -1
  40. package/build/lib/onlineManager.d.ts.map +1 -1
  41. package/build/lib/onlineManager.js +3 -2
  42. package/build/lib/onlineManager.js.map +1 -1
  43. package/build/lib/onlineManager.legacy.cjs +3 -2
  44. package/build/lib/onlineManager.legacy.cjs.map +1 -1
  45. package/build/lib/onlineManager.legacy.js +3 -2
  46. package/build/lib/onlineManager.legacy.js.map +1 -1
  47. package/build/lib/queriesObserver.cjs.map +1 -1
  48. package/build/lib/queriesObserver.d.ts +2 -2
  49. package/build/lib/queriesObserver.d.ts.map +1 -1
  50. package/build/lib/queriesObserver.js.map +1 -1
  51. package/build/lib/queriesObserver.legacy.cjs.map +1 -1
  52. package/build/lib/queriesObserver.legacy.js.map +1 -1
  53. package/build/lib/query.cjs.map +1 -1
  54. package/build/lib/query.d.ts +2 -2
  55. package/build/lib/query.d.ts.map +1 -1
  56. package/build/lib/query.js.map +1 -1
  57. package/build/lib/query.legacy.cjs.map +1 -1
  58. package/build/lib/query.legacy.js.map +1 -1
  59. package/build/lib/queryCache.cjs.map +1 -1
  60. package/build/lib/queryCache.d.ts +3 -3
  61. package/build/lib/queryCache.d.ts.map +1 -1
  62. package/build/lib/queryCache.js.map +1 -1
  63. package/build/lib/queryCache.legacy.cjs.map +1 -1
  64. package/build/lib/queryCache.legacy.js.map +1 -1
  65. package/build/lib/queryClient.cjs.map +1 -1
  66. package/build/lib/queryClient.d.ts +3 -3
  67. package/build/lib/queryClient.d.ts.map +1 -1
  68. package/build/lib/queryClient.js.map +1 -1
  69. package/build/lib/queryClient.legacy.cjs.map +1 -1
  70. package/build/lib/queryClient.legacy.js.map +1 -1
  71. package/build/lib/queryObserver.cjs +36 -1
  72. package/build/lib/queryObserver.cjs.map +1 -1
  73. package/build/lib/queryObserver.d.ts +3 -3
  74. package/build/lib/queryObserver.d.ts.map +1 -1
  75. package/build/lib/queryObserver.js +36 -1
  76. package/build/lib/queryObserver.js.map +1 -1
  77. package/build/lib/queryObserver.legacy.cjs +36 -1
  78. package/build/lib/queryObserver.legacy.cjs.map +1 -1
  79. package/build/lib/queryObserver.legacy.js +36 -1
  80. package/build/lib/queryObserver.legacy.js.map +1 -1
  81. package/build/lib/retryer.cjs.map +1 -1
  82. package/build/lib/retryer.d.ts +1 -1
  83. package/build/lib/retryer.d.ts.map +1 -1
  84. package/build/lib/retryer.js.map +1 -1
  85. package/build/lib/retryer.legacy.cjs.map +1 -1
  86. package/build/lib/retryer.legacy.js.map +1 -1
  87. package/build/lib/tests/utils.d.ts +1 -1
  88. package/build/lib/tests/utils.d.ts.map +1 -1
  89. package/build/lib/types.d.ts +2 -2
  90. package/build/lib/types.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/src/focusManager.ts +3 -3
  93. package/src/infiniteQueryBehavior.ts +1 -1
  94. package/src/infiniteQueryObserver.ts +7 -7
  95. package/src/mutation.ts +5 -5
  96. package/src/mutationCache.ts +5 -5
  97. package/src/mutationObserver.ts +5 -5
  98. package/src/onlineManager.ts +3 -2
  99. package/src/queriesObserver.ts +4 -4
  100. package/src/query.ts +8 -8
  101. package/src/queryCache.ts +5 -5
  102. package/src/queryClient.ts +14 -14
  103. package/src/queryObserver.ts +59 -14
  104. package/src/retryer.ts +1 -1
  105. package/src/tests/focusManager.test.tsx +22 -15
  106. package/src/tests/hydration.test.tsx +3 -3
  107. package/src/tests/infiniteQueryBehavior.test.tsx +3 -3
  108. package/src/tests/infiniteQueryObserver.test.tsx +2 -2
  109. package/src/tests/mutationCache.test.tsx +2 -2
  110. package/src/tests/mutationObserver.test.tsx +2 -2
  111. package/src/tests/mutations.test.tsx +4 -4
  112. package/src/tests/notifyManager.test.tsx +1 -1
  113. package/src/tests/onlineManager.test.tsx +22 -1
  114. package/src/tests/queriesObserver.test.tsx +3 -3
  115. package/src/tests/query.test.tsx +6 -6
  116. package/src/tests/queryCache.test.tsx +2 -2
  117. package/src/tests/queryClient.test.tsx +10 -10
  118. package/src/tests/queryObserver.test.tsx +3 -3
  119. package/src/tests/utils.test.tsx +6 -6
  120. package/src/tests/utils.ts +1 -1
  121. package/src/types.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mutationCache.legacy.cjs","sources":["../../src/mutationCache.ts"],"sourcesContent":["import type { MutationObserver } from './mutationObserver'\nimport type { NotifyEvent, MutationOptions, DefaultError } from './types'\nimport type { QueryClient } from './queryClient'\nimport { notifyManager } from './notifyManager'\nimport type { Action, MutationState } from './mutation'\nimport { Mutation } from './mutation'\nimport type { MutationFilters } from './utils'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Mutation<any, any, any, any>[]\n #mutationId: number\n #resuming: Promise<unknown> | undefined\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = []\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n this.#mutations = this.#mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.#mutations\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.#mutations.find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n )\n }\n\n findAll(filters: MutationFilters = {}): Mutation[] {\n return this.#mutations.filter((mutation) =>\n matchMutation(filters, mutation),\n )\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n this.#resuming = (this.#resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise<unknown>,\n ),\n )\n })\n .then(() => {\n this.#resuming = undefined\n })\n\n return this.#resuming\n }\n}\n"],"names":["_mutations","_classPrivateFieldLooseKey","_mutationId","_resuming","MutationCache","Subscribable","constructor","config","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","build","client","options","state","mutation","Mutation","mutationCache","mutationId","defaultMutationOptions","add","push","notify","type","remove","filter","x","clear","notifyManager","batch","forEach","getAll","find","filters","defaultedFilters","exact","matchMutation","findAll","event","listeners","listener","resumePausedMutations","_classPrivateFieldLoo","Promise","resolve","then","pausedMutations","isPaused","reduce","promise","continue","catch","noop","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"mutationCache.legacy.cjs","sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Mutation<any, any, any, any>[]\n #mutationId: number\n #resuming: Promise<unknown> | undefined\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = []\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n this.#mutations = this.#mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.#mutations\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.#mutations.find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n )\n }\n\n findAll(filters: MutationFilters = {}): Mutation[] {\n return this.#mutations.filter((mutation) =>\n matchMutation(filters, mutation),\n )\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n this.#resuming = (this.#resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise<unknown>,\n ),\n )\n })\n .then(() => {\n this.#resuming = undefined\n })\n\n return this.#resuming\n }\n}\n"],"names":["_mutations","_classPrivateFieldLooseKey","_mutationId","_resuming","MutationCache","Subscribable","constructor","config","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","build","client","options","state","mutation","Mutation","mutationCache","mutationId","defaultMutationOptions","add","push","notify","type","remove","filter","x","clear","notifyManager","batch","forEach","getAll","find","filters","defaultedFilters","exact","matchMutation","findAll","event","listeners","listener","resumePausedMutations","_classPrivateFieldLoo","Promise","resolve","then","pausedMutations","isPaused","reduce","promise","continue","catch","noop","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutationCache.legacy.js","sources":["../../src/mutationCache.ts"],"sourcesContent":["import type { MutationObserver } from './mutationObserver'\nimport type { NotifyEvent, MutationOptions, DefaultError } from './types'\nimport type { QueryClient } from './queryClient'\nimport { notifyManager } from './notifyManager'\nimport type { Action, MutationState } from './mutation'\nimport { Mutation } from './mutation'\nimport type { MutationFilters } from './utils'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Mutation<any, any, any, any>[]\n #mutationId: number\n #resuming: Promise<unknown> | undefined\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = []\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n this.#mutations = this.#mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.#mutations\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.#mutations.find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n )\n }\n\n findAll(filters: MutationFilters = {}): Mutation[] {\n return this.#mutations.filter((mutation) =>\n matchMutation(filters, mutation),\n )\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n this.#resuming = (this.#resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise<unknown>,\n ),\n )\n })\n .then(() => {\n this.#resuming = undefined\n })\n\n return this.#resuming\n }\n}\n"],"names":["_mutations","_classPrivateFieldLooseKey","_mutationId","_resuming","MutationCache","Subscribable","constructor","config","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","build","client","options","state","mutation","Mutation","mutationCache","mutationId","defaultMutationOptions","add","push","notify","type","remove","filter","x","clear","notifyManager","batch","forEach","getAll","find","filters","defaultedFilters","exact","matchMutation","findAll","event","listeners","listener","resumePausedMutations","_classPrivateFieldLoo","Promise","resolve","then","pausedMutations","isPaused","reduce","promise","continue","catch","noop","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"mutationCache.legacy.js","sources":["../../src/mutationCache.ts"],"sourcesContent":["import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\ntype MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Mutation<any, any, any, any>[]\n #mutationId: number\n #resuming: Promise<unknown> | undefined\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = []\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.push(mutation)\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n this.#mutations = this.#mutations.filter((x) => x !== mutation)\n this.notify({ type: 'removed', mutation })\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation)\n })\n })\n }\n\n getAll(): Mutation[] {\n return this.#mutations\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.#mutations.find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n )\n }\n\n findAll(filters: MutationFilters = {}): Mutation[] {\n return this.#mutations.filter((mutation) =>\n matchMutation(filters, mutation),\n )\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n this.#resuming = (this.#resuming ?? Promise.resolve())\n .then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused)\n return notifyManager.batch(() =>\n pausedMutations.reduce(\n (promise, mutation) =>\n promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve() as Promise<unknown>,\n ),\n )\n })\n .then(() => {\n this.#resuming = undefined\n })\n\n return this.#resuming\n }\n}\n"],"names":["_mutations","_classPrivateFieldLooseKey","_mutationId","_resuming","MutationCache","Subscribable","constructor","config","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","build","client","options","state","mutation","Mutation","mutationCache","mutationId","defaultMutationOptions","add","push","notify","type","remove","filter","x","clear","notifyManager","batch","forEach","getAll","find","filters","defaultedFilters","exact","matchMutation","findAll","event","listeners","listener","resumePausedMutations","_classPrivateFieldLoo","Promise","resolve","then","pausedMutations","isPaused","reduce","promise","continue","catch","noop","undefined"],"mappings":";;;;;;AAUA;AAAA,IAAAA,UAAA,gBAAAC,0BAAA,CAAA,WAAA,CAAA,CAAA;AAAA,IAAAC,WAAA,gBAAAD,0BAAA,CAAA,YAAA,CAAA,CAAA;AAAA,IAAAE,SAAA,gBAAAF,0BAAA,CAAA,UAAA,CAAA,CAAA;AAuEA;;AAEO,MAAMG,aAAa,SAASC,YAAY,CAAwB;AAKrEC,EAAAA,WAAWA,CAAQC,MAA2B,GAAG,EAAE,EAAE;AACnD,IAAA,KAAK,EAAE,CAAA;IAAAC,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAT,UAAA,EAAA;MAAAU,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAP,WAAA,EAAA;MAAAQ,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAAH,MAAA,CAAAC,cAAA,CAAA,IAAA,EAAAN,SAAA,EAAA;MAAAO,QAAA,EAAA,IAAA;MAAAC,KAAA,EAAA,KAAA,CAAA;AAAA,KAAA,CAAA,CAAA;IAAA,IADUJ,CAAAA,MAA2B,GAA3BA,MAA2B,CAAA;AAE5CK,IAAAA,2BAAA,KAAI,EAAAZ,UAAA,CAAAA,CAAAA,UAAA,IAAc,EAAE,CAAA;AACpBY,IAAAA,2BAAA,KAAI,EAAAV,WAAA,CAAAA,CAAAA,WAAA,IAAe,CAAC,CAAA;AACtB,GAAA;AAEAW,EAAAA,KAAKA,CACHC,MAAmB,EACnBC,OAA6D,EAC7DC,KAA0D,EACX;AAC/C,IAAA,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAAC;AAC5BC,MAAAA,aAAa,EAAE,IAAI;MACnBC,UAAU,EAAE,EAAAR,2BAAA,CAAE,IAAI,EAAAV,WAAA,CAAAA,CAAAA,WAAA,CAAY;AAC9Ba,MAAAA,OAAO,EAAED,MAAM,CAACO,sBAAsB,CAACN,OAAO,CAAC;AAC/CC,MAAAA,KAAAA;AACF,KAAC,CAAC,CAAA;AAEF,IAAA,IAAI,CAACM,GAAG,CAACL,QAAQ,CAAC,CAAA;AAElB,IAAA,OAAOA,QAAQ,CAAA;AACjB,GAAA;EAEAK,GAAGA,CAACL,QAAsC,EAAQ;IAChDL,2BAAA,CAAA,IAAI,EAAAZ,UAAA,CAAA,CAAAA,UAAA,CAAYuB,CAAAA,IAAI,CAACN,QAAQ,CAAC,CAAA;IAC9B,IAAI,CAACO,MAAM,CAAC;AAAEC,MAAAA,IAAI,EAAE,OAAO;AAAER,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAA;AAC1C,GAAA;EAEAS,MAAMA,CAACT,QAAsC,EAAQ;IACnDL,2BAAA,CAAA,IAAI,EAAAZ,UAAA,CAAA,CAAAA,UAAA,CAAcY,GAAAA,2BAAA,KAAI,EAAAZ,UAAA,EAAAA,UAAA,CAAA,CAAY2B,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKX,QAAQ,CAAC,CAAA;IAC/D,IAAI,CAACO,MAAM,CAAC;AAAEC,MAAAA,IAAI,EAAE,SAAS;AAAER,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAA;AAC5C,GAAA;AAEAY,EAAAA,KAAKA,GAAS;IACZC,aAAa,CAACC,KAAK,CAAC,MAAM;MACxBnB,2BAAA,CAAA,IAAI,EAAAZ,UAAA,CAAA,CAAAA,UAAA,CAAYgC,CAAAA,OAAO,CAAEf,QAAQ,IAAK;AACpC,QAAA,IAAI,CAACS,MAAM,CAACT,QAAQ,CAAC,CAAA;AACvB,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAgB,EAAAA,MAAMA,GAAe;AACnB,IAAA,OAAArB,2BAAA,CAAO,IAAI,EAAAZ,UAAA,EAAAA,UAAA,CAAA,CAAA;AACb,GAAA;EAEAkC,IAAIA,CAMFC,OAAwB,EACmC;AAC3D,IAAA,MAAMC,gBAAgB,GAAG;AAAEC,MAAAA,KAAK,EAAE,IAAI;MAAE,GAAGF,OAAAA;KAAS,CAAA;AAEpD,IAAA,OAAOvB,2BAAA,CAAI,IAAA,EAAAZ,UAAA,CAAA,CAAAA,UAAA,CAAYkC,CAAAA,IAAI,CAAEjB,QAAQ,IACnCqB,aAAa,CAACF,gBAAgB,EAAEnB,QAAQ,CAC1C,CAAC,CAAA;AACH,GAAA;AAEAsB,EAAAA,OAAOA,CAACJ,OAAwB,GAAG,EAAE,EAAc;AACjD,IAAA,OAAOvB,2BAAA,CAAI,IAAA,EAAAZ,UAAA,CAAA,CAAAA,UAAA,CAAY2B,CAAAA,MAAM,CAAEV,QAAQ,IACrCqB,aAAa,CAACH,OAAO,EAAElB,QAAQ,CACjC,CAAC,CAAA;AACH,GAAA;EAEAO,MAAMA,CAACgB,KAA+B,EAAE;IACtCV,aAAa,CAACC,KAAK,CAAC,MAAM;AACxB,MAAA,IAAI,CAACU,SAAS,CAACT,OAAO,CAAEU,QAAQ,IAAK;QACnCA,QAAQ,CAACF,KAAK,CAAC,CAAA;AACjB,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAG,EAAAA,qBAAqBA,GAAqB;AAAA,IAAA,IAAAC,qBAAA,CAAA;IACxChC,2BAAA,CAAA,IAAI,EAAAT,SAAA,CAAAA,CAAAA,SAAA,CAAa,GAAA,CAAA,CAAAyC,qBAAA,GAAAhC,2BAAA,CAAC,IAAI,EAAAT,SAAA,CAAA,CAAAA,SAAA,CAAA,KAAA,IAAA,GAAAyC,qBAAA,GAAcC,OAAO,CAACC,OAAO,EAAE,EAClDC,IAAI,CAAC,MAAM;AACV,MAAA,MAAMC,eAAe,GAAGpC,2BAAA,KAAI,EAAAZ,UAAA,EAAAA,UAAA,CAAA,CAAY2B,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACZ,KAAK,CAACiC,QAAQ,CAAC,CAAA;AACvE,MAAA,OAAOnB,aAAa,CAACC,KAAK,CAAC,MACzBiB,eAAe,CAACE,MAAM,CACpB,CAACC,OAAO,EAAElC,QAAQ,KAChBkC,OAAO,CAACJ,IAAI,CAAC,MAAM9B,QAAQ,CAACmC,QAAQ,EAAE,CAACC,KAAK,CAACC,IAAI,CAAC,CAAC,EACrDT,OAAO,CAACC,OAAO,EACjB,CACF,CAAC,CAAA;AACH,KAAC,CAAC,CACDC,IAAI,CAAC,MAAM;AACVnC,MAAAA,2BAAA,KAAI,EAAAT,SAAA,CAAAA,CAAAA,SAAA,IAAaoD,SAAS,CAAA;AAC5B,KAAC,CAAC,CAAA;AAEJ,IAAA,OAAA3C,2BAAA,CAAO,IAAI,EAAAT,SAAA,EAAAA,SAAA,CAAA,CAAA;AACb,GAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.cjs","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["MutationObserver","Subscribable","undefined","constructor","client","options","setOptions","bindMethods","mutate","bind","reset","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","removeObserver","onMutationUpdate","action","getCurrentResult","variables","build","addObserver","execute","#updateResult","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","#notify","notifyManager","batch","onSuccess","data","context","onSettled","onError","error","listeners","forEach","listener"],"mappings":"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"}
1
+ {"version":3,"file":"mutationObserver.cjs","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["MutationObserver","Subscribable","undefined","constructor","client","options","setOptions","bindMethods","mutate","bind","reset","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","removeObserver","onMutationUpdate","action","getCurrentResult","variables","build","addObserver","execute","#updateResult","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","#notify","notifyManager","batch","onSuccess","data","context","onSettled","onError","error","listeners","forEach","listener"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { Action } from './mutation';
2
- import type { QueryClient } from './queryClient';
3
1
  import { Subscribable } from './subscribable';
4
- import type { MutateOptions, MutationObserverResult, MutationObserverOptions, DefaultError } from './types';
2
+ import type { QueryClient } from './queryClient';
3
+ import type { DefaultError, MutateOptions, MutationObserverOptions, MutationObserverResult } from './types';
4
+ import type { Action } from './mutation';
5
5
  type MutationObserverListener<TData, TError, TVariables, TContext> = (result: MutationObserverResult<TData, TError, TVariables, TContext>) => void;
6
6
  export declare class MutationObserver<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends Subscribable<MutationObserverListener<TData, TError, TVariables, TContext>> {
7
7
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.d.ts","sourceRoot":"","sources":["../../src/mutationObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,YAAY,CAAA;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACb,MAAM,SAAS,CAAA;AAKhB,KAAK,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,IAAI,CACnE,MAAM,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,KAChE,IAAI,CAAA;AAIT,qBAAa,gBAAgB,CAC3B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,CAClB,SAAQ,YAAY,CACpB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAC9D;;IACC,OAAO,EAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;gBASpE,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;IAUvE,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B,UAAU,CACR,OAAO,CAAC,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;IAcxE,SAAS,CAAC,aAAa,IAAI,IAAI;IAM/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,IAAI;IAM3E,gBAAgB,IAAI,sBAAsB,CACxC,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,CACT;IAID,KAAK,IAAI,IAAI;IAMb,MAAM,CACJ,SAAS,EAAE,UAAU,EACrB,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,GAC3D,OAAO,CAAC,KAAK,CAAC;CAmElB"}
1
+ {"version":3,"file":"mutationObserver.d.ts","sourceRoot":"","sources":["../../src/mutationObserver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,YAAY,CAAA;AAIlD,KAAK,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,IAAI,CACnE,MAAM,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,KAChE,IAAI,CAAA;AAIT,qBAAa,gBAAgB,CAC3B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,CAClB,SAAQ,YAAY,CACpB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAC9D;;IACC,OAAO,EAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;gBASpE,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;IAUvE,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B,UAAU,CACR,OAAO,CAAC,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;IAcxE,SAAS,CAAC,aAAa,IAAI,IAAI;IAM/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,IAAI;IAM3E,gBAAgB,IAAI,sBAAsB,CACxC,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,CACT;IAID,KAAK,IAAI,IAAI;IAMb,MAAM,CACJ,SAAS,EAAE,UAAU,EACrB,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,GAC3D,OAAO,CAAC,KAAK,CAAC;CAmElB"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.js","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["MutationObserver","Subscribable","undefined","constructor","client","options","setOptions","bindMethods","mutate","bind","reset","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","removeObserver","onMutationUpdate","action","getCurrentResult","variables","build","addObserver","execute","#updateResult","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","#notify","notifyManager","batch","onSuccess","data","context","onSettled","onError","error","listeners","forEach","listener"],"mappings":"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"}
1
+ {"version":3,"file":"mutationObserver.js","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["MutationObserver","Subscribable","undefined","constructor","client","options","setOptions","bindMethods","mutate","bind","reset","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","removeObserver","onMutationUpdate","action","getCurrentResult","variables","build","addObserver","execute","#updateResult","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","#notify","notifyManager","batch","onSuccess","data","context","onSettled","onError","error","listeners","forEach","listener"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.legacy.cjs","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentResult","_currentMutation","_mutateOptions","_updateResult","_notify","MutationObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateResult2","writable","undefined","_classPrivateFieldLooseBase","setOptions","bindMethods","mutate","bind","reset","_classPrivateFieldLoo","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","_classPrivateFieldLoo2","removeObserver","onMutationUpdate","action","getCurrentResult","variables","_classPrivateFieldLoo3","build","addObserver","execute","_classPrivateFieldLoo4","_classPrivateFieldLoo5","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","notifyManager","batch","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","_classPrivateFieldLoo9","onSuccess","call","data","context","onSettled","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","_classPrivateFieldLoo13","onError","error","listeners","forEach","listener"],"mappings":"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"}
1
+ {"version":3,"file":"mutationObserver.legacy.cjs","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentResult","_currentMutation","_mutateOptions","_updateResult","_notify","MutationObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateResult2","writable","undefined","_classPrivateFieldLooseBase","setOptions","bindMethods","mutate","bind","reset","_classPrivateFieldLoo","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","_classPrivateFieldLoo2","removeObserver","onMutationUpdate","action","getCurrentResult","variables","_classPrivateFieldLoo3","build","addObserver","execute","_classPrivateFieldLoo4","_classPrivateFieldLoo5","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","notifyManager","batch","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","_classPrivateFieldLoo9","onSuccess","call","data","context","onSettled","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","_classPrivateFieldLoo13","onError","error","listeners","forEach","listener"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.legacy.js","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import type { Action, Mutation } from './mutation'\nimport { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport type { QueryClient } from './queryClient'\nimport { Subscribable } from './subscribable'\nimport type {\n MutateOptions,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from './types'\nimport { shallowEqualObjects } from './utils'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentResult","_currentMutation","_mutateOptions","_updateResult","_notify","MutationObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateResult2","writable","undefined","_classPrivateFieldLooseBase","setOptions","bindMethods","mutate","bind","reset","_classPrivateFieldLoo","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","_classPrivateFieldLoo2","removeObserver","onMutationUpdate","action","getCurrentResult","variables","_classPrivateFieldLoo3","build","addObserver","execute","_classPrivateFieldLoo4","_classPrivateFieldLoo5","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","notifyManager","batch","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","_classPrivateFieldLoo9","onSuccess","call","data","context","onSettled","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","_classPrivateFieldLoo13","onError","error","listeners","forEach","listener"],"mappings":"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"}
1
+ {"version":3,"file":"mutationObserver.legacy.js","sources":["../../src/mutationObserver.ts"],"sourcesContent":["import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options?: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n this.#currentMutation?.setOptions(this.options)\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables!,\n this.#currentResult.context!,\n )\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n this.#currentResult.variables!,\n this.#currentResult.context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n"],"names":["_client","_classPrivateFieldLooseKey","_currentResult","_currentMutation","_mutateOptions","_updateResult","_notify","MutationObserver","Subscribable","constructor","client","options","Object","defineProperty","value","_notify2","_updateResult2","writable","undefined","_classPrivateFieldLooseBase","setOptions","bindMethods","mutate","bind","reset","_classPrivateFieldLoo","prevOptions","defaultMutationOptions","shallowEqualObjects","getMutationCache","notify","type","mutation","observer","onUnsubscribe","hasListeners","_classPrivateFieldLoo2","removeObserver","onMutationUpdate","action","getCurrentResult","variables","_classPrivateFieldLoo3","build","addObserver","execute","_classPrivateFieldLoo4","_classPrivateFieldLoo5","state","getDefaultState","isPending","status","isSuccess","isError","isIdle","notifyManager","batch","_classPrivateFieldLoo6","_classPrivateFieldLoo7","_classPrivateFieldLoo8","_classPrivateFieldLoo9","onSuccess","call","data","context","onSettled","_classPrivateFieldLoo10","_classPrivateFieldLoo11","_classPrivateFieldLoo12","_classPrivateFieldLoo13","onError","error","listeners","forEach","listener"],"mappings":"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"}
@@ -52,8 +52,9 @@ class OnlineManager extends subscribable.Subscribable {
52
52
  });
53
53
  }
54
54
  setOnline(online) {
55
- this.#online = online;
56
- if (online) {
55
+ const changed = this.#online !== online;
56
+ if (changed) {
57
+ this.#online = online;
57
58
  this.onOnline();
58
59
  }
59
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onlineManager.cjs","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n this.#online = online\n\n if (online) {\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","OnlineManager","Subscribable","constructor","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","undefined","setup","online","setOnline","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":";;;;;AAOA,MAAMA,YAAY,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAU,CAAA;AAE5C,MAAMC,aAAa,SAASC,yBAAY,CAAC;AAC9C,EAAA,OAAO,CAAA;AACP,EAAA,QAAQ,CAAA;AAER,EAAA,MAAM,CAAA;AAENC,EAAAA,WAAWA,GAAG;AACZ,IAAA,KAAK,EAAE,CAAA;AACP,IAAA,IAAI,CAAC,MAAM,GAAIC,QAAQ,IAAK;AAC1B;AACA;AACA,MAAA,IAAI,CAACC,cAAQ,IAAIC,MAAM,CAACC,gBAAgB,EAAE;AACxC,QAAA,MAAMC,QAAQ,GAAGA,MAAMJ,QAAQ,EAAE,CAAA;AACjC;AACAJ,QAAAA,YAAY,CAACS,OAAO,CAAEC,KAAK,IAAK;UAC9BJ,MAAM,CAACC,gBAAgB,CAACG,KAAK,EAAEF,QAAQ,EAAE,KAAK,CAAC,CAAA;AACjD,SAAC,CAAC,CAAA;AAEF,QAAA,OAAO,MAAM;AACX;AACAR,UAAAA,YAAY,CAACS,OAAO,CAAEC,KAAK,IAAK;AAC9BJ,YAAAA,MAAM,CAACK,mBAAmB,CAACD,KAAK,EAAEF,QAAQ,CAAC,CAAA;AAC7C,WAAC,CAAC,CAAA;SACH,CAAA;AACH,OAAA;AAEA,MAAA,OAAA;KACD,CAAA;AACH,GAAA;AAEUI,EAAAA,WAAWA,GAAS;AAC5B,IAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,MAAA,IAAI,CAACC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACpC,KAAA;AACF,GAAA;AAEUC,EAAAA,aAAaA,GAAG;AACxB,IAAA,IAAI,CAAC,IAAI,CAACC,YAAY,EAAE,EAAE;AACxB,MAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,MAAA,IAAI,CAAC,QAAQ,GAAGC,SAAS,CAAA;AAC3B,KAAA;AACF,GAAA;EAEAH,gBAAgBA,CAACI,KAAc,EAAQ;AACrC,IAAA,IAAI,CAAC,MAAM,GAAGA,KAAK,CAAA;AACnB,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,IAAA,IAAI,CAAC,QAAQ,GAAGA,KAAK,CAAEC,MAAgB,IAAK;AAC1C,MAAA,IAAI,OAAOA,MAAM,KAAK,SAAS,EAAE;AAC/B,QAAA,IAAI,CAACC,SAAS,CAACD,MAAM,CAAC,CAAA;AACxB,OAAC,MAAM;QACL,IAAI,CAACd,QAAQ,EAAE,CAAA;AACjB,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;EAEAe,SAASA,CAACD,MAAgB,EAAQ;AAChC,IAAA,IAAI,CAAC,OAAO,GAAGA,MAAM,CAAA;AAErB,IAAA,IAAIA,MAAM,EAAE;MACV,IAAI,CAACd,QAAQ,EAAE,CAAA;AACjB,KAAA;AACF,GAAA;AAEAA,EAAAA,QAAQA,GAAS;AACf,IAAA,IAAI,CAACgB,SAAS,CAACX,OAAO,CAAED,QAAQ,IAAK;AACnCA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAa,EAAAA,QAAQA,GAAY;AAClB,IAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;MACrC,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,KAAA;IAEA,IACE,OAAOC,SAAS,KAAK,WAAW,IAChC,OAAOA,SAAS,CAACC,MAAM,KAAK,WAAW,EACvC;AACA,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;IAEA,OAAOD,SAAS,CAACC,MAAM,CAAA;AACzB,GAAA;AACF,CAAA;MAEaC,aAAa,GAAG,IAAIvB,aAAa;;;;;"}
1
+ {"version":3,"file":"onlineManager.cjs","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","OnlineManager","Subscribable","constructor","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","undefined","setup","online","setOnline","changed","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"onlineManager.d.ts","sourceRoot":"","sources":["../../src/onlineManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,KAAK,OAAO,GAAG,CACb,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,KAClC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;AAI7B,qBAAa,aAAc,SAAQ,YAAY;;;IA8B7C,SAAS,CAAC,WAAW,IAAI,IAAI;IAM7B,SAAS,CAAC,aAAa;IAOvB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAYtC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAQjC,QAAQ,IAAI,IAAI;IAMhB,QAAQ,IAAI,OAAO;CAcpB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAA"}
1
+ {"version":3,"file":"onlineManager.d.ts","sourceRoot":"","sources":["../../src/onlineManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,KAAK,OAAO,GAAG,CACb,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,KAClC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;AAI7B,qBAAa,aAAc,SAAQ,YAAY;;;IA8B7C,SAAS,CAAC,WAAW,IAAI,IAAI;IAM7B,SAAS,CAAC,aAAa;IAOvB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAYtC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IASjC,QAAQ,IAAI,IAAI;IAMhB,QAAQ,IAAI,OAAO;CAcpB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAA"}
@@ -50,8 +50,9 @@ class OnlineManager extends Subscribable {
50
50
  });
51
51
  }
52
52
  setOnline(online) {
53
- this.#online = online;
54
- if (online) {
53
+ const changed = this.#online !== online;
54
+ if (changed) {
55
+ this.#online = online;
55
56
  this.onOnline();
56
57
  }
57
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onlineManager.js","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n this.#online = online\n\n if (online) {\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","OnlineManager","Subscribable","constructor","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","undefined","setup","online","setOnline","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":";;;AAOA,MAAMA,YAAY,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAU,CAAA;AAE5C,MAAMC,aAAa,SAASC,YAAY,CAAC;AAC9C,EAAA,OAAO,CAAA;AACP,EAAA,QAAQ,CAAA;AAER,EAAA,MAAM,CAAA;AAENC,EAAAA,WAAWA,GAAG;AACZ,IAAA,KAAK,EAAE,CAAA;AACP,IAAA,IAAI,CAAC,MAAM,GAAIC,QAAQ,IAAK;AAC1B;AACA;AACA,MAAA,IAAI,CAACC,QAAQ,IAAIC,MAAM,CAACC,gBAAgB,EAAE;AACxC,QAAA,MAAMC,QAAQ,GAAGA,MAAMJ,QAAQ,EAAE,CAAA;AACjC;AACAJ,QAAAA,YAAY,CAACS,OAAO,CAAEC,KAAK,IAAK;UAC9BJ,MAAM,CAACC,gBAAgB,CAACG,KAAK,EAAEF,QAAQ,EAAE,KAAK,CAAC,CAAA;AACjD,SAAC,CAAC,CAAA;AAEF,QAAA,OAAO,MAAM;AACX;AACAR,UAAAA,YAAY,CAACS,OAAO,CAAEC,KAAK,IAAK;AAC9BJ,YAAAA,MAAM,CAACK,mBAAmB,CAACD,KAAK,EAAEF,QAAQ,CAAC,CAAA;AAC7C,WAAC,CAAC,CAAA;SACH,CAAA;AACH,OAAA;AAEA,MAAA,OAAA;KACD,CAAA;AACH,GAAA;AAEUI,EAAAA,WAAWA,GAAS;AAC5B,IAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,MAAA,IAAI,CAACC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACpC,KAAA;AACF,GAAA;AAEUC,EAAAA,aAAaA,GAAG;AACxB,IAAA,IAAI,CAAC,IAAI,CAACC,YAAY,EAAE,EAAE;AACxB,MAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,MAAA,IAAI,CAAC,QAAQ,GAAGC,SAAS,CAAA;AAC3B,KAAA;AACF,GAAA;EAEAH,gBAAgBA,CAACI,KAAc,EAAQ;AACrC,IAAA,IAAI,CAAC,MAAM,GAAGA,KAAK,CAAA;AACnB,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAA;AACjB,IAAA,IAAI,CAAC,QAAQ,GAAGA,KAAK,CAAEC,MAAgB,IAAK;AAC1C,MAAA,IAAI,OAAOA,MAAM,KAAK,SAAS,EAAE;AAC/B,QAAA,IAAI,CAACC,SAAS,CAACD,MAAM,CAAC,CAAA;AACxB,OAAC,MAAM;QACL,IAAI,CAACd,QAAQ,EAAE,CAAA;AACjB,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;EAEAe,SAASA,CAACD,MAAgB,EAAQ;AAChC,IAAA,IAAI,CAAC,OAAO,GAAGA,MAAM,CAAA;AAErB,IAAA,IAAIA,MAAM,EAAE;MACV,IAAI,CAACd,QAAQ,EAAE,CAAA;AACjB,KAAA;AACF,GAAA;AAEAA,EAAAA,QAAQA,GAAS;AACf,IAAA,IAAI,CAACgB,SAAS,CAACX,OAAO,CAAED,QAAQ,IAAK;AACnCA,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAC,CAAC,CAAA;AACJ,GAAA;AAEAa,EAAAA,QAAQA,GAAY;AAClB,IAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;MACrC,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,KAAA;IAEA,IACE,OAAOC,SAAS,KAAK,WAAW,IAChC,OAAOA,SAAS,CAACC,MAAM,KAAK,WAAW,EACvC;AACA,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;IAEA,OAAOD,SAAS,CAACC,MAAM,CAAA;AACzB,GAAA;AACF,CAAA;MAEaC,aAAa,GAAG,IAAIvB,aAAa;;;;"}
1
+ {"version":3,"file":"onlineManager.js","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","OnlineManager","Subscribable","constructor","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","undefined","setup","online","setOnline","changed","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":"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"}
@@ -67,8 +67,9 @@ class OnlineManager extends subscribable.Subscribable {
67
67
  });
68
68
  }
69
69
  setOnline(online) {
70
- _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _online)[_online] = online;
71
- if (online) {
70
+ const changed = _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _online)[_online] !== online;
71
+ if (changed) {
72
+ _rollupPluginBabelHelpers.classPrivateFieldLooseBase(this, _online)[_online] = online;
72
73
  this.onOnline();
73
74
  }
74
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onlineManager.legacy.cjs","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n this.#online = online\n\n if (online) {\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","_online","_classPrivateFieldLooseKey","_cleanup","_setup","OnlineManager","Subscribable","constructor","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","_classPrivateFieldLoo","_classPrivateFieldLoo2","call","undefined","setup","_classPrivateFieldLoo3","_classPrivateFieldLoo4","online","setOnline","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":"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"}
1
+ {"version":3,"file":"onlineManager.legacy.cjs","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","_online","_classPrivateFieldLooseKey","_cleanup","_setup","OnlineManager","Subscribable","constructor","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","_classPrivateFieldLoo","_classPrivateFieldLoo2","call","undefined","setup","_classPrivateFieldLoo3","_classPrivateFieldLoo4","online","setOnline","changed","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":"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"}
@@ -65,8 +65,9 @@ class OnlineManager extends Subscribable {
65
65
  });
66
66
  }
67
67
  setOnline(online) {
68
- _classPrivateFieldLooseBase(this, _online)[_online] = online;
69
- if (online) {
68
+ const changed = _classPrivateFieldLooseBase(this, _online)[_online] !== online;
69
+ if (changed) {
70
+ _classPrivateFieldLooseBase(this, _online)[_online] = online;
70
71
  this.onOnline();
71
72
  }
72
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onlineManager.legacy.js","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n this.#online = online\n\n if (online) {\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","_online","_classPrivateFieldLooseKey","_cleanup","_setup","OnlineManager","Subscribable","constructor","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","_classPrivateFieldLoo","_classPrivateFieldLoo2","call","undefined","setup","_classPrivateFieldLoo3","_classPrivateFieldLoo4","online","setOnline","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":"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"}
1
+ {"version":3,"file":"onlineManager.legacy.js","sources":["../../src/onlineManager.ts"],"sourcesContent":["import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype SetupFn = (\n setOnline: (online?: boolean) => void,\n) => (() => void) | undefined\n\nconst onlineEvents = ['online', 'offline'] as const\n\nexport class OnlineManager extends Subscribable {\n #online?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline()\n // Listen to online\n onlineEvents.forEach((event) => {\n window.addEventListener(event, listener, false)\n })\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach((event) => {\n window.removeEventListener(event, listener)\n })\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((online?: boolean) => {\n if (typeof online === 'boolean') {\n this.setOnline(online)\n } else {\n this.onOnline()\n }\n })\n }\n\n setOnline(online?: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.onOnline()\n }\n }\n\n onOnline(): void {\n this.listeners.forEach((listener) => {\n listener()\n })\n }\n\n isOnline(): boolean {\n if (typeof this.#online === 'boolean') {\n return this.#online\n }\n\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.onLine === 'undefined'\n ) {\n return true\n }\n\n return navigator.onLine\n }\n}\n\nexport const onlineManager = new OnlineManager()\n"],"names":["onlineEvents","_online","_classPrivateFieldLooseKey","_cleanup","_setup","OnlineManager","Subscribable","constructor","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","onOnline","isServer","window","addEventListener","listener","forEach","event","removeEventListener","onSubscribe","setEventListener","onUnsubscribe","hasListeners","_classPrivateFieldLoo","_classPrivateFieldLoo2","call","undefined","setup","_classPrivateFieldLoo3","_classPrivateFieldLoo4","online","setOnline","changed","listeners","isOnline","navigator","onLine","onlineManager"],"mappings":"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"}