@starlightcms/js-sdk 0.3.5 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/{client.d.ts → cjs/client.d.ts} +0 -0
  2. package/dist/cjs/client.d.ts.map +1 -0
  3. package/dist/{client.js → cjs/client.js} +22 -11
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/errors.d.ts +5 -0
  6. package/dist/cjs/errors.d.ts.map +1 -0
  7. package/dist/{errors.js → cjs/errors.js} +4 -0
  8. package/dist/cjs/errors.js.map +1 -0
  9. package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  10. package/dist/cjs/index.d.ts.map +1 -0
  11. package/dist/{index.js → cjs/index.js} +0 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/instances/Collection/index.d.ts +5 -0
  14. package/dist/cjs/instances/Collection/index.d.ts.map +1 -0
  15. package/dist/cjs/instances/Collection/index.js +14 -0
  16. package/dist/cjs/instances/Collection/index.js.map +1 -0
  17. package/dist/cjs/instances/Collection/types.d.ts +15 -0
  18. package/dist/cjs/instances/Collection/types.d.ts.map +1 -0
  19. package/dist/cjs/instances/Collection/types.js +3 -0
  20. package/dist/cjs/instances/Collection/types.js.map +1 -0
  21. package/dist/cjs/instances/Model/index.d.ts +5 -0
  22. package/dist/cjs/instances/Model/index.d.ts.map +1 -0
  23. package/dist/cjs/instances/Model/index.js +22 -0
  24. package/dist/cjs/instances/Model/index.js.map +1 -0
  25. package/dist/cjs/instances/Model/types.d.ts +9 -0
  26. package/dist/cjs/instances/Model/types.d.ts.map +1 -0
  27. package/dist/cjs/instances/Model/types.js +3 -0
  28. package/dist/cjs/instances/Model/types.js.map +1 -0
  29. package/dist/cjs/instances/ModelCategory/index.d.ts +5 -0
  30. package/dist/cjs/instances/ModelCategory/index.d.ts.map +1 -0
  31. package/dist/cjs/instances/ModelCategory/index.js +14 -0
  32. package/dist/cjs/instances/ModelCategory/index.js.map +1 -0
  33. package/dist/cjs/instances/ModelCategory/types.d.ts +15 -0
  34. package/dist/cjs/instances/ModelCategory/types.d.ts.map +1 -0
  35. package/dist/cjs/instances/ModelCategory/types.js +3 -0
  36. package/dist/cjs/instances/ModelCategory/types.js.map +1 -0
  37. package/dist/cjs/selectors/Collection/index.d.ts +5 -0
  38. package/dist/cjs/selectors/Collection/index.d.ts.map +1 -0
  39. package/dist/cjs/selectors/Collection/index.js +26 -0
  40. package/dist/cjs/selectors/Collection/index.js.map +1 -0
  41. package/dist/cjs/selectors/Collection/types.d.ts +16 -0
  42. package/dist/cjs/selectors/Collection/types.d.ts.map +1 -0
  43. package/dist/cjs/selectors/Collection/types.js +3 -0
  44. package/dist/cjs/selectors/Collection/types.js.map +1 -0
  45. package/dist/cjs/selectors/Entry/index.d.ts +5 -0
  46. package/dist/cjs/selectors/Entry/index.d.ts.map +1 -0
  47. package/dist/cjs/selectors/Entry/index.js +14 -0
  48. package/dist/cjs/selectors/Entry/index.js.map +1 -0
  49. package/dist/cjs/selectors/Entry/types.d.ts +15 -0
  50. package/dist/cjs/selectors/Entry/types.d.ts.map +1 -0
  51. package/dist/cjs/selectors/Entry/types.js +3 -0
  52. package/dist/cjs/selectors/Entry/types.js.map +1 -0
  53. package/dist/cjs/selectors/Media/index.d.ts +5 -0
  54. package/dist/cjs/selectors/Media/index.d.ts.map +1 -0
  55. package/dist/cjs/selectors/Media/index.js +14 -0
  56. package/dist/cjs/selectors/Media/index.js.map +1 -0
  57. package/dist/cjs/selectors/Media/types.d.ts +6 -0
  58. package/dist/cjs/selectors/Media/types.d.ts.map +1 -0
  59. package/dist/cjs/selectors/Media/types.js +3 -0
  60. package/dist/cjs/selectors/Media/types.js.map +1 -0
  61. package/dist/cjs/selectors/Model/index.d.ts +5 -0
  62. package/dist/cjs/selectors/Model/index.d.ts.map +1 -0
  63. package/dist/cjs/selectors/Model/index.js +26 -0
  64. package/dist/cjs/selectors/Model/index.js.map +1 -0
  65. package/dist/cjs/selectors/Model/types.d.ts +10 -0
  66. package/dist/cjs/selectors/Model/types.d.ts.map +1 -0
  67. package/dist/cjs/selectors/Model/types.js +3 -0
  68. package/dist/cjs/selectors/Model/types.js.map +1 -0
  69. package/dist/cjs/selectors/ModelCategory/index.d.ts +5 -0
  70. package/dist/cjs/selectors/ModelCategory/index.d.ts.map +1 -0
  71. package/dist/cjs/selectors/ModelCategory/index.js +26 -0
  72. package/dist/cjs/selectors/ModelCategory/index.js.map +1 -0
  73. package/dist/cjs/selectors/ModelCategory/types.d.ts +16 -0
  74. package/dist/cjs/selectors/ModelCategory/types.d.ts.map +1 -0
  75. package/dist/cjs/selectors/ModelCategory/types.js +3 -0
  76. package/dist/cjs/selectors/ModelCategory/types.js.map +1 -0
  77. package/dist/cjs/selectors/Singleton/index.d.ts +5 -0
  78. package/dist/cjs/selectors/Singleton/index.d.ts.map +1 -0
  79. package/dist/cjs/selectors/Singleton/index.js +14 -0
  80. package/dist/cjs/selectors/Singleton/index.js.map +1 -0
  81. package/dist/cjs/selectors/Singleton/types.d.ts +6 -0
  82. package/dist/cjs/selectors/Singleton/types.d.ts.map +1 -0
  83. package/dist/cjs/selectors/Singleton/types.js +3 -0
  84. package/dist/cjs/selectors/Singleton/types.js.map +1 -0
  85. package/dist/{types → cjs/types}/entities.d.ts +4 -0
  86. package/dist/cjs/types/entities.d.ts.map +1 -0
  87. package/dist/{types → cjs/types}/entities.js +0 -0
  88. package/dist/cjs/types/entities.js.map +1 -0
  89. package/dist/{types → cjs/types}/fields.d.ts +0 -0
  90. package/dist/cjs/types/fields.d.ts.map +1 -0
  91. package/dist/{types → cjs/types}/fields.js +0 -0
  92. package/dist/cjs/types/fields.js.map +1 -0
  93. package/dist/{types → cjs/types}/index.d.ts +19 -8
  94. package/dist/cjs/types/index.d.ts.map +1 -0
  95. package/dist/{types → cjs/types}/index.js +0 -0
  96. package/dist/cjs/types/index.js.map +1 -0
  97. package/dist/{types → cjs/types}/visual.d.ts +0 -0
  98. package/dist/cjs/types/visual.d.ts.map +1 -0
  99. package/dist/{types → cjs/types}/visual.js +0 -0
  100. package/dist/cjs/types/visual.js.map +1 -0
  101. package/dist/esm/client.d.ts +3 -0
  102. package/dist/esm/client.d.ts.map +1 -0
  103. package/dist/esm/client.js +72 -0
  104. package/dist/esm/client.js.map +1 -0
  105. package/dist/esm/errors.d.ts +5 -0
  106. package/dist/esm/errors.d.ts.map +1 -0
  107. package/dist/esm/errors.js +7 -0
  108. package/dist/esm/errors.js.map +1 -0
  109. package/dist/esm/index.d.ts +9 -0
  110. package/dist/esm/index.d.ts.map +1 -0
  111. package/dist/esm/index.js +8 -0
  112. package/dist/esm/index.js.map +1 -0
  113. package/dist/esm/instances/Collection/index.d.ts +5 -0
  114. package/dist/esm/instances/Collection/index.d.ts.map +1 -0
  115. package/dist/esm/instances/Collection/index.js +11 -0
  116. package/dist/esm/instances/Collection/index.js.map +1 -0
  117. package/dist/esm/instances/Collection/types.d.ts +15 -0
  118. package/dist/esm/instances/Collection/types.d.ts.map +1 -0
  119. package/dist/esm/instances/Collection/types.js +2 -0
  120. package/dist/esm/instances/Collection/types.js.map +1 -0
  121. package/dist/esm/instances/Model/index.d.ts +5 -0
  122. package/dist/esm/instances/Model/index.d.ts.map +1 -0
  123. package/dist/esm/instances/Model/index.js +16 -0
  124. package/dist/esm/instances/Model/index.js.map +1 -0
  125. package/dist/esm/instances/Model/types.d.ts +9 -0
  126. package/dist/esm/instances/Model/types.d.ts.map +1 -0
  127. package/dist/esm/instances/Model/types.js +2 -0
  128. package/dist/esm/instances/Model/types.js.map +1 -0
  129. package/dist/esm/instances/ModelCategory/index.d.ts +5 -0
  130. package/dist/esm/instances/ModelCategory/index.d.ts.map +1 -0
  131. package/dist/esm/instances/ModelCategory/index.js +11 -0
  132. package/dist/esm/instances/ModelCategory/index.js.map +1 -0
  133. package/dist/esm/instances/ModelCategory/types.d.ts +15 -0
  134. package/dist/esm/instances/ModelCategory/types.d.ts.map +1 -0
  135. package/dist/esm/instances/ModelCategory/types.js +2 -0
  136. package/dist/esm/instances/ModelCategory/types.js.map +1 -0
  137. package/dist/esm/selectors/Collection/index.d.ts +5 -0
  138. package/dist/esm/selectors/Collection/index.d.ts.map +1 -0
  139. package/dist/esm/selectors/Collection/index.js +20 -0
  140. package/dist/esm/selectors/Collection/index.js.map +1 -0
  141. package/dist/esm/selectors/Collection/types.d.ts +16 -0
  142. package/dist/esm/selectors/Collection/types.d.ts.map +1 -0
  143. package/dist/esm/selectors/Collection/types.js +2 -0
  144. package/dist/esm/selectors/Collection/types.js.map +1 -0
  145. package/dist/esm/selectors/Entry/index.d.ts +5 -0
  146. package/dist/esm/selectors/Entry/index.d.ts.map +1 -0
  147. package/dist/esm/selectors/Entry/index.js +11 -0
  148. package/dist/esm/selectors/Entry/index.js.map +1 -0
  149. package/dist/esm/selectors/Entry/types.d.ts +15 -0
  150. package/dist/esm/selectors/Entry/types.d.ts.map +1 -0
  151. package/dist/esm/selectors/Entry/types.js +2 -0
  152. package/dist/esm/selectors/Entry/types.js.map +1 -0
  153. package/dist/esm/selectors/Media/index.d.ts +5 -0
  154. package/dist/esm/selectors/Media/index.d.ts.map +1 -0
  155. package/dist/esm/selectors/Media/index.js +11 -0
  156. package/dist/esm/selectors/Media/index.js.map +1 -0
  157. package/dist/esm/selectors/Media/types.d.ts +6 -0
  158. package/dist/esm/selectors/Media/types.d.ts.map +1 -0
  159. package/dist/esm/selectors/Media/types.js +2 -0
  160. package/dist/esm/selectors/Media/types.js.map +1 -0
  161. package/dist/esm/selectors/Model/index.d.ts +5 -0
  162. package/dist/esm/selectors/Model/index.d.ts.map +1 -0
  163. package/dist/esm/selectors/Model/index.js +20 -0
  164. package/dist/esm/selectors/Model/index.js.map +1 -0
  165. package/dist/esm/selectors/Model/types.d.ts +10 -0
  166. package/dist/esm/selectors/Model/types.d.ts.map +1 -0
  167. package/dist/esm/selectors/Model/types.js +2 -0
  168. package/dist/esm/selectors/Model/types.js.map +1 -0
  169. package/dist/esm/selectors/ModelCategory/index.d.ts +5 -0
  170. package/dist/esm/selectors/ModelCategory/index.d.ts.map +1 -0
  171. package/dist/esm/selectors/ModelCategory/index.js +20 -0
  172. package/dist/esm/selectors/ModelCategory/index.js.map +1 -0
  173. package/dist/esm/selectors/ModelCategory/types.d.ts +16 -0
  174. package/dist/esm/selectors/ModelCategory/types.d.ts.map +1 -0
  175. package/dist/esm/selectors/ModelCategory/types.js +2 -0
  176. package/dist/esm/selectors/ModelCategory/types.js.map +1 -0
  177. package/dist/esm/selectors/Singleton/index.d.ts +5 -0
  178. package/dist/esm/selectors/Singleton/index.d.ts.map +1 -0
  179. package/dist/esm/selectors/Singleton/index.js +11 -0
  180. package/dist/esm/selectors/Singleton/index.js.map +1 -0
  181. package/dist/esm/selectors/Singleton/types.d.ts +6 -0
  182. package/dist/esm/selectors/Singleton/types.d.ts.map +1 -0
  183. package/dist/esm/selectors/Singleton/types.js +2 -0
  184. package/dist/esm/selectors/Singleton/types.js.map +1 -0
  185. package/dist/esm/types/entities.d.ts +65 -0
  186. package/dist/esm/types/entities.d.ts.map +1 -0
  187. package/dist/esm/types/entities.js +2 -0
  188. package/dist/esm/types/entities.js.map +1 -0
  189. package/dist/esm/types/fields.d.ts +10 -0
  190. package/dist/esm/types/fields.d.ts.map +1 -0
  191. package/dist/esm/types/fields.js +2 -0
  192. package/dist/esm/types/fields.js.map +1 -0
  193. package/dist/esm/types/index.d.ts +60 -0
  194. package/dist/esm/types/index.d.ts.map +1 -0
  195. package/dist/esm/types/index.js +4 -0
  196. package/dist/esm/types/index.js.map +1 -0
  197. package/dist/esm/types/visual.d.ts +30 -0
  198. package/dist/esm/types/visual.d.ts.map +1 -0
  199. package/dist/esm/types/visual.js +2 -0
  200. package/dist/esm/types/visual.js.map +1 -0
  201. package/package.json +10 -3
  202. package/dist/client.d.ts.map +0 -1
  203. package/dist/client.js.map +0 -1
  204. package/dist/errors.d.ts +0 -3
  205. package/dist/errors.d.ts.map +0 -1
  206. package/dist/errors.js.map +0 -1
  207. package/dist/index.d.ts.map +0 -1
  208. package/dist/index.js.map +0 -1
  209. package/dist/selectors/EntrySelector.d.ts +0 -9
  210. package/dist/selectors/EntrySelector.d.ts.map +0 -1
  211. package/dist/selectors/EntrySelector.js +0 -30
  212. package/dist/selectors/EntrySelector.js.map +0 -1
  213. package/dist/selectors/ModelSelector.d.ts +0 -9
  214. package/dist/selectors/ModelSelector.d.ts.map +0 -1
  215. package/dist/selectors/ModelSelector.js +0 -31
  216. package/dist/selectors/ModelSelector.js.map +0 -1
  217. package/dist/types/entities.d.ts.map +0 -1
  218. package/dist/types/entities.js.map +0 -1
  219. package/dist/types/fields.d.ts.map +0 -1
  220. package/dist/types/fields.js.map +0 -1
  221. package/dist/types/index.d.ts.map +0 -1
  222. package/dist/types/index.js.map +0 -1
  223. package/dist/types/visual.d.ts.map +0 -1
  224. package/dist/types/visual.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EAEtB,eAAe,EACf,wBAAwB,EACzB,MAAM,SAAS,CAAA;AAKhB,wBAAgB,UAAU,CACxB,CAAC,SAAS,wBAAwB,GAAG,sBAAsB,EAC3D,MAAM,GAAE,eAAoB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAkDzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,qCAAyC;AACzC,8EAAqD;AACrD,8EAAqD;AAErD,SAAgB,UAAU,CAExB,SAA0B,EAAE;;IAC5B,IAAI,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,+BAA+B,CAAA;IAC/D,IAAI,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAA;IACtC,IAAI,KAAK,GAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,KAAK,CAAA;IAEjC,MAAM,MAAM,GAAoB;QAC9B,SAAS,CAAC,MAAuB;;YAC/B,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,OAAO,CAAA;YACnC,SAAS,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,SAAS,CAAA;YACzC,KAAK,GAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,KAAK,CAAA;QAC/B,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc;YAC5B,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;QACpD,CAAC;QACD,UAAU;YACR,OAAO,GAAG,OAAO,eAAe,SAAS,EAAE,CAAA;QAC7C,CAAC;QACK,GAAG,CACP,IAAY,EACZ,OAAqB;;gBAErB,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;gBAEnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;gBAEpE,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;oBACnD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;iBAC7B;qBAAM;oBACL,MAAM,OAAO,GAAG,mBAAmB,IAAI,aAAa,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAA;oBAE7F,MAAM,IAAI,uBAAc,CAAC,OAAO,CAAC,CAAA;iBAClC;YACH,CAAC;SAAA;QACD,gBAAgB,CAAC,IAAY;YAC3B,OAAO,IAAI,uBAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;QACD,MAAM;YACJ,OAAO,IAAI,uBAAa,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;KACF,CAAA;IAED,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC1D,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;aACrC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;KACF,CAA8B,CAAA;AACjC,CAAC;AApDD,gCAoDC","sourcesContent":["import {\n DefaultModelDefinition,\n ProxiedStarlightClient,\n StarlightClient,\n StarlightConfig,\n WorkspaceModelDefinition,\n} from './types'\nimport { StarlightError } from './errors'\nimport EntrySelector from './selectors/EntrySelector'\nimport ModelSelector from './selectors/ModelSelector'\n\nexport function makeClient<\n D extends WorkspaceModelDefinition = DefaultModelDefinition\n>(config: StarlightConfig = {}): ProxiedStarlightClient<D> {\n let baseUrl = config.baseUrl ?? 'https://query.starlight.sh/v2'\n let workspace = config.workspace ?? ''\n let debug = config.debug ?? false\n\n const client: StarlightClient = {\n configure(config: StarlightConfig) {\n baseUrl = config.baseUrl ?? baseUrl\n workspace = config.workspace ?? workspace\n debug = config.debug ?? debug\n },\n log(message, ...optionalParams) {\n if (debug) console.log(message, ...optionalParams)\n },\n getBaseUrl(): string {\n return `${baseUrl}/workspaces/${workspace}`\n },\n async get<T = Record<string, unknown>>(\n path: string,\n options?: RequestInit\n ): Promise<T> {\n this.log(`Starlight - GET ${path}`)\n\n const response = await fetch(`${this.getBaseUrl()}${path}`, options)\n\n if (response.status >= 200 && response.status < 300) {\n return await response.json()\n } else {\n const message = `Starlight - GET ${path} returned ${response.status}: ${response.statusText}`\n\n throw new StarlightError(message)\n }\n },\n getEntrySelector(slug: string): EntrySelector {\n return new EntrySelector(slug, this)\n },\n models(): ModelSelector {\n return new ModelSelector(this)\n },\n }\n\n return new Proxy(client, {\n get(target, prop) {\n if (typeof prop === 'string' && !Reflect.has(target, prop)) {\n return target.getEntrySelector(prop)\n }\n\n return Reflect.get(target, prop)\n },\n }) as ProxiedStarlightClient<D>\n}\n"]}
