@seedprotocol/sdk 0.1.59 → 0.1.61

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.
@@ -1,4 +1,4 @@
1
- export { f as GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, e as GET_PROPERTIES, G as GET_SCHEMAS, a as GET_SEEDS, b as GET_SEED_IDS, c as GET_STORAGE_TRANSACTION_ID, d as GET_VERSIONS, I as Item, g as itemMachineAll, i as itemMachineSingle } from './index-RCrXtjiO.js';
1
+ export { f as GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, e as GET_PROPERTIES, G as GET_SCHEMAS, a as GET_SEEDS, b as GET_SEED_IDS, c as GET_STORAGE_TRANSACTION_ID, d as GET_VERSIONS, I as Item, g as itemMachineAll, i as itemMachineSingle } from './index-BBcjMsIh.js';
2
2
  import './constants-BLctWkrn.js';
3
3
  import 'path';
4
4
  import 'reflect-metadata';
@@ -27,4 +27,4 @@ import '@zenfs/dom';
27
27
  import 'arweave';
28
28
  import 'use-immer';
29
29
  import '@xstate/react';
30
- //# sourceMappingURL=index-C_WqqX4v.js.map
30
+ //# sourceMappingURL=index-tV-MoWhc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-tV-MoWhc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- export { h as ImageSrc, I as Item, j as ItemProperty, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, s as client, t as getCorrectId, r as getGlobalService, m as useCreateItem, o as useDeleteItem, p as useGlobalServiceStatus, k as useItem, l as useItemProperties, n as useItemProperty, u as useItems, q as useServices, w as withSeed } from './index-RCrXtjiO.js';
1
+ export { h as ImageSrc, I as Item, j as ItemProperty, J as Json, L as List, M as Model, P as Property, R as Relation, T as Text, s as client, t as getCorrectId, r as getGlobalService, m as useCreateItem, o as useDeleteItem, p as useGlobalServiceStatus, k as useItem, l as useItemProperties, n as useItemProperty, u as useItems, q as useServices, w as withSeed } from './index-BBcjMsIh.js';
2
2
  import 'immer';
3
3
  import 'reflect-metadata';
4
4
  import './constants-BLctWkrn.js';
@@ -1,6 +1,6 @@
1
1
  import { _ as __decorate, a as __metadata } from './constants-BLctWkrn.js';
2
2
  import 'drizzle-orm';
3
- import { T as Text, M as Model } from './index-RCrXtjiO.js';
3
+ import { T as Text, M as Model } from './index-BBcjMsIh.js';
4
4
  import 'react';
5
5
  import 'reflect-metadata';
6
6
  import 'xstate';
@@ -74,4 +74,4 @@ const models = {
74
74
  };
75
75
 
76
76
  export { models };
