@seedprotocol/sdk 0.3.3 → 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 (371) hide show
  1. package/dist/bin.js +11 -109
  2. package/dist/bin.js.map +1 -1
  3. package/dist/main.js +15 -23
  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.js +306 -0
  26. package/dist/src/ItemProperty/BaseItemProperty.js.map +1 -0
  27. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +196 -0
  28. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
  29. package/dist/src/ItemProperty/service/actors/initialize.js +60 -0
  30. package/dist/src/ItemProperty/service/actors/initialize.js.map +1 -0
  31. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +317 -0
  32. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
  33. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js +62 -0
  34. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
  35. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +100 -0
  36. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
  37. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js +178 -0
  38. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js.map +1 -0
  39. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +117 -0
  40. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
  41. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +81 -0
  42. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
  43. package/dist/src/ItemProperty/service/actors/waitForDb.js +22 -0
  44. package/dist/src/ItemProperty/service/actors/waitForDb.js.map +1 -0
  45. package/dist/src/ItemProperty/service/propertyMachine.js +198 -0
  46. package/dist/src/ItemProperty/service/propertyMachine.js.map +1 -0
  47. package/dist/src/browser/Item/Item.js +11 -0
  48. package/dist/src/browser/Item/Item.js.map +1 -0
  49. package/dist/src/browser/Item/index.js +2 -0
  50. package/dist/src/browser/Item/index.js.map +1 -0
  51. package/dist/src/browser/ItemProperty/ItemProperty.js +11 -0
  52. package/dist/src/browser/ItemProperty/ItemProperty.js.map +1 -0
  53. package/dist/src/browser/db/Db.d.ts +10 -5
  54. package/dist/src/browser/db/Db.d.ts.map +1 -1
  55. package/dist/src/browser/db/Db.js +218 -0
  56. package/dist/src/browser/db/Db.js.map +1 -0
  57. package/dist/src/browser/db/sqlWasmClient.d.ts +0 -12
  58. package/dist/src/browser/db/sqlWasmClient.d.ts.map +1 -1
  59. package/dist/{ArweaveClient-2RMCxfNZ.js → src/browser/helpers/ArweaveClient.js} +3 -3
  60. package/dist/{ArweaveClient-COlwyYTF.js.map → src/browser/helpers/ArweaveClient.js.map} +1 -1
  61. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  62. package/dist/src/browser/helpers/FileManager.js +308 -0
  63. package/dist/src/browser/helpers/FileManager.js.map +1 -0
  64. package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
  65. package/dist/{QueryClient-W4slRa7O.js → src/browser/helpers/QueryClient.js} +2 -5
  66. package/dist/src/browser/helpers/QueryClient.js.map +1 -0
  67. package/dist/src/browser/index.d.ts +2 -1
  68. package/dist/src/browser/index.d.ts.map +1 -1
  69. package/dist/src/browser/react/db.js +6 -0
  70. package/dist/src/browser/react/db.js.map +1 -0
  71. package/dist/src/browser/react/item.js +260 -0
  72. package/dist/src/browser/react/item.js.map +1 -0
  73. package/dist/src/browser/react/property.js +107 -0
  74. package/dist/src/browser/react/property.js.map +1 -0
  75. package/dist/src/browser/react/services.d.ts.map +1 -1
  76. package/dist/src/browser/react/services.js +299 -0
  77. package/dist/src/browser/react/services.js.map +1 -0
  78. package/dist/src/browser/react/trash.js +25 -0
  79. package/dist/src/browser/react/trash.js.map +1 -0
  80. package/dist/src/browser/workers/FileDownloader.js +49 -0
  81. package/dist/src/browser/workers/FileDownloader.js.map +1 -0
  82. package/dist/src/browser/workers/ImageResizer.js +62 -0
  83. package/dist/src/browser/workers/ImageResizer.js.map +1 -0
  84. package/dist/src/browser/workers/dbWorker.d.ts +1 -0
  85. package/dist/src/browser/workers/dbWorker.d.ts.map +1 -0
  86. package/dist/src/browser/workers/filesDownload.js +241 -0
  87. package/dist/src/browser/workers/filesDownload.js.map +1 -0
  88. package/dist/src/browser/workers/imageResize.js +379 -0
  89. package/dist/src/browser/workers/imageResize.js.map +1 -0
  90. package/dist/src/client/ClientManager.d.ts +18 -2
  91. package/dist/src/client/ClientManager.d.ts.map +1 -1
  92. package/dist/src/client/ClientManager.js +59 -0
  93. package/dist/src/client/ClientManager.js.map +1 -0
  94. package/dist/src/client/actions/setAddresses.js +19 -0
  95. package/dist/src/client/actions/setAddresses.js.map +1 -0
  96. package/dist/src/client/actors/initialize.d.ts.map +1 -1
  97. package/dist/src/client/actors/initialize.js +84 -0
  98. package/dist/src/client/actors/initialize.js.map +1 -0
  99. package/dist/src/client/actors/saveAppState.js +44 -0
  100. package/dist/src/client/actors/saveAppState.js.map +1 -0
  101. package/dist/src/client/clientManagerMachine.js +61 -0
  102. package/dist/src/client/clientManagerMachine.js.map +1 -0
  103. package/dist/src/db/Db/BaseDb.d.ts +1 -2
  104. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  105. package/dist/src/db/Db/BaseDb.js +22 -0
  106. package/dist/src/db/Db/BaseDb.js.map +1 -0
  107. package/dist/{seed.schema.config-DmTl3a9U.js → src/db/configs/seed.schema.config.js} +3 -24
  108. package/dist/src/db/configs/seed.schema.config.js.map +1 -0
  109. package/dist/src/db/read/getExistingItem.js +29 -0
  110. package/dist/src/db/read/getExistingItem.js.map +1 -0
  111. package/dist/src/db/read/getItem.js +26 -0
  112. package/dist/src/db/read/getItem.js.map +1 -0
  113. package/dist/src/db/read/getItemData.js +84 -0
  114. package/dist/src/db/read/getItemData.js.map +1 -0
  115. package/dist/src/db/read/getItemProperties.js +49 -0
  116. package/dist/src/db/read/getItemProperties.js.map +1 -0
  117. package/dist/src/db/read/getItemProperty.js +30 -0
  118. package/dist/src/db/read/getItemProperty.js.map +1 -0
  119. package/dist/src/db/read/getItems.js +49 -0
  120. package/dist/src/db/read/getItems.js.map +1 -0
  121. package/dist/src/db/read/getMetadata.js +32 -0
  122. package/dist/src/db/read/getMetadata.js.map +1 -0
  123. package/dist/src/db/read/getModelSchemas.js +69 -0
  124. package/dist/src/db/read/getModelSchemas.js.map +1 -0
  125. package/dist/src/db/read/getPropertyData.js +38 -0
  126. package/dist/src/db/read/getPropertyData.js.map +1 -0
  127. package/dist/src/db/read/getPublishPayload.js +213 -0
  128. package/dist/src/db/read/getPublishPayload.js.map +1 -0
  129. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  130. package/dist/src/db/read/getPublishUploads.js +134 -0
  131. package/dist/src/db/read/getPublishUploads.js.map +1 -0
  132. package/dist/src/db/read/getRelationValueData.js +30 -0
  133. package/dist/src/db/read/getRelationValueData.js.map +1 -0
  134. package/dist/src/db/read/getSchemaUidForModel.js +28 -0
  135. package/dist/src/db/read/getSchemaUidForModel.js.map +1 -0
  136. package/dist/src/db/read/getSeedData.js +28 -0
  137. package/dist/src/db/read/getSeedData.js.map +1 -0
  138. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +30 -0
  139. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
  140. package/dist/src/db/read/getVersionData.js +33 -0
  141. package/dist/src/db/read/getVersionData.js.map +1 -0
  142. package/dist/src/db/read/subqueries/metadataLatest.js +35 -0
  143. package/dist/src/db/read/subqueries/metadataLatest.js.map +1 -0
  144. package/dist/src/db/read/subqueries/versionData.js +27 -0
  145. package/dist/src/db/read/subqueries/versionData.js.map +1 -0
  146. package/dist/src/db/write/createMetadata.js +63 -0
  147. package/dist/src/db/write/createMetadata.js.map +1 -0
  148. package/dist/src/db/write/createNewItem.js +38 -0
  149. package/dist/src/db/write/createNewItem.js.map +1 -0
  150. package/dist/src/db/write/createSeed.js +29 -0
  151. package/dist/src/db/write/createSeed.js.map +1 -0
  152. package/dist/src/db/write/createSeeds.js +25 -0
  153. package/dist/src/db/write/createSeeds.js.map +1 -0
  154. package/dist/src/db/write/createVersion.js +25 -0
  155. package/dist/src/db/write/createVersion.js.map +1 -0
  156. package/dist/src/db/write/deleteItem.js +21 -0
  157. package/dist/src/db/write/deleteItem.js.map +1 -0
  158. package/dist/src/db/write/saveAppState.js +26 -0
  159. package/dist/src/db/write/saveAppState.js.map +1 -0
  160. package/dist/src/db/write/saveMetadata.js +22 -0
  161. package/dist/src/db/write/saveMetadata.js.map +1 -0
  162. package/dist/src/db/write/updateItemPropertyValue.js +161 -0
  163. package/dist/src/db/write/updateItemPropertyValue.js.map +1 -0
  164. package/dist/src/db/write/updateMetadata.js +25 -0
  165. package/dist/src/db/write/updateMetadata.js.map +1 -0
  166. package/dist/src/eventBus.js +6 -0
  167. package/dist/src/eventBus.js.map +1 -0
  168. package/dist/src/events/files/download.js +161 -0
  169. package/dist/src/events/files/download.js.map +1 -0
  170. package/dist/src/events/files/index.d.ts.map +1 -1
  171. package/dist/src/events/files/index.js +61 -0
  172. package/dist/src/events/files/index.js.map +1 -0
  173. package/dist/src/events/index.js +28 -0
  174. package/dist/src/events/index.js.map +1 -0
  175. package/dist/src/events/item/index.js +28 -0
  176. package/dist/src/events/item/index.js.map +1 -0
  177. package/dist/src/events/item/publish.js +19 -0
  178. package/dist/src/events/item/publish.js.map +1 -0
  179. package/dist/src/events/item/syncDbWithEas.js +428 -0
  180. package/dist/src/events/item/syncDbWithEas.js.map +1 -0
  181. package/dist/src/events/services/allItems.js +20 -0
  182. package/dist/src/events/services/allItems.js.map +1 -0
  183. package/dist/src/events/services/index.js +9 -0
  184. package/dist/src/events/services/index.js.map +1 -0
  185. package/dist/src/graphql/gql/gql.js +38 -0
  186. package/dist/src/graphql/gql/gql.js.map +1 -0
  187. package/dist/src/graphql/gql/graphql.js +106 -0
  188. package/dist/src/graphql/gql/graphql.js.map +1 -0
  189. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js +11 -0
  190. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
  191. package/dist/src/helpers/ArweaveClient/index.js +45 -0
  192. package/dist/src/helpers/ArweaveClient/index.js.map +1 -0
  193. package/dist/src/helpers/ArweaveClient/queries.js +16 -0
  194. package/dist/src/helpers/ArweaveClient/queries.js.map +1 -0
  195. package/dist/src/helpers/EasClient/BaseEasClient.js +14 -0
  196. package/dist/src/helpers/EasClient/BaseEasClient.js.map +1 -0
  197. package/dist/src/helpers/FileManager/BaseFileManager.js +55 -0
  198. package/dist/src/helpers/FileManager/BaseFileManager.js.map +1 -0
  199. package/dist/src/helpers/QueryClient/BaseQueryClient.js +11 -0
  200. package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +1 -0
  201. package/dist/src/helpers/constants.js +73 -0
  202. package/dist/src/helpers/constants.js.map +1 -0
  203. package/dist/src/helpers/db.js +43 -0
  204. package/dist/src/helpers/db.js.map +1 -0
  205. package/dist/src/helpers/environment.js +24 -0
  206. package/dist/src/helpers/environment.js.map +1 -0
  207. package/dist/src/helpers/getSchemaForItemProperty.js +51 -0
  208. package/dist/src/helpers/getSchemaForItemProperty.js.map +1 -0
  209. package/dist/src/helpers/getSegmentedItemProperties.js +50 -0
  210. package/dist/src/helpers/getSegmentedItemProperties.js.map +1 -0
  211. package/dist/src/helpers/index.js +101 -0
  212. package/dist/src/helpers/index.js.map +1 -0
  213. package/dist/src/helpers/updateMachineContext.js +20 -0
  214. package/dist/src/helpers/updateMachineContext.js.map +1 -0
  215. package/dist/src/interfaces/IDb.d.ts.map +1 -1
  216. package/dist/src/node/codegen/drizzle.js +58 -0
  217. package/dist/src/node/codegen/drizzle.js.map +1 -0
  218. package/dist/src/node/constants.js +29 -0
  219. package/dist/src/node/constants.js.map +1 -0
  220. package/dist/src/node/db/Db.d.ts +5 -6
  221. package/dist/src/node/db/Db.d.ts.map +1 -1
  222. package/dist/{ArweaveClient-COlwyYTF.js → src/node/helpers/ArweaveClient.js} +3 -3
  223. package/dist/{ArweaveClient-2RMCxfNZ.js.map → src/node/helpers/ArweaveClient.js.map} +1 -1
  224. package/dist/{EasClient-CFnb5g-r.js → src/node/helpers/EasClient.js} +3 -3
  225. package/dist/{EasClient-CFnb5g-r.js.map → src/node/helpers/EasClient.js.map} +1 -1
  226. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  227. package/dist/{QueryClient-ZUsZ1Qxq.js → src/node/helpers/QueryClient.js} +2 -4
  228. package/dist/{QueryClient-ZUsZ1Qxq.js.map → src/node/helpers/QueryClient.js.map} +1 -1
  229. package/dist/src/node/helpers/index.d.ts.map +1 -1
  230. package/dist/src/node/helpers/index.js +28 -0
  231. package/dist/src/node/helpers/index.js.map +1 -0
  232. package/dist/src/node/seed.d.ts +0 -6
  233. package/dist/src/node/seed.d.ts.map +1 -1
  234. package/dist/src/node/webpack/index.d.ts.map +1 -1
  235. package/dist/src/node/webpack/index.js +89 -0
  236. package/dist/src/node/webpack/index.js.map +1 -0
  237. package/dist/src/schema/file/queries.js +48 -0
  238. package/dist/src/schema/file/queries.js.map +1 -0
  239. package/dist/src/schema/model/index.js +44 -0
  240. package/dist/src/schema/model/index.js.map +1 -0
  241. package/dist/src/schema/property/index.js +82 -0
  242. package/dist/src/schema/property/index.js.map +1 -0
  243. package/dist/src/seedSchema/AppStateSchema.js +11 -0
  244. package/dist/src/seedSchema/AppStateSchema.js.map +1 -0
  245. package/dist/src/seedSchema/MetadataSchema.js +29 -0
  246. package/dist/src/seedSchema/MetadataSchema.js.map +1 -0
  247. package/dist/src/seedSchema/ModelSchema.js +33 -0
  248. package/dist/src/seedSchema/ModelSchema.js.map +1 -0
  249. package/dist/src/seedSchema/ModelUidSchema.js +18 -0
  250. package/dist/src/seedSchema/ModelUidSchema.js.map +1 -0
  251. package/dist/src/seedSchema/SeedSchema.js +16 -0
  252. package/dist/src/seedSchema/SeedSchema.js.map +1 -0
  253. package/dist/src/seedSchema/VersionSchema.js +17 -0
  254. package/dist/src/seedSchema/VersionSchema.js.map +1 -0
  255. package/dist/src/services/allItems/actors/fetchDbData.js +13 -0
  256. package/dist/src/services/allItems/actors/fetchDbData.js.map +1 -0
  257. package/dist/src/services/allItems/actors/fetchRelatedItems.js +137 -0
  258. package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +1 -0
  259. package/dist/src/services/allItems/actors/fetchSeeds.js +31 -0
  260. package/dist/src/services/allItems/actors/fetchSeeds.js.map +1 -0
  261. package/dist/src/services/allItems/actors/fetchVersions.js +35 -0
  262. package/dist/src/services/allItems/actors/fetchVersions.js.map +1 -0
  263. package/dist/src/services/allItems/actors/initialize.js +144 -0
  264. package/dist/src/services/allItems/actors/initialize.js.map +1 -0
  265. package/dist/src/services/allItems/actors/processItems.js +55 -0
  266. package/dist/src/services/allItems/actors/processItems.js.map +1 -0
  267. package/dist/src/services/allItems/itemMachineAll.js +153 -0
  268. package/dist/src/services/allItems/itemMachineAll.js.map +1 -0
  269. package/dist/src/services/db/actors/checkStatus.d.ts.map +1 -1
  270. package/dist/src/services/db/actors/checkStatus.js +41 -0
  271. package/dist/src/services/db/actors/checkStatus.js.map +1 -0
  272. package/dist/src/services/db/actors/connectToDb.d.ts.map +1 -1
  273. package/dist/src/services/db/actors/connectToDb.js +31 -0
  274. package/dist/src/services/db/actors/connectToDb.js.map +1 -0
  275. package/dist/src/services/db/actors/migrate.js +40 -0
  276. package/dist/src/services/db/actors/migrate.js.map +1 -0
  277. package/dist/src/services/db/actors/validate.d.ts.map +1 -1
  278. package/dist/src/services/db/actors/validate.js +40 -0
  279. package/dist/src/services/db/actors/validate.js.map +1 -0
  280. package/dist/src/services/db/actors/waitForFiles.js +32 -0
  281. package/dist/src/services/db/actors/waitForFiles.js.map +1 -0
  282. package/dist/src/services/db/dbMachine.d.ts.map +1 -1
  283. package/dist/src/services/db/dbMachine.js +156 -0
  284. package/dist/src/services/db/dbMachine.js.map +1 -0
  285. package/dist/src/services/events.js +15 -0
  286. package/dist/src/services/events.js.map +1 -0
  287. package/dist/src/services/global/actors/addModelsToDb.js +115 -0
  288. package/dist/src/services/global/actors/addModelsToDb.js.map +1 -0
  289. package/dist/src/services/global/actors/getSchemaForModel.js +26 -0
  290. package/dist/src/services/global/actors/getSchemaForModel.js.map +1 -0
  291. package/dist/src/services/global/actors/initialize.d.ts.map +1 -1
  292. package/dist/src/services/global/actors/initialize.js +86 -0
  293. package/dist/src/services/global/actors/initialize.js.map +1 -0
  294. package/dist/src/services/global/actors/savePublishService.js +22 -0
  295. package/dist/src/services/global/actors/savePublishService.js.map +1 -0
  296. package/dist/src/services/global/globalMachine.d.ts +90 -90
  297. package/dist/src/services/global/globalMachine.d.ts.map +1 -1
  298. package/dist/src/services/global/globalMachine.js +246 -0
  299. package/dist/src/services/global/globalMachine.js.map +1 -0
  300. package/dist/src/services/internal/actors/configureFs.js +70 -0
  301. package/dist/src/services/internal/actors/configureFs.js.map +1 -0
  302. package/dist/src/services/internal/actors/loadAppDb.d.ts.map +1 -1
  303. package/dist/src/services/internal/actors/loadAppDb.js +22 -0
  304. package/dist/src/services/internal/actors/loadAppDb.js.map +1 -0
  305. package/dist/src/services/internal/actors/prepareDb.d.ts.map +1 -1
  306. package/dist/src/services/internal/actors/saveConfig.js +88 -0
  307. package/dist/src/services/internal/actors/saveConfig.js.map +1 -0
  308. package/dist/src/services/internal/actors/validateInput.js +34 -0
  309. package/dist/src/services/internal/actors/validateInput.js.map +1 -0
  310. package/dist/src/services/internal/actors/waitForFiles.js +33 -0
  311. package/dist/src/services/internal/actors/waitForFiles.js.map +1 -0
  312. package/dist/src/services/internal/constants.js +85 -0
  313. package/dist/src/services/internal/constants.js.map +1 -0
  314. package/dist/src/services/internal/helpers.js +171 -0
  315. package/dist/src/services/internal/helpers.js.map +1 -0
  316. package/dist/src/services/internal/internalMachine.d.ts +0 -10
  317. package/dist/src/services/internal/internalMachine.d.ts.map +1 -1
  318. package/dist/src/services/internal/internalMachine.js +188 -0
  319. package/dist/src/services/internal/internalMachine.js.map +1 -0
  320. package/dist/src/services/publish/actors/createPublishAttempt.js +14 -0
  321. package/dist/src/services/publish/actors/createPublishAttempt.js.map +1 -0
  322. package/dist/src/services/publish/actors/preparePublishRequestData.js +70 -0
  323. package/dist/src/services/publish/actors/preparePublishRequestData.js.map +1 -0
  324. package/dist/src/services/publish/actors/upload.js +55 -0
  325. package/dist/src/services/publish/actors/upload.js.map +1 -0
  326. package/dist/src/services/publish/actors/validateItemData.js +18 -0
  327. package/dist/src/services/publish/actors/validateItemData.js.map +1 -0
  328. package/dist/src/services/publish/publishMachine.js +71 -0
  329. package/dist/src/services/publish/publishMachine.js.map +1 -0
  330. package/dist/src/stores/eas.js +40 -0
  331. package/dist/src/stores/eas.js.map +1 -0
  332. package/dist/src/stores/modelClass.js +16 -0
  333. package/dist/src/stores/modelClass.js.map +1 -0
  334. package/dist/src/types/index.d.ts.map +1 -1
  335. package/package.json +7 -6
  336. package/dist/Db-CRWMiKY9.js +0 -384
  337. package/dist/Db-CRWMiKY9.js.map +0 -1
  338. package/dist/Db-G5dIgZv-.js +0 -81
  339. package/dist/Db-G5dIgZv-.js.map +0 -1
  340. package/dist/EasClient-CO5puCWa.js +0 -10
  341. package/dist/EasClient-CO5puCWa.js.map +0 -1
  342. package/dist/FileManager-BOixZyex.js +0 -50
  343. package/dist/FileManager-BOixZyex.js.map +0 -1
  344. package/dist/FileManager-gKGTTa4s.js +0 -1045
  345. package/dist/FileManager-gKGTTa4s.js.map +0 -1
  346. package/dist/Item-BD2_tuda.js +0 -34
  347. package/dist/Item-BD2_tuda.js.map +0 -1
  348. package/dist/ItemProperty-CjcrzEmg.js +0 -33
  349. package/dist/ItemProperty-CjcrzEmg.js.map +0 -1
  350. package/dist/QueryClient-W4slRa7O.js.map +0 -1
  351. package/dist/constants-C-6Pg8FW.js +0 -235
  352. package/dist/constants-C-6Pg8FW.js.map +0 -1
  353. package/dist/index-BxAVepOO.js +0 -25
  354. package/dist/index-BxAVepOO.js.map +0 -1
  355. package/dist/index-D-O-gmXo.js +0 -7930
  356. package/dist/index-D-O-gmXo.js.map +0 -1
  357. package/dist/seed.schema.config-DmTl3a9U.js.map +0 -1
  358. package/dist/src/browser/db/index.d.ts +0 -2
  359. package/dist/src/browser/db/index.d.ts.map +0 -1
  360. package/dist/src/db/Db/index.d.ts +0 -5
  361. package/dist/src/db/Db/index.d.ts.map +0 -1
  362. package/dist/src/helpers/EasClient/index.d.ts +0 -5
  363. package/dist/src/helpers/EasClient/index.d.ts.map +0 -1
  364. package/dist/src/helpers/FileManager/index.d.ts +0 -5
  365. package/dist/src/helpers/FileManager/index.d.ts.map +0 -1
  366. package/dist/src/helpers/QueryClient/index.d.ts +0 -5
  367. package/dist/src/helpers/QueryClient/index.d.ts.map +0 -1
  368. package/dist/src/node/index.d.ts +0 -2
  369. package/dist/src/node/index.d.ts.map +0 -1
  370. package/dist/src/services/global/index.d.ts +0 -2
  371. package/dist/src/services/global/index.d.ts.map +0 -1
