1.0.16 • Published 6 months ago
an-expo-sqlite-orm v1.0.16
start your unique experience with AN-EXPO-SQLITE-ORM
npm i an-expo-sqlite-orm
or yarn add an-expo-sqlite-orm
db/models/todo.ts
import { SQLiteModel, SQLiteModelSchema } from "an-expo-sqlite-orm";
export interface TodoFields {
title: string;
completed: boolean;
}
export interface TodoSchema {
fields: TodoFields,
children:{},
parents:{}
}
export class TodoModel extends SQLiteModel<TodoSchema> {
tableName = "todo"
getSchema(): SQLiteModelSchema<{ fields: TodoFields; children: {}; parents: {}; }> {
return {
fields:{
title: {type:'TEXT'},
completed: {type: 'BOOLEAN'},
},
children: {},
parents: {},
}
}
}
db/init.ts
import { initDatabase, resetDatabase, SQLiteModel } from "an-expo-sqlite-orm";
import { TodoModel } from "./models/todo";
export const models: SQLiteModel<any>[] = [
new TodoModel()
];
export default (() => {
return initDatabase(models);
return resetDatabase(models);
})();
import init.ts file in start file (app.tsx)
import './db/init'
How working
you can import TodoModel for example and:
const todo = new TodoModel()
// todo.objects.[method].run() run is Promise return value depends on [method]
create
todo.objects.create({
// todo object
}).run().then((newCreateItem)=>{
console.log('item created' , newCreateItem)
})
update
todo.objects.filter({id:[id:number]}).update({
// todo object
}).run().then((val:SQLite.SQLiteRunResult)=>{
console.log(val)
})
delete
todo.objects.filter({id:[id:number]}).delete().run().then((val:SQLite.SQLiteRunResult)=>{
console.log(val)
})
first or last
todo.objects.first().run().the(item=>{
console.log('first item', item)
}).catch(()=>{
// item is not found
})
search
// in todo getSchema fields add useInSearch:true in any field you want to search
todo.objects.search('hello').run().the(items=>{
console.log('items', items)
})
pagination
todo.objects.pagination(1,20).run().the(items=>{
console.log('items of page 1 if pageSize is 20', items)
})
InstanceWithOps
this type is so important if you use any method return that you can update or delete the single instance or get parent or children too
1.0.16
6 months ago
1.0.15
10 months ago
1.0.14
10 months ago
1.0.13
10 months ago
1.0.12
10 months ago
1.0.11
10 months ago
1.0.10
10 months ago
1.0.9
10 months ago
1.0.8
10 months ago
1.0.7
10 months ago
1.0.6
10 months ago
1.0.5
10 months ago
1.0.4
10 months ago
1.0.3
10 months ago
1.0.2
10 months ago
1.0.1
10 months ago
1.0.0
10 months ago