77
- //# sourceMappingURL=seed.schema.config-BH9Kq1yX.js.map
77
+ //# sourceMappingURL=seed.schema.config-BkdBBwUC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed.schema.config-BH9Kq1yX.js","sources":["../../src/shared/configs/seed.schema.config.ts"],"sourcesContent":["import { Model, Text } from '@/browser'\n\n@Model\nclass Seed {\n @Text() uid!: string\n @Text() type!: string\n}\n\n@Model\nclass Version {\n @Text() seedUid!: string\n @Text() note!: string\n}\n\n@Model\nclass Metadata {\n @Text() key!: string\n @Text() value!: string\n}\n\nexport const models = {\n Seed,\n Version,\n Metadata,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,IAAI,GAAV,MAAM,IAAI,CAAA;CAGT;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,IAAI,GAAA,UAAA,CAAA;IADT;AACK,CAAA,EAAA,IAAI,CAGT;AAGD,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;CAGZ;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAiB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,OAAO,GAAA,UAAA,CAAA;IADZ;AACK,CAAA,EAAA,OAAO,CAGZ;AAGD,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;CAGb;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAe,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAFlB,QAAQ,GAAA,UAAA,CAAA;IADb;AACK,CAAA,EAAA,QAAQ,CAGb;AAEY,MAAA,MAAM,GAAG;IACpB,IAAI;IACJ,OAAO;IACP,QAAQ;;;;;"}
1
+ {"version":3,"file":"seed.schema.config-BkdBBwUC.js","sources":["../../src/shared/configs/seed.schema.config.ts"],"sourcesContent":["import { Model, Text } from '@/browser'\n\n@Model\nclass Seed {\n @Text() uid!: string\n @Text() type!: string\n}\n\n@Model\nclass Version {\n @Text() seedUid!: string\n @Text() note!: string\n}\n\n@Model\nclass Metadata {\n @Text() key!: string\n @Text() value!: string\n}\n\nexport const models = {\n Seed,\n Version,\n Metadata,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,IAAI,GAAV,MAAM,IAAI,CAAA;CAGT;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,IAAI,GAAA,UAAA,CAAA;IADT;AACK,CAAA,EAAA,IAAI,CAGT;AAGD,IAAM,OAAO,GAAb,MAAM,OAAO,CAAA;CAGZ;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAiB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAc,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AAFjB,OAAO,GAAA,UAAA,CAAA;IADZ;AACK,CAAA,EAAA,OAAO,CAGZ;AAGD,IAAM,QAAQ,GAAd,MAAM,QAAQ,CAAA;CAGb;AAFS,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAa,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;AACZ,UAAA,CAAA;AAAP,IAAA,IAAI,EAAE;;AAAe,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;AAFlB,QAAQ,GAAA,UAAA,CAAA;IADb;AACK,CAAA,EAAA,QAAQ,CAGb;AAEY,MAAA,MAAM,GAAG;IACpB,IAAI;IACJ,OAAO;IACP,QAAQ;;;;;"}
package/dist/src/item.ts CHANGED
@@ -8,7 +8,7 @@ import { getAreItemEventHandlersReady } from '@/browser/events'
8
8
  import { Subscription } from 'xstate'
9
9
  import { useSelector } from '@xstate/react'
10
10
  import debug from 'debug'
11
- import { useGlobalServiceStatus, useIsDbReady } from '@/browser/react/services'
11
+ import { useGlobalServiceStatus } from '@/browser/react/services'
12
12
  import { ModelValues } from '@/types'
13
13
 
14
14
  const logger = debug('app:react:item')
@@ -70,6 +70,7 @@ export const useItem: UseItem<any> = ({ modelName, seedLocalId, seedUid }) => {
70
70
  })
71
71
  if (!foundItem) {
72
72
  logger('[useItem] [getItemFromDb] no item found', modelName, seedLocalId)
73
+ isReadingDb.current = false
73
74
  return
74
75
  }
75
76
  setItem(foundItem)
