@ienlab/react-library 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`firebase/firestore`);function t(e){return{...e.data(),id:e.id}}async function n(t,n,r,i,a){let o=a.filter(e=>!!(e&&!i.has(e.path)));for(let a=0;a<o.length;a+=30){let s=o.slice(a,a+30);(await(0,e.getDocs)((0,e.query)((0,e.collection)(t,n),(0,e.where)((0,e.documentId)(),`in`,s.map(e=>e.id))))).forEach(e=>{let t=r(e);i.set(e.ref.path,t)})}}async function r(t,n,r){let i=r.filter(e=>!!(e&&!n.has(e.path)));await Promise.all(i.map(async r=>{let i=t(await(0,e.getDoc)(r));n.set(r.path,i)}))}Array.prototype.mapNotNull=function(e){return this.flatMap((t,n)=>{let r=e(t,n);return r==null?[]:[r]})};var i=()=>({updateAt:(0,e.serverTimestamp)(),delete:!0}),a=()=>({updateAt:(0,e.serverTimestamp)(),delete:!1});exports.deleteItem=i,exports.fetchItems=n,exports.fetchItemsByOne=r,exports.snapshotToData=t,exports.undeleteItem=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`firebase/firestore`);function t(e){return{...e.data(),id:e.id}}async function n(t,n,r,i,a){let o=a.filter(e=>!!(e&&!i.has(e.path)));for(let a=0;a<o.length;a+=30){let s=o.slice(a,a+30);(await(0,e.getDocs)((0,e.query)((0,e.collection)(t,n),(0,e.where)((0,e.documentId)(),`in`,s.map(e=>e.id))))).forEach(e=>{let t=r(e);i.set(e.ref.path,t)})}}async function r(t,n,r){let i=r.filter(e=>!!(e&&!n.has(e.path)));await Promise.all(i.map(async r=>{let i=t(await(0,e.getDoc)(r));n.set(r.path,i)}))}function i(t,n,r={}){let{cache:i=!0,onError:a}=r;return(0,e.onSnapshot)(t,{includeMetadataChanges:!i},e=>{(i||!e.metadata.fromCache)&&n(e)},a)}Array.prototype.mapNotNull=function(e){return this.flatMap((t,n)=>{let r=e(t,n);return r==null?[]:[r]})};var a=()=>({updateAt:(0,e.serverTimestamp)(),delete:!0}),o=()=>({updateAt:(0,e.serverTimestamp)(),delete:!1});exports.deleteItem=a,exports.fetchItems=n,exports.fetchItemsByOne=r,exports.getSnapshots=i,exports.snapshotToData=t,exports.undeleteItem=o;
@@ -1,28 +1,34 @@
1
- import { collection as e, documentId as t, getDoc as n, getDocs as r, query as i, serverTimestamp as a, where as o } from "firebase/firestore";
1
+ import { collection as e, documentId as t, getDoc as n, getDocs as r, onSnapshot as i, query as a, serverTimestamp as o, where as s } from "firebase/firestore";
2
2
  //#region src/utils/firestore.ts
