Quick SQLite uses JSI bindings, removes all the overhead of intercommunication between JavaScript code and C++ code, making CRUDing entities from SQLite super fast!
JSI bindings are not available when connected to the web browser debugger, from now on you should use Flipper.
Your app will now include C++ files, this means you will need to install the NDK on your machine for android.
TODO: Everything is saved on the application's home folder. I got lazy and ignore any passed path parameter, if you need this feel free to open a PR.
TODO: When parsing the SQLite rows the strings are parsed as ASCII strings instead of UTF-8, I'm not a C++ expert, I don't know if this is done correctly, can C++ guru check my work? :D
TODO: The API is NOT 100% the same as sqlite-storage, sqlite-storage returns an item function on the query result, it takes an index number and returns an object, I simply return an array, because creating deeply nested structures from C++ is somewhat cumbersome.
Use TypeORM
The recommended way to use this package is to use TypeORM with patch-package. TypeORM already has a sqlite-storage driver. In the example project on the patch folder you can a find a patch for TypeORM, it basically just replaces all the react-native-sqlite-storage strings in TypeORM with react-native-quick-sqlite, and does a tiny change for the way it accesses the resulting rows from the SQL execution.
Follow the instructions to make TypeORM work with rn (enable decorators, configure babel, etc), then apply the patch via patch-package and you should be good to go.
If you are particularly masochistic you can hand write SQL and query the database directly yourself.
Low level API
interfaceISQLite {
open: (dbName: string) =>any;
close: (dbName: string) =>any;
executeSql: (
dbName: string,
query: string,
params: any[] | undefined) => {
rows: any[];
insertId?: number;
};
}
// It is globally available in a variable called `sqlite`
sqlite.open({...options})
sqlite is a globally registered object, so you can directly call it from anywhere in your javascript. The methods throw when an execution error happens, so try ... catch them.
The npm package react-native-quick-sqlite receives a total of 9,190 weekly downloads. As such, react-native-quick-sqlite popularity was classified as popular.
We found that react-native-quick-sqlite demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 3 open source maintainers collaborating on the project.
Package last updated on 02 Aug 2021
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.