@merkur/plugin-css-scrambler 0.29.0 → 0.30.0

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/lib/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function e(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function r(r){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?e(Object(o),!0).forEach((function(e){t(r,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}))}return r}function t(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(e,r,t,n,o,s,u){try{var a=e[s](u),i=a.value}catch(e){return void t(e)}a.done?r(i):Promise.resolve(i).then(n,o)}function o(e){return function(){var r=this,t=arguments;return new Promise((function(o,s){var u=e.apply(r,t);function a(e){n(u,o,s,a,i,"next",e)}function i(e){n(u,o,s,a,i,"throw",e)}a(void 0)}))}}function s(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==t)return;var n,o,s=[],u=!0,a=!1;try{for(t=t.call(e);!(u=(n=t.next()).done)&&(s.push(n.value),!r||s.length!==r);u=!0);}catch(e){a=!0,o=e}finally{try{u||null==t.return||t.return()}finally{if(a)throw o}}return s}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return u(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return u(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.split.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.map.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),Object.defineProperty(exports,"__esModule",{value:!0});var i=require("@merkur/core");function c(e){return e&&"object"===a(e)&&"default"in e?e:{default:e}}var l=c(require("classnames")),f="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-".split(""),m=(f.join("")+"0123456789").split("");function p(e){if(e<f.length)return f[e];e+=m.length-f.length;for(var r="";e>=f.length;)r=m[e%m.length]+r,e=Math.floor(e/m.length);return r=e?f[e-1]+r:"_"+r}function j(e){var r,t,n,o=e&&new Map,u=e&&new Map;if(e){var a=s(e,3);r=a[0],t=a[1],n=a[2];for(var i=0;i<t.length;i++)o.set(t[i],p(i));for(var c=0;c<n.length;c++)u.set(n[c],p(c))}return function(t){for(var n=arguments.length,s=new Array(n>1?n-1:0),a=1;a<n;a++)s[a-1]=arguments[a];var i=l.default.apply(l,s);if(!e)return{className:i};var c=i.split(/\s+/).map((function(e){var t=e.split("-"),n=t[0],s=t.slice(1).join("-");return o.has(n)&&u.has(s)?"".concat(o.get(n),"_").concat(u.get(s),"_").concat(r):e})).join(" ");return{className:c,"data-class":i}}}function y(e,r){return d.apply(this,arguments)}function d(){return d=o(regeneratorRuntime.mark((function e(t,n){var o,s,u,a,i=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(o=i.length,s=new Array(o>2?o-2:0),u=2;u<o;u++)s[u-2]=i[u];return e.next=3,n.apply(void 0,s);case 3:return a=e.sent,e.abrupt("return",r({classnameHashtable:t.classnameHashtable},a));case 5:case"end":return e.stop()}}),e)}))),d.apply(this,arguments)}exports.cssScramblePlugin=function(){return{setup:function(e,r){return o(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.classnameHashtable,e.$in.classNameScrambler=j(n),e.cn=function(){var r;return(r=e.$in).classNameScrambler.apply(r,arguments).className},t.abrupt("return",e);case 4:case"end":return t.stop()}}),t)})))()},create:function(e){return o(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return i.hookMethod(e,"info",y),r.abrupt("return",e);case 2:case"end":return r.stop()}}),r)})))()}}},exports.numberToCssClass=p;
1
+ "use strict";function e(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function r(r){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?e(Object(o),!0).forEach((function(e){t(r,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}))}return r}function t(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */n=function(){return e};var e={},r=Object.prototype,t=r.hasOwnProperty,o=Object.defineProperty||function(e,r,t){e[r]=t.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function l(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{l({},"")}catch(e){l=function(e,r,t){return e[r]=t}}function f(e,r,t,n){var i=r&&r.prototype instanceof y?r:y,a=Object.create(i.prototype),s=new S(n||[]);return o(a,"_invoke",{value:q(e,t,s)}),a}function h(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=f;var p={};function y(){}function d(){}function m(){}var v={};l(v,a,(function(){return this}));var j=Object.getPrototypeOf,g=j&&j(j(P([])));g&&g!==r&&t.call(g,a)&&(v=g);var b=m.prototype=y.prototype=Object.create(v);function w(e){["next","throw","return"].forEach((function(r){l(e,r,(function(e){return this._invoke(r,e)}))}))}function x(e,r){function n(o,i,a,s){var c=h(e[o],e,i);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==u(f)&&t.call(f,"__await")?r.resolve(f.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):r.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var i;o(this,"_invoke",{value:function(e,t){function o(){return new r((function(r,o){n(e,t,r,o)}))}return i=i?i.then(o,o):o()}})}function q(e,r,t){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return _()}for(t.method=o,t.arg=i;;){var a=t.delegate;if(a){var s=O(a,t);if(s){if(s===p)continue;return s}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===n)throw n="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n="executing";var u=h(e,r,t);if("normal"===u.type){if(n=t.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:t.done}}"throw"===u.type&&(n="completed",t.method="throw",t.arg=u.arg)}}}function O(e,r){var t=e.iterator[r.method];if(void 0===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=void 0,O(e,r),"throw"===r.method))return p;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=h(t,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,p;var o=n.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,p):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,p)}function L(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function E(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function P(e){if(e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(t.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=void 0,r.done=!0,r};return o.next=o}}return{next:_}}function _(){return{value:void 0,done:!0}}return d.prototype=m,o(b,"constructor",{value:m,configurable:!0}),o(m,"constructor",{value:d,configurable:!0}),d.displayName=l(m,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var r="function"==typeof e&&e.constructor;return!!r&&(r===d||"GeneratorFunction"===(r.displayName||r.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,l(e,c,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},w(x.prototype),l(x.prototype,s,(function(){return this})),e.AsyncIterator=x,e.async=function(r,t,n,o,i){void 0===i&&(i=Promise);var a=new x(f(r,t,n,o),i);return e.isGeneratorFunction(t)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},w(b),l(b,c,"Generator"),l(b,a,(function(){return this})),l(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var r=Object(e),t=[];for(var n in r)t.push(n);return t.reverse(),function e(){for(;t.length;){var n=t.pop();if(n in r)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=P,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var r in this)"t"===r.charAt(0)&&t.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(t,n){return a.type="throw",a.arg=e,r.next=t,n&&(r.method="next",r.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=t.call(i,"catchLoc"),u=t.call(i,"finallyLoc");if(s&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&t.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(e,r){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&r&&(this.next=r),p},finish:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),E(t),p}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var o=n.arg;E(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,t){return this.delegate={iterator:P(e),resultName:r,nextLoc:t},"next"===this.method&&(this.arg=void 0),p}},e}function o(e,r,t,n,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void t(e)}s.done?r(u):Promise.resolve(u).then(n,o)}function i(e){return function(){var r=this,t=arguments;return new Promise((function(n,i){var a=e.apply(r,t);function s(e){o(a,n,i,s,u,"next",e)}function u(e){o(a,n,i,s,u,"throw",e)}s(void 0)}))}}function a(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==t)return;var n,o,i=[],a=!0,s=!1;try{for(t=t.call(e);!(a=(n=t.next()).done)&&(i.push(n.value),!r||i.length!==r);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==t.return||t.return()}finally{if(s)throw o}}return i}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return s(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return s(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.map.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.split.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.symbol.async-iterator.js"),require("core-js/modules/es.symbol.to-string-tag.js"),require("core-js/modules/es.json.to-string-tag.js"),require("core-js/modules/es.math.to-string-tag.js"),require("core-js/modules/es.object.create.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.array.reverse.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),Object.defineProperty(exports,"__esModule",{value:!0});var c=require("@merkur/core");function l(e){return e&&"object"===u(e)&&"default"in e?e:{default:e}}var f=l(require("classnames")),h="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-".split(""),p=(h.join("")+"0123456789").split("");function y(e){if(e<h.length)return h[e];e+=p.length-h.length;for(var r="";e>=h.length;)r=p[e%p.length]+r,e=Math.floor(e/p.length);return r=e?h[e-1]+r:"_"+r}function d(e){var r,t,n,o=e&&new Map,i=e&&new Map;if(e){var s=a(e,3);r=s[0],t=s[1],n=s[2];for(var u=0;u<t.length;u++)o.set(t[u],y(u));for(var c=0;c<n.length;c++)i.set(n[c],y(c))}return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),s=1;s<n;s++)a[s-1]=arguments[s];var u=f.default.apply(f,a);if(!e)return{className:u};var c=u.split(/\s+/).map((function(e){var t=e.split("-"),n=t[0],a=t.slice(1).join("-");return o.has(n)&&i.has(a)?"".concat(o.get(n),"_").concat(i.get(a),"_").concat(r):e})).join(" ");return{className:c,"data-class":u}}}function m(e,r){return v.apply(this,arguments)}function v(){return v=i(n().mark((function e(t,o){var i,a,s,u,c=arguments;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(i=c.length,a=new Array(i>2?i-2:0),s=2;s<i;s++)a[s-2]=c[s];return e.next=3,o.apply(void 0,a);case 3:return u=e.sent,e.abrupt("return",r({classnameHashtable:t.classnameHashtable},u));case 5:case"end":return e.stop()}}),e)}))),v.apply(this,arguments)}exports.cssScramblePlugin=function(){return{setup:function(e,r){return i(n().mark((function t(){var o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=r.classnameHashtable,e.$in.classNameScrambler=d(o),e.cn=function(){var r;return(r=e.$in).classNameScrambler.apply(r,arguments).className},t.abrupt("return",e);case 4:case"end":return t.stop()}}),t)})))()},create:function(e){return i(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return c.hookMethod(e,"info",m),r.abrupt("return",e);case 2:case"end":return r.stop()}}),r)})))()}}},exports.numberToCssClass=y;
package/lib/index.es9.cjs CHANGED
@@ -3,86 +3,68 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
-
7
6
  var core = require('@merkur/core');
8
-
9
7
  var classnames = require('classnames');
10
-
11
8
  function _interopDefaultLegacy(e) {
12
9
  return e && typeof e === 'object' && 'default' in e ? e : {
13
10
  'default': e
14
11
  };
15
12
  }
16
-
17
13
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
18
-
19
14
  const CLASSNAME_CHARS = ('abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '-').split('');
20
15
  const EXTENDED_CLASSNAME_CHARS = (CLASSNAME_CHARS.join('') + '0123456789').split('');
21
-
22
16
  function numberToCssClass(number) {
23
17
  if (number < CLASSNAME_CHARS.length) {
24
18
  return CLASSNAME_CHARS[number];
25
- } // we have to "shift" the number to adjust for the gap between base53 and
26
- // base64 encoding
27
-
19
+ }
28
20
 
21
+ // we have to "shift" the number to adjust for the gap between base53 and
22
+ // base64 encoding
29
23
  number += EXTENDED_CLASSNAME_CHARS.length - CLASSNAME_CHARS.length;
30
24
  let className = '';
31
-
32
25
  while (number >= CLASSNAME_CHARS.length) {
33
26
  className = EXTENDED_CLASSNAME_CHARS[number % EXTENDED_CLASSNAME_CHARS.length] + className;
34
27
  number = Math.floor(number / EXTENDED_CLASSNAME_CHARS.length);
35
28
  }
36
-
37
29
  if (number) {
38
30
  className = CLASSNAME_CHARS[number - 1] + className;
39
31
  } else {
40
32
  className = '_' + className;
41
33
  }
42
-
43
34
  return className;
44
35
  }
36
+
45
37
  /**
46
38
  * @param {Array<Array<string>, Array<string>>=} hashingTable
47
39
  * @return {function(...?(string|Object<string, boolean>))}
48
40
  */
49
-
50
-
51
41
  function scramblerFactory(hashingTable) {
52
42
  let uniqueHash, prefixes, mainParts;
53
43
  const prefixTable = hashingTable && new Map();
54
44
  const mainPartTable = hashingTable && new Map();
55
-
56
45
  if (hashingTable) {
57
46
  [uniqueHash, prefixes, mainParts] = hashingTable;
58
-
59
47
  for (let i = 0; i < prefixes.length; i++) {
60
48
  prefixTable.set(prefixes[i], numberToCssClass(i));
61
49
  }
62
-
63
50
  for (let i = 0; i < mainParts.length; i++) {
64
51
  mainPartTable.set(mainParts[i], numberToCssClass(i));
65
52
  }
66
53
  }
67
-
68
54
  return (widget, ...args) => {
69
55
  const classNamesSource = classnames__default["default"](...args);
70
-
71
56
  if (!hashingTable) {
72
57
  return {
73
58
  className: classNamesSource
74
59
  };
75
60
  }
76
-
77
61
  const processedClasses = classNamesSource.split(/\s+/).map(className => {
78
62
  const parts = className.split('-');
79
63
  const prefix = parts[0];
80
64
  const mainPart = parts.slice(1).join('-');
81
-
82
65
  if (!prefixTable.has(prefix) || !mainPartTable.has(mainPart)) {
83
66
  return className;
84
67
  }
85
-
86
68
  return `${prefixTable.get(prefix)}_${mainPartTable.get(mainPart)}_${uniqueHash}`;
87
69
  }).join(' ');
88
70
  return {
@@ -91,7 +73,6 @@ function scramblerFactory(hashingTable) {
91
73
  };
92
74
  };
93
75
  }
94
-
95
76
  function cssScramblePlugin() {
96
77
  return {
97
78
  async setup(widget, widgetDefinition) {
@@ -99,20 +80,15 @@ function cssScramblePlugin() {
99
80
  classnameHashtable
100
81
  } = widgetDefinition;
101
82
  widget.$in.classNameScrambler = scramblerFactory(classnameHashtable);
102
-
103
83
  widget.cn = (...args) => widget.$in.classNameScrambler(...args).className;
104
-
105
84
  return widget;
106
85
  },
107
-
108
86
  async create(widget) {
109
87
  core.hookMethod(widget, 'info', infoHook);
110
88
  return widget;
111
89
  }
112
-
113
90
  };
114
91
  }
115
-
116
92
  async function infoHook(widget, originalInfo, ...rest) {
117
93
  const result = await originalInfo(...rest);
118
94
  return {
@@ -120,6 +96,5 @@ async function infoHook(widget, originalInfo, ...rest) {
120
96
  ...result
121
97
  };
122
98
  }
123
-
124
99
  exports.cssScramblePlugin = cssScramblePlugin;
125
100
  exports.numberToCssClass = numberToCssClass;
package/lib/index.es9.mjs CHANGED
@@ -2,71 +2,58 @@ import { hookMethod } from '@merkur/core';
2
2
  import classnames from 'classnames';
3
3
  const CLASSNAME_CHARS = ('abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '-').split('');
4
4
  const EXTENDED_CLASSNAME_CHARS = (CLASSNAME_CHARS.join('') + '0123456789').split('');
5
-
6
5
  function numberToCssClass(number) {
7
6
  if (number < CLASSNAME_CHARS.length) {
8
7
  return CLASSNAME_CHARS[number];
9
- } // we have to "shift" the number to adjust for the gap between base53 and
10
- // base64 encoding
11
-
8
+ }
12
9
 
10
+ // we have to "shift" the number to adjust for the gap between base53 and
11
+ // base64 encoding
13
12
  number += EXTENDED_CLASSNAME_CHARS.length - CLASSNAME_CHARS.length;
14
13
  let className = '';
15
-
16
14
  while (number >= CLASSNAME_CHARS.length) {
17
15
  className = EXTENDED_CLASSNAME_CHARS[number % EXTENDED_CLASSNAME_CHARS.length] + className;
18
16
  number = Math.floor(number / EXTENDED_CLASSNAME_CHARS.length);
19
17
  }
20
-
21
18
  if (number) {
22
19
  className = CLASSNAME_CHARS[number - 1] + className;
23
20
  } else {
24
21
  className = '_' + className;
25
22
  }
26
-
27
23
  return className;
28
24
  }
25
+
29
26
  /**
30
27
  * @param {Array<Array<string>, Array<string>>=} hashingTable
31
28
  * @return {function(...?(string|Object<string, boolean>))}
32
29
  */
33
-
34
-
35
30
  function scramblerFactory(hashingTable) {
36
31
  let uniqueHash, prefixes, mainParts;
37
32
  const prefixTable = hashingTable && new Map();
38
33
  const mainPartTable = hashingTable && new Map();
39
-
40
34
  if (hashingTable) {
41
35
  [uniqueHash, prefixes, mainParts] = hashingTable;
42
-
43
36
  for (let i = 0; i < prefixes.length; i++) {
44
37
  prefixTable.set(prefixes[i], numberToCssClass(i));
45
38
  }
46
-
47
39
  for (let i = 0; i < mainParts.length; i++) {
48
40
  mainPartTable.set(mainParts[i], numberToCssClass(i));
49
41
  }
50
42
  }
51
-
52
43
  return (widget, ...args) => {
53
44
  const classNamesSource = classnames(...args);
54
-
55
45
  if (!hashingTable) {
56
46
  return {
57
47
  className: classNamesSource
58
48
  };
59
49
  }
60
-
61
50
  const processedClasses = classNamesSource.split(/\s+/).map(className => {
62
51
  const parts = className.split('-');
63
52
  const prefix = parts[0];
64
53
  const mainPart = parts.slice(1).join('-');
65
-
66
54
  if (!prefixTable.has(prefix) || !mainPartTable.has(mainPart)) {
67
55
  return className;
68
56
  }
69
-
70
57
  return `${prefixTable.get(prefix)}_${mainPartTable.get(mainPart)}_${uniqueHash}`;
71
58
  }).join(' ');
72
59
  return {
@@ -75,7 +62,6 @@ function scramblerFactory(hashingTable) {
75
62
  };
76
63
  };
77
64
  }
78
-
79
65
  function cssScramblePlugin() {
80
66
  return {
81
67
  async setup(widget, widgetDefinition) {
@@ -83,20 +69,15 @@ function cssScramblePlugin() {
83
69
  classnameHashtable
84
70
  } = widgetDefinition;
85
71
  widget.$in.classNameScrambler = scramblerFactory(classnameHashtable);
86
-
87
72
  widget.cn = (...args) => widget.$in.classNameScrambler(...args).className;
88
-
89
73
  return widget;
90
74
  },
91
-
92
75
  async create(widget) {
93
76
  hookMethod(widget, 'info', infoHook);
94
77
  return widget;
95
78
  }
96
-
97
79
  };
98
80
  }
99
-
100
81
  async function infoHook(widget, originalInfo, ...rest) {
101
82
  const result = await originalInfo(...rest);
102
83
  return {
@@ -104,5 +85,4 @@ async function infoHook(widget, originalInfo, ...rest) {
104
85
  ...result
105
86
  };
106
87
  }
107
-
108
88
  export { cssScramblePlugin, numberToCssClass };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/plugin-css-scrambler",
3
- "version": "0.29.0",
3
+ "version": "0.30.0",
4
4
  "description": "Merkur plugin for scrambling CSS classes.",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -66,5 +66,5 @@
66
66
  "classnames": "^2.3.1",
67
67
  "postcss-selector-parser": "^6.0.10"
68
68
  },
69
- "gitHead": "ddc13f0ef4d1b18a02461011dae5df49d55f03a6"
69
+ "gitHead": "13a0ac12f77f381b1d829cffe9b21d453c26ca7a"
70
70
  }
package/jest.config.js DELETED
@@ -1,3 +0,0 @@
1
- const defaultConfig = require('../../jest.config.js');
2
-
3
- module.exports = { ...defaultConfig };