@seedprotocol/sdk 0.3.2 → 0.3.4

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 (391) hide show
  1. package/dist/bin.js +28 -126
  2. package/dist/bin.js.map +1 -1
  3. package/dist/main.js +15 -24
  4. package/dist/main.js.map +1 -1
  5. package/dist/src/Item/BaseItem.js +309 -0
  6. package/dist/src/Item/BaseItem.js.map +1 -0
  7. package/dist/src/Item/index.js +4 -0
  8. package/dist/src/Item/index.js.map +1 -0
  9. package/dist/src/Item/queries.js +94 -0
  10. package/dist/src/Item/queries.js.map +1 -0
  11. package/dist/src/Item/service/actors/fetchDataFromEas.js +74 -0
  12. package/dist/src/Item/service/actors/fetchDataFromEas.js.map +1 -0
  13. package/dist/src/Item/service/actors/hydrateExistingItem.js +119 -0
  14. package/dist/src/Item/service/actors/hydrateExistingItem.js.map +1 -0
  15. package/dist/src/Item/service/actors/hydrateNewItem.js +28 -0
  16. package/dist/src/Item/service/actors/hydrateNewItem.js.map +1 -0
  17. package/dist/src/Item/service/actors/initialize.js +39 -0
  18. package/dist/src/Item/service/actors/initialize.js.map +1 -0
  19. package/dist/src/Item/service/actors/reload.js +26 -0
  20. package/dist/src/Item/service/actors/reload.js.map +1 -0
  21. package/dist/src/Item/service/actors/waitForDb.js +22 -0
  22. package/dist/src/Item/service/actors/waitForDb.js.map +1 -0
  23. package/dist/src/Item/service/itemMachineSingle.js +154 -0
  24. package/dist/src/Item/service/itemMachineSingle.js.map +1 -0
  25. package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +1 -1
  26. package/dist/src/ItemProperty/BaseItemProperty.js +306 -0
  27. package/dist/src/ItemProperty/BaseItemProperty.js.map +1 -0
  28. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
  29. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +196 -0
  30. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
  31. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
  32. package/dist/src/ItemProperty/service/actors/initialize.js +60 -0
  33. package/dist/src/ItemProperty/service/actors/initialize.js.map +1 -0
  34. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
  35. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +317 -0
  36. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
  37. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +1 -1
  38. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js +62 -0
  39. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
  40. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +100 -0
  41. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
  42. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.d.ts.map +1 -1
  43. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js +178 -0
  44. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js.map +1 -0
  45. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
  46. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +117 -0
  47. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
  48. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +81 -0
  49. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
  50. package/dist/src/ItemProperty/service/actors/waitForDb.js +22 -0
  51. package/dist/src/ItemProperty/service/actors/waitForDb.js.map +1 -0
  52. package/dist/src/ItemProperty/service/propertyMachine.js +198 -0
  53. package/dist/src/ItemProperty/service/propertyMachine.js.map +1 -0
  54. package/dist/src/browser/Item/Item.js +11 -0
  55. package/dist/src/browser/Item/Item.js.map +1 -0
  56. package/dist/src/browser/Item/index.js +2 -0
  57. package/dist/src/browser/Item/index.js.map +1 -0
  58. package/dist/src/browser/ItemProperty/ItemProperty.js +11 -0
  59. package/dist/src/browser/ItemProperty/ItemProperty.js.map +1 -0
  60. package/dist/src/browser/db/Db.d.ts +10 -5
  61. package/dist/src/browser/db/Db.d.ts.map +1 -1
  62. package/dist/src/browser/db/Db.js +218 -0
  63. package/dist/src/browser/db/Db.js.map +1 -0
  64. package/dist/src/browser/db/sqlWasmClient.d.ts +0 -12
  65. package/dist/src/browser/db/sqlWasmClient.d.ts.map +1 -1
  66. package/dist/{ArweaveClient-C0g0es2v.js → src/browser/helpers/ArweaveClient.js} +3 -3
  67. package/dist/{ArweaveClient-C0g0es2v.js.map → src/browser/helpers/ArweaveClient.js.map} +1 -1
  68. package/dist/src/browser/helpers/FileManager.d.ts +2 -0
  69. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  70. package/dist/src/browser/helpers/FileManager.js +308 -0
  71. package/dist/src/browser/helpers/FileManager.js.map +1 -0
  72. package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
  73. package/dist/{QueryClient-hzOtFe99.js → src/browser/helpers/QueryClient.js} +2 -5
  74. package/dist/src/browser/helpers/QueryClient.js.map +1 -0
  75. package/dist/src/browser/index.d.ts +2 -1
  76. package/dist/src/browser/index.d.ts.map +1 -1
  77. package/dist/src/browser/react/db.js +6 -0
  78. package/dist/src/browser/react/db.js.map +1 -0
  79. package/dist/src/browser/react/item.js +260 -0
  80. package/dist/src/browser/react/item.js.map +1 -0
  81. package/dist/src/browser/react/property.js +107 -0
  82. package/dist/src/browser/react/property.js.map +1 -0
  83. package/dist/src/browser/react/services.d.ts.map +1 -1
  84. package/dist/src/browser/react/services.js +299 -0
  85. package/dist/src/browser/react/services.js.map +1 -0
  86. package/dist/src/browser/react/trash.js +25 -0
  87. package/dist/src/browser/react/trash.js.map +1 -0
  88. package/dist/src/browser/workers/FileDownloader.js +49 -0
  89. package/dist/src/browser/workers/FileDownloader.js.map +1 -0
  90. package/dist/src/browser/workers/ImageResizer.d.ts.map +1 -1
  91. package/dist/src/browser/workers/ImageResizer.js +62 -0
  92. package/dist/src/browser/workers/ImageResizer.js.map +1 -0
  93. package/dist/src/browser/workers/dbWorker.d.ts +1 -0
  94. package/dist/src/browser/workers/dbWorker.d.ts.map +1 -0
  95. package/dist/src/browser/workers/filesDownload.js +241 -0
  96. package/dist/src/browser/workers/filesDownload.js.map +1 -0
  97. package/dist/src/browser/workers/imageResize.js +379 -0
  98. package/dist/src/browser/workers/imageResize.js.map +1 -0
  99. package/dist/src/client/ClientManager.d.ts +12 -12
  100. package/dist/src/client/ClientManager.d.ts.map +1 -1
  101. package/dist/src/client/ClientManager.js +59 -0
  102. package/dist/src/client/ClientManager.js.map +1 -0
  103. package/dist/src/client/actions/setAddresses.js +19 -0
  104. package/dist/src/client/actions/setAddresses.js.map +1 -0
  105. package/dist/src/client/actors/initialize.d.ts.map +1 -1
  106. package/dist/src/client/actors/initialize.js +84 -0
  107. package/dist/src/client/actors/initialize.js.map +1 -0
  108. package/dist/src/client/actors/saveAppState.js +44 -0
  109. package/dist/src/client/actors/saveAppState.js.map +1 -0
  110. package/dist/src/client/clientManagerMachine.js +61 -0
  111. package/dist/src/client/clientManagerMachine.js.map +1 -0
  112. package/dist/src/db/Db/BaseDb.d.ts +1 -2
  113. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  114. package/dist/src/db/Db/BaseDb.js +22 -0
  115. package/dist/src/db/Db/BaseDb.js.map +1 -0
  116. package/dist/{seed.schema.config-DzDX8e7g.js → src/db/configs/seed.schema.config.js} +3 -25
  117. package/dist/src/db/configs/seed.schema.config.js.map +1 -0
  118. package/dist/src/db/read/getExistingItem.js +29 -0
  119. package/dist/src/db/read/getExistingItem.js.map +1 -0
  120. package/dist/src/db/read/getItem.js +26 -0
  121. package/dist/src/db/read/getItem.js.map +1 -0
  122. package/dist/src/db/read/getItemData.js +84 -0
  123. package/dist/src/db/read/getItemData.js.map +1 -0
  124. package/dist/src/db/read/getItemProperties.js +49 -0
  125. package/dist/src/db/read/getItemProperties.js.map +1 -0
  126. package/dist/src/db/read/getItemProperty.js +30 -0
  127. package/dist/src/db/read/getItemProperty.js.map +1 -0
  128. package/dist/src/db/read/getItems.js +49 -0
  129. package/dist/src/db/read/getItems.js.map +1 -0
  130. package/dist/src/db/read/getMetadata.js +32 -0
  131. package/dist/src/db/read/getMetadata.js.map +1 -0
  132. package/dist/src/db/read/getModelSchemas.js +69 -0
  133. package/dist/src/db/read/getModelSchemas.js.map +1 -0
  134. package/dist/src/db/read/getPropertyData.js +38 -0
  135. package/dist/src/db/read/getPropertyData.js.map +1 -0
  136. package/dist/src/db/read/getPublishPayload.js +213 -0
  137. package/dist/src/db/read/getPublishPayload.js.map +1 -0
  138. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  139. package/dist/src/db/read/getPublishUploads.js +134 -0
  140. package/dist/src/db/read/getPublishUploads.js.map +1 -0
  141. package/dist/src/db/read/getRelationValueData.js +30 -0
  142. package/dist/src/db/read/getRelationValueData.js.map +1 -0
  143. package/dist/src/db/read/getSchemaUidForModel.js +28 -0
  144. package/dist/src/db/read/getSchemaUidForModel.js.map +1 -0
  145. package/dist/src/db/read/getSeedData.js +28 -0
  146. package/dist/src/db/read/getSeedData.js.map +1 -0
  147. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +30 -0
  148. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
  149. package/dist/src/db/read/getVersionData.js +33 -0
  150. package/dist/src/db/read/getVersionData.js.map +1 -0
  151. package/dist/src/db/read/subqueries/metadataLatest.js +35 -0
  152. package/dist/src/db/read/subqueries/metadataLatest.js.map +1 -0
  153. package/dist/src/db/read/subqueries/versionData.js +27 -0
  154. package/dist/src/db/read/subqueries/versionData.js.map +1 -0
  155. package/dist/src/db/write/createMetadata.d.ts.map +1 -1
  156. package/dist/src/db/write/createMetadata.js +63 -0
  157. package/dist/src/db/write/createMetadata.js.map +1 -0
  158. package/dist/src/db/write/createNewItem.js +38 -0
  159. package/dist/src/db/write/createNewItem.js.map +1 -0
  160. package/dist/src/db/write/createSeed.js +29 -0
  161. package/dist/src/db/write/createSeed.js.map +1 -0
  162. package/dist/src/db/write/createSeeds.js +25 -0
  163. package/dist/src/db/write/createSeeds.js.map +1 -0
  164. package/dist/src/db/write/createVersion.js +25 -0
  165. package/dist/src/db/write/createVersion.js.map +1 -0
  166. package/dist/src/db/write/deleteItem.js +21 -0
  167. package/dist/src/db/write/deleteItem.js.map +1 -0
  168. package/dist/src/db/write/saveAppState.js +26 -0
  169. package/dist/src/db/write/saveAppState.js.map +1 -0
  170. package/dist/src/db/write/saveMetadata.js +22 -0
  171. package/dist/src/db/write/saveMetadata.js.map +1 -0
  172. package/dist/src/db/write/updateItemPropertyValue.js +161 -0
  173. package/dist/src/db/write/updateItemPropertyValue.js.map +1 -0
  174. package/dist/src/db/write/updateMetadata.js +25 -0
  175. package/dist/src/db/write/updateMetadata.js.map +1 -0
  176. package/dist/src/eventBus.js +6 -0
  177. package/dist/src/eventBus.js.map +1 -0
  178. package/dist/src/events/files/download.js +161 -0
  179. package/dist/src/events/files/download.js.map +1 -0
  180. package/dist/src/events/files/index.d.ts.map +1 -1
  181. package/dist/src/events/files/index.js +61 -0
  182. package/dist/src/events/files/index.js.map +1 -0
  183. package/dist/src/events/index.js +28 -0
  184. package/dist/src/events/index.js.map +1 -0
  185. package/dist/src/events/item/index.js +28 -0
  186. package/dist/src/events/item/index.js.map +1 -0
  187. package/dist/src/events/item/publish.js +19 -0
  188. package/dist/src/events/item/publish.js.map +1 -0
  189. package/dist/src/events/item/syncDbWithEas.js +428 -0
  190. package/dist/src/events/item/syncDbWithEas.js.map +1 -0
  191. package/dist/src/events/services/allItems.js +20 -0
  192. package/dist/src/events/services/allItems.js.map +1 -0
  193. package/dist/src/events/services/index.js +9 -0
  194. package/dist/src/events/services/index.js.map +1 -0
  195. package/dist/src/graphql/gql/gql.js +38 -0
  196. package/dist/src/graphql/gql/gql.js.map +1 -0
  197. package/dist/src/graphql/gql/graphql.js +106 -0
  198. package/dist/src/graphql/gql/graphql.js.map +1 -0
  199. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js +11 -0
  200. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
  201. package/dist/src/helpers/ArweaveClient/index.js +45 -0
  202. package/dist/src/helpers/ArweaveClient/index.js.map +1 -0
  203. package/dist/src/helpers/ArweaveClient/queries.js +16 -0
  204. package/dist/src/helpers/ArweaveClient/queries.js.map +1 -0
  205. package/dist/src/helpers/EasClient/BaseEasClient.js +14 -0
  206. package/dist/src/helpers/EasClient/BaseEasClient.js.map +1 -0
  207. package/dist/src/helpers/FileManager/BaseFileManager.d.ts +3 -0
  208. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
  209. package/dist/src/helpers/FileManager/BaseFileManager.js +55 -0
  210. package/dist/src/helpers/FileManager/BaseFileManager.js.map +1 -0
  211. package/dist/src/helpers/QueryClient/BaseQueryClient.js +11 -0
  212. package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +1 -0
  213. package/dist/src/helpers/constants.js +73 -0
  214. package/dist/src/helpers/constants.js.map +1 -0
  215. package/dist/src/helpers/db.js +43 -0
  216. package/dist/src/helpers/db.js.map +1 -0
  217. package/dist/src/helpers/environment.js +24 -0
  218. package/dist/src/helpers/environment.js.map +1 -0
  219. package/dist/src/helpers/files.d.ts.map +1 -1
  220. package/dist/src/helpers/getSchemaForItemProperty.js +51 -0
  221. package/dist/src/helpers/getSchemaForItemProperty.js.map +1 -0
  222. package/dist/src/helpers/getSegmentedItemProperties.js +50 -0
  223. package/dist/src/helpers/getSegmentedItemProperties.js.map +1 -0
  224. package/dist/src/helpers/index.d.ts.map +1 -1
  225. package/dist/src/helpers/index.js +101 -0
  226. package/dist/src/helpers/index.js.map +1 -0
  227. package/dist/src/helpers/updateMachineContext.js +20 -0
  228. package/dist/src/helpers/updateMachineContext.js.map +1 -0
  229. package/dist/src/index.d.ts +1 -5
  230. package/dist/src/index.d.ts.map +1 -1
  231. package/dist/src/interfaces/IDb.d.ts.map +1 -1
  232. package/dist/src/node/codegen/drizzle.d.ts.map +1 -1
  233. package/dist/src/node/codegen/drizzle.js +58 -0
  234. package/dist/src/node/codegen/drizzle.js.map +1 -0
  235. package/dist/src/node/constants.js +29 -0
  236. package/dist/src/node/constants.js.map +1 -0
  237. package/dist/src/node/db/Db.d.ts +5 -6
  238. package/dist/src/node/db/Db.d.ts.map +1 -1
  239. package/dist/{ArweaveClient-CzkBgiZY.js → src/node/helpers/ArweaveClient.js} +3 -3
  240. package/dist/{ArweaveClient-CzkBgiZY.js.map → src/node/helpers/ArweaveClient.js.map} +1 -1
  241. package/dist/{EasClient-DQ93i2ci.js → src/node/helpers/EasClient.js} +3 -3
  242. package/dist/{EasClient-DQ93i2ci.js.map → src/node/helpers/EasClient.js.map} +1 -1
  243. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  244. package/dist/{QueryClient-Bmnv_moN.js → src/node/helpers/QueryClient.js} +2 -4
  245. package/dist/{QueryClient-Bmnv_moN.js.map → src/node/helpers/QueryClient.js.map} +1 -1
  246. package/dist/src/node/helpers/index.d.ts.map +1 -1
  247. package/dist/src/node/helpers/index.js +28 -0
  248. package/dist/src/node/helpers/index.js.map +1 -0
  249. package/dist/src/node/seed.d.ts +0 -6
  250. package/dist/src/node/seed.d.ts.map +1 -1
  251. package/dist/src/node/webpack/index.d.ts.map +1 -1
  252. package/dist/src/node/webpack/index.js +89 -0
  253. package/dist/src/node/webpack/index.js.map +1 -0
  254. package/dist/src/schema/file/fetchAll/actors.d.ts.map +1 -1
  255. package/dist/src/schema/file/queries.js +48 -0
  256. package/dist/src/schema/file/queries.js.map +1 -0
  257. package/dist/src/schema/model/index.js +44 -0
  258. package/dist/src/schema/model/index.js.map +1 -0
  259. package/dist/src/schema/property/index.js +82 -0
  260. package/dist/src/schema/property/index.js.map +1 -0
  261. package/dist/src/seedSchema/AppStateSchema.js +11 -0
  262. package/dist/src/seedSchema/AppStateSchema.js.map +1 -0
  263. package/dist/src/seedSchema/MetadataSchema.js +29 -0
  264. package/dist/src/seedSchema/MetadataSchema.js.map +1 -0
  265. package/dist/src/seedSchema/ModelSchema.js +33 -0
  266. package/dist/src/seedSchema/ModelSchema.js.map +1 -0
  267. package/dist/src/seedSchema/ModelUidSchema.js +18 -0
  268. package/dist/src/seedSchema/ModelUidSchema.js.map +1 -0
  269. package/dist/src/seedSchema/SeedSchema.js +16 -0
  270. package/dist/src/seedSchema/SeedSchema.js.map +1 -0
  271. package/dist/src/seedSchema/VersionSchema.js +17 -0
  272. package/dist/src/seedSchema/VersionSchema.js.map +1 -0
  273. package/dist/src/services/allItems/actors/fetchDbData.js +13 -0
  274. package/dist/src/services/allItems/actors/fetchDbData.js.map +1 -0
  275. package/dist/src/services/allItems/actors/fetchRelatedItems.js +137 -0
  276. package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +1 -0
  277. package/dist/src/services/allItems/actors/fetchSeeds.js +31 -0
  278. package/dist/src/services/allItems/actors/fetchSeeds.js.map +1 -0
  279. package/dist/src/services/allItems/actors/fetchVersions.js +35 -0
  280. package/dist/src/services/allItems/actors/fetchVersions.js.map +1 -0
  281. package/dist/src/services/allItems/actors/initialize.js +144 -0
  282. package/dist/src/services/allItems/actors/initialize.js.map +1 -0
  283. package/dist/src/services/allItems/actors/processItems.js +55 -0
  284. package/dist/src/services/allItems/actors/processItems.js.map +1 -0
  285. package/dist/src/services/allItems/itemMachineAll.js +153 -0
  286. package/dist/src/services/allItems/itemMachineAll.js.map +1 -0
  287. package/dist/src/services/db/actors/checkStatus.d.ts.map +1 -1
  288. package/dist/src/services/db/actors/checkStatus.js +41 -0
  289. package/dist/src/services/db/actors/checkStatus.js.map +1 -0
  290. package/dist/src/services/db/actors/connectToDb.d.ts.map +1 -1
  291. package/dist/src/services/db/actors/connectToDb.js +31 -0
  292. package/dist/src/services/db/actors/connectToDb.js.map +1 -0
  293. package/dist/src/services/db/actors/migrate.d.ts.map +1 -1
  294. package/dist/src/services/db/actors/migrate.js +40 -0
  295. package/dist/src/services/db/actors/migrate.js.map +1 -0
  296. package/dist/src/services/db/actors/validate.d.ts.map +1 -1
  297. package/dist/src/services/db/actors/validate.js +40 -0
  298. package/dist/src/services/db/actors/validate.js.map +1 -0
  299. package/dist/src/services/db/actors/waitForFiles.d.ts.map +1 -1
  300. package/dist/src/services/db/actors/waitForFiles.js +32 -0
  301. package/dist/src/services/db/actors/waitForFiles.js.map +1 -0
  302. package/dist/src/services/db/dbMachine.d.ts.map +1 -1
  303. package/dist/src/services/db/dbMachine.js +156 -0
  304. package/dist/src/services/db/dbMachine.js.map +1 -0
  305. package/dist/src/services/events.js +15 -0
  306. package/dist/src/services/events.js.map +1 -0
  307. package/dist/src/services/global/actors/addModelsToDb.js +115 -0
  308. package/dist/src/services/global/actors/addModelsToDb.js.map +1 -0
  309. package/dist/src/services/global/actors/getSchemaForModel.js +26 -0
  310. package/dist/src/services/global/actors/getSchemaForModel.js.map +1 -0
  311. package/dist/src/services/global/actors/initialize.d.ts.map +1 -1
  312. package/dist/src/services/global/actors/initialize.js +86 -0
  313. package/dist/src/services/global/actors/initialize.js.map +1 -0
  314. package/dist/src/services/global/actors/savePublishService.js +22 -0
  315. package/dist/src/services/global/actors/savePublishService.js.map +1 -0
  316. package/dist/src/services/global/globalMachine.d.ts +90 -90
  317. package/dist/src/services/global/globalMachine.d.ts.map +1 -1
  318. package/dist/src/services/global/globalMachine.js +246 -0
  319. package/dist/src/services/global/globalMachine.js.map +1 -0
  320. package/dist/src/services/internal/actors/configureFs.d.ts.map +1 -1
  321. package/dist/src/services/internal/actors/configureFs.js +70 -0
  322. package/dist/src/services/internal/actors/configureFs.js.map +1 -0
  323. package/dist/src/services/internal/actors/loadAppDb.d.ts.map +1 -1
  324. package/dist/src/services/internal/actors/loadAppDb.js +22 -0
  325. package/dist/src/services/internal/actors/loadAppDb.js.map +1 -0
  326. package/dist/src/services/internal/actors/prepareDb.d.ts.map +1 -1
  327. package/dist/src/services/internal/actors/saveConfig.js +88 -0
  328. package/dist/src/services/internal/actors/saveConfig.js.map +1 -0
  329. package/dist/src/services/internal/actors/validateInput.js +34 -0
  330. package/dist/src/services/internal/actors/validateInput.js.map +1 -0
  331. package/dist/src/services/internal/actors/waitForFiles.js +33 -0
  332. package/dist/src/services/internal/actors/waitForFiles.js.map +1 -0
  333. package/dist/src/services/internal/constants.js +85 -0
  334. package/dist/src/services/internal/constants.js.map +1 -0
  335. package/dist/src/services/internal/helpers.d.ts.map +1 -1
  336. package/dist/src/services/internal/helpers.js +171 -0
  337. package/dist/src/services/internal/helpers.js.map +1 -0
  338. package/dist/src/services/internal/internalMachine.d.ts +0 -10
  339. package/dist/src/services/internal/internalMachine.d.ts.map +1 -1
  340. package/dist/src/services/internal/internalMachine.js +188 -0
  341. package/dist/src/services/internal/internalMachine.js.map +1 -0
  342. package/dist/src/services/publish/actors/createPublishAttempt.js +14 -0
  343. package/dist/src/services/publish/actors/createPublishAttempt.js.map +1 -0
  344. package/dist/src/services/publish/actors/preparePublishRequestData.js +70 -0
  345. package/dist/src/services/publish/actors/preparePublishRequestData.js.map +1 -0
  346. package/dist/src/services/publish/actors/upload.js +55 -0
  347. package/dist/src/services/publish/actors/upload.js.map +1 -0
  348. package/dist/src/services/publish/actors/validateItemData.js +18 -0
  349. package/dist/src/services/publish/actors/validateItemData.js.map +1 -0
  350. package/dist/src/services/publish/publishMachine.js +71 -0
  351. package/dist/src/services/publish/publishMachine.js.map +1 -0
  352. package/dist/src/stores/eas.js +40 -0
  353. package/dist/src/stores/eas.js.map +1 -0
  354. package/dist/src/stores/modelClass.js +16 -0
  355. package/dist/src/stores/modelClass.js.map +1 -0
  356. package/dist/src/types/index.d.ts.map +1 -1
  357. package/package.json +7 -6
  358. package/dist/Db-Bn2_MKKq.js +0 -82
  359. package/dist/Db-Bn2_MKKq.js.map +0 -1
  360. package/dist/Db-DL9szGvt.js +0 -385
  361. package/dist/Db-DL9szGvt.js.map +0 -1
  362. package/dist/EasClient-B9a3NsTi.js +0 -10
  363. package/dist/EasClient-B9a3NsTi.js.map +0 -1
  364. package/dist/FileManager-Gci1k5HJ.js +0 -50
  365. package/dist/FileManager-Gci1k5HJ.js.map +0 -1
  366. package/dist/Item-CUQ8wILT.js +0 -35
  367. package/dist/Item-CUQ8wILT.js.map +0 -1
  368. package/dist/ItemProperty-DjGDsSEN.js +0 -34
  369. package/dist/ItemProperty-DjGDsSEN.js.map +0 -1
  370. package/dist/QueryClient-hzOtFe99.js.map +0 -1
  371. package/dist/constants-Bhl5dZpN.js +0 -227
  372. package/dist/constants-Bhl5dZpN.js.map +0 -1
  373. package/dist/index-DJjmh3u9.js +0 -8934
  374. package/dist/index-DJjmh3u9.js.map +0 -1
  375. package/dist/index-DtB4Tlwd.js +0 -26
  376. package/dist/index-DtB4Tlwd.js.map +0 -1
  377. package/dist/seed.schema.config-DzDX8e7g.js.map +0 -1
  378. package/dist/src/browser/db/index.d.ts +0 -2
  379. package/dist/src/browser/db/index.d.ts.map +0 -1
  380. package/dist/src/db/Db/index.d.ts +0 -5
  381. package/dist/src/db/Db/index.d.ts.map +0 -1
  382. package/dist/src/helpers/EasClient/index.d.ts +0 -5
  383. package/dist/src/helpers/EasClient/index.d.ts.map +0 -1
  384. package/dist/src/helpers/FileManager/index.d.ts +0 -5
  385. package/dist/src/helpers/FileManager/index.d.ts.map +0 -1
  386. package/dist/src/helpers/QueryClient/index.d.ts +0 -5
  387. package/dist/src/helpers/QueryClient/index.d.ts.map +0 -1
  388. package/dist/src/node/index.d.ts +0 -2
  389. package/dist/src/node/index.d.ts.map +0 -1
  390. package/dist/src/services/global/index.d.ts +0 -2
  391. package/dist/src/services/global/index.d.ts.map +0 -1