package/dist/bin.js CHANGED
@@ -4,118 +4,20 @@ import fs from 'fs';
4
4
  import { exec, execSync } from 'child_process';
5
5
  import { promisify } from 'util';
6
6
  import { pathToFileURL } from 'url';
7
- import process$1 from 'node:process';
8
- import './EasClient-CFnb5g-r.js';
9
- import './QueryClient-ZUsZ1Qxq.js';
10
- import './FileManager-BOixZyex.js';
11
- import './ArweaveClient-2RMCxfNZ.js';
12
- import { c as BaseFileManager, S as SCHEMA_NJK, e as SCHEMA_TS } from './constants-C-6Pg8FW.js';
13
- import 'dotenv/config';
14
- import pluralize from 'pluralize';
15
- import { camelCase, snakeCase } from 'lodash-es';
16
- import * as nunjucks from 'nunjucks';
17
- import * as tsImport from 'ts-import';
18
- import { LoadMode } from 'ts-import';
19
- import 'glob';
20
- import { rimrafSync } from 'rimraf';
21
- import debug from 'debug';
22
- import 'graphql-request';
23
- import '@ethereum-attestation-service/eas-sdk';
7
+ import process from 'node:process';
8
+ import './src/node/helpers/EasClient.js';
9
+ import './src/node/helpers/QueryClient.js';
24
10
  import 'fs/promises';
