@seedprotocol/sdk 0.1.73 → 0.1.75
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.
- package/dist/bin.js +1 -6
- package/dist/bin.js.map +1 -1
- package/dist/{constants-CtmwCBma.js → constants-B9hSFQXL.js} +3 -2
- package/dist/{constants-CtmwCBma.js.map → constants-B9hSFQXL.js.map} +1 -1
- package/dist/main.js +7542 -29
- package/dist/main.js.map +1 -1
- package/dist/{seed.schema.config-DfD4DkGq.js → seed.schema.config-BPJfo_5h.js} +9 -9
- package/dist/{seed.schema.config-DfD4DkGq.js.map → seed.schema.config-BPJfo_5h.js.map} +1 -1
- package/dist/src/analyzeInput.ts +102 -0
- package/dist/src/db.ts +0 -29
- package/dist/src/drizzle.ts +0 -4
- package/dist/src/getSchemaUidForModel.ts +27 -0
- package/dist/src/hydrateFromDb.ts +246 -230
- package/dist/src/item.ts +0 -1
- package/dist/src/propertyMachine.ts +3 -14
- package/dist/src/request.ts +0 -9
- package/dist/src/saveImageSrc.ts +0 -4
- package/dist/src/services.ts +0 -3
- package/dist/src/updateItemPropertyValue.ts +1 -0
- package/dist/src/waitForFiles.ts +33 -0
- package/dist/src/write.ts +8 -0
- package/dist/types/src/browser/db/read/getSchemaUidForModel.d.ts +2 -0
- package/dist/types/src/browser/db/read/getSchemaUidForModel.d.ts.map +1 -0
- package/dist/types/src/browser/db/write/updateItemPropertyValue.d.ts.map +1 -1
- package/dist/types/src/browser/db/write.d.ts.map +1 -1
- package/dist/types/src/browser/events/item/request.d.ts.map +1 -1
- package/dist/types/src/browser/item/Item.d.ts.map +1 -1
- package/dist/types/src/browser/property/ItemProperty.d.ts +2 -2
- package/dist/types/src/browser/property/actors/hydrateFromDb.d.ts +4 -1
- package/dist/types/src/browser/property/actors/hydrateFromDb.d.ts.map +1 -1
- package/dist/types/src/browser/property/actors/saveValueToDb/analyzeInput.d.ts +5 -0
- package/dist/types/src/browser/property/actors/saveValueToDb/analyzeInput.d.ts.map +1 -0
- package/dist/types/src/browser/property/actors/saveValueToDb/index.d.ts +1 -4
- package/dist/types/src/browser/property/actors/saveValueToDb/index.d.ts.map +1 -1
- package/dist/types/src/browser/property/actors/saveValueToDb/saveImageSrc.d.ts.map +1 -1
- package/dist/types/src/browser/property/propertyMachine.d.ts.map +1 -1
- package/dist/types/src/browser/react/item.d.ts.map +1 -1
- package/dist/types/src/browser/react/services.d.ts.map +1 -1
- package/dist/types/src/browser/services/db/actors/waitForFiles.d.ts +4 -0
- package/dist/types/src/browser/services/db/actors/waitForFiles.d.ts.map +1 -0
- package/dist/types/src/node/codegen/drizzle.d.ts.map +1 -1
- package/dist/types/src/node/constants.d.ts.map +1 -1
- package/dist/types/src/node/webpack/index.d.ts.map +1 -1
- package/dist/types/src/shared/helpers/constants.d.ts.map +1 -1
- package/dist/types/src/shared/helpers/db.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/index-BmDmbqJM.js +0 -7600
- package/dist/index-BmDmbqJM.js.map +0 -1
- package/dist/index-Clo50o_L.js +0 -32
- package/dist/index-Clo50o_L.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as __decorate, e as __metadata } from './constants-B9hSFQXL.js';
|
|
2
2
|
import 'drizzle-orm';
|
|
3
|
-
import {
|
|
3
|
+
import { Text, Model } from './main.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'reflect-metadata';
|
|
6
6
|
import 'xstate';
|
|
@@ -17,18 +17,18 @@ import 'nanoid-dictionary';
|
|
|
17
17
|
import 'debug';
|
|
18
18
|
import 'lodash-es';
|
|
19
19
|
import 'drizzle-orm/sqlite-core';
|
|
20
|
-
import 'rxjs';
|
|
21
|
-
import 'immer';
|
|
22
|
-
import 'pluralize';
|
|
23
|
-
import 'eventemitter3';
|
|
24
20
|
import '@tanstack/react-query';
|
|
25
21
|
import 'graphql-request';
|
|
26
22
|
import '@tanstack/query-sync-storage-persister';
|
|
27
23
|
import '@tanstack/react-query-persist-client';
|
|
28
|
-
import '@statelyai/inspect';
|
|
29
|
-
import 'drizzle-orm/sqlite-proxy';
|
|
30
24
|
import 'use-immer';
|
|
31
25
|
import '@xstate/react';
|
|
26
|
+
import 'eventemitter3';
|
|
27
|
+
import 'immer';
|
|
28
|
+
import 'pluralize';
|
|
29
|
+
import '@statelyai/inspect';
|
|
30
|
+
import 'rxjs';
|
|
31
|
+
import 'drizzle-orm/sqlite-proxy';
|
|
32
32
|
|
|
33
33
|
let Seed = class Seed {
|
|
34
34
|
};
|
|
@@ -76,4 +76,4 @@ const models = {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
export { models };
|
|
79
|
-
//# sourceMappingURL=seed.schema.config-
|
|
79
|
+
//# sourceMappingURL=seed.schema.config-BPJfo_5h.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.schema.config-
|
|
1
|
+
{"version":3,"file":"seed.schema.config-BPJfo_5h.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;;;;;"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { EventObject, fromCallback } from 'xstate'
|
|
2
|
+
import { FromCallbackInput } from '@/types/machines'
|
|
3
|
+
import {
|
|
4
|
+
ItemPropertyValueType,
|
|
5
|
+
PropertyMachineContext,
|
|
6
|
+
SaveValueToDbEvent,
|
|
7
|
+
} from '@/types/property'
|
|
8
|
+
import { updateItemPropertyValue } from '@/browser/db/write/updateItemPropertyValue'
|
|
9
|
+
|
|
10
|
+
export const analyzeInput = fromCallback<
|
|
11
|
+
EventObject,
|
|
12
|
+
FromCallbackInput<PropertyMachineContext, SaveValueToDbEvent>
|
|
13
|
+
>(({ sendBack, input: { context, event } }) => {
|
|
14
|
+
const {
|
|
15
|
+
localId,
|
|
16
|
+
propertyName: propertyNameRaw,
|
|
17
|
+
seedLocalId,
|
|
18
|
+
versionLocalId,
|
|
19
|
+
versionUid,
|
|
20
|
+
propertyValue: existingValue,
|
|
21
|
+
propertyRecordSchema,
|
|
22
|
+
itemModelName,
|
|
23
|
+
schemaUid,
|
|
24
|
+
} = context
|
|
25
|
+
|
|
26
|
+
let newValue: ItemPropertyValueType
|
|
27
|
+
|
|
28
|
+
if (event) {
|
|
29
|
+
newValue = event.newValue
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (existingValue === newValue) {
|
|
33
|
+
sendBack({ type: 'saveValueToDbSuccess' })
|
|
34
|
+
return
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (!propertyRecordSchema) {
|
|
38
|
+
throw new Error('Missing propertyRecordSchema')
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const _analyzeInput = async (): Promise<boolean> => {
|
|
42
|
+
let propertyName = propertyNameRaw
|
|
43
|
+
|
|
44
|
+
if (
|
|
45
|
+
propertyRecordSchema.refValueType &&
|
|
46
|
+
propertyRecordSchema.refValueType !== 'ImageSrc' &&
|
|
47
|
+
propertyRecordSchema.dataType === 'Relation'
|
|
48
|
+
) {
|
|
49
|
+
sendBack({
|
|
50
|
+
type: 'saveRelation',
|
|
51
|
+
newValue,
|
|
52
|
+
})
|
|
53
|
+
return false
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (
|
|
57
|
+
propertyRecordSchema.refValueType === 'ImageSrc' ||
|
|
58
|
+
propertyRecordSchema.dataType === 'ImageSrc'
|
|
59
|
+
) {
|
|
60
|
+
sendBack({
|
|
61
|
+
type: 'saveImageSrc',
|
|
62
|
+
newValue,
|
|
63
|
+
})
|
|
64
|
+
return false
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (
|
|
68
|
+
propertyRecordSchema.storageType &&
|
|
69
|
+
propertyRecordSchema.storageType === 'ItemStorage'
|
|
70
|
+
) {
|
|
71
|
+
sendBack({
|
|
72
|
+
type: 'saveItemStorage',
|
|
73
|
+
newValue,
|
|
74
|
+
})
|
|
75
|
+
return false
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
await updateItemPropertyValue({
|
|
79
|
+
localId: localId,
|
|
80
|
+
propertyName,
|
|
81
|
+
newValue,
|
|
82
|
+
seedLocalId,
|
|
83
|
+
versionLocalId,
|
|
84
|
+
versionUid,
|
|
85
|
+
modelName: itemModelName,
|
|
86
|
+
schemaUid,
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
sendBack({
|
|
90
|
+
type: 'updateContext',
|
|
91
|
+
propertyValue: newValue,
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
return true
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
_analyzeInput().then((isDone) => {
|
|
98
|
+
if (isDone) {
|
|
99
|
+
sendBack({ type: 'saveValueToDbSuccess' })
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
})
|
package/dist/src/db.ts
CHANGED
|
@@ -135,31 +135,13 @@ export const createOrUpdate = async <T>(
|
|
|
135
135
|
.update(table)
|
|
136
136
|
.set(safeValues)
|
|
137
137
|
.where(and(...valueFilters))
|
|
138
|
-
console.log('updatedRecord:', {
|
|
139
|
-
...existingRecords[0],
|
|
140
|
-
...safeValues,
|
|
141
|
-
})
|
|
142
138
|
|
|
143
139
|
const doneWithUpdate = Date.now()
|
|
144
140
|
|
|
145
|
-
console.log(
|
|
146
|
-
'[helpers/db] [createOrUpdate] filters duration:',
|
|
147
|
-
doneWithFilters - startTime,
|
|
148
|
-
)
|
|
149
|
-
console.log(
|
|
150
|
-
'[helpers/db] [createOrUpdate] existingRecords duration:',
|
|
151
|
-
doneWithExistingRecords - doneWithFilters,
|
|
152
|
-
)
|
|
153
|
-
console.log(
|
|
154
|
-
'[helpers/db] [createOrUpdate] update duration:',
|
|
155
|
-
doneWithUpdate - doneWithExistingRecords,
|
|
156
|
-
)
|
|
157
|
-
|
|
158
141
|
return existingRecords[0] as T
|
|
159
142
|
} else {
|
|
160
143
|
// If no record exists, create a new one
|
|
161
144
|
const newRecord = await db.insert(table).values(safeValues).returning()
|
|
162
|
-
console.log('newRecord:', newRecord)
|
|
163
145
|
return newRecord[0] as T
|
|
164
146
|
}
|
|
165
147
|
}
|
|
@@ -168,10 +150,6 @@ export const addModelsToInternalDb = async (
|
|
|
168
150
|
models: ModelDefinitions,
|
|
169
151
|
) => {
|
|
170
152
|
for (const [modelName, modelClass] of Object.entries(models)) {
|
|
171
|
-
console.log(
|
|
172
|
-
'[helpers/db] [addModelsToInternalDb] starting modelName:',
|
|
173
|
-
modelName,
|
|
174
|
-
)
|
|
175
153
|
const modelRecord = await createOrUpdate<NewModelRecord>(db, modelsTable, {
|
|
176
154
|
name: modelName,
|
|
177
155
|
})
|
|
@@ -203,14 +181,7 @@ export const addModelsToInternalDb = async (
|
|
|
203
181
|
properties,
|
|
204
182
|
propertyValues,
|
|
205
183
|
)
|
|
206
|
-
|
|
207
|
-
console.log('propertyRecord:', propertyRecord)
|
|
208
184
|
}
|
|
209
|
-
|
|
210
|
-
console.log(
|
|
211
|
-
'[helpers/db] [addModelsToInternalDb] done modelName:',
|
|
212
|
-
modelName,
|
|
213
|
-
)
|
|
214
185
|
}
|
|
215
186
|
}
|
|
216
187
|
export const getAddressesFromDb = async (): Promise<string[]> => {
|
package/dist/src/drizzle.ts
CHANGED
|
@@ -60,14 +60,10 @@ const generateDrizzleSchemaCode = (
|
|
|
60
60
|
export const createDrizzleSchemaFilesFromConfig = async () => {
|
|
61
61
|
const schemaFilePath = path.join(dotSeedDir, 'schema.ts') // Developer created file with model definitions
|
|
62
62
|
|
|
63
|
-
console.log('schemaFilePath:', schemaFilePath)
|
|
64
|
-
|
|
65
63
|
const { models } = await getTsImport<{
|
|
66
64
|
models: Record<string, ModelClassType>
|
|
67
65
|
}>(schemaFilePath)
|
|
68
66
|
|
|
69
|
-
console.log('models:', models)
|
|
70
|
-
|
|
71
67
|
for (const [modelName, modelClass] of Object.entries(models)) {
|
|
72
68
|
const code = generateDrizzleSchemaCode(modelName, modelClass)
|
|
73
69
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { easClient, queryClient } from '@/browser/helpers'
|
|
2
|
+
import { GET_SCHEMAS } from '@/browser'
|
|
3
|
+
|
|
4
|
+
export const getSchemaUidForModel = async (
|
|
5
|
+
modelName: string,
|
|
6
|
+
): Promise<string> => {
|
|
7
|
+
const modeType = modelName.toLowerCase()
|
|
8
|
+
|
|
9
|
+
const modelSchemaQuery = await queryClient.fetchQuery({
|
|
10
|
+
queryKey: [`getPropertySchema${modelName}`],
|
|
11
|
+
queryFn: async () =>
|
|
12
|
+
easClient.request(GET_SCHEMAS, {
|
|
13
|
+
where: {
|
|
14
|
+
schemaNames: {
|
|
15
|
+
some: {
|
|
16
|
+
name: {
|
|
17
|
+
equals: modeType,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
}),
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
const foundSchema = modelSchemaQuery.schemas[0]
|
|
26
|
+
return foundSchema.id
|
|
27
|
+
}
|