@effect/platform-browser 4.0.0-rc.111 → 4.0.0-rc.113

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 (43) hide show
  1. package/AGENTS.md +24 -9
  2. package/CLAUDE.md +24 -9
  3. package/ai-docs/package.json +2 -2
  4. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +18 -5
  5. package/ai-docs/src/01_effect/01_basics/index.md +5 -3
  6. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +1 -1
  7. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +2 -2
  8. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +2 -2
  9. package/ai-docs/src/03_stream/30_encoding.ts +5 -7
  10. package/ai-docs/src/08_observability/10_logging.ts +1 -1
  11. package/ai-docs/src/70_cli/10_basics.ts +7 -7
  12. package/ai-docs/src/71_ai/10_language-model.ts +2 -2
  13. package/ai-docs/src/71_ai/20_tools.ts +1 -1
  14. package/ai-docs/src/71_ai/30_chat.ts +1 -1
  15. package/dist/BrowserCrypto.js +1 -1
  16. package/dist/BrowserCrypto.js.map +1 -1
  17. package/dist/BrowserHttpClient.d.ts.map +1 -1
  18. package/dist/BrowserHttpClient.js +13 -2
  19. package/dist/BrowserHttpClient.js.map +1 -1
  20. package/dist/BrowserKeyValueStore.d.ts.map +1 -1
  21. package/dist/BrowserKeyValueStore.js +8 -0
  22. package/dist/BrowserKeyValueStore.js.map +1 -1
  23. package/dist/BrowserRuntime.d.ts.map +1 -1
  24. package/dist/BrowserRuntime.js +8 -2
  25. package/dist/BrowserRuntime.js.map +1 -1
  26. package/dist/BrowserSocket.d.ts +6 -4
  27. package/dist/BrowserSocket.d.ts.map +1 -1
  28. package/dist/BrowserSocket.js +2 -12
  29. package/dist/BrowserSocket.js.map +1 -1
  30. package/dist/IndexedDbDatabase.d.ts +1 -1
  31. package/dist/IndexedDbDatabase.d.ts.map +1 -1
  32. package/dist/IndexedDbQueryBuilder.d.ts +4 -4
  33. package/dist/IndexedDbQueryBuilder.d.ts.map +1 -1
  34. package/dist/IndexedDbQueryBuilder.js +5 -4
  35. package/dist/IndexedDbQueryBuilder.js.map +1 -1
  36. package/package.json +3 -3
  37. package/src/BrowserCrypto.ts +1 -1
  38. package/src/BrowserHttpClient.ts +19 -2
  39. package/src/BrowserKeyValueStore.ts +12 -0
  40. package/src/BrowserRuntime.ts +8 -2
  41. package/src/BrowserSocket.ts +6 -4
  42. package/src/IndexedDbDatabase.ts +2 -2
  43. package/src/IndexedDbQueryBuilder.ts +11 -9
