namirasoft-core 1.5.6 → 1.5.8

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.
@@ -38,7 +38,7 @@ class CacheService {
38
38
  return cache.data;
39
39
  }
40
40
  let ans = yield this.getFromSource();
41
- yield this.set(ans, version);
41
+ yield this.set(ans);
42
42
  return ans;
43
43
  }))().finally(() => {
44
44
  delete CacheService.pending[this.name];
@@ -1 +1 @@
1
- {"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../src/CacheService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../src/CacheService.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA,MAAa,YAAY;IAWrB,YAAY,IAAY,EAAE,OAAiB,EAAE,gBAAwB,EAAE,UAAiC,EAAE,aAAsC;QAE5I,IAAI,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM;YAC7C,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,oJAAoJ,CAAC,CAAC;QACrM,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAE3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IACK,GAAG;;YAEL,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO;gBACjC,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAsB,CAAC;YAEhE,IAAI,OAAO,GAAG,CAAC,GAA4B,EAAE;gBAEzC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI,KAAK,EACT,CAAC;oBACG,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAA2B,CAAC;oBACxD,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO;wBACxB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE;4BACvC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;gCAClB,OAAO,KAAK,CAAC,IAAI,CAAC;gBAClC,CAAC;gBACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAOrC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC,CAAA,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAEd,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAsB,CAAC;YAExB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YAC1C,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IACK,GAAG,CAAC,IAAc,EAAE,OAAgB;;YAEtC,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC,OAAO;gBACR,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvE,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,SAAS,EAClB,CAAC;gBACG,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACxD,IAAI,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;gBACrB,UAAU,CAAC,GAAG,EAAE;;oBAEZ,MAAA,IAAI,CAAC,SAAS,oDAAI,CAAC;gBACvB,CAAC,EAAE,KAAK,CAAC,CAAC;YACd,CAAC;QACL,CAAC;KAAA;IACD,GAAG;QAEC,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;;AArFL,oCAsFC;AApFkB,oBAAO,GAAqC,EAAE,CAAC;AAC/C,2BAAc,GAA+B,EAAE,CAAC"}
@@ -12,7 +12,10 @@ class IStorageCookie extends IStorage_1.IStorage {
12
12
  getAll() {
13
13
  var _a, _b;
14
14
  let ans = {};
15
- let items = ((_a = this.cookies) !== null && _a !== void 0 ? _a : document.cookie).split(";");
15
+ let cookie = this.cookies;
16
+ if (!cookie)
17
+ cookie = (_a = document === null || document === void 0 ? void 0 : document.cookie) !== null && _a !== void 0 ? _a : "";
18
+ let items = cookie.split(";");
16
19
  for (let i = 0; i < items.length; i++) {
17
20
  const ops = items[i].split("=");
18
21
  ans[ops[0].trim()] = (_b = ops[1]) === null || _b === void 0 ? void 0 : _b.trim().replace(/\%3D/gm, "=");
@@ -1 +1 @@
1
- {"version":3,"file":"IStorageCookie.js","sourceRoot":"","sources":["../src/IStorageCookie.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AACxD,yCAAsC;AAEtC,MAAa,cAAe,SAAQ,mBAAQ;IAIxC,YAAY,KAAiC,EAAE,OAAgB;QAE3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACO,MAAM;;QAEV,IAAI,GAAG,GAA+B,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC,CAAC;YACG,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAA,GAAG,CAAC,CAAC,CAAC,0CAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACQ,GAAG,CAAC,IAAY,EAAE,YAAoB;;QAE3C,IACA,CAAC;YACG,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,MAAA,qCAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,mCAAI,YAAY,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EACd,CAAC;YACG,OAAO,YAAY,CAAC;QACxB,CAAC;IACL,CAAC;IACQ,GAAG,CAAC,IAAY,EAAE,KAAa;QAEpC,IACA,CAAC;YACG,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EACd,CAAC;QACD,CAAC;IACL,CAAC;IACQ,GAAG,CAAC,IAAY;QAErB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;CACJ;AAjDD,wCAiDC"}
1
+ {"version":3,"file":"IStorageCookie.js","sourceRoot":"","sources":["../src/IStorageCookie.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AACxD,yCAAsC;AAEtC,MAAa,cAAe,SAAQ,mBAAQ;IAIxC,YAAY,KAAiC,EAAE,OAAgB;QAE3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACO,MAAM;;QAEV,IAAI,GAAG,GAA+B,EAAE,CAAC;QACzC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,MAAM;YACP,MAAM,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,mCAAI,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC,CAAC;YACG,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAA,GAAG,CAAC,CAAC,CAAC,0CAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACQ,GAAG,CAAC,IAAY,EAAE,YAAoB;;QAE3C,IACA,CAAC;YACG,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,MAAA,qCAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,mCAAI,YAAY,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EACd,CAAC;YACG,OAAO,YAAY,CAAC;QACxB,CAAC;IACL,CAAC;IACQ,GAAG,CAAC,IAAY,EAAE,KAAa;QAEpC,IACA,CAAC;YACG,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EACd,CAAC;QACD,CAAC;IACL,CAAC;IACQ,GAAG,CAAC,IAAY;QAErB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;CACJ;AApDD,wCAoDC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.5.6",
11
+ "version": "1.5.8",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -50,7 +50,13 @@ export class CacheService<DataType>
50
50
  return cache.data;
51
51
  }
52
52
  let ans = await this.getFromSource();
53
- await this.set(ans, version);
53
+ // The version is read again, on purpose: fetching can mint the version itself
54
+ // (a server that returns its data version as a cookie is the common case), so the
55
+ // value read before the fetch is already stale by the time the data arrives.
56
+ // Storing it would leave the entry permanently one version behind and every later
57
+ // get() would miss and refetch.
58
+ // await this.set(ans, version);
59
+ await this.set(ans);
54
60
  return ans;
55
61
  })().finally(() =>
56
62
  {
@@ -14,7 +14,10 @@ export class IStorageCookie extends IStorage
14
14
  private getAll(): { [name: string]: string }
15
15
  {
16
16
  let ans: { [name: string]: string } = {};
17
- let items = (this.cookies ?? document.cookie).split(";");
17
+ let cookie = this.cookies;
18
+ if (!cookie)
19
+ cookie = document?.cookie ?? "";
20
+ let items = cookie.split(";");
18
21
  for (let i = 0; i < items.length; i++)
19
22
  {
20
23
  const ops = items[i].split("=");