@@ -136,7 +137,6 @@ export const useItem: UseItem<any> = ({ modelName, seedLocalId, seedUid }) => {
136
137
  type UseItemsReturn = {
137
138
  items: Item<any>[]
138
139
  isReadingDb: boolean
139
- isInitialized: boolean
140
140
  }
141
141
  type UseItemsProps = {
142
142
  modelName?: string
@@ -145,47 +145,50 @@ type UseItemsProps = {
145
145
  type UseItems = (props: UseItemsProps) => UseItemsReturn
146
146
  export const useItems: UseItems = ({ modelName, deleted }) => {
147
147
  const [items, setItems] = useImmer<Item<any>[]>([])
148
- const [isReadingDb, setIsReadingDb] = useState(false)
149
- const [isInitialized, setIsInitialized] = useState(false)
150
148
 
151
- const isDbReady = useIsDbReady()
149
+ const { status, internalStatus } = useGlobalServiceStatus()
152
150
 
153
151
  const modelNameRef = useRef<string | undefined>(modelName)
154
152
 
155
- const readFromDb = useCallback(
156
- async (event) => {
157
- if (
158
- !event ||
159
- !event.modelName ||
160
- event.modelName !== modelNameRef.current ||
161
- isReadingDb
162
- ) {
163
- return
164
- }
165
- setIsReadingDb(true)
166
- const allItems = await Item.all(modelNameRef.current, deleted)
167
- setItems(() => allItems)
168
- setIsReadingDb(false)
169
- },
170
- [modelName, isReadingDb],
171
- )
153
+ const isReadingDb = useRef(false)
154
+
155
+ const readFromDb = useCallback(async () => {
156
+ if (isReadingDb.current || internalStatus !== 'ready') {
157
+ return
158
+ }
159
+ isReadingDb.current = true
160
+ const allItems = await Item.all(modelNameRef.current, deleted)
161
+ setItems(() => [])
162
+ setItems(() => allItems)
163
+ isReadingDb.current = false
164
+ }, [internalStatus])
165
+
166
+ const listenerRef = useRef(readFromDb)
172
167
 
173
168
  useEffect(() => {
174
- if (isDbReady && !isInitialized) {
175
- const _fetchItems = async (): Promise<void> => {
176
- await readFromDb({ modelName })
177
- setIsInitialized(true)
178
- }
169
+ listenerRef.current = readFromDb
170
+ }, [readFromDb])
179
171
 
180
- _fetchItems()
172
+ useEffect(() => {
173
+ if (internalStatus === 'ready') {
174
+ listenerRef.current()
181
175
  }
182
- }, [isInitialized, isDbReady])
176
+ }, [internalStatus, status])
183
177
 
184
178
  useEffect(() => {
185
- eventEmitter.addListener('item.requestAll', readFromDb)
179
+ eventEmitter.addListener('item.requestAll', (event) => {
180
+ if (
181
+ !event ||
182
+ !event.modelName ||
183
+ event.modelName !== modelNameRef.current
184
+ ) {
185
+ return
186
+ }
187
+ listenerRef.current()
188
+ })
186
189
 
187
190
  return () => {
188
- eventEmitter.removeListener('item.requestAll')
191
+ eventEmitter.removeListener('item.requestAll', readFromDb)
189
192
  }
190
193
  }, [])
191
194
 
@@ -201,7 +204,6 @@ export const useItems: UseItems = ({ modelName, deleted }) => {
201
204
  ['desc'],
202
205
  ).slice(0, 10),
203
206
  isReadingDb,
204
- isInitialized,
205
207
  }
206
208
  }
207
209
  export const useItemIsReady = () => {
@@ -16,7 +16,6 @@ export declare const useItem: UseItem<any>;
16
16
  type UseItemsReturn = {
17
17
  items: Item<any>[];
18
18
  isReadingDb: boolean;
19
- isInitialized: boolean;
20
19
  };
21
20
  type UseItemsProps = {
22
21
  modelName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../src/browser/react/item.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AASrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIrC,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI;IAC7C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CACzD,CAAA;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;AAE3D,KAAK,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7C,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,GAAG,CAuGhC,CAAA;AACD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AACD,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,cAAc,CAAA;AACxD,eAAO,MAAM,QAAQ,EAAE,QA4DtB,CAAA;AACD,eAAO,MAAM,cAAc;;CA2B1B,CAAA;AACD,eAAO,MAAM,aAAa,GAAI,CAAC,aAAa,MAAM;;;CAwCjD,CAAA;AAED,KAAK,iBAAiB,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAA;AAEjD,KAAK,oBAAoB,GAAG;IAC1B,WAAW,EAAE,CACX,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,EAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,GAAG,KACzC,IAAI,CAAA;IACT,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AASD,eAAO,MAAM,cAAc,QAAO,oBA8BjC,CAAA"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../../src/browser/react/item.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AASrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIrC,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,IAAI;IAC7C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CACzD,CAAA;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;AAE3D,KAAK,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7C,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,GAAG,CAwGhC,CAAA;AACD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AACD,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,cAAc,CAAA;AACxD,eAAO,MAAM,QAAQ,EAAE,QA8DtB,CAAA;AACD,eAAO,MAAM,cAAc;;CA2B1B,CAAA;AACD,eAAO,MAAM,aAAa,GAAI,CAAC,aAAa,MAAM;;;CAwCjD,CAAA;AAED,KAAK,iBAAiB,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAA;AAEjD,KAAK,oBAAoB,GAAG;IAC1B,WAAW,EAAE,CACX,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,EAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,GAAG,KACzC,IAAI,CAAA;IACT,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AASD,eAAO,MAAM,cAAc,QAAO,oBA8BjC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seedprotocol/sdk",
3
- "version": "0.1.59",
3
+ "version": "0.1.61",
4
4
  "description": "The SDK for Seed Protocol",
5
5
  "type": "module",
6
6
  "types": "./dist/types/src/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-C_WqqX4v.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}