manner.js 0.0.42 → 0.0.44

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/client/index.js CHANGED
@@ -1 +1,32 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"clearCookie",{enumerable:!0,get:function(){return _setCookie.default}}),Object.defineProperty(exports,"filterNamespace",{enumerable:!0,get:function(){return _filterNamespace.default}}),Object.defineProperty(exports,"readCookie",{enumerable:!0,get:function(){return _setCookie.default}}),Object.defineProperty(exports,"setCookie",{enumerable:!0,get:function(){return _setCookie.default}});var _filterNamespace=_interopRequireDefault(require("./lib/filterNamespace")),_setCookie=_interopRequireDefault(require("./lib/setCookie"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "clearCookie", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _setCookie.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "filterNamespace", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _filterNamespace.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "readCookie", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _setCookie.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "setCookie", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _setCookie.default;
28
+ }
29
+ });
30
+ var _filterNamespace = _interopRequireDefault(require("./lib/filterNamespace"));
31
+ var _setCookie = _interopRequireDefault(require("./lib/setCookie"));
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1 +1,20 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=clearCookie;function clearCookie(a){return Object.keys(a).forEach(b=>{void 0!==b.expires&&(Object.keys(b).forEach(a=>{"user"===b&&(document.cookie[b+"_"+a]=""),window.localStorage.removeItem(b+"_"+a)}),delete a[b])}),a}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = clearCookie;
7
+ function clearCookie(namespaces) {
8
+ Object.keys(namespaces).forEach(n => {
9
+ if (n.expires !== undefined) {
10
+ Object.keys(n).forEach(k => {
11
+ if (n === 'user') {
12
+ document.cookie[n + '_' + k] = '';
13
+ }
14
+ window.localStorage.removeItem(n + '_' + k);
15
+ });
16
+ delete namespaces[n];
17
+ }
18
+ });
19
+ return namespaces;
20
+ }
@@ -1 +1,15 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=filterNamespace;function filterNamespace(a){const b={};return Object.keys(a).forEach(c=>{"expires"!==c&&(b[c]=a[c])}),b}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = filterNamespace;
7
+ function filterNamespace(namespace) {
8
+ const ans = {};
9
+ Object.keys(namespace).forEach(k => {
10
+ if (k !== 'expires') {
11
+ ans[k] = namespace[k];
12
+ }
13
+ });
14
+ return ans;
15
+ }
@@ -1 +1,38 @@
1
- "use strict";var _clearCookie=_interopRequireDefault(require("./clearCookie"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=readCookie;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function readCookie(){const a={};document.cookie.split(";").forEach(b=>{const[c,d]=b.split("=");a[c.trim()]=d});const b={};Object.keys(a).forEach(c=>{const d=c.split("_");if(2===d.length){const[e,f]=d;b[e]===void 0&&(b[e]={}),b[e][f]=a[c]}});for(let a=0;a<window.localStorage.length;a+=1){const c=window.localStorage.key(a),d=c.split("_");if(2===d.length){const[a,e]=d;b[a]===void 0&&(b[a]={}),b[a][e]=window.localStorage.getItem(c)}}return(0,_clearCookie.default)(b)}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = readCookie;
7
+ var _clearCookie = _interopRequireDefault(require("./clearCookie"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function readCookie() {
10
+ const cookies = {};
11
+ document.cookie.split(';').forEach(i => {
12
+ const [key, value] = i.split('=');
13
+ cookies[key.trim()] = value;
14
+ });
15
+ const namespaces = {};
16
+ Object.keys(cookies).forEach(k => {
17
+ const result = k.split('_');
18
+ if (result.length === 2) {
19
+ const [namespace, key] = result;
20
+ if (namespaces[namespace] === undefined) {
21
+ namespaces[namespace] = {};
22
+ }
23
+ namespaces[namespace][key] = cookies[k];
24
+ }
25
+ });
26
+ for (let i = 0; i < window.localStorage.length; i += 1) {
27
+ const k = window.localStorage.key(i);
28
+ const result = k.split('_');
29
+ if (result.length === 2) {
30
+ const [namespace, key] = result;
31
+ if (namespaces[namespace] === undefined) {
32
+ namespaces[namespace] = {};
33
+ }
34
+ namespaces[namespace][key] = window.localStorage.getItem(k);
35
+ }
36
+ }
37
+ return (0, _clearCookie.default)(namespaces);
38
+ }
@@ -1 +1,25 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=setCookie;function setCookie(a){const b=a.headers.get("cookie");null!==b&&(""===b?document.cookie.split(";").forEach(a=>{const[b,c]=a.split("="),[d]=b.split("_");"user"===d&&(document.cookie=b+"="+c),window.localStorage.set(b,c)}):b.split(";").forEach(a=>{document.cookie=a}))}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setCookie;
7
+ function setCookie(response) {
8
+ const cookie = response.headers.get('cookie');
9
+ if (cookie !== null) {
10
+ if (cookie === '') {
11
+ document.cookie.split(';').forEach(c => {
12
+ const [k, v] = c.split('=');
13
+ const [namespace] = k.split('_');
14
+ if (namespace === 'user') {
15
+ document.cookie = k + '=' + v;
16
+ }
17
+ window.localStorage.set(k, v);
18
+ });
19
+ } else {
20
+ cookie.split(';').forEach(c => {
21
+ document.cookie = c;
22
+ });
23
+ }
24
+ }
25
+ }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "manner.js",
3
- "version": "0.0.42",
3
+ "version": "0.0.44",
4
4
  "description": "Frontend mode project.",
5
5
  "repository": "git@github.com:leobrad/mode.git",
6
6
  "author": "Leo Ely",
7
7
  "license": "MIT",
8
8
  "scripts": {
9
- "build": "gulp build && node dist/scripts/index.js",
9
+ "build": "gulp build && node dist/script/index.js",
10
10
  "test": "jest"
11
11
  },
12
12
  "devDependencies": {
@@ -1 +1,143 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _path=_interopRequireDefault(require("path")),_fs=_interopRequireDefault(require("fs")),_zlib=_interopRequireDefault(require("zlib")),_getHtml=_interopRequireDefault(require("../lib/getHtml")),_parseDateString=_interopRequireDefault(require("../lib/parseDateString")),_formateHttpDate=_interopRequireDefault(require("../lib/formateHttpDate")),_formateHttpKey=_interopRequireDefault(require("../lib/formateHttpKey"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function getLists(a){return a.join("|")}class CommonHttp{constructor(a){const{fonts:b}=a;a.fonts===void 0&&(a.fonts=[]),this.time=new Date().getTime(),this.modify={},this.file={},this.raw={},this.compress={},this.options=a,this.regexp=new RegExp(`\.(${getLists(a.fonts.concat(["ico","js","png","jpg"]))})$`)}compressOutput(a,b,c,d){b.setHeader("Vary","Accept-Encoding");let e=a.headers["accept-encoding"];/gzip/.test(e)?(b.writeHead(200,{"Content-Encoding":"gzip"}),this.dealCompress(_zlib.default.gzipSync(c),d,b)):(b.writeHead(200,{}),this.dealDirect(c,d,b))}cacheOutput(a,b,c,d,e){let f=a.headers["If-Modified-Since"];f===void 0?(this.modify[c]===void 0&&(this.modify[c]=new Date(e).toString()),this.file[c]===void 0&&(this.file[c]=d),b.setHeader("Last-Modified",(0,_formateHttpDate.default)(this.modify[c])),this.compressOutput(a,b,this.file[c],c)):(this.modify[c]===void 0&&(this.modify[c]=new Date(e).toString()),(0,_parseDateString.default)(new Date().toString())<(0,_parseDateString.default)(this.modify[c])?(this.file[c]===void 0&&(this.file[c]=d),b.setHeader("Last-Modified",(0,_formateHttpDate.default)(this.modify[c])),this.compressOutput(a,b,this.file[c],c)):(b.writeHead(304),b.end()))}dealCompress(a,b,c){this.compress[b]===void 0&&(this.compress[b]=a),c.end(this.compress[b])}directDeal(a,b,c){this.raw[b]===void 0&&(this.compress[b]=a),c.end(this.raw[b])}async process(a,b){try{const{url:c}=a;if("/update/time"===c){const{time:a}=this;b.end(a+"")}else if(this.regexp.test(c)){const d=c.substring(1,c.length);this.cacheOutput(a,b,d,_fs.default.readFileSync(_path.default.resolve("static",d)),parseInt(_fs.default.statSync(_path.default.resolve("static",d)).mtimeMs))}else if("/api"===c.substring(0,4)){const d=await new Promise(b=>{a.on("data",a=>{b(a.toString())})}),{location:e}=this.options;if(e!==void 0){const a=await fetch(e+c,{method:"POST",body:d});for(const c of a.headers.keys())b.setHeader((0,_formateHttpKey.default)(c),a.headers.get(c));const f=await a.text();b.end(JSON.stringify(f))}}else{if(this.html===void 0){const{title:a,content:b,icon:c}=this.options;this.html=(0,_getHtml.default)(a,b,c)}this.cacheOutput(a,b,"*html",this.html,this.time)}}catch(a){const{develope:c}=this.options;if(!0===c)throw a;else b.writeHead(500),b.end()}}}exports.default=CommonHttp;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _path = _interopRequireDefault(require("path"));
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+ var _zlib = _interopRequireDefault(require("zlib"));
10
+ var _getHtml = _interopRequireDefault(require("../lib/getHtml"));
11
+ var _parseDateString = _interopRequireDefault(require("../lib/parseDateString"));
12
+ var _formateHttpDate = _interopRequireDefault(require("../lib/formateHttpDate"));
13
+ var _formateHttpKey = _interopRequireDefault(require("../lib/formateHttpKey"));
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function getLists(list) {
16
+ return list.join('|');
17
+ }
18
+ class CommonHttp {
19
+ constructor(options) {
20
+ const {
21
+ fonts
22
+ } = options;
23
+ if (options.fonts === undefined) {
24
+ options.fonts = [];
25
+ }
26
+ this.time = new Date().getTime();
27
+ this.modify = {};
28
+ this.file = {};
29
+ this.raw = {};
30
+ this.compress = {};
31
+ this.options = options;
32
+ this.regexp = new RegExp(`\.(${getLists(options.fonts.concat(['ico', 'js', 'png', 'jpg']))})$`);
33
+ }
34
+ compressOutput(req, res, buffer, path) {
35
+ res.setHeader('Vary', 'Accept-Encoding');
36
+ let acceptEncoding = req.headers['accept-encoding'];
37
+ if (/gzip/.test(acceptEncoding)) {
38
+ res.writeHead(200, {
39
+ 'Content-Encoding': 'gzip'
40
+ });
41
+ this.dealCompress(_zlib.default.gzipSync(buffer), path, res);
42
+ } else {
43
+ res.writeHead(200, {});
44
+ this.dealDirect(buffer, path, res);
45
+ }
46
+ }
47
+ cacheOutput(req, res, path, file, ms) {
48
+ let ifModifiedSince = req.headers['If-Modified-Since'];
49
+ if (ifModifiedSince === undefined) {
50
+ if (this.modify[path] === undefined) {
51
+ this.modify[path] = new Date(ms).toString();
52
+ }
53
+ if (this.file[path] === undefined) {
54
+ this.file[path] = file;
55
+ }
56
+ res.setHeader('Last-Modified', (0, _formateHttpDate.default)(this.modify[path]));
57
+ this.compressOutput(req, res, this.file[path], path);
58
+ } else {
59
+ if (this.modify[path] === undefined) {
60
+ this.modify[path] = new Date(ms).toString();
61
+ }
62
+ if ((0, _parseDateString.default)(new Date().toString()) < (0, _parseDateString.default)(this.modify[path])) {
63
+ if (this.file[path] === undefined) {
64
+ this.file[path] = file;
65
+ }
66
+ res.setHeader('Last-Modified', (0, _formateHttpDate.default)(this.modify[path]));
67
+ this.compressOutput(req, res, this.file[path], path);
68
+ } else {
69
+ res.writeHead(304);
70
+ res.end();
71
+ }
72
+ }
73
+ }
74
+ dealCompress(data, path, res) {
75
+ if (this.compress[path] === undefined) {
76
+ this.compress[path] = data;
77
+ }
78
+ res.end(this.compress[path]);
79
+ }
80
+ directDeal(data, path, res) {
81
+ if (this.raw[path] === undefined) {
82
+ this.compress[path] = data;
83
+ }
84
+ res.end(this.raw[path]);
85
+ }
86
+ async process(req, res) {
87
+ try {
88
+ const {
89
+ url
90
+ } = req;
91
+ if (url === '/update/time') {
92
+ const {
93
+ time
94
+ } = this;
95
+ res.end(String(time));
96
+ } else if (this.regexp.test(url)) {
97
+ const restPath = url.substring(1, url.length);
98
+ this.cacheOutput(req, res, restPath, _fs.default.readFileSync(_path.default.resolve('static', restPath)), parseInt(_fs.default.statSync(_path.default.resolve('static', restPath)).mtimeMs));
99
+ } else if (url.substring(0, 4) === '/api') {
100
+ const body = await new Promise((resolve, reject) => {
101
+ req.on('data', data => {
102
+ resolve(data.toString());
103
+ });
104
+ });
105
+ const {
106
+ location
107
+ } = this.options;
108
+ if (location !== undefined) {
109
+ const response = await fetch(location + url, {
110
+ method: 'POST',
111
+ body
112
+ });
113
+ for (const k of response.headers.keys()) {
114
+ res.setHeader((0, _formateHttpKey.default)(k), response.headers.get(k));
115
+ }
116
+ const data = await response.text();
117
+ res.end(JSON.stringify(data));
118
+ }
119
+ } else {
120
+ if (this.html === undefined) {
121
+ const {
122
+ title,
123
+ content,
124
+ icon
125
+ } = this.options;
126
+ this.html = (0, _getHtml.default)(title, content, icon);
127
+ }
128
+ this.cacheOutput(req, res, '*html', this.html, this.time);
129
+ }
130
+ } catch (e) {
131
+ const {
132
+ develope
133
+ } = this.options;
134
+ if (develope === true) {
135
+ throw e;
136
+ } else {
137
+ res.writeHead(500);
138
+ res.end();
139
+ }
140
+ }
141
+ }
142
+ }
143
+ exports.default = CommonHttp;
package/server/index.js CHANGED
@@ -1 +1,20 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"CommonHttp",{enumerable:!0,get:function(){return _CommonHttp.default}}),Object.defineProperty(exports,"parseOption",{enumerable:!0,get:function(){return _parseOption.default}}),Object.defineProperty(exports,"readCookie",{enumerable:!0,get:function(){return _readCookie.default}});var _CommonHttp=_interopRequireDefault(require("./class/CommonHttp")),_parseOption=_interopRequireDefault(require("./lib/parseOption")),_readCookie=_interopRequireDefault(require("./lib/readCookie"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "formatHttpDate", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _formatHttpDate.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "readCookie", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _readCookie.default;
16
+ }
17
+ });
18
+ var _readCookie = _interopRequireDefault(require("./lib/readCookie"));
19
+ var _formatHttpDate = _interopRequireDefault(require("./lib/formatHttpDate"));
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = formateHttpDate;
7
+ function formateHttpDate(ms) {
8
+ const date = new Date(ms);
9
+ let [week, month, day, year, time, zone] = date.toString().split(' ');
10
+ zone = zone.split('+')[0];
11
+ return month + ', ' + day + ' ' + month + ' ' + year + ' ' + time + ' ' + zone;
12
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = formateHttpKey;
7
+ function formateHttpKey(key) {
8
+ return key.split('-').map(v => {
9
+ return v.substring(0, 1).toUpperCase() + v.substring(1, v.length);
10
+ }).join('-');
11
+ }
@@ -1 +1,11 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=formateHttpDate;function formateHttpDate(a){let[b,c,d,e,f,g]=a.toString().split(" ");return g=g.split("+")[0],c+", "+d+" "+c+" "+e+" "+f+" "+g}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = formateHttpDate;
7
+ function formateHttpDate(date) {
8
+ let [week, month, day, year, time, zone] = date.toString().split(' ');
9
+ zone = zone.split('+')[0];
10
+ return month + ', ' + day + ' ' + month + ' ' + year + ' ' + time + ' ' + zone;
11
+ }
@@ -1 +1,11 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=formateHttpKey;function formateHttpKey(a){return a.split("-").map(a=>a.substring(0,1).toUpperCase()+a.substring(1,a.length)).join("-")}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = formateHttpKey;
7
+ function formateHttpKey(key) {
8
+ return key.split('-').map(v => {
9
+ return v.substring(0, 1).toUpperCase() + v.substring(1, v.length);
10
+ }).join('-');
11
+ }
@@ -1,4 +1,14 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=getHtml;var _handlebars=_interopRequireDefault(require("handlebars")),_htmlMinifier=require("html-minifier");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function getHtml(a,b,c){const d=_handlebars.default.compile(`
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getHtml;
7
+ var _handlebars = _interopRequireDefault(require("handlebars"));
8
+ var _htmlMinifier = require("html-minifier");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function getHtml(title, content, icon) {
11
+ const template = _handlebars.default.compile(`
2
12
  <!doctype html>
3
13
  <html lang="en">
4
14
  <head>
@@ -17,4 +27,12 @@
17
27
  <script src="main.bundle.js"></script>
18
28
  </body>
19
29
  </html>
20
- `);return(0,_htmlMinifier.minify)(d({title:a,content:b,icon:c}),{collapseWhitespace:!0})}
30
+ `);
31
+ return (0, _htmlMinifier.minify)(template({
32
+ title,
33
+ content,
34
+ icon
35
+ }), {
36
+ collapseWhitespace: true
37
+ });
38
+ }
@@ -1 +1,9 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=parseDateString;function parseDateString(){return new Date(httpDate).getTime()}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = parseDateString;
7
+ function parseDateString(dateString) {
8
+ return new Date(httpDate).getTime();
9
+ }
@@ -1 +1,70 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseOption=parseOption;function isOption(a){let b=!0;if("string"==typeof a){let c=0;for(c=0;1>c&&!("-"===a.charAt(c));c+=1);0==c&&(b=!1)}else b=!1;return b}function transformOption(a){let b;const c=a.split("-");return b=1<=c.length?c.map((a,b)=>0===b?a:a.charAt(0).toUpperCase()+a.substring(1,a.length)):a,b.join("")}function parseOption(...a){const b={};for(let c=0;c<a.length;c+=1){const d=a[c];if("-"===d.charAt(0)){const e=/^\-([a-z])$/;if(e.test(d)){const[f,g]=d.match(e);isOption(a[c+1])?(b[g]=a[c+1],c+=1):b[g]=!0}if("-"===d.charAt(1)){const e=/^\-\-([a-z\-]+)$/;if(e.test(d)){const[f,g]=d.match(e);isOption(a[c+1])?(b[transformOption(g)]=a[c+1],c+=1):b[g]=!0}}}}return b}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = parseOption;
7
+ function isOption(string) {
8
+ let ans = true;
9
+ if (typeof string === 'string') {
10
+ let i = 0;
11
+ for (i = 0; i < 1; i += 1) {
12
+ if (string.charAt(i) === '-') {
13
+ break;
14
+ }
15
+ }
16
+ if (i === 0) {
17
+ ans = false;
18
+ }
19
+ } else {
20
+ ans = false;
21
+ }
22
+ return ans;
23
+ }
24
+ function transformOption(value) {
25
+ let ans;
26
+ const s = value.split('-');
27
+ if (s.length >= 1) {
28
+ ans = s.map((e, i) => {
29
+ if (i === 0) {
30
+ return e;
31
+ } else {
32
+ return e.charAt(0).toUpperCase() + e.substring(1, e.length);
33
+ }
34
+ });
35
+ } else {
36
+ ans = value;
37
+ }
38
+ return ans.join('');
39
+ }
40
+ function parseOption(...params) {
41
+ const ans = {};
42
+ for (let i = 0; i < params.length; i += 1) {
43
+ const param = params[i];
44
+ if (param.charAt(0) === '-') {
45
+ const regexp = /^\-([a-z])$/;
46
+ if (regexp.test(param)) {
47
+ const [_, k] = param.match(regexp);
48
+ if (isOption(params[i + 1])) {
49
+ ans[k] = params[i + 1];
50
+ i += 1;
51
+ } else {
52
+ ans[k] = true;
53
+ }
54
+ }
55
+ if (param.charAt(1) === '-') {
56
+ const regexp = /^\-\-([a-z\-]+)$/;
57
+ if (regexp.test(param)) {
58
+ const [_, k] = param.match(regexp);
59
+ if (isOption(params[i + 1])) {
60
+ ans[transformOption(k)] = params[i + 1];
61
+ i += 1;
62
+ } else {
63
+ ans[k] = true;
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+ return ans;
70
+ }
@@ -1 +1,27 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.readCookie=readCookie;function readCookie(a){const b={};"string"==typeof a&&a.split(";").forEach(a=>{const[c,d]=a.split("=");b[c.trim()]=d});const c={};return Object.keys(b).forEach(a=>{const d=a.split("_");if(2===d.length){const[e,f]=d;void 0===c[e]&&(c[e]={}),c[e][f]=b[a]}}),c}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.readCookie = readCookie;
7
+ function readCookie(cookie) {
8
+ const cookies = {};
9
+ if (typeof cookie === 'string') {
10
+ cookie.split(';').forEach(i => {
11
+ const [key, value] = i.split('=');
12
+ cookies[key.trim()] = value;
13
+ });
14
+ }
15
+ const namespaces = {};
16
+ Object.keys(cookies).forEach(k => {
17
+ const result = k.split('_');
18
+ if (result.length === 2) {
19
+ const [namespace, key] = result;
20
+ if (namespaces[namespace] === undefined) {
21
+ namespaces[namespace] = {};
22
+ }
23
+ namespaces[namespace][key] = cookies[k];
24
+ }
25
+ });
26
+ return namespaces;
27
+ }