tinybase 5.0.0-beta.27 → 5.0.0-beta.28

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 (249) hide show
  1. package/@types/_internal/ui-react/with-schemas/index.d.cts +274 -0
  2. package/@types/_internal/ui-react/with-schemas/index.d.ts +274 -0
  3. package/@types/checkpoints/index.d.cts +30 -1
  4. package/@types/checkpoints/index.d.ts +30 -1
  5. package/@types/checkpoints/with-schemas/index.d.cts +30 -1
  6. package/@types/checkpoints/with-schemas/index.d.ts +30 -1
  7. package/@types/common/index.d.cts +9 -0
  8. package/@types/common/index.d.ts +9 -0
  9. package/@types/common/with-schemas/index.d.cts +9 -0
  10. package/@types/common/with-schemas/index.d.ts +9 -0
  11. package/@types/index.d.cts +1 -0
  12. package/@types/index.d.ts +1 -0
  13. package/@types/indexes/index.d.cts +32 -1
  14. package/@types/indexes/index.d.ts +32 -1
  15. package/@types/indexes/with-schemas/index.d.cts +32 -1
  16. package/@types/indexes/with-schemas/index.d.ts +32 -1
  17. package/@types/mergeable-store/index.d.cts +0 -2
  18. package/@types/mergeable-store/index.d.ts +0 -2
  19. package/@types/mergeable-store/with-schemas/index.d.cts +2 -2
  20. package/@types/mergeable-store/with-schemas/index.d.ts +2 -2
  21. package/@types/metrics/index.d.cts +30 -4
  22. package/@types/metrics/index.d.ts +30 -4
  23. package/@types/metrics/with-schemas/index.d.cts +30 -4
  24. package/@types/metrics/with-schemas/index.d.ts +30 -4
  25. package/@types/persisters/index.d.cts +87 -25
  26. package/@types/persisters/index.d.ts +87 -25
  27. package/@types/persisters/persister-automerge/index.d.cts +4 -4
  28. package/@types/persisters/persister-automerge/index.d.ts +4 -4
  29. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +4 -4
  30. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
  31. package/@types/persisters/persister-browser/index.d.cts +7 -4
  32. package/@types/persisters/persister-browser/index.d.ts +7 -4
  33. package/@types/persisters/persister-browser/with-schemas/index.d.cts +7 -4
  34. package/@types/persisters/persister-browser/with-schemas/index.d.ts +7 -4
  35. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +4 -4
  36. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -4
  37. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +4 -4
  38. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +4 -4
  39. package/@types/persisters/persister-electric-sql/index.d.cts +4 -4
  40. package/@types/persisters/persister-electric-sql/index.d.ts +4 -4
  41. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +4 -4
  42. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +4 -4
  43. package/@types/persisters/persister-expo-sqlite/index.d.cts +4 -4
  44. package/@types/persisters/persister-expo-sqlite/index.d.ts +4 -4
  45. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +4 -4
  46. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +4 -4
  47. package/@types/persisters/persister-file/index.d.cts +6 -4
  48. package/@types/persisters/persister-file/index.d.ts +6 -4
  49. package/@types/persisters/persister-file/with-schemas/index.d.cts +6 -4
  50. package/@types/persisters/persister-file/with-schemas/index.d.ts +6 -4
  51. package/@types/persisters/persister-indexed-db/index.d.cts +5 -4
  52. package/@types/persisters/persister-indexed-db/index.d.ts +5 -4
  53. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +5 -4
  54. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +5 -4
  55. package/@types/persisters/persister-libsql/index.d.cts +5 -4
  56. package/@types/persisters/persister-libsql/index.d.ts +5 -4
  57. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +5 -4
  58. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +5 -4
  59. package/@types/persisters/persister-partykit-client/index.d.cts +12 -6
  60. package/@types/persisters/persister-partykit-client/index.d.ts +12 -6
  61. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +12 -6
  62. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +12 -6
  63. package/@types/persisters/persister-partykit-server/index.d.cts +11 -3
  64. package/@types/persisters/persister-partykit-server/index.d.ts +11 -3
  65. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +11 -3
  66. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +11 -3
  67. package/@types/persisters/persister-powersync/index.d.cts +5 -4
  68. package/@types/persisters/persister-powersync/index.d.ts +5 -4
  69. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +5 -4
  70. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +5 -4
  71. package/@types/persisters/persister-remote/index.d.cts +6 -4
  72. package/@types/persisters/persister-remote/index.d.ts +6 -4
  73. package/@types/persisters/persister-remote/with-schemas/index.d.cts +6 -4
  74. package/@types/persisters/persister-remote/with-schemas/index.d.ts +6 -4
  75. package/@types/persisters/persister-sqlite-wasm/index.d.cts +4 -4
  76. package/@types/persisters/persister-sqlite-wasm/index.d.ts +4 -4
  77. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +4 -4
  78. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +4 -4
  79. package/@types/persisters/persister-sqlite3/index.d.cts +4 -4
  80. package/@types/persisters/persister-sqlite3/index.d.ts +4 -4
  81. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +4 -4
  82. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +4 -4
  83. package/@types/persisters/persister-yjs/index.d.cts +4 -4
  84. package/@types/persisters/persister-yjs/index.d.ts +4 -4
  85. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +4 -4
  86. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
  87. package/@types/persisters/with-schemas/index.d.cts +87 -25
  88. package/@types/persisters/with-schemas/index.d.ts +87 -25
  89. package/@types/queries/index.d.cts +64 -4
  90. package/@types/queries/index.d.ts +64 -4
  91. package/@types/queries/with-schemas/index.d.cts +64 -4
  92. package/@types/queries/with-schemas/index.d.ts +64 -4
  93. package/@types/relationships/index.d.cts +34 -1
  94. package/@types/relationships/index.d.ts +34 -1
  95. package/@types/relationships/with-schemas/index.d.cts +34 -1
  96. package/@types/relationships/with-schemas/index.d.ts +34 -1
  97. package/@types/store/index.d.cts +125 -0
  98. package/@types/store/index.d.ts +125 -0
  99. package/@types/store/with-schemas/index.d.cts +125 -0
  100. package/@types/store/with-schemas/index.d.ts +125 -0
  101. package/@types/synchronizers/index.d.cts +32 -10
  102. package/@types/synchronizers/index.d.ts +32 -10
  103. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +114 -0
  104. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +114 -0
  105. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +128 -0
  106. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +128 -0
  107. package/@types/synchronizers/synchronizer-local/index.d.cts +16 -17
  108. package/@types/synchronizers/synchronizer-local/index.d.ts +16 -17
  109. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +16 -17
  110. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +16 -17
  111. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +66 -6
  112. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +66 -6
  113. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +77 -6
  114. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +77 -6
  115. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +486 -7
  116. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +486 -7
  117. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +486 -7
  118. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +486 -7
  119. package/@types/synchronizers/with-schemas/index.d.cts +29 -11
  120. package/@types/synchronizers/with-schemas/index.d.ts +29 -11
  121. package/@types/tools/index.d.cts +22 -0
  122. package/@types/tools/index.d.ts +22 -0
  123. package/@types/tools/with-schemas/index.d.cts +22 -0
  124. package/@types/tools/with-schemas/index.d.ts +22 -0
  125. package/@types/ui-react/index.d.cts +375 -1
  126. package/@types/ui-react/index.d.ts +375 -1
  127. package/@types/ui-react/with-schemas/index.d.cts +100 -1
  128. package/@types/ui-react/with-schemas/index.d.ts +100 -1
  129. package/@types/ui-react-dom/index.d.cts +112 -0
  130. package/@types/ui-react-dom/index.d.ts +112 -0
  131. package/@types/ui-react-dom/with-schemas/index.d.cts +112 -0
  132. package/@types/ui-react-dom/with-schemas/index.d.ts +112 -0
  133. package/@types/ui-react-inspector/index.d.cts +6 -2
  134. package/@types/ui-react-inspector/index.d.ts +6 -2
  135. package/@types/ui-react-inspector/with-schemas/index.d.cts +118 -2
  136. package/@types/ui-react-inspector/with-schemas/index.d.ts +118 -2
  137. package/@types/with-schemas/index.d.cts +1 -0
  138. package/@types/with-schemas/index.d.ts +1 -0
  139. package/cjs/es6/index.cjs +2 -2
  140. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  141. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  142. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  143. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  145. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  146. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  147. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/es6/synchronizers/index.cjs +2 -2
  149. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +628 -0
  150. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +628 -0
  151. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +4 -4
  152. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
  153. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +15 -21
  154. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
  155. package/cjs/es6/synchronizers/with-schemas/index.cjs +2 -2
  156. package/cjs/es6/with-schemas/index.cjs +2 -2
  157. package/cjs/index.cjs +2 -2
  158. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  159. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  160. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  161. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  163. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  164. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  165. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/synchronizers/index.cjs +2 -2
  167. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +500 -0
  168. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +500 -0
  169. package/cjs/synchronizers/synchronizer-local/index.cjs +4 -4
  170. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
  171. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +15 -21
  172. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
  173. package/cjs/synchronizers/with-schemas/index.cjs +2 -2
  174. package/cjs/with-schemas/index.cjs +2 -2
  175. package/es6/index.js +2 -2
  176. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  177. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  178. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  179. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  180. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  181. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  182. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  183. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  184. package/es6/synchronizers/index.js +2 -2
  185. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +626 -0
  186. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +626 -0
  187. package/es6/synchronizers/synchronizer-local/index.js +4 -4
  188. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  189. package/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
  190. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  191. package/es6/synchronizers/with-schemas/index.js +2 -2
  192. package/es6/with-schemas/index.js +2 -2
  193. package/index.js +2 -2
  194. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  195. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  196. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  197. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  198. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  199. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  200. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  201. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  202. package/package.json +105 -1
  203. package/readme.md +9 -9
  204. package/releases.md +4 -4
  205. package/synchronizers/index.js +2 -2
  206. package/synchronizers/synchronizer-broadcast-channel/index.js +498 -0
  207. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +498 -0
  208. package/synchronizers/synchronizer-local/index.js +4 -4
  209. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  210. package/synchronizers/synchronizer-ws-client/index.js +15 -21
  211. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  212. package/synchronizers/with-schemas/index.js +2 -2
  213. package/umd/es6/index.js +2 -2
  214. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  215. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  216. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  217. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  218. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  219. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  220. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  221. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  222. package/umd/es6/synchronizers/index.js +2 -2
  223. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +654 -0
  224. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +654 -0
  225. package/umd/es6/synchronizers/synchronizer-local/index.js +4 -4
  226. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  227. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
  228. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  229. package/umd/es6/synchronizers/with-schemas/index.js +2 -2
  230. package/umd/es6/with-schemas/index.js +2 -2
  231. package/umd/index.js +2 -2
  232. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  233. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  234. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  235. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  236. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  237. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  238. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  239. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  240. package/umd/synchronizers/index.js +2 -2
  241. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +516 -0
  242. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +516 -0
  243. package/umd/synchronizers/synchronizer-local/index.js +4 -4
  244. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  245. package/umd/synchronizers/synchronizer-ws-client/index.js +15 -21
  246. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  247. package/umd/synchronizers/with-schemas/index.js +2 -2
  248. package/umd/with-schemas/index.js +2 -2
  249. package/with-schemas/index.js +2 -2
