roamjs-components 0.85.1 → 0.86.0-alpha.2

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 (810) hide show
  1. package/.eslintrc.json +19 -0
  2. package/.github/workflows/main.yaml +34 -0
  3. package/LICENSE +21 -21
  4. package/README.md +29 -29
  5. package/docs/components.md +32 -0
  6. package/docs/date.md +13 -0
  7. package/docs/dom.md +58 -0
  8. package/docs/events.md +16 -0
  9. package/docs/hooks.md +15 -0
  10. package/docs/marked.md +56 -0
  11. package/docs/queries.md +24 -0
  12. package/docs/scripts.md +20 -0
  13. package/docs/types.md +32 -0
  14. package/docs/util.md +38 -0
  15. package/docs/writes.md +23 -0
  16. package/package.json +125 -117
  17. package/patches/@blueprintjs+core+3.50.4.patch +48 -0
  18. package/patches/@blueprintjs+select+3.18.6.patch +12 -0
  19. package/patches/dotenv+16.3.1.patch +12 -0
  20. package/src/components/AutocompleteInput.tsx +248 -0
  21. package/src/components/BlockErrorBoundary.tsx +39 -0
  22. package/src/components/BlockInput.tsx +117 -0
  23. package/src/components/ComponentContainer.tsx +70 -0
  24. package/src/components/ConfigPage.tsx +320 -0
  25. package/src/components/ConfigPanels/BlockPanel.tsx +60 -0
  26. package/src/components/ConfigPanels/BlocksPanel.tsx +100 -0
  27. package/src/components/ConfigPanels/CustomPanel.tsx +41 -0
  28. package/src/components/ConfigPanels/FlagPanel.tsx +48 -0
  29. package/src/components/ConfigPanels/MultiChildPanel.tsx +99 -0
  30. package/src/components/ConfigPanels/MultiTextPanel.tsx +23 -0
  31. package/src/components/ConfigPanels/NumberPanel.tsx +36 -0
  32. package/src/components/ConfigPanels/OauthPanel.tsx +127 -0
  33. package/src/components/ConfigPanels/PagesPanel.tsx +19 -0
  34. package/src/components/ConfigPanels/SelectPanel.tsx +46 -0
  35. package/src/components/ConfigPanels/TextPanel.tsx +44 -0
  36. package/src/components/ConfigPanels/TimePanel.tsx +45 -0
  37. package/src/components/ConfigPanels/getBrandColors.tsx +31 -0
  38. package/src/components/ConfigPanels/types.ts +111 -0
  39. package/src/components/ConfigPanels/useSingleChildValue.tsx +63 -0
  40. package/src/components/CursorMenu.tsx +286 -0
  41. package/src/components/Description.tsx +31 -0
  42. package/src/components/ExtensionApiContext.tsx +24 -0
  43. package/src/components/ExternalLogin.tsx +190 -0
  44. package/src/components/Filter.tsx +313 -0
  45. package/src/components/FormDialog.tsx +503 -0
  46. package/src/components/Loading.tsx +33 -0
  47. package/src/components/MenuItemSelect.tsx +93 -0
  48. package/src/components/OauthPanel.tsx +62 -0
  49. package/src/components/OauthSelect.tsx +40 -0
  50. package/src/components/PageInput.tsx +17 -0
  51. package/src/components/PageLink.tsx +50 -0
  52. package/src/components/ProgressDialog.tsx +85 -0
  53. package/src/components/SimpleAlert.tsx +103 -0
  54. package/src/components/Toast.tsx +85 -0
  55. package/src/components/index.ts +5 -0
  56. package/src/components.tsx +285 -0
  57. package/src/date/constants.ts +19 -0
  58. package/{date/index.d.ts → src/date/index.ts} +3 -3
  59. package/src/date/parseNlpDate.ts +255 -0
  60. package/src/date/parseRoamDateUid.ts +6 -0
  61. package/src/dom/addBlockCommand.ts +59 -0
  62. package/src/dom/addKeyboardTriggers.ts +52 -0
  63. package/src/dom/addOldRoamJSDependency.ts +10 -0
  64. package/src/dom/addRoamJSDependency.ts +7 -0
  65. package/src/dom/addScriptAsDependency.ts +24 -0
  66. package/src/dom/addStyle.ts +11 -0
  67. package/src/dom/constants.ts +1 -0
  68. package/src/dom/createBlockObserver.ts +44 -0
  69. package/src/dom/createButtonObserver.ts +31 -0
  70. package/src/dom/createDivObserver.ts +15 -0
  71. package/src/dom/createHTMLObserver.ts +44 -0
  72. package/src/dom/createHashtagObserver.ts +22 -0
  73. package/src/dom/createIconButton.ts +13 -0
  74. package/src/dom/createObserver.ts +15 -0
  75. package/src/dom/createOverlayObserver.ts +7 -0
  76. package/src/dom/createPageObserver.ts +37 -0
  77. package/src/dom/createPageTitleObserver.ts +43 -0
  78. package/src/dom/elToTitle.ts +21 -0
  79. package/src/dom/genericError.ts +13 -0
  80. package/src/dom/getActiveUids.ts +6 -0
  81. package/src/dom/getBlockUidFromTarget.ts +39 -0
  82. package/src/dom/getCurrentPageUid.ts +5 -0
  83. package/src/dom/getDomRefs.ts +15 -0
  84. package/src/dom/getDropUidOffset.ts +36 -0
  85. package/src/dom/getMutatedNodes.ts +31 -0
  86. package/src/dom/getPageTitleByHtmlElement.ts +19 -0
  87. package/src/dom/getPageTitleValueByHtmlElement.ts +8 -0
  88. package/src/dom/getReferenceBlockUid.ts +22 -0
  89. package/src/dom/getRoamUrl.ts +6 -0
  90. package/src/dom/getRoamUrlByPage.ts +9 -0
  91. package/src/dom/getUids.ts +9 -0
  92. package/src/dom/getUidsFromButton.ts +9 -0
  93. package/src/dom/getUidsFromId.ts +13 -0
  94. package/{dom/index.d.ts → src/dom/index.ts} +30 -30
  95. package/src/dom/parseRoamBlocksToHtml.ts +118 -0
  96. package/src/dom/resolveRefs.ts +31 -0
  97. package/{events/index.d.ts → src/events/index.ts} +1 -1
  98. package/src/events/watchOnce.ts +17 -0
  99. package/{hooks/index.d.ts → src/hooks/index.ts} +2 -2
  100. package/src/hooks/useArrowKeyDown.ts +72 -0
  101. package/src/hooks/useSubTree.ts +16 -0
  102. package/src/marked/index.ts +619 -0
  103. package/src/queries/compileDatalog.ts +81 -0
  104. package/src/queries/getAllBlockUids.ts +6 -0
  105. package/src/queries/getAllBlockUidsAndTexts.ts +6 -0
  106. package/src/queries/getAllPageNames.ts +6 -0
  107. package/src/queries/getAttributeValueByBlockAndName.ts +23 -0
  108. package/src/queries/getBasicTreeByParentUid.ts +21 -0
  109. package/src/queries/getBlockUidAndTextIncludingText.ts +15 -0
  110. package/src/queries/getBlockUidByTextOnPage.ts +12 -0
  111. package/src/queries/getBlockUidsAndTextsReferencingPage.ts +18 -0
  112. package/src/queries/getBlockUidsByPageTitle.ts +12 -0
  113. package/src/queries/getBlockUidsReferencingBlock.ts +10 -0
  114. package/src/queries/getBlockUidsReferencingPage.ts +13 -0
  115. package/src/queries/getBlockUidsWithParentUid.ts +10 -0
  116. package/src/queries/getChildrenLengthByPageUid.ts +7 -0
  117. package/src/queries/getChildrenLengthByParentUid.ts +6 -0
  118. package/src/queries/getCreateTimeByBlockUid.ts +6 -0
  119. package/src/queries/getCurrentUser.ts +12 -0
  120. package/src/queries/getCurrentUserDisplayName.ts +9 -0
  121. package/src/queries/getCurrentUserEmail.ts +12 -0
  122. package/src/queries/getCurrentUserUid.ts +12 -0
  123. package/src/queries/getDisplayNameByEmail.ts +6 -0
  124. package/src/queries/getDisplayNameByUid.ts +6 -0
  125. package/src/queries/getEditTimeByBlockUid.ts +6 -0
  126. package/src/queries/getEditedUserEmailByBlockUid.ts +6 -0
  127. package/src/queries/getFirstChildTextByBlockUid.ts +8 -0
  128. package/src/queries/getFirstChildUidByBlockUid.ts +6 -0
  129. package/src/queries/getFullTreeByParentUid.ts +60 -0
  130. package/src/queries/getLinkedPageTitlesUnderUid.ts +8 -0
  131. package/src/queries/getNthChildUidByBlockUid.ts +16 -0
  132. package/src/queries/getOrderByBlockUid.ts +6 -0
  133. package/src/queries/getPageTitleByBlockUid.ts +8 -0
  134. package/src/queries/getPageTitleByPageUid.ts +11 -0
  135. package/src/queries/getPageTitleReferencesByPageTitle.ts +13 -0
  136. package/src/queries/getPageTitlesAndBlockUidsReferencingPage.ts +18 -0
  137. package/src/queries/getPageTitlesAndUidsDirectlyReferencingPage.ts +18 -0
  138. package/src/queries/getPageTitlesReferencingBlockUid.ts +10 -0
  139. package/src/queries/getPageTitlesStartingWithPrefix.ts +8 -0
  140. package/src/queries/getPageUidByBlockUid.ts +8 -0
  141. package/src/queries/getPageUidByPageTitle.ts +10 -0
  142. package/src/queries/getPageViewType.ts +11 -0
  143. package/src/queries/getParentTextByBlockUid.ts +6 -0
  144. package/src/queries/getParentTextByBlockUidAndTag.ts +12 -0
  145. package/src/queries/getParentUidByBlockUid.ts +10 -0
  146. package/src/queries/getParentUidsOfBlockUid.ts +10 -0
  147. package/src/queries/getSettingsByEmail.ts +8 -0
  148. package/src/queries/getShallowTreeByParentUid.ts +17 -0
  149. package/src/queries/getTextByBlockUid.ts +8 -0
  150. package/src/queries/index.ts +5 -0
  151. package/src/queries/isLiveBlock.ts +4 -0
  152. package/src/queries/isTagOnPage.ts +12 -0
  153. package/src/queries/normalizePageTitle.ts +4 -0
  154. package/src/scripts/index.ts +2 -0
  155. package/src/scripts/publishToRoamDepot.ts +163 -0
  156. package/src/testing/mockRoamEnvironment.ts +1489 -0
  157. package/src/types/index.ts +260 -0
  158. package/src/types/native.ts +495 -0
  159. package/src/types/query-builder.ts +10 -0
  160. package/src/types/smartblocks.ts +39 -0
  161. package/src/util/addInputSetting.ts +33 -0
  162. package/src/util/apiDelete.ts +5 -0
  163. package/src/util/apiGet.ts +5 -0
  164. package/src/util/apiPost.ts +5 -0
  165. package/src/util/apiPut.ts +5 -0
  166. package/src/util/createOverlayRender.ts +12 -0
  167. package/src/util/createTagRegex.ts +7 -0
  168. package/src/util/dispatchToRegistry.ts +11 -0
  169. package/src/util/env.ts +44 -0
  170. package/src/util/extensionApiContext.ts +17 -0
  171. package/src/util/extensionDeprecatedWarning.ts +57 -0
  172. package/src/util/extractRef.ts +8 -0
  173. package/src/util/extractTag.ts +15 -0
  174. package/src/util/focusMainWindowBlock.ts +13 -0
  175. package/src/util/getAuthorizationHeader.ts +11 -0
  176. package/src/util/getLocalStorageKey.ts +4 -0
  177. package/src/util/getOauth.ts +57 -0
  178. package/src/util/getOauthAccounts.ts +26 -0
  179. package/src/util/getRenderRoot.ts +17 -0
  180. package/src/util/getSettingIntFromTree.ts +18 -0
  181. package/src/util/getSettingValueFromTree.ts +23 -0
  182. package/src/util/getSettingValuesFromTree.ts +20 -0
  183. package/src/util/getSubTree.ts +31 -0
  184. package/src/util/getToken.ts +12 -0
  185. package/src/util/getTokenFromTree.ts +6 -0
  186. package/src/util/getWorkerClient.ts +55 -0
  187. package/src/util/handleBodyFetch.ts +38 -0
  188. package/src/util/handleFetch.ts +70 -0
  189. package/src/util/handleUrlFetch.ts +30 -0
  190. package/src/util/idToTitle.ts +8 -0
  191. package/{util/index.d.ts → src/util/index.ts} +24 -24
  192. package/src/util/isControl.ts +4 -0
  193. package/src/util/localStorageGet.ts +6 -0
  194. package/src/util/localStorageRemove.ts +6 -0
  195. package/src/util/localStorageSet.ts +6 -0
  196. package/src/util/registerExperimentalMode.ts +76 -0
  197. package/src/util/registerSmartBlocksCommand.ts +23 -0
  198. package/src/util/removeFromRegistry.ts +11 -0
  199. package/src/util/renderOverlay.ts +69 -0
  200. package/src/util/renderWithUnmount.ts +50 -0
  201. package/src/util/runExtension.ts +206 -0
  202. package/src/util/setInputSetting.ts +46 -0
  203. package/src/util/setInputSettings.ts +37 -0
  204. package/src/util/stripUid.ts +10 -0
  205. package/src/util/toConfigPageName.ts +3 -0
  206. package/src/util/toFlexRegex.ts +7 -0
  207. package/src/writes/clearBlockById.ts +17 -0
  208. package/src/writes/clearBlockByUid.ts +16 -0
  209. package/src/writes/createBlock.ts +50 -0
  210. package/src/writes/createPage.ts +30 -0
  211. package/src/writes/deleteBlock.ts +9 -0
  212. package/{writes/index.d.ts → src/writes/index.ts} +8 -8
  213. package/src/writes/openBlockInSidebar.ts +13 -0
  214. package/src/writes/submitActions.ts +54 -0
  215. package/src/writes/updateActiveBlock.ts +17 -0
  216. package/src/writes/updateBlock.ts +33 -0
  217. package/tests/backend.test.tsx +28 -0
  218. package/tests/date.test.ts +26 -0
  219. package/tests/dom.test.tsx +10 -0
  220. package/tests/index.test.tsx +25 -0
  221. package/tests/marked.test.ts +474 -0
  222. package/tests/util/createTagRegex.test.ts +63 -0
  223. package/tests/util/extractTag.test.ts +17 -0
  224. package/tests/util/toFlexRegex.test.ts +7 -0
  225. package/tsconfig.json +26 -0
  226. package/components/AutocompleteInput.d.ts +0 -28
  227. package/components/AutocompleteInput.js +0 -121
  228. package/components/AutocompleteInput.js.map +0 -1
  229. package/components/BlockErrorBoundary.d.ts +0 -15
  230. package/components/BlockErrorBoundary.js +0 -28
  231. package/components/BlockErrorBoundary.js.map +0 -1
  232. package/components/BlockInput.d.ts +0 -13
  233. package/components/BlockInput.js +0 -56
  234. package/components/BlockInput.js.map +0 -1
  235. package/components/ComponentContainer.d.ts +0 -10
  236. package/components/ComponentContainer.js +0 -38
  237. package/components/ComponentContainer.js.map +0 -1
  238. package/components/ConfigPage.d.ts +0 -35
  239. package/components/ConfigPage.js +0 -160
  240. package/components/ConfigPage.js.map +0 -1
  241. package/components/ConfigPanels/BlockPanel.d.ts +0 -3
  242. package/components/ConfigPanels/BlockPanel.js +0 -43
  243. package/components/ConfigPanels/BlockPanel.js.map +0 -1
  244. package/components/ConfigPanels/BlocksPanel.d.ts +0 -3
  245. package/components/ConfigPanels/BlocksPanel.js +0 -69
  246. package/components/ConfigPanels/BlocksPanel.js.map +0 -1
  247. package/components/ConfigPanels/CustomPanel.d.ts +0 -3
  248. package/components/ConfigPanels/CustomPanel.js +0 -25
  249. package/components/ConfigPanels/CustomPanel.js.map +0 -1
  250. package/components/ConfigPanels/FlagPanel.d.ts +0 -3
  251. package/components/ConfigPanels/FlagPanel.js +0 -32
  252. package/components/ConfigPanels/FlagPanel.js.map +0 -1
  253. package/components/ConfigPanels/MultiChildPanel.d.ts +0 -9
  254. package/components/ConfigPanels/MultiChildPanel.js +0 -59
  255. package/components/ConfigPanels/MultiChildPanel.js.map +0 -1
  256. package/components/ConfigPanels/MultiTextPanel.d.ts +0 -3
  257. package/components/ConfigPanels/MultiTextPanel.js +0 -15
  258. package/components/ConfigPanels/MultiTextPanel.js.map +0 -1
  259. package/components/ConfigPanels/NumberPanel.d.ts +0 -3
  260. package/components/ConfigPanels/NumberPanel.js +0 -26
  261. package/components/ConfigPanels/NumberPanel.js.map +0 -1
  262. package/components/ConfigPanels/OauthPanel.d.ts +0 -3
  263. package/components/ConfigPanels/OauthPanel.js +0 -82
  264. package/components/ConfigPanels/OauthPanel.js.map +0 -1
  265. package/components/ConfigPanels/PagesPanel.d.ts +0 -3
  266. package/components/ConfigPanels/PagesPanel.js +0 -12
  267. package/components/ConfigPanels/PagesPanel.js.map +0 -1
  268. package/components/ConfigPanels/SelectPanel.d.ts +0 -3
  269. package/components/ConfigPanels/SelectPanel.js +0 -28
  270. package/components/ConfigPanels/SelectPanel.js.map +0 -1
  271. package/components/ConfigPanels/TextPanel.d.ts +0 -3
  272. package/components/ConfigPanels/TextPanel.js +0 -29
  273. package/components/ConfigPanels/TextPanel.js.map +0 -1
  274. package/components/ConfigPanels/TimePanel.d.ts +0 -3
  275. package/components/ConfigPanels/TimePanel.js +0 -35
  276. package/components/ConfigPanels/TimePanel.js.map +0 -1
  277. package/components/ConfigPanels/getBrandColors.d.ts +0 -7
  278. package/components/ConfigPanels/getBrandColors.js +0 -29
  279. package/components/ConfigPanels/getBrandColors.js.map +0 -1
  280. package/components/ConfigPanels/types.d.ts +0 -84
  281. package/components/ConfigPanels/types.js +0 -3
  282. package/components/ConfigPanels/types.js.map +0 -1
  283. package/components/ConfigPanels/useSingleChildValue.d.ts +0 -13
  284. package/components/ConfigPanels/useSingleChildValue.js +0 -44
  285. package/components/ConfigPanels/useSingleChildValue.js.map +0 -1
  286. package/components/CursorMenu.d.ts +0 -21
  287. package/components/CursorMenu.js +0 -182
  288. package/components/CursorMenu.js.map +0 -1
  289. package/components/Description.d.ts +0 -5
  290. package/components/Description.js +0 -17
  291. package/components/Description.js.map +0 -1
  292. package/components/ExtensionApiContext.d.ts +0 -31
  293. package/components/ExtensionApiContext.js +0 -17
  294. package/components/ExtensionApiContext.js.map +0 -1
  295. package/components/ExternalLogin.d.ts +0 -18
  296. package/components/ExternalLogin.js +0 -142
  297. package/components/ExternalLogin.js.map +0 -1
  298. package/components/Filter.d.ts +0 -15
  299. package/components/Filter.js +0 -143
  300. package/components/Filter.js.map +0 -1
  301. package/components/FormDialog.d.ts +0 -55
  302. package/components/FormDialog.js +0 -224
  303. package/components/FormDialog.js.map +0 -1
  304. package/components/Loading.d.ts +0 -4
  305. package/components/Loading.js +0 -36
  306. package/components/Loading.js.map +0 -1
  307. package/components/MenuItemSelect.d.ts +0 -17
  308. package/components/MenuItemSelect.js +0 -24
  309. package/components/MenuItemSelect.js.map +0 -1
  310. package/components/OauthPanel.d.ts +0 -7
  311. package/components/OauthPanel.js +0 -31
  312. package/components/OauthPanel.js.map +0 -1
  313. package/components/OauthSelect.d.ts +0 -5
  314. package/components/OauthSelect.js +0 -26
  315. package/components/OauthSelect.js.map +0 -1
  316. package/components/PageInput.d.ts +0 -6
  317. package/components/PageInput.js +0 -14
  318. package/components/PageInput.js.map +0 -1
  319. package/components/PageLink.d.ts +0 -6
  320. package/components/PageLink.js +0 -32
  321. package/components/PageLink.js.map +0 -1
  322. package/components/ProgressDialog.d.ts +0 -11
  323. package/components/ProgressDialog.js +0 -61
  324. package/components/ProgressDialog.js.map +0 -1
  325. package/components/SimpleAlert.d.ts +0 -15
  326. package/components/SimpleAlert.js +0 -48
  327. package/components/SimpleAlert.js.map +0 -1
  328. package/components/Toast.d.ts +0 -15
  329. package/components/Toast.js +0 -51
  330. package/components/Toast.js.map +0 -1
  331. package/components/index.d.ts +0 -0
  332. package/components/index.js +0 -5
  333. package/components/index.js.map +0 -1
  334. package/components.d.ts +0 -5
  335. package/components.js +0 -171
  336. package/components.js.map +0 -1
  337. package/date/constants.d.ts +0 -3
  338. package/date/constants.js +0 -20
  339. package/date/constants.js.map +0 -1
  340. package/date/index.js +0 -10
  341. package/date/index.js.map +0 -1
  342. package/date/parseNlpDate.d.ts +0 -5
  343. package/date/parseNlpDate.js +0 -227
  344. package/date/parseNlpDate.js.map +0 -1
  345. package/date/parseRoamDateUid.d.ts +0 -2
  346. package/date/parseRoamDateUid.js +0 -8
  347. package/date/parseRoamDateUid.js.map +0 -1
  348. package/dom/addBlockCommand.d.ts +0 -5
  349. package/dom/addBlockCommand.js +0 -54
  350. package/dom/addBlockCommand.js.map +0 -1
  351. package/dom/addKeyboardTriggers.d.ts +0 -11
  352. package/dom/addKeyboardTriggers.js +0 -39
  353. package/dom/addKeyboardTriggers.js.map +0 -1
  354. package/dom/addOldRoamJSDependency.d.ts +0 -2
  355. package/dom/addOldRoamJSDependency.js +0 -11
  356. package/dom/addOldRoamJSDependency.js.map +0 -1
  357. package/dom/addRoamJSDependency.d.ts +0 -2
  358. package/dom/addRoamJSDependency.js +0 -9
  359. package/dom/addRoamJSDependency.js.map +0 -1
  360. package/dom/addScriptAsDependency.d.ts +0 -6
  361. package/dom/addScriptAsDependency.js +0 -17
  362. package/dom/addScriptAsDependency.js.map +0 -1
  363. package/dom/addStyle.d.ts +0 -2
  364. package/dom/addStyle.js +0 -15
  365. package/dom/addStyle.js.map +0 -1
  366. package/dom/constants.d.ts +0 -1
  367. package/dom/constants.js +0 -5
  368. package/dom/constants.js.map +0 -1
  369. package/dom/createBlockObserver.d.ts +0 -7
  370. package/dom/createBlockObserver.js +0 -44
  371. package/dom/createBlockObserver.js.map +0 -1
  372. package/dom/createButtonObserver.d.ts +0 -6
  373. package/dom/createButtonObserver.js +0 -22
  374. package/dom/createButtonObserver.js.map +0 -1
  375. package/dom/createDivObserver.d.ts +0 -2
  376. package/dom/createDivObserver.js +0 -14
  377. package/dom/createDivObserver.js.map +0 -1
  378. package/dom/createHTMLObserver.d.ts +0 -8
  379. package/dom/createHTMLObserver.js +0 -25
  380. package/dom/createHTMLObserver.js.map +0 -1
  381. package/dom/createHashtagObserver.d.ts +0 -5
  382. package/dom/createHashtagObserver.js +0 -17
  383. package/dom/createHashtagObserver.js.map +0 -1
  384. package/dom/createIconButton.d.ts +0 -2
  385. package/dom/createIconButton.js +0 -13
  386. package/dom/createIconButton.js.map +0 -1
  387. package/dom/createObserver.d.ts +0 -2
  388. package/dom/createObserver.js +0 -10
  389. package/dom/createObserver.js.map +0 -1
  390. package/dom/createOverlayObserver.d.ts +0 -2
  391. package/dom/createOverlayObserver.js +0 -7
  392. package/dom/createOverlayObserver.js.map +0 -1
  393. package/dom/createPageObserver.d.ts +0 -2
  394. package/dom/createPageObserver.js +0 -35
  395. package/dom/createPageObserver.js.map +0 -1
  396. package/dom/createPageTitleObserver.d.ts +0 -6
  397. package/dom/createPageTitleObserver.js +0 -32
  398. package/dom/createPageTitleObserver.js.map +0 -1
  399. package/dom/elToTitle.d.ts +0 -2
  400. package/dom/elToTitle.js +0 -23
  401. package/dom/elToTitle.js.map +0 -1
  402. package/dom/genericError.d.ts +0 -3
  403. package/dom/genericError.js +0 -12
  404. package/dom/genericError.js.map +0 -1
  405. package/dom/getActiveUids.d.ts +0 -3
  406. package/dom/getActiveUids.js +0 -7
  407. package/dom/getActiveUids.js.map +0 -1
  408. package/dom/getBlockUidFromTarget.d.ts +0 -2
  409. package/dom/getBlockUidFromTarget.js +0 -34
  410. package/dom/getBlockUidFromTarget.js.map +0 -1
  411. package/dom/getCurrentPageUid.d.ts +0 -2
  412. package/dom/getCurrentPageUid.js +0 -9
  413. package/dom/getCurrentPageUid.js.map +0 -1
  414. package/dom/getDomRefs.d.ts +0 -2
  415. package/dom/getDomRefs.js +0 -13
  416. package/dom/getDomRefs.js.map +0 -1
  417. package/dom/getDropUidOffset.d.ts +0 -5
  418. package/dom/getDropUidOffset.js +0 -28
  419. package/dom/getDropUidOffset.js.map +0 -1
  420. package/dom/getMutatedNodes.d.ts +0 -7
  421. package/dom/getMutatedNodes.js +0 -12
  422. package/dom/getMutatedNodes.js.map +0 -1
  423. package/dom/getPageTitleByHtmlElement.d.ts +0 -2
  424. package/dom/getPageTitleByHtmlElement.js +0 -13
  425. package/dom/getPageTitleByHtmlElement.js.map +0 -1
  426. package/dom/getPageTitleValueByHtmlElement.d.ts +0 -2
  427. package/dom/getPageTitleValueByHtmlElement.js +0 -10
  428. package/dom/getPageTitleValueByHtmlElement.js.map +0 -1
  429. package/dom/getReferenceBlockUid.d.ts +0 -2
  430. package/dom/getReferenceBlockUid.js +0 -19
  431. package/dom/getReferenceBlockUid.js.map +0 -1
  432. package/dom/getRoamUrl.d.ts +0 -2
  433. package/dom/getRoamUrl.js +0 -5
  434. package/dom/getRoamUrl.js.map +0 -1
  435. package/dom/getRoamUrlByPage.d.ts +0 -2
  436. package/dom/getRoamUrlByPage.js +0 -11
  437. package/dom/getRoamUrlByPage.js.map +0 -1
  438. package/dom/getUids.d.ts +0 -3
  439. package/dom/getUids.js +0 -9
  440. package/dom/getUids.js.map +0 -1
  441. package/dom/getUidsFromButton.d.ts +0 -3
  442. package/dom/getUidsFromButton.js +0 -9
  443. package/dom/getUidsFromButton.js.map +0 -1
  444. package/dom/getUidsFromId.d.ts +0 -5
  445. package/dom/getUidsFromId.js +0 -16
  446. package/dom/getUidsFromId.js.map +0 -1
  447. package/dom/index.js +0 -64
  448. package/dom/index.js.map +0 -1
  449. package/dom/parseRoamBlocksToHtml.d.ts +0 -11
  450. package/dom/parseRoamBlocksToHtml.js +0 -80
  451. package/dom/parseRoamBlocksToHtml.js.map +0 -1
  452. package/dom/resolveRefs.d.ts +0 -2
  453. package/dom/resolveRefs.js +0 -25
  454. package/dom/resolveRefs.js.map +0 -1
  455. package/events/index.js +0 -9
  456. package/events/index.js.map +0 -1
  457. package/events/watchOnce.d.ts +0 -3
  458. package/events/watchOnce.js +0 -13
  459. package/events/watchOnce.js.map +0 -1
  460. package/hooks/index.js +0 -11
  461. package/hooks/index.js.map +0 -1
  462. package/hooks/useArrowKeyDown.d.ts +0 -10
  463. package/hooks/useArrowKeyDown.js +0 -55
  464. package/hooks/useArrowKeyDown.js.map +0 -1
  465. package/hooks/useSubTree.d.ts +0 -3
  466. package/hooks/useSubTree.js +0 -12
  467. package/hooks/useSubTree.js.map +0 -1
  468. package/marked/index.d.ts +0 -25
  469. package/marked/index.js +0 -568
  470. package/marked/index.js.map +0 -1
  471. package/queries/compileDatalog.d.ts +0 -3
  472. package/queries/compileDatalog.js +0 -64
  473. package/queries/compileDatalog.js.map +0 -1
  474. package/queries/getAllBlockUids.d.ts +0 -2
  475. package/queries/getAllBlockUids.js +0 -7
  476. package/queries/getAllBlockUids.js.map +0 -1
  477. package/queries/getAllBlockUidsAndTexts.d.ts +0 -5
  478. package/queries/getAllBlockUidsAndTexts.js +0 -7
  479. package/queries/getAllBlockUidsAndTexts.js.map +0 -1
  480. package/queries/getAllPageNames.d.ts +0 -2
  481. package/queries/getAllPageNames.js +0 -7
  482. package/queries/getAllPageNames.js.map +0 -1
  483. package/queries/getAttributeValueByBlockAndName.d.ts +0 -5
  484. package/queries/getAttributeValueByBlockAndName.js +0 -12
  485. package/queries/getAttributeValueByBlockAndName.js.map +0 -1
  486. package/queries/getBasicTreeByParentUid.d.ts +0 -3
  487. package/queries/getBasicTreeByParentUid.js +0 -14
  488. package/queries/getBasicTreeByParentUid.js.map +0 -1
  489. package/queries/getBlockUidAndTextIncludingText.d.ts +0 -5
  490. package/queries/getBlockUidAndTextIncludingText.js +0 -8
  491. package/queries/getBlockUidAndTextIncludingText.js.map +0 -1
  492. package/queries/getBlockUidByTextOnPage.d.ts +0 -5
  493. package/queries/getBlockUidByTextOnPage.js +0 -8
  494. package/queries/getBlockUidByTextOnPage.js.map +0 -1
  495. package/queries/getBlockUidsAndTextsReferencingPage.d.ts +0 -5
  496. package/queries/getBlockUidsAndTextsReferencingPage.js +0 -10
  497. package/queries/getBlockUidsAndTextsReferencingPage.js.map +0 -1
  498. package/queries/getBlockUidsByPageTitle.d.ts +0 -2
  499. package/queries/getBlockUidsByPageTitle.js +0 -9
  500. package/queries/getBlockUidsByPageTitle.js.map +0 -1
  501. package/queries/getBlockUidsReferencingBlock.d.ts +0 -2
  502. package/queries/getBlockUidsReferencingBlock.js +0 -5
  503. package/queries/getBlockUidsReferencingBlock.js.map +0 -1
  504. package/queries/getBlockUidsReferencingPage.d.ts +0 -2
  505. package/queries/getBlockUidsReferencingPage.js +0 -7
  506. package/queries/getBlockUidsReferencingPage.js.map +0 -1
  507. package/queries/getBlockUidsWithParentUid.d.ts +0 -2
  508. package/queries/getBlockUidsWithParentUid.js +0 -7
  509. package/queries/getBlockUidsWithParentUid.js.map +0 -1
  510. package/queries/getChildrenLengthByPageUid.d.ts +0 -2
  511. package/queries/getChildrenLengthByPageUid.js +0 -9
  512. package/queries/getChildrenLengthByPageUid.js.map +0 -1
  513. package/queries/getChildrenLengthByParentUid.d.ts +0 -2
  514. package/queries/getChildrenLengthByParentUid.js +0 -8
  515. package/queries/getChildrenLengthByParentUid.js.map +0 -1
  516. package/queries/getCreateTimeByBlockUid.d.ts +0 -2
  517. package/queries/getCreateTimeByBlockUid.js +0 -8
  518. package/queries/getCreateTimeByBlockUid.js.map +0 -1
  519. package/queries/getCurrentUser.d.ts +0 -2
  520. package/queries/getCurrentUser.js +0 -12
  521. package/queries/getCurrentUser.js.map +0 -1
  522. package/queries/getCurrentUserDisplayName.d.ts +0 -2
  523. package/queries/getCurrentUserDisplayName.js +0 -11
  524. package/queries/getCurrentUserDisplayName.js.map +0 -1
  525. package/queries/getCurrentUserEmail.d.ts +0 -2
  526. package/queries/getCurrentUserEmail.js +0 -14
  527. package/queries/getCurrentUserEmail.js.map +0 -1
  528. package/queries/getCurrentUserUid.d.ts +0 -2
  529. package/queries/getCurrentUserUid.js +0 -14
  530. package/queries/getCurrentUserUid.js.map +0 -1
  531. package/queries/getDisplayNameByEmail.d.ts +0 -2
  532. package/queries/getDisplayNameByEmail.js +0 -8
  533. package/queries/getDisplayNameByEmail.js.map +0 -1
  534. package/queries/getDisplayNameByUid.d.ts +0 -2
  535. package/queries/getDisplayNameByUid.js +0 -8
  536. package/queries/getDisplayNameByUid.js.map +0 -1
  537. package/queries/getEditTimeByBlockUid.d.ts +0 -2
  538. package/queries/getEditTimeByBlockUid.js +0 -8
  539. package/queries/getEditTimeByBlockUid.js.map +0 -1
  540. package/queries/getEditedUserEmailByBlockUid.d.ts +0 -2
  541. package/queries/getEditedUserEmailByBlockUid.js +0 -8
  542. package/queries/getEditedUserEmailByBlockUid.js.map +0 -1
  543. package/queries/getFirstChildTextByBlockUid.d.ts +0 -2
  544. package/queries/getFirstChildTextByBlockUid.js +0 -8
  545. package/queries/getFirstChildTextByBlockUid.js.map +0 -1
  546. package/queries/getFirstChildUidByBlockUid.d.ts +0 -2
  547. package/queries/getFirstChildUidByBlockUid.js +0 -7
  548. package/queries/getFirstChildUidByBlockUid.js.map +0 -1
  549. package/queries/getFullTreeByParentUid.d.ts +0 -3
  550. package/queries/getFullTreeByParentUid.js +0 -52
  551. package/queries/getFullTreeByParentUid.js.map +0 -1
  552. package/queries/getLinkedPageTitlesUnderUid.d.ts +0 -2
  553. package/queries/getLinkedPageTitlesUnderUid.js +0 -7
  554. package/queries/getLinkedPageTitlesUnderUid.js.map +0 -1
  555. package/queries/getNthChildUidByBlockUid.d.ts +0 -5
  556. package/queries/getNthChildUidByBlockUid.js +0 -8
  557. package/queries/getNthChildUidByBlockUid.js.map +0 -1
  558. package/queries/getOrderByBlockUid.d.ts +0 -2
  559. package/queries/getOrderByBlockUid.js +0 -8
  560. package/queries/getOrderByBlockUid.js.map +0 -1
  561. package/queries/getPageTitleByBlockUid.d.ts +0 -2
  562. package/queries/getPageTitleByBlockUid.js +0 -8
  563. package/queries/getPageTitleByBlockUid.js.map +0 -1
  564. package/queries/getPageTitleByPageUid.d.ts +0 -2
  565. package/queries/getPageTitleByPageUid.js +0 -13
  566. package/queries/getPageTitleByPageUid.js.map +0 -1
  567. package/queries/getPageTitleReferencesByPageTitle.d.ts +0 -2
  568. package/queries/getPageTitleReferencesByPageTitle.js +0 -7
  569. package/queries/getPageTitleReferencesByPageTitle.js.map +0 -1
  570. package/queries/getPageTitlesAndBlockUidsReferencingPage.d.ts +0 -5
  571. package/queries/getPageTitlesAndBlockUidsReferencingPage.js +0 -10
  572. package/queries/getPageTitlesAndBlockUidsReferencingPage.js.map +0 -1
  573. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.d.ts +0 -5
  574. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js +0 -10
  575. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js.map +0 -1
  576. package/queries/getPageTitlesReferencingBlockUid.d.ts +0 -2
  577. package/queries/getPageTitlesReferencingBlockUid.js +0 -5
  578. package/queries/getPageTitlesReferencingBlockUid.js.map +0 -1
  579. package/queries/getPageTitlesStartingWithPrefix.d.ts +0 -2
  580. package/queries/getPageTitlesStartingWithPrefix.js +0 -7
  581. package/queries/getPageTitlesStartingWithPrefix.js.map +0 -1
  582. package/queries/getPageUidByBlockUid.d.ts +0 -2
  583. package/queries/getPageUidByBlockUid.js +0 -8
  584. package/queries/getPageUidByBlockUid.js.map +0 -1
  585. package/queries/getPageUidByPageTitle.d.ts +0 -2
  586. package/queries/getPageUidByPageTitle.js +0 -10
  587. package/queries/getPageUidByPageTitle.js.map +0 -1
  588. package/queries/getPageViewType.d.ts +0 -3
  589. package/queries/getPageViewType.js +0 -10
  590. package/queries/getPageViewType.js.map +0 -1
  591. package/queries/getParentTextByBlockUid.d.ts +0 -2
  592. package/queries/getParentTextByBlockUid.js +0 -8
  593. package/queries/getParentTextByBlockUid.js.map +0 -1
  594. package/queries/getParentTextByBlockUidAndTag.d.ts +0 -5
  595. package/queries/getParentTextByBlockUidAndTag.js +0 -8
  596. package/queries/getParentTextByBlockUidAndTag.js.map +0 -1
  597. package/queries/getParentUidByBlockUid.d.ts +0 -2
  598. package/queries/getParentUidByBlockUid.js +0 -8
  599. package/queries/getParentUidByBlockUid.js.map +0 -1
  600. package/queries/getParentUidsOfBlockUid.d.ts +0 -2
  601. package/queries/getParentUidsOfBlockUid.js +0 -5
  602. package/queries/getParentUidsOfBlockUid.js.map +0 -1
  603. package/queries/getSettingsByEmail.d.ts +0 -3
  604. package/queries/getSettingsByEmail.js +0 -8
  605. package/queries/getSettingsByEmail.js.map +0 -1
  606. package/queries/getShallowTreeByParentUid.d.ts +0 -5
  607. package/queries/getShallowTreeByParentUid.js +0 -10
  608. package/queries/getShallowTreeByParentUid.js.map +0 -1
  609. package/queries/getTextByBlockUid.d.ts +0 -2
  610. package/queries/getTextByBlockUid.js +0 -10
  611. package/queries/getTextByBlockUid.js.map +0 -1
  612. package/queries/index.d.ts +0 -0
  613. package/queries/index.js +0 -5
  614. package/queries/index.js.map +0 -1
  615. package/queries/isLiveBlock.d.ts +0 -2
  616. package/queries/isLiveBlock.js +0 -5
  617. package/queries/isLiveBlock.js.map +0 -1
  618. package/queries/isTagOnPage.d.ts +0 -5
  619. package/queries/isTagOnPage.js +0 -10
  620. package/queries/isTagOnPage.js.map +0 -1
  621. package/queries/normalizePageTitle.d.ts +0 -2
  622. package/queries/normalizePageTitle.js +0 -5
  623. package/queries/normalizePageTitle.js.map +0 -1
  624. package/scripts/index.d.ts +0 -1
  625. package/scripts/index.js +0 -27
  626. package/scripts/index.js.map +0 -1
  627. package/scripts/publishToRoamDepot.d.ts +0 -7
  628. package/scripts/publishToRoamDepot.js +0 -114
  629. package/scripts/publishToRoamDepot.js.map +0 -1
  630. package/testing/mockRoamEnvironment.d.ts +0 -2
  631. package/testing/mockRoamEnvironment.js +0 -1254
  632. package/testing/mockRoamEnvironment.js.map +0 -1
  633. package/types/index.d.ts +0 -250
  634. package/types/index.js +0 -5
  635. package/types/index.js.map +0 -1
  636. package/types/native.d.ts +0 -402
  637. package/types/native.js +0 -5
  638. package/types/native.js.map +0 -1
  639. package/types/query-builder.d.ts +0 -10
  640. package/types/query-builder.js +0 -3
  641. package/types/query-builder.js.map +0 -1
  642. package/types/smartblocks.d.ts +0 -35
  643. package/types/smartblocks.js +0 -3
  644. package/types/smartblocks.js.map +0 -1
  645. package/util/addInputSetting.d.ts +0 -7
  646. package/util/addInputSetting.js +0 -26
  647. package/util/addInputSetting.js.map +0 -1
  648. package/util/apiDelete.d.ts +0 -2
  649. package/util/apiDelete.js +0 -7
  650. package/util/apiDelete.js.map +0 -1
  651. package/util/apiGet.d.ts +0 -2
  652. package/util/apiGet.js +0 -7
  653. package/util/apiGet.js.map +0 -1
  654. package/util/apiPost.d.ts +0 -2
  655. package/util/apiPost.js +0 -7
  656. package/util/apiPost.js.map +0 -1
  657. package/util/apiPut.d.ts +0 -2
  658. package/util/apiPut.js +0 -7
  659. package/util/apiPut.js.map +0 -1
  660. package/util/createOverlayRender.d.ts +0 -4
  661. package/util/createOverlayRender.js +0 -7
  662. package/util/createOverlayRender.js.map +0 -1
  663. package/util/createTagRegex.d.ts +0 -2
  664. package/util/createTagRegex.js +0 -8
  665. package/util/createTagRegex.js.map +0 -1
  666. package/util/dispatchToRegistry.d.ts +0 -3
  667. package/util/dispatchToRegistry.js +0 -8
  668. package/util/dispatchToRegistry.js.map +0 -1
  669. package/util/env.d.ts +0 -4
  670. package/util/env.js +0 -48
  671. package/util/env.js.map +0 -1
  672. package/util/extensionApiContext.d.ts +0 -29
  673. package/util/extensionApiContext.js +0 -18
  674. package/util/extensionApiContext.js.map +0 -1
  675. package/util/extensionDeprecatedWarning.d.ts +0 -5
  676. package/util/extensionDeprecatedWarning.js +0 -40
  677. package/util/extensionDeprecatedWarning.js.map +0 -1
  678. package/util/extractRef.d.ts +0 -2
  679. package/util/extractRef.js +0 -9
  680. package/util/extractRef.js.map +0 -1
  681. package/util/extractTag.d.ts +0 -2
  682. package/util/extractTag.js +0 -16
  683. package/util/extractTag.js.map +0 -1
  684. package/util/focusMainWindowBlock.d.ts +0 -2
  685. package/util/focusMainWindowBlock.js +0 -13
  686. package/util/focusMainWindowBlock.js.map +0 -1
  687. package/util/getAuthorizationHeader.d.ts +0 -2
  688. package/util/getAuthorizationHeader.js +0 -13
  689. package/util/getAuthorizationHeader.js.map +0 -1
  690. package/util/getLocalStorageKey.d.ts +0 -2
  691. package/util/getLocalStorageKey.js +0 -5
  692. package/util/getLocalStorageKey.js.map +0 -1
  693. package/util/getOauth.d.ts +0 -2
  694. package/util/getOauth.js +0 -53
  695. package/util/getOauth.js.map +0 -1
  696. package/util/getOauthAccounts.d.ts +0 -2
  697. package/util/getOauthAccounts.js +0 -23
  698. package/util/getOauthAccounts.js.map +0 -1
  699. package/util/getRenderRoot.d.ts +0 -2
  700. package/util/getRenderRoot.js +0 -19
  701. package/util/getRenderRoot.js.map +0 -1
  702. package/util/getSettingIntFromTree.d.ts +0 -7
  703. package/util/getSettingIntFromTree.js +0 -12
  704. package/util/getSettingIntFromTree.js.map +0 -1
  705. package/util/getSettingValueFromTree.d.ts +0 -8
  706. package/util/getSettingValueFromTree.js +0 -15
  707. package/util/getSettingValueFromTree.js.map +0 -1
  708. package/util/getSettingValuesFromTree.d.ts +0 -7
  709. package/util/getSettingValuesFromTree.js +0 -13
  710. package/util/getSettingValuesFromTree.js.map +0 -1
  711. package/util/getSubTree.d.ts +0 -8
  712. package/util/getSubTree.js +0 -20
  713. package/util/getSubTree.js.map +0 -1
  714. package/util/getToken.d.ts +0 -2
  715. package/util/getToken.js +0 -11
  716. package/util/getToken.js.map +0 -1
  717. package/util/getTokenFromTree.d.ts +0 -3
  718. package/util/getTokenFromTree.js +0 -5
  719. package/util/getTokenFromTree.js.map +0 -1
  720. package/util/getWorkerClient.d.ts +0 -12
  721. package/util/getWorkerClient.js +0 -42
  722. package/util/getWorkerClient.js.map +0 -1
  723. package/util/handleBodyFetch.d.ts +0 -3
  724. package/util/handleBodyFetch.js +0 -22
  725. package/util/handleBodyFetch.js.map +0 -1
  726. package/util/handleFetch.d.ts +0 -13
  727. package/util/handleFetch.js +0 -41
  728. package/util/handleFetch.js.map +0 -1
  729. package/util/handleUrlFetch.d.ts +0 -3
  730. package/util/handleUrlFetch.js +0 -20
  731. package/util/handleUrlFetch.js.map +0 -1
  732. package/util/idToTitle.d.ts +0 -2
  733. package/util/idToTitle.js +0 -9
  734. package/util/idToTitle.js.map +0 -1
  735. package/util/index.js +0 -55
  736. package/util/index.js.map +0 -1
  737. package/util/isControl.d.ts +0 -2
  738. package/util/isControl.js +0 -5
  739. package/util/isControl.js.map +0 -1
  740. package/util/localStorageGet.d.ts +0 -2
  741. package/util/localStorageGet.js +0 -9
  742. package/util/localStorageGet.js.map +0 -1
  743. package/util/localStorageRemove.d.ts +0 -2
  744. package/util/localStorageRemove.js +0 -7
  745. package/util/localStorageRemove.js.map +0 -1
  746. package/util/localStorageSet.d.ts +0 -2
  747. package/util/localStorageSet.js +0 -9
  748. package/util/localStorageSet.js.map +0 -1
  749. package/util/registerExperimentalMode.d.ts +0 -6
  750. package/util/registerExperimentalMode.js +0 -66
  751. package/util/registerExperimentalMode.js.map +0 -1
  752. package/util/registerSmartBlocksCommand.d.ts +0 -3
  753. package/util/registerSmartBlocksCommand.js +0 -24
  754. package/util/registerSmartBlocksCommand.js.map +0 -1
  755. package/util/removeFromRegistry.d.ts +0 -3
  756. package/util/removeFromRegistry.js +0 -8
  757. package/util/removeFromRegistry.js.map +0 -1
  758. package/util/renderOverlay.d.ts +0 -12
  759. package/util/renderOverlay.js +0 -49
  760. package/util/renderOverlay.js.map +0 -1
  761. package/util/renderWithUnmount.d.ts +0 -4
  762. package/util/renderWithUnmount.js +0 -45
  763. package/util/renderWithUnmount.js.map +0 -1
  764. package/util/runExtension.d.ts +0 -11
  765. package/util/runExtension.js +0 -175
  766. package/util/runExtension.js.map +0 -1
  767. package/util/setInputSetting.d.ts +0 -7
  768. package/util/setInputSetting.js +0 -38
  769. package/util/setInputSetting.js.map +0 -1
  770. package/util/setInputSettings.d.ts +0 -7
  771. package/util/setInputSettings.js +0 -29
  772. package/util/setInputSettings.js.map +0 -1
  773. package/util/stripUid.d.ts +0 -3
  774. package/util/stripUid.js +0 -11
  775. package/util/stripUid.js.map +0 -1
  776. package/util/toConfigPageName.d.ts +0 -2
  777. package/util/toConfigPageName.js +0 -5
  778. package/util/toConfigPageName.js.map +0 -1
  779. package/util/toFlexRegex.d.ts +0 -2
  780. package/util/toFlexRegex.js +0 -5
  781. package/util/toFlexRegex.js.map +0 -1
  782. package/writes/clearBlockById.d.ts +0 -2
  783. package/writes/clearBlockById.js +0 -18
  784. package/writes/clearBlockById.js.map +0 -1
  785. package/writes/clearBlockByUid.d.ts +0 -2
  786. package/writes/clearBlockByUid.js +0 -17
  787. package/writes/clearBlockByUid.js.map +0 -1
  788. package/writes/createBlock.d.ts +0 -8
  789. package/writes/createBlock.js +0 -29
  790. package/writes/createBlock.js.map +0 -1
  791. package/writes/createPage.d.ts +0 -7
  792. package/writes/createPage.js +0 -21
  793. package/writes/createPage.js.map +0 -1
  794. package/writes/deleteBlock.d.ts +0 -2
  795. package/writes/deleteBlock.js +0 -11
  796. package/writes/deleteBlock.js.map +0 -1
  797. package/writes/index.js +0 -23
  798. package/writes/index.js.map +0 -1
  799. package/writes/openBlockInSidebar.d.ts +0 -2
  800. package/writes/openBlockInSidebar.js +0 -14
  801. package/writes/openBlockInSidebar.js.map +0 -1
  802. package/writes/submitActions.d.ts +0 -8
  803. package/writes/submitActions.js +0 -37
  804. package/writes/submitActions.js.map +0 -1
  805. package/writes/updateActiveBlock.d.ts +0 -2
  806. package/writes/updateActiveBlock.js +0 -18
  807. package/writes/updateActiveBlock.js.map +0 -1
  808. package/writes/updateBlock.d.ts +0 -5
  809. package/writes/updateBlock.js +0 -24
  810. package/writes/updateBlock.js.map +0 -1
