@future-widget-lab/ui-keys
Version:
A helper for creating render-friendly keys, useful for uniquely identifying resources, caching, testing, and rendering.
3 lines (2 loc) • 761 B
JavaScript
;var r=require("flatted");exports.createUiKey=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.flatMap((function(r){return r})).map((function(t){switch(!0){case"string"==typeof t:return t;case"number"==typeof t&&!Number.isNaN(t)||"boolean"==typeof t:return t.toString();case Array.isArray(t)||"object"==typeof t&&null!==t:return"@"+r.stringify(t);default:return"unknown"}})).join("::")},exports.parseUiKey=function(t){return t.split("::").map((function(t){if("unknown"===t)return null;if(!isNaN(Number(t)))return Number(t);if("true"===t||"false"===t)return"true"===t;if(t.startsWith("@"))try{return r.parse(t.slice(1))}catch(r){return t}return t}))};
//# sourceMappingURL=ui-keys.cjs.production.min.js.map