@@ -11,10 +11,10 @@
11
11
  *
12
12
  * Note that both the client and server parts of this Persister are currently
13
13
  * experimental as PartyKit is new and still maturing.
14
- * @see Persisting Data guide
14
+ * @see Persistence guides
15
15
  * @packageDocumentation
16
16
  * @module persister-partykit-server
17
- * @since 4.3.0
17
+ * @since v4.3.0
18
18
  */
19
19
 
20
20
  import type {
@@ -67,6 +67,8 @@ export type TinyBasePartyKitServerConfig = {
67
67
  * The path used to set and get the whole Store over HTTP(S) on the server.
68
68
  * This must match the storePath property of the PartyKitPersisterConfig used
69
69
  * on the client. Both default to '/store'.
70
+ * @category Configuration
71
+ * @since v4.3.0
70
72
  */
71
73
  storePath?: string;
72
74
  /**
@@ -75,12 +77,16 @@ export type TinyBasePartyKitServerConfig = {
75
77
  * not collide with any other message syntax that your room is using. This
76
78
  * must match the messagePrefix property of the PartyKitPersisterConfig object
77
79
  * used on the client. Both default to an empty string.
80
+ * @category Configuration
81
+ * @since v4.3.0
78
82
  */
79
83
  messagePrefix?: string;
80
84
  /**
81
85
  * The prefix used before all the keys in the server's durable storage. Use
82
86
  * this in case you are worried about the Store data colliding with other data
83
87
  * stored in the room. Defaults to an empty string.
88
+ * @category Configuration
89
+ * @since v4.3.0
84
90
  */
85
91
  storagePrefix?: string;
86
92
  /**
@@ -96,6 +102,8 @@ export type TinyBasePartyKitServerConfig = {
96
102
  * If you set this field, it will override the default completely. So, for
97
103
  * example, if you add another header but still want the CORS defaults, you
98
104
  * will need to explicitly set the Access-Control-Allow headers above again.
105
+ * @category Configuration
106
+ * @since v4.3.0
99
107
  */
100
108
  responseHeaders?: HeadersInit;
101
109
  };
@@ -146,7 +154,7 @@ export type TinyBasePartyKitServerConfig = {
146
154
  * See the [PartyKit server API
147
155
  * documentation](https://docs.partykit.io/reference/partyserver-api/) for
148
156
  * more details.
149
- * @category Creation
157
+ * @category Server
150
158
  * @since v4.3.0
151
159
  */
152
160
  export class TinyBasePartyKitServer implements Server {
@@ -11,10 +11,10 @@
11
11
  *
12
12
  * Note that both the client and server parts of this Persister are currently
13
13
  * experimental as PartyKit is new and still maturing.
14
- * @see Persisting Data guide
14
+ * @see Persistence guides
15
15
  * @packageDocumentation
16
16
  * @module persister-partykit-server
17
- * @since 4.3.0
17
+ * @since v4.3.0
18
18
  */
19
19
 
20
20
  import type {
@@ -67,6 +67,8 @@ export type TinyBasePartyKitServerConfig = {
67
67
  * The path used to set and get the whole Store over HTTP(S) on the server.
68
68
  * This must match the storePath property of the PartyKitPersisterConfig used
69
69
  * on the client. Both default to '/store'.
70
+ * @category Configuration
71
+ * @since v4.3.0
70
72
  */
71
73
  storePath?: string;
72
74
  /**
@@ -75,12 +77,16 @@ export type TinyBasePartyKitServerConfig = {
75
77
  * not collide with any other message syntax that your room is using. This
76
78
  * must match the messagePrefix property of the PartyKitPersisterConfig object
77
79
  * used on the client. Both default to an empty string.
80
+ * @category Configuration
81
+ * @since v4.3.0
78
82
  */
79
83
  messagePrefix?: string;
80
84
  /**
81
85
  * The prefix used before all the keys in the server's durable storage. Use
82
86
  * this in case you are worried about the Store data colliding with other data
83
87
  * stored in the room. Defaults to an empty string.
88
+ * @category Configuration
89
+ * @since v4.3.0
84
90
  */
85
91
  storagePrefix?: string;
86
92
  /**
@@ -96,6 +102,8 @@ export type TinyBasePartyKitServerConfig = {
96
102
  * If you set this field, it will override the default completely. So, for
97
103
  * example, if you add another header but still want the CORS defaults, you
98
104
  * will need to explicitly set the Access-Control-Allow headers above again.
105
+ * @category Configuration
106
+ * @since v4.3.0
99
107
  */
100
108
  responseHeaders?: HeadersInit;
101
109
  };
@@ -146,7 +154,7 @@ export type TinyBasePartyKitServerConfig = {
146
154
  * See the [PartyKit server API
147
155
  * documentation](https://docs.partykit.io/reference/partyserver-api/) for
148
156
  * more details.
149
- * @category Creation
157
+ * @category Server
150
158
  * @since v4.3.0
151
159
  */
152
160
  export class TinyBasePartyKitServer implements Server {
@@ -2,7 +2,7 @@
2
2
  * The persister-powersync module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database that is automatically synced
4
4
  * using the PowerSync service.
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-powersync
8
8
  * @since v4.8.0
@@ -17,12 +17,13 @@ import type {Store} from '../../store/index.d.cts';
17
17
  * and load Store data to and from a local SQLite database that is automatically
18
18
  * synced using the PowerSync service.
19
19
  *
20
+ * You should use the createPowerSyncPersister function to create a
21
+ * PowerSyncPersister object.
22
+ *
20
23
  * It is a minor extension to the Persister interface and simply provides an
21
24
  * extra getPowerSync method for accessing a reference to the PowerSync instance
22
25
  * the Store is being persisted to.
23
- *
24
- * You should use the createPowerSyncPersister function to create a
25
- * PowerSyncPersister object.
26
+ * @category Persister
26
27
  * @since v4.8.0
27
28
  */
28
29
  export interface PowerSyncPersister extends Persister {
@@ -2,7 +2,7 @@
2
2
  * The persister-powersync module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database that is automatically synced
4
4
  * using the PowerSync service.
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-powersync
8
8
  * @since v4.8.0
@@ -17,12 +17,13 @@ import type {Store} from '../../store/index.d.ts';
17
17
  * and load Store data to and from a local SQLite database that is automatically
18
18
  * synced using the PowerSync service.
19
19
  *
20
+ * You should use the createPowerSyncPersister function to create a
21
+ * PowerSyncPersister object.
22
+ *
20
23
  * It is a minor extension to the Persister interface and simply provides an
21
24
  * extra getPowerSync method for accessing a reference to the PowerSync instance
22
25
  * the Store is being persisted to.
23
- *
24
- * You should use the createPowerSyncPersister function to create a
25
- * PowerSyncPersister object.
26
+ * @category Persister
26
27
  * @since v4.8.0
27
28
  */
28
29
  export interface PowerSyncPersister extends Persister {
@@ -2,7 +2,7 @@
2
2
  * The persister-powersync module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database that is automatically synced
4
4
  * using the PowerSync service.
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-powersync
8
8
  * @since v4.8.0
@@ -23,12 +23,13 @@ import type {AbstractPowerSyncDatabase} from '@journeyapps/powersync-sdk-common'
23
23
  * and load Store data to and from a local SQLite database that is automatically
24
24
  * synced using the PowerSync service.
25
25
  *
26
+ * You should use the createPowerSyncPersister function to create a
27
+ * PowerSyncPersister object.
28
+ *
26
29
  * It is a minor extension to the Persister interface and simply provides an
27
30
  * extra getPowerSync method for accessing a reference to the PowerSync instance
28
31
  * the Store is being persisted to.
29
- *
30
- * You should use the createPowerSyncPersister function to create a
31
- * PowerSyncPersister object.
32
+ * @category Persister
32
33
  * @since v4.8.0
33
34
  */
34
35
  export interface PowerSyncPersister<Schemas extends OptionalSchemas>
@@ -2,7 +2,7 @@
2
2
  * The persister-powersync module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database that is automatically synced
4
4
  * using the PowerSync service.
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-powersync
8
8
  * @since v4.8.0
@@ -23,12 +23,13 @@ import type {AbstractPowerSyncDatabase} from '@journeyapps/powersync-sdk-common'
23
23
  * and load Store data to and from a local SQLite database that is automatically
24
24
  * synced using the PowerSync service.
25
25
  *
26
+ * You should use the createPowerSyncPersister function to create a
27
+ * PowerSyncPersister object.
28
+ *
26
29
  * It is a minor extension to the Persister interface and simply provides an
27
30
  * extra getPowerSync method for accessing a reference to the PowerSync instance
28
31
  * the Store is being persisted to.
29
- *
30
- * You should use the createPowerSyncPersister function to create a
31
- * PowerSyncPersister object.
32
+ * @category Persister
32
33
  * @since v4.8.0
33
34
  */
34
35
  export interface PowerSyncPersister<Schemas extends OptionalSchemas>
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * The persister-remote module of the TinyBase project lets you save and load
3
3
  * Store data to and from a remote server.
4
- * @see Persisting Data guide
4
+ * @see Persistence guides
5
5
  * @packageDocumentation
6
6
  * @module persister-remote
7
+ * @since v1.0.0
7
8
  */
8
9
 
9
10
  import type {Persister} from '../index.d.cts';
@@ -13,11 +14,11 @@ import type {Store} from '../../store/index.d.cts';
13
14
  * The RemotePersister interface represents a Persister that lets you save and
14
15
  * load Store data to and from a remote server.
15
16
  *
16
- * It is a minor extension to the Persister interface and simply provides an
17
- * extra getUrls method for accessing the URLs the Store is being persisted to.
18
- *
19
17
  * You should use the createRemotePersister function to create a RemotePersister
20
18
  * object.
19
+ *
20
+ * It is a minor extension to the Persister interface and simply provides an
21
+ * extra getUrls method for accessing the URLs the Store is being persisted to.
21
22
  * @category Persister
22
23
  * @since v4.3.14
23
24
  */
@@ -106,6 +107,7 @@ export interface RemotePersister extends Persister {
106
107
  * persister.destroy();
107
108
  * ```
108
109
  * @category Creation
110
+ * @since v1.0.0
109
111
  */
110
112
  export function createRemotePersister(
111
113
  store: Store,
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * The persister-remote module of the TinyBase project lets you save and load
3
3
  * Store data to and from a remote server.
4
- * @see Persisting Data guide
4
+ * @see Persistence guides
5
5
  * @packageDocumentation
6
6
  * @module persister-remote
7
+ * @since v1.0.0
7
8
  */
8
9
 
9
10
  import type {Persister} from '../index.d.ts';
@@ -13,11 +14,11 @@ import type {Store} from '../../store/index.d.ts';
13
14
  * The RemotePersister interface represents a Persister that lets you save and
14
15
  * load Store data to and from a remote server.
15
16
  *
16
- * It is a minor extension to the Persister interface and simply provides an
17
- * extra getUrls method for accessing the URLs the Store is being persisted to.
18
- *
19
17
  * You should use the createRemotePersister function to create a RemotePersister
20
18
  * object.
19
+ *
20
+ * It is a minor extension to the Persister interface and simply provides an
21
+ * extra getUrls method for accessing the URLs the Store is being persisted to.
21
22
  * @category Persister
22
23
  * @since v4.3.14
23
24
  */
@@ -106,6 +107,7 @@ export interface RemotePersister extends Persister {
106
107
  * persister.destroy();
107
108
  * ```
108
109
  * @category Creation
110
+ * @since v1.0.0
109
111
  */
110
112
  export function createRemotePersister(
111
113
  store: Store,
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * The persister-remote module of the TinyBase project lets you save and load
3
3
  * Store data to and from a remote server.
4
- * @see Persisting Data guide
4
+ * @see Persistence guides
5
5
  * @packageDocumentation
6
6
  * @module persister-remote
7
+ * @since v1.0.0
7
8
  */
8
9
 
9
10
  import type {
@@ -16,11 +17,11 @@ import type {Persister} from '../../with-schemas/index.d.cts';
16
17
  * The RemotePersister interface represents a Persister that lets you save and
17
18
  * load Store data to and from a remote server.
18
19
  *
19
- * It is a minor extension to the Persister interface and simply provides an
20
- * extra getUrls method for accessing the URLs the Store is being persisted to.
21
- *
22
20
  * You should use the createRemotePersister function to create a RemotePersister
23
21
  * object.
22
+ *
23
+ * It is a minor extension to the Persister interface and simply provides an
24
+ * extra getUrls method for accessing the URLs the Store is being persisted to.
24
25
  * @category Persister
25
26
  * @since v4.3.14
26
27
  */
@@ -122,6 +123,7 @@ export interface RemotePersister<Schemas extends OptionalSchemas>
122
123
  * persister.destroy();
123
124
  * ```
124
125
  * @category Creation
126
+ * @since v1.0.0
125
127
  */
126
128
  export function createRemotePersister<Schemas extends OptionalSchemas>(
127
129
  store: Store<Schemas>,
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * The persister-remote module of the TinyBase project lets you save and load
3
3
  * Store data to and from a remote server.
4
- * @see Persisting Data guide
4
+ * @see Persistence guides
5
5
  * @packageDocumentation
6
6
  * @module persister-remote
7
+ * @since v1.0.0
7
8
  */
8
9
 
9
10
  import type {
@@ -16,11 +17,11 @@ import type {Persister} from '../../with-schemas/index.d.ts';
16
17
  * The RemotePersister interface represents a Persister that lets you save and
17
18
  * load Store data to and from a remote server.
18
19
  *
19
- * It is a minor extension to the Persister interface and simply provides an
20
- * extra getUrls method for accessing the URLs the Store is being persisted to.
21
- *
22
20
  * You should use the createRemotePersister function to create a RemotePersister
23
21
  * object.
22
+ *
23
+ * It is a minor extension to the Persister interface and simply provides an
24
+ * extra getUrls method for accessing the URLs the Store is being persisted to.
24
25
  * @category Persister
25
26
  * @since v4.3.14
26
27
  */
@@ -122,6 +123,7 @@ export interface RemotePersister<Schemas extends OptionalSchemas>
122
123
  * persister.destroy();
123
124
  * ```
124
125
  * @category Creation
126
+ * @since v1.0.0
125
127
  */
126
128
  export function createRemotePersister<Schemas extends OptionalSchemas>(
127
129
  store: Store<Schemas>,
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite-wasm module of the TinyBase project lets you save and
3
3
  * load Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite-wasm
8
8
  * @since v4.0.0
@@ -16,12 +16,12 @@ import type {Store} from '../../store/index.d.cts';
16
16
  * The SqliteWasmPersister interface represents a Persister that lets you save
17
17
  * and load Store data to and from a local SQLite database.
18
18
  *
19
+ * You should use the createSqliteWasmPersister function to create a
20
+ * SqliteWasmPersister object.
21
+ *
19
22
  * It is a minor extension to the Persister interface and simply provides an
20
23
  * extra getDb method for accessing a reference to the database instance the
21
24
  * Store is being persisted to.
22
- *
23
- * You should use the createSqliteWasmPersister function to create a
24
- * SqliteWasmPersister object.
25
25
  * @category Persister
26
26
  * @since v4.3.14
27
27
  */
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite-wasm module of the TinyBase project lets you save and
3
3
  * load Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite-wasm
8
8
  * @since v4.0.0
@@ -16,12 +16,12 @@ import type {Store} from '../../store/index.d.ts';
16
16
  * The SqliteWasmPersister interface represents a Persister that lets you save
17
17
  * and load Store data to and from a local SQLite database.
18
18
  *
19
+ * You should use the createSqliteWasmPersister function to create a
20
+ * SqliteWasmPersister object.
21
+ *
19
22
  * It is a minor extension to the Persister interface and simply provides an
20
23
  * extra getDb method for accessing a reference to the database instance the
21
24
  * Store is being persisted to.
22
- *
23
- * You should use the createSqliteWasmPersister function to create a
24
- * SqliteWasmPersister object.
25
25
  * @category Persister
26
26
  * @since v4.3.14
27
27
  */
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite-wasm module of the TinyBase project lets you save and
3
3
  * load Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite-wasm
8
8
  * @since v4.0.0
@@ -23,12 +23,12 @@ import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d
23
23
  * The SqliteWasmPersister interface represents a Persister that lets you save
24
24
  * and load Store data to and from a local SQLite database.
25
25
  *
26
+ * You should use the createSqliteWasmPersister function to create a
27
+ * SqliteWasmPersister object.
28
+ *
26
29
  * It is a minor extension to the Persister interface and simply provides an
27
30
  * extra getDb method for accessing a reference to the database instance the
28
31
  * Store is being persisted to.
29
- *
30
- * You should use the createSqliteWasmPersister function to create a
31
- * SqliteWasmPersister object.
32
32
  * @category Persister
33
33
  * @since v4.3.14
34
34
  */
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite-wasm module of the TinyBase project lets you save and
3
3
  * load Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite-wasm
8
8
  * @since v4.0.0
@@ -23,12 +23,12 @@ import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d
23
23
  * The SqliteWasmPersister interface represents a Persister that lets you save
24
24
  * and load Store data to and from a local SQLite database.
25
25
  *
26
+ * You should use the createSqliteWasmPersister function to create a
27
+ * SqliteWasmPersister object.
28
+ *
26
29
  * It is a minor extension to the Persister interface and simply provides an
27
30
  * extra getDb method for accessing a reference to the database instance the
28
31
  * Store is being persisted to.
29
- *
30
- * You should use the createSqliteWasmPersister function to create a
31
- * SqliteWasmPersister object.
32
32
  * @category Persister
33
33
  * @since v4.3.14
34
34
  */
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite3 module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite3
8
8
  * @since v4.0.0
@@ -17,12 +17,12 @@ import type {Store} from '../../store/index.d.cts';
17
17
  * The Sqlite3Persister interface represents a Persister that lets you save and
18
18
  * load Store data to and from a local SQLite database.
19
19
  *
20
+ * You should use the createSqlite3Persister function to create a
21
+ * Sqlite3Persister object.
22
+ *
20
23
  * It is a minor extension to the Persister interface and simply provides an
21
24
  * extra getDb method for accessing a reference to the database instance the
22
25
  * Store is being persisted to.
23
- *
24
- * You should use the createSqlite3Persister function to create a
25
- * Sqlite3Persister object.
26
26
  * @category Persister
27
27
  * @since v4.3.14
28
28
  */
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite3 module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite3
8
8
  * @since v4.0.0
@@ -17,12 +17,12 @@ import type {Store} from '../../store/index.d.ts';
17
17
  * The Sqlite3Persister interface represents a Persister that lets you save and
18
18
  * load Store data to and from a local SQLite database.
19
19
  *
20
+ * You should use the createSqlite3Persister function to create a
21
+ * Sqlite3Persister object.
22
+ *
20
23
  * It is a minor extension to the Persister interface and simply provides an
21
24
  * extra getDb method for accessing a reference to the database instance the
22
25
  * Store is being persisted to.
23
- *
24
- * You should use the createSqlite3Persister function to create a
25
- * Sqlite3Persister object.
26
26
  * @category Persister
27
27
  * @since v4.3.14
28
28
  */
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite3 module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite3
8
8
  * @since v4.0.0
@@ -24,12 +24,12 @@ import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d
24
24
  * The Sqlite3Persister interface represents a Persister that lets you save and
25
25
  * load Store data to and from a local SQLite database.
26
26
  *
27
+ * You should use the createSqlite3Persister function to create a
28
+ * Sqlite3Persister object.
29
+ *
27
30
  * It is a minor extension to the Persister interface and simply provides an
28
31
  * extra getDb method for accessing a reference to the database instance the
29
32
  * Store is being persisted to.
30
- *
31
- * You should use the createSqlite3Persister function to create a
32
- * Sqlite3Persister object.
33
33
  * @category Persister
34
34
  * @since v4.3.14
35
35
  */
@@ -2,7 +2,7 @@
2
2
  * The persister-sqlite3 module of the TinyBase project lets you save and load
3
3
  * Store data to and from a local SQLite database (in an appropriate
4
4
  * environment).
5
- * @see Persisting Data guide
5
+ * @see Database Persistence guide
6
6
  * @packageDocumentation
7
7
  * @module persister-sqlite3
8
8
  * @since v4.0.0
@@ -24,12 +24,12 @@ import type {MergeableStore} from '../../../mergeable-store/with-schemas/index.d
24
24
  * The Sqlite3Persister interface represents a Persister that lets you save and
25
25
  * load Store data to and from a local SQLite database.
26
26
  *
27
+ * You should use the createSqlite3Persister function to create a
28
+ * Sqlite3Persister object.
29
+ *
27
30
  * It is a minor extension to the Persister interface and simply provides an
28
31
  * extra getDb method for accessing a reference to the database instance the
29
32
  * Store is being persisted to.
30
- *
31
- * You should use the createSqlite3Persister function to create a
32
- * Sqlite3Persister object.
33
33
  * @category Persister
34
34
  * @since v4.3.14
35
35
  */
@@ -5,7 +5,7 @@
5
5
  * A single entry point, the createYjsPersister function, is provided, which
6
6
  * returns a new Persister object that can bind a Store to a provided Yjs
7
7
  * document.
8
- * @see Synchronizing Data guide
8
+ * @see Third-Party CRDT Persistence guide
9
9
  * @packageDocumentation
10
10
  * @module persister-yjs
11
11
  * @since v4.0.0
@@ -19,12 +19,12 @@ import type {Doc as YDoc} from 'yjs';
19
19
  * The YjsPersister interface represents a Persister that lets you save and load
20
20
  * Store data to and from a Yjs document.
21
21
  *
22
+ * You should use the createYjsPersister function to create a YjsPersister
23
+ * object.
24
+ *
22
25
  * It is a minor extension to the Persister interface and simply provides an
23
26
  * extra getYDoc method for accessing the Yjs document the Store is being
24
27
  * persisted to.
25
- *
26
- * You should use the createYjsPersister function to create a YjsPersister
27
- * object.
28
28
  * @category Persister
29
29
  * @since v4.3.14
30
30
  */
@@ -5,7 +5,7 @@
5
5
  * A single entry point, the createYjsPersister function, is provided, which
6
6
  * returns a new Persister object that can bind a Store to a provided Yjs
7
7
  * document.
8
- * @see Synchronizing Data guide
8
+ * @see Third-Party CRDT Persistence guide
9
9
  * @packageDocumentation
10
10
  * @module persister-yjs
11
11
  * @since v4.0.0
@@ -19,12 +19,12 @@ import type {Doc as YDoc} from 'yjs';
19
19
  * The YjsPersister interface represents a Persister that lets you save and load
20
20
  * Store data to and from a Yjs document.
21
21
  *
22
+ * You should use the createYjsPersister function to create a YjsPersister
23
+ * object.
24
+ *
22
25
  * It is a minor extension to the Persister interface and simply provides an
23
26
  * extra getYDoc method for accessing the Yjs document the Store is being
24
27
  * persisted to.
25
- *
26
- * You should use the createYjsPersister function to create a YjsPersister
27
- * object.
28
28
  * @category Persister
29
29
  * @since v4.3.14
30
30
  */
@@ -5,7 +5,7 @@
5
5
  * A single entry point, the createYjsPersister function, is provided, which
6
6
  * returns a new Persister object that can bind a Store to a provided Yjs
7
7
  * document.
8
- * @see Synchronizing Data guide
8
+ * @see Third-Party CRDT Persistence guide
9
9
  * @packageDocumentation
10
10
  * @module persister-yjs
11
11
  * @since v4.0.0
@@ -22,12 +22,12 @@ import type {Doc as YDoc} from 'yjs';
22
22
  * The YjsPersister interface represents a Persister that lets you save and load
23
23
  * Store data to and from a Yjs document.
24
24
  *
25
+ * You should use the createYjsPersister function to create a YjsPersister
26
+ * object.
27
+ *
25
28
  * It is a minor extension to the Persister interface and simply provides an
26
29
  * extra getYDoc method for accessing the Yjs document the Store is being
27
30
  * persisted to.
28
- *
29
- * You should use the createYjsPersister function to create a YjsPersister
30
- * object.
31
31
  * @category Persister
32
32
  * @since v4.3.14
33
33
  */
@@ -5,7 +5,7 @@
5
5
  * A single entry point, the createYjsPersister function, is provided, which
6
6
  * returns a new Persister object that can bind a Store to a provided Yjs
7
7
  * document.
8
- * @see Synchronizing Data guide
8
+ * @see Third-Party CRDT Persistence guide
9
9
  * @packageDocumentation
10
10
  * @module persister-yjs
11
11
  * @since v4.0.0
@@ -22,12 +22,12 @@ import type {Doc as YDoc} from 'yjs';
22
22
  * The YjsPersister interface represents a Persister that lets you save and load
23
23
  * Store data to and from a Yjs document.
24
24
  *
25
+ * You should use the createYjsPersister function to create a YjsPersister
26
+ * object.
27
+ *
25
28
  * It is a minor extension to the Persister interface and simply provides an
26
29
  * extra getYDoc method for accessing the Yjs document the Store is being
27
30
  * persisted to.
28
- *
29
- * You should use the createYjsPersister function to create a YjsPersister
30
- * object.
31
31
  * @category Persister
32
32
  * @since v4.3.14
33
33
  */