@lomray/react-mobx-manager 4.0.0 → 4.0.1

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.
@@ -18,6 +18,15 @@ declare class ManagerStream {
18
18
  * @constructor
19
19
  */
20
20
  constructor(manager: Manager);
21
+ /**
22
+ * This utility is based on https://github.com/zertosh/htmlescape
23
+ * License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
24
+ */
25
+ /**
26
+ * This utility is based on https://github.com/zertosh/htmlescape
27
+ * License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
28
+ */
29
+ private htmlEscape;
21
30
  /**
22
31
  * Return script with suspense stores to push on stream
23
32
  */
package/manager-stream.js CHANGED
@@ -1,2 +1,2 @@
1
- class s{isPreamblePushed=!1;manager;constructor(s){this.manager=s}take(s){const e=this.manager.getSuspenseRelations().get(s);if(!e?.size)return;const t=JSON.stringify(this.manager.toJSON([...e])),i=this.isPreamblePushed?"":"<script>!window.mbxM && (window.mbxM = []);<\/script>";return this.isPreamblePushed||(this.isPreamblePushed=!0),`${i}<script>window.mbxM.push(${t});<\/script>`}}export{s as default};
1
+ const s={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},e=/[&><\u2028\u2029]/g;class t{isPreamblePushed=!1;manager;constructor(s){this.manager=s}htmlEscape(t){return t.replace(e,(e=>s[e]))}take(s){const e=this.manager.getSuspenseRelations().get(s);if(!e?.size)return;const t=this.htmlEscape(JSON.stringify(JSON.stringify(this.manager.toJSON([...e])))),i=this.isPreamblePushed?"":"<script>!window.mbxM && (window.mbxM = []);<\/script>";return this.isPreamblePushed||(this.isPreamblePushed=!0),`${i}<script>window.mbxM.push(JSON.parse(${t}));<\/script>`}}export{t as default};
2
2
  //# sourceMappingURL=manager-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager-stream.js","sources":["../src/manager-stream.ts"],"sourcesContent":["import type Manager from './manager';\n\n/**\n * Stream mobx manager stores\n */\nclass ManagerStream {\n /**\n * Already pushed preamble\n */\n protected isPreamblePushed = false;\n\n /**\n * Mobx store manager\n */\n protected manager: Manager;\n\n /**\n * @constructor\n */\n public constructor(manager: Manager) {\n this.manager = manager;\n }\n\n /**\n * Return script with suspense stores to push on stream\n */\n public take(suspenseId: string): string | void {\n const storesIds = this.manager.getSuspenseRelations().get(suspenseId);\n\n if (!storesIds?.size) {\n return;\n }\n\n const storesState = JSON.stringify(this.manager.toJSON([...storesIds]));\n const chunk = this.isPreamblePushed\n ? ''\n : '<script>!window.mbxM && (window.mbxM = []);</script>';\n\n if (!this.isPreamblePushed) {\n this.isPreamblePushed = true;\n }\n\n return `${chunk}<script>window.mbxM.push(${storesState});</script>`;\n }\n}\n\nexport default ManagerStream;\n"],"names":["ManagerStream","isPreamblePushed","manager","constructor","this","take","suspenseId","storesIds","getSuspenseRelations","get","size","storesState","JSON","stringify","toJSON","chunk"],"mappings":"AAKA,MAAMA,EAIMC,kBAAmB,EAKnBC,QAKVC,YAAmBD,GACjBE,KAAKF,QAAUA,CAChB,CAKMG,KAAKC,GACV,MAAMC,EAAYH,KAAKF,QAAQM,uBAAuBC,IAAIH,GAE1D,IAAKC,GAAWG,KACd,OAGF,MAAMC,EAAcC,KAAKC,UAAUT,KAAKF,QAAQY,OAAO,IAAIP,KACrDQ,EAAQX,KAAKH,iBACf,GACA,wDAMJ,OAJKG,KAAKH,mBACRG,KAAKH,kBAAmB,GAGnB,GAAGc,6BAAiCJ,eAC5C"}
1
+ {"version":3,"file":"manager-stream.js","sources":["../src/manager-stream.ts"],"sourcesContent":["import type Manager from './manager';\n\nconst ESCAPE_LOOKUP: { [match: string]: string } = {\n '&': '\\\\u0026',\n '>': '\\\\u003e',\n '<': '\\\\u003c',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029',\n};\nconst ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\n\n/**\n * Stream mobx manager stores\n */\nclass ManagerStream {\n /**\n * Already pushed preamble\n */\n protected isPreamblePushed = false;\n\n /**\n * Mobx store manager\n */\n protected manager: Manager;\n\n /**\n * @constructor\n */\n public constructor(manager: Manager) {\n this.manager = manager;\n }\n\n /**\n * This utility is based on https://github.com/zertosh/htmlescape\n * License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE\n */\n private htmlEscape(str: string): string {\n return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);\n }\n\n /**\n * Return script with suspense stores to push on stream\n */\n public take(suspenseId: string): string | void {\n const storesIds = this.manager.getSuspenseRelations().get(suspenseId);\n\n if (!storesIds?.size) {\n return;\n }\n\n const storesState = this.htmlEscape(\n JSON.stringify(JSON.stringify(this.manager.toJSON([...storesIds]))),\n );\n const chunk = this.isPreamblePushed\n ? ''\n : '<script>!window.mbxM && (window.mbxM = []);</script>';\n\n if (!this.isPreamblePushed) {\n this.isPreamblePushed = true;\n }\n\n return `${chunk}<script>window.mbxM.push(JSON.parse(${storesState}));</script>`;\n }\n}\n\nexport default ManagerStream;\n"],"names":["ESCAPE_LOOKUP","ESCAPE_REGEX","ManagerStream","isPreamblePushed","manager","constructor","this","htmlEscape","str","replace","match","take","suspenseId","storesIds","getSuspenseRelations","get","size","storesState","JSON","stringify","toJSON","chunk"],"mappings":"AAEA,MAAMA,EAA6C,CACjD,IAAK,UACL,IAAK,UACL,IAAK,UACL,SAAU,UACV,SAAU,WAENC,EAAe,qBAKrB,MAAMC,EAIMC,kBAAmB,EAKnBC,QAKVC,YAAmBD,GACjBE,KAAKF,QAAUA,CAChB,CAMOG,WAAWC,GACjB,OAAOA,EAAIC,QAAQR,GAAeS,GAAUV,EAAcU,IAC3D,CAKMC,KAAKC,GACV,MAAMC,EAAYP,KAAKF,QAAQU,uBAAuBC,IAAIH,GAE1D,IAAKC,GAAWG,KACd,OAGF,MAAMC,EAAcX,KAAKC,WACvBW,KAAKC,UAAUD,KAAKC,UAAUb,KAAKF,QAAQgB,OAAO,IAAIP,OAElDQ,EAAQf,KAAKH,iBACf,GACA,wDAMJ,OAJKG,KAAKH,mBACRG,KAAKH,kBAAmB,GAGnB,GAAGkB,wCAA4CJ,gBACvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lomray/react-mobx-manager",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "This package provides Mobx stores manager for react.",
5
5
  "type": "module",
6
6
  "main": "index.js",