@arc-js/qust 0.0.1 → 0.0.2
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/index.js +10 -5
- package/index.min.js +2 -1
- package/index.min.js.map +1 -0
- package/package.json +1 -1
- package/qust.all.min.js +2 -1
- package/qust.all.min.js.map +1 -0
package/index.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
1
5
|
const DEFAULT_OPTIONS = {
|
|
2
6
|
arrayFormat: 'bracket',
|
|
3
7
|
arraySeparator: ',',
|
|
@@ -8,9 +12,8 @@ const DEFAULT_OPTIONS = {
|
|
|
8
12
|
depth: 10
|
|
9
13
|
};
|
|
10
14
|
class Qust {
|
|
11
|
-
options;
|
|
12
15
|
constructor(options = {}) {
|
|
13
|
-
this.options = {
|
|
16
|
+
this.options = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options);
|
|
14
17
|
}
|
|
15
18
|
stringify(obj) {
|
|
16
19
|
if (!obj || typeof obj !== 'object') {
|
|
@@ -250,10 +253,10 @@ class Qust {
|
|
|
250
253
|
typeof value !== 'function';
|
|
251
254
|
}
|
|
252
255
|
setOptions(newOptions) {
|
|
253
|
-
this.options = {
|
|
256
|
+
this.options = Object.assign(Object.assign({}, this.options), newOptions);
|
|
254
257
|
}
|
|
255
258
|
getOptions() {
|
|
256
|
-
return {
|
|
259
|
+
return Object.assign({}, this.options);
|
|
257
260
|
}
|
|
258
261
|
static exposeToGlobal() {
|
|
259
262
|
if (typeof window !== "undefined") {
|
|
@@ -274,4 +277,6 @@ if (typeof window !== "undefined") {
|
|
|
274
277
|
window.qust = qust;
|
|
275
278
|
}
|
|
276
279
|
|
|
277
|
-
|
|
280
|
+
exports.Qust = Qust;
|
|
281
|
+
exports.default = qust;
|
|
282
|
+
exports.qust = qust;
|
package/index.min.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
let DEFAULT_OPTIONS={arrayFormat:"bracket",arraySeparator:",",skipNull:!0,skipEmptyString:!1,encode:!0,decode:!0,depth:10};class Qust{
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0});let DEFAULT_OPTIONS={arrayFormat:"bracket",arraySeparator:",",skipNull:!0,skipEmptyString:!1,encode:!0,decode:!0,depth:10};class Qust{constructor(e={}){this.options=Object.assign(Object.assign({},DEFAULT_OPTIONS),e)}stringify(e){return e&&"object"==typeof e&&(this.processObject("",e,e=[],0),0<e.length)?"?"+e.join("&"):""}parse(e){if(!e||"string"!=typeof e)return{};e=e.startsWith("?")?e.slice(1):e;if(!e)return{};var t,s,r,o={};for(t of e.split("&"))t&&([s,r]=t.split("="),s)&&(s=this.options.decode?decodeURIComponent(s):s,r=this.options.decode&&void 0!==r?decodeURIComponent(r):r,this.setValue(o,s,r));return this.transformArrays(o)}processObject(e,t,s,r){if(!(r>this.options.depth))if(null==t)this.options.skipNull||s.push(this.encodeKey(e));else if("string"!=typeof t||""!==t||!this.options.skipEmptyString)if(Array.isArray(t))this.processArray(e,t,s,r+1);else if("object"!=typeof t||this.isPrimitive(t)){var o=this.encodeKey(e),i=(this.options.encode&&"string"==typeof t?encodeURIComponent:String)(t);s.push(o+"="+i)}else for(var[n,a]of Object.entries(t)){n=e?`${e}[${n}]`:n;this.processObject(n,a,s,r+1)}}processArray(s,e,r,o){if(0!==e.length){let t=this.encodeKey(s);switch(this.options.arrayFormat){case"comma":var i=e.map(e=>(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e)).join(this.options.arraySeparator);r.push(t+"="+i);break;case"index":e.forEach((e,t)=>{this.processObject(s+`[${t}]`,e,r,o)});break;case"separator":e.forEach(e=>{e=(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e);r.push(t+"="+e)});break;case"none":e.forEach(e=>{this.processObject(s,e,r,o)});break;default:e.forEach(e=>{this.processObject(s+"[]",e,r,o)})}}}encodeKey(t){if(!this.options.encode)return t;var s=[];let r="";for(let e=0;e<t.length;e++){var o=t[e];"["===o||"]"===o?(r&&(s.push(encodeURIComponent(r)),r=""),s.push(o)):r+=o}return r&&s.push(encodeURIComponent(r)),s.join("")}setValue(e,t,s){var r=t.match(/([^\[\]]+)|(\[\])/g);if(r){let t=e;for(let e=0;e<r.length;e++){var o,i,n=r[e],a=e===r.length-1;"[]"===n?(Array.isArray(t)||(t=[]),a?s&&t.push(this.parseValue(s)):(o=r[e+1],o=parseInt(o,10),isNaN(o)?(i={},t.push(i),t=i):(void 0===t[o]&&(t[o]={}),t=t[o],e++))):a?void 0!==s&&(t[n]=this.parseValue(s)):(void 0!==t[n]&&"object"==typeof t[n]||(i=r[e+1],t[n]="[]"===i?[]:{}),t=t[n])}}else void 0!==s&&(e[t]=this.parseValue(s))}transformArrays(r){if(Array.isArray(r))return r.map(e=>"object"==typeof e&&null!==e?this.transformArrays(e):e);if("object"!=typeof r||null===r)return r;let s={};var e=Object.keys(r);if(e.every(e=>{var t=parseInt(e,10);return!isNaN(t)&&0<=t&&t.toString()===e})&&0<e.length){let s=[];return e.forEach(e=>{var t=parseInt(e,10);s[t]=this.transformArrays(r[e])}),s}return e.forEach(e=>{var t=r[e];s[e]="object"==typeof t&&null!==t?this.transformArrays(t):t}),s}parseValue(e){var t;return"true"===e||"false"!==e&&("null"===e?null:"undefined"!==e?(t=Number(e),isNaN(t)||""===e.trim()?e:t):void 0)}isPrimitive(e){return null===e||"object"!=typeof e&&"function"!=typeof e}setOptions(e){this.options=Object.assign(Object.assign({},this.options),e)}getOptions(){return Object.assign({},this.options)}static exposeToGlobal(){"undefined"!=typeof window&&(window.Qust=Qust)}}let qust={stringify(e,t){return new Qust(t).stringify(e)},parse(e,t){return new Qust(t).parse(e)}};"undefined"!=typeof window&&(window.Qust=Qust,window.qust=qust),exports.Qust=Qust,exports.default=qust,exports.qust=qust;
|
|
2
|
+
//# sourceMappingURL=index.min.js.map
|
package/index.min.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.min.js","sources":["index.js"],"names":["Object","defineProperty","exports","value","DEFAULT_OPTIONS","arrayFormat","arraySeparator","skipNull","skipEmptyString","encode","decode","depth","Qust","constructor","options","this","assign","stringify","obj","processObject","parts","length","join","parse","queryString","cleanString","startsWith","slice","pair","key","result","split","encodedKey","encodedValue","decodeURIComponent","undefined","setValue","transformArrays","prefix","push","encodeKey","Array","isArray","processArray","isPrimitive","encodeURIComponent","String","val","entries","newPrefix","array","values","map","item","forEach","index","let","currentPart","i","char","matches","match","current","nextIndex","nextMatch","isLast","parseValue","parseInt","isNaN","newObj","keys","every","num","toString","Number","trim","setOptions","newOptions","getOptions","exposeToGlobal","window","qust","default"],"mappings":"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","sourceRoot":"../qust"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.0.
|
|
6
|
+
"version": "0.0.2",
|
|
7
7
|
"description": "Qust est une bibliothèque TypeScript ultra-légère et performante pour la sérialisation et désérialisation d'objets en chaînes de requête (query strings). Elle offre une API simple et puissante pour manipuler les paramètres d'URL avec support des types complexes, des tableaux, des objets imbriqués et des options avancées.",
|
|
8
8
|
"main": "index.js",
|
|
9
9
|
"keywords": [],
|
package/qust.all.min.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
let DEFAULT_OPTIONS={arrayFormat:"bracket",arraySeparator:",",skipNull:!0,skipEmptyString:!1,encode:!0,decode:!0,depth:10};class Qust{options;constructor(e={}){this.options={...DEFAULT_OPTIONS,...e}}stringify(e){return e&&"object"==typeof e&&(this.processObject("",e,e=[],0),0<e.length)?"?"+e.join("&"):""}parse(e){if(!e||"string"!=typeof e)return{};e=e.startsWith("?")?e.slice(1):e;if(!e)return{};var t,r,s,o={};for(t of e.split("&"))t&&([r,s]=t.split("="),r)&&(r=this.options.decode?decodeURIComponent(r):r,s=this.options.decode&&void 0!==s?decodeURIComponent(s):s,this.setValue(o,r,s));return this.transformArrays(o)}processObject(e,t,r,s){if(!(s>this.options.depth))if(null==t)this.options.skipNull||r.push(this.encodeKey(e));else if("string"!=typeof t||""!==t||!this.options.skipEmptyString)if(Array.isArray(t))this.processArray(e,t,r,s+1);else if("object"!=typeof t||this.isPrimitive(t)){var o=this.encodeKey(e),i=(this.options.encode&&"string"==typeof t?encodeURIComponent:String)(t);r.push(o+"="+i)}else for(var[n,a]of Object.entries(t)){n=e?`${e}[${n}]`:n;this.processObject(n,a,r,s+1)}}processArray(r,e,s,o){if(0!==e.length){let t=this.encodeKey(r);switch(this.options.arrayFormat){case"comma":var i=e.map(e=>(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e)).join(this.options.arraySeparator);s.push(t+"="+i);break;case"index":e.forEach((e,t)=>{this.processObject(r+`[${t}]`,e,s,o)});break;case"separator":e.forEach(e=>{e=(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e);s.push(t+"="+e)});break;case"none":e.forEach(e=>{this.processObject(r,e,s,o)});break;default:e.forEach(e=>{this.processObject(r+"[]",e,s,o)})}}}encodeKey(t){if(!this.options.encode)return t;var r=[];let s="";for(let e=0;e<t.length;e++){var o=t[e];"["===o||"]"===o?(s&&(r.push(encodeURIComponent(s)),s=""),r.push(o)):s+=o}return s&&r.push(encodeURIComponent(s)),r.join("")}setValue(e,t,r){var s=t.match(/([^\[\]]+)|(\[\])/g);if(s){let t=e;for(let e=0;e<s.length;e++){var o,i,n=s[e],a=e===s.length-1;"[]"===n?(Array.isArray(t)||(t=[]),a?r&&t.push(this.parseValue(r)):(o=s[e+1],o=parseInt(o,10),isNaN(o)?(i={},t.push(i),t=i):(void 0===t[o]&&(t[o]={}),t=t[o],e++))):a?void 0!==r&&(t[n]=this.parseValue(r)):(void 0!==t[n]&&"object"==typeof t[n]||(i=s[e+1],t[n]="[]"===i?[]:{}),t=t[n])}}else void 0!==r&&(e[t]=this.parseValue(r))}transformArrays(s){if(Array.isArray(s))return s.map(e=>"object"==typeof e&&null!==e?this.transformArrays(e):e);if("object"!=typeof s||null===s)return s;let r={};var e=Object.keys(s);if(e.every(e=>{var t=parseInt(e,10);return!isNaN(t)&&0<=t&&t.toString()===e})&&0<e.length){let r=[];return e.forEach(e=>{var t=parseInt(e,10);r[t]=this.transformArrays(s[e])}),r}return e.forEach(e=>{var t=s[e];r[e]="object"==typeof t&&null!==t?this.transformArrays(t):t}),r}parseValue(e){var t;return"true"===e||"false"!==e&&("null"===e?null:"undefined"!==e?(t=Number(e),isNaN(t)||""===e.trim()?e:t):void 0)}isPrimitive(e){return null===e||"object"!=typeof e&&"function"!=typeof e}setOptions(e){this.options={...this.options,...e}}getOptions(){return{...this.options}}static exposeToGlobal(){"undefined"!=typeof window&&(window.Qust=Qust)}}let qust={stringify(e,t){return new Qust(t).stringify(e)},parse(e,t){return new Qust(t).parse(e)}};"undefined"!=typeof window&&(window.Qust=Qust,window.qust=qust);
|
|
1
|
+
let DEFAULT_OPTIONS={arrayFormat:"bracket",arraySeparator:",",skipNull:!0,skipEmptyString:!1,encode:!0,decode:!0,depth:10};class Qust{options;constructor(e={}){this.options={...DEFAULT_OPTIONS,...e}}stringify(e){return e&&"object"==typeof e&&(this.processObject("",e,e=[],0),0<e.length)?"?"+e.join("&"):""}parse(e){if(!e||"string"!=typeof e)return{};e=e.startsWith("?")?e.slice(1):e;if(!e)return{};var t,r,s,o={};for(t of e.split("&"))t&&([r,s]=t.split("="),r)&&(r=this.options.decode?decodeURIComponent(r):r,s=this.options.decode&&void 0!==s?decodeURIComponent(s):s,this.setValue(o,r,s));return this.transformArrays(o)}processObject(e,t,r,s){if(!(s>this.options.depth))if(null==t)this.options.skipNull||r.push(this.encodeKey(e));else if("string"!=typeof t||""!==t||!this.options.skipEmptyString)if(Array.isArray(t))this.processArray(e,t,r,s+1);else if("object"!=typeof t||this.isPrimitive(t)){var o=this.encodeKey(e),i=(this.options.encode&&"string"==typeof t?encodeURIComponent:String)(t);r.push(o+"="+i)}else for(var[n,a]of Object.entries(t)){n=e?`${e}[${n}]`:n;this.processObject(n,a,r,s+1)}}processArray(r,e,s,o){if(0!==e.length){let t=this.encodeKey(r);switch(this.options.arrayFormat){case"comma":var i=e.map(e=>(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e)).join(this.options.arraySeparator);s.push(t+"="+i);break;case"index":e.forEach((e,t)=>{this.processObject(r+`[${t}]`,e,s,o)});break;case"separator":e.forEach(e=>{e=(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e);s.push(t+"="+e)});break;case"none":e.forEach(e=>{this.processObject(r,e,s,o)});break;default:e.forEach(e=>{this.processObject(r+"[]",e,s,o)})}}}encodeKey(t){if(!this.options.encode)return t;var r=[];let s="";for(let e=0;e<t.length;e++){var o=t[e];"["===o||"]"===o?(s&&(r.push(encodeURIComponent(s)),s=""),r.push(o)):s+=o}return s&&r.push(encodeURIComponent(s)),r.join("")}setValue(e,t,r){var s=t.match(/([^\[\]]+)|(\[\])/g);if(s){let t=e;for(let e=0;e<s.length;e++){var o,i,n=s[e],a=e===s.length-1;"[]"===n?(Array.isArray(t)||(t=[]),a?r&&t.push(this.parseValue(r)):(o=s[e+1],o=parseInt(o,10),isNaN(o)?(i={},t.push(i),t=i):(void 0===t[o]&&(t[o]={}),t=t[o],e++))):a?void 0!==r&&(t[n]=this.parseValue(r)):(void 0!==t[n]&&"object"==typeof t[n]||(i=s[e+1],t[n]="[]"===i?[]:{}),t=t[n])}}else void 0!==r&&(e[t]=this.parseValue(r))}transformArrays(s){if(Array.isArray(s))return s.map(e=>"object"==typeof e&&null!==e?this.transformArrays(e):e);if("object"!=typeof s||null===s)return s;let r={};var e=Object.keys(s);if(e.every(e=>{var t=parseInt(e,10);return!isNaN(t)&&0<=t&&t.toString()===e})&&0<e.length){let r=[];return e.forEach(e=>{var t=parseInt(e,10);r[t]=this.transformArrays(s[e])}),r}return e.forEach(e=>{var t=s[e];r[e]="object"==typeof t&&null!==t?this.transformArrays(t):t}),r}parseValue(e){var t;return"true"===e||"false"!==e&&("null"===e?null:"undefined"!==e?(t=Number(e),isNaN(t)||""===e.trim()?e:t):void 0)}isPrimitive(e){return null===e||"object"!=typeof e&&"function"!=typeof e}setOptions(e){this.options={...this.options,...e}}getOptions(){return{...this.options}}static exposeToGlobal(){"undefined"!=typeof window&&(window.Qust=Qust)}}let qust={stringify(e,t){return new Qust(t).stringify(e)},parse(e,t){return new Qust(t).parse(e)}};"undefined"!=typeof window&&(window.Qust=Qust,window.qust=qust);
|
|
2
|
+
//# sourceMappingURL=qust.all.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qust.all.min.js","sources":["qust.all.js"],"names":["DEFAULT_OPTIONS","arrayFormat","arraySeparator","skipNull","skipEmptyString","encode","decode","depth","Qust","options","constructor","this","stringify","obj","processObject","parts","length","join","parse","queryString","cleanString","startsWith","slice","pair","key","value","result","split","encodedKey","encodedValue","decodeURIComponent","undefined","setValue","transformArrays","prefix","push","encodeKey","Array","isArray","processArray","isPrimitive","encodeURIComponent","String","val","Object","entries","newPrefix","array","values","map","item","forEach","index","let","currentPart","i","char","matches","match","current","nextIndex","nextMatch","isLast","parseValue","parseInt","isNaN","newObj","keys","every","num","toString","Number","trim","setOptions","newOptions","getOptions","exposeToGlobal","window","qust"],"mappings":"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","sourceRoot":"../qust"}
|