@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,16 @@
1
+ import { graphql } from '../../graphql/gql/gql.js';
2
+
3
+ const GET_TRANSACTION_TAGS = graphql(/* GraphQL */ `
4
+ query GetTransactionTags($transactionId: ID!) {
5
+ tags: transaction(id: $transactionId) {
6
+ id
7
+ tags {
8
+ name
9
+ value
10
+ }
11
+ }
12
+ }
13
+ `);
14
+
15
+ export { GET_TRANSACTION_TAGS };
16
+ //# sourceMappingURL=queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sources":["../../../../../src/helpers/ArweaveClient/queries.ts"],"sourcesContent":["import { graphql } from '@/graphql/gql'\nimport { TypedDocumentNode } from '@graphql-typed-document-node/core'\nimport { Tag } from '@/graphql/gql/graphql'\n\nexport const GET_TRANSACTION_TAGS = graphql(/* GraphQL */ `\n query GetTransactionTags($transactionId: ID!) {\n tags: transaction(id: $transactionId) {\n id\n tags {\n name\n value\n }\n }\n }\n`) as TypedDocumentNode<{ tags: Tag[] }>\n"],"names":[],"mappings":";;AAIa,MAAA,oBAAoB,GAAG,OAAO,eAAe;;;;;;;;;;AAUzD,CAAA;;;;"}
@@ -0,0 +1,14 @@
1
+ import { GraphQLClient } from 'graphql-request';
2
+ import { EAS_ENDPOINT } from '../../services/internal/constants.js';
3
+
4
+ class BaseEasClient {
5
+ static setPlatformClass(platformClass) {
6
+ this.PlatformClass = platformClass;
7
+ }
8
+ static getEasClient() {
9
+ return new GraphQLClient(EAS_ENDPOINT);
10
+ }
11
+ }
12
+
13
+ export { BaseEasClient };
14
+ //# sourceMappingURL=BaseEasClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEasClient.js","sources":["../../../../../src/helpers/EasClient/BaseEasClient.ts"],"sourcesContent":["import { GraphQLClient } from 'graphql-request'\nimport { EAS_ENDPOINT } from '@/services/internal/constants'\n\nexport abstract class BaseEasClient {\n static PlatformClass: typeof BaseEasClient\n\n static setPlatformClass(platformClass: typeof BaseEasClient) {\n this.PlatformClass = platformClass\n }\n\n static getEasClient(): GraphQLClient {\n return new GraphQLClient(EAS_ENDPOINT)\n }\n} \n"],"names":[],"mappings":";;;MAGsB,aAAa,CAAA;IAGjC,OAAO,gBAAgB,CAAC,aAAmC,EAAA;AACzD,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;;AAGpC,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC;;AAEzC;;;;"}
@@ -13,5 +13,8 @@ export declare abstract class BaseFileManager {
13
13
  static waitForFile(filePath: string): Promise<boolean>;
14
14
  static saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void>;
15
15
  static readFile(filePath: string): Promise<File>;
16
+ static readFileAsBuffer(filePath: string): Promise<Buffer>;
17
+ static readFileAsString(filePath: string): Promise<string>;
18
+ static getFs(): Promise<any>;
16
19
  }
17
20
  //# sourceMappingURL=BaseFileManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFileManager.d.ts","sourceRoot":"","sources":["../../../../src/helpers/FileManager/BaseFileManager.ts"],"names":[],"mappings":"AAAA,8BAAsB,eAAe;IACnC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IAEnC,MAAM,CAAC,aAAa,EAAE,OAAO,eAAe,CAAA;IAE5C,MAAM,CAAC,gBAAgB,CAAE,aAAa,EAAE,OAAO,eAAe;WAIjD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlD,MAAM,CAAC,qBAAqB,CAAE,IAAI,EAAE,MAAM,GAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIzE,MAAM,CAAC,gBAAgB,CAAE,EACE,cAAc,EACd,WAAW,EACX,oBAAoB,GACrB,EAAE,sBAAsB,GAAI,OAAO,CAAC,IAAI,CAAC;IAInE,MAAM,CAAC,WAAW,CAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAI,OAAO,CAAC,IAAI,CAAC;IAInF,MAAM,CAAC,eAAe,CAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAAI,OAAO,CAAC,IAAI,CAAC;IAIjF,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrD,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAI/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAI/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;WAI/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvD"}
