@seedprotocol/sdk 0.2.41 → 0.2.42
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/{Db-C_8DgrQ4.js → Db-DFKHN8CX.js} +2 -2
- package/dist/{Db-C_8DgrQ4.js.map → Db-DFKHN8CX.js.map} +1 -1
- package/dist/{Db-pJHPyQsS.js → Db-LQf3Azt5.js} +2 -2
- package/dist/{Db-pJHPyQsS.js.map → Db-LQf3Azt5.js.map} +1 -1
- package/dist/{Item-Bk75WcM3.js → Item-BixSOZAD.js} +2 -2
- package/dist/{Item-Bk75WcM3.js.map → Item-BixSOZAD.js.map} +1 -1
- package/dist/{ItemProperty-CkCP8NJX.js → ItemProperty-DpGkb0Zb.js} +2 -2
- package/dist/{ItemProperty-CkCP8NJX.js.map → ItemProperty-DpGkb0Zb.js.map} +1 -1
- package/dist/content-hash.js +27 -0
- package/dist/content-hash.js.map +1 -0
- package/dist/{index-CVcUj21U.js → index-DV2gvrCh.js} +2 -2
- package/dist/index-DV2gvrCh.js.map +1 -0
- package/dist/{index-BsY4KtUQ.js → index-sqKT92c8.js} +11 -77
- package/dist/index-sqKT92c8.js.map +1 -0
- package/dist/main.js +1 -1
- package/dist/{seed.schema.config-BOa_ckO5.js → seed.schema.config-Ct1bu0Yc.js} +2 -2
- package/dist/{seed.schema.config-BOa_ckO5.js.map → seed.schema.config-Ct1bu0Yc.js.map} +1 -1
- package/dist/src/content-hash.ts +30 -0
- package/dist/types/__tests__/__mocks__/browser/project/schema.d.ts +52 -0
- package/dist/types/__tests__/__mocks__/browser/project/schema.d.ts.map +1 -0
- package/dist/types/__tests__/__mocks__/node/schema.d.ts +52 -0
- package/dist/types/__tests__/__mocks__/node/schema.d.ts.map +1 -0
- package/dist/types/__tests__/browser/db/drizzle.test.d.ts +2 -0
- package/dist/types/__tests__/browser/db/drizzle.test.d.ts.map +1 -0
- package/dist/types/__tests__/browser/property/propertyMachine.test.d.ts +2 -0
- package/dist/types/__tests__/browser/property/propertyMachine.test.d.ts.map +1 -0
- package/dist/types/__tests__/browser/react/index.test.d.ts +2 -0
- package/dist/types/__tests__/browser/react/index.test.d.ts.map +1 -0
- package/dist/types/__tests__/dist/exports.test.d.ts +2 -0
- package/dist/types/__tests__/dist/exports.test.d.ts.map +1 -0
- package/dist/types/__tests__/fs/index.test.d.ts +2 -0
- package/dist/types/__tests__/fs/index.test.d.ts.map +1 -0
- package/dist/types/__tests__/index.test.d.ts +2 -0
- package/dist/types/__tests__/index.test.d.ts.map +1 -0
- package/dist/types/__tests__/node/Item/Item.test.d.ts +2 -0
- package/dist/types/__tests__/node/Item/Item.test.d.ts.map +1 -0
- package/dist/types/__tests__/node/setup.d.ts +2 -0
- package/dist/types/__tests__/node/setup.d.ts.map +1 -0
- package/dist/types/__tests__/scripts/bin.test.d.ts +2 -0
- package/dist/types/__tests__/scripts/bin.test.d.ts.map +1 -0
- package/dist/types/__tests__/setup.d.ts +2 -0
- package/dist/types/__tests__/setup.d.ts.map +1 -0
- package/dist/types/src/events/files/index.d.ts.map +1 -1
- package/dist/types/src/workers/content-hash.d.ts +2 -0
- package/dist/types/src/workers/content-hash.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/index-BsY4KtUQ.js.map +0 -1
- package/dist/index-CVcUj21U.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
-
import { b as BaseDb, w as waitForFile } from './index-
|
|
2
|
+
import { b as BaseDb, w as waitForFile } from './index-sqKT92c8.js';
|
|
3
3
|
import { sql } from 'drizzle-orm';
|
|
4
4
|
import debug from 'debug';
|
|
5
5
|
import fs from '@zenfs/core';
|
|
@@ -388,4 +388,4 @@ class Db extends BaseDb {
|
|
|
388
388
|
BaseDb.setPlatformClass(Db);
|
|
389
389
|
|
|
390
390
|
export { Db, dbExec };
|
|
391
|
-
//# sourceMappingURL=Db-
|
|
391
|
+
//# sourceMappingURL=Db-DFKHN8CX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db-C_8DgrQ4.js","sources":["../../src/browser/db/sqlWasmClient.ts","../../src/services/db/connectionManager.ts","../../src/browser/db/Db.ts"],"sourcesContent":["import { SqliteConnectionManager } from '@/services/db'\nimport {\n SqliteRemoteDatabase,\n SqliteRemoteResult,\n} from 'drizzle-orm/sqlite-proxy'\nimport { sql } from 'drizzle-orm'\n\nlet sqlite3InitModule: any\nlet sqliteWasmClient: any\nlet manager: SqliteConnectionManager | undefined\nlet isPreparing = false\n\nexport const setSqliteWasmClient = (client: any) => {\n sqliteWasmClient = client\n}\n\nexport const getSqliteWasmClient = async () => {\n if (sqliteWasmClient) {\n return sqliteWasmClient\n }\n if (typeof window === 'undefined') {\n throw new Error('validateInput called from non-browser context')\n }\n\n if (isPreparing) {\n return\n }\n\n isPreparing = true\n\n if (!sqlite3InitModule) {\n sqlite3InitModule = await import('@sqlite.org/sqlite-wasm')\n }\n\n if (!window.sqlite3Worker1Promiser) {\n await sqlite3InitModule()\n }\n\n if (!window.sqlite3Worker1Promiser) {\n console.error('window.sqlite3Worker1Promiser not found')\n isPreparing = false\n return\n }\n\n try {\n sqliteWasmClient = await window.sqlite3Worker1Promiser.v2().catch((err) => {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n })\n } catch (err) {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n }\n return sqliteWasmClient\n}\n\nexport const getManager = () => {\n return manager\n}\n\nexport const setManager = (m: any) => {\n manager = m\n}\nlet appDb: SqliteRemoteDatabase<Record<string, unknown>> | undefined\nexport const setAppDb = (db: SqliteRemoteDatabase<Record<string, unknown>>) => {\n appDb = db\n}\nexport const getAppDb = () => {\n if (!appDb) {\n throw new Error('getAppDb: appDb is undefined')\n }\n\n return appDb\n}\nexport const isAppDbReady = () => {\n return !!appDb\n}\ntype RunQueryForStatement = (\n statement: string,\n) => Promise<SqliteRemoteResult<unknown>>\n\nexport const runQueryForStatement: RunQueryForStatement = async (\n statement: string,\n) => {\n const appDb = getAppDb()\n\n return appDb.run(sql.raw(statement))\n}\n","type SqliteDatabase = {\n open: (filename: string) => Promise<void>\n exec: (sql: string, params?: any[]) => any\n close: () => void\n}\n\nclass SqliteConnectionManager {\n private sqliteModule: SqliteDatabase\n private idleTimeout: number\n private databases: { [key: string]: SqliteDatabase }\n private idleTimers: { [key: string]: NodeJS.Timeout }\n\n constructor(sqliteModule: SqliteDatabase, idleTimeout: number = 300000) {\n // Default idle timeout: 5 minutes\n this.sqliteModule = sqliteModule\n this.idleTimeout = idleTimeout\n this.databases = {}\n this.idleTimers = {}\n }\n\n private resetIdleTimer(dbName: string): void {\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n }\n\n this.idleTimers[dbName] = setTimeout(() => {\n this.closeConnection(dbName)\n }, this.idleTimeout)\n }\n\n private async getConnection(dbName: string): Promise<SqliteDatabase> {\n if (this.databases[dbName]) {\n this.resetIdleTimer(dbName)\n return this.databases[dbName]\n }\n\n const db = new this.sqliteModule()\n await db.open(dbName)\n this.databases[dbName] = db\n this.resetIdleTimer(dbName)\n return db\n }\n\n public async execute(\n dbName: string,\n sql: string,\n params: any[] = [],\n ): Promise<any> {\n const db = await this.getConnection(dbName)\n const result = db.exec(sql, params)\n this.resetIdleTimer(dbName)\n return result\n }\n\n public closeConnection(dbName: string): void {\n if (this.databases[dbName]) {\n this.databases[dbName].close()\n delete this.databases[dbName]\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n delete this.idleTimers[dbName]\n }\n }\n }\n}\n\nexport { SqliteConnectionManager }\n","import { BaseDb } from \"@/db/Db/BaseDb\";\nimport { IDb } from \"@/interfaces/IDb\";\nimport { getAppDb, getSqliteWasmClient, isAppDbReady, setAppDb } from \"./sqlWasmClient\";\nimport { SqliteConnectionManager } from \"@/services/db\";\nimport debug from \"debug\";\nimport { waitForFile } from \"@/helpers/files\";\nimport fs from \"@zenfs/core\";\nimport { sql } from \"drizzle-orm\";\nimport { readMigrationFiles } from \"drizzle-orm/migrator\";\nimport { drizzle } from \"drizzle-orm/sqlite-proxy\";\nimport { migrate as drizzleMigrate } from \"drizzle-orm/sqlite-proxy/migrator\";\nimport { BROWSER_FS_TOP_DIR } from \"@/services/internal/constants\";\nconst logger = debug('app:browser:db:Db')\n\nexport const dbExec = async (dbId, params, sql, dbName, retries = 2) => {\n const rowsToReturnRaw: SqliteWasmResult[] = []\n const rowsValues: string[][] = []\n\n const sqliteWasmClient = await getSqliteWasmClient()\n\n // For a single exec command, the callback potentially gets called several times -- once for each row.\n // So we need to collect all rows into a final array to return (execResult).\n const rowsToReturn = await new Promise((resolve, reject) => {\n sqliteWasmClient('exec', {\n dbId,\n sql,\n bind: params,\n callback: (result) => {\n // Checks if this is the final callback of the query\n if (!result || !result.row || !result.rowNumber) {\n const returnResult = []\n // Before returning the array, we process it to match the expected output format\n // const rowsToReturnProcessed = rowsToReturnRaw.reduce((acc, curr) => {\n // if (\n // Array.isArray(curr.row) &&\n // curr.row?.length > 0 &&\n // curr.columnNames.length > 0\n // ) {\n // const returnObj: ReturnObj = {\n // database: dbName,\n // }\n //\n // const values = []\n //\n // curr.columnNames.forEach((colName, index: number) => {\n // if (curr.row && curr.row[index]) {\n // returnObj[colName] = curr.row[index]\n // values.push(curr.row[index])\n // }\n // })\n // // rowsValueStrings.push(`(${values.join(', ')})`)\n // acc.push(returnObj)\n // }\n // return acc\n // }, [] as string[])\n for (const currRow of rowsToReturnRaw) {\n // const values: string[] = []\n // currRow.columnNames.forEach((colName, index: number) => {\n // if (currRow.row) {\n // values.push(currRow.row[index])\n // }\n // })\n // logger(`[db/actors] [dbExec] currRow`, currRow)\n returnResult.push(currRow.row)\n }\n resolve(returnResult)\n } else {\n // If not the final response, add this row to the return array\n rowsToReturnRaw.push(result)\n }\n },\n }).catch(async (error) => {\n reject(error)\n })\n })\n\n // logger(`[db/actors] [dbExec] rowsToReturn`, rowsToReturn)\n // logger(`[db/actors] [dbExec] rowsValues`, rowsValues)\n\n return rowsToReturn || []\n}\n\nclass Db extends BaseDb implements IDb {\n constructor() {\n super()\n }\n\n static getAppDb() {\n return getAppDb()\n }\n\n static isAppDbReady() {\n return isAppDbReady()\n }\n\n static prepareDb(filesDir: string) {\n\n return new Promise((resolve, reject) => {\n let sqliteWasmClient\n const interval = setInterval(() => {\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n\n if (sqliteWasmClient) {\n clearInterval(interval)\n const manager = new SqliteConnectionManager(sqliteWasmClient)\n resolve(manager)\n }\n })\n\n }, 200)\n })\n }\n\n static connectToDb(pathToDir: string, dbName: string) {\n\n return new Promise((resolve, reject) => {\n const interval = setInterval(() => {\n\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n\n if (!sqliteWasmClient) {\n return\n }\n\n //@ts-ignore\n sqliteWasmClient('config-get', {}).then((response) => {\n logger(response)\n logger('Running SQLite3 version', response.result.version.libVersion)\n\n //@ts-ignore\n sqliteWasmClient('open', {\n filename: `file:${pathToDir}/db/${dbName}.sqlite3?vfs=opfs`,\n }).then((response: { dbId: string, result: { filename: string } }) => {\n\n logger(response)\n const dbId = response.dbId\n logger(\n 'OPFS is available, created persisted database at',\n response.result.filename.replace(/^file:(.*?)\\?vfs=opfs$/, '$1'),\n )\n\n if (dbId) {\n clearInterval(interval)\n resolve(dbId)\n }\n })\n })\n })\n }, 500)\n })\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n\n const schemaGlobString = `${BROWSER_FS_TOP_DIR}/schema/*`\n\n const drizzleDb = drizzle(\n async (sql, params, method) => {\n try {\n // logger(\n // `executing sql on ${dbName} with id: ${dbId} and method: ${method}`,\n // sql,\n // )\n\n const finalResult = await dbExec(dbId, params, sql, dbName)\n\n // logger(`finalResult with method: ${method}`, finalResult)\n // Drizzle always waits for {rows: string[][]} or {rows: string[]} for the return value.\n\n // When the method is get, you should return a value as {rows: string[]}.\n // Otherwise, you should return {rows: string[][]}.\n\n return { rows: finalResult }\n } catch (e: any) {\n console.error('Error from sqlite proxy server: ', JSON.stringify(e))\n return { rows: [] }\n }\n },\n {\n schema: schemaGlobString,\n // logger: true,\n },\n )\n\n try {\n const migrations = readMigrationFiles({\n migrationsFolder: pathToDbDir,\n })\n\n if (migrations.length > 0) {\n const incomingMigrationHashes = migrations.map(\n (migration) => migration.hash,\n )\n\n let existingMigrationHashes\n let rows = []\n\n try {\n const query = await drizzleDb.run(\n sql.raw(\n `SELECT hash, created_at\n FROM main.__drizzle_migrations;`,\n ),\n )\n\n rows = query.rows\n } catch (e) {\n rows = []\n }\n\n if (rows && rows.length > 0) {\n existingMigrationHashes = rows.map((row) => row[0])\n }\n\n if (existingMigrationHashes) {\n let shouldRebuildDb = false\n for (const existingHash of existingMigrationHashes) {\n if (!incomingMigrationHashes.includes(existingHash)) {\n shouldRebuildDb = true\n break\n }\n }\n if (shouldRebuildDb) {\n await fs.promises.unlink(`${pathToDbDir}/${dbName}.sqlite3`)\n }\n }\n }\n\n await drizzleMigrate(\n drizzleDb,\n async (queriesToRun) => {\n // logger('queriesToRun', queriesToRun)\n for (const query of queriesToRun) {\n // logger('query', query)\n await drizzleDb.run(sql.raw(query))\n }\n },\n {\n migrationsFolder: pathToDbDir,\n },\n )\n } catch (error) {\n // console.error('Error migrating database: ', error)\n // window.location.reload()\n // const handle = await navigator.storage.getDirectory()\n //\n // await configureSingle({\n // backend: WebAccess,\n // handle,\n // })\n\n await waitForFile(`${pathToDbDir}/meta/_journal.json`)\n\n await this.migrate(pathToDbDir, dbName)\n\n }\n\n setAppDb(drizzleDb)\n // const createTempTableQuery = await appDb.run(\n // sql.raw(\n // `CREATE TEMP TABLE IF NOT EXISTS temp_last_inserted_id (id INTEGER, table TEXT);`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTempTableQuery',\n // createTempTableQuery,\n // )\n\n // const triggersQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'trigger';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] triggersQuery', triggersQuery)\n //\n // const triggers = triggersQuery.rows.map((row) => row[0])\n //\n // const tablesQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'table';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] tablesQuery', tablesQuery)\n //\n // const tableNames = tablesQuery.rows.map((row) => row[0])\n // logger('[db/actors] [migrate] tableNames', tableNames)\n // for (const tableName of tableNames) {\n // const triggerName = `after_insert_${tableName}`\n // if (triggers.includes(triggerName)) {\n // continue\n // }\n // const createTriggerQuery = await appDb.run(\n // sql.raw(\n // `CREATE TRIGGER after_insert_${tableName}\n // AFTER INSERT ON ${tableName}\n // BEGIN\n // DELETE FROM temp_last_inserted_id;\n // INSERT INTO temp_last_inserted_id (id) VALUES (new.id);\n // END;`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTriggerQuery',\n // createTriggerQuery,\n // )\n // }\n }\n}\n\nBaseDb.setPlatformClass(Db)\n\nexport { Db }"],"names":["drizzleMigrate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Db-DFKHN8CX.js","sources":["../../src/browser/db/sqlWasmClient.ts","../../src/services/db/connectionManager.ts","../../src/browser/db/Db.ts"],"sourcesContent":["import { SqliteConnectionManager } from '@/services/db'\nimport {\n SqliteRemoteDatabase,\n SqliteRemoteResult,\n} from 'drizzle-orm/sqlite-proxy'\nimport { sql } from 'drizzle-orm'\n\nlet sqlite3InitModule: any\nlet sqliteWasmClient: any\nlet manager: SqliteConnectionManager | undefined\nlet isPreparing = false\n\nexport const setSqliteWasmClient = (client: any) => {\n sqliteWasmClient = client\n}\n\nexport const getSqliteWasmClient = async () => {\n if (sqliteWasmClient) {\n return sqliteWasmClient\n }\n if (typeof window === 'undefined') {\n throw new Error('validateInput called from non-browser context')\n }\n\n if (isPreparing) {\n return\n }\n\n isPreparing = true\n\n if (!sqlite3InitModule) {\n sqlite3InitModule = await import('@sqlite.org/sqlite-wasm')\n }\n\n if (!window.sqlite3Worker1Promiser) {\n await sqlite3InitModule()\n }\n\n if (!window.sqlite3Worker1Promiser) {\n console.error('window.sqlite3Worker1Promiser not found')\n isPreparing = false\n return\n }\n\n try {\n sqliteWasmClient = await window.sqlite3Worker1Promiser.v2().catch((err) => {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n })\n } catch (err) {\n console.error('Error initializing sqliteWasmClient:', err)\n isPreparing = false\n }\n return sqliteWasmClient\n}\n\nexport const getManager = () => {\n return manager\n}\n\nexport const setManager = (m: any) => {\n manager = m\n}\nlet appDb: SqliteRemoteDatabase<Record<string, unknown>> | undefined\nexport const setAppDb = (db: SqliteRemoteDatabase<Record<string, unknown>>) => {\n appDb = db\n}\nexport const getAppDb = () => {\n if (!appDb) {\n throw new Error('getAppDb: appDb is undefined')\n }\n\n return appDb\n}\nexport const isAppDbReady = () => {\n return !!appDb\n}\ntype RunQueryForStatement = (\n statement: string,\n) => Promise<SqliteRemoteResult<unknown>>\n\nexport const runQueryForStatement: RunQueryForStatement = async (\n statement: string,\n) => {\n const appDb = getAppDb()\n\n return appDb.run(sql.raw(statement))\n}\n","type SqliteDatabase = {\n open: (filename: string) => Promise<void>\n exec: (sql: string, params?: any[]) => any\n close: () => void\n}\n\nclass SqliteConnectionManager {\n private sqliteModule: SqliteDatabase\n private idleTimeout: number\n private databases: { [key: string]: SqliteDatabase }\n private idleTimers: { [key: string]: NodeJS.Timeout }\n\n constructor(sqliteModule: SqliteDatabase, idleTimeout: number = 300000) {\n // Default idle timeout: 5 minutes\n this.sqliteModule = sqliteModule\n this.idleTimeout = idleTimeout\n this.databases = {}\n this.idleTimers = {}\n }\n\n private resetIdleTimer(dbName: string): void {\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n }\n\n this.idleTimers[dbName] = setTimeout(() => {\n this.closeConnection(dbName)\n }, this.idleTimeout)\n }\n\n private async getConnection(dbName: string): Promise<SqliteDatabase> {\n if (this.databases[dbName]) {\n this.resetIdleTimer(dbName)\n return this.databases[dbName]\n }\n\n const db = new this.sqliteModule()\n await db.open(dbName)\n this.databases[dbName] = db\n this.resetIdleTimer(dbName)\n return db\n }\n\n public async execute(\n dbName: string,\n sql: string,\n params: any[] = [],\n ): Promise<any> {\n const db = await this.getConnection(dbName)\n const result = db.exec(sql, params)\n this.resetIdleTimer(dbName)\n return result\n }\n\n public closeConnection(dbName: string): void {\n if (this.databases[dbName]) {\n this.databases[dbName].close()\n delete this.databases[dbName]\n if (this.idleTimers[dbName]) {\n clearTimeout(this.idleTimers[dbName])\n delete this.idleTimers[dbName]\n }\n }\n }\n}\n\nexport { SqliteConnectionManager }\n","import { BaseDb } from \"@/db/Db/BaseDb\";\nimport { IDb } from \"@/interfaces/IDb\";\nimport { getAppDb, getSqliteWasmClient, isAppDbReady, setAppDb } from \"./sqlWasmClient\";\nimport { SqliteConnectionManager } from \"@/services/db\";\nimport debug from \"debug\";\nimport { waitForFile } from \"@/helpers/files\";\nimport fs from \"@zenfs/core\";\nimport { sql } from \"drizzle-orm\";\nimport { readMigrationFiles } from \"drizzle-orm/migrator\";\nimport { drizzle } from \"drizzle-orm/sqlite-proxy\";\nimport { migrate as drizzleMigrate } from \"drizzle-orm/sqlite-proxy/migrator\";\nimport { BROWSER_FS_TOP_DIR } from \"@/services/internal/constants\";\nconst logger = debug('app:browser:db:Db')\n\nexport const dbExec = async (dbId, params, sql, dbName, retries = 2) => {\n const rowsToReturnRaw: SqliteWasmResult[] = []\n const rowsValues: string[][] = []\n\n const sqliteWasmClient = await getSqliteWasmClient()\n\n // For a single exec command, the callback potentially gets called several times -- once for each row.\n // So we need to collect all rows into a final array to return (execResult).\n const rowsToReturn = await new Promise((resolve, reject) => {\n sqliteWasmClient('exec', {\n dbId,\n sql,\n bind: params,\n callback: (result) => {\n // Checks if this is the final callback of the query\n if (!result || !result.row || !result.rowNumber) {\n const returnResult = []\n // Before returning the array, we process it to match the expected output format\n // const rowsToReturnProcessed = rowsToReturnRaw.reduce((acc, curr) => {\n // if (\n // Array.isArray(curr.row) &&\n // curr.row?.length > 0 &&\n // curr.columnNames.length > 0\n // ) {\n // const returnObj: ReturnObj = {\n // database: dbName,\n // }\n //\n // const values = []\n //\n // curr.columnNames.forEach((colName, index: number) => {\n // if (curr.row && curr.row[index]) {\n // returnObj[colName] = curr.row[index]\n // values.push(curr.row[index])\n // }\n // })\n // // rowsValueStrings.push(`(${values.join(', ')})`)\n // acc.push(returnObj)\n // }\n // return acc\n // }, [] as string[])\n for (const currRow of rowsToReturnRaw) {\n // const values: string[] = []\n // currRow.columnNames.forEach((colName, index: number) => {\n // if (currRow.row) {\n // values.push(currRow.row[index])\n // }\n // })\n // logger(`[db/actors] [dbExec] currRow`, currRow)\n returnResult.push(currRow.row)\n }\n resolve(returnResult)\n } else {\n // If not the final response, add this row to the return array\n rowsToReturnRaw.push(result)\n }\n },\n }).catch(async (error) => {\n reject(error)\n })\n })\n\n // logger(`[db/actors] [dbExec] rowsToReturn`, rowsToReturn)\n // logger(`[db/actors] [dbExec] rowsValues`, rowsValues)\n\n return rowsToReturn || []\n}\n\nclass Db extends BaseDb implements IDb {\n constructor() {\n super()\n }\n\n static getAppDb() {\n return getAppDb()\n }\n\n static isAppDbReady() {\n return isAppDbReady()\n }\n\n static prepareDb(filesDir: string) {\n\n return new Promise((resolve, reject) => {\n let sqliteWasmClient\n const interval = setInterval(() => {\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n\n if (sqliteWasmClient) {\n clearInterval(interval)\n const manager = new SqliteConnectionManager(sqliteWasmClient)\n resolve(manager)\n }\n })\n\n }, 200)\n })\n }\n\n static connectToDb(pathToDir: string, dbName: string) {\n\n return new Promise((resolve, reject) => {\n const interval = setInterval(() => {\n\n // TODO: Add a timeout\n // TODO: Add a cancel token to the promise so we can prevent more loops starting while we're checking the successful outcome\n getSqliteWasmClient().then((sqliteWasmClient) => {\n\n if (!sqliteWasmClient) {\n return\n }\n\n //@ts-ignore\n sqliteWasmClient('config-get', {}).then((response) => {\n logger(response)\n logger('Running SQLite3 version', response.result.version.libVersion)\n\n //@ts-ignore\n sqliteWasmClient('open', {\n filename: `file:${pathToDir}/db/${dbName}.sqlite3?vfs=opfs`,\n }).then((response: { dbId: string, result: { filename: string } }) => {\n\n logger(response)\n const dbId = response.dbId\n logger(\n 'OPFS is available, created persisted database at',\n response.result.filename.replace(/^file:(.*?)\\?vfs=opfs$/, '$1'),\n )\n\n if (dbId) {\n clearInterval(interval)\n resolve(dbId)\n }\n })\n })\n })\n }, 500)\n })\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n\n const schemaGlobString = `${BROWSER_FS_TOP_DIR}/schema/*`\n\n const drizzleDb = drizzle(\n async (sql, params, method) => {\n try {\n // logger(\n // `executing sql on ${dbName} with id: ${dbId} and method: ${method}`,\n // sql,\n // )\n\n const finalResult = await dbExec(dbId, params, sql, dbName)\n\n // logger(`finalResult with method: ${method}`, finalResult)\n // Drizzle always waits for {rows: string[][]} or {rows: string[]} for the return value.\n\n // When the method is get, you should return a value as {rows: string[]}.\n // Otherwise, you should return {rows: string[][]}.\n\n return { rows: finalResult }\n } catch (e: any) {\n console.error('Error from sqlite proxy server: ', JSON.stringify(e))\n return { rows: [] }\n }\n },\n {\n schema: schemaGlobString,\n // logger: true,\n },\n )\n\n try {\n const migrations = readMigrationFiles({\n migrationsFolder: pathToDbDir,\n })\n\n if (migrations.length > 0) {\n const incomingMigrationHashes = migrations.map(\n (migration) => migration.hash,\n )\n\n let existingMigrationHashes\n let rows = []\n\n try {\n const query = await drizzleDb.run(\n sql.raw(\n `SELECT hash, created_at\n FROM main.__drizzle_migrations;`,\n ),\n )\n\n rows = query.rows\n } catch (e) {\n rows = []\n }\n\n if (rows && rows.length > 0) {\n existingMigrationHashes = rows.map((row) => row[0])\n }\n\n if (existingMigrationHashes) {\n let shouldRebuildDb = false\n for (const existingHash of existingMigrationHashes) {\n if (!incomingMigrationHashes.includes(existingHash)) {\n shouldRebuildDb = true\n break\n }\n }\n if (shouldRebuildDb) {\n await fs.promises.unlink(`${pathToDbDir}/${dbName}.sqlite3`)\n }\n }\n }\n\n await drizzleMigrate(\n drizzleDb,\n async (queriesToRun) => {\n // logger('queriesToRun', queriesToRun)\n for (const query of queriesToRun) {\n // logger('query', query)\n await drizzleDb.run(sql.raw(query))\n }\n },\n {\n migrationsFolder: pathToDbDir,\n },\n )\n } catch (error) {\n // console.error('Error migrating database: ', error)\n // window.location.reload()\n // const handle = await navigator.storage.getDirectory()\n //\n // await configureSingle({\n // backend: WebAccess,\n // handle,\n // })\n\n await waitForFile(`${pathToDbDir}/meta/_journal.json`)\n\n await this.migrate(pathToDbDir, dbName)\n\n }\n\n setAppDb(drizzleDb)\n // const createTempTableQuery = await appDb.run(\n // sql.raw(\n // `CREATE TEMP TABLE IF NOT EXISTS temp_last_inserted_id (id INTEGER, table TEXT);`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTempTableQuery',\n // createTempTableQuery,\n // )\n\n // const triggersQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'trigger';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] triggersQuery', triggersQuery)\n //\n // const triggers = triggersQuery.rows.map((row) => row[0])\n //\n // const tablesQuery = await appDb.run(\n // sql.raw(\n // `SELECT name\n // FROM main.sqlite_master\n // WHERE type = 'table';`,\n // ),\n // )\n //\n // logger('[db/actors] [migrate] tablesQuery', tablesQuery)\n //\n // const tableNames = tablesQuery.rows.map((row) => row[0])\n // logger('[db/actors] [migrate] tableNames', tableNames)\n // for (const tableName of tableNames) {\n // const triggerName = `after_insert_${tableName}`\n // if (triggers.includes(triggerName)) {\n // continue\n // }\n // const createTriggerQuery = await appDb.run(\n // sql.raw(\n // `CREATE TRIGGER after_insert_${tableName}\n // AFTER INSERT ON ${tableName}\n // BEGIN\n // DELETE FROM temp_last_inserted_id;\n // INSERT INTO temp_last_inserted_id (id) VALUES (new.id);\n // END;`,\n // ),\n // )\n //\n // logger(\n // '[db/actors] [migrate] createTriggerQuery',\n // createTriggerQuery,\n // )\n // }\n }\n}\n\nBaseDb.setPlatformClass(Db)\n\nexport { Db }"],"names":["drizzleMigrate"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
-
import { b as BaseDb } from './index-
|
|
2
|
+
import { b as BaseDb } from './index-sqKT92c8.js';
|
|
3
3
|
import { defineConfig } from 'drizzle-kit';
|
|
4
4
|
import dotenv from 'dotenv';
|
|
5
5
|
import process from 'node:process';
|
|
@@ -114,4 +114,4 @@ class Db extends BaseDb {
|
|
|
114
114
|
BaseDb.setPlatformClass(Db);
|
|
115
115
|
|
|
116
116
|
export { Db };
|
|
117
|
-
//# sourceMappingURL=Db-
|
|
117
|
+
//# sourceMappingURL=Db-LQf3Azt5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db-
|
|
1
|
+
{"version":3,"file":"Db-LQf3Azt5.js","sources":["../../src/node/db/node.app.db.config.ts","../../src/node/db/Db.ts"],"sourcesContent":["import { defineConfig } from 'drizzle-kit'\nimport dotenv from 'dotenv'\nimport process from 'node:process'\nimport path from 'path'\nimport { DrizzleConfig } from 'drizzle-orm'\n\ndotenv.config()\n\nlet sdkRoot = './node_modules/@seedprotocol/sdk'\n\nif (process.env.IS_SEED_DEV) {\n sdkRoot = './src'\n}\n\nlet dotSeedDir = path.join(process.cwd(), '.seed')\n\nif (process.env.IS_SEED_DEV) {\n dotSeedDir = path.join(\n process.cwd(),\n '__tests__',\n '__mocks__',\n 'browser',\n 'project',\n '.seed',\n )\n}\n\nlet schemaDir = `${sdkRoot}/dist/seedSchema/*.ts`\n\nif (process.env.IS_SEED_DEV) {\n schemaDir = `${sdkRoot}/seedSchema/*.ts`\n}\n\nexport default defineConfig({\n schema: schemaDir,\n dialect: 'sqlite',\n out: `${dotSeedDir}/db`,\n dbCredentials: {\n url: `${dotSeedDir}/db/app_db.sqlite3`,\n },\n}) as DrizzleConfig\n","import { BaseDb } from \"@/db/Db/BaseDb\";\nimport { IDb } from \"@/interfaces\";\nimport nodeAppDbConfig from \"./node.app.db.config\";\nimport { drizzle } from \"drizzle-orm/better-sqlite3\";\nimport { defineConfig, } from \"drizzle-kit\";\nimport path from \"path\";\nimport { DrizzleConfig, } from \"drizzle-orm\";\nimport Database from \"better-sqlite3\";\n\nconst getConfig = (filesDir: string) => {\n\n const dotSeedDir = path.join(filesDir, '.seed')\n let schemaDir = `${dotSeedDir}/schema/*Schema.ts`\n\n const nodeDbConfig = defineConfig({\n schema: schemaDir,\n dialect: 'sqlite',\n out: `${dotSeedDir}/db`,\n dbCredentials: {\n url: `${dotSeedDir}/db/app_db.sqlite3`,\n }\n }) as DrizzleConfig & { dbCredentials: { url: string } }\n\n return nodeDbConfig\n}\n\nclass Db extends BaseDb implements IDb {\n constructor() {\n super()\n }\n\n static getAppDb() {\n return drizzle(nodeAppDbConfig)\n }\n\n static isAppDbReady() {\n return true\n }\n\n static async prepareDb(filesDir: string) {\n const nodeDbConfig = getConfig(filesDir)\n\n let db\n\n try {\n db = drizzle(nodeDbConfig)\n } catch (error) {\n console.error(error)\n }\n\n try {\n const client = new Database(nodeDbConfig.dbCredentials.url)\n db = drizzle({ client })\n } catch (error) {\n console.error(error)\n }\n\n return db\n }\n\n static async connectToDb(pathToDir: string, dbName: string) {\n\n const nodeDbConfig = getConfig(pathToDir)\n\n return {\n id: drizzle(nodeDbConfig).$client.name\n }\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string) {\n const nodeDbConfig = getConfig(pathToDbDir)\n return drizzle(nodeDbConfig)\n }\n}\n\nBaseDb.setPlatformClass(Db)\n\nexport { Db }"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BaseItem } from './index-
|
|
1
|
+
import { B as BaseItem } from './index-sqKT92c8.js';
|
|
2
2
|
import 'immer';
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import 'tslib';
|
|
@@ -34,4 +34,4 @@ class Item extends BaseItem {
|
|
|
34
34
|
BaseItem.setPlatformClass(Item);
|
|
35
35
|
|
|
36
36
|
export { Item };
|
|
37
|
-
//# sourceMappingURL=Item-
|
|
37
|
+
//# sourceMappingURL=Item-BixSOZAD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item-
|
|
1
|
+
{"version":3,"file":"Item-BixSOZAD.js","sources":["../../src/node/Item/Item.ts"],"sourcesContent":["import { IItem } from '@/interfaces';\nimport { BaseItem } from '@/Item/BaseItem';\nimport { ModelSchema, ModelValues, NewItemProps } from '@/types';\n\nexport class Item<T extends ModelValues<ModelSchema>> extends BaseItem<T> implements IItem<T> {\n constructor(initialValues: NewItemProps<T>) {\n super(initialValues);\n }\n\n}\n\nBaseItem.setPlatformClass(Item)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,IAAyC,SAAQ,QAAW,CAAA;AACvE,IAAA,WAAA,CAAY,aAA8B,EAAA;QACxC,KAAK,CAAC,aAAa,CAAC;;AAGvB;AAED,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as BaseItemProperty } from './index-
|
|
1
|
+
import { a as BaseItemProperty } from './index-sqKT92c8.js';
|
|
2
2
|
import 'immer';
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import 'tslib';
|
|
@@ -33,4 +33,4 @@ class ItemProperty extends BaseItemProperty {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { ItemProperty };
|
|
36
|
-
//# sourceMappingURL=ItemProperty-
|
|
36
|
+
//# sourceMappingURL=ItemProperty-DpGkb0Zb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemProperty-
|
|
1
|
+
{"version":3,"file":"ItemProperty-DpGkb0Zb.js","sources":["../../src/node/ItemProperty/ItemProperty.ts"],"sourcesContent":["import { IItemProperty } from '@/interfaces'\nimport { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'\nimport { CreatePropertyInstanceProps, ModelSchema, ModelValues, } from '@/types'\n\nexport class ItemProperty<PropertyType> extends BaseItemProperty<PropertyType> implements IItemProperty<PropertyType> {\n constructor(initialValues: Partial<CreatePropertyInstanceProps>) {\n super(initialValues)\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,MAAO,YAA2B,SAAQ,gBAA8B,CAAA;AAC5E,IAAA,WAAA,CAAY,aAAmD,EAAA;QAC7D,KAAK,CAAC,aAAa,CAAC;;AAEvB;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const hashLargeString = (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
2
|
+
// Convert the string to an ArrayBuffer
|
|
3
|
+
const encoder = new TextEncoder();
|
|
4
|
+
const data = encoder.encode(input);
|
|
5
|
+
// Hash the data with SHA-256
|
|
6
|
+
const hashBuffer = yield crypto.subtle.digest('SHA-256', data);
|
|
7
|
+
// Convert the ArrayBuffer to a hex string
|
|
8
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
9
|
+
const hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
10
|
+
return hashHex;
|
|
11
|
+
});
|
|
12
|
+
onmessage = (event) => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
postMessage('Content hash worker received message');
|
|
14
|
+
if (!event || !event.data || !event.data.trackingId || !event.data.base64) {
|
|
15
|
+
postMessage('No event data received');
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const { trackingId, base64, } = event.data;
|
|
19
|
+
postMessage('Beginning content hash calculation');
|
|
20
|
+
const contentHash = yield hashLargeString(base64);
|
|
21
|
+
postMessage('Content hash calculation complete');
|
|
22
|
+
postMessage({
|
|
23
|
+
trackingId,
|
|
24
|
+
contentHash,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=content-hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-hash.js","sources":["../../src/workers/content-hash.ts"],"sourcesContent":["const hashLargeString = async ( input: string, ): Promise<string> => {\n // Convert the string to an ArrayBuffer\n const encoder = new TextEncoder()\n const data = encoder.encode(input,)\n\n // Hash the data with SHA-256\n const hashBuffer = await crypto.subtle.digest('SHA-256', data,)\n\n // Convert the ArrayBuffer to a hex string\n const hashArray = Array.from(new Uint8Array(hashBuffer,),)\n const hashHex = hashArray.map(( b, ) => b.toString(16,).padStart(2, '0',),).join('',)\n\n return hashHex\n}\n\nonmessage = async (event,) => {\n postMessage('Content hash worker received message',)\n if (!event || !event.data || !event.data.trackingId || !event.data.base64) {\n postMessage('No event data received',)\n return\n }\n const { trackingId, base64, } = event.data\n postMessage('Beginning content hash calculation',)\n const contentHash = await hashLargeString(base64,)\n postMessage('Content hash calculation complete',)\n postMessage({\n trackingId,\n contentHash,\n },)\n}"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,CAAQ,KAAa,KAAuB,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAElE,IAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAE;;AAGnC,IAAA,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAE;;AAG/D,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAE,CAAE;AAC1D,IAAA,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAE,CAAC,KAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAE,CAAE,CAAC,IAAI,CAAC,EAAE,CAAE;AAErF,IAAA,OAAO,OAAO;AAChB,CAAC,CAAA;AAED,SAAS,GAAG,CAAO,KAAK,KAAK,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;IAC3B,WAAW,CAAC,sCAAsC,CAAE;IACpD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;QACzE,WAAW,CAAC,wBAAwB,CAAE;QACtC;;IAEF,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI;IAC1C,WAAW,CAAC,oCAAoC,CAAE;AAClD,IAAA,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,MAAM,CAAE;IAClD,WAAW,CAAC,mCAAmC,CAAE;AACjD,IAAA,WAAW,CAAC;QACV,UAAU;QACV,WAAW;AACZ,KAAA,CAAE;AACL,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { I as Item } from './index-
|
|
1
|
+
export { I as Item } from './index-sqKT92c8.js';
|
|
2
2
|
import 'immer';
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import 'tslib';
|
|
@@ -25,4 +25,4 @@ import 'threads';
|
|
|
25
25
|
import 'rxjs';
|
|
26
26
|
import 'use-immer';
|
|
27
27
|
import '@xstate/react';
|
|
28
|
-
//# sourceMappingURL=index-
|
|
28
|
+
//# sourceMappingURL=index-DV2gvrCh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DV2gvrCh.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -131,7 +131,7 @@ const initItem = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
131
131
|
Item$2 = (yield Promise.resolve().then(function () { return Item$1; })).Item;
|
|
132
132
|
}
|
|
133
133
|
if (!isBrowser()) {
|
|
134
|
-
Item$2 = (yield import('./Item-
|
|
134
|
+
Item$2 = (yield import('./Item-BixSOZAD.js')).Item;
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
137
|
|
|
@@ -181,17 +181,17 @@ const initItemProperty = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
181
181
|
ItemProperty$2 = (yield Promise.resolve().then(function () { return ItemProperty$1; })).ItemProperty;
|
|
182
182
|
}
|
|
183
183
|
if (!isBrowser()) {
|
|
184
|
-
ItemProperty$2 = (yield import('./ItemProperty-
|
|
184
|
+
ItemProperty$2 = (yield import('./ItemProperty-DpGkb0Zb.js')).ItemProperty;
|
|
185
185
|
}
|
|
186
186
|
});
|
|
187
187
|
|
|
188
188
|
let Db;
|
|
189
189
|
const initDb = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
190
190
|
if (isBrowser()) {
|
|
191
|
-
Db = (yield import('./Db-
|
|
191
|
+
Db = (yield import('./Db-DFKHN8CX.js')).Db;
|
|
192
192
|
}
|
|
193
193
|
if (!isBrowser()) {
|
|
194
|
-
Db = (yield import('./Db-
|
|
194
|
+
Db = (yield import('./Db-LQf3Azt5.js')).Db;
|
|
195
195
|
}
|
|
196
196
|
// TODO: Add config for React Native
|
|
197
197
|
});
|
|
@@ -1666,7 +1666,7 @@ const addModelsToDb = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
1666
1666
|
if (!models$1) {
|
|
1667
1667
|
return;
|
|
1668
1668
|
}
|
|
1669
|
-
const { models: SeedModels } = yield import('./seed.schema.config-
|
|
1669
|
+
const { models: SeedModels } = yield import('./seed.schema.config-Ct1bu0Yc.js');
|
|
1670
1670
|
const allModels = Object.assign(Object.assign({}, SeedModels), models$1);
|
|
1671
1671
|
let hasModelsInDb = false;
|
|
1672
1672
|
const schemaDefsByModelName = new Map();
|
|
@@ -2644,68 +2644,6 @@ const downloadAllFilesBinaryRequestHandler = () => __awaiter(void 0, void 0, voi
|
|
|
2644
2644
|
}
|
|
2645
2645
|
});
|
|
2646
2646
|
|
|
2647
|
-
var WorkerClass = null;
|
|
2648
|
-
|
|
2649
|
-
try {
|
|
2650
|
-
var WorkerThreads =
|
|
2651
|
-
typeof module !== 'undefined' && typeof module.require === 'function' && module.require('worker_threads') ||
|
|
2652
|
-
typeof __non_webpack_require__ === 'function' && __non_webpack_require__('worker_threads') ||
|
|
2653
|
-
typeof require === 'function' && require('worker_threads');
|
|
2654
|
-
WorkerClass = WorkerThreads.Worker;
|
|
2655
|
-
} catch(e) {} // eslint-disable-line
|
|
2656
|
-
|
|
2657
|
-
function decodeBase64$1(base64, enableUnicode) {
|
|
2658
|
-
return Buffer.from(base64, 'base64').toString('utf8');
|
|
2659
|
-
}
|
|
2660
|
-
|
|
2661
|
-
function createBase64WorkerFactory$2(base64, sourcemapArg, enableUnicodeArg) {
|
|
2662
|
-
var source = decodeBase64$1(base64);
|
|
2663
|
-
var start = source.indexOf('\n', 10) + 1;
|
|
2664
|
-
var body = source.substring(start) + ('');
|
|
2665
|
-
return function WorkerFactory(options) {
|
|
2666
|
-
return new WorkerClass(body, Object.assign({}, options, { eval: true }));
|
|
2667
|
-
};
|
|
2668
|
-
}
|
|
2669
|
-
|
|
2670
|
-
function decodeBase64(base64, enableUnicode) {
|
|
2671
|
-
var binaryString = atob(base64);
|
|
2672
|
-
return binaryString;
|
|
2673
|
-
}
|
|
2674
|
-
|
|
2675
|
-
function createURL(base64, sourcemapArg, enableUnicodeArg) {
|
|
2676
|
-
var source = decodeBase64(base64);
|
|
2677
|
-
var start = source.indexOf('\n', 10) + 1;
|
|
2678
|
-
var body = source.substring(start) + ('');
|
|
2679
|
-
var blob = new Blob([body], { type: 'application/javascript' });
|
|
2680
|
-
return URL.createObjectURL(blob);
|
|
2681
|
-
}
|
|
2682
|
-
|
|
2683
|
-
function createBase64WorkerFactory$1(base64, sourcemapArg, enableUnicodeArg) {
|
|
2684
|
-
var url;
|
|
2685
|
-
return function WorkerFactory(options) {
|
|
2686
|
-
url = url || createURL(base64);
|
|
2687
|
-
return new Worker(url, options);
|
|
2688
|
-
};
|
|
2689
|
-
}
|
|
2690
|
-
|
|
2691
|
-
var kIsNodeJS = Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';
|
|
2692
|
-
|
|
2693
|
-
function isNodeJS() {
|
|
2694
|
-
return kIsNodeJS;
|
|
2695
|
-
}
|
|
2696
|
-
|
|
2697
|
-
function createBase64WorkerFactory(base64, sourcemapArg, enableUnicodeArg) {
|
|
2698
|
-
if (isNodeJS()) {
|
|
2699
|
-
return createBase64WorkerFactory$2(base64);
|
|
2700
|
-
}
|
|
2701
|
-
return createBase64WorkerFactory$1(base64);
|
|
2702
|
-
}
|
|
2703
|
-
|
|
2704
|
-
var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgY29uc3QgaGFzaExhcmdlU3RyaW5nID0gYXN5bmMgKCBpbnB1dCwgKSA9PiB7CiAgICAvLyBDb252ZXJ0IHRoZSBzdHJpbmcgdG8gYW4gQXJyYXlCdWZmZXIKICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTsKICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVyLmVuY29kZShpbnB1dCwpOwoKICAgIC8vIEhhc2ggdGhlIGRhdGEgd2l0aCBTSEEtMjU2CiAgICBjb25zdCBoYXNoQnVmZmVyID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoJ1NIQS0yNTYnLCBkYXRhLCk7CgogICAgLy8gQ29udmVydCB0aGUgQXJyYXlCdWZmZXIgdG8gYSBoZXggc3RyaW5nCiAgICBjb25zdCBoYXNoQXJyYXkgPSBBcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGhhc2hCdWZmZXIsKSwpOwogICAgY29uc3QgaGFzaEhleCA9IGhhc2hBcnJheS5tYXAoKCBiLCApID0+IGIudG9TdHJpbmcoMTYsKS5wYWRTdGFydCgyLCAnMCcsKSwpLmpvaW4oJycsKTsKCiAgICByZXR1cm4gaGFzaEhleAogIH07CgogIG9ubWVzc2FnZSA9IGFzeW5jIChldmVudCwpID0+IHsKICAgIHBvc3RNZXNzYWdlKCdDb250ZW50IGhhc2ggd29ya2VyIHJlY2VpdmVkIG1lc3NhZ2UnLCk7CiAgICBpZiAoIWV2ZW50IHx8ICFldmVudC5kYXRhIHx8ICFldmVudC5kYXRhLnRyYWNraW5nSWQgfHwgIWV2ZW50LmRhdGEuYmFzZTY0KSB7CiAgICAgIHBvc3RNZXNzYWdlKCdObyBldmVudCBkYXRhIHJlY2VpdmVkJywpOwogICAgICByZXR1cm4KICAgIH0KICAgIGNvbnN0IHsgdHJhY2tpbmdJZCwgYmFzZTY0LCB9ID0gZXZlbnQuZGF0YTsKICAgIHBvc3RNZXNzYWdlKCdCZWdpbm5pbmcgY29udGVudCBoYXNoIGNhbGN1bGF0aW9uJywpOwogICAgY29uc3QgY29udGVudEhhc2ggPSBhd2FpdCBoYXNoTGFyZ2VTdHJpbmcoYmFzZTY0LCk7CiAgICBwb3N0TWVzc2FnZSgnQ29udGVudCBoYXNoIGNhbGN1bGF0aW9uIGNvbXBsZXRlJywpOwogICAgcG9zdE1lc3NhZ2UoewogICAgICB0cmFja2luZ0lkLAogICAgICBjb250ZW50SGFzaCwKICAgIH0sKTsKICB9OwoKfSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29udGVudC1oYXNoLmpzLm1hcAoK');
|
|
2705
|
-
/* eslint-enable */
|
|
2706
|
-
|
|
2707
|
-
const worker = new WorkerFactory();
|
|
2708
|
-
console.log('[tryContentHash] worker', worker);
|
|
2709
2647
|
let isInitialized = false;
|
|
2710
2648
|
const resizeTest = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
2711
2649
|
const tools = yield spawn(new Worker$1('./workers/image-resize.js', { _baseUrl: import.meta.url, type: 'module' }), {
|
|
@@ -2720,13 +2658,9 @@ const resizeTest = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
2720
2658
|
console.log('result', result);
|
|
2721
2659
|
});
|
|
2722
2660
|
const tryContentHash = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
worker.postMessage({
|
|
2727
|
-
trackingId: '123',
|
|
2728
|
-
base64: 'Hello, world!',
|
|
2729
|
-
});
|
|
2661
|
+
console.log('[tryContentHash] content hash worker');
|
|
2662
|
+
console.log(import.meta.url);
|
|
2663
|
+
console.log(path.resolve(import.meta.url, '../../workers/content-hash'));
|
|
2730
2664
|
});
|
|
2731
2665
|
const fsInitHandler = (_) => __awaiter(void 0, void 0, void 0, function* () {
|
|
2732
2666
|
if (isInitialized) {
|
|
@@ -5362,7 +5296,7 @@ const hydrateFromDb = fromCallback(({ sendBack, input: { context } }) => {
|
|
|
5362
5296
|
if (propertyRecordSchema &&
|
|
5363
5297
|
propertyRecordSchema.storageType &&
|
|
5364
5298
|
propertyRecordSchema.storageType === 'ItemStorage') {
|
|
5365
|
-
const { Item } = yield import('./index-
|
|
5299
|
+
const { Item } = yield import('./index-DV2gvrCh.js');
|
|
5366
5300
|
const item = yield Item.find({
|
|
5367
5301
|
seedLocalId,
|
|
5368
5302
|
modelName,
|
|
@@ -8001,7 +7935,7 @@ const client = {
|
|
|
8001
7935
|
arweaveDomain,
|
|
8002
7936
|
filesDir,
|
|
8003
7937
|
});
|
|
8004
|
-
const { models: internalModels } = yield import('./seed.schema.config-
|
|
7938
|
+
const { models: internalModels } = yield import('./seed.schema.config-Ct1bu0Yc.js');
|
|
8005
7939
|
for (const [key, value] of Object.entries(internalModels)) {
|
|
8006
7940
|
setModel(key, value);
|
|
8007
7941
|
}
|
|
@@ -8049,4 +7983,4 @@ const client = {
|
|
|
8049
7983
|
enableMapSet();
|
|
8050
7984
|
|
|
8051
7985
|
export { BaseItem as B, Db as D, Item as I, Json as J, List as L, Model as M, Property as P, Relation as R, Text as T, BaseItemProperty as a, BaseDb as b, ImageSrc as c, Item$2 as d, ItemProperty$2 as e, useItem as f, useItemProperties as g, useCreateItem as h, useItemProperty as i, useDeleteItem as j, useGlobalServiceStatus as k, usePublishItem as l, usePersistedSnapshots as m, useServices as n, useService as o, getCorrectId as p, getGlobalService as q, eventEmitter as r, withSeed as s, client as t, useItems as u, waitForFile as w };
|
|
8052
|
-
//# sourceMappingURL=index-
|
|
7986
|
+
//# sourceMappingURL=index-sqKT92c8.js.map
|