@lomray/react-mobx-manager 4.0.0 → 4.0.1-beta.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.
- package/manager-stream.d.ts +9 -0
- package/manager-stream.js +1 -1
- package/manager-stream.js.map +1 -1
- package/package.json +1 -1
package/manager-stream.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
package/manager-stream.js.map
CHANGED
|
@@ -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":"
|
|
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"}
|