diff --git a/README.md b/README.md index 94ded475..25a64121 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ tns plugin add nativescript-sqlite-access@1.0.81 `@nativescript/core?` ```bash -tns plugin add nativescript-sqlite-access@1.1.0 +tns plugin add nativescript-sqlite-access@1.2.0 ``` The command above automatically installs the necessary files, as well as stores nativescript-sqlite-access as a dependency in your project's package.json file. diff --git a/demo/app/tests/insert.spec.ts b/demo/app/tests/insert.spec.ts index 8afb7b7a..e68f0c46 100644 --- a/demo/app/tests/insert.spec.ts +++ b/demo/app/tests/insert.spec.ts @@ -34,7 +34,7 @@ describe("#insert()", () => { describe("Transaction", () => { describe("Commit", () => { - it("shoould committed the insert", () => { + it("should committed the insert", () => { database.beginTransact(); const insertedId = database.insert(databaseTables.PERSONS, { name: "Power Ranger" @@ -44,7 +44,7 @@ describe("#insert()", () => { }); }); describe("Roollback", () => { - it("shoould rollback the inserts", async () => { + it("should rollback the inserts", async () => { database.beginTransact(); database.insert(databaseTables.PERSONS, { name: "Power Ranger 1" @@ -57,14 +57,56 @@ describe("#insert()", () => { }); database.rollback(); - const resutls = await database.select(`SELECT COUNT(*) account FROM ${databaseTables.PERSONS}`) + const results = await database.select(`SELECT name FROM ${databaseTables.PERSONS}`) .process() as Array>; expect( - resutls.filter( p => [ "Power Ranger 1", "Power Ranger 2", "Power Ranger 3" ].includes(p.name as string)) + results.filter( p => [ "Power Ranger 1", "Power Ranger 2", "Power Ranger 3" ].includes(p.name as string)) ).to.deep.equal([]); }); }); + describe("onTransaction", () => { + it("should commit the inserts", async () => { + database.onTransaction(() => { + database.insert(databaseTables.PERSONS, { + name: "Power Ranger commit1" + }); + database.insert(databaseTables.PERSONS, { + name: "Power Ranger commit2" + }); + database.insert(databaseTables.PERSONS, { + name: "Power Ranger commit3" + }); + }); + + const results = await database.select>>(`SELECT name FROM ${databaseTables.PERSONS}`) + .process(); + + expect( + results.map( p => p.name) + ).to.deep.equal([ "Power Ranger", "Power Ranger commit1", "Power Ranger commit2", "Power Ranger commit3" ]); + }); + it("should throw on rollback", async () => { + expect( + () => database.onTransaction(() => { + database.insert(databaseTables.PERSONS, { + name: "Power Ranger rollback1" + }); + database.insert(databaseTables.PERSONS, { + name: "Power Ranger rollback2" + }); + + database.insert(databaseTables.PERSONS, { + _id: "Power Ranger rollback3" + }); + + database.insert(databaseTables.PERSONS, { + name: "Power Ranger rollback3" + }); + }) + ).to.throws() + }); + }); }); after(() => { diff --git a/src/package.json b/src/package.json index 1ee48cda..3208b902 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "name": "nativescript-sqlite-access", - "version": "1.1.0", + "version": "1.2.0", "description": "NativeScript plugin to access and manage sqlite data on Android & iOS", "main": "sqlite-access", "typings": "index.d.ts", diff --git a/src/sqlite-access.android.d.ts b/src/sqlite-access.android.d.ts index 87b9aa7b..c9f62f31 100644 --- a/src/sqlite-access.android.d.ts +++ b/src/sqlite-access.android.d.ts @@ -33,6 +33,7 @@ declare class SqliteAccess implements IDatabase { rollback(): void; close(): void; isClose(): boolean; + onTransaction(callback: () => T): T; } export declare function DbBuilder(dbName: string, options?: DbCreationOptions): SqliteAccess; export * from "./sqlite-access.common"; diff --git a/src/sqlite-access.android.js b/src/sqlite-access.android.js index 97bfdf83..873c63d4 100644 --- a/src/sqlite-access.android.js +++ b/src/sqlite-access.android.js @@ -86,6 +86,18 @@ class SqliteAccess { isClose() { return this.db === null; } + onTransaction(callback) { + try { + this.beginTransact(); + const result = callback(); + this.commit(); + return result; + } + catch (error) { + this.rollback(); + throw error; + } + } } function __processCursor(cursor, returnType, transformerAgent) { let result = (transformerAgent && transformerAgent.initialValue) || []; diff --git a/src/sqlite-access.android.js.map b/src/sqlite-access.android.js.map index 11f812a2..9eba19ae 100644 --- a/src/sqlite-access.android.js.map +++ b/src/sqlite-access.android.js.map @@ -1 +1 @@ -{"version":3,"file":"sqlite-access.android.js","sourceRoot":"","sources":["sqlite-access.android.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"sqlite-access.android.js","sourceRoot":"","sources":["sqlite-access.android.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/sqlite-access.android.ts b/src/sqlite-access.android.ts index d0b80e68..4d926039 100644 --- a/src/sqlite-access.android.ts +++ b/src/sqlite-access.android.ts @@ -25,6 +25,7 @@ class SqliteAccess implements IDatabase { */ constructor(private db: android.database.sqlite.SQLiteDatabase, private returnType: ReturnType) { } + /** * Insert a row into table with the values (key = columns and values = columns value) * @@ -214,6 +215,19 @@ class SqliteAccess implements IDatabase { isClose(): boolean { return this.db === null; } + + onTransaction(callback: () => T): T { + try { + this.beginTransact(); + const result: T = callback(); + this.commit(); + + return result; + } catch (error) { + this.rollback(); + throw error; + } + } } /** private function diff --git a/src/sqlite-access.common.js.map b/src/sqlite-access.common.js.map index 847d4eac..044ab2ee 100644 --- a/src/sqlite-access.common.js.map +++ b/src/sqlite-access.common.js.map @@ -1 +1 @@ -{"version":3,"file":"sqlite-access.common.js","sourceRoot":"","sources":["sqlite-access.common.ts"],"names":[],"mappings":"AAwIA,MAAM,UAAU,cAAc,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,KAAK,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEpD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC;QACvE,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC;QACnE,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE;QACpF,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;AAC1F,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC5C,IAAI;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;KACnC;IAAC,WAAM,GAAG;IACX,OAAO,KAAK,CAAC;AACd,CAAC;AAYD,MAAM,UAAU,kBAAkB,CACjC,aAAqB,EACrB,OAA0B,EAC1B,QAAkC;IAElC,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,EAAE;QACpC,MAAM,IAAI,KAAK,CACd,yCAAyC,OAAO,CAAC,OAAO;cAC7C,aAAa,EAAE,CAC1B,CAAC;KACF;IAGD,MAAM,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACrF,IAAI,iBAAiB,IAAI,aAAa,GAAG,CAAC,EAAE;QAC3C,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KACpC;IAGD,MAAM,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAC1F,IAAI,kBAAkB,EAAE;QACvB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KACrC;AACF,CAAC;AAOD,MAAM,OAAO,cAAc;IAG1B,YAAY,UAAwB;QACnC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAC/B,CAAC;IAUD,OAAO,CAAI,WAAiD,EAAE,YAAgB;QAC7E,MAAM,gBAAgB,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,OAAO,CAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtE,CAAC;IAOD,WAAW,CAAI,WAA4B;QAC1C,MAAM,gBAAgB,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,OAAO,CAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxF,CAAC;CACD;AAYD,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACrB,2DAAgB,CAAA;IAChB,yDAAe,CAAA;IACf,iDAAW,CAAA;IACX,6CAAS,CAAA;IACT,+CAAU,CAAA;IACV,2CAAQ,CAAA;AACT,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AASD,MAAM,UAAU,WAAW,CAAC,SAAqB,EAAE,KAAa,EAAE,QAAyD;IAC1H,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,cAAc,CACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAC1B,CAAC;AACH,CAAC;AASD,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,MAAsB;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAE3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,OAAQ,KAAwB,CAAC,IAAI,EAAE,CAAC;SACxC;QAED,OAAO,cAAc,CAAC,KAAK,CAAW,CAAC;IACxC,CAAC,CAAC,CAAC;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"sqlite-access.common.js","sourceRoot":"","sources":["sqlite-access.common.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/sqlite-access.common.ts b/src/sqlite-access.common.ts index baa7f0ea..01373d0c 100644 --- a/src/sqlite-access.common.ts +++ b/src/sqlite-access.common.ts @@ -108,6 +108,10 @@ export interface IDatabase { * @returns {boolean} */ isClose(): boolean; + /** + * Run multiple query on transation + */ + onTransaction(callback: () => T): T; } /** diff --git a/src/sqlite-access.ios.d.ts b/src/sqlite-access.ios.d.ts index 2c182a5c..c4a92581 100644 --- a/src/sqlite-access.ios.d.ts +++ b/src/sqlite-access.ios.d.ts @@ -33,6 +33,7 @@ declare class SqliteAccess implements IDatabase { rollback(): void; close(): void; isClose(): boolean; + onTransaction(callback: () => T): T; } export declare function DbBuilder(dbName: string, options?: DbCreationOptions): SqliteAccess; export * from "./sqlite-access.common"; diff --git a/src/sqlite-access.ios.js b/src/sqlite-access.ios.js index a9abf2e8..3a6e1dbc 100644 --- a/src/sqlite-access.ios.js +++ b/src/sqlite-access.ios.js @@ -95,6 +95,18 @@ class SqliteAccess { isClose() { return this.db === null; } + onTransaction(callback) { + try { + this.beginTransact(); + const result = callback(); + this.commit(); + return result; + } + catch (error) { + this.rollback(); + throw error; + } + } } function __execQueryAndReturnStatement(sql, dbPointer) { let cursorRef = new interop.Reference(); diff --git a/src/sqlite-access.ios.js.map b/src/sqlite-access.ios.js.map index c8252169..b2ebad80 100644 --- a/src/sqlite-access.ios.js.map +++ b/src/sqlite-access.ios.js.map @@ -1 +1 @@ -{"version":3,"file":"sqlite-access.ios.js","sourceRoot":"","sources":["sqlite-access.ios.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"sqlite-access.ios.js","sourceRoot":"","sources":["sqlite-access.ios.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/sqlite-access.ios.ts b/src/sqlite-access.ios.ts index f2f0b2e0..42aefb68 100644 --- a/src/sqlite-access.ios.ts +++ b/src/sqlite-access.ios.ts @@ -216,6 +216,19 @@ class SqliteAccess implements IDatabase { isClose(): boolean { return this.db === null; } + + onTransaction(callback: () => T): T { + try { + this.beginTransact(); + const result: T = callback(); + this.commit(); + + return result; + } catch (error) { + this.rollback(); + throw error; + } + } } /** private function