@seedprotocol/sdk 0.1.59 → 0.1.60

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-4a6qGsTX.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-BE0vEP7p.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BE0vEP7p.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-4a6qGsTX.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-4a6qGsTX.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-CFOCE176.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-CFOCE176.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')
@@ -136,7 +136,6 @@ export const useItem: UseItem<any> = ({ modelName, seedLocalId, seedUid }) => {
136
136
  type UseItemsReturn = {
137
137
  items: Item<any>[]
138
138
  isReadingDb: boolean
139
- isInitialized: boolean
140
139
  }
141
140
  type UseItemsProps = {
142
141
  modelName?: string
@@ -145,47 +144,50 @@ type UseItemsProps = {
145
144
  type UseItems = (props: UseItemsProps) => UseItemsReturn
146
145
  export const useItems: UseItems = ({ modelName, deleted }) => {
147
146
  const [items, setItems] = useImmer<Item<any>[]>([])
148
- const [isReadingDb, setIsReadingDb] = useState(false)
149
- const [isInitialized, setIsInitialized] = useState(false)
150
147
 
151
- const isDbReady = useIsDbReady()
148
+ const { status, internalStatus } = useGlobalServiceStatus()
152
149
 
153
150
  const modelNameRef = useRef<string | undefined>(modelName)
154
151
 
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
- )
152
+ const isReadingDb = useRef(false)
153
+
154
+ const readFromDb = useCallback(async () => {
155
+ if (isReadingDb.current || internalStatus !== 'ready') {
156
+ return
157
+ }
158
+ isReadingDb.current = true
159
+ const allItems = await Item.all(modelNameRef.current, deleted)
160
+ setItems(() => [])
161
+ setItems(() => allItems)
162
+ isReadingDb.current = false
163
+ }, [internalStatus])
164
+
165
+ const listenerRef = useRef(readFromDb)
172
166
 
173
167
  useEffect(() => {
174
- if (isDbReady && !isInitialized) {
175
- const _fetchItems = async (): Promise<void> => {
176
- await readFromDb({ modelName })
177
- setIsInitialized(true)
178
- }
168
+ listenerRef.current = readFromDb
169
+ }, [readFromDb])
179
170
 
180
- _fetchItems()
171
+ useEffect(() => {
172
+ if (internalStatus === 'ready') {
173
+ listenerRef.current()
181
174
  }
182
- }, [isInitialized, isDbReady])
175
+ }, [internalStatus, status])
183
176
 
184
177
  useEffect(() => {
185
- eventEmitter.addListener('item.requestAll', readFromDb)
178
+ eventEmitter.addListener('item.requestAll', (event) => {
179
+ if (
180
+ !event ||
181
+ !event.modelName ||
182
+ event.modelName !== modelNameRef.current
183
+ ) {
184
+ return
185
+ }
186
+ listenerRef.current()
187
+ })
186
188
 
187
189
  return () => {
188
- eventEmitter.removeListener('item.requestAll')
190
+ eventEmitter.removeListener('item.requestAll', readFromDb)
189
191
  }
190
192
  }, [])
191
193
 
@@ -201,7 +203,6 @@ export const useItems: UseItems = ({ modelName, deleted }) => {
201
203
  ['desc'],
202
204
  ).slice(0, 10),
203
205
  isReadingDb,
204
- isInitialized,
205
206
  }
206
207
  }
207
208
  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,CAuGhC,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.60",
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}