@studiometa/js-toolkit 1.7.1 → 1.7.4
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/full.modern.js +1 -1
- package/full.modern.js.map +1 -1
- package/full.umd.js +1 -1
- package/full.umd.js.map +1 -1
- package/package.json +1 -1
- package/utils/history.js +1 -1
- package/utils/history.js.map +1 -1
package/package.json
CHANGED
package/utils/history.js
CHANGED
|
@@ -41,7 +41,7 @@ function updateUrlSearchParam(params, name, value) {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export function objectToURLSearchParams(obj) {
|
|
44
|
-
var defaultSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
|
|
44
|
+
var defaultSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : typeof window === 'undefined' ? '' : window.location.search;
|
|
45
45
|
return Object.entries(obj).reduce(function (urlSearchParams, _ref3) {
|
|
46
46
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
47
47
|
name = _ref4[0],
|
package/utils/history.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../packages/js-toolkit/utils/history.js"],"names":["isObject","updateUrlSearchParam","params","name","value","undefined","has","delete","Array","isArray","forEach","val","index","arrayName","Object","entries","key","objectName","set","objectToURLSearchParams","obj","defaultSearch","window","location","search","reduce","urlSearchParams","URLSearchParams","updateHistory","mode","options","data","title","history","path","pathname","hash","url","mergedSearch","toString","startsWith","method","push","replace"],"mappings":";;;;;;;AAAA,OAAOA,QAAP,MAAqB,sBAArB;;AAgBA,SAASC,oBAAT,CAA8BC,MAA9B,EAAsCC,IAAtC,EAA4CC,KAA5C,EAAmD;AACjD,MAAIA,KAAK,KAAK,EAAV,IAAgBA,KAAK,KAAK,IAA1B,IAAkCA,KAAK,KAAKC,SAAhD,EAA2D;AACzD,QAAIH,MAAM,CAACI,GAAP,CAAWH,IAAX,CAAJ,EAAsB;AACpBD,MAAAA,MAAM,CAACK,MAAP,CAAcJ,IAAd;AACD;;AACD,WAAOD,MAAP;AACD;;AAED,MAAIM,KAAK,CAACC,OAAN,CAAcL,KAAd,CAAJ,EAA0B;AACxBA,IAAAA,KAAK,CAACM,OAAN,CAAc,UAACC,GAAD,EAAMC,KAAN,EAAgB;AAC5B,UAAMC,SAAS,aAAMV,IAAN,cAAcS,KAAd,MAAf;AACAX,MAAAA,oBAAoB,CAACC,MAAD,EAASW,SAAT,EAAoBF,GAApB,CAApB;AACD,KAHD;AAIA,WAAOT,MAAP;AACD;;AAED,MAAIF,QAAQ,CAACI,KAAD,CAAZ,EAAqB;AACnBU,IAAAA,MAAM,CAACC,OAAP,CAAeX,KAAf,EAAsBM,OAAtB,CAA8B,gBAAgB;AAAA;AAAA,UAAdM,GAAc;AAAA,UAATL,GAAS;;AAC5C,UAAMM,UAAU,aAAMd,IAAN,cAAca,GAAd,MAAhB;AACAf,MAAAA,oBAAoB,CAACC,MAAD,EAASe,UAAT,EAAqBN,GAArB,CAApB;AACD,KAHD;AAIA,WAAOT,MAAP;AACD;;AAEDA,EAAAA,MAAM,CAACgB,GAAP,CAAWf,IAAX,EAAiBC,KAAjB;AACA,SAAOF,MAAP;AACD;;AASD,OAAO,SAASiB,uBAAT,
|
|
1
|
+
{"version":3,"sources":["../../packages/js-toolkit/utils/history.js"],"names":["isObject","updateUrlSearchParam","params","name","value","undefined","has","delete","Array","isArray","forEach","val","index","arrayName","Object","entries","key","objectName","set","objectToURLSearchParams","obj","defaultSearch","window","location","search","reduce","urlSearchParams","URLSearchParams","updateHistory","mode","options","data","title","history","path","pathname","hash","url","mergedSearch","toString","startsWith","method","push","replace"],"mappings":"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","sourcesContent":["import isObject from './object/isObject.js';\n\n/**\n * @typedef {Object} HistoryOptions\n * @property {string=} [path]\n * @property {URLSearchParams|{ [key:string]: unknown }=} [search]\n * @property {string=} [hash]\n */\n\n/**\n * Set a param in a URLSearchParam instance.\n * @param {URLSearchParams} params The params to update.\n * @param {string} name The name of the param to update.\n * @param {string|number|boolean|Array|Object} value The value for this param.\n * @return {URLSearchParams} The updated URLSearchParams instance.\n */\nfunction updateUrlSearchParam(params, name, value) {\n if (value === '' || value === null || value === undefined) {\n if (params.has(name)) {\n params.delete(name);\n }\n return params;\n }\n\n if (Array.isArray(value)) {\n value.forEach((val, index) => {\n const arrayName = `${name}[${index}]`;\n updateUrlSearchParam(params, arrayName, val);\n });\n return params;\n }\n\n if (isObject(value)) {\n Object.entries(value).forEach(([key, val]) => {\n const objectName = `${name}[${key}]`;\n updateUrlSearchParam(params, objectName, val);\n });\n return params;\n }\n\n params.set(name, value);\n return params;\n}\n\n/**\n * Transform an object to an URLSearchParams instance.\n *\n * @param {Object} obj The object to convert.\n * @param {string} defaultSearch A string of defaults search params.\n * @return {URLSearchParams}\n */\nexport function objectToURLSearchParams(\n obj,\n defaultSearch = typeof window === 'undefined' ? '' : window.location.search\n) {\n return Object.entries(obj).reduce(\n (urlSearchParams, [name, value]) => updateUrlSearchParam(urlSearchParams, name, value),\n new URLSearchParams(defaultSearch)\n );\n}\n\n/**\n * Update the history with a new state.\n * @param {string} mode\n * @param {HistoryOptions} options\n * @param {Object} [data]\n * @param {string} [title]\n */\nfunction updateHistory(mode, options, data = {}, title = '') {\n if (!window.history) {\n return;\n }\n\n /** @type {HistoryOptions} */\n const { path, search, hash } = {\n path: window.location.pathname,\n search: new URLSearchParams(window.location.search),\n hash: window.location.hash,\n ...options,\n };\n\n let url = path;\n\n const mergedSearch = search instanceof URLSearchParams ? search : objectToURLSearchParams(search);\n\n if (mergedSearch.toString()) {\n url += `?${mergedSearch.toString()}`;\n }\n\n if (hash) {\n if (hash.startsWith('#')) {\n url += hash;\n } else {\n url += `#${hash}`;\n }\n }\n\n const method = `${mode}State`;\n window.history[method](data, title, url);\n}\n\n/**\n * Push a new state.\n *\n * @param {HistoryOptions} options The new state.\n * @param {Object} data The data for the new state.\n * @param {string} title The title for the new state.\n */\nexport function push(options, data, title) {\n updateHistory('push', options, data, title);\n}\n\n/**\n * Replace a new state.\n *\n * @param {HistoryOptions} options The new state.\n * @param {Object} data The data for the new state.\n * @param {string} title The title for the new state.\n */\nexport function replace(options, data, title) {\n updateHistory('replace', options, data, title);\n}\n"],"file":"history.js"}
|