forked from jsnbuchanan/crowd-funder-for-time-pwa
docs: comprehensive documentation updates and modernization
- Update BUILDING.md with current build system information - Modernize various README files across the project - Update CHANGELOG.md with recent changes - Improve documentation consistency and formatting - Update platform-specific documentation (iOS, Electron, Docker) - Enhance test documentation and build guides
This commit is contained in:
@@ -111,6 +111,7 @@ export class AbsurdSqlDatabaseService implements PlatformService {
|
||||
```
|
||||
|
||||
Key features:
|
||||
|
||||
- Uses absurd-sql for SQLite in the browser
|
||||
- Implements operation queuing for thread safety
|
||||
- Handles initialization and connection management
|
||||
@@ -143,6 +144,7 @@ async function getAccount(did: string): Promise<Account | undefined> {
|
||||
When converting from Dexie.js to SQL-based implementation, follow these patterns:
|
||||
|
||||
1. **Database Access Pattern**
|
||||
|
||||
```typescript
|
||||
// Before (Dexie)
|
||||
const result = await db.table.where("field").equals(value).first();
|
||||
@@ -161,6 +163,7 @@ When converting from Dexie.js to SQL-based implementation, follow these patterns
|
||||
```
|
||||
|
||||
2. **Update Operations**
|
||||
|
||||
```typescript
|
||||
// Before (Dexie)
|
||||
await db.table.where("id").equals(id).modify(changes);
|
||||
@@ -184,6 +187,7 @@ When converting from Dexie.js to SQL-based implementation, follow these patterns
|
||||
```
|
||||
|
||||
3. **Insert Operations**
|
||||
|
||||
```typescript
|
||||
// Before (Dexie)
|
||||
await db.table.add(item);
|
||||
@@ -202,6 +206,7 @@ When converting from Dexie.js to SQL-based implementation, follow these patterns
|
||||
```
|
||||
|
||||
4. **Delete Operations**
|
||||
|
||||
```typescript
|
||||
// Before (Dexie)
|
||||
await db.table.where("id").equals(id).delete();
|
||||
@@ -216,6 +221,7 @@ When converting from Dexie.js to SQL-based implementation, follow these patterns
|
||||
```
|
||||
|
||||
5. **Result Processing**
|
||||
|
||||
```typescript
|
||||
// Before (Dexie)
|
||||
const items = await db.table.toArray();
|
||||
@@ -247,6 +253,7 @@ await databaseUtil.logConsoleAndDb(message, showInConsole);
|
||||
```
|
||||
|
||||
Key Considerations:
|
||||
|
||||
- Always use `databaseUtil.mapQueryResultToValues()` to process SQL query results
|
||||
- Use utility methods from `db/index.ts` when available instead of direct SQL
|
||||
- Keep Dexie fallbacks wrapped in migration period checks
|
||||
@@ -254,6 +261,7 @@ Key Considerations:
|
||||
- For updates/inserts/deletes, execute both SQL and Dexie operations during migration period
|
||||
|
||||
Example Migration:
|
||||
|
||||
```typescript
|
||||
// Before (Dexie)
|
||||
export async function updateSettings(settings: Settings): Promise<void> {
|
||||
@@ -274,6 +282,7 @@ export async function updateSettings(settings: Settings): Promise<void> {
|
||||
```
|
||||
|
||||
Remember to:
|
||||
|
||||
- Create database access code to use the platform service, putting it in front of the Dexie version
|
||||
- Instead of removing Dexie-specific code, keep it.
|
||||
|
||||
@@ -330,4 +339,4 @@ it's during migration then use that result instead of the SQL code's result.
|
||||
4. **Documentation**
|
||||
- Add API documentation
|
||||
- Create migration guides
|
||||
- Document security measures
|
||||
- Document security measures
|
||||
|
||||
Reference in New Issue
Block a user