1
+ {"version":3,"file":"BaseFileManager.d.ts","sourceRoot":"","sources":["../../../../src/helpers/FileManager/BaseFileManager.ts"],"names":[],"mappings":"AAAA,8BAAsB,eAAe;IACnC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IAEnC,MAAM,CAAC,aAAa,EAAE,OAAO,eAAe,CAAA;IAE5C,MAAM,CAAC,gBAAgB,CAAE,aAAa,EAAE,OAAO,eAAe;WAIjD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlD,MAAM,CAAC,qBAAqB,CAAE,IAAI,EAAE,MAAM,GAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIzE,MAAM,CAAC,gBAAgB,CAAE,EACE,cAAc,EACd,WAAW,EACX,oBAAoB,GACrB,EAAE,sBAAsB,GAAI,OAAO,CAAC,IAAI,CAAC;IAInE,MAAM,CAAC,WAAW,CAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAI,OAAO,CAAC,IAAI,CAAC;IAInF,MAAM,CAAC,eAAe,CAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAAI,OAAO,CAAC,IAAI,CAAC;IAIjF,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrD,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAI/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAI/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;WAI/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAIzC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAInD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAInD,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;CAGnC"}
@@ -0,0 +1,55 @@
1
+ class BaseFileManager {
2
+ static setPlatformClass(platformClass) {
3
+ this.PlatformClass = platformClass;
4
+ }
5
+ static async initializeFileSystem() {
6
+ if (this.initializing || this.fileSystemInitialized) {
7
+ return Promise.resolve();
8
+ }
9
+ this.initializing = true;
10
+ await this.PlatformClass.initializeFileSystem();
11
+ this.fileSystemInitialized = true;
12
+ this.initializing = false;
13
+ }
14
+ static getContentUrlFromPath(path) {
15
+ return this.PlatformClass.getContentUrlFromPath(path);
16
+ }
17
+ static downloadAllFiles({ transactionIds, arweaveHost, excludedTransactions, }) {
18
+ return this.PlatformClass.downloadAllFiles({ transactionIds, arweaveHost, excludedTransactions });
19
+ }
20
+ static resizeImage({ filePath, width, height }) {
21
+ return this.PlatformClass.resizeImage({ filePath, width, height });
22
+ }
23
+ static resizeAllImages({ width, height }) {
24
+ return this.PlatformClass.resizeAllImages({ width, height });
25
+ }
26
+ static pathExists(filePath) {
27
+ return this.PlatformClass.pathExists(filePath);
28
+ }
29
+ static createDirIfNotExists(filePath) {
30
+ return this.PlatformClass.createDirIfNotExists(filePath);
31
+ }
32
+ static async waitForFile(filePath) {
33
+ return this.PlatformClass.waitForFile(filePath);
34
+ }
35
+ static async saveFile(filePath, content) {
36
+ return this.PlatformClass.saveFile(filePath, content);
37
+ }
38
+ static async readFile(filePath) {
39
+ return this.PlatformClass.readFile(filePath);
40
+ }
41
+ static async readFileAsBuffer(filePath) {
42
+ return this.PlatformClass.readFileAsBuffer(filePath);
43
+ }
44
+ static async readFileAsString(filePath) {
45
+ return this.PlatformClass.readFileAsString(filePath);
46
+ }
47
+ static async getFs() {
48
+ return this.PlatformClass.getFs();
49
+ }
50
+ }
51
+ BaseFileManager.fileSystemInitialized = false;
52
+ BaseFileManager.initializing = false;
53
+
54
+ export { BaseFileManager };
55
+ //# sourceMappingURL=BaseFileManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseFileManager.js","sources":["../../../../../src/helpers/FileManager/BaseFileManager.ts"],"sourcesContent":["export abstract class BaseFileManager {\n private static fileSystemInitialized = false\n private static initializing = false\n\n static PlatformClass: typeof BaseFileManager\n\n static setPlatformClass( platformClass: typeof BaseFileManager ) {\n this.PlatformClass = platformClass\n }\n\n static async initializeFileSystem(): Promise<void> {\n if (this.initializing || this.fileSystemInitialized) {\n return Promise.resolve()\n }\n this.initializing = true\n await this.PlatformClass.initializeFileSystem()\n this.fileSystemInitialized = true\n this.initializing = false\n }\n\n static getContentUrlFromPath( path: string ): Promise<string | undefined> {\n return this.PlatformClass.getContentUrlFromPath(path)\n }\n\n static downloadAllFiles( {\n transactionIds,\n arweaveHost,\n excludedTransactions,\n }: DownloadAllFilesParams ): Promise<void> {\n return this.PlatformClass.downloadAllFiles({ transactionIds, arweaveHost, excludedTransactions })\n }\n\n static resizeImage( { filePath, width, height }: ResizeImageParams ): Promise<void> {\n return this.PlatformClass.resizeImage({ filePath, width, height })\n }\n\n static resizeAllImages( { width, height }: ResizeAllImagesParams ): Promise<void> {\n return this.PlatformClass.resizeAllImages({ width, height })\n }\n\n static pathExists(filePath: string): Promise<boolean> {\n return this.PlatformClass.pathExists(filePath)\n }\n\n static createDirIfNotExists(filePath: string): Promise<void> {\n return this.PlatformClass.createDirIfNotExists(filePath)\n }\n\n static async waitForFile(filePath: string): Promise<boolean> {\n return this.PlatformClass.waitForFile(filePath)\n }\n\n static async saveFile(filePath: string, content: string | Blob | ArrayBuffer): Promise<void> {\n return this.PlatformClass.saveFile(filePath, content)\n }\n\n static async readFile(filePath: string): Promise<File> {\n return this.PlatformClass.readFile(filePath)\n }\n\n static async readFileAsBuffer(filePath: string): Promise<Buffer> {\n return this.PlatformClass.readFileAsBuffer(filePath)\n }\n\n static async readFileAsString(filePath: string): Promise<string> {\n return this.PlatformClass.readFileAsString(filePath)\n }\n\n static async getFs(): Promise<any> {\n return this.PlatformClass.getFs()\n }\n}\n"],"names":[],"mappings":"MAAsB,eAAe,CAAA;IAMnC,OAAO,gBAAgB,CAAE,aAAqC,EAAA;AAC5D,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;;IAGpC,aAAa,oBAAoB,GAAA;QAC/B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE;AACnD,YAAA,OAAO,OAAO,CAAC,OAAO,EAAE;;AAE1B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE;AAC/C,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;;IAG3B,OAAO,qBAAqB,CAAE,IAAY,EAAA;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC;;IAGvD,OAAO,gBAAgB,CAAE,EACE,cAAc,EACd,WAAW,EACX,oBAAoB,GACG,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;;IAGnG,OAAO,WAAW,CAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAqB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;;AAGpE,IAAA,OAAO,eAAe,CAAE,EAAE,KAAK,EAAE,MAAM,EAAyB,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;;IAG9D,OAAO,UAAU,CAAC,QAAgB,EAAA;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;;IAGhD,OAAO,oBAAoB,CAAC,QAAgB,EAAA;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC;;AAG1D,IAAA,aAAa,WAAW,CAAC,QAAgB,EAAA;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC;;AAGjD,IAAA,aAAa,QAAQ,CAAC,QAAgB,EAAE,OAAoC,EAAA;QAC1E,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;;AAGvD,IAAA,aAAa,QAAQ,CAAC,QAAgB,EAAA;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;;AAG9C,IAAA,aAAa,gBAAgB,CAAC,QAAgB,EAAA;QAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC;;AAGtD,IAAA,aAAa,gBAAgB,CAAC,QAAgB,EAAA;QAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC;;IAGtD,aAAa,KAAK,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;;;AApEpB,eAAqB,CAAA,qBAAA,GAAG,KAAK;AAC7B,eAAY,CAAA,YAAA,GAAG,KAAK;;;;"}
@@ -0,0 +1,11 @@
1
+ class BaseQueryClient {
2
+ static setPlatformClass(platformClass) {
3
+ this.PlatformClass = platformClass;
4
+ }
5
+ static getQueryClient() {
6
+ return this.PlatformClass.getQueryClient();
7
+ }
8
+ }
9
+
10
+ export { BaseQueryClient };
11
+ //# sourceMappingURL=BaseQueryClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseQueryClient.js","sources":["../../../../../src/helpers/QueryClient/BaseQueryClient.ts"],"sourcesContent":["import { IQueryClient } from \"@/interfaces/IQueryClient\"\n\nexport abstract class BaseQueryClient {\n static PlatformClass: typeof BaseQueryClient\n\n static setPlatformClass(platformClass: typeof BaseQueryClient) {\n this.PlatformClass = platformClass\n }\n\n static getQueryClient(): IQueryClient {\n return this.PlatformClass.getQueryClient()\n }\n} "],"names":[],"mappings":"MAEsB,eAAe,CAAA;IAGnC,OAAO,gBAAgB,CAAC,aAAqC,EAAA;AAC3D,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;;AAGpC,IAAA,OAAO,cAAc,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;;AAE7C;;;;"}
@@ -0,0 +1,73 @@
1
+ import { ZERO_BYTES, ZERO_BYTES32, ZERO_ADDRESS } from '@ethereum-attestation-service/eas-sdk';
2
+
3
+ const SCHEMA_NJK = 'schema.njk';
4
+ const SCHEMA_TS = 'schema.ts';
5
+ const INTERNAL_DATA_TYPES = {
6
+ Text: {
7
+ eas: 'string',
8
+ },
9
+ Number: {
10
+ eas: 'uint8',
11
+ },
12
+ ImageSrc: {
13
+ eas: 'string',
14
+ },
15
+ Relation: {
16
+ eas: 'bytes32',
17
+ },
18
+ List: {
19
+ eas: 'bytes32[]',
20
+ },
21
+ FileSrc: {
22
+ eas: 'string',
23
+ },
24
+ Json: {
25
+ eas: 'string',
26
+ },
27
+ Blob: {
28
+ eas: 'bytes32',
29
+ },
30
+ };
31
+ const internalPropertyNames = [
32
+ 'localId',
33
+ 'uid',
34
+ 'seedLocalId',
35
+ 'seedUid',
36
+ 'schemaUid',
37
+ 'attestationCreatedAt',
38
+ 'createdAt',
39
+ 'updatedAt',
40
+ 'versionsCount',
41
+ 'lastVersionPublishedAt',
42
+ 'latestVersionLocalId',
43
+ 'versionLocalId',
44
+ 'lastLocalUpdateAt',
45
+ 'storageTransactionId',
46
+ 'versionUid',
47
+ 'refSeedType',
48
+ 'refValueType',
49
+ 'refResolvedValue',
50
+ 'refResolvedDisplayValue',
51
+ 'type',
52
+ ];
53
+ const VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA = '0x13c0fd59d69dbce40501a41f8b37768d26dd2e2bb0cad64615334d84f7b9bdf6';
54
+ const defaultAttestationData = {
55
+ recipient: ZERO_ADDRESS,
56
+ revocable: true,
57
+ value: BigInt(0),
58
+ refUID: ZERO_BYTES32,
59
+ expirationTime: BigInt(0),
60
+ data: ZERO_BYTES,
61
+ };
62
+ var ImageSize;
63
+ (function (ImageSize) {
64
+ ImageSize[ImageSize["EXTRA_SMALL"] = 480] = "EXTRA_SMALL";
65
+ ImageSize[ImageSize["SMALL"] = 760] = "SMALL";
66
+ ImageSize[ImageSize["MEDIUM"] = 1024] = "MEDIUM";
67
+ ImageSize[ImageSize["LARGE"] = 1440] = "LARGE";
68
+ ImageSize[ImageSize["EXTRA_LARGE"] = 1920] = "EXTRA_LARGE";
69
+ })(ImageSize || (ImageSize = {}));
70
+ const CLIENT_NOT_INITIALIZED = 'ClientManager is not initialized. Please call init() first.';
71
+
72
+ export { CLIENT_NOT_INITIALIZED, INTERNAL_DATA_TYPES, ImageSize, SCHEMA_NJK, SCHEMA_TS, VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA, defaultAttestationData, internalPropertyNames };
73
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/helpers/constants.ts"],"sourcesContent":["import {\n AttestationRequestData,\n ZERO_BYTES,\n ZERO_BYTES32,\n ZERO_ADDRESS,\n} from '@ethereum-attestation-service/eas-sdk'\n\n\nexport const SCHEMA_NJK = 'schema.njk'\nexport const SCHEMA_TS = 'schema.ts'\n\nexport const INTERNAL_DATA_TYPES = {\n Text: {\n eas: 'string',\n },\n Number: {\n eas: 'uint8',\n },\n ImageSrc: {\n eas: 'string',\n },\n Relation: {\n eas: 'bytes32',\n },\n List: {\n eas: 'bytes32[]',\n },\n FileSrc: {\n eas: 'string',\n },\n Json: {\n eas: 'string',\n },\n Blob: {\n eas: 'bytes32',\n },\n}\n\nexport const internalPropertyNames = [\n 'localId',\n 'uid',\n 'seedLocalId',\n 'seedUid',\n 'schemaUid',\n 'attestationCreatedAt',\n 'createdAt',\n 'updatedAt',\n 'versionsCount',\n 'lastVersionPublishedAt',\n 'latestVersionLocalId',\n 'versionLocalId',\n 'lastLocalUpdateAt',\n 'storageTransactionId',\n 'versionUid',\n 'refSeedType',\n 'refValueType',\n 'refResolvedValue',\n 'refResolvedDisplayValue',\n 'type',\n]\n\nexport const VERSION_SCHEMA_UID_OPTIMISM_SEPOLIA =\n '0x13c0fd59d69dbce40501a41f8b37768d26dd2e2bb0cad64615334d84f7b9bdf6'\n\nexport const defaultAttestationData: AttestationRequestData = {\n recipient: ZERO_ADDRESS,\n revocable: true,\n value: BigInt(0),\n refUID: ZERO_BYTES32,\n expirationTime: BigInt(0),\n data: ZERO_BYTES,\n}\n\nexport enum ImageSize {\n EXTRA_SMALL = 480,\n SMALL = 760,\n MEDIUM = 1024,\n LARGE = 1440,\n EXTRA_LARGE = 1920,\n}\n\nexport const CLIENT_NOT_INITIALIZED = 'ClientManager is not initialized. Please call init() first.'\n"],"names":[],"mappings":";;AAQO,MAAM,UAAU,GAAG;AACnB,MAAM,SAAS,GAAG;AAEZ,MAAA,mBAAmB,GAAG;AACjC,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,QAAQ;AACd,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,GAAG,EAAE,OAAO;AACb,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,GAAG,EAAE,QAAQ;AACd,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,WAAW;AACjB,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,GAAG,EAAE,QAAQ;AACd,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,QAAQ;AACd,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,SAAS;AACf,KAAA;;AAGU,MAAA,qBAAqB,GAAG;IACnC,SAAS;IACT,KAAK;IACL,aAAa;IACb,SAAS;IACT,WAAW;IACX,sBAAsB;IACtB,WAAW;IACX,WAAW;IACX,eAAe;IACf,wBAAwB;IACxB,sBAAsB;IACtB,gBAAgB;IAChB,mBAAmB;IACnB,sBAAsB;IACtB,YAAY;IACZ,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,yBAAyB;IACzB,MAAM;;AAGD,MAAM,mCAAmC,GAC9C;AAEW,MAAA,sBAAsB,GAA2B;AAC5D,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChB,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AACzB,IAAA,IAAI,EAAE,UAAU;;IAGN;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,IAAA,CAAA,GAAA,QAAa;AACb,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,IAAA,CAAA,GAAA,OAAY;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,GAAA,aAAkB;AACpB,CAAC,EANW,SAAS,KAAT,SAAS,GAMpB,EAAA,CAAA,CAAA;AAEM,MAAM,sBAAsB,GAAG;;;;"}
@@ -0,0 +1,43 @@
1
+ import '../seedSchema/SeedSchema.js';
2
+ import '../seedSchema/VersionSchema.js';
3
+ import '../seedSchema/MetadataSchema.js';
4
+ import { appState } from '../seedSchema/AppStateSchema.js';
5
+ import '../seedSchema/ModelSchema.js';
6
+ import '../seedSchema/ModelUidSchema.js';
7
+ import { eq } from 'drizzle-orm';
8
+ import { BaseDb } from '../db/Db/BaseDb.js';
9
+
10
+ const escapeSqliteString = (value) => {
11
+ if (typeof value !== 'string') {
12
+ throw new Error(`Value must be a string, instead got: ${JSON.stringify(value)}`);
13
+ }
14
+ return value.replace(/'/g, "''");
15
+ };
16
+ const getAddressesFromDb = async () => {
17
+ const appDb = BaseDb.getAppDb();
18
+ if (!appDb) {
19
+ return new Promise((resolve) => {
20
+ setTimeout(async () => {
21
+ const addresses = await getAddressesFromDb();
22
+ resolve(addresses);
23
+ }, 500);
24
+ });
25
+ }
26
+ const appStatesRecords = await appDb
27
+ .select()
28
+ .from(appState)
29
+ .where(eq(appState.key, 'addresses'))
30
+ .limit(1);
31
+ if (!appStatesRecords || appStatesRecords.length === 0) {
32
+ throw new Error('No appStatesRecords for addresses found');
33
+ }
34
+ const addressRecord = appStatesRecords[0];
35
+ const addressArrayString = addressRecord.value;
36
+ if (!addressArrayString) {
37
+ throw new Error('No addresses found');
38
+ }
39
+ return JSON.parse(addressArrayString);
40
+ };
41
+
42
+ export { escapeSqliteString, getAddressesFromDb };
43
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sources":["../../../../src/helpers/db.ts"],"sourcesContent":["import {\n appState,\n models as modelsTable,\n NewModelRecord,\n NewPropertyRecord,\n properties,\n} from '@/seedSchema'\nimport { SqliteRemoteDatabase } from 'drizzle-orm/sqlite-proxy'\nimport { DbQueryResult, ModelDefinitions, ResultObject } from '@/types'\nimport type { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3'\nimport { SQLiteTableWithColumns } from 'drizzle-orm/sqlite-core'\nimport { and, eq, isNull, SQL } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nexport const escapeSqliteString = (value: string): string => {\n if (typeof value !== 'string') {\n throw new Error(\n `Value must be a string, instead got: ${JSON.stringify(value)}`,\n )\n }\n return value.replace(/'/g, \"''\")\n}\nexport const getObjectForRow = (row: any): ResultObject => {\n const obj: ResultObject = {}\n\n row.columnNames.forEach((colName, index) => {\n const value = row.row[index]\n if (typeof value !== 'string') {\n obj[colName] = row.row[index]\n return\n }\n\n // Try to parse the value as JSON\n try {\n obj[colName] = JSON.parse(value)\n } catch (e) {\n // If it fails, just set the value as a string\n obj[colName] = value\n }\n })\n\n return obj\n}\nexport const getSqlResultObject = (\n queryResult: DbQueryResult,\n): ResultObject | ResultObject[] | undefined => {\n if (!queryResult || !queryResult.rows || queryResult.rows.length === 0) {\n return\n }\n\n let obj: ResultObject | ResultObject[] | undefined\n\n if (queryResult.rows.length === 1) {\n obj = getObjectForRow(queryResult.rows[0])\n }\n\n if (queryResult.rows.length > 1) {\n obj = queryResult.rows.reduce((acc, row) => {\n const rowObj = getObjectForRow(row)\n\n acc.push(rowObj)\n return acc\n }, [] as ResultObject[])\n }\n\n return obj\n}\nexport const createOrUpdate = async <T>(\n db: BetterSQLite3Database | SqliteRemoteDatabase,\n table: SQLiteTableWithColumns<any>,\n values: Partial<Record<keyof T, T[keyof T]>>,\n) => {\n const startTime = Date.now()\n\n const valueFilters: SQL[] = []\n\n const propertiesToExcludeFromDb = ['ref']\n\n const safeValues = Object.keys(values).reduce(\n (acc, key) => {\n if (!propertiesToExcludeFromDb.includes(key)) {\n acc[key] = values[key as string & keyof T]\n }\n return acc\n },\n {} as Record<string, unknown>,\n )\n\n for (const [key, value] of Object.entries(safeValues)) {\n let finalValue = value\n if (key === 'TObject') {\n continue\n }\n if (typeof value === 'object') {\n finalValue = JSON.stringify(value)\n }\n const column = table[key]\n if (!column) {\n throw new Error(`Column not found for ${key}`)\n }\n if (typeof finalValue === 'undefined') {\n finalValue = null\n }\n if (finalValue === null) {\n valueFilters.push(isNull(table[key]))\n continue\n }\n valueFilters.push(eq(table[key], finalValue))\n }\n\n const doneWithFilters = Date.now()\n\n // console.log('valueFilters:', valueFilters)\n\n // for ( const filter of valueFilters ) {\n // console.log('filter:', Object.keys(filter))\n // }\n\n // Build a query to find the record based on properties\n const existingRecords = await db\n .select()\n .from(table)\n .where(and(...valueFilters))\n\n const doneWithExistingRecords = Date.now()\n\n if (existingRecords.length > 1) {\n throw new Error('Multiple records found')\n }\n\n if (existingRecords.length > 0) {\n // If record exists, update it\n await db\n .update(table)\n .set(safeValues)\n .where(and(...valueFilters))\n\n const doneWithUpdate = Date.now()\n\n return existingRecords[0] as T\n } else {\n // If no record exists, create a new one\n const newRecord = await db.insert(table).values(safeValues).returning()\n return newRecord[0] as T\n }\n}\nexport const addModelsToInternalDb = async (\n db: BetterSQLite3Database<any> | SqliteRemoteDatabase<any>,\n models: ModelDefinitions,\n) => {\n for (const [modelName, modelClass] of Object.entries(models)) {\n const modelRecord = await createOrUpdate<NewModelRecord>(db, modelsTable, {\n name: modelName,\n })\n\n for (let [propertyName, propertyValues] of Object.entries(\n modelClass.schema,\n )) {\n if (!propertyValues) {\n throw new Error(`Property values not found for ${propertyName}`)\n }\n propertyValues.name = propertyName\n propertyValues.modelId = modelRecord.id!\n for (let [key, value] of Object.entries(propertyValues)) {\n if (key === 'ref') {\n const refModel = await createOrUpdate<NewModelRecord>(\n db,\n modelsTable,\n {\n name: value,\n },\n )\n // delete propertyValues.ref\n propertyValues.refModelId = refModel.id\n }\n }\n\n const propertyRecord = await createOrUpdate<NewPropertyRecord>(\n db,\n properties,\n propertyValues,\n )\n }\n }\n}\nexport const getAddressesFromDb = async (): Promise<string[]> => {\n const appDb = BaseDb.getAppDb()\n\n if (!appDb) {\n return new Promise((resolve) => {\n setTimeout(async () => {\n const addresses = await getAddressesFromDb()\n resolve(addresses)\n }, 500)\n })\n }\n\n const appStatesRecords = await appDb\n .select()\n .from(appState)\n .where(eq(appState.key, 'addresses'))\n .limit(1)\n\n if (!appStatesRecords || appStatesRecords.length === 0) {\n throw new Error('No appStatesRecords for addresses found')\n }\n\n const addressRecord = appStatesRecords[0]\n\n const addressArrayString = addressRecord.value\n\n if (!addressArrayString) {\n throw new Error('No addresses found')\n }\n\n return JSON.parse(addressArrayString)\n}\n"],"names":[],"mappings":";;;;;;;;;AAca,MAAA,kBAAkB,GAAG,CAAC,KAAa,KAAY;AAC1D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,qCAAA,EAAwC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAA,CAChE;;IAEH,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC;AAoKa,MAAA,kBAAkB,GAAG,YAA8B;AAC9D,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;YAC7B,UAAU,CAAC,YAAW;AACpB,gBAAA,MAAM,SAAS,GAAG,MAAM,kBAAkB,EAAE;gBAC5C,OAAO,CAAC,SAAS,CAAC;aACnB,EAAE,GAAG,CAAC;AACT,SAAC,CAAC;;IAGJ,MAAM,gBAAgB,GAAG,MAAM;AAC5B,SAAA,MAAM;SACN,IAAI,CAAC,QAAQ;SACb,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;SACnC,KAAK,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;AACtD,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;;AAG5D,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAEzC,IAAA,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK;IAE9C,IAAI,CAAC,kBAAkB,EAAE;AACvB,QAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC;;AAGvC,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;AACvC;;;;"}
@@ -0,0 +1,24 @@
1
+ const isBrowser = () => {
2
+ return !isElectron() && typeof window !== 'undefined' && typeof window.document !== 'undefined';
3
+ };
4
+ const isReactNative = () => {
5
+ return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
6
+ };
7
+ const isElectron = () => {
8
+ return typeof process !== 'undefined' && process.versions != null && process.versions.electron != null;
9
+ };
10
+ const getEnvironment = () => {
11
+ if (isBrowser()) {
12
+ return 'browser';
13
+ }
14
+ if (isElectron()) {
15
+ return 'electron';
16
+ }
17
+ if (isReactNative()) {
18
+ return 'react-native';
19
+ }
20
+ return 'node';
21
+ };
22
+
23
+ export { getEnvironment, isBrowser, isElectron, isReactNative };
24
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sources":["../../../../src/helpers/environment.ts"],"sourcesContent":["export const isNode = (): boolean => {\n return (\n typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null\n )\n}\n\nexport const isBrowser = (): boolean => {\n return !isElectron() && typeof window !== 'undefined' && typeof window.document !== 'undefined'\n}\n\nexport const isReactNative = (): boolean => {\n return typeof navigator !== 'undefined' && navigator.product === 'ReactNative'\n}\n\nexport const isElectron = (): boolean => {\n return typeof process !== 'undefined' && process.versions != null && process.versions.electron != null;\n}\n\nexport const getEnvironment = (): string => {\n if (isBrowser()) {\n return 'browser'\n }\n\n if (isElectron()) {\n return 'electron'\n }\n\n if (isReactNative()) {\n return 'react-native'\n }\n\n return 'node'\n}\n"],"names":[],"mappings":"AAQO,MAAM,SAAS,GAAG,MAAc;AACrC,IAAA,OAAO,CAAC,UAAU,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW;AACjG;AAEO,MAAM,aAAa,GAAG,MAAc;IACzC,OAAO,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,OAAO,KAAK,aAAa;AAChF;AAEO,MAAM,UAAU,GAAG,MAAc;AACtC,IAAA,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;AACxG;AAEO,MAAM,cAAc,GAAG,MAAa;IACzC,IAAI,SAAS,EAAE,EAAE;AACf,QAAA,OAAO,SAAS;;IAGlB,IAAI,UAAU,EAAE,EAAE;AAChB,QAAA,OAAO,UAAU;;IAGnB,IAAI,aAAa,EAAE,EAAE;AACnB,QAAA,OAAO,cAAc;;AAGvB,IAAA,OAAO,MAAM;AACf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/helpers/files.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,yBAe/B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aACZ,MAAM,aACN,MAAM,YACP,MAAM,KACd,OAAO,CAAC,OAAO,CA6CjB,CAAA"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/helpers/files.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,yBAe/B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aACZ,MAAM,aACN,MAAM,YACP,MAAM,KACd,OAAO,CAAC,OAAO,CA6CjB,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { toSnakeCase } from './index.js';
2
+ import { GET_SCHEMAS } from '../Item/queries.js';
3
+ import { BaseQueryClient } from './QueryClient/BaseQueryClient.js';
4
+ import { BaseEasClient } from './EasClient/BaseEasClient.js';
5
+
6
+ const getSchemaForItemProperty = async ({ schemaUid, propertyName, easDataType, }) => {
7
+ const propertyNameSnakeCase = toSnakeCase(propertyName);
8
+ const isMissingSchemaUid = !schemaUid || schemaUid === 'null' || schemaUid === 'undefined';
9
+ const queryClient = BaseQueryClient.getQueryClient();
10
+ const easClient = BaseEasClient.getEasClient();
11
+ let queryParams = {
12
+ where: {
13
+ id: {
14
+ equals: schemaUid,
15
+ },
16
+ },
17
+ };
18
+ if (easDataType) {
19
+ queryParams = {
20
+ where: {
21
+ schema: {
22
+ equals: `${easDataType} ${propertyNameSnakeCase}`,
23
+ },
24
+ },
25
+ };
26
+ }
27
+ if (!easDataType && isMissingSchemaUid) {
28
+ queryParams = {
29
+ where: {
30
+ schemaNames: {
31
+ some: {
32
+ name: {
33
+ equals: propertyNameSnakeCase,
34
+ },
35
+ },
36
+ },
37
+ },
38
+ };
39
+ }
40
+ const foundPropertySchema = await queryClient.fetchQuery({
41
+ queryKey: [`getPropertySchema${propertyName}`],
42
+ queryFn: async () => easClient.request(GET_SCHEMAS, queryParams),
43
+ networkMode: 'offlineFirst',
44
+ });
45
+ if (foundPropertySchema && foundPropertySchema.schemas.length > 0) {
46
+ return foundPropertySchema.schemas[0];
47
+ }
48
+ };
49
+
50
+ export { getSchemaForItemProperty };
51
+ //# sourceMappingURL=getSchemaForItemProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSchemaForItemProperty.js","sources":["../../../../src/helpers/getSchemaForItemProperty.ts"],"sourcesContent":["import { Schema, SchemaWhereInput } from '@/graphql/gql/graphql'\nimport { toSnakeCase, BaseEasClient, BaseQueryClient } from '@/helpers'\nimport { GET_SCHEMAS } from '@/Item/queries'\nimport { TypedData } from '@ethereum-attestation-service/eas-sdk/dist/offchain/typed-data-handler'\n\n\ntype GetSchemaForPropertyProps = {\n schemaUid?: string\n propertyName: string\n easDataType?: TypedData['type']\n}\ntype GetSchemaForProperty = (\n props: GetSchemaForPropertyProps,\n) => Promise<Schema | void>\nexport const getSchemaForItemProperty: GetSchemaForProperty = async ({\n schemaUid,\n propertyName,\n easDataType,\n}): Promise<Schema | void> => {\n const propertyNameSnakeCase = toSnakeCase(propertyName)\n const isMissingSchemaUid =\n !schemaUid || schemaUid === 'null' || schemaUid === 'undefined'\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n let queryParams: { where: SchemaWhereInput } = {\n where: {\n id: {\n equals: schemaUid,\n },\n },\n }\n\n if (easDataType) {\n queryParams = {\n where: {\n schema: {\n equals: `${easDataType} ${propertyNameSnakeCase}`,\n },\n },\n }\n }\n\n if (!easDataType && isMissingSchemaUid) {\n queryParams = {\n where: {\n schemaNames: {\n some: {\n name: {\n equals: propertyNameSnakeCase,\n },\n },\n },\n },\n }\n }\n\n const foundPropertySchema = await queryClient.fetchQuery({\n queryKey: [`getPropertySchema${propertyName}`],\n queryFn: async () => easClient.request(GET_SCHEMAS, queryParams),\n networkMode: 'offlineFirst',\n })\n\n if (foundPropertySchema && foundPropertySchema.schemas.length > 0) {\n return foundPropertySchema.schemas[0] as Schema\n }\n}\n"],"names":[],"mappings":";;;;;AAcO,MAAM,wBAAwB,GAAyB,OAAO,EACnE,SAAS,EACT,YAAY,EACZ,WAAW,GACZ,KAA4B;AAC3B,IAAA,MAAM,qBAAqB,GAAG,WAAW,CAAC,YAAY,CAAC;AACvD,IAAA,MAAM,kBAAkB,GACtB,CAAC,SAAS,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,WAAW;AAEjE,IAAA,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,EAAE;AACpD,IAAA,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE;AAE9C,IAAA,IAAI,WAAW,GAAgC;AAC7C,QAAA,KAAK,EAAE;AACL,YAAA,EAAE,EAAE;AACF,gBAAA,MAAM,EAAE,SAAS;AAClB,aAAA;AACF,SAAA;KACF;IAED,IAAI,WAAW,EAAE;AACf,QAAA,WAAW,GAAG;AACZ,YAAA,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE;AACN,oBAAA,MAAM,EAAE,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,qBAAqB,CAAE,CAAA;AAClD,iBAAA;AACF,aAAA;SACF;;AAGH,IAAA,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE;AACtC,QAAA,WAAW,GAAG;AACZ,YAAA,KAAK,EAAE;AACL,gBAAA,WAAW,EAAE;AACX,oBAAA,IAAI,EAAE;AACJ,wBAAA,IAAI,EAAE;AACJ,4BAAA,MAAM,EAAE,qBAAqB;AAC9B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;SACF;;AAGH,IAAA,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC;AACvD,QAAA,QAAQ,EAAE,CAAC,CAAoB,iBAAA,EAAA,YAAY,EAAE,CAAC;AAC9C,QAAA,OAAO,EAAE,YAAY,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC;AAChE,QAAA,WAAW,EAAE,cAAc;AAC5B,KAAA,CAAC;IAEF,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACjE,QAAA,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAW;;AAEnD;;;;"}
@@ -0,0 +1,50 @@
1
+ const getSegmentedItemProperties = (item) => {
2
+ const itemBasicProperties = [];
3
+ const itemRelationProperties = [];
4
+ const itemListProperties = [];
5
+ const itemUploadProperties = [];
6
+ const itemStorageProperties = [];
7
+ let itemStorageTransactionProperty;
8
+ for (const itemProperty of Object.values(item.properties)) {
9
+ if (!itemProperty.propertyDef) {
10
+ continue;
11
+ }
12
+ const isItemStorage = itemProperty.propertyDef.storageType &&
13
+ itemProperty.propertyDef.storageType === 'ItemStorage';
14
+ itemProperty.propertyDef.dataType === 'Relation' &&
15
+ itemProperty.propertyDef.refValueType === 'ImageSrc';
16
+ const isStorageTransaction = itemProperty.propertyName === 'storageTransactionId';
17
+ if (itemProperty.propertyDef.dataType === 'Relation') {
18
+ itemRelationProperties.push(itemProperty);
19
+ continue;
20
+ }
21
+ if (itemProperty.propertyDef.dataType === 'List') {
22
+ itemListProperties.push(itemProperty);
23
+ continue;
24
+ }
25
+ if (isItemStorage) {
26
+ itemStorageProperties.push(itemProperty);
27
+ continue;
28
+ }
29
+ if (isStorageTransaction) {
30
+ itemStorageTransactionProperty = { itemProperty, childProperties: [] };
31
+ continue;
32
+ }
33
+ itemBasicProperties.push(itemProperty);
34
+ }
35
+ if (itemStorageTransactionProperty && itemStorageProperties.length > 0) {
36
+ itemStorageTransactionProperty.childProperties = itemStorageProperties;
37
+ }
38
+ if (itemStorageTransactionProperty) {
39
+ itemUploadProperties.push(itemStorageTransactionProperty);
40
+ }
41
+ return {
42
+ itemBasicProperties,
43
+ itemRelationProperties,
44
+ itemListProperties,
45
+ itemUploadProperties,
46
+ };
47
+ };
48
+
49
+ export { getSegmentedItemProperties };
50
+ //# sourceMappingURL=getSegmentedItemProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSegmentedItemProperties.js","sources":["../../../../src/helpers/getSegmentedItemProperties.ts"],"sourcesContent":["import { UploadProperty } from '@/db/read/getPublishUploads'\nimport { IItem } from '@/interfaces'\n\nexport const getSegmentedItemProperties = (item: IItem<any>) => {\n const itemBasicProperties = []\n const itemRelationProperties = []\n const itemListProperties = []\n const itemUploadProperties: UploadProperty[] = []\n const itemStorageProperties = []\n let itemStorageTransactionProperty: UploadProperty | undefined\n\n for (const itemProperty of Object.values(item.properties)) {\n if (!itemProperty.propertyDef) {\n continue\n }\n\n const isItemStorage =\n itemProperty.propertyDef.storageType &&\n itemProperty.propertyDef.storageType === 'ItemStorage'\n\n const isImageSrc =\n itemProperty.propertyDef.dataType === 'Relation' &&\n itemProperty.propertyDef.refValueType === 'ImageSrc'\n\n const isStorageTransaction =\n itemProperty.propertyName === 'storageTransactionId'\n\n if (itemProperty.propertyDef.dataType === 'Relation') {\n itemRelationProperties.push(itemProperty)\n continue\n }\n\n if (itemProperty.propertyDef.dataType === 'List') {\n itemListProperties.push(itemProperty)\n continue\n }\n\n if (isItemStorage) {\n itemStorageProperties.push(itemProperty)\n continue\n }\n\n if (isStorageTransaction) {\n itemStorageTransactionProperty = { itemProperty, childProperties: [] }\n continue\n }\n\n itemBasicProperties.push(itemProperty)\n }\n\n if (itemStorageTransactionProperty && itemStorageProperties.length > 0) {\n itemStorageTransactionProperty.childProperties = itemStorageProperties\n }\n\n if (itemStorageTransactionProperty) {\n itemUploadProperties.push(itemStorageTransactionProperty)\n }\n\n return {\n itemBasicProperties,\n itemRelationProperties,\n itemListProperties,\n itemUploadProperties,\n }\n}\n"],"names":[],"mappings":"AAGa,MAAA,0BAA0B,GAAG,CAAC,IAAgB,KAAI;IAC7D,MAAM,mBAAmB,GAAG,EAAE;IAC9B,MAAM,sBAAsB,GAAG,EAAE;IACjC,MAAM,kBAAkB,GAAG,EAAE;IAC7B,MAAM,oBAAoB,GAAqB,EAAE;IACjD,MAAM,qBAAqB,GAAG,EAAE;AAChC,IAAA,IAAI,8BAA0D;AAE9D,IAAA,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACzD,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC7B;;AAGF,QAAA,MAAM,aAAa,GACjB,YAAY,CAAC,WAAW,CAAC,WAAW;AACpC,YAAA,YAAY,CAAC,WAAW,CAAC,WAAW,KAAK,aAAa;QAGtD,YAAY,CAAC,WAAW,CAAC,QAAQ,KAAK,UAAU;AAChD,YAAA,YAAY,CAAC,WAAW,CAAC,YAAY,KAAK;AAE5C,QAAA,MAAM,oBAAoB,GACxB,YAAY,CAAC,YAAY,KAAK,sBAAsB;QAEtD,IAAI,YAAY,CAAC,WAAW,CAAC,QAAQ,KAAK,UAAU,EAAE;AACpD,YAAA,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC;YACzC;;QAGF,IAAI,YAAY,CAAC,WAAW,CAAC,QAAQ,KAAK,MAAM,EAAE;AAChD,YAAA,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;YACrC;;QAGF,IAAI,aAAa,EAAE;AACjB,YAAA,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;YACxC;;QAGF,IAAI,oBAAoB,EAAE;YACxB,8BAA8B,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,EAAE;YACtE;;AAGF,QAAA,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC;;IAGxC,IAAI,8BAA8B,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;AACtE,QAAA,8BAA8B,CAAC,eAAe,GAAG,qBAAqB;;IAGxE,IAAI,8BAA8B,EAAE;AAClC,QAAA,oBAAoB,CAAC,IAAI,CAAC,8BAA8B,CAAC;;IAG3D,OAAO;QACL,mBAAmB;QACnB,sBAAsB;QACtB,kBAAkB;QAClB,oBAAoB;KACrB;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAM7C,eAAO,MAAM,UAAU,QAAO,MAE7B,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,MAAM,WAEtC,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,MAAM,iEA2BzC,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,MAAM,kBAWzC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,YAe1B,CAAA;AAED,eAAO,MAAM,qBAAqB,SAC1B,MAAM,KACX,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,IAwBrC,CAAA;AAED,eAAO,MAAM,qBAAqB,SAC1B,MAAM,KACX,OAAO,CAAC,MAAM,GAAG,SAAS,CAY5B,CAAA;AAED,eAAO,MAAM,gBAAgB,2CAI5B,CAAA;AAED,eAAO,MAAM,qBAAqB,WAAY,MAAM,WACF,CAAA;AAElD,eAAO,MAAM,4BAA4B,oBAAqB,MAAM;;;;CAiBnE,CAAA;AAED,eAAO,MAAM,cAAc,WACjB,MAAM,GAAG,IAAI,GAAG,SAAS,QAC3B,UAAU,GAAG,SAAS,KAC3B,OAAO,CAAC,MAAM,CAkBhB,CAAA;AAED,eAAO,MAAM,QAAQ,gBAAiB,WAAW,KAAG,OAwBnD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAM7C,eAAO,MAAM,UAAU,QAAO,MAE7B,CAAA;AAED,eAAO,MAAM,WAAW,QAAS,MAAM,WAEtC,CAAA;AAED,eAAO,MAAM,cAAc,QAAS,MAAM,iEA2BzC,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,MAAM,kBAWzC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,YAe1B,CAAA;AAED,eAAO,MAAM,qBAAqB,SAC1B,MAAM,KACX,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,IAwBrC,CAAA;AAED,eAAO,MAAM,qBAAqB,SAC1B,MAAM,KACX,OAAO,CAAC,MAAM,GAAG,SAAS,CAc5B,CAAA;AAED,eAAO,MAAM,gBAAgB,2CAI5B,CAAA;AAED,eAAO,MAAM,qBAAqB,WAAY,MAAM,WACF,CAAA;AAElD,eAAO,MAAM,4BAA4B,oBAAqB,MAAM;;;;CAiBnE,CAAA;AAED,eAAO,MAAM,cAAc,WACjB,MAAM,GAAG,IAAI,GAAG,SAAS,QAC3B,UAAU,GAAG,SAAS,KAC3B,OAAO,CAAC,MAAM,CAkBhB,CAAA;AAED,eAAO,MAAM,QAAQ,gBAAiB,WAAW,KAAG,OAwBnD,CAAA"}
@@ -0,0 +1,101 @@
1
+ import { customAlphabet } from 'nanoid';
2
+ import * as nanoIdDictionary from 'nanoid-dictionary';
3
+ import debug from 'debug';
4
+ import { BaseFileManager } from './FileManager/BaseFileManager.js';
5
+ import 'graphql-request';
6
+ import '../services/internal/constants.js';
7
+
8
+ const logger = debug('seedSdk:shared:helpers');
9
+ const { alphanumeric } = nanoIdDictionary;
10
+ const generateId = () => {
11
+ return customAlphabet(alphanumeric, 10)();
12
+ };
13
+ const toSnakeCase = (str) => {
14
+ return str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase();
15
+ };
16
+ const getMimeType = (base64) => {
17
+ if (!base64) {
18
+ return null;
19
+ }
20
+ const result = base64.match(/^data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,/);
21
+ if (result && result.length > 1) {
22
+ return result[1];
23
+ }
24
+ else {
25
+ return null; // MIME type could not be determined
26
+ }
27
+ };
28
+ const getCorrectId = (localIdOrUid) => {
29
+ const id = {
30
+ localId: undefined,
31
+ uid: undefined,
32
+ };
33
+ if (!localIdOrUid) {
34
+ return id;
35
+ }
36
+ if (localIdOrUid.length === 10) {
37
+ id.localId = localIdOrUid;
38
+ }
39
+ if (localIdOrUid.startsWith('0x') && localIdOrUid.length === 66) {
40
+ id.uid = localIdOrUid;
41
+ }
42
+ return id;
43
+ };
44
+ const getDataTypeFromString = (data) => {
45
+ const nonImageBase64Regex = /^(?!data:image\/(?:jpeg|png|gif|bmp|webp);base64,)[A-Za-z0-9+/=]+$/;
46
+ if (nonImageBase64Regex.test(data)) {
47
+ return 'base64';
48
+ }
49
+ // Regular expression for base64 (simple version, checking for base64 format)
50
+ const imageBase64Regex = /^data:image\/[a-zA-Z]+;base64,[A-Za-z0-9+/]+={0,2}$/;
51
+ if (imageBase64Regex.test(data)) {
52
+ return 'imageBase64';
53
+ }
54
+ // Regular expression for URL (simple version, checking for common URL format)
55
+ const urlRegex = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/;
56
+ if (urlRegex.test(data)) {
57
+ return 'url';
58
+ }
59
+ return null;
60
+ };
61
+ const convertTxIdToImageSrc = async (txId) => {
62
+ const imageFilePath = `/files/images/${txId}`;
63
+ const fileExists = await BaseFileManager.pathExists(imageFilePath);
64
+ if (!fileExists) {
65
+ logger(`[ItemView] [updateImageSrc] ${imageFilePath} does not exist`);
66
+ return;
67
+ }
68
+ const buffer = await BaseFileManager.readFileAsBuffer(imageFilePath);
69
+ const uint = new Uint8Array(buffer);
70
+ const imageBlob = new Blob([uint]);
71
+ return URL.createObjectURL(imageBlob);
72
+ };
73
+ const parseEasRelationPropertyName = (easPropertyName) => {
74
+ // Split the input string on the first underscore
75
+ const [singularProperty, modelName, idSegment] = easPropertyName.split('_');
76
+ // If there are any other parts, assume it is a list (e.g., has 'ids' or other suffix)
77
+ const isList = idSegment === 'ids';
78
+ // Create the final property name by pluralizing the singular part
79
+ const propertyName = singularProperty.endsWith('s')
80
+ ? singularProperty
81
+ : singularProperty + 's';
82
+ return {
83
+ propertyName, // Plural form of the property name
84
+ modelName, // Model name extracted from the second part
85
+ isList, // True if the property is a list (e.g., 'ids' is present)
86
+ };
87
+ };
88
+ const getContentHash = async (base64, uint) => {
89
+ let data;
90
+ if (uint) {
91
+ data = uint;
92
+ }
93
+ // Hash the data with SHA-256
94
+ const hashBuffer = await crypto.subtle.digest('SHA-256', data);
95
+ // Convert the ArrayBuffer to a hex string
96
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
97
+ return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
98
+ };
99
+
100
+ export { BaseFileManager, convertTxIdToImageSrc, generateId, getContentHash, getCorrectId, getDataTypeFromString, getMimeType, parseEasRelationPropertyName, toSnakeCase };
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/helpers/index.ts"],"sourcesContent":["import { customAlphabet } from 'nanoid'\nimport * as nanoIdDictionary from 'nanoid-dictionary'\nimport debug from 'debug'\nimport { GetCorrectId } from '@/types/helpers'\nimport { GetCorrectIdReturn } from '@/types/helpers'\nimport { BaseFileManager } from './FileManager/BaseFileManager'\nexport * from './ArweaveClient/BaseArweaveClient'\nexport * from './EasClient/BaseEasClient'\nexport * from './QueryClient/BaseQueryClient'\nexport * from './FileManager/BaseFileManager'\nconst logger = debug('seedSdk:shared:helpers')\n\n\nconst { alphanumeric } = nanoIdDictionary\n\nexport const generateId = (): string => {\n return customAlphabet(alphanumeric, 10)()\n}\n\nexport const toSnakeCase = (str: string) => {\n return str.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase()\n}\n\nexport const identifyString = (str: string) => {\n try {\n JSON.parse(str)\n return 'json'\n } catch (e) {\n // Not JSON\n }\n\n if (!str) {\n return\n }\n\n if (str.trim().startsWith('<') && str.trim().endsWith('>')) {\n return 'html'\n }\n\n // Simple markdown checks (very naive)\n if (/^#{1,6}\\s|^-{3,}|\\*{3,}|^-{1,2}\\s|\\*\\s/.test(str)) {\n return 'markdown'\n }\n\n if (/^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/]+={0,2}$/.test(str)) {\n return 'base64'\n }\n\n // Default to plain text if unsure\n return 'text'\n}\n\nexport const getMimeType = (base64: string) => {\n if (!base64) {\n return null\n }\n const result = base64.match(/^data:([a-zA-Z0-9]+\\/[a-zA-Z0-9-.+]+).*,/)\n\n if (result && result.length > 1) {\n return result[1]\n } else {\n return null // MIME type could not be determined\n }\n}\n\nexport const getCorrectId: GetCorrectId = (localIdOrUid: string) => {\n const id: GetCorrectIdReturn = {\n localId: undefined,\n uid: undefined,\n }\n if (!localIdOrUid) {\n return id\n }\n if (localIdOrUid.length === 10) {\n id.localId = localIdOrUid\n }\n if (localIdOrUid.startsWith('0x') && localIdOrUid.length === 66) {\n id.uid = localIdOrUid\n }\n return id\n}\n\nexport const getDataTypeFromString = (\n data: string,\n): 'imageBase64' | 'base64' | 'url' | null => {\n const nonImageBase64Regex =\n /^(?!data:image\\/(?:jpeg|png|gif|bmp|webp);base64,)[A-Za-z0-9+/=]+$/\n\n if (nonImageBase64Regex.test(data)) {\n return 'base64'\n }\n\n // Regular expression for base64 (simple version, checking for base64 format)\n const imageBase64Regex = /^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/]+={0,2}$/\n\n if (imageBase64Regex.test(data)) {\n return 'imageBase64'\n }\n\n // Regular expression for URL (simple version, checking for common URL format)\n const urlRegex =\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/\n\n if (urlRegex.test(data)) {\n return 'url'\n }\n\n return null\n}\n\nexport const convertTxIdToImageSrc = async (\n txId: string,\n): Promise<string | undefined> => {\n const imageFilePath = `/files/images/${txId}`\n const fileExists = await BaseFileManager.pathExists(imageFilePath)\n if (!fileExists) {\n logger(`[ItemView] [updateImageSrc] ${imageFilePath} does not exist`)\n return\n }\n const buffer = await BaseFileManager.readFileAsBuffer(imageFilePath)\n\n const uint = new Uint8Array(buffer)\n\n const imageBlob = new Blob([uint])\n\n return URL.createObjectURL(imageBlob)\n}\n\nexport const getExecutionTime = async (task, args) => {\n const start = Date.now()\n await task(...args)\n return Date.now() - start\n}\n\nexport const capitalizeFirstLetter = (string: string) =>\n string.charAt(0).toUpperCase() + string.slice(1)\n\nexport const parseEasRelationPropertyName = (easPropertyName: string) => {\n // Split the input string on the first underscore\n const [singularProperty, modelName, idSegment] = easPropertyName.split('_')\n\n // If there are any other parts, assume it is a list (e.g., has 'ids' or other suffix)\n const isList = idSegment === 'ids'\n\n // Create the final property name by pluralizing the singular part\n const propertyName = singularProperty.endsWith('s')\n ? singularProperty\n : singularProperty + 's'\n\n return {\n propertyName, // Plural form of the property name\n modelName, // Model name extracted from the second part\n isList, // True if the property is a list (e.g., 'ids' is present)\n }\n}\n\nexport const getContentHash = async (\n base64: string | null | undefined,\n uint: Uint8Array | undefined,\n): Promise<string> => {\n let data\n\n if (base64 && !uint) {\n const encoder = new TextEncoder()\n data = encoder.encode(base64)\n }\n\n if (uint) {\n data = uint\n }\n\n // Hash the data with SHA-256\n const hashBuffer = await crypto.subtle.digest('SHA-256', data as Uint8Array)\n\n // Convert the ArrayBuffer to a hex string\n const hashArray = Array.from(new Uint8Array(hashBuffer))\n return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('')\n}\n\nexport const isBinary = (arrayBuffer: ArrayBuffer): boolean => {\n const view = new Uint8Array(arrayBuffer);\n\n let nonTextCount = 0;\n const threshold = 0.2; // Adjust as needed (e.g., 20% non-text implies binary)\n\n for (let i = 0; i < view.length; i++) {\n const byte = view[i];\n\n // ASCII printable characters (32-126) and common whitespace (9, 10, 13)\n if (\n (byte >= 32 && byte <= 126) || // Printable ASCII\n byte === 9 || byte === 10 || byte === 13 // Tab, LF, CR\n ) {\n continue;\n }\n\n nonTextCount++;\n if (nonTextCount / view.length > threshold) {\n return true; // More than threshold are non-text bytes\n }\n }\n\n return false; // Fewer than threshold are non-text bytes\n}\n"],"names":[],"mappings":";;;;;;;AAUA,MAAM,MAAM,GAAG,KAAK,CAAC,wBAAwB,CAAC;AAG9C,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB;AAElC,MAAM,UAAU,GAAG,MAAa;AACrC,IAAA,OAAO,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;AAC3C;AAEa,MAAA,WAAW,GAAG,CAAC,GAAW,KAAI;IACzC,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE;AAC9D;AA+Ba,MAAA,WAAW,GAAG,CAAC,MAAc,KAAI;IAC5C,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,OAAO,IAAI;;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC;IAEvE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,QAAA,OAAO,MAAM,CAAC,CAAC,CAAC;;SACX;QACL,OAAO,IAAI,CAAA;;AAEf;AAEa,MAAA,YAAY,GAAiB,CAAC,YAAoB,KAAI;AACjE,IAAA,MAAM,EAAE,GAAuB;AAC7B,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,GAAG,EAAE,SAAS;KACf;IACD,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,EAAE;;AAEX,IAAA,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE;AAC9B,QAAA,EAAE,CAAC,OAAO,GAAG,YAAY;;AAE3B,IAAA,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE;AAC/D,QAAA,EAAE,CAAC,GAAG,GAAG,YAAY;;AAEvB,IAAA,OAAO,EAAE;AACX;AAEa,MAAA,qBAAqB,GAAG,CACnC,IAAY,KAC+B;IAC3C,MAAM,mBAAmB,GACvB,oEAAoE;AAEtE,IAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClC,QAAA,OAAO,QAAQ;;;IAIjB,MAAM,gBAAgB,GAAG,qDAAqD;AAE9E,IAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC/B,QAAA,OAAO,aAAa;;;IAItB,MAAM,QAAQ,GACZ,yHAAyH;AAE3H,IAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACvB,QAAA,OAAO,KAAK;;AAGd,IAAA,OAAO,IAAI;AACb;MAEa,qBAAqB,GAAG,OACnC,IAAY,KACmB;AAC/B,IAAA,MAAM,aAAa,GAAG,CAAiB,cAAA,EAAA,IAAI,EAAE;IAC7C,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC;IAClE,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,MAAM,CAAC,CAAA,4BAAA,EAA+B,aAAa,CAAA,eAAA,CAAiB,CAAC;QACrE;;IAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAEpE,IAAA,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;IAEnC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAElC,IAAA,OAAO,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC;AACvC;AAWa,MAAA,4BAA4B,GAAG,CAAC,eAAuB,KAAI;;AAEtE,IAAA,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;;AAG3E,IAAA,MAAM,MAAM,GAAG,SAAS,KAAK,KAAK;;AAGlC,IAAA,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG;AAChD,UAAE;AACF,UAAE,gBAAgB,GAAG,GAAG;IAE1B,OAAO;AACL,QAAA,YAAY;AACZ,QAAA,SAAS;AACT,QAAA,MAAM;KACP;AACH;AAEa,MAAA,cAAc,GAAG,OAC5B,MAAiC,EACjC,IAA4B,KACT;AACnB,IAAA,IAAI,IAAI;IAOR,IAAI,IAAI,EAAE;QACR,IAAI,GAAG,IAAI;;;AAIb,IAAA,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAkB,CAAC;;AAG5E,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;AACxD,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACvE;;;;"}
@@ -0,0 +1,20 @@
1
+ import { assign } from 'xstate';
2
+
3
+ const updateMachineContext = {
4
+ actions: assign(({ context, event }) => {
5
+ const newContext = Object.assign({}, context);
6
+ for (let i = 0; i < Object.keys(event).length; i++) {
7
+ const key = Object.keys(event)[i];
8
+ if (key === 'type') {
9
+ continue;
10
+ }
11
+ newContext[key] = event[key];
12
+ }
13
+ return {
14
+ ...newContext,
15
+ };
16
+ }),
17
+ };
18
+
19
+ export { updateMachineContext };
20
+ //# sourceMappingURL=updateMachineContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateMachineContext.js","sources":["../../../../src/helpers/updateMachineContext.ts"],"sourcesContent":["import { ActionFunction, assign } from 'xstate'\n\ntype UpdateMachineContext = {\n actions: ActionFunction<any, any, any, any, any, any, any, any, any>[] | any\n}\nexport const updateMachineContext: UpdateMachineContext = {\n actions: assign(({ context, event }) => {\n const newContext = Object.assign({}, context)\n\n for (let i = 0; i < Object.keys(event).length; i++) {\n const key = Object.keys(event)[i]\n if (key === 'type') {\n continue\n }\n newContext[key] = event[key]\n }\n return {\n ...newContext,\n }\n }),\n}\n"],"names":[],"mappings":";;AAKa,MAAA,oBAAoB,GAAyB;IACxD,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;AAE7C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjC,YAAA,IAAI,GAAG,KAAK,MAAM,EAAE;gBAClB;;YAEF,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;;QAE9B,OAAO;AACL,YAAA,GAAG,UAAU;SACd;AACH,KAAC,CAAC;;;;;"}
@@ -1,11 +1,7 @@
1
1
  export { Model, Property, ImageSrc, List, Text, Json, Relation, } from './schema';
2
- export { type IItem, type IItemProperty } from './interfaces';
3
2
  export { Item } from './Item';
4
- export { ItemProperty } from './ItemProperty';
5
- export { Db } from './db/Db';
6
3
  export { useItems, useItem, useItemProperties, useCreateItem, useItemProperty, useDeleteItem, useGlobalServiceStatus, usePublishItem, usePersistedSnapshots, useServices, useService, } from './browser/react';
7
- export { getCorrectId, BaseArweaveClient, BaseEasClient, BaseFileManager, BaseQueryClient, } from './helpers';
8
- export { getGlobalService } from './services/global/globalMachine';
4
+ export { getCorrectId, } from './helpers';
9
5
  export { eventEmitter, } from './eventBus';
10
6
  export { withSeed } from './node/webpack';
11
7
  export { client } from './client';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,OAAO,EACL,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,UAAU,GACX,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,GAAG,MAAM,WAAW,CAAA;AAE7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EACL,YAAY,GACb,MAAM,YAAY,CAAA;AAInB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAI7B,OAAO,EACL,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,UAAU,GACX,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,YAAY,GAAG,MAAM,WAAW,CAAA;AAIzC,OAAO,EACL,YAAY,GACb,MAAM,YAAY,CAAA;AAInB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"IDb.d.ts","sourceRoot":"","sources":["../../../src/interfaces/IDb.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,GAAG;CAEnB"}
1
+ {"version":3,"file":"IDb.d.ts","sourceRoot":"","sources":["../../../src/interfaces/IDb.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;CAEnB"}