Skip to content

Commit

Permalink
🔥feat: v1.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
r-rajaneesh committed Dec 18, 2022
1 parent c26d868 commit af03637
Show file tree
Hide file tree
Showing 18 changed files with 121 additions and 121 deletions.
4 changes: 4 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@
## 1.0.2

- Fixed bug in @quipodb/sqlite where `updateDoc` command does not update the data

## 1.0.3

- Fixed a bug where the providers take the last `createCollection` function's collectionName, causing data to be stored in the wrong collection
12 changes: 6 additions & 6 deletions packages/core/dist/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ interface constructorOptions {
}
interface providers {
createCollectionProvider(collectionName: String, cb?: Function): Promise<any> | any;
createDocProvider(data: document, cb?: Function): Promise<any> | any;
createDocProvider(collectionName: String, data: document, cb?: Function): Promise<any> | any;
deleteCollectionProvider(collectionName: String, cb?: Function): Promise<any> | any;
deleteDocProvider(data: document | fn, cb?: Function): Promise<any> | any;
deleteDocProvider(collectionName: String, data: document | fn, cb?: Function): Promise<any> | any;
getCollectionProvider(collectionName: String, cb?: Function): Promise<any> | any;
getCollectionsProvider(cb?: Function): Promise<any> | any[];
getDocProvider(data: document | fn, cb?: Function): Promise<any> | any;
updateDocProvider(refData: document | fn, data: document, cb?: Function): Promise<any> | any;
getDocProvider(collectionName: String, data: document | fn, cb?: Function): Promise<any> | any;
updateDocProvider(collectionName: String, refData: document | fn, data: document, cb?: Function): Promise<any> | any;
}
type fn = (data: Object[] | Object) => any;
interface storage {
Expand Down Expand Up @@ -43,11 +43,11 @@ export declare class QuipoDB {
}
interface DocsOptions {
providers: providers[];
collectionName: String;
collectionName: string;
storage: storage;
cache: Boolean;
}
declare class Docs {
export declare class Docs {
private options;
private providers;
private collectionName;
Expand Down
15 changes: 7 additions & 8 deletions packages/core/dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ export class QuipoDB {
* @returns {Docs} The collection to interact with
*/
createCollection(collectionName, cb = () => { }) {
this.collectionName = collectionName;
try {
this.providers.forEach(async (provider) => {
await provider.createCollectionProvider(collectionName);
Expand All @@ -31,7 +30,7 @@ export class QuipoDB {
catch (error) {
error;
}
const docs = new this.Docs({ providers: this.providers, collectionName: this.collectionName, storage: this.storage, cache: this.options.cache });
let docs = new this.Docs({ providers: this.providers, collectionName: `${collectionName}`, storage: this.storage, cache: this.options.cache });
cb(docs);
return docs;
}
Expand All @@ -55,7 +54,7 @@ export class QuipoDB {
return;
}
}
class Docs {
export class Docs {
options;
providers;
collectionName;
Expand Down Expand Up @@ -88,14 +87,14 @@ class Docs {
if (Array.isArray(data)) {
data.forEach((doc) => {
this.providers.forEach(async (provider) => {
await provider.createDocProvider(doc);
await provider.createDocProvider(this.collectionName, doc);
});
if (this.options.cache)
this.storage[`${this.collectionName}`].push(doc);
});
}
this.providers.forEach(async (provider) => {
await provider.createDocProvider(data);
await provider.createDocProvider(this.collectionName, data);
});
if (this.options.cache)
this.storage[`${this.collectionName}`].push(data);
Expand Down Expand Up @@ -127,7 +126,7 @@ class Docs {
if (typeof data === "function")
data = data(await this.providers[0].getCollectionProvider(this.collectionName));
this.providers.forEach(async (provider) => {
await provider.deleteDocProvider(data);
await provider.deleteDocProvider(this.collectionName, data);
});
if (this.options.cache) {
this.storage[`${this.collectionName}`].splice(_.findIndex(this.storage[`${this.collectionName}`], data), 1);
Expand Down Expand Up @@ -160,7 +159,7 @@ class Docs {
if (typeof data === "function")
data = data(await this.providers[0].getCollectionProvider(this.collectionName)) ?? {};
try {
const Data = await this.providers[0].getDocProvider(data);
const Data = await this.providers[0].getDocProvider(this.collectionName, data);
result = this.options.cache ? _.find(this.storage[`${this.collectionName}`], data) ?? Data : Data;
}
catch (error) {
Expand Down Expand Up @@ -269,7 +268,7 @@ class Docs {
});
try {
this.providers.forEach(async (provider) => {
await provider.updateDocProvider(oldDoc, data);
await provider.updateDocProvider(this.collectionName, oldDoc, data);
});
if (this.options.cache)
this.storage[`${this.collectionName}`][_.findIndex(this.storage[`${this.collectionName}`], oldDoc)] = data;
Expand Down
28 changes: 13 additions & 15 deletions packages/core/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ interface constructorOptions {
}
interface providers {
createCollectionProvider(collectionName: String, cb?: Function): Promise<any> | any;
createDocProvider(data: document, cb?: Function): Promise<any> | any;
createDocProvider(collectionName: String, data: document, cb?: Function): Promise<any> | any;
deleteCollectionProvider(collectionName: String, cb?: Function): Promise<any> | any;
deleteDocProvider(data: document | fn, cb?: Function): Promise<any> | any;
deleteDocProvider(collectionName: String, data: document | fn, cb?: Function): Promise<any> | any;
getCollectionProvider(collectionName: String, cb?: Function): Promise<any> | any;
getCollectionsProvider(cb?: Function): Promise<any> | any[];
getDocProvider(data: document | fn, cb?: Function): Promise<any> | any;
updateDocProvider(refData: document | fn, data: document, cb?: Function): Promise<any> | any;
getDocProvider(collectionName: String, data: document | fn, cb?: Function): Promise<any> | any;
updateDocProvider(collectionName: String, refData: document | fn, data: document, cb?: Function): Promise<any> | any;
}
interface updateRawCB {
save: Function;
Expand Down Expand Up @@ -53,7 +53,6 @@ export class QuipoDB {
* @returns {Docs} The collection to interact with
*/
public createCollection(collectionName: String, cb: Function = () => {}): Docs {
this.collectionName = collectionName;
try {
this.providers.forEach(async (provider) => {
await provider.createCollectionProvider(collectionName);
Expand All @@ -62,8 +61,7 @@ export class QuipoDB {
} catch (error) {
error;
}
const docs = new this.Docs({ providers: this.providers, collectionName: this.collectionName, storage: this.storage, cache: this.options.cache });

let docs = new this.Docs({ providers: this.providers, collectionName: `${collectionName}`, storage: this.storage, cache: this.options.cache });
cb(docs);
return docs;
}
Expand All @@ -87,14 +85,14 @@ export class QuipoDB {
}
interface DocsOptions {
providers: providers[];
collectionName: String;
collectionName: string;
storage: storage;
cache: Boolean;
}
class Docs {
export class Docs {
private options: any;
private providers: providers[];
private collectionName: String;
private collectionName: string;
private storage: storage;
constructor(options: DocsOptions) {
this.options = options;
Expand Down Expand Up @@ -124,13 +122,13 @@ class Docs {
if (Array.isArray(data)) {
data.forEach((doc) => {
this.providers.forEach(async (provider) => {
await provider.createDocProvider(doc);
await provider.createDocProvider(this.collectionName,doc);
});
if (this.options.cache) this.storage[`${this.collectionName}`].push(doc);
});
}
this.providers.forEach(async (provider) => {
await provider.createDocProvider(data);
await provider.createDocProvider(this.collectionName, data);
});
if (this.options.cache) this.storage[`${this.collectionName}`].push(data);
} catch (error) {
Expand Down Expand Up @@ -160,7 +158,7 @@ class Docs {
if (typeof data === "function") data = data(await this.providers[0].getCollectionProvider(this.collectionName));

this.providers.forEach(async (provider) => {
await provider.deleteDocProvider(data);
await provider.deleteDocProvider(this.collectionName, data);
});

if (this.options.cache) {
Expand Down Expand Up @@ -192,7 +190,7 @@ class Docs {
let result: object | undefined = undefined;
if (typeof data === "function") data = data(await this.providers[0].getCollectionProvider(this.collectionName)) ?? {};
try {
const Data = await this.providers[0].getDocProvider(data);
const Data = await this.providers[0].getDocProvider(this.collectionName, data);
result = this.options.cache ? _.find(this.storage[`${this.collectionName}`], data) ?? Data : Data;
} catch (error) {
error;
Expand Down Expand Up @@ -298,7 +296,7 @@ class Docs {
});
try {
this.providers.forEach(async (provider) => {
await provider.updateDocProvider(oldDoc, data);
await provider.updateDocProvider(this.collectionName, oldDoc, data);
});
if (this.options.cache) this.storage[`${this.collectionName}`][_.findIndex(this.storage[`${this.collectionName}`], oldDoc)] = data;
} catch (error) {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"name":"@quipodb/core","version":"1.0.2","type":"module","main":"./dist/index.js","typings":"./dist/index.d.ts","scope":"@quipodb","private":false,"scripts":{"build":"tsc index.ts -t esnext -m esnext -d --allowSyntheticDefaultImports --moduleResolution node --outDir ./dist","publish-beta-public":"npm publish --tag beta --registry=https://registry.npmjs.com","publish-beta-private":"npm publish --tag beta","publish-public":"npm publish --access public --registry=https://registry.npmjs.com ","publish-private":"npm publish"},"author":{"name":"Rajaneesh R","email":"rajaneeshr@proton.me","url":"https://r-rajaneesh.vercel.app"},"keywords":["quipodb","db","database","sqlite","ttl","key","value","store"],"dependencies":{"lodash":"^4.17.21","merge-anything":"^5.0.4"},"devDependencies":{"@types/lodash":"^4.14.182","@types/node":"^18.6.1","typescript":"^4.8.3"}}
{"name":"@quipodb/core","version":"1.0.3","type":"module","main":"./dist/index.js","typings":"./dist/index.d.ts","scope":"@quipodb","private":false,"scripts":{"build":"tsc index.ts -t esnext -m esnext -d --allowSyntheticDefaultImports --moduleResolution node --outDir ./dist","publish-beta-public":"npm publish --tag beta --registry=https://registry.npmjs.com","publish-beta-private":"npm publish --tag beta","publish-public":"npm publish --access public --registry=https://registry.npmjs.com ","publish-private":"npm publish"},"author":{"name":"Rajaneesh R","email":"rajaneeshr@proton.me","url":"https://r-rajaneesh.vercel.app"},"keywords":["quipodb","db","database","sqlite","ttl","key","value","store"],"dependencies":{"lodash":"^4.17.21","merge-anything":"^5.0.4"},"devDependencies":{"@types/lodash":"^4.14.182","@types/node":"^18.6.1","typescript":"^4.8.3"}}
8 changes: 4 additions & 4 deletions packages/firestore/dist/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ export declare class FireStore {
private collectionName;
constructor(options: adminFirebase.AppOptions);
createCollectionProvider(collectionName: string, cb?: Function): Promise<adminFirebase.firestore.CollectionReference<adminFirebase.firestore.DocumentData>>;
createDocProvider(data: document, cb?: Function): Promise<void>;
createDocProvider(collectionName: String, data: document, cb?: Function): Promise<void>;
deleteCollectionProvider(collectionName: string, cb?: Function): Promise<void>;
deleteDocProvider(data: document, cb?: Function): Promise<void>;
deleteDocProvider(collectionName: String, data: document, cb?: Function): Promise<void>;
getCollectionProvider(collectionName: string, cb?: Function): Promise<{
_id: string;
}[]>;
getCollectionsProvider(cb?: Function): Promise<any>;
getDocProvider(data: document, cb?: Function): Promise<any>;
updateDocProvider(refData: document, data: document, cb?: Function): Promise<void>;
getDocProvider(collectionName: String, data: document, cb?: Function): Promise<any>;
updateDocProvider(collectionName: String, refData: document, data: document, cb?: Function): Promise<void>;
}
export declare const certificate: typeof import("firebase-admin/app").cert;
export {};
10 changes: 5 additions & 5 deletions packages/firestore/dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export class FireStore {
cb(this.collection);
return this.collection;
}
async createDocProvider(data, cb = () => { }) {
async createDocProvider(collectionName, data, cb = () => { }) {
this.collection.add(data);
cb();
return;
Expand All @@ -31,7 +31,7 @@ export class FireStore {
cb();
return;
}
async deleteDocProvider(data, cb = () => { }) {
async deleteDocProvider(collectionName, data, cb = () => { }) {
try {
const snapshot = (await this.collection.get()).docs.map((doc) => ({ ...doc.data(), _id: doc.id }));
const res = _.find(snapshot, data);
Expand All @@ -55,7 +55,7 @@ export class FireStore {
cb(AllData);
return AllData;
}
async getDocProvider(data, cb = () => { }) {
async getDocProvider(collectionName, data, cb = () => { }) {
let result;
try {
const snapshot = (await this.collection.get()).docs.map((doc) => ({ ...doc.data(), _id: doc.id }));
Expand All @@ -67,8 +67,8 @@ export class FireStore {
cb(result);
return result;
}
async updateDocProvider(refData, data, cb = () => { }) {
if (!(await this.getDocProvider(refData))) {
async updateDocProvider(collectionName, refData, data, cb = () => { }) {
if (!(await this.getDocProvider(collectionName, refData))) {
cb();
return;
}
Expand Down
12 changes: 6 additions & 6 deletions packages/firestore/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export class FireStore {
cb(this.collection);
return this.collection;
}
public async createDocProvider(data: document, cb: Function = () => {}) {
public async createDocProvider(collectionName: String, data: document, cb: Function = () => {}) {
this.collection.add(data);
cb();
return;
Expand All @@ -37,7 +37,7 @@ export class FireStore {
cb();
return;
}
public async deleteDocProvider(data: document, cb: Function = () => {}) {
public async deleteDocProvider(collectionName: String, data: document, cb: Function = () => {}) {
try {
const snapshot = (await this.collection.get()).docs.map((doc) => ({ ...doc.data(), _id: doc.id }));
const res = _.find<any>(snapshot, data);
Expand All @@ -55,12 +55,12 @@ export class FireStore {
return data;
}
public async getCollectionsProvider(cb: Function = () => {}) {
const AllData:any = [];
const AllData: any = [];
await this.firestore.listCollections().then((val) => val.forEach((v) => AllData.push(v.id)));
cb(AllData);
return AllData;
}
public async getDocProvider(data: document, cb: Function = () => {}) {
public async getDocProvider(collectionName: String, data: document, cb: Function = () => {}) {
let result: any;
try {
const snapshot = (await this.collection.get()).docs.map((doc) => ({ ...doc.data(), _id: doc.id }));
Expand All @@ -71,8 +71,8 @@ export class FireStore {
cb(result);
return result;
}
public async updateDocProvider(refData: document, data: document, cb: Function = () => {}) {
if (!(await this.getDocProvider(refData))) {
public async updateDocProvider(collectionName: String, refData: document, data: document, cb: Function = () => {}) {
if (!(await this.getDocProvider(collectionName, refData))) {
cb();
return;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/firestore/package.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"name":"@quipodb/firestore","version":"1.0.2","description":"Firestore provider for this package","type":"module","main":"./dist/index.js","typings":"./dist/index.d.ts","scripts":{"build":"tsc index.ts -t esnext -m esnext -d --allowSyntheticDefaultImports --moduleResolution node --outDir ./dist","publish-beta-public":"npm publish --tag beta --registry=https://registry.npmjs.com","publish-beta-private":"npm publish --tag beta","publish-public":"npm publish --registry=https://registry.npmjs.com --access public","publish-private":"npm publish"},"keywords":["firestore","quipodb","db","database","provider"],"author":{"name":"Rajaneesh R","email":"rajaneeshr@proton.me","url":"https://r-rajaneesh.vercel.app"},"license":"ISC","dependencies":{"firebase-admin":"^11.0.1"},"devDependencies":{"@types/lodash":"^4.14.182","@types/node":"^18.6.1","typescript":"^4.8.3"}}
{"name":"@quipodb/firestore","version":"1.0.3","description":"Firestore provider for this package","type":"module","main":"./dist/index.js","typings":"./dist/index.d.ts","scripts":{"build":"tsc index.ts -t esnext -m esnext -d --allowSyntheticDefaultImports --moduleResolution node --outDir ./dist","publish-beta-public":"npm publish --tag beta --registry=https://registry.npmjs.com","publish-beta-private":"npm publish --tag beta","publish-public":"npm publish --registry=https://registry.npmjs.com --access public","publish-private":"npm publish"},"keywords":["firestore","quipodb","db","database","provider"],"author":{"name":"Rajaneesh R","email":"rajaneeshr@proton.me","url":"https://r-rajaneesh.vercel.app"},"license":"ISC","dependencies":{"firebase-admin":"^11.0.1"},"devDependencies":{"@types/lodash":"^4.14.182","@types/node":"^18.6.1","typescript":"^4.8.3"}}
9 changes: 4 additions & 5 deletions packages/json/dist/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,15 @@ interface JsonStoreOptions {
path: string;
}
export declare class JsonStore {
private collectionName;
private storage;
constructor(options: JsonStoreOptions);
createCollectionProvider(collectionName: string, cb?: Function): Promise<document[]>;
createDocProvider(data: document, cb?: Function): Promise<document>;
createDocProvider(collectionName: string, data: document, cb?: Function): Promise<document>;
deleteCollectionProvider(collectionName: string, cb?: Function): Promise<void>;
deleteDocProvider(data: document, cb?: Function): Promise<void>;
deleteDocProvider(collectionName: string, data: document, cb?: Function): Promise<void>;
getCollectionProvider(collectionName: string, cb?: Function): Promise<document[]>;
getCollectionsProvider(cb?: Function): Promise<storage>;
getDocProvider(data: document, cb?: Function): Promise<document>;
updateDocProvider(refData: document, data: document, cb?: Function): Promise<any>;
getDocProvider(collectionName: string, data: document, cb?: Function): Promise<document>;
updateDocProvider(collectionName: string, refData: document, data: document, cb?: Function): Promise<any>;
}
export {};
Loading

0 comments on commit af03637

Please sign in to comment.