@tamagui/simple-hash 1.108.3 → 1.109.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/dist/cjs/index.js CHANGED
@@ -20,13 +20,19 @@ module.exports = __toCommonJS(src_exports);
20
20
  const cache = /* @__PURE__ */ new Map(), simpleHash = (str, hashMin = 10) => {
21
21
  if (cache.has(str))
22
22
  return cache.get(str);
23
- let hash = 0, valids = "";
23
+ let hash = 0, valids = "", added = 0;
24
24
  const len = str.length;
25
25
  for (let i = 0; i < len; i++) {
26
- const char = str.charCodeAt(i);
27
- if (hashMin !== "strict" && (char === 46 && (valids += "d0t"), isValidCSSCharCode(char) && len <= hashMin)) {
28
- valids += str[i];
29
- continue;
26
+ if (hashMin !== "strict" && added <= hashMin) {
27
+ const char = str.charCodeAt(i);
28
+ if (char === 46) {
29
+ valids += "--";
30
+ continue;
31
+ }
32
+ if (isValidCSSCharCode(char)) {
33
+ added++, valids += str[i];
34
+ continue;
35
+ }
30
36
  }
31
37
  hash = hashChar(hash, str[i]);
32
38
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,QAAQ,oBAAI,IAAI,GAET,aAAa,CAAC,KAAa,UAA6B,OAAO;AAC1E,MAAI,MAAM,IAAI,GAAG;AACf,WAAO,MAAM,IAAI,GAAG;AAEtB,MAAI,OAAO,GACP,SAAS;AACb,QAAM,MAAM,IAAI;AAChB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAM,OAAO,IAAI,WAAW,CAAC;AAE7B,QAAI,YAAY,aACV,SAAS,OACX,UAAU,QAGR,mBAAmB,IAAI,KAAK,OAAO,UAAS;AAC9C,gBAAU,IAAI,CAAC;AACf;AAAA,IACF;AAEF,WAAO,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,EAC9B;AACA,QAAM,MAAM,UAAU,OAAO,KAAK,IAAI,IAAI,IAAI;AAC9C,SAAI,MAAM,OAAO,OACf,MAAM,MAAM,GAEd,MAAM,IAAI,KAAK,GAAG,GACX;AACT,GAEM,WAAW,CAAC,MAAc,MAAe,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,WAAW,CAAC,IAAK;AAExF,SAAS,mBAAmB,MAAc;AACxC;AAAA;AAAA,IAEG,QAAQ,MAAM,QAAQ;AAAA,IAEtB,QAAQ,MAAM,QAAQ;AAAA,IAEvB,SAAS;AAAA,IAET,SAAS;AAAA,IAER,QAAQ,MAAM,QAAQ;AAAA;AAE3B;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,QAAQ,oBAAI,IAAI,GAET,aAAa,CAAC,KAAa,UAA6B,OAAO;AAC1E,MAAI,MAAM,IAAI,GAAG;AACf,WAAO,MAAM,IAAI,GAAG;AAGtB,MAAI,OAAO,GACP,SAAS,IACT,QAAQ;AACZ,QAAM,MAAM,IAAI;AAEhB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,QAAI,YAAY,YAAY,SAAS,SAAS;AAC5C,YAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,UAAI,SAAS,IAAI;AACf,kBAAU;AACV;AAAA,MACF;AACA,UAAI,mBAAmB,IAAI,GAAG;AAC5B,iBACA,UAAU,IAAI,CAAC;AACf;AAAA,MACF;AAAA,IACF;AACA,WAAO,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,EAC9B;AAEA,QAAM,MAAM,UAAU,OAAO,KAAK,IAAI,IAAI,IAAI;AAE9C,SAAI,MAAM,OAAO,OACf,MAAM,MAAM,GAEd,MAAM,IAAI,KAAK,GAAG,GAEX;AACT,GAEM,WAAW,CAAC,MAAc,MAAe,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,WAAW,CAAC,IAAK;AAExF,SAAS,mBAAmB,MAAc;AACxC;AAAA;AAAA,IAEG,QAAQ,MAAM,QAAQ;AAAA,IAEtB,QAAQ,MAAM,QAAQ;AAAA,IAEvB,SAAS;AAAA,IAET,SAAS;AAAA,IAER,QAAQ,MAAM,QAAQ;AAAA;AAE3B;",
5
5
  "names": []
6
6
  }
@@ -22,11 +22,17 @@ var cache = /* @__PURE__ */ new Map(), simpleHash = function(str) {
22
22
  var hashMin = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 10;
23
23
  if (cache.has(str))
24
24
  return cache.get(str);
25
- for (var hash = 0, valids = "", len = str.length, i = 0; i < len; i++) {
26
- var char = str.charCodeAt(i);
27
- if (hashMin !== "strict" && (char === 46 && (valids += "d0t"), isValidCSSCharCode(char) && len <= hashMin)) {
28
- valids += str[i];
29
- continue;
25
+ for (var hash = 0, valids = "", added = 0, len = str.length, i = 0; i < len; i++) {
26
+ if (hashMin !== "strict" && added <= hashMin) {
27
+ var char = str.charCodeAt(i);
28
+ if (char === 46) {
29
+ valids += "--";
30
+ continue;
31
+ }
32
+ if (isValidCSSCharCode(char)) {
33
+ added++, valids += str[i];
34
+ continue;
35
+ }
30
36
  }
31
37
  hash = hashChar(hash, str[i]);
32
38
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/core/simple-hash/src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;IAAMA,QAAQ,oBAAIC,IAAAA,GAELC,aAAa,SAACC,KAAAA;MAAaC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA6B;AACnE,MAAIJ,MAAMK,IAAIF,GAAAA;AACZ,WAAOH,MAAMM,IAAIH,GAAAA;AAKnB,WAHII,OAAO,GACPC,SAAS,IACPC,MAAMN,IAAIO,QACPC,IAAI,GAAGA,IAAIF,KAAKE,KAAK;AAC5B,QAAMC,OAAOT,IAAIU,WAAWF,CAAAA;AAE5B,QAAIP,YAAY,aACVQ,SAAS,OACXJ,UAAU,QAGRM,mBAAmBF,IAAAA,KAASH,OAAOL,UAAS;AAC9CI,gBAAUL,IAAIQ,CAAAA;AACd;IACF;AAEFJ,WAAOQ,SAASR,MAAMJ,IAAIQ,CAAAA,CAAE;EAC9B;AACA,MAAMK,MAAMR,UAAUD,OAAOU,KAAKC,IAAIX,IAAAA,IAAQ;AAC9C,SAAIP,MAAMmB,OAAO,OACfnB,MAAMoB,MAAK,GAEbpB,MAAMqB,IAAIlB,KAAKa,GAAAA,GACRA;AACT,GAEMD,WAAW,SAACR,MAAce,GAAAA;SAAeL,KAAKM,KAAK,IAAIhB,IAAAA,IAAQe,EAAET,WAAW,CAAA,IAAM;;AAExF,SAASC,mBAAmBU,MAAY;AACtC;;IAEGA,QAAQ,MAAMA,QAAQ;IAEtBA,QAAQ,MAAMA,QAAQ;IAEvBA,SAAS;IAETA,SAAS;IAERA,QAAQ,MAAMA,QAAQ;;AAE3B;",
5
- "names": ["cache", "Map", "simpleHash", "str", "hashMin", "has", "get", "hash", "valids", "len", "length", "i", "char", "charCodeAt", "isValidCSSCharCode", "hashChar", "res", "Math", "abs", "size", "clear", "set", "c", "imul", "code"]
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;IAAMA,QAAQ,oBAAIC,IAAAA,GAELC,aAAa,SAACC,KAAAA;MAAaC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA6B;AACnE,MAAIJ,MAAMK,IAAIF,GAAAA;AACZ,WAAOH,MAAMM,IAAIH,GAAAA;AAQnB,WALII,OAAO,GACPC,SAAS,IACTC,QAAQ,GACNC,MAAMP,IAAIQ,QAEPC,IAAI,GAAGA,IAAIF,KAAKE,KAAK;AAC5B,QAAIR,YAAY,YAAYK,SAASL,SAAS;AAC5C,UAAMS,OAAOV,IAAIW,WAAWF,CAAAA;AAC5B,UAAIC,SAAS,IAAI;AACfL,kBAAU;AACV;MACF;AACA,UAAIO,mBAAmBF,IAAAA,GAAO;AAC5BJ,iBACAD,UAAUL,IAAIS,CAAAA;AACd;MACF;IACF;AACAL,WAAOS,SAAST,MAAMJ,IAAIS,CAAAA,CAAE;EAC9B;AAEA,MAAMK,MAAMT,UAAUD,OAAOW,KAAKC,IAAIZ,IAAAA,IAAQ;AAE9C,SAAIP,MAAMoB,OAAO,OACfpB,MAAMqB,MAAK,GAEbrB,MAAMsB,IAAInB,KAAKc,GAAAA,GAERA;AACT,GAEMD,WAAW,SAACT,MAAcgB,GAAAA;SAAeL,KAAKM,KAAK,IAAIjB,IAAAA,IAAQgB,EAAET,WAAW,CAAA,IAAM;;AAExF,SAASC,mBAAmBU,MAAY;AACtC;;IAEGA,QAAQ,MAAMA,QAAQ;IAEtBA,QAAQ,MAAMA,QAAQ;IAEvBA,SAAS;IAETA,SAAS;IAERA,QAAQ,MAAMA,QAAQ;;AAE3B;",
5
+ "names": ["cache", "Map", "simpleHash", "str", "hashMin", "has", "get", "hash", "valids", "added", "len", "length", "i", "char", "charCodeAt", "isValidCSSCharCode", "hashChar", "res", "Math", "abs", "size", "clear", "set", "c", "imul", "code"]
6
6
  }
package/dist/esm/index.js CHANGED
@@ -1,13 +1,19 @@
1
1
  const cache = /* @__PURE__ */ new Map(), simpleHash = (str, hashMin = 10) => {
2
2
  if (cache.has(str))
3
3
  return cache.get(str);
4
- let hash = 0, valids = "";
4
+ let hash = 0, valids = "", added = 0;
5
5
  const len = str.length;
6
6
  for (let i = 0; i < len; i++) {
7
- const char = str.charCodeAt(i);
8
- if (hashMin !== "strict" && (char === 46 && (valids += "d0t"), isValidCSSCharCode(char) && len <= hashMin)) {
9
- valids += str[i];
10
- continue;
7
+ if (hashMin !== "strict" && added <= hashMin) {
8
+ const char = str.charCodeAt(i);
9
+ if (char === 46) {
10
+ valids += "--";
11
+ continue;
12
+ }
13
+ if (isValidCSSCharCode(char)) {
14
+ added++, valids += str[i];
15
+ continue;
16
+ }
11
17
  }
12
18
  hash = hashChar(hash, str[i]);
13
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,MAAM,QAAQ,oBAAI,IAAI,GAET,aAAa,CAAC,KAAa,UAA6B,OAAO;AAC1E,MAAI,MAAM,IAAI,GAAG;AACf,WAAO,MAAM,IAAI,GAAG;AAEtB,MAAI,OAAO,GACP,SAAS;AACb,QAAM,MAAM,IAAI;AAChB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,UAAM,OAAO,IAAI,WAAW,CAAC;AAE7B,QAAI,YAAY,aACV,SAAS,OACX,UAAU,QAGR,mBAAmB,IAAI,KAAK,OAAO,UAAS;AAC9C,gBAAU,IAAI,CAAC;AACf;AAAA,IACF;AAEF,WAAO,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,EAC9B;AACA,QAAM,MAAM,UAAU,OAAO,KAAK,IAAI,IAAI,IAAI;AAC9C,SAAI,MAAM,OAAO,OACf,MAAM,MAAM,GAEd,MAAM,IAAI,KAAK,GAAG,GACX;AACT,GAEM,WAAW,CAAC,MAAc,MAAe,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,WAAW,CAAC,IAAK;AAExF,SAAS,mBAAmB,MAAc;AACxC;AAAA;AAAA,IAEG,QAAQ,MAAM,QAAQ;AAAA,IAEtB,QAAQ,MAAM,QAAQ;AAAA,IAEvB,SAAS;AAAA,IAET,SAAS;AAAA,IAER,QAAQ,MAAM,QAAQ;AAAA;AAE3B;",
4
+ "mappings": "AAAA,MAAM,QAAQ,oBAAI,IAAI,GAET,aAAa,CAAC,KAAa,UAA6B,OAAO;AAC1E,MAAI,MAAM,IAAI,GAAG;AACf,WAAO,MAAM,IAAI,GAAG;AAGtB,MAAI,OAAO,GACP,SAAS,IACT,QAAQ;AACZ,QAAM,MAAM,IAAI;AAEhB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,QAAI,YAAY,YAAY,SAAS,SAAS;AAC5C,YAAM,OAAO,IAAI,WAAW,CAAC;AAC7B,UAAI,SAAS,IAAI;AACf,kBAAU;AACV;AAAA,MACF;AACA,UAAI,mBAAmB,IAAI,GAAG;AAC5B,iBACA,UAAU,IAAI,CAAC;AACf;AAAA,MACF;AAAA,IACF;AACA,WAAO,SAAS,MAAM,IAAI,CAAC,CAAC;AAAA,EAC9B;AAEA,QAAM,MAAM,UAAU,OAAO,KAAK,IAAI,IAAI,IAAI;AAE9C,SAAI,MAAM,OAAO,OACf,MAAM,MAAM,GAEd,MAAM,IAAI,KAAK,GAAG,GAEX;AACT,GAEM,WAAW,CAAC,MAAc,MAAe,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,WAAW,CAAC,IAAK;AAExF,SAAS,mBAAmB,MAAc;AACxC;AAAA;AAAA,IAEG,QAAQ,MAAM,QAAQ;AAAA,IAEtB,QAAQ,MAAM,QAAQ;AAAA,IAEvB,SAAS;AAAA,IAET,SAAS;AAAA,IAER,QAAQ,MAAM,QAAQ;AAAA;AAE3B;",
5
5
  "names": []
6
6
  }
@@ -2,13 +2,20 @@ const cache = /* @__PURE__ */new Map(),
2
2
  simpleHash = (str, hashMin = 10) => {
3
3
  if (cache.has(str)) return cache.get(str);
4
4
  let hash = 0,
5
- valids = "";
5
+ valids = "",
6
+ added = 0;
6
7
  const len = str.length;
7
8
  for (let i = 0; i < len; i++) {
8
- const char = str.charCodeAt(i);
9
- if (hashMin !== "strict" && (char === 46 && (valids += "d0t"), isValidCSSCharCode(char) && len <= hashMin)) {
10
- valids += str[i];
11
- continue;
9
+ if (hashMin !== "strict" && added <= hashMin) {
10
+ const char = str.charCodeAt(i);
11
+ if (char === 46) {
12
+ valids += "--";
13
+ continue;
14
+ }
15
+ if (isValidCSSCharCode(char)) {
16
+ added++, valids += str[i];
17
+ continue;
18
+ }
12
19
  }
13
20
  hash = hashChar(hash, str[i]);
14
21
  }
@@ -1 +1 @@
1
- {"version":3,"names":["cache","Map","simpleHash","str","hashMin","has","get","hash","valids","len","length","i","char","charCodeAt","isValidCSSCharCode","hashChar","res","Math","abs","size","clear","set","c","imul","code"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,MAAMA,KAAA,GAAQ,mBAAIC,GAAA,CAAI;EAETC,UAAA,GAAaA,CAACC,GAAA,EAAaC,OAAA,GAA6B,OAAO;IAC1E,IAAIJ,KAAA,CAAMK,GAAA,CAAIF,GAAG,GACf,OAAOH,KAAA,CAAMM,GAAA,CAAIH,GAAG;IAEtB,IAAII,IAAA,GAAO;MACPC,MAAA,GAAS;IACb,MAAMC,GAAA,GAAMN,GAAA,CAAIO,MAAA;IAChB,SAASC,CAAA,GAAI,GAAGA,CAAA,GAAIF,GAAA,EAAKE,CAAA,IAAK;MAC5B,MAAMC,IAAA,GAAOT,GAAA,CAAIU,UAAA,CAAWF,CAAC;MAE7B,IAAIP,OAAA,KAAY,aACVQ,IAAA,KAAS,OACXJ,MAAA,IAAU,QAGRM,kBAAA,CAAmBF,IAAI,KAAKH,GAAA,IAAOL,OAAA,GAAS;QAC9CI,MAAA,IAAUL,GAAA,CAAIQ,CAAC;QACf;MACF;MAEFJ,IAAA,GAAOQ,QAAA,CAASR,IAAA,EAAMJ,GAAA,CAAIQ,CAAC,CAAC;IAC9B;IACA,MAAMK,GAAA,GAAMR,MAAA,IAAUD,IAAA,GAAOU,IAAA,CAAKC,GAAA,CAAIX,IAAI,IAAI;IAC9C,OAAIP,KAAA,CAAMmB,IAAA,GAAO,OACfnB,KAAA,CAAMoB,KAAA,CAAM,GAEdpB,KAAA,CAAMqB,GAAA,CAAIlB,GAAA,EAAKa,GAAG,GACXA,GAAA;EACT;EAEMD,QAAA,GAAWA,CAACR,IAAA,EAAce,CAAA,KAAeL,IAAA,CAAKM,IAAA,CAAK,IAAIhB,IAAI,IAAIe,CAAA,CAAET,UAAA,CAAW,CAAC,IAAK;AAExF,SAASC,mBAAmBU,IAAA,EAAc;EACxC;IAAA;IAEGA,IAAA,IAAQ,MAAMA,IAAA,IAAQ;IAAA;IAEtBA,IAAA,IAAQ,MAAMA,IAAA,IAAQ;IAAA;IAEvBA,IAAA,KAAS;IAAA;IAETA,IAAA,KAAS;IAAA;IAERA,IAAA,IAAQ,MAAMA,IAAA,IAAQ;EAAA;AAE3B","ignoreList":[]}
1
+ {"version":3,"names":["cache","Map","simpleHash","str","hashMin","has","get","hash","valids","added","len","length","i","char","charCodeAt","isValidCSSCharCode","hashChar","res","Math","abs","size","clear","set","c","imul","code"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,MAAMA,KAAA,GAAQ,mBAAIC,GAAA,CAAI;EAETC,UAAA,GAAaA,CAACC,GAAA,EAAaC,OAAA,GAA6B,OAAO;IAC1E,IAAIJ,KAAA,CAAMK,GAAA,CAAIF,GAAG,GACf,OAAOH,KAAA,CAAMM,GAAA,CAAIH,GAAG;IAGtB,IAAII,IAAA,GAAO;MACPC,MAAA,GAAS;MACTC,KAAA,GAAQ;IACZ,MAAMC,GAAA,GAAMP,GAAA,CAAIQ,MAAA;IAEhB,SAASC,CAAA,GAAI,GAAGA,CAAA,GAAIF,GAAA,EAAKE,CAAA,IAAK;MAC5B,IAAIR,OAAA,KAAY,YAAYK,KAAA,IAASL,OAAA,EAAS;QAC5C,MAAMS,IAAA,GAAOV,GAAA,CAAIW,UAAA,CAAWF,CAAC;QAC7B,IAAIC,IAAA,KAAS,IAAI;UACfL,MAAA,IAAU;UACV;QACF;QACA,IAAIO,kBAAA,CAAmBF,IAAI,GAAG;UAC5BJ,KAAA,IACAD,MAAA,IAAUL,GAAA,CAAIS,CAAC;UACf;QACF;MACF;MACAL,IAAA,GAAOS,QAAA,CAAST,IAAA,EAAMJ,GAAA,CAAIS,CAAC,CAAC;IAC9B;IAEA,MAAMK,GAAA,GAAMT,MAAA,IAAUD,IAAA,GAAOW,IAAA,CAAKC,GAAA,CAAIZ,IAAI,IAAI;IAE9C,OAAIP,KAAA,CAAMoB,IAAA,GAAO,OACfpB,KAAA,CAAMqB,KAAA,CAAM,GAEdrB,KAAA,CAAMsB,GAAA,CAAInB,GAAA,EAAKc,GAAG,GAEXA,GAAA;EACT;EAEMD,QAAA,GAAWA,CAACT,IAAA,EAAcgB,CAAA,KAAeL,IAAA,CAAKM,IAAA,CAAK,IAAIjB,IAAI,IAAIgB,CAAA,CAAET,UAAA,CAAW,CAAC,IAAK;AAExF,SAASC,mBAAmBU,IAAA,EAAc;EACxC;IAAA;IAEGA,IAAA,IAAQ,MAAMA,IAAA,IAAQ;IAAA;IAEtBA,IAAA,IAAQ,MAAMA,IAAA,IAAQ;IAAA;IAEvBA,IAAA,KAAS;IAAA;IAETA,IAAA,KAAS;IAAA;IAERA,IAAA,IAAQ,MAAMA,IAAA,IAAQ;EAAA;AAE3B","ignoreList":[]}
@@ -2,11 +2,17 @@ var cache = /* @__PURE__ */ new Map(), simpleHash = function(str) {
2
2
  var hashMin = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 10;
3
3
  if (cache.has(str))
4
4
  return cache.get(str);
5
- for (var hash = 0, valids = "", len = str.length, i = 0; i < len; i++) {
6
- var char = str.charCodeAt(i);
7
- if (hashMin !== "strict" && (char === 46 && (valids += "d0t"), isValidCSSCharCode(char) && len <= hashMin)) {
8
- valids += str[i];
9
- continue;
5
+ for (var hash = 0, valids = "", added = 0, len = str.length, i = 0; i < len; i++) {
6
+ if (hashMin !== "strict" && added <= hashMin) {
7
+ var char = str.charCodeAt(i);
8
+ if (char === 46) {
9
+ valids += "--";
10
+ continue;
11
+ }
12
+ if (isValidCSSCharCode(char)) {
13
+ added++, valids += str[i];
14
+ continue;
15
+ }
10
16
  }
11
17
  hash = hashChar(hash, str[i]);
12
18
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/core/simple-hash/src/index.ts"],
4
- "mappings": "AAAA,IAAMA,QAAQ,oBAAIC,IAAAA,GAELC,aAAa,SAACC,KAAAA;MAAaC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA6B;AACnE,MAAIJ,MAAMK,IAAIF,GAAAA;AACZ,WAAOH,MAAMM,IAAIH,GAAAA;AAKnB,WAHII,OAAO,GACPC,SAAS,IACPC,MAAMN,IAAIO,QACPC,IAAI,GAAGA,IAAIF,KAAKE,KAAK;AAC5B,QAAMC,OAAOT,IAAIU,WAAWF,CAAAA;AAE5B,QAAIP,YAAY,aACVQ,SAAS,OACXJ,UAAU,QAGRM,mBAAmBF,IAAAA,KAASH,OAAOL,UAAS;AAC9CI,gBAAUL,IAAIQ,CAAAA;AACd;IACF;AAEFJ,WAAOQ,SAASR,MAAMJ,IAAIQ,CAAAA,CAAE;EAC9B;AACA,MAAMK,MAAMR,UAAUD,OAAOU,KAAKC,IAAIX,IAAAA,IAAQ;AAC9C,SAAIP,MAAMmB,OAAO,OACfnB,MAAMoB,MAAK,GAEbpB,MAAMqB,IAAIlB,KAAKa,GAAAA,GACRA;AACT,GAEMD,WAAW,SAACR,MAAce,GAAAA;SAAeL,KAAKM,KAAK,IAAIhB,IAAAA,IAAQe,EAAET,WAAW,CAAA,IAAM;;AAExF,SAASC,mBAAmBU,MAAY;AACtC;;IAEGA,QAAQ,MAAMA,QAAQ;IAEtBA,QAAQ,MAAMA,QAAQ;IAEvBA,SAAS;IAETA,SAAS;IAERA,QAAQ,MAAMA,QAAQ;;AAE3B;",
5
- "names": ["cache", "Map", "simpleHash", "str", "hashMin", "has", "get", "hash", "valids", "len", "length", "i", "char", "charCodeAt", "isValidCSSCharCode", "hashChar", "res", "Math", "abs", "size", "clear", "set", "c", "imul", "code"]
4
+ "mappings": "AAAA,IAAMA,QAAQ,oBAAIC,IAAAA,GAELC,aAAa,SAACC,KAAAA;MAAaC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA6B;AACnE,MAAIJ,MAAMK,IAAIF,GAAAA;AACZ,WAAOH,MAAMM,IAAIH,GAAAA;AAQnB,WALII,OAAO,GACPC,SAAS,IACTC,QAAQ,GACNC,MAAMP,IAAIQ,QAEPC,IAAI,GAAGA,IAAIF,KAAKE,KAAK;AAC5B,QAAIR,YAAY,YAAYK,SAASL,SAAS;AAC5C,UAAMS,OAAOV,IAAIW,WAAWF,CAAAA;AAC5B,UAAIC,SAAS,IAAI;AACfL,kBAAU;AACV;MACF;AACA,UAAIO,mBAAmBF,IAAAA,GAAO;AAC5BJ,iBACAD,UAAUL,IAAIS,CAAAA;AACd;MACF;IACF;AACAL,WAAOS,SAAST,MAAMJ,IAAIS,CAAAA,CAAE;EAC9B;AAEA,MAAMK,MAAMT,UAAUD,OAAOW,KAAKC,IAAIZ,IAAAA,IAAQ;AAE9C,SAAIP,MAAMoB,OAAO,OACfpB,MAAMqB,MAAK,GAEbrB,MAAMsB,IAAInB,KAAKc,GAAAA,GAERA;AACT,GAEMD,WAAW,SAACT,MAAcgB,GAAAA;SAAeL,KAAKM,KAAK,IAAIjB,IAAAA,IAAQgB,EAAET,WAAW,CAAA,IAAM;;AAExF,SAASC,mBAAmBU,MAAY;AACtC;;IAEGA,QAAQ,MAAMA,QAAQ;IAEtBA,QAAQ,MAAMA,QAAQ;IAEvBA,SAAS;IAETA,SAAS;IAERA,QAAQ,MAAMA,QAAQ;;AAE3B;",
5
+ "names": ["cache", "Map", "simpleHash", "str", "hashMin", "has", "get", "hash", "valids", "added", "len", "length", "i", "char", "charCodeAt", "isValidCSSCharCode", "hashChar", "res", "Math", "abs", "size", "clear", "set", "c", "imul", "code"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/simple-hash",
3
- "version": "1.108.3",
3
+ "version": "1.109.0",
4
4
  "sideEffects": false,
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -29,7 +29,7 @@
29
29
  }
30
30
  },
31
31
  "devDependencies": {
32
- "@tamagui/build": "1.108.3"
32
+ "@tamagui/build": "1.109.0"
33
33
  },
34
34
  "publishConfig": {
35
35
  "access": "public"
package/src/index.ts CHANGED
@@ -4,29 +4,35 @@ export const simpleHash = (str: string, hashMin: number | 'strict' = 10) => {
4
4
  if (cache.has(str)) {
5
5
  return cache.get(str)
6
6
  }
7
+
7
8
  let hash = 0
8
9
  let valids = ''
10
+ let added = 0
9
11
  const len = str.length
12
+
10
13
  for (let i = 0; i < len; i++) {
11
- const char = str.charCodeAt(i)
12
- // . => d0t
13
- if (hashMin !== 'strict') {
14
+ if (hashMin !== 'strict' && added <= hashMin) {
15
+ const char = str.charCodeAt(i)
14
16
  if (char === 46) {
15
- valids += 'd0t'
17
+ valids += '--'
18
+ continue
16
19
  }
17
- // dont do more than 10 non-hashed to avoid getting too girthy
18
- if (isValidCSSCharCode(char) && len <= hashMin) {
20
+ if (isValidCSSCharCode(char)) {
21
+ added++
19
22
  valids += str[i]
20
23
  continue
21
24
  }
22
25
  }
23
26
  hash = hashChar(hash, str[i])
24
27
  }
28
+
25
29
  const res = valids + (hash ? Math.abs(hash) : '')
30
+
26
31
  if (cache.size > 10_000) {
27
32
  cache.clear()
28
33
  }
29
34
  cache.set(str, res)
35
+
30
36
  return res
31
37
  }
32
38
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,QAAS,MAAM,YAAW,MAAM,GAAG,QAAQ,QA4BjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,QAAS,MAAM,YAAW,MAAM,GAAG,QAAQ,QAkCjE,CAAA"}