package/dist/errors.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export declare class StarlightError extends Error {
2
- }
3
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,KAAK;CAAG;AAA5C,wCAA4C","sourcesContent":["export class StarlightError extends Error {}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAE9B,QAAA,MAAM,SAAS,oFAAe,CAAA;AAE9B,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,CAAA;AAE5C,eAAe,SAAS,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAAqC;AAQd,oGARd,mBAAU,OAQuB;AAN1C,mCAAyC;AAAhC,wGAAA,cAAc,OAAA;AACvB,iDAA8B;AAC9B,iDAA8B;AAE9B,MAAM,SAAS,GAAG,IAAA,mBAAU,GAAE,CAAA;AAI9B,kBAAe,SAAS,CAAA","sourcesContent":["import { makeClient } from './client'\nexport { DefaultModelDefinition } from './types'\nexport { StarlightError } from './errors'\nexport * from './types/fields'\nexport * from './types/visual'\n\nconst Starlight = makeClient()\n\nexport { makeClient as makeStarlightClient }\n\nexport default Starlight\n"]}
@@ -1,9 +0,0 @@
1
- import { Entry, SerializedData, StarlightClient, StarlightListResponse } from '../types';
2
- export default class EntrySelector<D extends SerializedData = undefined> {
3
- protected model: string;
4
- protected client: StarlightClient;
5
- constructor(model: string, client: StarlightClient);
6
- list(): Promise<StarlightListResponse<Entry<D>>>;
7
- get(slug: string): Promise<Entry<D>>;
8
- }
9
- //# sourceMappingURL=EntrySelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntrySelector.d.ts","sourceRoot":"","sources":["../../src/selectors/EntrySelector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,cAAc,EACd,eAAe,EAEf,qBAAqB,EACtB,MAAM,UAAU,CAAA;AAEjB,MAAM,CAAC,OAAO,OAAO,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,SAAS;IACrE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;gBAErB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe;IAKrC,IAAI,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAIhD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAOlD"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- class EntrySelector {
13
- constructor(model, client) {
14
- this.model = model;
15
- this.client = client;
16
- }
17
- list() {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- return this.client.get(`/models/${this.model}/entries`);
20
- });
21
- }
22
- get(slug) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const response = yield this.client.get(`/models/${this.model}/entries/${slug}`);
25
- return response.data;
26
- });
27
- }
28
- }
29
- exports.default = EntrySelector;
30
- //# sourceMappingURL=EntrySelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntrySelector.js","sourceRoot":"","sources":["../../src/selectors/EntrySelector.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAqB,aAAa;IAIhC,YAAY,KAAa,EAAE,MAAuB;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEY,IAAI;;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,UAAU,CAAC,CAAA;QACzD,CAAC;KAAA;IAEY,GAAG,CAAC,IAAY;;YAC3B,MAAM,QAAQ,GAAoC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACrE,WAAW,IAAI,CAAC,KAAK,YAAY,IAAI,EAAE,CACxC,CAAA;YAED,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;KAAA;CACF;AApBD,gCAoBC","sourcesContent":["import {\n Entry,\n SerializedData,\n StarlightClient,\n StarlightItemResponse,\n StarlightListResponse,\n} from '../types'\n\nexport default class EntrySelector<D extends SerializedData = undefined> {\n protected model: string\n protected client: StarlightClient\n\n constructor(model: string, client: StarlightClient) {\n this.model = model\n this.client = client\n }\n\n public async list(): Promise<StarlightListResponse<Entry<D>>> {\n return this.client.get(`/models/${this.model}/entries`)\n }\n\n public async get(slug: string): Promise<Entry<D>> {\n const response: StarlightItemResponse<Entry<D>> = await this.client.get(\n `/models/${this.model}/entries/${slug}`\n )\n\n return response.data\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- import { Model, StarlightClient, StarlightItemResponse, StarlightListResponse } from '../types';
2
- export default class ModelSelector {
3
- protected client: StarlightClient;
4
- constructor(client: StarlightClient);
5
- getClient(): StarlightClient;
6
- list(): Promise<StarlightListResponse<Model>>;
7
- get(slug: string): Promise<StarlightItemResponse<Model>>;
8
- }
9
- //# sourceMappingURL=ModelSelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../src/selectors/ModelSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,UAAU,CAAA;AAEjB,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;gBAErB,MAAM,EAAE,eAAe;IAI5B,SAAS,IAAI,eAAe;IAItB,IAAI,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAI7C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;CAGtE"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- class ModelSelector {
13
- constructor(client) {
14
- this.client = client;
15
- }
16
- getClient() {
17
- return this.client;
18
- }
19
- list() {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- return this.client.get('/models');
22
- });
23
- }
24
- get(slug) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- return this.client.get(`/models/${slug}`);
27
- });
28
- }
29
- }
30
- exports.default = ModelSelector;
31
- //# sourceMappingURL=ModelSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../src/selectors/ModelSelector.ts"],"names":[],"mappings":";;;;;;;;;;;AAOA,MAAqB,aAAa;IAGhC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEY,IAAI;;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;KAAA;IAEY,GAAG,CAAC,IAAY;;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;KAAA;CACF;AAlBD,gCAkBC","sourcesContent":["import {\n Model,\n StarlightClient,\n StarlightItemResponse,\n StarlightListResponse,\n} from '../types'\n\nexport default class ModelSelector {\n protected client: StarlightClient\n\n constructor(client: StarlightClient) {\n this.client = client\n }\n\n public getClient(): StarlightClient {\n return this.client\n }\n\n public async list(): Promise<StarlightListResponse<Model>> {\n return this.client.get('/models')\n }\n\n public async get(slug: string): Promise<StarlightItemResponse<Model>> {\n return this.client.get(`/models/${slug}`)\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAAA,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,KAAM,SAAQ,eAAe;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,oBAAY,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;AAEhE,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,cAAc,CAC7C,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,cAAc,CACjD,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,CAAC,CAAA;IACP,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1E,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAA;IAC7D,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,UAAU,CAAA;CAC3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"","sourcesContent":["interface StarlightEntity {\n id: number\n created_at: string\n updated_at?: string\n}\n\nexport interface ModelCategory extends StarlightEntity {\n title: string\n slug: string\n}\n\nexport interface MediaFile extends StarlightEntity {\n variation: string\n path: string\n mime: string\n background_color?: string\n filesize: number\n meta?: Record<string, unknown>\n}\n\nexport interface MediaObject extends StarlightEntity {\n name: string\n extension: string\n mime: string\n files: MediaFile[]\n}\n\nexport interface Author {\n id: number\n name: string\n}\n\nexport interface Model extends StarlightEntity {\n title: string\n slug: string\n entry_count?: number\n}\n\nexport type SerializedData = Record<string, unknown> | undefined\n\nexport interface Entry<D extends SerializedData>\n extends Omit<StarlightEntity, 'created_at'> {\n title: string\n slug: string\n data: D\n author: Author\n model?: Model\n category: ModelCategory | null\n published_at: string | null\n}\n\nexport interface Singleton<D extends SerializedData>\n extends Omit<StarlightEntity, 'created_at'> {\n title: string\n slug: string\n data: D\n published_at: string | null\n}\n\nexport interface Collection extends StarlightEntity {\n title: string\n slug: string\n type: 'entry' | 'singleton' | 'media' | string\n item_count?: number\n}\n\nexport interface Relation<D extends SerializedData = Record<string, unknown>> {\n type: 'entry' | 'media' | 'singleton' | 'collection' | string\n id: number\n object: Entry<D> | Singleton<D> | MediaObject | Collection\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/types/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,oBAAY,YAAY,GAAG,OAAO,CAAA;AAElC,oBAAY,SAAS,GAAG,MAAM,CAAA;AAE9B,oBAAY,UAAU,GAAG,WAAW,CAAA;AAEpC,oBAAY,aAAa,GAAG,QAAQ,CAAA;AAEpC,oBAAY,WAAW,GAAG,MAAM,CAAA;AAEhC,oBAAY,SAAS,GAAG,MAAM,CAAA;AAE9B,oBAAY,WAAW,GAAG,UAAU,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/types/fields.ts"],"names":[],"mappings":"","sourcesContent":["import { MediaObject, Relation } from './entities'\nimport { VisualData } from './visual'\n\nexport type BooleanField = boolean\n\nexport type HtmlField = string\n\nexport type MediaField = MediaObject\n\nexport type RelationField = Relation\n\nexport type StringField = string\n\nexport type TextField = string\n\nexport type VisualField = VisualData\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AAExB,aAAK,OAAO,GAAG,+BAA+B,GAAG,MAAM,CAAA;AAEvD,oBAAY,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IAExC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAE1D,UAAU,IAAI,MAAM,CAAA;IAEpB,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC,CAAA;IAEb,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;IAE7C,MAAM,IAAI,aAAa,CAAA;CACxB;AAED,oBAAY,sBAAsB,CAAC,CAAC,SAAS,wBAAwB,IACnE,eAAe,GAAG;KACf,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,CAAA;AAEH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,IAAI,EAAE;QACJ,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,MAAM,CAAA;QACjB,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAGD,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;CAAG;AAE3E,MAAM,WAAW,wBAAwB;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;CAC/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,2CAAwB;AACxB,6CAA0B;AAC1B,2CAAwB","sourcesContent":["import EntrySelector from '../selectors/EntrySelector'\nimport ModelSelector from '../selectors/ModelSelector'\nimport { SerializedData } from './entities'\n\nexport * from './fields'\nexport * from './entities'\nexport * from './visual'\n\ntype BaseUrl = 'https://query.starlight.sh/v2' | string\n\nexport type StarlightConfig = {\n workspace?: string\n baseUrl?: BaseUrl\n debug?: boolean\n}\n\nexport interface StarlightClient {\n configure(config: StarlightConfig): void\n\n log(message?: unknown, ...optionalParams: unknown[]): void\n\n getBaseUrl(): string\n\n get<T = Record<string, unknown>>(\n path: string,\n options?: RequestInit\n ): Promise<T>\n\n getEntrySelector(slug: string): EntrySelector\n\n models(): ModelSelector\n}\n\nexport type ProxiedStarlightClient<T extends WorkspaceModelDefinition> =\n StarlightClient & {\n [K in keyof T]: EntrySelector<T[K]>\n }\n\nexport interface StarlightItemResponse<T> {\n data: T\n}\n\nexport interface StarlightListResponse<T> {\n data: T[]\n links: {\n first: string\n last: string\n prev?: string\n next?: string\n }\n meta: {\n current_page: number\n last_page: number\n from: number\n to: number\n per_page: number\n total: number\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface DefaultModelDefinition extends WorkspaceModelDefinition {}\n\nexport interface WorkspaceModelDefinition {\n [slug: string]: SerializedData\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"visual.d.ts","sourceRoot":"","sources":["../../src/types/visual.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAElE,UAAU,SAAS;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;CAC7B;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC9D,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"visual.js","sourceRoot":"","sources":["../../src/types/visual.ts"],"names":[],"mappings":"","sourcesContent":["export type BlockType = 'paragraph' | 'quote' | 'header' | 'image'\n\ninterface BlockData {\n [key: string]: unknown\n}\n\nexport interface ParagraphBlock extends BlockData {\n text: string\n}\n\nexport interface HeaderBlock extends BlockData {\n text: string\n level: number\n}\n\nexport interface QuoteBlock extends BlockData {\n text: string\n caption: string\n alignment: 'left' | 'center'\n}\n\nexport interface ImageBlock extends BlockData {\n url: string\n}\n\nexport interface VisualDataBlock<D extends BlockData = BlockData> {\n type: BlockType\n data: D\n}\n\nexport interface VisualData {\n time?: number\n version?: string\n blocks: VisualDataBlock[]\n}\n"]}