@@ -0,0 +1,306 @@
1
+ import { createActor, waitFor } from 'xstate';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { immerable } from 'immer';
4
+ import { getModel } from '../stores/modelClass.js';
5
+ import { propertyMachine } from './service/propertyMachine.js';
6
+ import { internalPropertyNames } from '../helpers/constants.js';
7
+ import debug from 'debug';
8
+ import pluralize from 'pluralize';
9
+ import { getPropertyData } from '../db/read/getPropertyData.js';
10
+ import { getCorrectId } from '../helpers/index.js';
11
+ import { BaseFileManager } from '../helpers/FileManager/BaseFileManager.js';
12
+
13
+ var _a;
14
+ const logger = debug('seedSdk:property:class');
15
+ class BaseItemProperty {
16
+ constructor(initialValues) {
17
+ this._isRelation = false;
18
+ this._isList = false;
19
+ this[_a] = true;
20
+ const { modelName, propertyName, propertyValue, seedLocalId, seedUid, versionLocalId, versionUid, storageTransactionId, schemaUid } = initialValues;
21
+ if (!modelName) {
22
+ throw new Error('Model name is required');
23
+ }
24
+ const ModelClass = getModel(modelName);
25
+ if (!ModelClass) {
26
+ throw new Error(`Model ${modelName} not found`);
27
+ }
28
+ if (!propertyName) {
29
+ throw new Error(`Property name not provided`);
30
+ }
31
+ const serviceInput = {
32
+ propertyValue,
33
+ propertyName,
34
+ seedLocalId,
35
+ seedUid,
36
+ versionLocalId,
37
+ versionUid,
38
+ modelName: modelName,
39
+ storageTransactionId,
40
+ propertyRecordSchema: ModelClass.schema[propertyName],
41
+ schemaUid,
42
+ };
43
+ if (!internalPropertyNames.includes(propertyName)) {
44
+ let propertyNameWithoutId;
45
+ const propertyRecordSchema = ModelClass.schema[propertyName];
46
+ if (propertyRecordSchema) {
47
+ this._dataType = propertyRecordSchema.dataType;
48
+ serviceInput.propertyRecordSchema = propertyRecordSchema;
49
+ if (propertyRecordSchema.dataType === 'Relation') {
50
+ this._isRelation = true;
51
+ }
52
+ if (propertyRecordSchema.dataType === 'List' &&
53
+ propertyRecordSchema.ref) {
54
+ this._isList = true;
55
+ this._isRelation = true;
56
+ if (propertyValue) {
57
+ try {
58
+ serviceInput.propertyValue = JSON.parse(propertyValue);
59
+ }
60
+ catch (e) {
61
+ logger('List property value is not JSON', e);
62
+ }
63
+ }
64
+ const propertyNameSingular = pluralize(propertyName, 1);
65
+ this._alias = propertyName;
66
+ serviceInput.propertyName = `${propertyNameSingular}${propertyRecordSchema.ref}Ids`;
67
+ }
68
+ if (!this._alias && propertyNameWithoutId) ;
69
+ }
70
+ }
71
+ serviceInput.isRelation = this._isRelation;
72
+ this._subject = new BehaviorSubject(propertyValue);
73
+ this._service = createActor(propertyMachine, {
74
+ input: serviceInput,
75
+ });
76
+ this._subscription = this._service.subscribe(async (snapshot) => {
77
+ if (!snapshot || !snapshot.context) {
78
+ return;
79
+ }
80
+ const { context } = snapshot;
81
+ const { propertyRecordSchema } = context;
82
+ if (context.seedLocalId) {
83
+ const cacheKey = BaseItemProperty.cacheKey(context.seedLocalId, context.propertyName);
84
+ if (!BaseItemProperty.instanceCache.has(cacheKey)) {
85
+ BaseItemProperty.instanceCache.set(cacheKey, {
86
+ instance: this,
87
+ refCount: 1,
88
+ });
89
+ }
90
+ }
91
+ let renderValue;
92
+ if (propertyRecordSchema &&
93
+ propertyRecordSchema.storageType &&
94
+ propertyRecordSchema.storageType === 'ItemStorage' &&
95
+ context.refResolvedValue &&
96
+ context.localStorageDir) {
97
+ const filePath = `/files/${context.localStorageDir}/${context.refResolvedValue}`;
98
+ try {
99
+ const exists = await BaseFileManager.pathExists(filePath);
100
+ if (exists) {
101
+ renderValue = await BaseFileManager.readFileAsString(filePath);
102
+ }
103
+ if (!exists) {
104
+ renderValue = 'No file found';
105
+ }
106
+ }
107
+ catch (e) {
108
+ logger(`[ItemProperty] [${context.seedLocalId}] [${context.propertyName}] [storageType] error`, e);
109
+ renderValue = 'No file found';
110
+ }
111
+ }
112
+ if (!renderValue) {
113
+ renderValue = context.renderValue || context.propertyValue;
114
+ }
115
+ let transformedPropertyName = propertyName;
116
+ const skipTransform = internalPropertyNames.includes(propertyName) || !!this._alias;
117
+ if (!skipTransform && transformedPropertyName.endsWith('Id')) {
118
+ transformedPropertyName = transformedPropertyName.slice(0, -2);
119
+ }
120
+ if (!skipTransform && transformedPropertyName.endsWith('Ids')) {
121
+ transformedPropertyName = transformedPropertyName.slice(0, -3);
122
+ }
123
+ if (skipTransform && this._alias) {
124
+ transformedPropertyName = this._alias;
125
+ }
126
+ if (skipTransform && !this._alias) ;
127
+ if (this._subject.value === renderValue) {
128
+ return;
129
+ }
130
+ this._subject.next(renderValue);
131
+ // TODO: Maybe have this only update the property?
132
+ // if (context.seedLocalId || context.seedUid) {
133
+ // eventEmitter.emit(`property.${context.seedUid || context.seedLocalId}.${propertyName}.update`)
134
+ // }
135
+ // if (context.seedUid) {
136
+ // eventEmitter.emit(`item.${modelName}.${context.seedUid}.update`)
137
+ // }
138
+ });
139
+ this._service.start();
140
+ }
141
+ static setPlatformClass(platformClass) {
142
+ this.PlatformClass = platformClass;
143
+ }
144
+ static create(props) {
145
+ const { propertyName, seedLocalId, seedUid, versionLocalId, versionUid } = props;
146
+ if (!propertyName || (!seedLocalId && !seedUid)) {
147
+ return;
148
+ }
149
+ const cacheKey = this.cacheKey((seedUid || seedLocalId), propertyName);
150
+ if (seedLocalId && propertyName) {
151
+ if (this.instanceCache.has(cacheKey)) {
152
+ const { instance, refCount } = this.instanceCache.get(cacheKey);
153
+ this.instanceCache.set(cacheKey, {
154
+ instance,
155
+ refCount: refCount + 1,
156
+ });
157
+ return instance;
158
+ }
159
+ if (!this.instanceCache.has(cacheKey)) {
160
+ const newInstance = new this(props);
161
+ this.instanceCache.set(cacheKey, {
162
+ instance: newInstance,
163
+ refCount: 1,
164
+ });
165
+ return newInstance;
166
+ }
167
+ }
168
+ if (seedUid && propertyName) {
169
+ if (this.instanceCache.has(cacheKey)) {
170
+ const { instance, refCount } = this.instanceCache.get(cacheKey);
171
+ this.instanceCache.set(cacheKey, { instance, refCount: refCount + 1 });
172
+ return instance;
173
+ }
174
+ if (!this.instanceCache.has(cacheKey)) {
175
+ const newInstance = new this(props);
176
+ this.instanceCache.set(cacheKey, { instance: newInstance, refCount: 1 });
177
+ return newInstance;
178
+ }
179
+ }
180
+ return new this(props);
181
+ }
182
+ static async find({ propertyName, seedLocalId, seedUid, }) {
183
+ if ((!seedLocalId && !seedUid) || !propertyName) {
184
+ return;
185
+ }
186
+ const cacheKeyId = seedUid || seedLocalId;
187
+ const cacheKey = BaseItemProperty.cacheKey(cacheKeyId, propertyName);
188
+ if (this.instanceCache.has(cacheKey)) {
189
+ const { instance, refCount } = this.instanceCache.get(cacheKey);
190
+ this.instanceCache.set(cacheKey, {
191
+ instance,
192
+ refCount: refCount + 1,
193
+ });
194
+ return instance;
195
+ }
196
+ const propertyData = await getPropertyData({
197
+ propertyName,
198
+ seedLocalId,
199
+ seedUid,
200
+ });
201
+ if (!propertyData) {
202
+ return;
203
+ }
204
+ return BaseItemProperty.create(propertyData);
205
+ }
206
+ static cacheKey(seedLocalIdOrUid, propertyName) {
207
+ const { uid, localId } = getCorrectId(seedLocalIdOrUid);
208
+ return `Item_${uid || localId}_${propertyName}`;
209
+ }
210
+ getService() {
211
+ return this._service;
212
+ }
213
+ _getSnapshot() {
214
+ return this._service.getSnapshot();
215
+ }
216
+ get localId() {
217
+ return this._getSnapshot().context.localId;
218
+ }
219
+ get uid() {
220
+ return this._getSnapshot().context.uid;
221
+ }
222
+ get seedLocalId() {
223
+ return this._getSnapshot().context.seedLocalId;
224
+ }
225
+ get seedUid() {
226
+ return this._getSnapshot().context.seedUid;
227
+ }
228
+ get schemaUid() {
229
+ return this._getSnapshot().context.schemaUid;
230
+ }
231
+ get propertyName() {
232
+ if (this._alias) {
233
+ return this._alias;
234
+ }
235
+ return this._getSnapshot().context.propertyName;
236
+ }
237
+ get modelName() {
238
+ return this._getSnapshot().context.modelName;
239
+ }
240
+ get propertyDef() {
241
+ return this._getSnapshot().context.propertyRecordSchema;
242
+ }
243
+ get localStoragePath() {
244
+ if (this.propertyDef && this.propertyDef.localStorageDir) {
245
+ return `/files${this.propertyDef.localStorageDir}/${this._getSnapshot().context.refResolvedValue}`;
246
+ }
247
+ if (this._getSnapshot().context.localStorageDir) {
248
+ return `/files${this._getSnapshot().context.localStorageDir}/${this._getSnapshot().context.refResolvedValue}`;
249
+ }
250
+ }
251
+ get versionLocalId() {
252
+ return this._getSnapshot().context.versionLocalId;
253
+ }
254
+ get status() {
255
+ return this._getSnapshot().value;
256
+ }
257
+ get alias() {
258
+ return this._alias;
259
+ }
260
+ get value() {
261
+ // logger(
262
+ // `[XXXXXXXXXX] [value] [get] subjectValue: ${this._subject.value} serviceValue: ${this._service.getSnapshot().context.renderValue}`,
263
+ // )
264
+ return this._subject.value;
265
+ }
266
+ set value(value) {
267
+ if (this._subject.value === value) {
268
+ return;
269
+ }
270
+ const context = this._service.getSnapshot().context;
271
+ if (!context.propertyRecordSchema) {
272
+ this._subject.next(value);
273
+ }
274
+ this._service.send({
275
+ type: 'save',
276
+ newValue: value,
277
+ });
278
+ }
279
+ get published() {
280
+ return !!this._getSnapshot().context.uid;
281
+ }
282
+ subscribe(callback) {
283
+ return this._subject.subscribe(callback);
284
+ }
285
+ async save() {
286
+ await waitFor(this._service, (snapshot) => !snapshot.context.isSaving && snapshot.value === 'idle', {
287
+ timeout: 10000,
288
+ });
289
+ // return new Promise((resolve) => {
290
+ // const saveSub = this._service.subscribe((snapshot) => {
291
+ // if (!snapshot.context.isSaving) {
292
+ // saveSub.unsubscribe()
293
+ // resolve()
294
+ // }
295
+ // })
296
+ // })
297
+ }
298
+ unload() {
299
+ this._service.stop();
300
+ }
301
+ }
302
+ _a = immerable;
303
+ BaseItemProperty.instanceCache = new Map();
304
+
305
+ export { BaseItemProperty };
306
+ //# sourceMappingURL=BaseItemProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseItemProperty.js","sources":["../../../../src/ItemProperty/BaseItemProperty.ts"],"sourcesContent":["import { ActorRefFrom, createActor, SnapshotFrom, Subscription, waitFor } from 'xstate'\nimport { BehaviorSubject, Subscriber } from 'rxjs'\nimport { Static } from '@sinclair/typebox'\nimport { IItemProperty } from '@/interfaces/IItemProperty'\nimport { immerable } from 'immer'\nimport { CreatePropertyInstanceProps, PropertyMachineContext } from '@/types'\nimport { getModel } from '@/stores/modelClass'\nimport { propertyMachine } from './service/propertyMachine'\nimport { internalPropertyNames } from '@/helpers/constants'\nimport debug from 'debug'\nimport pluralize from 'pluralize'\nimport { getPropertyData } from '@/db/read/getPropertyData'\nimport { BaseFileManager, getCorrectId } from '@/helpers'\nimport { TProperty } from '@/schema'\n\n\nconst logger = debug('seedSdk:property:class')\n\ntype ItemPropertyService = ActorRefFrom<typeof propertyMachine>\ntype ItemPropertySnapshot = SnapshotFrom<typeof propertyMachine>\n\ntype ItemPropertyFindProps = {\n propertyName: string\n propertyLocalId?: string\n seedLocalId?: string\n seedUid?: string\n}\n\nexport abstract class BaseItemProperty<PropertyType> implements IItemProperty<PropertyType> {\n protected static instanceCache: Map<\n string,\n { instance: BaseItemProperty<any>; refCount: number }\n > = new Map()\n protected readonly _service: ItemPropertyService\n protected _subject: BehaviorSubject<any>\n protected readonly _isRelation: boolean = false\n protected readonly _isList: boolean = false\n protected readonly _alias: string | undefined\n protected _subscription: Subscription\n protected _dataType: string | undefined\n protected _schemaUid: string | undefined\n [immerable] = true\n\n constructor(initialValues: Partial<CreatePropertyInstanceProps>) {\n const { modelName, propertyName, propertyValue, seedLocalId, seedUid, versionLocalId, versionUid, storageTransactionId, schemaUid } = initialValues\n\n if (!modelName) {\n throw new Error('Model name is required')\n }\n\n const ModelClass = getModel(modelName)\n\n if (!ModelClass) {\n throw new Error(`Model ${modelName} not found`)\n }\n\n if (!propertyName) {\n throw new Error(`Property name not provided`)\n }\n\n const serviceInput: Partial<PropertyMachineContext> = {\n propertyValue,\n propertyName,\n seedLocalId,\n seedUid,\n versionLocalId,\n versionUid,\n modelName: modelName,\n storageTransactionId,\n propertyRecordSchema: ModelClass.schema[propertyName],\n schemaUid,\n }\n\n\n\n if (!internalPropertyNames.includes(propertyName)) {\n let propertyNameWithoutId\n\n const propertyRecordSchema =\n ModelClass.schema[propertyNameWithoutId || propertyName]\n if (propertyRecordSchema) {\n this._dataType = propertyRecordSchema.dataType\n\n serviceInput.propertyRecordSchema = propertyRecordSchema\n\n if (propertyRecordSchema.dataType === 'Relation') {\n this._isRelation = true\n }\n\n if (\n propertyRecordSchema.dataType === 'List' &&\n propertyRecordSchema.ref\n ) {\n this._isList = true\n this._isRelation = true\n\n if (propertyValue) {\n try {\n serviceInput.propertyValue = JSON.parse(propertyValue)\n } catch (e) {\n logger('List property value is not JSON', e)\n }\n }\n\n const propertyNameSingular = pluralize(propertyName!, 1)\n\n this._alias = propertyName\n\n serviceInput.propertyName = `${propertyNameSingular}${propertyRecordSchema.ref}Ids`\n }\n\n if (!this._alias && propertyNameWithoutId) {\n this._alias = propertyNameWithoutId\n }\n }\n }\n\n serviceInput.isRelation = this._isRelation\n\n this._subject = new BehaviorSubject(propertyValue)\n this._service = createActor(propertyMachine, {\n input: serviceInput,\n })\n\n this._subscription = this._service.subscribe(\n async (snapshot: ItemPropertySnapshot) => {\n if (!snapshot || !snapshot.context) {\n return\n }\n\n const { context } = snapshot\n const { propertyRecordSchema } = context\n\n if (context.seedLocalId) {\n const cacheKey = BaseItemProperty.cacheKey(\n context.seedLocalId,\n context.propertyName,\n )\n if (!BaseItemProperty.instanceCache.has(cacheKey)) {\n BaseItemProperty.instanceCache.set(cacheKey, {\n instance: this,\n refCount: 1,\n })\n }\n }\n\n let renderValue\n\n if (\n propertyRecordSchema &&\n propertyRecordSchema.storageType &&\n propertyRecordSchema.storageType === 'ItemStorage' &&\n context.refResolvedValue &&\n context.localStorageDir\n ) {\n const filePath = `/files/${context.localStorageDir}/${context.refResolvedValue}`\n try {\n const exists = await BaseFileManager.pathExists(filePath)\n if (exists) {\n renderValue = await BaseFileManager.readFileAsString(filePath,)\n }\n if (!exists) {\n renderValue = 'No file found'\n }\n } catch (e) {\n logger(\n `[ItemProperty] [${context.seedLocalId}] [${context.propertyName}] [storageType] error`,\n e,\n )\n renderValue = 'No file found'\n }\n }\n\n if (!renderValue) {\n renderValue = context.renderValue || context.propertyValue\n }\n\n let transformedPropertyName = propertyName\n\n const skipTransform =\n internalPropertyNames.includes(propertyName) || !!this._alias\n\n if (!skipTransform && transformedPropertyName.endsWith('Id')) {\n transformedPropertyName = transformedPropertyName.slice(0, -2)\n }\n\n if (!skipTransform && transformedPropertyName.endsWith('Ids')) {\n transformedPropertyName = transformedPropertyName.slice(0, -3)\n }\n\n if (skipTransform && this._alias) {\n transformedPropertyName = this._alias\n }\n\n if (skipTransform && !this._alias) {\n }\n\n if (this._subject.value === renderValue) {\n return\n }\n\n this._subject.next(renderValue)\n // TODO: Maybe have this only update the property?\n // if (context.seedLocalId || context.seedUid) {\n // eventEmitter.emit(`property.${context.seedUid || context.seedLocalId}.${propertyName}.update`)\n // }\n // if (context.seedUid) {\n // eventEmitter.emit(`item.${modelName}.${context.seedUid}.update`)\n // }\n },\n )\n\n this._service.start()\n }\n\n static PlatformClass: typeof BaseItemProperty\n\n static setPlatformClass(platformClass: typeof BaseItemProperty) {\n this.PlatformClass = platformClass\n }\n\n static create(\n props: Partial<CreatePropertyInstanceProps>,\n ): BaseItemProperty<any> | undefined {\n const { propertyName, seedLocalId, seedUid, versionLocalId, versionUid } =\n props\n if (!propertyName || (!seedLocalId && !seedUid)) {\n return\n }\n const cacheKey = this.cacheKey(\n (seedUid || seedLocalId) as string,\n propertyName,\n )\n if (seedLocalId && propertyName) {\n if (this.instanceCache.has(cacheKey)) {\n const { instance, refCount } = this.instanceCache.get(cacheKey)!\n this.instanceCache.set(cacheKey, {\n instance,\n refCount: refCount + 1,\n })\n return instance\n }\n if (!this.instanceCache.has(cacheKey)) {\n const newInstance = new this(props)\n this.instanceCache.set(cacheKey, {\n instance: newInstance,\n refCount: 1,\n })\n return newInstance\n }\n }\n if (seedUid && propertyName) {\n if (this.instanceCache.has(cacheKey)) {\n const { instance, refCount } = this.instanceCache.get(cacheKey)!\n this.instanceCache.set(cacheKey, { instance, refCount: refCount + 1 })\n return instance\n }\n if (!this.instanceCache.has(cacheKey)) {\n const newInstance = new this(props)\n this.instanceCache.set(cacheKey, { instance: newInstance, refCount: 1 })\n return newInstance\n }\n }\n return new this(props)\n }\n\n static async find({\n propertyName,\n seedLocalId,\n seedUid,\n }: ItemPropertyFindProps): Promise<IItemProperty<any> | undefined> {\n if ((!seedLocalId && !seedUid) || !propertyName) {\n return\n }\n const cacheKeyId = seedUid || seedLocalId\n const cacheKey = BaseItemProperty.cacheKey(cacheKeyId!, propertyName)\n if (this.instanceCache.has(cacheKey)) {\n const { instance, refCount } = this.instanceCache.get(cacheKey)!\n this.instanceCache.set(cacheKey, {\n instance,\n refCount: refCount + 1,\n })\n return instance\n }\n const propertyData = await getPropertyData({\n propertyName,\n seedLocalId,\n seedUid,\n })\n if (!propertyData) {\n return\n }\n return BaseItemProperty.create(propertyData)\n }\n\n static cacheKey(seedLocalIdOrUid: string, propertyName: string): string {\n const { uid, localId } = getCorrectId(seedLocalIdOrUid)\n return `Item_${uid || localId}_${propertyName}`\n }\n\n getService() {\n return this._service\n }\n\n private _getSnapshot(): ItemPropertySnapshot {\n return this._service.getSnapshot() as ItemPropertySnapshot\n }\n\n get localId() {\n return this._getSnapshot().context.localId\n }\n\n get uid() {\n return this._getSnapshot().context.uid\n }\n\n get seedLocalId() {\n return this._getSnapshot().context.seedLocalId\n }\n\n get seedUid() {\n return this._getSnapshot().context.seedUid\n }\n\n get schemaUid() {\n return this._getSnapshot().context.schemaUid\n }\n\n get propertyName() {\n if (this._alias) {\n return this._alias\n }\n return this._getSnapshot().context.propertyName\n }\n\n get modelName() {\n return this._getSnapshot().context.modelName\n }\n\n get propertyDef(): Static<typeof TProperty> | undefined {\n return this._getSnapshot().context.propertyRecordSchema\n }\n\n get localStoragePath(): string | void {\n if (this.propertyDef && this.propertyDef.localStorageDir) {\n return `/files${this.propertyDef.localStorageDir}/${this._getSnapshot().context.refResolvedValue}`\n }\n if (this._getSnapshot().context.localStorageDir) {\n return `/files${this._getSnapshot().context.localStorageDir}/${this._getSnapshot().context.refResolvedValue}`\n }\n }\n\n get versionLocalId(): string | undefined {\n return this._getSnapshot().context.versionLocalId\n }\n\n get status() {\n return this._getSnapshot().value\n }\n\n get alias() {\n return this._alias\n }\n\n get value() {\n // logger(\n // `[XXXXXXXXXX] [value] [get] subjectValue: ${this._subject.value} serviceValue: ${this._service.getSnapshot().context.renderValue}`,\n // )\n return this._subject.value\n }\n\n set value(value: any) {\n if (this._subject.value === value) {\n return\n }\n const context = this._service.getSnapshot().context\n if (!context.propertyRecordSchema) {\n this._subject.next(value)\n }\n this._service.send({\n type: 'save',\n newValue: value,\n })\n }\n\n get published(): boolean {\n return !!this._getSnapshot().context.uid\n }\n\n subscribe(callback: Partial<Subscriber<any>>) {\n return this._subject.subscribe(callback)\n }\n\n async save(): Promise<void> {\n await waitFor(\n this._service,\n (snapshot) => !snapshot.context.isSaving && snapshot.value === 'idle',\n {\n timeout: 10_000,\n },\n )\n // return new Promise((resolve) => {\n // const saveSub = this._service.subscribe((snapshot) => {\n // if (!snapshot.context.isSaving) {\n // saveSub.unsubscribe()\n // resolve()\n // }\n // })\n // })\n }\n\n unload() {\n this._service.stop()\n }\n} "],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hydrateFromDb.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/hydrateFromDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAOlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAMpD,eAAO,MAAM,aAAa,oGAgQxB,CAAA"}
1
+ {"version":3,"file":"hydrateFromDb.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/hydrateFromDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAOpD,eAAO,MAAM,aAAa,oGAgQxB,CAAA"}
@@ -0,0 +1,196 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { or, eq, and, sql } from 'drizzle-orm';
3
+ import debug from 'debug';
4
+ import '../../../seedSchema/SeedSchema.js';
5
+ import '../../../seedSchema/VersionSchema.js';
6
+ import { metadata } from '../../../seedSchema/MetadataSchema.js';
7
+ import '../../../seedSchema/AppStateSchema.js';
8
+ import '../../../seedSchema/ModelSchema.js';
9
+ import '../../../seedSchema/ModelUidSchema.js';
10
+ import { BaseDb } from '../../../db/Db/BaseDb.js';
11
+ import { updateMetadata } from '../../../db/write/updateMetadata.js';
12
+ import path from 'path';
13
+ import '../../../helpers/index.js';
14
+ import { BaseFileManager } from '../../../helpers/FileManager/BaseFileManager.js';
15
+
16
+ debug('seedSdk:property:actors:hydrateFromDb');
17
+ const hydrateFromDb = fromCallback(({ sendBack, input: { context } }) => {
18
+ const { seedUid, seedLocalId, propertyName: propertyNameRaw, propertyRecordSchema, modelName, } = context;
19
+ let propertyName = propertyNameRaw;
20
+ if (propertyRecordSchema &&
21
+ propertyRecordSchema.ref &&
22
+ propertyRecordSchema.dataType === 'Relation' &&
23
+ !propertyNameRaw.endsWith('Id')) {
24
+ propertyName = propertyNameRaw + 'Id';
25
+ }
26
+ if (propertyRecordSchema &&
27
+ propertyRecordSchema.ref &&
28
+ propertyRecordSchema.dataType === 'List' &&
29
+ !propertyNameRaw.endsWith('Ids')) {
30
+ propertyName = propertyNameRaw + 'Ids';
31
+ }
32
+ const _hydrateFromDb = async () => {
33
+ const appDb = BaseDb.getAppDb();
34
+ const isRelation = propertyRecordSchema &&
35
+ propertyRecordSchema.ref &&
36
+ propertyRecordSchema.dataType === 'Relation';
37
+ const whereClauses = [];
38
+ if (isRelation) {
39
+ let missingPropertyNameVariant;
40
+ if (propertyName.endsWith('Id')) {
41
+ missingPropertyNameVariant = propertyName.slice(0, -2);
42
+ }
43
+ if (!propertyName.endsWith('Id')) {
44
+ missingPropertyNameVariant = propertyName + 'Id';
45
+ }
46
+ if (missingPropertyNameVariant) {
47
+ whereClauses.push(or(eq(metadata.propertyName, propertyName), eq(metadata.propertyName, missingPropertyNameVariant)));
48
+ }
49
+ if (!missingPropertyNameVariant) {
50
+ whereClauses.push(eq(metadata.propertyName, propertyName));
51
+ }
52
+ }
53
+ else {
54
+ whereClauses.push(eq(metadata.propertyName, propertyName));
55
+ }
56
+ if (seedUid) {
57
+ whereClauses.push(eq(metadata.seedUid, seedUid));
58
+ }
59
+ if (seedLocalId) {
60
+ whereClauses.push(eq(metadata.seedLocalId, seedLocalId));
61
+ }
62
+ const rows = await appDb
63
+ .select()
64
+ .from(metadata)
65
+ .where(and(...whereClauses))
66
+ .orderBy(sql.raw('COALESCE(attestation_created_at, created_at) DESC'));
67
+ if (!rows || !rows.length) {
68
+ return;
69
+ }
70
+ const firstRow = rows[0];
71
+ const { localId, uid, propertyName: propertyNameFromDb, propertyValue: propertyValueFromDb, seedLocalId: seedLocalIdFromDb, seedUid: seedUidFromDb, schemaUid: schemaUidFromDb, versionLocalId: versionLocalIdFromDb, versionUid: versionUidFromDb, refValueType, localStorageDir, } = firstRow;
72
+ let { refResolvedDisplayValue, refResolvedValue } = firstRow;
73
+ let propertyValueProcessed = propertyValueFromDb;
74
+ if (propertyRecordSchema &&
75
+ propertyRecordSchema.refValueType === 'ImageSrc') {
76
+ let shouldReadFromFile = true;
77
+ if (refResolvedValue &&
78
+ refResolvedDisplayValue &&
79
+ refResolvedDisplayValue.includes('http')) {
80
+ try {
81
+ const response = await fetch(refResolvedDisplayValue, {
82
+ method: 'HEAD',
83
+ });
84
+ // Check if the status is in the 200-299 range
85
+ if (response.ok) {
86
+ shouldReadFromFile = false;
87
+ }
88
+ }
89
+ catch (error) {
90
+ shouldReadFromFile = true;
91
+ }
92
+ }
93
+ if (shouldReadFromFile) {
94
+ let dir = localStorageDir;
95
+ if (!dir &&
96
+ propertyRecordSchema &&
97
+ propertyRecordSchema.refValueType === 'ImageSrc') {
98
+ dir = 'images';
99
+ }
100
+ dir = dir.replace(/^\//, '');
101
+ if (!refResolvedValue &&
102
+ propertyValueFromDb &&
103
+ propertyValueFromDb.length === 66) {
104
+ // Here the storageTransactionId is stored on a different record and
105
+ // we want to add it as the refResolvedValue
106
+ const storageTransactionQuery = await appDb
107
+ .select({
108
+ propertyValue: metadata.propertyValue,
109
+ })
110
+ .from(metadata)
111
+ .where(and(eq(metadata.seedUid, propertyValueFromDb), or(eq(metadata.propertyName, 'storageTransactionId'), eq(metadata.propertyName, 'transactionId'))));
112
+ if (storageTransactionQuery && storageTransactionQuery.length > 0) {
113
+ const row = storageTransactionQuery[0];
114
+ refResolvedValue = row.propertyValue;
115
+ await updateMetadata({
116
+ localId,
117
+ refResolvedValue,
118
+ localStorageDir: '/images',
119
+ });
120
+ }
121
+ }
122
+ const dirPath = `/files/${dir}`;
123
+ const fs = await BaseFileManager.getFs();
124
+ const files = await fs.promises.readdir(dirPath);
125
+ const matchingFiles = files.filter((file) => {
126
+ return path.basename(file).includes(refResolvedValue);
127
+ });
128
+ let fileExists = false;
129
+ let filename;
130
+ let filePath;
131
+ if (matchingFiles && matchingFiles.length > 0) {
132
+ fileExists = true;
133
+ filename = matchingFiles[0];
134
+ filePath = `/files/${dir}/${filename}`;
135
+ }
136
+ if (fileExists && filename && filePath) {
137
+ const file = await BaseFileManager.readFile(filePath);
138
+ refResolvedDisplayValue = URL.createObjectURL(file);
139
+ await updateMetadata({
140
+ localId,
141
+ refResolvedValue: filename,
142
+ });
143
+ }
144
+ }
145
+ }
146
+ if (propertyRecordSchema &&
147
+ propertyRecordSchema.dataType === 'List' &&
148
+ propertyRecordSchema.ref &&
149
+ typeof propertyValueFromDb === 'string') {
150
+ propertyValueProcessed = propertyValueFromDb.split(',');
151
+ }
152
+ sendBack({
153
+ type: 'updateContext',
154
+ localId,
155
+ uid,
156
+ propertyValue: propertyValueProcessed,
157
+ seedLocalId: seedLocalIdFromDb,
158
+ seedUid: seedUidFromDb,
159
+ versionLocalId: versionLocalIdFromDb,
160
+ versionUid: versionUidFromDb,
161
+ schemaUid: schemaUidFromDb,
162
+ refValueType,
163
+ localStorageDir,
164
+ refResolvedValue,
165
+ refResolvedDisplayValue,
166
+ renderValue: refResolvedDisplayValue,
167
+ populatedFromDb: true,
168
+ });
169
+ if (propertyRecordSchema &&
170
+ propertyRecordSchema.storageType &&
171
+ propertyRecordSchema.storageType === 'ItemStorage') {
172
+ const { Item } = await import('../../../browser/Item/index.js');
173
+ const item = await Item.find({
174
+ seedLocalId,
175
+ modelName,
176
+ });
177
+ if (item) {
178
+ const filePath = `/files/${localStorageDir}/${refResolvedValue}`;
179
+ const exists = await BaseFileManager.pathExists(filePath);
180
+ if (!exists) {
181
+ return;
182
+ }
183
+ const renderValue = await BaseFileManager.readFileAsString(filePath);
184
+ const property = item.properties[propertyName];
185
+ property.getService().send({ type: 'updateContext', renderValue });
186
+ return;
187
+ }
188
+ }
189
+ };
190
+ _hydrateFromDb().then(() => {
191
+ sendBack({ type: 'hydrateFromDbSuccess' });
192
+ });
193
+ });
194
+
195
+ export { hydrateFromDb };
196
+ //# sourceMappingURL=hydrateFromDb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydrateFromDb.js","sources":["../../../../../../src/ItemProperty/service/actors/hydrateFromDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { and, eq, or, sql } from 'drizzle-orm'\nimport debug from 'debug'\nimport { metadata } from '@/seedSchema'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { updateMetadata } from '@/db/write/updateMetadata'\nimport { FromCallbackInput } from '@/types/machines'\nimport { PropertyMachineContext } from '@/types/property'\nimport path from 'path'\nimport { BaseFileManager } from '@/helpers'\n\nconst logger = debug('seedSdk:property:actors:hydrateFromDb')\n\nexport const hydrateFromDb = fromCallback<\n EventObject,\n FromCallbackInput<PropertyMachineContext, EventObject>\n>(({ sendBack, input: { context } }) => {\n const {\n seedUid,\n seedLocalId,\n propertyName: propertyNameRaw,\n propertyRecordSchema,\n modelName,\n } = context\n\n let propertyName = propertyNameRaw\n\n if (\n propertyRecordSchema &&\n propertyRecordSchema.ref &&\n propertyRecordSchema.dataType === 'Relation' &&\n !propertyNameRaw.endsWith('Id')\n ) {\n propertyName = propertyNameRaw + 'Id'\n }\n\n if (\n propertyRecordSchema &&\n propertyRecordSchema.ref &&\n propertyRecordSchema.dataType === 'List' &&\n !propertyNameRaw.endsWith('Ids')\n ) {\n propertyName = propertyNameRaw + 'Ids'\n }\n\n const _hydrateFromDb = async () => {\n const appDb = BaseDb.getAppDb()\n\n const isRelation =\n propertyRecordSchema &&\n propertyRecordSchema.ref &&\n propertyRecordSchema.dataType === 'Relation'\n\n const whereClauses = []\n\n if (isRelation) {\n let missingPropertyNameVariant\n if (propertyName.endsWith('Id')) {\n missingPropertyNameVariant = propertyName.slice(0, -2)\n }\n if (!propertyName.endsWith('Id')) {\n missingPropertyNameVariant = propertyName + 'Id'\n }\n if (missingPropertyNameVariant) {\n whereClauses.push(\n or(\n eq(metadata.propertyName, propertyName),\n eq(metadata.propertyName, missingPropertyNameVariant),\n ),\n )\n }\n if (!missingPropertyNameVariant) {\n whereClauses.push(eq(metadata.propertyName, propertyName))\n }\n } else {\n whereClauses.push(eq(metadata.propertyName, propertyName))\n }\n\n if (seedUid) {\n whereClauses.push(eq(metadata.seedUid, seedUid))\n }\n\n if (seedLocalId) {\n whereClauses.push(eq(metadata.seedLocalId, seedLocalId))\n }\n\n const rows = await appDb\n .select()\n .from(metadata)\n .where(and(...whereClauses))\n .orderBy(sql.raw('COALESCE(attestation_created_at, created_at) DESC'))\n\n if (!rows || !rows.length) {\n return\n }\n\n const firstRow = rows[0]\n\n const {\n localId,\n uid,\n propertyName: propertyNameFromDb,\n propertyValue: propertyValueFromDb,\n seedLocalId: seedLocalIdFromDb,\n seedUid: seedUidFromDb,\n schemaUid: schemaUidFromDb,\n versionLocalId: versionLocalIdFromDb,\n versionUid: versionUidFromDb,\n refValueType,\n localStorageDir,\n } = firstRow\n\n let { refResolvedDisplayValue, refResolvedValue } = firstRow\n\n let propertyValueProcessed: string | string[] | undefined | null =\n propertyValueFromDb\n\n\n if (\n propertyRecordSchema &&\n propertyRecordSchema.refValueType === 'ImageSrc'\n ) {\n let shouldReadFromFile = true\n\n if (\n refResolvedValue &&\n refResolvedDisplayValue &&\n refResolvedDisplayValue.includes('http')\n ) {\n try {\n const response = await fetch(refResolvedDisplayValue, {\n method: 'HEAD',\n })\n\n // Check if the status is in the 200-299 range\n if (response.ok) {\n shouldReadFromFile = false\n }\n } catch (error) {\n shouldReadFromFile = true\n }\n }\n\n if (shouldReadFromFile) {\n let dir = localStorageDir\n if (\n !dir &&\n propertyRecordSchema &&\n propertyRecordSchema.refValueType === 'ImageSrc'\n ) {\n dir = 'images'\n }\n\n dir = dir!.replace(/^\\//, '')\n\n if (\n !refResolvedValue &&\n propertyValueFromDb &&\n propertyValueFromDb.length === 66\n ) {\n // Here the storageTransactionId is stored on a different record and\n // we want to add it as the refResolvedValue\n const storageTransactionQuery = await appDb\n .select({\n propertyValue: metadata.propertyValue,\n })\n .from(metadata)\n .where(\n and(\n eq(metadata.seedUid, propertyValueFromDb),\n or(\n eq(metadata.propertyName, 'storageTransactionId'),\n eq(metadata.propertyName, 'transactionId'),\n ),\n ),\n )\n\n if (storageTransactionQuery && storageTransactionQuery.length > 0) {\n const row = storageTransactionQuery[0]\n refResolvedValue = row.propertyValue\n await updateMetadata({\n localId,\n refResolvedValue,\n localStorageDir: '/images',\n })\n }\n }\n\n const dirPath = `/files/${dir}`\n const fs = await BaseFileManager.getFs()\n const files = await fs.promises.readdir(dirPath)\n const matchingFiles = files.filter((file) => {\n return path.basename(file).includes(refResolvedValue!)\n })\n let fileExists = false\n let filename\n let filePath\n if (matchingFiles && matchingFiles.length > 0) {\n fileExists = true\n filename = matchingFiles[0]\n filePath = `/files/${dir}/${filename}`\n }\n if (fileExists && filename && filePath) {\n const file = await BaseFileManager.readFile(filePath)\n refResolvedDisplayValue = URL.createObjectURL(file)\n await updateMetadata({\n localId,\n refResolvedValue: filename,\n })\n }\n }\n }\n\n if (\n propertyRecordSchema &&\n propertyRecordSchema.dataType === 'List' &&\n propertyRecordSchema.ref &&\n typeof propertyValueFromDb === 'string'\n ) {\n propertyValueProcessed = propertyValueFromDb.split(',')\n }\n\n sendBack({\n type: 'updateContext',\n localId,\n uid,\n propertyValue: propertyValueProcessed,\n seedLocalId: seedLocalIdFromDb,\n seedUid: seedUidFromDb,\n versionLocalId: versionLocalIdFromDb,\n versionUid: versionUidFromDb,\n schemaUid: schemaUidFromDb,\n refValueType,\n localStorageDir,\n refResolvedValue,\n refResolvedDisplayValue,\n renderValue: refResolvedDisplayValue,\n populatedFromDb: true,\n })\n\n if (\n propertyRecordSchema &&\n propertyRecordSchema.storageType &&\n propertyRecordSchema.storageType === 'ItemStorage'\n ) {\n const { Item } = await import(`@/browser/Item`)\n const item = await Item.find({\n seedLocalId,\n modelName,\n })\n if (item) {\n const filePath = `/files/${localStorageDir}/${refResolvedValue}`\n const exists = await BaseFileManager.pathExists(filePath)\n\n if (!exists) {\n return\n }\n\n const renderValue = await BaseFileManager.readFileAsString(filePath)\n const property = item.properties[propertyName]\n property.getService().send({ type: 'updateContext', renderValue })\n return\n }\n }\n }\n\n _hydrateFromDb().then(() => {\n sendBack({ type: 'hydrateFromDbSuccess' })\n })\n})\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAIpD,eAAO,MAAM,UAAU,oGAgErB,CAAA"}
1
+ {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAKpD,eAAO,MAAM,UAAU,oGA8DrB,CAAA"}
@@ -0,0 +1,60 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { getSchemaUidForSchemaDefinition } from '../../../stores/eas.js';
3
+ import { BaseFileManager } from '../../../helpers/FileManager/BaseFileManager.js';
4
+
5
+ const initialize = fromCallback(({ sendBack, input: { context } }) => {
6
+ const { isRelation, propertyName, storageTransactionId } = context;
7
+ let { schemaUid } = context;
8
+ if (!schemaUid) {
9
+ schemaUid = getSchemaUidForSchemaDefinition(propertyName);
10
+ if (schemaUid) {
11
+ sendBack({ type: 'updateContext', schemaUid });
12
+ }
13
+ }
14
+ if (isRelation) {
15
+ sendBack({ type: 'isRelatedProperty' });
16
+ sendBack({ type: 'initializeSuccess' });
17
+ return;
18
+ }
19
+ if (!isRelation) {
20
+ if ((propertyName !== 'html' && propertyName !== 'json') ||
21
+ !storageTransactionId) {
22
+ sendBack({ type: 'initializeSuccess' });
23
+ return;
24
+ }
25
+ const _getContentsFromFileSystem = async () => {
26
+ if (propertyName === 'html') {
27
+ const htmlFilePath = `/files/html/${storageTransactionId}.html`;
28
+ const exists = await BaseFileManager.pathExists(htmlFilePath);
29
+ if (!exists) {
30
+ return;
31
+ }
32
+ const renderValue = await BaseFileManager.readFileAsString(htmlFilePath)
33
+ .catch((error) => {
34
+ console.warn('Error reading html file', error);
35
+ });
36
+ sendBack({ type: 'updateContext', renderValue });
37
+ return;
38
+ }
39
+ if (propertyName === 'json') {
40
+ const jsonFilePath = `/files/json/${storageTransactionId}.json`;
41
+ const exists = await BaseFileManager.pathExists(jsonFilePath);
42
+ if (!exists) {
43
+ return;
44
+ }
45
+ const renderValue = await BaseFileManager.readFileAsString(jsonFilePath)
46
+ .catch((error) => {
47
+ console.warn('Error reading json file', error);
48
+ });
49
+ sendBack({ type: 'updateContext', renderValue });
50
+ return;
51
+ }
52
+ };
53
+ _getContentsFromFileSystem().then(() => {
54
+ sendBack({ type: 'initializeSuccess' });
55
+ });
56
+ }
57
+ });
58
+
59
+ export { initialize };
60
+ //# sourceMappingURL=initialize.js.map