@@ -106,7 +106,7 @@ export interface IndexedDbQueryBuilder<
106
106
  > extends Pipeable.Pipeable, Inspectable {
107
107
  readonly tables: ReadonlyMap<string, IndexedDbVersion.Tables<Source>>
108
108
  readonly database: MutableRef.MutableRef<globalThis.IDBDatabase>
109
- readonly reactivity: Reactivity.Reactivity["Service"]
109
+ readonly reactivity: Reactivity.Reactivity
110
110
  readonly IDBKeyRange: typeof globalThis.IDBKeyRange
111
111
  readonly IDBTransaction: globalThis.IDBTransaction | undefined
112
112
 
@@ -227,7 +227,8 @@ export declare namespace IndexedDbQuery {
227
227
  Index extends keyof Table["indexes"],
228
228
  KeyPath = [Index] extends [never] ? Table["keyPath"] : Table["indexes"][Index],
229
229
  Type = Table["tableSchema"]["Encoded"]
230
- > = KeyPath extends keyof Type ? Type[KeyPath]
230
+ > = [KeyPath] extends [undefined] ? IDBValidKey
231
+ : KeyPath extends keyof Type ? Type[KeyPath]
231
232
  : { [I in keyof KeyPath]: KeyPath[I] extends keyof Type ? Type[KeyPath[I]] | [] : never }
232
233
 
233
234
  /**
@@ -267,7 +268,7 @@ export declare namespace IndexedDbQuery {
267
268
  readonly table: Table
268
269
  readonly database: MutableRef.MutableRef<globalThis.IDBDatabase>
269
270
  readonly IDBKeyRange: typeof globalThis.IDBKeyRange
270
- readonly reactivity: Reactivity.Reactivity["Service"]
271
+ readonly reactivity: Reactivity.Reactivity
271
272
 
272
273
  readonly clear: Effect.Effect<void, IndexedDbQueryError>
273
274
 
@@ -936,7 +937,7 @@ const applySelect = Effect.fnUntraced(function*(
936
937
  if (predicate === undefined || predicate(cursor.value)) {
937
938
  results.push(
938
939
  keyPath === undefined
939
- ? { ...cursor.value, key: cursor.key }
940
+ ? { ...cursor.value, key: cursor.primaryKey }
940
941
  : cursor.value
941
942
  )
942
943
  count += 1
@@ -991,7 +992,7 @@ const applyFirst = Effect.fnUntraced(function*(
991
992
  const data = yield* Effect.callback<any, IndexedDbQueryError | Cause.NoSuchElementError>((resume) => {
992
993
  const { keyRange, store } = getReadonlyObjectStore(query.select)
993
994
 
994
- if (keyRange !== undefined) {
995
+ if (keyRange !== undefined && keyPath !== undefined) {
995
996
  const request = store.get(keyRange)
996
997
 
997
998
  request.onerror = (event) => {
@@ -1015,7 +1016,7 @@ const applyFirst = Effect.fnUntraced(function*(
1015
1016
  }
1016
1017
  }
1017
1018
  } else {
1018
- const request = store.openCursor()
1019
+ const request = store.openCursor(keyRange)
1019
1020
 
1020
1021
  request.onerror = (event) => {
1021
1022
  resume(
@@ -1030,7 +1031,7 @@ const applyFirst = Effect.fnUntraced(function*(
1030
1031
 
1031
1032
  request.onsuccess = () => {
1032
1033
  const value = request.result?.value
1033
- const key = request.result?.key
1034
+ const key = request.result?.primaryKey
1034
1035
 
1035
1036
  if (value === undefined) {
1036
1037
  resume(
@@ -1412,7 +1413,7 @@ const makeFrom = <
1412
1413
  readonly table: Table
1413
1414
  readonly database: MutableRef.MutableRef<globalThis.IDBDatabase>
1414
1415
  readonly IDBKeyRange: typeof globalThis.IDBKeyRange
1415
- readonly reactivity: Reactivity.Reactivity["Service"]
1416
+ readonly reactivity: Reactivity.Reactivity
1416
1417
  }): IndexedDbQuery.From<Table> => {
1417
1418
  const self = Object.create(FromProto)
1418
1419
  self.table = options.table
@@ -1784,6 +1785,7 @@ const SelectProto: Omit<
1784
1785
  const isPartial = data.length < chunkSize
1785
1786
  const next = makeSelect({
1786
1787
  ...select,
1788
+ limitValue: limit === undefined ? chunkSize : Math.min(chunkSize, limit - total),
1787
1789
  offsetValue: initialOffset + total
1788
1790
  })
1789
1791
  return [data, isPartial || reachedLimit ? Option.none() : Option.some(next)] as const
@@ -2053,7 +2055,7 @@ export const make = <Source extends IndexedDbVersion.AnyWithProps>({
2053
2055
  readonly database: MutableRef.MutableRef<globalThis.IDBDatabase>
2054
2056
  readonly IDBKeyRange: typeof globalThis.IDBKeyRange
2055
2057
  readonly tables: ReadonlyMap<string, IndexedDbVersion.Tables<Source>>
2056
- readonly reactivity: Reactivity.Reactivity["Service"]
2058
+ readonly reactivity: Reactivity.Reactivity
2057
2059
  }): IndexedDbQueryBuilder<Source> => {
2058
2060
  const self = Object.create(QueryBuilderProto)
2059
2061
  self.tables = tables