3
- function s(e) {
3
+ function c(e) {
4
4
  return {
5
5
  ...e.data(),
6
6
  id: e.id
7
7
  };
8
8
  }
9
- async function c(n, a, s, c, l) {
9
+ async function l(n, i, o, c, l) {
10
10
  let u = l.filter((e) => !!(e && !c.has(e.path)));
11
11
  for (let l = 0; l < u.length; l += 30) {
12
12
  let d = u.slice(l, l + 30);
13
- (await r(i(e(n, a), o(t(), "in", d.map((e) => e.id))))).forEach((e) => {
14
- let t = s(e);
13
+ (await r(a(e(n, i), s(t(), "in", d.map((e) => e.id))))).forEach((e) => {
14
+ let t = o(e);
15
15
  c.set(e.ref.path, t);
16
16
  });
17
17
  }
18
18
  }
19
- async function l(e, t, r) {
19
+ async function u(e, t, r) {
20
20
  let i = r.filter((e) => !!(e && !t.has(e.path)));
21
21
  await Promise.all(i.map(async (r) => {
22
22
  let i = e(await n(r));
23
23
  t.set(r.path, i);
24
24
  }));
25
25
  }
26
+ function d(e, t, n = {}) {
27
+ let { cache: r = !0, onError: a } = n;
28
+ return i(e, { includeMetadataChanges: !r }, (e) => {
29
+ (r || !e.metadata.fromCache) && t(e);
30
+ }, a);
31
+ }
26
32
  //#endregion
27
33
  //#region src/utils/array.ts
28
34
  Array.prototype.mapNotNull = function(e) {
@@ -33,12 +39,12 @@ Array.prototype.mapNotNull = function(e) {
33
39
  };
34
40
  //#endregion
35
41
  //#region src/constant/firestore.ts
36
- var u = () => ({
37
- updateAt: a(),
42
+ var f = () => ({
43
+ updateAt: o(),
38
44
  delete: !0
39
- }), d = () => ({
40
- updateAt: a(),
45
+ }), p = () => ({
46
+ updateAt: o(),
41
47
  delete: !1
42
48
  });
43
49
  //#endregion
44
- export { u as deleteItem, c as fetchItems, l as fetchItemsByOne, s as snapshotToData, d as undeleteItem };
50
+ export { f as deleteItem, l as fetchItems, u as fetchItemsByOne, d as getSnapshots, c as snapshotToData, p as undeleteItem };
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.d.ts","sourceRoot":"","sources":["../../src/types/firestore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACxB,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC5C,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB"}
1
+ {"version":3,"file":"firestore.d.ts","sourceRoot":"","sources":["../../src/types/firestore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzB,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7C,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -1,6 +1,10 @@
1
- import { DocumentData, DocumentReference, DocumentSnapshot, QueryDocumentSnapshot, Firestore } from 'firebase/firestore';
1
+ import { DocumentData, DocumentReference, DocumentSnapshot, QueryDocumentSnapshot, Firestore, Unsubscribe, FirestoreError } from 'firebase/firestore';
2
2
  import { FirestoreItem } from '../types';
3
3
  export declare function snapshotToData(snapshot: QueryDocumentSnapshot | DocumentSnapshot): DocumentData;
4
4
  export declare function fetchItems<T extends FirestoreItem>(firestore: Firestore, colName: string, changeMethod: ((snapshot: QueryDocumentSnapshot | DocumentSnapshot) => T), cache: Map<string, T>, referenceArray: (DocumentReference | undefined | null)[]): Promise<void>;
5
5
  export declare function fetchItemsByOne<T extends FirestoreItem>(changeMethod: ((snapshot: QueryDocumentSnapshot | DocumentSnapshot) => T), cache: Map<string, T>, referenceArray: (DocumentReference | undefined | null)[]): Promise<void>;
6
+ export declare function getSnapshots(ref: DocumentReference, callback: (snapshot: DocumentSnapshot) => void, options?: {
7
+ cache?: boolean;
8
+ onError?: (error: FirestoreError) => void;
9
+ }): Unsubscribe;
6
10
  //# sourceMappingURL=firestore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.d.ts","sourceRoot":"","sources":["../../src/utils/firestore.ts"],"names":[],"mappings":"AAAA,OAAO,EACE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,SAAS,EAAC,MAAM,oBAAoB,CAAC;AACjJ,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAE5C,wBAAgB,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,YAAY,CAK/F;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,aAAa,EACtD,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,gBAAgB,KAAK,CAAC,CAAC,EACzE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACrB,cAAc,EAAE,CAAC,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,iBAgBzD;AAED,wBAAsB,eAAe,CAAC,CAAC,SAAS,aAAa,EAC3D,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,gBAAgB,KAAK,CAAC,CAAC,EACzE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACrB,cAAc,EAAE,CAAC,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,iBAQzD"}
1
+ {"version":3,"file":"firestore.d.ts","sourceRoot":"","sources":["../../src/utils/firestore.ts"],"names":[],"mappings":"AAAA,OAAO,EACE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,SAAS,EACnH,KAAK,WAAW,EAEhB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAE5C,wBAAgB,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,YAAY,CAK/F;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,aAAa,EACtD,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,gBAAgB,KAAK,CAAC,CAAC,EACzE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACrB,cAAc,EAAE,CAAC,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,iBAgBzD;AAED,wBAAsB,eAAe,CAAC,CAAC,SAAS,aAAa,EAC3D,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,gBAAgB,KAAK,CAAC,CAAC,EACzE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACrB,cAAc,EAAE,CAAC,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,iBAQzD;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,EAC9C,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;CAAO,GAC3E,WAAW,CAYb"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ienlab/react-library",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "My React component library",
5
5
  "main": "./dist/my-library.cjs.js",
6
6
  "module": "./dist/my-library.es.js",