@@ -1,1254 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const edn_data_1 = require("edn-data");
5
- const nanoid_1 = tslib_1.__importDefault(require("nanoid"));
6
- const jsdom_1 = require("jsdom");
7
- const initMockGraph = () => ({
8
- state: {},
9
- uids: {},
10
- titles: {},
11
- });
12
- const getDbId = () => Math.ceil(Math.random() * 1000000);
13
- const isNode = (v) => typeof v === "object" && v !== null && !(v instanceof RegExp);
14
- const resolvePattern = (pattern, result, graph) => Array.isArray(result)
15
- ? result.map((r) => resolvePattern(pattern, r, graph))
16
- : pattern.some((pat) => pat.type === "wildcard")
17
- ? result
18
- : Object.fromEntries(pattern.flatMap((pat) => {
19
- if (pat.type === "constant") {
20
- return [[pat.value, result[pat.value]]];
21
- }
22
- else if (pat.type === "attr-expr") {
23
- if (pat.option.type === "as-expr") {
24
- return [[pat.option.value, result[pat.name]]];
25
- }
26
- else {
27
- throw new Error(`Unexpected pull attribute expression type: ${pat.option.type}`);
28
- }
29
- }
30
- else if (pat.type === "map-spec") {
31
- return pat.entries.map(({ key, value }) => {
32
- const k = typeof key === "string"
33
- ? key
34
- : key.type === "as-expr"
35
- ? key.value
36
- : "";
37
- const nestedResult = result[k];
38
- if (!nestedResult)
39
- return [k, []];
40
- if (value === "...") {
41
- const nestedResults = (Array.isArray(nestedResult) ? nestedResult : [nestedResult])
42
- .map((a) => a[":db/id"])
43
- .filter((id) => typeof id === "number")
44
- .map((id) => graph.state[id]);
45
- return [k, resolvePattern(pattern, nestedResults, graph)];
46
- }
47
- else {
48
- return [k, resolvePattern(value, nestedResult, graph)];
49
- }
50
- });
51
- }
52
- else {
53
- throw new Error(`Unexpected pull pattern type: ${pat.type}`);
54
- }
55
- }));
56
- const fireQuery = ({ graph, find, where, }) => {
57
- const getAssignments = (where, initialVars = []) => {
58
- return where.reduce((programs, clause, index) => {
59
- if (programs.assignments.size === 0 && index > 0)
60
- return programs;
61
- const reconcile = (matches, vars) => {
62
- vars.forEach((v) => programs.vars.add(v));
63
- programs.assignments = new Set(Array.from(new Set((programs.assignments.size === 0 && index === 0
64
- ? matches
65
- : Array.from(programs.assignments).flatMap((dict) => matches.map((dic) => (Object.assign(Object.assign({}, dict), dic))))).map((a) =>
66
- // remove duplicate assignments
67
- JSON.stringify(Object.entries(a).sort(([ka], [kb]) => ka.localeCompare(kb)))))).map((s) => Object.fromEntries(JSON.parse(s))));
68
- };
69
- if (clause.type === "data-pattern") {
70
- const [source, relation, target] = clause.arguments;
71
- if (source.type !== "variable") {
72
- throw new Error("Expected source type to be variable");
73
- }
74
- const sourceVar = source.value;
75
- if (relation.type !== "constant") {
76
- throw new Error("Expected relation type to be constant");
77
- }
78
- const rel = relation.value;
79
- const targetString = target.value.replace(/^"/, "").replace(/"$/, "");
80
- const targetVar = target.value;
81
- if (programs.vars.has(sourceVar)) {
82
- const newAssignments = Array.from(programs.assignments).flatMap((dict) => {
83
- var _a, _b, _c;
84
- const sourceEntry = dict[sourceVar];
85
- if (!isNode(sourceEntry)) {
86
- throw new Error("Expected the source variable to map to a node");
87
- return [];
88
- }
89
- const sourceId = sourceEntry.id;
90
- if (rel === ":block/refs") {
91
- throw new Error("TODO");
92
- // if (target.type !== "variable") {
93
- // throw new Error(
94
- // "Expected target for :block/refs to be a variable"
95
- // );
96
- // return [];
97
- // }
98
- // const targetEntry = dict[targetVar];
99
- // const refs = (
100
- // isNode(targetEntry)
101
- // ? [targetEntry.id]
102
- // : graph.edges.referencesByUid[sourceId] || []
103
- // ).map((ref) => ({
104
- // ...dict,
105
- // [targetVar]: { uid: ref },
106
- // }));
107
- // if (refs.length) programs.vars.add(targetVar);
108
- // return refs;
109
- }
110
- else if (rel === ":block/page") {
111
- // if (target.type !== "variable") {
112
- // throw new Error(
113
- // "Expected target for :block/page to be a variable"
114
- // );
115
- // return [];
116
- // }
117
- // const targetEntry = dict[targetVar];
118
- // if (graph.edges.pagesByUid[sourceId]) {
119
- // return [];
120
- // } else if (isNode(targetEntry)) {
121
- // return targetEntry.id ===
122
- // graph.edges.blocksPageByUid[sourceId]
123
- // ? [dict]
124
- // : [];
125
- // } else {
126
- // programs.vars.add(targetVar);
127
- // return [
128
- // {
129
- // ...dict,
130
- // [targetVar]: {
131
- // uid: graph.edges.blocksPageByUid[sourceId],
132
- // },
133
- // },
134
- // ];
135
- // }
136
- throw new Error("TODO");
137
- }
138
- else if (rel === ":node/title") {
139
- const sourceTitle = (_a = graph.state[sourceId]) === null || _a === void 0 ? void 0 : _a[":node/title"];
140
- if (target.type === "constant") {
141
- if (graph.titles[targetString] === sourceId) {
142
- return [dict];
143
- }
144
- else {
145
- return [];
146
- }
147
- }
148
- else if (target.type === "underscore") {
149
- return [dict];
150
- }
151
- else if (!sourceTitle) {
152
- return [];
153
- }
154
- else {
155
- programs.vars.add(targetVar);
156
- return [
157
- Object.assign(Object.assign({}, dict), { [targetVar]: sourceTitle }),
158
- ];
159
- }
160
- }
161
- else if (rel === ":block/children") {
162
- if (target.type !== "variable") {
163
- throw new Error("Expected target for :block/children to be a variable");
164
- }
165
- const targetEntry = dict[targetVar];
166
- const children = (isNode(targetEntry)
167
- ? [targetEntry.id]
168
- : (((_b = graph.state[sourceId]) === null || _b === void 0 ? void 0 : _b[":block/children"]) || []).map((c) => c[":db/id"] || 0)).map((id) => (Object.assign(Object.assign({}, dict), { [targetVar]: { id } })));
169
- if (children.length)
170
- programs.vars.add(targetVar);
171
- return children;
172
- }
173
- else if (rel === ":block/parents") {
174
- if (target.type !== "variable") {
175
- throw new Error("Expected target for :block/parents to be a variable");
176
- }
177
- const targetEntry = dict[targetVar];
178
- const ancestors = (isNode(targetEntry)
179
- ? [targetEntry.id]
180
- : (((_c = graph.state[sourceId]) === null || _c === void 0 ? void 0 : _c[":block/parents"]) || []).map((d) => d[":db/id"] || 0)).map((id) => (Object.assign(Object.assign({}, dict), { [targetVar]: { id } })));
181
- if (ancestors.length)
182
- programs.vars.add(targetVar);
183
- return ancestors;
184
- }
185
- else if (rel === ":block/string") {
186
- // if (target.type === "constant") {
187
- // if (graph.edges.blocksByUid[sourceId] === targetString) {
188
- // return [dict];
189
- // } else {
190
- // return [];
191
- // }
192
- // } else if (target.type === "underscore") {
193
- // return [dict];
194
- // } else {
195
- // programs.vars.add(targetVar);
196
- // return [
197
- // {
198
- // ...dict,
199
- // [targetVar]: graph.edges.blocksByUid[sourceId],
200
- // },
201
- // ];
202
- // }
203
- throw new Error("TODO");
204
- }
205
- else if (rel === ":block/heading") {
206
- // if (target.type === "constant") {
207
- // if (
208
- // graph.edges.headingsByUid[sourceId] ===
209
- // Number(targetString)
210
- // ) {
211
- // return [dict];
212
- // } else {
213
- // return [];
214
- // }
215
- // } else if (target.type === "underscore") {
216
- // return [dict];
217
- // } else {
218
- // programs.vars.add(targetVar);
219
- // return [
220
- // {
221
- // ...dict,
222
- // [targetVar]: graph.edges.headingsByUid[sourceId],
223
- // },
224
- // ];
225
- // }
226
- throw new Error("TODO");
227
- }
228
- else if (rel === ":create/user") {
229
- // if (target.type !== "variable") {
230
- // throw new Error(
231
- // "Expected target for :create/user to be a variable"
232
- // );
233
- // return [];
234
- // }
235
- // const targetEntry = dict[targetVar];
236
- // const userId = graph.edges.createUserByUid[sourceId];
237
- // if (isNode(targetEntry)) {
238
- // return targetEntry.id === userId ? [dict] : [];
239
- // } else {
240
- // programs.vars.add(targetVar);
241
- // return [
242
- // {
243
- // ...dict,
244
- // [targetVar]: { uid: userId },
245
- // },
246
- // ];
247
- // }
248
- throw new Error("TODO");
249
- }
250
- else if (rel === ":edit/user") {
251
- // if (target.type !== "variable") {
252
- // throw new Error(
253
- // "Expected target for :edit/user to be a variable"
254
- // );
255
- // return [];
256
- // }
257
- // const targetEntry = dict[targetVar];
258
- // const userId = graph.edges.editUserByUid[sourceId];
259
- // if (isNode(targetEntry)) {
260
- // return targetEntry.id === userId ? [dict] : [];
261
- // } else {
262
- // programs.vars.add(targetVar);
263
- // return [
264
- // {
265
- // ...dict,
266
- // [targetVar]: { uid: userId },
267
- // },
268
- // ];
269
- // }
270
- throw new Error("TODO");
271
- }
272
- else if (rel === ":create/time") {
273
- // if (target.type === "constant") {
274
- // if (
275
- // graph.edges.createTimeByUid[sourceId] ===
276
- // Number(targetString)
277
- // ) {
278
- // return [dict];
279
- // } else {
280
- // return [];
281
- // }
282
- // } else if (target.type === "underscore") {
283
- // return [dict];
284
- // } else {
285
- // programs.vars.add(targetVar);
286
- // return [
287
- // {
288
- // ...dict,
289
- // [targetVar]: graph.edges.createTimeByUid[sourceId],
290
- // },
291
- // ];
292
- // }
293
- throw new Error("TODO");
294
- }
295
- else if (rel === ":edit/time") {
296
- // if (target.type === "constant") {
297
- // if (
298
- // graph.edges.editTimeByUid[sourceId] ===
299
- // Number(targetString)
300
- // ) {
301
- // return [dict];
302
- // } else {
303
- // return [];
304
- // }
305
- // } else if (target.type === "underscore") {
306
- // return [dict];
307
- // } else {
308
- // programs.vars.add(targetVar);
309
- // return [
310
- // {
311
- // ...dict,
312
- // [targetVar]: graph.edges.editTimeByUid[sourceId],
313
- // },
314
- // ];
315
- // }
316
- throw new Error("TODO");
317
- }
318
- else if (rel === ":user/display-name") {
319
- // if (target.type === "constant") {
320
- // if (
321
- // graph.edges.userDisplayByUid[sourceId] === targetString
322
- // ) {
323
- // return [dict];
324
- // } else {
325
- // return [];
326
- // }
327
- // } else if (target.type === "underscore") {
328
- // return [dict];
329
- // } else {
330
- // programs.vars.add(targetVar);
331
- // return [
332
- // {
333
- // ...dict,
334
- // [targetVar]: graph.edges.userDisplayByUid[sourceId],
335
- // },
336
- // ];
337
- // }
338
- throw new Error("TODO");
339
- }
340
- else {
341
- throw new Error(`Unknown rel: ${rel}`);
342
- }
343
- });
344
- programs.assignments = new Set(newAssignments);
345
- }
346
- else if (target.type === "variable" &&
347
- programs.vars.has(targetVar)) {
348
- const newAssignments = Array.from(programs.assignments).flatMap((_dict) => {
349
- // const targetEntry = dict[targetVar];
350
- if (rel === ":block/refs") {
351
- // if (!isNode(targetEntry)) {
352
- // throw new Error(
353
- // "Expected the target variable to map to a node in :block/refs"
354
- // );
355
- // return [];
356
- // }
357
- // const targetId = targetEntry.id;
358
- // const refs = (
359
- // graph.edges.linkedReferencesByUid[targetId] || []
360
- // ).map((ref) => ({
361
- // ...dict,
362
- // [v]: { uid: ref },
363
- // }));
364
- // if (refs.length) programs.vars.add(v);
365
- // return refs;
366
- throw new Error("TODO");
367
- }
368
- else if (rel === ":block/page") {
369
- // if (!isNode(targetEntry)) {
370
- // throw new Error(
371
- // "Expected the target variable to map to a node in :block/page"
372
- // );
373
- // return [];
374
- // }
375
- // const targetId = targetEntry.id;
376
- // if (!graph.edges.pagesByUid[targetId]) {
377
- // return [];
378
- // } else {
379
- // const children = Array.from(
380
- // graph.edges.descendantsByUid[targetId] || []
381
- // ).map((d) => ({
382
- // ...dict,
383
- // [v]: { uid: d },
384
- // }));
385
- // if (children.length) programs.vars.add(v);
386
- // return children;
387
- // }
388
- throw new Error("TODO");
389
- }
390
- else if (rel === ":node/title") {
391
- // if (typeof targetEntry !== "string") {
392
- // throw new Error(
393
- // "Expected the target variable to map to a string in :block/refs"
394
- // );
395
- // return [];
396
- // }
397
- // const page = graph.edges.pageUidByTitle[targetEntry];
398
- // if (page) {
399
- // programs.vars.add(v);
400
- // return [
401
- // {
402
- // ...dict,
403
- // [v]: { uid: page },
404
- // },
405
- // ];
406
- // }
407
- // return [];
408
- throw new Error("TODO");
409
- }
410
- else if (rel === ":block/children") {
411
- // if (!isNode(targetEntry)) {
412
- // throw new Error(
413
- // "Expected the target variable to map to a node in :block/children"
414
- // );
415
- // }
416
- // const targetId = targetEntry.id;
417
- // const parent = graph.edges.parentByUid[targetId];
418
- // if (parent) {
419
- // programs.vars.add(v);
420
- // return [
421
- // {
422
- // ...dict,
423
- // [v]: { uid: parent },
424
- // },
425
- // ];
426
- // } else {
427
- // return [];
428
- // }
429
- throw new Error("TODO");
430
- }
431
- else if (rel === ":block/parents") {
432
- // if (!isNode(targetEntry)) {
433
- // throw new Error(
434
- // "Expected the target variable to map to a node in :block/parents"
435
- // );
436
- // return [];
437
- // }
438
- // const targetId = targetEntry.id;
439
- // const ancestors = Array.from(
440
- // graph.edges.ancestorsByUid[targetId] || []
441
- // ).map((child) => ({
442
- // ...dict,
443
- // [v]: { uid: child },
444
- // }));
445
- // if (ancestors.length) programs.vars.add(v);
446
- // return ancestors;
447
- throw new Error("TODO");
448
- }
449
- else if (rel === ":block/string") {
450
- // if (typeof targetEntry !== "string") {
451
- // throw new Error(
452
- // "Expected the target variable to map to a string in :block/string"
453
- // );
454
- // return [];
455
- // }
456
- // const blocks = Object.entries(graph.edges.blocksByUid)
457
- // .filter(([_, v]) => v === targetEntry)
458
- // .map(([child]) => ({
459
- // ...dict,
460
- // [v]: { uid: child },
461
- // }));
462
- // if (blocks.length) programs.vars.add(v);
463
- // return blocks;
464
- throw new Error("TODO");
465
- }
466
- else if (rel === ":block/heading") {
467
- // if (typeof targetEntry !== "number") {
468
- // throw new Error(
469
- // "Expected the target variable to map to a number in :block/heading"
470
- // );
471
- // return [];
472
- // }
473
- // const blocks = Object.entries(graph.edges.headingsByUid)
474
- // .filter(([_, v]) => v === targetEntry)
475
- // .map(([child]) => ({
476
- // ...dict,
477
- // [v]: { uid: child },
478
- // }));
479
- // if (blocks.length) programs.vars.add(v);
480
- // return blocks;
481
- throw new Error("TODO");
482
- }
483
- else if (rel === ":create/user") {
484
- // if (!isNode(targetEntry)) {
485
- // throw new Error(
486
- // "Expected the target variable to map to a node in :create/user"
487
- // );
488
- // }
489
- // const targetId = targetEntry.id;
490
- // const children = Object.keys(graph.edges.createUserByUid)
491
- // .filter(
492
- // (node) => graph.edges.createUserByUid[node] === targetId
493
- // )
494
- // .map((d) => ({
495
- // ...dict,
496
- // [v]: { uid: d },
497
- // }));
498
- // if (children.length) programs.vars.add(v);
499
- // return children;
500
- throw new Error("TODO");
501
- }
502
- else if (rel === ":edit/user") {
503
- // if (!isNode(targetEntry)) {
504
- // throw new Error(
505
- // "Expected the target variable to map to a node in :edit/user"
506
- // );
507
- // }
508
- // const targetId = targetEntry.id;
509
- // const children = Object.keys(graph.edges.editUserByUid)
510
- // .filter(
511
- // (node) =>
512
- // graph.edges.editUserByUid[Number(node)] === targetId
513
- // )
514
- // .map((d) => ({
515
- // ...dict,
516
- // [v]: { uid: d },
517
- // }));
518
- // if (children.length) programs.vars.add(v);
519
- // return children;
520
- throw new Error("TODO");
521
- }
522
- else if (rel === ":create/time") {
523
- // if (typeof targetEntry !== "number") {
524
- // throw new Error(
525
- // "Expected the target variable to map to a number in :create/time"
526
- // );
527
- // }
528
- // const blocks = Object.entries(graph.edges.createTimeByUid)
529
- // .filter(([_, v]) => v === targetEntry)
530
- // .map(([child]) => ({
531
- // ...dict,
532
- // [v]: { uid: child },
533
- // }));
534
- // if (blocks.length) programs.vars.add(v);
535
- // return blocks;
536
- throw new Error("TODO");
537
- }
538
- else if (rel === ":edit/time") {
539
- // if (typeof targetEntry !== "number") {
540
- // throw new Error(
541
- // "Expected the target variable to map to a number in :edit/time"
542
- // );
543
- // }
544
- // const blocks = Object.entries(graph.edges.editTimeByUid)
545
- // .filter(([_, v]) => v === targetEntry)
546
- // .map(([child]) => ({
547
- // ...dict,
548
- // [v]: { uid: child },
549
- // }));
550
- // if (blocks.length) programs.vars.add(v);
551
- // return blocks;
552
- throw new Error("TODO");
553
- }
554
- else if (rel === ":user/display-name") {
555
- // if (typeof targetEntry !== "string") {
556
- // throw new Error(
557
- // "Expected the target variable to map to a string in :block/refs"
558
- // );
559
- // }
560
- // const displayName = targetEntry
561
- // .replace(/^"/, "")
562
- // .replace(/"$/, "");
563
- // const user = graph.edges.userUidByDisplay[displayName];
564
- // if (user) {
565
- // programs.vars.add(v);
566
- // return [
567
- // {
568
- // ...dict,
569
- // [v]: { uid: user },
570
- // },
571
- // ];
572
- // }
573
- // return [];
574
- throw new Error("TODO");
575
- }
576
- else {
577
- throw new Error(`Unknown rel: ${rel}`);
578
- }
579
- });
580
- programs.assignments = new Set(newAssignments);
581
- }
582
- else {
583
- const matches = rel === ":children/view-type"
584
- ? target.type === "constant"
585
- ? Object.values(graph.uids)
586
- .filter((id) => graph.state[id][":children/view-type"] !==
587
- targetString)
588
- .map((id) => ({ [sourceVar]: { id } }))
589
- : target.type === "underscore"
590
- ? Object.values(graph.uids).map((id) => ({
591
- [sourceVar]: { id },
592
- }))
593
- : Object.values(graph.uids).map((id) => ({
594
- [sourceVar]: { id },
595
- [targetVar]: graph.state[id][":children/view-type"] || ":bullet",
596
- }))
597
- : rel === ":block/uid"
598
- ? target.type === "constant"
599
- ? [{ [sourceVar]: { id: graph.uids[target.value] } }]
600
- : target.type === "underscore"
601
- ? Object.values(graph.uids).map((id) => ({
602
- [sourceVar]: { id },
603
- }))
604
- : Object.entries(graph.uids).map(([uid, id]) => ({
605
- [sourceVar]: { id },
606
- [targetVar]: uid,
607
- }))
608
- : new Error(`Unknown rel: ${rel}`);
609
- /*
610
- rel === ":block/refs"
611
- ? target.type !== "variable"
612
- ? []
613
- : Object.entries(graph.edges.referencesByUid).flatMap(
614
- ([source, refs]) =>
615
- refs.map((ref) => ({
616
- [v]: { uid: source },
617
- [targetVar]: { uid: ref },
618
- }))
619
- )
620
- : rel === ":block/page"
621
- ? target.type !== "variable"
622
- ? []
623
- : Object.entries(graph.edges.blocksPageByUid).map(
624
- ([b, p]) => ({
625
- [v]: { uid: b },
626
- [targetVar]: { uid: p },
627
- })
628
- )
629
- : rel === ":node/title"
630
- ? target.type === "constant"
631
- ? graph.edges.pageUidByTitle[targetString]
632
- ? [
633
- {
634
- [v]: {
635
- uid: graph.edges.pageUidByTitle[targetString],
636
- },
637
- },
638
- ]
639
- : []
640
- : target.type === "underscore"
641
- ? Object.values(graph.edges.pageUidByTitle).map((uid) => ({
642
- [v]: { uid },
643
- }))
644
- : Object.entries(graph.edges.pageUidByTitle).map(
645
- ([title, uid]) => ({
646
- [v]: { uid },
647
- [targetVar]: title,
648
- })
649
- )
650
- : rel === ":block/children"
651
- ? target.type !== "variable"
652
- ? []
653
- : Object.entries(graph.edges.childrenByUid).flatMap(
654
- ([source, refs]) =>
655
- refs.map((ref) => ({
656
- [v]: { uid: source },
657
- [targetVar]: { uid: ref },
658
- }))
659
- )
660
- : rel === ":block/parents"
661
- ? target.type !== "variable"
662
- ? []
663
- : Object.entries(graph.edges.ancestorsByUid).flatMap(
664
- ([source, refs]) =>
665
- Array.from(refs).map((ref) => ({
666
- [v]: { uid: source },
667
- [targetVar]: { uid: ref },
668
- }))
669
- )
670
- : rel === ":block/string"
671
- ? target.type === "constant"
672
- ? Object.entries(graph.edges.blocksByUid)
673
- .filter(([_, text]) => text !== targetString)
674
- .map(([uid]) => ({ [v]: { uid } }))
675
- : target.type === "underscore"
676
- ? Object.keys(graph.edges.blocksByUid).map((uid) => ({
677
- [v]: { uid },
678
- }))
679
- : Object.entries(graph.edges.blocksByUid).map(
680
- ([uid, text]) => ({
681
- [v]: { uid },
682
- [targetVar]: text,
683
- })
684
- )
685
- : rel === ":block/heading"
686
- ? target.type === "constant"
687
- ? Object.entries(graph.edges.headingsByUid)
688
- .filter(([_, text]) => text !== Number(targetString))
689
- .map(([uid]) => ({ [v]: { uid } }))
690
- : target.type === "underscore"
691
- ? Object.keys(graph.edges.headingsByUid).map((uid) => ({
692
- [v]: { uid },
693
- }))
694
- : Object.entries(graph.edges.headingsByUid).map(
695
- ([uid, text]) => ({
696
- [v]: { uid },
697
- [targetVar]: text,
698
- })
699
- )
700
- : rel === ":create/user"
701
- ? target.type !== "variable"
702
- ? []
703
- : Object.entries(graph.edges.createUserByUid).map(
704
- ([b, p]) => ({
705
- [v]: { uid: b },
706
- [targetVar]: { uid: p },
707
- })
708
- )
709
- : rel === ":edit/user"
710
- ? target.type !== "variable"
711
- ? []
712
- : Object.entries(graph.edges.editUserByUid).map(([b, p]) => ({
713
- [v]: { uid: b },
714
- [targetVar]: { uid: p },
715
- }))
716
- : rel === ":create/time"
717
- ? target.type === "constant"
718
- ? Object.entries(graph.edges.createTimeByUid)
719
- .filter(([_, text]) => text !== Number(targetString))
720
- .map(([uid]) => ({ [v]: { uid } }))
721
- : target.type === "underscore"
722
- ? Object.keys(graph.edges.createTimeByUid).map((uid) => ({
723
- [v]: { uid },
724
- }))
725
- : Object.entries(graph.edges.createTimeByUid).map(
726
- ([uid, text]) => ({
727
- [v]: { uid },
728
- [targetVar]: text,
729
- })
730
- )
731
- : rel === ":edit/time"
732
- ? target.type === "constant"
733
- ? Object.entries(graph.edges.editTimeByUid)
734
- .filter(([_, text]) => text !== Number(targetString))
735
- .map(([uid]) => ({ [v]: { uid } }))
736
- : target.type === "underscore"
737
- ? Object.keys(graph.edges.editTimeByUid).map((uid) => ({
738
- [v]: { uid },
739
- }))
740
- : Object.entries(graph.edges.editTimeByUid).map(
741
- ([uid, text]) => ({
742
- [v]: { uid },
743
- [targetVar]: text,
744
- })
745
- )
746
- : rel === ":user/display-name"
747
- ? target.type === "constant"
748
- ? graph.edges.userUidByDisplay[targetString]
749
- ? [
750
- {
751
- [v]: {
752
- uid: graph.edges.userUidByDisplay[targetString],
753
- },
754
- },
755
- ]
756
- : []
757
- : target.type === "underscore"
758
- ? Object.values(graph.edges.userUidByDisplay).map((uid) => ({
759
- [v]: { uid },
760
- }))
761
- : Object.entries(graph.edges.userUidByDisplay).map(
762
- ([title, uid]) => ({
763
- [v]: { uid },
764
- [targetVar]: title,
765
- })
766
- )*/
767
- if (matches instanceof Error) {
768
- throw matches;
769
- }
770
- reconcile(matches, target.type === "variable" ? [sourceVar, targetVar] : [sourceVar]);
771
- }
772
- }
773
- else if (clause.type === "or-clause" ||
774
- clause.type === "or-join-clause") {
775
- let matches = [];
776
- for (const cls of clause.clauses) {
777
- const assignments = getAssignments([cls], Array.from(programs.vars));
778
- if (assignments.size) {
779
- matches = Array.from(assignments);
780
- break;
781
- }
782
- }
783
- const vars = clause.type === "or-join-clause"
784
- ? clause.variables.map((v) => v.value)
785
- : Object.keys(matches[0] || {});
786
- const varSet = new Set(vars);
787
- matches.forEach((a) => {
788
- Object.keys(a).forEach((k) => {
789
- if (!varSet.has(k)) {
790
- delete a[k];
791
- }
792
- });
793
- });
794
- reconcile(matches, vars);
795
- }
796
- else if (clause.type === "and-clause") {
797
- const matches = Array.from(getAssignments(clause.clauses, Array.from(programs.vars)));
798
- reconcile(matches, Object.keys(matches[0] || {}));
799
- }
800
- else if (clause.type === "pred-expr") {
801
- if (clause.pred === "clojure.string/includes?") {
802
- const [variable, constant] = clause.arguments;
803
- if ((variable === null || variable === void 0 ? void 0 : variable.type) !== "variable") {
804
- throw new Error("Expected type to be variable for first clojure.string/includes? argument.");
805
- }
806
- const v = variable.value;
807
- if (!programs.vars.has(v)) {
808
- throw new Error("Expected first clojure.string/includes? argument to be predefined variable.");
809
- }
810
- if ((constant === null || constant === void 0 ? void 0 : constant.type) !== "constant") {
811
- throw new Error("Expected type to be constant for second clojure.string/includes? argument.");
812
- }
813
- const newAssignments = Array.from(programs.assignments).flatMap((dict) => {
814
- const sourceEntry = dict[v];
815
- if (typeof sourceEntry !== "string") {
816
- throw new Error("Expected the variable to map to a string");
817
- }
818
- if (sourceEntry.includes(constant.value.replace(/^"/, "").replace(/"$/, ""))) {
819
- return [dict];
820
- }
821
- else {
822
- return [];
823
- }
824
- });
825
- programs.assignments = new Set(newAssignments);
826
- }
827
- else if (clause.pred === "clojure.string/starts-with?") {
828
- const [variable, constant] = clause.arguments;
829
- const v = variable.value;
830
- if ((variable === null || variable === void 0 ? void 0 : variable.type) !== "variable") {
831
- throw new Error("Expected type to be variable for first clojure.string/starts-with? argument.");
832
- }
833
- if (!programs.vars.has(v)) {
834
- throw new Error("Expected first clojure.string/starts-with? argument to be predefined variable.");
835
- }
836
- if ((constant === null || constant === void 0 ? void 0 : constant.type) !== "constant") {
837
- throw new Error("Expected type to be constant for second clojure.string/starts-with? argument.");
838
- }
839
- const newAssignments = Array.from(programs.assignments).flatMap((dict) => {
840
- const sourceEntry = dict[v];
841
- if (typeof sourceEntry !== "string") {
842
- throw new Error("Expected the variable to map to a string");
843
- return [];
844
- }
845
- if (sourceEntry.startsWith(constant.value.replace(/^"/, "").replace(/"$/, ""))) {
846
- return [dict];
847
- }
848
- else {
849
- return [];
850
- }
851
- });
852
- programs.assignments = new Set(newAssignments);
853
- }
854
- else if (clause.pred === "clojure.string/ends-with?") {
855
- const [variable, constant] = clause.arguments;
856
- const v = variable.value;
857
- if ((variable === null || variable === void 0 ? void 0 : variable.type) !== "variable") {
858
- throw new Error("Expected type to be variable for first clojure.string/ends-with? argument.");
859
- }
860
- if (!programs.vars.has(v)) {
861
- throw new Error("Expected first clojure.string/ends-with? argument to be predefined variable.");
862
- }
863
- if ((constant === null || constant === void 0 ? void 0 : constant.type) !== "constant") {
864
- throw new Error("Expected type to be constant for second clojure.string/ends-with? argument.");
865
- }
866
- const newAssignments = Array.from(programs.assignments).flatMap((dict) => {
867
- const sourceEntry = dict[v];
868
- if (typeof sourceEntry !== "string") {
869
- throw new Error("Expected the variable to map to a string");
870
- }
871
- if (sourceEntry.endsWith(constant.value.replace(/^"/, "").replace(/"$/, ""))) {
872
- return [dict];
873
- }
874
- else {
875
- return [];
876
- }
877
- });
878
- programs.assignments = new Set(newAssignments);
879
- }
880
- else if (clause.pred === "re-find") {
881
- const [regex, variable] = clause.arguments;
882
- const v = variable.value;
883
- const r = regex.value;
884
- if ((variable === null || variable === void 0 ? void 0 : variable.type) !== "variable") {
885
- throw new Error("Expected type to be variable for first re-find argument.");
886
- }
887
- if (!programs.vars.has(v)) {
888
- throw new Error("Expected first re-find argument to be predefined variable.");
889
- }
890
- if ((regex === null || regex === void 0 ? void 0 : regex.type) !== "variable") {
891
- throw new Error("Expected type to be variable for second re-find argument.");
892
- }
893
- if (!programs.vars.has(r)) {
894
- throw new Error("Expected second re-find argument to be predefined variable.");
895
- }
896
- const newAssignments = Array.from(programs.assignments).filter((dict) => {
897
- const regexEntry = dict[r];
898
- if (!(regexEntry instanceof RegExp)) {
899
- throw new Error("Expected the variable to map to a regexp");
900
- }
901
- const targetEntry = dict[v];
902
- if (typeof targetEntry !== "string") {
903
- throw new Error("Expected the variable to map to a string");
904
- }
905
- return regexEntry.test(targetEntry);
906
- });
907
- programs.assignments = new Set(newAssignments);
908
- }
909
- else if (clause.pred === ">") {
910
- const [left, right] = clause.arguments;
911
- const l = left.value;
912
- const r = right.value;
913
- if ((left === null || left === void 0 ? void 0 : left.type) === "variable" && !programs.vars.has(l)) {
914
- throw new Error("If left argument is a variable, it must be predefined");
915
- }
916
- if ((right === null || right === void 0 ? void 0 : right.type) === "variable" && !programs.vars.has(r)) {
917
- throw new Error("If right argument is a variable, it must be predefined");
918
- }
919
- const newAssignments = Array.from(programs.assignments).filter((dict) => {
920
- const leftValue = left.type === "constant" ? Number(left.value) : dict[r];
921
- if (typeof leftValue !== "number") {
922
- throw new Error("Left argument must be a number");
923
- }
924
- const rightValue = right.type === "constant" ? Number(right.value) : dict[r];
925
- if (typeof rightValue !== "number") {
926
- throw new Error("Right argument must be a number");
927
- }
928
- return leftValue > rightValue;
929
- });
930
- programs.assignments = new Set(newAssignments);
931
- }
932
- else if (clause.pred === "<") {
933
- const [left, right] = clause.arguments;
934
- const l = left.value;
935
- const r = right.value;
936
- if ((left === null || left === void 0 ? void 0 : left.type) === "variable" && !programs.vars.has(l)) {
937
- throw new Error("If left argument is a variable, it must be predefined");
938
- }
939
- if ((right === null || right === void 0 ? void 0 : right.type) === "variable" && !programs.vars.has(r)) {
940
- throw new Error("If right argument is a variable, it must be predefined");
941
- }
942
- const newAssignments = Array.from(programs.assignments).filter((dict) => {
943
- const leftValue = left.type === "constant" ? Number(left.value) : dict[r];
944
- if (typeof leftValue !== "number") {
945
- throw new Error("Left argument must be a number");
946
- }
947
- const rightValue = right.type === "constant" ? Number(right.value) : dict[r];
948
- if (typeof rightValue !== "number") {
949
- throw new Error("Right argument must be a number");
950
- }
951
- return leftValue < rightValue;
952
- });
953
- programs.assignments = new Set(newAssignments);
954
- }
955
- else {
956
- throw new Error(`Unexpected predicate ${clause.pred}`);
957
- }
958
- }
959
- else if (clause.type === "fn-expr") {
960
- if (clause.fn === "re-pattern") {
961
- const [constant] = clause.arguments;
962
- if ((constant === null || constant === void 0 ? void 0 : constant.type) !== "constant") {
963
- throw new Error("Expected type to be constant for first re-pattern argument.");
964
- }
965
- const { binding } = clause;
966
- if (binding.type !== "bind-scalar") {
967
- throw new Error("Expected type to be scalar for first re-pattern binding.");
968
- }
969
- const newAssignments = Array.from(programs.assignments).map((dict) => {
970
- return Object.assign(Object.assign({}, dict), { [binding.variable.value]: new RegExp(constant.value.replace(/^"/, "").replace(/"$/, "")) });
971
- });
972
- programs.assignments = new Set(newAssignments);
973
- }
974
- else {
975
- throw new Error(`Unexpected fn name ${clause.fn}`);
976
- }
977
- }
978
- else {
979
- throw new Error(`Unexpected type ${clause.type}`);
980
- }
981
- return programs;
982
- }, {
983
- assignments: new Set([]),
984
- vars: new Set(initialVars),
985
- }).assignments;
986
- };
987
- const assignments = getAssignments(where);
988
- const results = Array.from(assignments).map((res) => find.elements.map((el) => {
989
- if (el.type === "variable") {
990
- const node = res[el.value];
991
- if (isNode(node)) {
992
- return node.id;
993
- }
994
- else if (node instanceof RegExp) {
995
- return node.source;
996
- }
997
- else {
998
- return node;
999
- }
1000
- }
1001
- else if (el.type === "pull") {
1002
- const node = res[el.variable.value];
1003
- if (typeof node === "undefined") {
1004
- throw new Error(`Failed to find ${el.variable.value} in result: ${JSON.stringify(res)}`);
1005
- }
1006
- if (el.pattern.type === "pattern-data-literal") {
1007
- if (isNode(node)) {
1008
- const result = graph.state[node.id];
1009
- return resolvePattern(el.pattern.value, result, graph);
1010
- }
1011
- else {
1012
- throw new Error(`Unexpected pull variable: ${el.variable.value} - ${node}`);
1013
- }
1014
- }
1015
- else {
1016
- throw new Error(`Unexpected pull element pattern type: ${el.pattern.type}`);
1017
- }
1018
- }
1019
- throw new Error(`Unexpected Find element type: ${el.type}`);
1020
- }));
1021
- return results;
1022
- };
1023
- const mockQuery = ({ graph, query }) => {
1024
- const data = (0, edn_data_1.parseEDNString)(query);
1025
- const findIndex = data.findIndex((d) => typeof d === "object" && "key" in d && d.key === "find");
1026
- const whereIndex = data.findIndex((d) => typeof d === "object" && "key" in d && d.key === "where");
1027
- const findPattern = data.slice(findIndex + 1, whereIndex);
1028
- const find = {
1029
- type: "rel",
1030
- elements: findPattern.map((p) => {
1031
- if (typeof p !== "object") {
1032
- throw new Error(`Unexpected type for datalog find, looking for object: ${JSON.stringify(p)}`);
1033
- }
1034
- if ("sym" in p)
1035
- return { type: "variable", value: p.sym };
1036
- if ("list" in p) {
1037
- const [pull, name, attrs] = p.list;
1038
- if (typeof pull !== "object" ||
1039
- !("sym" in pull) ||
1040
- pull.sym !== "pull") {
1041
- throw new Error(`Expected first edn value to be a pull symbol. Found: ${JSON.stringify(p)}`);
1042
- }
1043
- if (typeof name !== "object" || !("sym" in name)) {
1044
- throw new Error(`Expected second edn value to be a pull symbol. Found: ${JSON.stringify(p)}`);
1045
- }
1046
- if (!Array.isArray(attrs)) {
1047
- throw new Error(`Expected third edn value to be an array. Found: ${JSON.stringify(p)}`);
1048
- }
1049
- return {
1050
- type: "pull",
1051
- variable: { type: "variable", value: name.sym.replace(/^\?/, "") },
1052
- pattern: {
1053
- type: "pattern-data-literal",
1054
- value: attrs.map((attr) => {
1055
- if (typeof attr === "object" && "key" in attr) {
1056
- return {
1057
- type: "constant",
1058
- value: `:${attr.key}`,
1059
- };
1060
- }
1061
- if (Array.isArray(attr)) {
1062
- const [name, expr, option] = attr;
1063
- if (typeof name !== "object" || !("key" in name)) {
1064
- throw new Error(`Expected attribute expression to start with key. Found: ${JSON.stringify(attr)}`);
1065
- }
1066
- if (typeof expr !== "object" ||
1067
- !("key" in expr) ||
1068
- !["as", "limit", "default"].includes(expr.key)) {
1069
- throw new Error(`Expected attribute expression to have second key :as, :limit, or :default. Found: ${JSON.stringify(attr)}`);
1070
- }
1071
- if (typeof option !== "string") {
1072
- throw new Error(`Expected attribute expression to end with literal. Found: ${JSON.stringify(attr)}`);
1073
- }
1074
- const pullOption = expr.key === "as"
1075
- ? { type: "as-expr", value: option }
1076
- : undefined; // should be impossible
1077
- if (!pullOption) {
1078
- throw new Error(`Expected attribute expression to be an \`as\` key. Found: ${JSON.stringify(expr)}`);
1079
- }
1080
- return {
1081
- type: "attr-expr",
1082
- name: `:${name.key}`,
1083
- option: pullOption,
1084
- };
1085
- }
1086
- if (typeof attr === "object" && "map" in attr) {
1087
- return {
1088
- type: "map-spec",
1089
- entries: attr.map.map((entry) => {
1090
- const [key, value] = entry;
1091
- if (typeof key !== "object" || !("key" in key)) {
1092
- throw new Error(`Unexpected pattern map key. Found: ${JSON.stringify(entry)}`);
1093
- }
1094
- if (typeof value !== "object" ||
1095
- !("sym" in value) ||
1096
- value.sym !== "...") {
1097
- throw new Error(`Unexpected pattern map value. Found: ${JSON.stringify(entry)}`);
1098
- }
1099
- return {
1100
- key: `:${key.key}`,
1101
- value: value.sym,
1102
- };
1103
- }),
1104
- };
1105
- }
1106
- throw new Error(`Unexpected pattern literal attribute. Found: ${JSON.stringify(attr)}`);
1107
- }),
1108
- },
1109
- };
1110
- }
1111
- throw new Error(`Unexpected object for datalog find: ${JSON.stringify(p)}`);
1112
- }),
1113
- };
1114
- const wherePattern = data.slice(whereIndex + 1);
1115
- const toDatalog = (e) => {
1116
- if (Array.isArray(e)) {
1117
- if (e.length === 3) {
1118
- return {
1119
- type: "data-pattern",
1120
- arguments: e.map((a) => {
1121
- if (typeof a === "object") {
1122
- if ("key" in a) {
1123
- return {
1124
- type: "constant",
1125
- value: `:${a.key}`,
1126
- };
1127
- }
1128
- else if ("sym" in a) {
1129
- return {
1130
- type: "variable",
1131
- value: a.sym.slice(1),
1132
- };
1133
- }
1134
- else {
1135
- throw new Error(`Expected data-pattern argument to come from non array EDN: ${JSON.stringify(a)}`);
1136
- }
1137
- }
1138
- else {
1139
- return {
1140
- type: "constant",
1141
- value: a,
1142
- };
1143
- }
1144
- }),
1145
- };
1146
- }
1147
- }
1148
- throw new Error(`Unknown value for datalog clause: ${JSON.stringify(e)}`);
1149
- };
1150
- const where = wherePattern.map(toDatalog);
1151
- return fireQuery({ graph, find, where });
1152
- };
1153
- const mockRoamEnvironment = () => {
1154
- const graph = initMockGraph();
1155
- const dom = new jsdom_1.JSDOM();
1156
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1157
- // @ts-ignore
1158
- global.window = dom.window;
1159
- global.document = dom.window.document;
1160
- global.window.roamAlphaAPI = Object.assign(Object.assign({}, global.window.roamAlphaAPI), { pull: (_, id) => {
1161
- const pick = (node) => {
1162
- // TODO - process exp
1163
- return node;
1164
- };
1165
- if (Array.isArray(id)) {
1166
- const [attr, val] = id;
1167
- if (attr === ":block/uid") {
1168
- return pick(graph.state[graph.uids[val]]);
1169
- }
1170
- else if (attr === ":node/title") {
1171
- return pick(graph.state[graph.titles[val]]);
1172
- }
1173
- else {
1174
- throw new Error(`Attr is not supported: ${attr}`);
1175
- }
1176
- }
1177
- else if (typeof id === "number") {
1178
- return pick(graph.state[id]);
1179
- }
1180
- else {
1181
- throw new Error(`Id is not supported: ${id}`);
1182
- }
1183
- }, q: (query, ..._params) => {
1184
- return mockQuery({ graph, query });
1185
- }, createBlock: (action) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1186
- if (!action.block)
1187
- throw new Error(`block field is required`);
1188
- if (!action.location)
1189
- throw new Error(`location field is required`);
1190
- const parent = graph.uids[action.location["parent-uid"]];
1191
- if (!parent)
1192
- throw new Error(`Could not find parent by uid: ${action.location["parent-uid"]}`);
1193
- const parentBlock = graph.state[parent];
1194
- const id = getDbId();
1195
- const block = {
1196
- ":block/string": action.block.string,
1197
- ":block/uid": action.block.uid || window.roamAlphaAPI.util.generateUID(),
1198
- ":block/parents": [{ ":db/id": parent }].concat(parentBlock[":block/parents"] || []),
1199
- ":db/id": id,
1200
- ":block/order": action.location.order,
1201
- };
1202
- graph.uids[block[":block/uid"]] = id;
1203
- parentBlock[":block/children"] = (parentBlock[":block/children"] || []).concat({ ":db/id": id });
1204
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1205
- // @ts-ignore
1206
- graph.state[id] = block;
1207
- }), updateBlock: (action) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1208
- if (!action.block)
1209
- throw new Error(`block field is required`);
1210
- if (!action.block.uid)
1211
- throw new Error(`block uid is required`);
1212
- const block = graph.uids[action.block.uid];
1213
- if (!block) {
1214
- throw new Error(`Could not find block by uid: ${action.block.uid}`);
1215
- }
1216
- if (typeof action.block.string !== "undefined") {
1217
- graph.state[block][":block/string"] = action.block.string;
1218
- }
1219
- if (typeof action.block.open !== "undefined") {
1220
- graph.state[block][":block/open"] = action.block.open;
1221
- }
1222
- if (typeof action.block.heading !== "undefined") {
1223
- graph.state[block][":block/heading"] = action.block.heading;
1224
- }
1225
- if (typeof action.block["text-align"] !== "undefined") {
1226
- graph.state[block][":block/text-align"] = action.block["text-align"];
1227
- }
1228
- if (typeof action.block["children-view-type"] !== "undefined") {
1229
- graph.state[block][":children/view-type"] = `:${action.block["children-view-type"]}`;
1230
- }
1231
- }), createPage: (action) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
1232
- if (!action.page)
1233
- throw new Error(`page field is required`);
1234
- if (!action.page.title)
1235
- throw new Error(`page title field is required`);
1236
- const id = getDbId();
1237
- const page = {
1238
- ":node/title": action.page.title,
1239
- ":block/uid": action.page.uid || window.roamAlphaAPI.util.generateUID(),
1240
- ":db/id": id,
1241
- };
1242
- graph.titles[action.page.title] = id;
1243
- graph.uids[page[":block/uid"]] = id;
1244
- graph.state[id] = page;
1245
- }) });
1246
- global.window.roamAlphaAPI.data = Object.assign(Object.assign({}, global.window.roamAlphaAPI.data), { fast: {
1247
- q: (query, ..._params) => {
1248
- return mockQuery({ graph, query });
1249
- },
1250
- } });
1251
- global.window.roamAlphaAPI.util = Object.assign(Object.assign({}, global.window.roamAlphaAPI.util), { generateUID: () => (0, nanoid_1.default)().slice(0, 9) });
1252
- };
1253
- exports.default = mockRoamEnvironment;
1254
- //# sourceMappingURL=mockRoamEnvironment.js.map