25
-
26
- const NODE_APP_DB_CONFIG = 'node.app.db.config.ts';
27
- const currentDir = path.dirname(new URL(import.meta.url).pathname);
28
- const parentToCheck = path.join(currentDir, '..');
29
- let rootWithNodeModules = path.join(currentDir, '..', '..', '..', '..');
30
- if (process.env.IS_SEED_DEV) {
31
- rootWithNodeModules = path.join(parentToCheck, '..');
32
- }
33
- let sdkRootDir = path.join(rootWithNodeModules, 'node_modules', '@seedprotocol', 'sdk', 'dist');
34
- if (process.env.IS_SEED_DEV) {
35
- sdkRootDir = path.join(rootWithNodeModules, 'src');
36
- }
37
- let dotSeedDir = path.join(rootWithNodeModules, '.seed');
38
- if (process.env.IS_SEED_DEV) {
39
- dotSeedDir = path.join(process.cwd(), '__tests__', '__mocks__', 'project', '.seed');
40
- }
41
- const drizzleKitPath = path.join(rootWithNodeModules, 'node_modules', 'drizzle-kit', 'bin.cjs');
42
- // App file paths. These are the single source of truth for the SDK user's data model
43
- const appSchemaDir = path.join(dotSeedDir, 'schema');
44
- const appDbDir = path.join(dotSeedDir, 'db');
45
- const appMetaDir = path.join(appDbDir, 'meta');
46
- const appGeneratedSchemaDir = path.join(dotSeedDir, 'schema');
47
- const drizzleDbConfigPath = path.join(sdkRootDir, 'node', 'db', NODE_APP_DB_CONFIG);
48
- const templatePath = path.join(sdkRootDir, 'node', 'codegen', 'templates');
49
-
50
- // import { customAlphabet } from 'nanoid'
51
- // import { alphanumeric } from 'nanoid-dictionary'
52
- const logger = debug('seedSdk:helpers');
53
- const getTsImport = async (filePath) => {
54
- // Check if the config file exists
55
- if (!fs.existsSync(filePath)) {
56
- logger(`Typescript file not found at ${filePath}`);
57
- throw new Error(`Typescript file not found at ${filePath}`);
58
- }
59
- return await tsImport.load(filePath, {
60
- mode: LoadMode.Compile,
61
- compileOptions: {
62
- compilerOptions: {
63
- experimentalDecorators: true,
64
- emitDecoratorMetadata: true,
65
- },
66
- },
67
- });
68
- };
69
-
70
- const TemplateLoader = {
71
- getSource: (name) => {
72
- let templateFilePath;
73
- if (name.includes(templatePath)) {
74
- templateFilePath = name;
75
- }
76
- else {
77
- templateFilePath = path.join(templatePath, path.basename(name));
78
- }
79
- const src = fs.readFileSync(templateFilePath, 'utf-8');
80
- return {
81
- path: name,
82
- src,
83
- noCache: false,
84
- };
85
- },
86
- };
87
- // Configure Nunjucks
88
- const env = new nunjucks.Environment(TemplateLoader);
89
- env.addFilter('camelCase', camelCase);
90
- env.addFilter('snakeCase', snakeCase);
91
- env.addFilter('pluralize', pluralize);
92
- const generateDrizzleSchemaCode = (modelName, modelClass) => {
93
- const listProperties = Object.entries(modelClass.schema).filter(([key, propertyDef]) => propertyDef?.dataType === 'List');
94
- const filePath = path.join(templatePath, SCHEMA_NJK);
95
- const schemaCode = env.render(filePath, {
96
- modelName,
97
- modelClass,
98
- listProperties,
99
- });
100
- return schemaCode;
101
- };
102
- const createDrizzleSchemaFilesFromConfig = async () => {
103
- const schemaFilePath = path.join(dotSeedDir, 'schema.ts'); // Developer created file with model definitions
104
- const { models } = await getTsImport(schemaFilePath);
105
- const fs = await BaseFileManager.getFs();
106
- for (const [modelName, modelClass] of Object.entries(models)) {
107
- const code = generateDrizzleSchemaCode(modelName, modelClass);
108
- if (!fs.existsSync(appGeneratedSchemaDir)) {
109
- fs.mkdirSync(appGeneratedSchemaDir);
110
- }
111
- const filePath = path.join(appGeneratedSchemaDir, `${modelName}Schema.ts`);
112
- await fs.promises.writeFile(filePath, code).catch((e) => console.error(e));
113
- }
114
- };
11
+ import './src/helpers/FileManager/BaseFileManager.js';
12
+ import './src/node/helpers/ArweaveClient.js';
13
+ import { SCHEMA_TS } from './src/helpers/constants.js';
14
+ import { rootWithNodeModules, dotSeedDir, sdkRootDir, drizzleKitPath, appSchemaDir, appMetaDir, drizzleDbConfigPath } from './src/node/constants.js';
15
+ import { createDrizzleSchemaFilesFromConfig } from './src/node/codegen/drizzle.js';
16
+ import { rimrafSync } from 'rimraf';
115
17
 
116
18
  promisify(exec);
117
19
  let a;
118
- a = process$1.argv.splice(2);
20
+ a = process.argv.splice(2);
119
21
  const init = (args) => {
120
22
  console.log('args:', args);
121
23
  if (args && args.length && args[0] === 'init') {
@@ -224,7 +126,7 @@ const init = (args) => {
224
126
  });
225
127
  }
226
128
  };
227
- const calledFrom = pathToFileURL(process$1.argv[1]).href;
129
+ const calledFrom = pathToFileURL(process.argv[1]).href;
228
130
  console.log('calledFrom:', calledFrom);
229
131
  if (calledFrom.endsWith('node_modules/.bin/seed') ||
230
132
  import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sources":["../../src/node/constants.ts","../../src/node/helpers/index.ts","../../src/node/codegen/drizzle.ts","../../scripts/bin.ts"],"sourcesContent":["import path from 'path'\nimport 'dotenv/config'\n\nexport const NODE_APP_DB_CONFIG = 'node.app.db.config.ts'\n\nconst currentDir = path.dirname(new URL(import.meta.url).pathname)\n\nconst parentToCheck = path.join(currentDir, '..')\n\nlet rootWithNodeModules = path.join(currentDir, '..', '..', '..', '..')\n\nif (process.env.IS_SEED_DEV) {\n rootWithNodeModules = path.join(parentToCheck, '..')\n}\n\nlet sdkRootDir = path.join(\n rootWithNodeModules,\n 'node_modules',\n '@seedprotocol',\n 'sdk',\n 'dist',\n)\n\nif (process.env.IS_SEED_DEV) {\n sdkRootDir = path.join(rootWithNodeModules, 'src')\n}\n\nlet dotSeedDir = path.join(rootWithNodeModules, '.seed')\n\nif (process.env.IS_SEED_DEV) {\n dotSeedDir = path.join(\n process.cwd(),\n '__tests__',\n '__mocks__',\n 'project',\n '.seed',\n )\n}\n\nexport const drizzleKitPath = path.join(\n rootWithNodeModules,\n 'node_modules',\n 'drizzle-kit',\n 'bin.cjs',\n)\n\n// App file paths. These are the single source of truth for the SDK user's data model\nexport const appSchemaDir = path.join(dotSeedDir, 'schema')\nexport const appDbDir = path.join(dotSeedDir, 'db')\nexport const appMetaDir = path.join(appDbDir, 'meta')\nexport const appGeneratedSchemaDir = path.join(dotSeedDir, 'schema')\n\nexport const drizzleDbConfigPath = path.join(\n sdkRootDir,\n 'node',\n 'db',\n NODE_APP_DB_CONFIG,\n)\n\nexport const templatePath = path.join(\n sdkRootDir,\n 'node',\n 'codegen',\n 'templates',\n)\n\nexport { rootWithNodeModules, sdkRootDir, dotSeedDir }\n","// import { customAlphabet } from 'nanoid'\n// import { alphanumeric } from 'nanoid-dictionary'\nimport fs from 'fs'\nimport * as tsImport from 'ts-import'\nimport { LoadMode } from 'ts-import'\nimport path from 'path'\nimport { glob } from 'glob'\nimport { rimraf } from 'rimraf'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:helpers')\n\nexport const getTsImport = async <T>(filePath: string): Promise<T> => {\n // Check if the config file exists\n if (!fs.existsSync(filePath)) {\n logger(`Typescript file not found at ${filePath}`)\n throw new Error(`Typescript file not found at ${filePath}`)\n }\n\n return await tsImport.load(filePath, {\n mode: LoadMode.Compile,\n compileOptions: {\n compilerOptions: {\n experimentalDecorators: true,\n emitDecoratorMetadata: true,\n },\n },\n })\n}\n\nexport const deleteFilesWithExtension = async (\n dir: string,\n extension: string,\n) => {\n const pattern = path.join(dir, `**/*${extension}`)\n glob(pattern, (err, files) => {\n if (err) {\n logger('Error finding files:', err)\n return\n }\n\n for (const file of files) {\n // TODO: Change this whole thing to be async?\n rimraf(file, (err) => {\n if (err) {\n logger('Error deleting file:', err)\n } else {\n logger(`Deleted: ${file}`)\n }\n })\n }\n })\n}\n","import path from 'path'\nimport pluralize from 'pluralize'\nimport { camelCase, snakeCase } from 'lodash-es'\nimport * as nunjucks from 'nunjucks'\nimport { ILoader } from 'nunjucks'\nimport { ModelClassType } from '@/types'\nimport { SCHEMA_NJK } from '@/helpers/constants'\nimport {\n appGeneratedSchemaDir,\n dotSeedDir,\n templatePath,\n} from '@/node/constants'\nimport { getTsImport } from '@/node/helpers'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\nimport fs from 'fs'\n\nconst TemplateLoader: ILoader = {\n getSource: (name: string) => {\n let templateFilePath\n if (name.includes(templatePath)) {\n templateFilePath = name\n } else {\n templateFilePath = path.join(templatePath, path.basename(name))\n }\n const src = fs.readFileSync(templateFilePath, 'utf-8')\n\n return {\n path: name,\n src,\n noCache: false,\n }\n },\n}\n\n// Configure Nunjucks\nconst env = new nunjucks.Environment(TemplateLoader)\n\nenv.addFilter('camelCase', camelCase)\nenv.addFilter('snakeCase', snakeCase)\nenv.addFilter('pluralize', pluralize)\n\nconst generateDrizzleSchemaCode = (\n modelName: string,\n modelClass: ModelClassType,\n): string => {\n const listProperties = Object.entries(modelClass.schema).filter(\n ([key, propertyDef]) => propertyDef?.dataType === 'List',\n )\n\n const filePath = path.join(templatePath, SCHEMA_NJK)\n\n const schemaCode = env.render(filePath, {\n modelName,\n modelClass,\n listProperties,\n })\n\n return schemaCode\n}\n\nexport const createDrizzleSchemaFilesFromConfig = async () => {\n const schemaFilePath = path.join(dotSeedDir, 'schema.ts') // Developer created file with model definitions\n\n const { models } = await getTsImport<{\n models: Record<string, ModelClassType>\n }>(schemaFilePath)\n\n const fs = await BaseFileManager.getFs()\n\n for (const [modelName, modelClass] of Object.entries(models)) {\n const code = generateDrizzleSchemaCode(modelName, modelClass)\n\n if (!fs.existsSync(appGeneratedSchemaDir)) {\n fs.mkdirSync(appGeneratedSchemaDir)\n }\n\n const filePath = path.join(appGeneratedSchemaDir, `${modelName}Schema.ts`)\n\n await fs.promises.writeFile(filePath, code).catch((e) => console.error(e))\n }\n}\n","#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { exec as execCallback, execSync, } from 'child_process'\nimport { promisify } from 'util'\nimport { pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '../src/node/helpers/EasClient'\nimport '../src/node/helpers/QueryClient'\nimport '../src/node/helpers/FileManager'\nimport '../src/node/helpers/ArweaveClient'\nimport { SCHEMA_TS } from '../src/helpers/constants'\nimport {\n appMetaDir,\n appSchemaDir,\n dotSeedDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n rootWithNodeModules,\n sdkRootDir,\n} from '../src/node/constants'\nimport { createDrizzleSchemaFilesFromConfig } from '../src/node/codegen'\nimport { rimrafSync } from 'rimraf'\n\nconst exec = promisify(execCallback)\n\nlet a\n\na = process.argv.splice(2)\n\nconst init = (args: string[]) => {\n console.log('args:', args)\n\n if (args && args.length && args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n\n let schemaFileDir = args[1] || rootWithNodeModules\n const schemaFilePath = path.join(schemaFileDir, SCHEMA_TS)\n\n // Remove dotSeedDir to start fresh each time\n if (fs.existsSync(dotSeedDir)) {\n fs.rmSync(dotSeedDir, { recursive: true, force: true })\n }\n\n console.log('[Seed Protocol] dotSeedDir', dotSeedDir)\n console.log('[Seed Protocol] sdkRootDir', sdkRootDir)\n\n const drizzleKitCommand = `npx --yes tsx ${drizzleKitPath}`\n\n const ensureIndexExports = (dirPath: string): void => {\n try {\n // Get all file names in the directory\n const files = fs.readdirSync(dirPath)\n\n // Filter for .ts files excluding index.ts\n const tsFiles = files.filter(\n (file) => file.endsWith('.ts') && file !== 'index.ts',\n )\n\n // Check if index.ts exists\n const indexFilePath = path.join(dirPath, 'index.ts')\n try {\n fs.accessSync(indexFilePath)\n } catch (error) {\n console.error(`index.ts not found in the directory: ${dirPath}`)\n return\n }\n\n // Read the content of index.ts\n const indexContent = fs.readFileSync(indexFilePath, 'utf8')\n\n // Create export statements for each .ts file\n const exportStatements = tsFiles.map(\n (file) => `export * from './${path.basename(file, '.ts')}';`,\n )\n\n // Check if each export statement is already present in index.ts\n const missingExports = exportStatements.filter(\n (statement) => !indexContent.includes(statement),\n )\n\n if (missingExports.length > 0) {\n // Append missing export statements to index.ts\n const newContent =\n indexContent + '\\n' + missingExports.join('\\n') + '\\n'\n fs.writeFileSync(indexFilePath, newContent, 'utf8')\n console.log(\n `Updated index.ts with missing exports:\\n${missingExports.join('\\n')}`,\n )\n } else {\n console.log('All exports are already present in index.ts')\n }\n } catch (error) {\n console.error(`Error processing directory: ${dirPath}`, error)\n }\n }\n\n const copyFiles = (srcDir, destDir) => {\n if (!fs.existsSync(destDir)) {\n fs.mkdirSync(destDir, { recursive: true })\n }\n const srcFiles = fs.readdirSync(srcDir)\n srcFiles.forEach((file) => {\n console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`)\n fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file))\n })\n }\n\n const copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const exists = await fs.promises.access(_appFilesDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(_appFilesDirPath, { recursive: true, force: true })\n }\n console.log(`[Seed Protocol] Removed old app files`)\n console.log(`[Seed Protocol] making dir at ${_appFilesDirPath}`)\n fs.mkdirSync(_appFilesDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n fs.cpSync(dotSeedDir, _appFilesDirPath, { recursive: true })\n console.log(\n '[Seed Protocol] removing sqlite3 files and index.ts files',\n )\n rimrafSync(`${_appFilesDirPath}/**/*.sqlite3`, {\n glob: true,\n })\n rimrafSync(`${_appFilesDirPath}/**/index.ts`, {\n glob: true,\n })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n console.log('pathToMeta:', pathToMeta)\n console.log('pathToConfig:', pathToConfig)\n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${pathToConfig}`)\n execSync(\n `${drizzleKitCommand} generate --config=${pathToConfig}`,\n )\n }\n execSync(`${drizzleKitCommand} migrate --config=${pathToConfig}`)\n }\n\n const runCommands = async () => {\n await createDrizzleSchemaFilesFromConfig()\n ensureIndexExports(appSchemaDir)\n await updateSchema(drizzleDbConfigPath, appMetaDir)\n }\n\n copyFiles(\n path.join(sdkRootDir, 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n fs.copyFileSync(schemaFilePath, path.join(dotSeedDir, 'schema.ts'))\n\n runCommands()\n .then(() => {\n if (!appFilesDirPath) {\n console.log('[Seed Protocol] Finished running init script')\n } else {\n return copyDotSeedFilesToAppFiles(appFilesDirPath)\n }\n })\n .then(() => {\n console.log('[Seed Protocol] Finished running init script')\n })\n }\n}\n\nconst calledFrom = pathToFileURL(process.argv[1]).href\n\nconsole.log('calledFrom:', calledFrom)\n\nif (\n calledFrom.endsWith('node_modules/.bin/seed') ||\n import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||\n import.meta.url.endsWith('scripts/bin.ts')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":["execCallback","process"],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sources":["../../scripts/bin.ts"],"sourcesContent":["#!/usr/bin/env node\nimport path from 'path'\nimport fs from 'fs'\nimport { exec as execCallback, execSync, } from 'child_process'\nimport { promisify } from 'util'\nimport { pathToFileURL } from 'url'\nimport process from 'node:process'\nimport '../src/node/helpers/EasClient'\nimport '../src/node/helpers/QueryClient'\nimport '../src/node/helpers/FileManager'\nimport '../src/node/helpers/ArweaveClient'\nimport { SCHEMA_TS } from '../src/helpers/constants'\nimport {\n appMetaDir,\n appSchemaDir,\n dotSeedDir,\n drizzleDbConfigPath,\n drizzleKitPath,\n rootWithNodeModules,\n sdkRootDir,\n} from '../src/node/constants'\nimport { createDrizzleSchemaFilesFromConfig } from '../src/node/codegen'\nimport { rimrafSync } from 'rimraf'\n\nconst exec = promisify(execCallback)\n\nlet a\n\na = process.argv.splice(2)\n\nconst init = (args: string[]) => {\n console.log('args:', args)\n\n if (args && args.length && args[0] === 'init') {\n console.log('[Seed Protocol] Running init script')\n\n let appFilesDirPath = args[2] || undefined\n\n let schemaFileDir = args[1] || rootWithNodeModules\n const schemaFilePath = path.join(schemaFileDir, SCHEMA_TS)\n\n // Remove dotSeedDir to start fresh each time\n if (fs.existsSync(dotSeedDir)) {\n fs.rmSync(dotSeedDir, { recursive: true, force: true })\n }\n\n console.log('[Seed Protocol] dotSeedDir', dotSeedDir)\n console.log('[Seed Protocol] sdkRootDir', sdkRootDir)\n\n const drizzleKitCommand = `npx --yes tsx ${drizzleKitPath}`\n\n const ensureIndexExports = (dirPath: string): void => {\n try {\n // Get all file names in the directory\n const files = fs.readdirSync(dirPath)\n\n // Filter for .ts files excluding index.ts\n const tsFiles = files.filter(\n (file) => file.endsWith('.ts') && file !== 'index.ts',\n )\n\n // Check if index.ts exists\n const indexFilePath = path.join(dirPath, 'index.ts')\n try {\n fs.accessSync(indexFilePath)\n } catch (error) {\n console.error(`index.ts not found in the directory: ${dirPath}`)\n return\n }\n\n // Read the content of index.ts\n const indexContent = fs.readFileSync(indexFilePath, 'utf8')\n\n // Create export statements for each .ts file\n const exportStatements = tsFiles.map(\n (file) => `export * from './${path.basename(file, '.ts')}';`,\n )\n\n // Check if each export statement is already present in index.ts\n const missingExports = exportStatements.filter(\n (statement) => !indexContent.includes(statement),\n )\n\n if (missingExports.length > 0) {\n // Append missing export statements to index.ts\n const newContent =\n indexContent + '\\n' + missingExports.join('\\n') + '\\n'\n fs.writeFileSync(indexFilePath, newContent, 'utf8')\n console.log(\n `Updated index.ts with missing exports:\\n${missingExports.join('\\n')}`,\n )\n } else {\n console.log('All exports are already present in index.ts')\n }\n } catch (error) {\n console.error(`Error processing directory: ${dirPath}`, error)\n }\n }\n\n const copyFiles = (srcDir, destDir) => {\n if (!fs.existsSync(destDir)) {\n fs.mkdirSync(destDir, { recursive: true })\n }\n const srcFiles = fs.readdirSync(srcDir)\n srcFiles.forEach((file) => {\n console.log(`Copying ${srcDir}/${file} to ${destDir}/${file}`)\n fs.copyFileSync(path.join(srcDir, file), path.join(destDir, file))\n })\n }\n\n const copyDotSeedFilesToAppFiles = async (_appFilesDirPath: string) => {\n console.log('[Seed Protocol] Copying dot seed files to app files')\n const exists = await fs.promises.access(_appFilesDirPath).then(() => true).catch(() => false)\n if (exists) {\n await fs.promises.rm(_appFilesDirPath, { recursive: true, force: true })\n }\n console.log(`[Seed Protocol] Removed old app files`)\n console.log(`[Seed Protocol] making dir at ${_appFilesDirPath}`)\n fs.mkdirSync(_appFilesDirPath, { recursive: true })\n console.log('[Seed Protocol] copying app files')\n fs.cpSync(dotSeedDir, _appFilesDirPath, { recursive: true })\n console.log(\n '[Seed Protocol] removing sqlite3 files and index.ts files',\n )\n rimrafSync(`${_appFilesDirPath}/**/*.sqlite3`, {\n glob: true,\n })\n rimrafSync(`${_appFilesDirPath}/**/index.ts`, {\n glob: true,\n })\n }\n\n const updateSchema = async (pathToConfig: string, pathToMeta: string) => {\n console.log('pathToMeta:', pathToMeta)\n console.log('pathToConfig:', pathToConfig)\n if (!fs.existsSync(pathToMeta)) {\n console.log(`${drizzleKitCommand} generate --config=${pathToConfig}`)\n execSync(\n `${drizzleKitCommand} generate --config=${pathToConfig}`,\n )\n }\n execSync(`${drizzleKitCommand} migrate --config=${pathToConfig}`)\n }\n\n const runCommands = async () => {\n await createDrizzleSchemaFilesFromConfig()\n ensureIndexExports(appSchemaDir)\n await updateSchema(drizzleDbConfigPath, appMetaDir)\n }\n\n copyFiles(\n path.join(sdkRootDir, 'seedSchema'),\n path.join(dotSeedDir, 'schema'),\n )\n\n fs.copyFileSync(schemaFilePath, path.join(dotSeedDir, 'schema.ts'))\n\n runCommands()\n .then(() => {\n if (!appFilesDirPath) {\n console.log('[Seed Protocol] Finished running init script')\n } else {\n return copyDotSeedFilesToAppFiles(appFilesDirPath)\n }\n })\n .then(() => {\n console.log('[Seed Protocol] Finished running init script')\n })\n }\n}\n\nconst calledFrom = pathToFileURL(process.argv[1]).href\n\nconsole.log('calledFrom:', calledFrom)\n\nif (\n calledFrom.endsWith('node_modules/.bin/seed') ||\n import.meta.url.endsWith('@seedprotocol/sdk/node/bin.js') ||\n import.meta.url.endsWith('scripts/bin.ts')\n) {\n // module was not imported but called directly\n init(a)\n}\n\nexport { init }\n"],"names":["execCallback"],"mappings":"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"}
package/dist/main.js CHANGED
@@ -1,25 +1,17 @@
1
- import 'immer';
1
+ import { enableMapSet } from 'immer';
2
2
  import 'reflect-metadata';
3
- export { d as ImageSrc, e as Item, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, C as client, r as eventEmitter, q as getCorrectId, h as useCreateItem, k as useDeleteItem, l as useGlobalServiceStatus, f as useItem, g as useItemProperties, j as useItemProperty, u as useItems, n as usePersistedSnapshots, m as usePublishItem, p as useService, o as useServices, w as withSeed } from './index-D-O-gmXo.js';
4
- import '@sinclair/typebox';
5
- import 'xstate';
6
- import './constants-C-6Pg8FW.js';
7
- import 'graphql-request';
8
- import '@ethereum-attestation-service/eas-sdk';
9
- import 'debug';
10
- import 'pluralize';
11
- import 'drizzle-orm/sqlite-core';
12
- import 'drizzle-orm';
13
- import 'eventemitter3';
14
- import 'nanoid';
15
- import 'nanoid-dictionary';
16
- import 'lodash-es';
17
- import '@statelyai/inspect';
18
- import 'path';
19
- import 'arweave';
20
- import 'rxjs';
21
- import 'drizzle-orm/casing';
22
- import 'react';
23
- import 'use-immer';
24
- import '@xstate/react';
3
+ export { Model } from './src/schema/model/index.js';
4
+ export { ImageSrc, Json, List, Property, Relation, Text } from './src/schema/property/index.js';
5
+ export { Item } from './src/Item/index.js';
6
+ export { useCreateItem, useItem, useItems, usePublishItem } from './src/browser/react/item.js';
7
+ export { useItemProperties, useItemProperty } from './src/browser/react/property.js';
8
+ export { useGlobalServiceStatus, usePersistedSnapshots, useService, useServices } from './src/browser/react/services.js';
9
+ import './src/browser/react/db.js';
10
+ export { useDeleteItem } from './src/browser/react/trash.js';
11
+ export { getCorrectId } from './src/helpers/index.js';
12
+ export { eventEmitter } from './src/eventBus.js';
13
+ export { withSeed } from './src/node/webpack/index.js';
14
+ export { ClientManager as client } from './src/client/ClientManager.js';
15
+
16
+ enableMapSet();
25
17
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"main.js","sources":["../../src/index.ts"],"sourcesContent":["import { enableMapSet } from 'immer'\n\nexport {\n Model,\n Property,\n ImageSrc,\n List,\n Text,\n Json,\n Relation,\n} from './schema'\n\n// export { type IItem, type IItemProperty } from './interfaces'\nexport { Item } from './Item'\n// export { ItemProperty } from './ItemProperty'\n// export { Db } from './db/Db'\n\nexport {\n useItems,\n useItem,\n useItemProperties,\n useCreateItem,\n useItemProperty,\n useDeleteItem,\n useGlobalServiceStatus,\n usePublishItem,\n usePersistedSnapshots,\n useServices,\n useService,\n} from './browser/react'\n\n// export { getCorrectId, BaseArweaveClient, BaseEasClient, BaseFileManager, BaseQueryClient, } from './helpers'\nexport { getCorrectId, } from './helpers'\n\n// export { getGlobalService } from './services/global/globalMachine'\n\nexport {\n eventEmitter,\n} from './eventBus'\n\nenableMapSet()\n\nexport { withSeed } from './node/webpack'\n\n\nexport { client } from './client'\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAwCA,YAAY,EAAE"}
@@ -0,0 +1,309 @@
1
+ import { itemMachineSingle } from './service/itemMachineSingle.js';
2
+ import { internalPropertyNames } from '../helpers/constants.js';
3
+ import { getModel } from '../stores/modelClass.js';
4
+ import { immerable } from 'immer';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import { createActor } from 'xstate';
7
+ import pluralize from 'pluralize';
8
+ import { startCase, orderBy } from 'lodash-es';
9
+ import { waitForEvent } from '../events/index.js';
10
+ import { getItemData } from '../db/read/getItemData.js';
11
+ import { getItemsData } from '../db/read/getItems.js';
12
+ import { BaseItemProperty } from '../ItemProperty/BaseItemProperty.js';
13
+ import { getItemProperties } from '../db/read/getItemProperties.js';
14
+ import { getPublishUploads } from '../db/read/getPublishUploads.js';
15
+ import { getPublishPayload } from '../db/read/getPublishPayload.js';
16
+ import { createNewItem } from '../db/write/createNewItem.js';
17
+
18
+ var _a;
19
+ class BaseItem {
20
+ constructor(initialValues) {
21
+ this[_a] = true;
22
+ this._propertiesSubject = new BehaviorSubject({});
23
+ this.subscribe = (callback) => {
24
+ return this._service.subscribe((snapshot) => {
25
+ callback(snapshot.context);
26
+ });
27
+ };
28
+ this.getService = () => {
29
+ return this._service;
30
+ };
31
+ this.getEditedProperties = async () => {
32
+ return await getItemProperties({
33
+ seedLocalId: this.seedLocalId,
34
+ edited: true,
35
+ });
36
+ };
37
+ this.publish = async () => {
38
+ await waitForEvent({
39
+ req: {
40
+ eventLabel: `item.publish.request`,
41
+ data: {
42
+ seedLocalId: this.seedLocalId,
43
+ },
44
+ },
45
+ res: {
46
+ eventLabel: `item.${this.seedLocalId}.publish.success`,
47
+ },
48
+ });
49
+ };
50
+ this.getPublishUploads = async () => {
51
+ return await getPublishUploads(this);
52
+ };
53
+ this.getPublishPayload = async (uploadedTransactions) => {
54
+ return await getPublishPayload(this, uploadedTransactions);
55
+ };
56
+ const { modelName, seedUid, schemaUid, seedLocalId, latestVersionLocalId, latestVersionUid, } = initialValues;
57
+ const ModelClass = getModel(modelName);
58
+ if (ModelClass &&
59
+ Object.keys(ModelClass?.schema).includes('storageTransactionId') &&
60
+ initialValues.storageTransactionId) {
61
+ this._storageTransactionId = initialValues.storageTransactionId;
62
+ }
63
+ this._service = createActor(itemMachineSingle, {
64
+ input: {
65
+ seedLocalId,
66
+ seedUid,
67
+ schemaUid,
68
+ ModelClass,
69
+ latestVersionLocalId,
70
+ latestVersionUid,
71
+ storageTransactionId: this._storageTransactionId,
72
+ },
73
+ });
74
+ this._subscription = this._service.subscribe((snapshot) => {
75
+ const { context } = snapshot;
76
+ if (!context ||
77
+ !context.propertyInstances ||
78
+ context.propertyInstances.size === 0) {
79
+ return;
80
+ }
81
+ const propertiesObj = {};
82
+ for (const [key, propertyInstance] of context.propertyInstances) {
83
+ if (typeof key !== 'string' || internalPropertyNames.includes(key)) {
84
+ propertiesObj[key.toString()] = propertyInstance;
85
+ continue;
86
+ }
87
+ let transformedKey = key;
88
+ if (propertyInstance.alias) {
89
+ transformedKey = propertyInstance.alias;
90
+ }
91
+ if (!propertyInstance.alias && key.endsWith('Ids')) {
92
+ transformedKey = key.slice(0, -3); // Remove 'Ids'
93
+ transformedKey = pluralize(transformedKey);
94
+ }
95
+ if (!propertyInstance.alias && key.endsWith('Id')) {
96
+ transformedKey = key.slice(0, -2); // Remove 'Id'
97
+ }
98
+ propertiesObj[transformedKey] = propertyInstance;
99
+ }
100
+ this._propertiesSubject.next(propertiesObj);
101
+ // eventEmitter.emit(`item.${modelName}.${seedUid || seedLocalId}.update`)
102
+ });
103
+ this._service.start();
104
+ const definedKeys = ['ModelClass'];
105
+ const itemPropertyBase = {
106
+ seedLocalId,
107
+ seedUid,
108
+ versionLocalId: latestVersionLocalId,
109
+ versionUid: latestVersionUid,
110
+ modelName: modelName,
111
+ };
112
+ if (ModelClass && ModelClass.schema) {
113
+ const schema = ModelClass.schema;
114
+ for (const [propertyName, propertyRecordSchema] of Object.entries(schema)) {
115
+ if (!propertyRecordSchema) {
116
+ throw new Error(`Property ${propertyName} has no definition`);
117
+ }
118
+ this._createPropertyInstance({
119
+ ...itemPropertyBase,
120
+ propertyName,
121
+ propertyValue: initialValues[propertyName],
122
+ });
123
+ definedKeys.push(propertyName);
124
+ if (propertyRecordSchema.dataType === 'Relation' &&
125
+ !propertyName.endsWith('Id')) {
126
+ definedKeys.push(`${propertyName}Id`);
127
+ }
128
+ if (propertyRecordSchema.dataType === 'List' &&
129
+ !propertyName.endsWith('Ids')) {
130
+ const singularPropertyName = pluralize.singular(propertyName);
131
+ const propertyNameForSchema = `${singularPropertyName}${propertyRecordSchema.ref}Ids`;
132
+ definedKeys.push(propertyNameForSchema);
133
+ }
134
+ }
135
+ }
136
+ Object.keys(initialValues).forEach((key) => {
137
+ // If we already defined it, that means it was in the schema
138
+ if (definedKeys.includes(key)) {
139
+ return;
140
+ }
141
+ this._createPropertyInstance({
142
+ ...itemPropertyBase,
143
+ propertyName: key,
144
+ propertyValue: initialValues[key],
145
+ });
146
+ });
147
+ }
148
+ static setPlatformClass(platformClass) {
149
+ this.PlatformClass = platformClass;
150
+ }
151
+ static async create(props) {
152
+ if (!props.modelName && props.type) {
153
+ props.modelName = startCase(props.type);
154
+ }
155
+ if (props.seedUid || props.seedLocalId) {
156
+ const seedId = (props.seedUid || props.seedLocalId);
157
+ if (this.instanceCache.has(seedId)) {
158
+ const { instance, refCount } = this.instanceCache.get(seedId);
159
+ this.instanceCache.set(seedId, {
160
+ instance,
161
+ refCount: refCount + 1,
162
+ });
163
+ for (const [propertyName, propertyValue] of Object.entries(props)) {
164
+ const propertyInstances = instance.getService().getSnapshot()
165
+ .context.propertyInstances;
166
+ if (!propertyInstances || !propertyInstances.has(propertyName)) {
167
+ continue;
168
+ }
169
+ const propertyInstance = propertyInstances.get(propertyName);
170
+ if (!propertyInstance) {
171
+ continue;
172
+ }
173
+ propertyInstance.getService().send({
174
+ type: 'updateContext',
175
+ propertyValue,
176
+ });
177
+ }
178
+ return instance;
179
+ }
180
+ if (!this.instanceCache.has(seedId)) {
181
+ const newInstance = new this(props);
182
+ this.instanceCache.set(seedId, {
183
+ instance: newInstance,
184
+ refCount: 1,
185
+ });
186
+ return newInstance;
187
+ }
188
+ }
189
+ if (!props.modelName) {
190
+ throw new Error('Model name is required to create an item');
191
+ }
192
+ const { seedLocalId, versionLocalId, } = await createNewItem({
193
+ modelName: props.modelName,
194
+ ...props,
195
+ });
196
+ props.seedLocalId = seedLocalId;
197
+ props.latestVersionLocalId = versionLocalId;
198
+ const newInstance = new this(props);
199
+ this.instanceCache.set(newInstance.seedUid || newInstance.seedLocalId, {
200
+ instance: newInstance,
201
+ refCount: 1,
202
+ });
203
+ return newInstance;
204
+ }
205
+ static async find({ modelName, seedLocalId, seedUid, }) {
206
+ if (!seedLocalId && !seedUid) {
207
+ return;
208
+ }
209
+ const itemData = await getItemData({
210
+ modelName,
211
+ seedLocalId,
212
+ seedUid,
213
+ });
214
+ if (!itemData) {
215
+ console.error('No item data found', { modelName, seedLocalId, seedUid });
216
+ return;
217
+ }
218
+ return BaseItem.create({
219
+ ...itemData,
220
+ modelName,
221
+ });
222
+ }
223
+ static async all(modelName, deleted) {
224
+ const itemsData = await getItemsData({ modelName, deleted });
225
+ const itemInstances = [];
226
+ for (const itemData of itemsData) {
227
+ itemInstances.push(await BaseItem.create({
228
+ ...itemData,
229
+ modelName,
230
+ }));
231
+ }
232
+ return orderBy(itemInstances, ['createdAt'], ['desc']);
233
+ }
234
+ _createPropertyInstance(props) {
235
+ if (this._storageTransactionId) {
236
+ props.storageTransactionId = this._storageTransactionId;
237
+ }
238
+ const propertyInstance = BaseItemProperty.create(props);
239
+ if (!propertyInstance || !props.propertyName) {
240
+ return;
241
+ }
242
+ this._service.send({
243
+ type: 'addPropertyInstance',
244
+ propertyName: props.propertyName,
245
+ propertyInstance,
246
+ });
247
+ Object.defineProperty(this, props.propertyName, {
248
+ get: () => propertyInstance.value,
249
+ set: (value) => (propertyInstance.value = value),
250
+ enumerable: true,
251
+ });
252
+ }
253
+ static async publish(item) {
254
+ await waitForEvent({
255
+ req: {
256
+ eventLabel: `item.${item.seedLocalId}.publish.request`,
257
+ data: {
258
+ seedLocalId: item.seedLocalId,
259
+ },
260
+ },
261
+ res: {
262
+ eventLabel: `item.${item.seedLocalId}.publish.success`,
263
+ },
264
+ });
265
+ }
266
+ get serviceContext() {
267
+ const snapshot = this._service.getSnapshot();
268
+ return snapshot.context || {};
269
+ }
270
+ get seedLocalId() {
271
+ return this.serviceContext.seedLocalId;
272
+ }
273
+ get seedUid() {
274
+ return this.serviceContext.seedUid;
275
+ }
276
+ get schemaUid() {
277
+ return this.serviceContext.schemaUid;
278
+ }
279
+ get latestVersionUid() {
280
+ return this.serviceContext.latestVersionUid;
281
+ }
282
+ get latestVersionLocalId() {
283
+ return this.serviceContext.latestVersionLocalId;
284
+ }
285
+ get modelName() {
286
+ return this.serviceContext.modelName;
287
+ }
288
+ get properties() {
289
+ return this._propertiesSubject.value;
290
+ }
291
+ get attestationCreatedAt() {
292
+ return this.serviceContext.attestationCreatedAt;
293
+ }
294
+ get versionsCount() {
295
+ return this.serviceContext.versionsCount;
296
+ }
297
+ get lastVersionPublishedAt() {
298
+ return this.serviceContext.lastVersionPublishedAt;
299
+ }
300
+ unload() {
301
+ this._subscription?.unsubscribe();
302
+ this._service.stop();
303
+ }
304
+ }
305
+ _a = immerable;
306
+ BaseItem.instanceCache = new Map();
307
+
308
+ export { BaseItem };
309
+ //# sourceMappingURL=BaseItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseItem.js","sources":["../../../../src/Item/BaseItem.ts"],"sourcesContent":["import { IItem, IItemProperty } from '@/interfaces'\nimport { itemMachineSingle } from '@/Item/service/itemMachineSingle'\nimport { internalPropertyNames } from '@/helpers/constants'\nimport { VersionsType } from '@/seedSchema/VersionSchema'\nimport { getModel } from '@/stores/modelClass'\n\nimport {\n CreatePropertyInstanceProps,\n ItemData,\n ItemFindProps,\n ModelSchema,\n ModelValues,\n NewItemProps,\n PropertyData\n} from '@/types'\n\nimport { immerable } from 'immer'\nimport { BehaviorSubject } from 'rxjs'\nimport { ActorRefFrom, Subscription, createActor } from 'xstate'\nimport { eventEmitter } from '@/eventBus'\nimport pluralize from 'pluralize'\nimport { orderBy, startCase } from 'lodash-es'\nimport { waitForEvent } from '@/events'\nimport { getItemData } from '@/db/read/getItemData'\nimport { getItemsData } from '@/db/read/getItems'\nimport { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'\nimport { getItemProperties } from '@/db/read/getItemProperties'\nimport { getPublishUploads } from '@/db/read/getPublishUploads'\nimport { getPublishPayload } from '@/db/read/getPublishPayload'\nimport { createNewItem } from '@/db/write/createNewItem'\n\n\nexport abstract class BaseItem<T extends ModelValues<ModelSchema>> implements IItem<T> {\n\n protected static instanceCache: Map<string, { instance: BaseItem<any>; refCount: number }> = new Map();\n protected _subscription: Subscription | undefined;\n protected readonly _storageTransactionId: string | undefined;\n [immerable] = true;\n protected _propertiesSubject: BehaviorSubject<Record<string, IItemProperty<any>>> = new BehaviorSubject({});\n protected readonly _service: ActorRefFrom<typeof itemMachineSingle>;\n\n constructor(initialValues: NewItemProps<T>) {\n\n const {\n modelName,\n seedUid,\n schemaUid,\n seedLocalId,\n latestVersionLocalId,\n latestVersionUid,\n } = initialValues\n\n const ModelClass = getModel(modelName)\n\n if (\n ModelClass &&\n Object.keys(ModelClass?.schema).includes('storageTransactionId') &&\n initialValues.storageTransactionId\n ) {\n this._storageTransactionId = initialValues.storageTransactionId\n }\n\n this._service = createActor(itemMachineSingle, {\n input: {\n seedLocalId,\n seedUid,\n schemaUid,\n ModelClass,\n latestVersionLocalId,\n latestVersionUid,\n storageTransactionId: this._storageTransactionId,\n },\n })\n\n this._subscription = this._service.subscribe((snapshot) => {\n const { context } = snapshot\n\n if (\n !context ||\n !context.propertyInstances ||\n context.propertyInstances.size === 0\n ) {\n return\n }\n\n const propertiesObj: Record<string, IItemProperty<any>> = {}\n\n for (const [key, propertyInstance] of context.propertyInstances) {\n if (typeof key !== 'string' || internalPropertyNames.includes(key)) {\n propertiesObj[key.toString()] = propertyInstance\n continue\n }\n\n let transformedKey: string = key as string\n\n if (propertyInstance.alias) {\n transformedKey = propertyInstance.alias\n }\n\n if (!propertyInstance.alias && key.endsWith('Ids')) {\n transformedKey = key.slice(0, -3) // Remove 'Ids'\n transformedKey = pluralize(transformedKey)\n }\n\n if (!propertyInstance.alias && key.endsWith('Id')) {\n transformedKey = key.slice(0, -2) // Remove 'Id'\n }\n\n propertiesObj[transformedKey] = propertyInstance\n }\n\n this._propertiesSubject.next(propertiesObj)\n // eventEmitter.emit(`item.${modelName}.${seedUid || seedLocalId}.update`)\n })\n\n this._service.start()\n\n const definedKeys: string[] = ['ModelClass']\n\n const itemPropertyBase: Partial<CreatePropertyInstanceProps> = {\n seedLocalId,\n seedUid,\n versionLocalId: latestVersionLocalId,\n versionUid: latestVersionUid,\n modelName: modelName,\n }\n\n if (ModelClass && ModelClass.schema) {\n const schema = ModelClass.schema\n\n for (const [propertyName, propertyRecordSchema] of Object.entries(\n schema,\n )) {\n if (!propertyRecordSchema) {\n throw new Error(`Property ${propertyName} has no definition`)\n }\n\n this._createPropertyInstance({\n ...itemPropertyBase,\n propertyName,\n propertyValue: initialValues[propertyName as keyof T],\n })\n\n definedKeys.push(propertyName)\n\n if (\n propertyRecordSchema.dataType === 'Relation' &&\n !propertyName.endsWith('Id')\n ) {\n definedKeys.push(`${propertyName}Id`)\n }\n\n if (\n propertyRecordSchema.dataType === 'List' &&\n !propertyName.endsWith('Ids')\n ) {\n const singularPropertyName = pluralize.singular(propertyName)\n const propertyNameForSchema = `${singularPropertyName}${propertyRecordSchema.ref}Ids`\n definedKeys.push(propertyNameForSchema)\n }\n }\n }\n\n ; (Object.keys(initialValues) as Array<string & keyof Partial<T>>).forEach(\n (key) => {\n // If we already defined it, that means it was in the schema\n if (definedKeys.includes(key)) {\n return\n }\n\n this._createPropertyInstance({\n ...itemPropertyBase,\n propertyName: key,\n propertyValue: initialValues[key],\n })\n },\n )\n }\n\n static PlatformClass: typeof BaseItem\n\n static setPlatformClass(platformClass: typeof BaseItem) {\n this.PlatformClass = platformClass\n }\n\n static async create<T extends ModelValues<ModelSchema>>(\n props: Partial<ItemData>,\n ): Promise<BaseItem<any>> {\n if (!props.modelName && props.type) {\n props.modelName = startCase(props.type)\n }\n if (props.seedUid || props.seedLocalId) {\n const seedId = (props.seedUid || props.seedLocalId) as string\n if (this.instanceCache.has(seedId)) {\n const { instance, refCount } = this.instanceCache.get(seedId)!\n this.instanceCache.set(seedId, {\n instance,\n refCount: refCount + 1,\n })\n for (const [propertyName, propertyValue] of Object.entries(props)) {\n const propertyInstances = instance.getService().getSnapshot()\n .context.propertyInstances\n if (!propertyInstances || !propertyInstances.has(propertyName)) {\n continue\n }\n const propertyInstance = propertyInstances.get(propertyName)\n if (!propertyInstance) {\n continue\n }\n propertyInstance.getService().send({\n type: 'updateContext',\n propertyValue,\n })\n }\n return instance\n }\n if (!this.instanceCache.has(seedId)) {\n const newInstance = new this(props)\n this.instanceCache.set(seedId, {\n instance: newInstance,\n refCount: 1,\n })\n return newInstance\n }\n }\n if (!props.modelName) {\n throw new Error('Model name is required to create an item')\n }\n const { seedLocalId, versionLocalId, } = await createNewItem({\n modelName: props.modelName,\n ...props,\n })\n props.seedLocalId = seedLocalId\n props.latestVersionLocalId = versionLocalId\n const newInstance = new this(props)\n this.instanceCache.set(newInstance.seedUid || newInstance.seedLocalId, {\n instance: newInstance,\n refCount: 1,\n })\n return newInstance\n }\n\n static async find({\n modelName,\n seedLocalId,\n seedUid,\n }: ItemFindProps): Promise<IItem<any> | undefined> {\n if (!seedLocalId && !seedUid) {\n return\n }\n const itemData = await getItemData({\n modelName,\n seedLocalId,\n seedUid,\n })\n\n if (!itemData) {\n console.error('No item data found', { modelName, seedLocalId, seedUid })\n return\n }\n\n return BaseItem.create({\n ...itemData,\n modelName,\n })\n }\n\n static async all(\n modelName?: string,\n deleted?: boolean,\n ): Promise<BaseItem<any>[]> {\n const itemsData = await getItemsData({ modelName, deleted })\n const itemInstances: BaseItem<any>[] = []\n for (const itemData of itemsData) {\n itemInstances.push(\n await BaseItem.create({\n ...itemData,\n modelName,\n }),\n )\n }\n\n return orderBy(itemInstances, ['createdAt'], ['desc'])\n }\n\n protected _createPropertyInstance(props: Partial<CreatePropertyInstanceProps>) {\n if (this._storageTransactionId) {\n props.storageTransactionId = this._storageTransactionId\n }\n\n const propertyInstance = BaseItemProperty.create(props)\n\n if (!propertyInstance || !props.propertyName) {\n return\n }\n\n this._service.send({\n type: 'addPropertyInstance',\n propertyName: props.propertyName,\n propertyInstance,\n })\n\n Object.defineProperty(this, props.propertyName, {\n get: () => propertyInstance.value,\n set: (value) => (propertyInstance.value = value),\n enumerable: true,\n })\n }\n\n\n static async publish(item: IItem<any>): Promise<void> {\n await waitForEvent({\n req: {\n eventLabel: `item.${item.seedLocalId}.publish.request`,\n data: {\n seedLocalId: item.seedLocalId,\n },\n },\n res: {\n eventLabel: `item.${item.seedLocalId}.publish.success`,\n },\n })\n }\n\n subscribe = (callback: (itemProps: any) => void): Subscription => {\n return this._service.subscribe((snapshot) => {\n callback(snapshot.context)\n })\n }\n\n getService = (): ActorRefFrom<typeof itemMachineSingle> => {\n return this._service\n }\n\n getEditedProperties = async (): Promise<PropertyData[]> => {\n return await getItemProperties({\n seedLocalId: this.seedLocalId,\n edited: true,\n })\n }\n\n publish = async (): Promise<void> => {\n await waitForEvent({\n req: {\n eventLabel: `item.publish.request`,\n data: {\n seedLocalId: this.seedLocalId,\n },\n },\n res: {\n eventLabel: `item.${this.seedLocalId}.publish.success`,\n },\n })\n }\n\n getPublishUploads = async () => {\n return await getPublishUploads(this)\n }\n\n getPublishPayload = async (uploadedTransactions: any[]) => {\n return await getPublishPayload(this, uploadedTransactions)\n }\n\n get serviceContext() {\n const snapshot = this._service.getSnapshot()\n return (snapshot as any).context || {}\n }\n\n get seedLocalId(): string {\n return this.serviceContext.seedLocalId as string\n }\n\n get seedUid(): string | undefined {\n return this.serviceContext.seedUid\n }\n\n get schemaUid(): string {\n return this.serviceContext.schemaUid as string\n }\n\n get latestVersionUid(): VersionsType {\n return this.serviceContext.latestVersionUid as VersionsType\n }\n\n get latestVersionLocalId(): string {\n return this.serviceContext.latestVersionLocalId as string\n }\n\n get modelName(): string {\n return this.serviceContext.modelName as string\n }\n\n get properties(): Record<string, IItemProperty<any>> {\n return this._propertiesSubject.value\n }\n\n get attestationCreatedAt(): number {\n return this.serviceContext.attestationCreatedAt as number\n }\n\n get versionsCount(): number {\n return this.serviceContext.versionsCount as number\n }\n\n get lastVersionPublishedAt(): number {\n return this.serviceContext.lastVersionPublishedAt as number\n }\n\n unload(): void {\n this._subscription?.unsubscribe()\n this._service.stop()\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ let Item;
2
+
3
+ export { Item };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/Item/index.ts"],"sourcesContent":["import { isBrowser } from '@/helpers/environment'\nimport { BaseItem } from '@/Item/BaseItem'\n\nlet Item: typeof BaseItem | undefined\n\n\nexport const initItem = async () => {\n if (isBrowser()) {\n Item = (await import('../browser/Item/Item')).Item\n }\n\n if (!isBrowser()) {\n Item = (await import('../node/Item/Item')).Item\n }\n}\n\nexport { Item }\n"],"names":[],"mappings":"AAGA,IAAI;;;;"}