@sideid/id-profanity-filter 1.1.0 → 1.9.5

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.
Files changed (41) hide show
  1. package/dist/config/options.d.ts +258 -0
  2. package/dist/constants/categories/insult.d.ts +1 -1
  3. package/dist/constants/categories/sexual.d.ts +1 -1
  4. package/dist/constants/regions/batak.d.ts +1 -1
  5. package/dist/constants/regions/betawi.d.ts +1 -1
  6. package/dist/constants/regions/general.d.ts +1 -1
  7. package/dist/constants/regions/jawa.d.ts +1 -1
  8. package/dist/constants/regions/sunda.d.ts +1 -1
  9. package/dist/constants/wordList.d.ts +1 -1
  10. package/dist/core/analyzer.d.ts +4 -4
  11. package/dist/core/filter.d.ts +1 -1
  12. package/dist/core/matcher.d.ts +5 -5
  13. package/dist/index.d.ts +30 -42
  14. package/dist/index.esm.js +1070 -432
  15. package/dist/index.esm.js.map +1 -1
  16. package/dist/index.js +1101 -429
  17. package/dist/index.js.map +1 -1
  18. package/dist/types/index.d.ts +29 -41
  19. package/dist/utils/regexUtils.d.ts +64 -0
  20. package/dist/utils/similarityUtils.d.ts +57 -0
  21. package/dist/utils/stringUtils.d.ts +79 -0
  22. package/package.json +1 -1
  23. package/src/config/options.ts +178 -0
  24. package/src/constants/categories/index.ts +31 -31
  25. package/src/constants/categories/insult.ts +114 -114
  26. package/src/constants/categories/sexual.ts +99 -100
  27. package/src/constants/regions/batak.ts +17 -17
  28. package/src/constants/regions/betawi.ts +39 -39
  29. package/src/constants/regions/general.ts +111 -111
  30. package/src/constants/regions/index.ts +62 -62
  31. package/src/constants/regions/jawa.ts +102 -102
  32. package/src/constants/regions/sunda.ts +35 -35
  33. package/src/constants/wordList.ts +125 -125
  34. package/src/core/analyzer.ts +225 -204
  35. package/src/core/filter.ts +129 -129
  36. package/src/core/matcher.ts +259 -267
  37. package/src/index.ts +188 -133
  38. package/src/types/index.ts +88 -115
  39. package/src/utils/regexUtils.ts +203 -0
  40. package/src/utils/similarityUtils.ts +195 -0
  41. package/src/utils/stringUtils.ts +213 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants/regions/general.ts","../src/constants/regions/jawa.ts","../src/constants/regions/sunda.ts","../src/constants/regions/betawi.ts","../src/constants/categories/sexual.ts","../src/constants/categories/insult.ts","../src/constants/regions/batak.ts","../src/constants/wordList.ts","../src/core/matcher.ts","../src/core/filter.ts","../src/core/analyzer.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["escapeRegExp"],"mappings":";;;;AAEO,MAAM,OAAO,GAAoB;AACtC,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;AACrD,QAAA,WAAW,EAAE,sDAAsD;AACnE,QAAA,OAAO,EAAE,+DAA+D;AACzE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AACzB,QAAA,WAAW,EAAE,oDAAoD;AACjE,QAAA,OAAO,EAAE,+DAA+D;AACzE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;AACpC,QAAA,WAAW,EACT,2GAA2G;AAC7G,QAAA,OAAO,EACL,uEAAuE;AAC1E,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACrC,QAAA,WAAW,EAAE,sDAAsD;AACnE,QAAA,OAAO,EAAE,sDAAsD;AAChE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AACxB,QAAA,WAAW,EAAE,sDAAsD;AACnE,QAAA,OAAO,EAAE,sDAAsD;AAChE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACzB,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AACxB,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;AAC5B,QAAA,WAAW,EAAE,wDAAwD;AACrE,QAAA,OAAO,EACL,qEAAqE;AACxE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC3B,QAAA,WAAW,EAAE,wDAAwD;AACrE,QAAA,OAAO,EACL,qEAAqE;AACxE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC3B,QAAA,WAAW,EAAE,iDAAiD;AAC9D,QAAA,OAAO,EAAE,6DAA6D;AACvE,KAAA;CACF;AAE2B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;AC1GpD,MAAM,IAAI,GAAoB;AACnC,IAAA;AACE,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACvB,QAAA,WAAW,EAAE,iDAAiD;AAC9D,QAAA,OAAO,EAAE,4DAA4D;AACtE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACnE,QAAA,WAAW,EAAE,sCAAsC;AACnD,QAAA,OAAO,EAAE,iDAAiD;AAC3D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AACxB,QAAA,WAAW,EAAE,8BAA8B;AAC3C,QAAA,OAAO,EAAE,mDAAmD;AAC7D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;AACvC,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,OAAO,EAAE,iDAAiD;AAC3D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;AAChC,QAAA,WAAW,EACT,iEAAiE;AACnE,QAAA,OAAO,EACL,mEAAmE;AACtE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;AAClC,QAAA,WAAW,EAAE,wCAAwC;AACrD,QAAA,OAAO,EAAE,oDAAoD;AAC9D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC5B,QAAA,WAAW,EAAE,wCAAwC;AACrD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,CAAC,QAAQ,CAAC;AACnB,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,OAAO,EAAE,oCAAoC;AAC9C,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;AACjC,QAAA,WAAW,EAAE,sCAAsC;AACnD,QAAA,OAAO,EAAE,+DAA+D;AACzE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;AAC9B,QAAA,WAAW,EACT,mEAAmE;AACrE,QAAA,OAAO,EACL,mEAAmE;AACtE,KAAA;CACF;AAEwB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;ACjG9C,MAAM,KAAK,GAAoB;AACpC,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,CAAC,OAAO,CAAC;AAClB,QAAA,WAAW,EAAE,6DAA6D;AAC1E,QAAA,OAAO,EAAE,4DAA4D;AACtE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAC/B,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC7B,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;CACF;AAEyB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;AC9BhD,MAAM,MAAM,GAAoB;AACrC,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC5B,QAAA,WAAW,EACT,8EAA8E;AAChF,QAAA,OAAO,EAAE,sCAAsC;AAChD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;AAC/B,QAAA,WAAW,EACT,oFAAoF;AACtF,QAAA,OAAO,EACL,uEAAuE;AAC1E,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,KAAK,CAAC;AACxC,QAAA,WAAW,EACT,kEAAkE;AACpE,QAAA,OAAO,EAAE,sCAAsC;AAChD,KAAA;CACF;AAE0B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;AC9BlD,MAAM,MAAM,GAAoB;AACrC,IAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACvD,IAAA,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACpD,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACrD,IAAA,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAEtD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACzB,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,0CAA0C;AACpD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AACxB,QAAA,WAAW,EAAE,oCAAoC;AACjD,QAAA,OAAO,EAAE,yDAAyD;AACnE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACxB,QAAA,WAAW,EAAE,0DAA0D;AACvE,QAAA,OAAO,EAAE,oDAAoD;AAC9D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;AACtB,QAAA,WAAW,EAAE,iCAAiC;AAC9C,QAAA,OAAO,EAAE,oDAAoD;AAC9D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AACxB,QAAA,WAAW,EACT,kEAAkE;AACpE,QAAA,OAAO,EAAE,+CAA+C;AACzD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;AACjC,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,OAAO,EAAE,oDAAoD;AAC9D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACvB,QAAA,WAAW,EAAE,uCAAuC;AACpD,QAAA,OAAO,EAAE,iDAAiD;AAC3D,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACzB,QAAA,WAAW,EAAE,sDAAsD;AACnE,QAAA,OAAO,EAAE,+CAA+C;AACzD,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;AAC3B,QAAA,WAAW,EACT,+DAA+D;AACjE,QAAA,OAAO,EAAE,mDAAmD;AAC7D,KAAA;CACF;AAE0B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;AC3FlD,MAAM,MAAM,GAAoB;AACrC,IAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACvD,IAAA,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACpD,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACrD,IAAA,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAEtD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1B,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,+DAA+D;AACzE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC9B,QAAA,WAAW,EACT,+DAA+D;AACjE,QAAA,OAAO,EAAE,iEAAiE;AAC3E,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1B,QAAA,WAAW,EACT,+DAA+D;AACjE,QAAA,OAAO,EAAE,iEAAiE;AAC3E,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;AACjC,QAAA,WAAW,EACT,+DAA+D;AACjE,QAAA,OAAO,EACL,sEAAsE;AACzE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1B,QAAA,WAAW,EACT,+DAA+D;AACjE,QAAA,OAAO,EACL,sEAAsE;AACzE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC5B,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;AACnC,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,wDAAwD;AAClE,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,OAAO,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;AAC9C,QAAA,WAAW,EAAE,2DAA2D;AACxE,QAAA,OAAO,EACL,mEAAmE;AACtE,KAAA;CACF;AAE0B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;AC7GlD,MAAM,KAAK,GAAoB;AACpC,IAAA;AACE,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,CAAC,QAAQ,CAAC;AACnB,QAAA,WAAW,EAAE,kDAAkD;AAC/D,QAAA,OAAO,EAAE,2BAA2B;AACrC,KAAA;CACF;AAEyB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;AC8ChD,MAAM,WAAW,GAAoB;AAC1C,IAAA,GAAG,OAAO;AACV,IAAA,GAAG,IAAI;AACP,IAAA,GAAG,KAAK;AACR,IAAA,GAAG,MAAM;AACT,IAAA,GAAG,KAAK;;;;;;;;;;;;;;CAcT;AAEiC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;AAErE;;AAEG;AACkC;KAClC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG;KACrC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;SC/EV,aAAa,CAC3B,IAAY,EACZ,UAAyB,EAAE,EAAA;IAE3B,MAAM,EACJ,QAAQ,GAAG,EAAE,EACb,eAAe,GAAG,IAAI,EACtB,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,EAAE,EACd,UAAU,EACV,OAAO,EACP,iBAAiB,GAAG,CAAC,GACtB,GAAG,OAAO;AAEX,IAAA,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC;IAE1C,IAAI,YAAY,GAAa,QAAQ;AAErC,IAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,IAAI,UAAU,IAAI,OAAO,IAAI,iBAAiB,GAAG,CAAC,EAAE;AAClD,YAAA,YAAY,GAAG;AACZ,iBAAA,MAAM,CAAC,CAAC,IAAI,KAAI;gBACf,MAAM,aAAa,GAAG;sBAClB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;sBACjC,IAAI;AACR,gBAAA,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;AAClE,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB;AACxD,gBAAA,OAAO,aAAa,IAAI,WAAW,IAAI,aAAa;AACtD,aAAC;iBACA,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;;aACtB;AACL,YAAA,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;;;IAIvD,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CACxD;AAED,IAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,QAAA,OAAO,EAAE;;AAGX,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU;AAEjC,IAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,QAAA,MAAM,OAAO,GAAG,cAAc,GAAG,IAAI,GAAG,MAAMA,cAAY,CAAC,IAAI,CAAC,KAAK;QAErE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;AAEvC,QAAA,IAAI,KAAK;AACT,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;;AAEvC,KAAC,CAAC;;IAGF,IAAI,eAAe,EAAE;AACnB,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;;AAE5B,YAAA,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC;AAChD,YAAA,MAAM,SAAS,GAAG,IAAI,MAAM,CAC1B,cAAc,GAAG,WAAW,GAAG,CAAM,GAAA,EAAA,WAAW,KAAK,EACrD,IAAI,CACL;AAGD,YAAA,OAAO,CAAS,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;;AAIjC,YAAA,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC;AACrD,YAAA,OAAO,CAAS,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;gBACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAEnC,SAAC,CAAC;;AAGJ,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5B;AAEA;;;;;AAKG;AACH,SAAS,aAAa,CAAC,IAAY,EAAA;AACjC,IAAA,OAAO;AACJ,SAAA,WAAW;AACX,SAAA,SAAS,CAAC,KAAK,CAAC;AAChB,SAAA,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;AAC/B,SAAA,IAAI,EAAE;AACX;AAEA;;;;;AAKG;AACH,SAASA,cAAY,CAAC,MAAc,EAAA;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACtD;AAEA;;;;;AAKG;AACH,SAAS,sBAAsB,CAAC,IAAY,EAAA;AAC1C,IAAA,MAAM,OAAO,GAA6B;AACxC,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAClB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACvB,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACb,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACb,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACb,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAClB,QAAA,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KACd;AAED,IAAA,OAAO;SACJ,KAAK,CAAC,EAAE;AACR,SAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACZ,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AACpC,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;QAEvC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,OAAO,CAAA,CAAA,EAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;;aAC9B;AACL,YAAA,OAAOA,cAAY,CAAC,IAAI,CAAC;;AAE7B,KAAC;SACA,IAAI,CAAC,EAAE,CAAC;AACb;AAEA;;;;;AAKG;AACH,SAAS,oBAAoB,CAAC,IAAY,EAAA;AACxC,IAAA,OAAO;SACJ,KAAK,CAAC,EAAE;SACR,GAAG,CAAC,CAAC,IAAI,KAAKA,cAAY,CAAC,IAAI,CAAC;SAChC,IAAI,CAAC,eAAe,CAAC;AAC1B;AAEA;;;;;;AAMG;SACa,yBAAyB,CACvC,IAAY,EACZ,UAAyB,EAAE,EAAA;IAE3B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;AAC5C,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,EAAE;;AAGX,IAAA,OAAO;AACJ,SAAA,GAAG,CAAC,CAAC,IAAI,KAAI;QACZ,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CACjC,CAAC,GAAG,KACF,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;aAC5C,GAAG,CAAC,OAAO;gBACV,GAAG,CAAC,OAAO,CAAC,IAAI,CACd,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACtD,CAAC,CACP;AAED,QAAA,OAAO,UAAU;AACnB,KAAC;SACA,MAAM,CAAC,CAAC,IAAI,KAA4B,IAAI,KAAK,SAAS,CAAC;AAChE;AAEA;;;;;AAKG;AACG,SAAU,cAAc,CAC5B,YAA6B,EAAA;AAE7B,IAAA,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB;AAE/C,IAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,QAAA,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/B,KAAC,CAAC;AAEF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/B;AAEA;;;;;AAKG;AACG,SAAU,WAAW,CAAC,YAA6B,EAAA;AACvD,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU;AAEjC,IAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1B,KAAC,CAAC;AAEF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5B;AAEA;;;;;AAKG;AACG,SAAU,iBAAiB,CAAC,YAA6B,EAAA;AAC7D,IAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,QAAA,OAAO,CAAC;;AAGV,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1D,IAAA,MAAM,eAAe,GAAsC;AACzD,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,UAAU,EAAE,GAAG;KAChB;IAED,IAAI,WAAW,GAAG,CAAC;AACnB,IAAA,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;QAC5B,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG;AAC5D,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,cAAc;QACnD,WAAW,IAAI,YAAY;AAC7B,KAAC,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC,MAAM;;;AAIrD,IAAA,OAAO,GAAG,GAAG,WAAW,GAAG,GAAG,GAAG,WAAW;AAC9C;;ACvQA;;;;;;AAMG;SACa,MAAM,CACpB,IAAY,EACZ,UAAyB,EAAE,EAAA;IAE3B,MAAM,EACJ,WAAW,GAAG,GAAG,EACjB,cAAc,GAAG,IAAI,EACrB,eAAe,GAAG,IAAI,EACtB,SAAS,GAAG,EAAE,EACd,cAAc,GAAG,KAAK,GACvB,GAAG,OAAO;AAEX,IAAA,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE;AAClC,QAAA,GAAG,OAAO;QACV,eAAe;QACf,SAAS;QACT,cAAc;AACf,KAAA,CAAC;IAEF,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC;AAE7D,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO;AACL,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,YAAY,EAAE,EAAE;SACjB;;IAGH,IAAI,YAAY,GAAG,IAAI;IAEvB,MAAM,YAAY,GAIb,EAAE;AAEP,IAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;QACvB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAChC,CAAC,CAAC,KACA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;aAC1C,CAAC,CAAC,OAAO;gBACR,CAAC,CAAC,OAAO,CAAC,IAAI,CACZ,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACtD,CAAC,CACP;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAM,GAAA,EAAAA,cAAY,CAAC,IAAI,CAAC,CAAA,GAAA,CAAK,EAAE,IAAI,CAAC;AAE7D,QAAA,IAAI,KAAK;AACT,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE;AAClD,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;YAE7B,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAAE;YAEpD,MAAM,YAAY,GAAG;kBACjB,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM;AACxC,kBAAE,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC;YAEhD,YAAY,CAAC,IAAI,CAAC;AAChB,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,QAAQ,EAAE,YAAY;gBACtB,QAAQ;AACT,aAAA,CAAC;AAEF,YAAA,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,CAAM,GAAA,EAAAA,cAAY,CAAC,YAAY,CAAC,CAAA,GAAA,CAAK,EACrC,GAAG,CACJ;YACD,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC;;AAEnE,KAAC,CAAC;;;IAKF,OAAO;AACL,QAAA,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,YAAY,CAAC,MAAM;QAC7B,YAAY;KACb;AACH;AAEA;;;;;;AAMG;SACa,SAAS,CAAC,IAAY,EAAE,UAAyB,EAAE,EAAA;IACjE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;AAC5C,IAAA,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;AAC3B;AAEA;;;;;AAKG;AACH,SAASA,cAAY,CAAC,MAAc,EAAA;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACtD;AAEA;;;;;AAKG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,WAAmB,EAAA;AAC1D,IAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QACpB,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;;IAIxC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9E;;ACjHA;;;;;;AAMG;SACa,OAAO,CACrB,IAAY,EACZ,UAAyB,EAAE,EAAA;IAE3B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;AAE5C,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO;AACL,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,aAAa,EAAE,CAAC;SACjB;;IAGH,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC;AAC7D,IAAA,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC;AAC/C,IAAA,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC;AACzC,IAAA,MAAM,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC;IAErD,OAAO;AACL,QAAA,YAAY,EAAE,IAAI;QAClB,OAAO;QACP,YAAY;QACZ,UAAU;QACV,OAAO;QACP,aAAa;KACd;AACH;AAEA;;;;;;AAMG;SACa,YAAY,CAC1B,KAAe,EACf,UAAyB,EAAE,EAAA;AAU3B,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3D,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM;IAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,aAAa,EAC3C,CAAC,CACF;AACD,IAAA,MAAM,eAAe,GAAG,YAAY,GAAG,CAAC,GAAG,aAAa,GAAG,YAAY,GAAG,CAAC;AAC3E,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC;IACpE,MAAM,aAAa,GAA2B,EAAE;AAEhD,IAAA,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AACjC,QAAA,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9D,KAAC,CAAC;AAEF,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa;AAC/C,SAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,QAA6B,CAAC;AAErD,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;IAC9D,MAAM,WAAW,GAA2B,EAAE;AAE9C,IAAA,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AAC5B,QAAA,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACtD,KAAC,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW;AAC1C,SAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,MAAgB,CAAC;AAEtC,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;IAC5D,MAAM,SAAS,GAA2B,EAAE;AAE5C,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACxB,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9C,KAAC,CAAC;AAEF,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS;AAC/C,SAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA,KAAK,CAAC,CAAC,EAAE,EAAE;AACX,SAAA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5C,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,YAAY;AACZ,QAAA,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY;QACvC,eAAe;QACf,aAAa;QACb,UAAU;QACV,iBAAiB;KAClB;AACH;AAEA;;;;;;AAMG;SACa,iBAAiB,CAC/B,IAAY,EACZ,UAAyB,EAAE,EAAA;IAE3B,MAAM,SAAS,GAAG;SACf,KAAK,CAAC,eAAe;AACrB,SAAA,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAEnD,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAI;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;QAEzC,OAAO;AACL,YAAA,GAAG,MAAM;YACT,QAAQ;SACT;AACH,KAAC,CAAC;AACJ;AAEA;;;;;;;AAOG;AACG,SAAU,kBAAkB,CAChC,IAAY,EACZ,iBAA4B,GAAA,CAAC,EAC7B,OAAA,GAAyB,EAAE,EAAA;IAM3B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;AAE5C,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,QAAA,OAAO,EAAE;;IAGX,MAAM,MAAM,GAAG,EAAE;AAEjB,IAAA,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;AAC1B,QAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,CAAA,gBAAA,EAAmB,iBAAiB,CAAS,MAAA,EAAA,YAAY,CAAC,IAAI,CAAC,CAAuB,oBAAA,EAAA,iBAAiB,IAAI,EAC3G,IAAI,CACL;AAED,QAAA,IAAI,KAAK;AACT,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;YAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;AACpC,YAAA,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;YAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;YAEnC,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,YAAY;AACjD,gBAAA,QAAQ,EAAE;oBACR,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;AACnC,iBAAA;AACF,aAAA,CAAC;;;AAIN,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,YAAY,CAAC,MAAc,EAAA;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACtD;;MC7La,iBAAiB,CAAA;AAG5B;;;AAGG;AACH,IAAA,WAAA,CAAY,UAAyB,EAAE,EAAA;AACrC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;AAGxB;;;;AAIG;AACH,IAAA,MAAM,CAAC,IAAY,EAAA;QACjB,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;;AAGnC;;;;AAIG;AACH,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;;AAGtC;;;;AAIG;AACH,IAAA,OAAO,CAAC,IAAY,EAAA;QAClB,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;;AAGpC;;;;AAIG;AACH,IAAA,YAAY,CAAC,KAAe,EAAA;QAC1B,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;;AAG1C;;;;AAIG;AACH,IAAA,iBAAiB,CAAC,IAAY,EAAA;QAC5B,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;;AAG9C;;;;;AAKG;AACH,IAAA,kBAAkB,CAAC,IAAY,EAAE,iBAAA,GAA4B,CAAC,EAAA;QAC5D,OAAO,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC;;AAGlE;;;AAGG;AACH,IAAA,UAAU,CAAC,OAA+B,EAAA;QACxC,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;AACf,YAAA,GAAG,OAAO;SACX;;AAGH;;;AAGG;AACH,IAAA,WAAW,CAAC,QAAkB,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ;;AAGlC;;;AAGG;AACH,IAAA,cAAc,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;YACvB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,EAAE;SACnB;;AAGH;;;AAGG;AACH,IAAA,mBAAmB,CAAC,IAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE;AAE7B,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CACpD,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAC9C;;AAEJ;AAIY,MAAA,QAAQ,GAAG;AACtB,IAAA,MAAM,EAAE,CAAC,IAAY,EAAE,OAAuB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;AACxE,IAAA,SAAS,EAAE,CAAC,IAAY,EAAE,OAAuB,KAC/C,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;AAC1B,IAAA,OAAO,EAAE,CAAC,IAAY,EAAE,OAAuB,KAAK,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AAC1E,IAAA,YAAY,EAAE,CAAC,KAAe,EAAE,OAAuB,KACrD,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/constants/regions/general.ts","../src/constants/regions/jawa.ts","../src/constants/regions/sunda.ts","../src/constants/regions/betawi.ts","../src/constants/categories/sexual.ts","../src/constants/categories/insult.ts","../src/constants/regions/batak.ts","../src/constants/wordList.ts","../src/utils/stringUtils.ts","../src/utils/regexUtils.ts","../src/utils/similarityUtils.ts","../src/config/options.ts","../src/core/matcher.ts","../src/core/filter.ts","../src/core/analyzer.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
- export type ProfanityCategory = 'sexual' | 'insult' | 'profanity' | 'slur' | 'drugs' | 'disgusting' | 'blasphemy';
2
- export type Region = 'general' | 'jawa' | 'sunda' | 'betawi' | 'batak' | 'minang' | 'bali' | 'madura' | 'bugis' | 'aceh' | 'ambon' | 'papua' | 'manado' | 'banjar' | 'palembang' | 'lampung' | 'ntt' | 'ntb';
3
- /**
4
- * Definisi kata kotor
5
- */
1
+ export type ProfanityCategory = "sexual" | "insult" | "profanity" | "slur" | "drugs" | "disgusting" | "blasphemy";
2
+ export type Region = "general" | "jawa" | "sunda" | "betawi" | "batak" | "minang" | "bali" | "madura" | "bugis" | "aceh" | "ambon" | "papua" | "manado" | "banjar" | "palembang" | "lampung" | "ntt" | "ntb";
6
3
  export interface ProfanityWord {
7
4
  word: string;
8
5
  category: ProfanityCategory;
@@ -12,58 +9,49 @@ export interface ProfanityWord {
12
9
  description?: string;
13
10
  context?: string;
14
11
  }
15
- /**
16
- * Opsi untuk konfigurasi filter
17
- */
18
12
  export interface FilterOptions {
19
- /** List kata yang ingin difilter */
20
- wordList?: string[];
21
- /** Karakter pengganti untuk kata yang disensor */
22
13
  replaceWith?: string;
23
- /** Apakah harus menyensor seluruh kata atau hanya sebagian */
24
14
  fullWordCensor?: boolean;
25
- /** Apakah harus mendeteksi kata dengan variasi penulisan */
26
15
  detectLeetSpeak?: boolean;
27
- /** Mengabaikan kata-kata dalam konteks tertentu (misalnya nama) */
28
- whitelist?: string[];
29
- /** Apakah harus memeriksa substring (lebih ketat) */
30
16
  checkSubstring?: boolean;
31
- /** Kategori kata yang ingin difilter */
17
+ wordList?: string[];
18
+ whitelist?: string[];
32
19
  categories?: ProfanityCategory[];
33
- /** Daerah yang ingin difilter katanya */
34
20
  regions?: Region[];
35
- /** Tingkat keparahan minimum yang akan difilter (0-1) */
36
21
  severityThreshold?: number;
22
+ useRandomGrawlix?: boolean;
23
+ keepFirstAndLast?: boolean;
24
+ indonesianVariation?: boolean;
25
+ detectSimilarity?: boolean;
26
+ similarityThreshold?: number;
27
+ detectSplit?: boolean;
28
+ }
29
+ export interface FilterResult {
30
+ filtered: string;
31
+ censored: number;
32
+ replacements: Array<{
33
+ original: string;
34
+ censored: string;
35
+ metadata?: ProfanityWord;
36
+ }>;
37
37
  }
38
- /**
39
- * Hasil analisis dari teks
40
- */
41
38
  export interface AnalysisResult {
42
- /** Apakah teks mengandung kata kotor */
43
39
  hasProfanity: boolean;
44
- /** Daftar kata kotor yang ditemukan */
45
40
  matches: string[];
46
- /** Daftar kata kotor lengkap dengan metadata */
47
41
  matchDetails: ProfanityWord[];
48
- /** Daftar kategori kata kotor yang ditemukan */
49
42
  categories: ProfanityCategory[];
50
- /** Daftar daerah asal kata kotor yang ditemukan */
51
43
  regions: Region[];
52
- /** Tingkat keparahan (0-1) berdasarkan jumlah dan jenis kata */
53
44
  severityScore: number;
54
- }
55
- /**
56
- * Hasil filter dari teks
57
- */
58
- export interface FilterResult {
59
- /** Teks hasil filter */
60
- filtered: string;
61
- /** Jumlah kata yang disensor */
62
- censored: number;
63
- /** Kata asli yang disensor dan penggantinya */
64
- replacements: Array<{
45
+ similarWords?: Array<{
46
+ word: string;
65
47
  original: string;
66
- censored: string;
67
- metadata?: ProfanityWord;
48
+ similarity: number;
68
49
  }>;
69
50
  }
51
+ export interface RegexOptions {
52
+ wholeWord?: boolean;
53
+ caseSensitive?: boolean;
54
+ leetSpeak?: boolean;
55
+ detectSplit?: boolean;
56
+ indonesianVariation?: boolean;
57
+ }
@@ -0,0 +1,64 @@
1
+ import { RegexOptions } from "../types";
2
+ /**
3
+ * Membuat pola regex untuk mencocokkan kata
4
+ *
5
+ * @param word Kata yang akan dibuat pola regex-nya
6
+ * @param options Opsi untuk pembuatan regex
7
+ * @returns Objek RegExp
8
+ */
9
+ export declare function createWordRegex(word: string, options?: RegexOptions): RegExp;
10
+ /**
11
+ * Menambahkan variasi leet speak ke pola regex
12
+ *
13
+ * Contoh:
14
+ * - 'a' bisa jadi '4', '@'
15
+ * - 'i' bisa jadi '1', '!'
16
+ *
17
+ * @param pattern Pola regex asli
18
+ * @returns Pola regex dengan variasi leet speak
19
+ */
20
+ export declare function addLeetSpeakVariations(pattern: string): string;
21
+ /**
22
+ * Menambahkan kemungkinan split/pemisahan antar karakter
23
+ *
24
+ * @param pattern Pola regex asli
25
+ * @returns Pola regex dengan kemungkinan split
26
+ */
27
+ export declare function addSplitVariations(pattern: string): string;
28
+ /**
29
+ * Membuat regex untuk mencari kata dengan variasi spasi dan karakter penghubung
30
+ * Berguna untuk mendeteksi upaya menghindari filter dengan menambahkan spasi atau karakter lain
31
+ *
32
+ * @param word Kata yang akan dibuat pola regexnya
33
+ * @returns Objek RegExp
34
+ */
35
+ export declare function createEvasionRegex(word: string): RegExp;
36
+ /**
37
+ * Menambahkan variasi ejaan Bahasa Indonesia
38
+ *
39
+ * @param pattern Pola regex asli
40
+ * @returns Pola regex dengan variasi ejaan Bahasa Indonesia
41
+ */
42
+ export declare function addIndonesianVariations(pattern: string): string;
43
+ /**
44
+ * Membuat regex untuk mencocokkan kata dengan mempertimbangkan variasi ejaan Bahasa Indonesia
45
+ *
46
+ * @param word Kata yang akan dibuat pola regexnya
47
+ * @returns Objek RegExp
48
+ */
49
+ export declare function createIndonesianVariationRegex(word: string): RegExp;
50
+ /**
51
+ * Membuat regex untuk mencocokkan kata dengan konteks
52
+ *
53
+ * @param word Kata yang akan dibuat pola regexnya
54
+ * @param contextSize Jumlah kata konteks sebelum dan sesudah
55
+ * @returns Objek RegExp
56
+ */
57
+ export declare function createContextRegex(word: string, contextSize?: number): RegExp;
58
+ /**
59
+ * Membuat regex untuk mencocokkan variasi penulisan kata
60
+ *
61
+ * @param word Kata dasar
62
+ * @returns Objek RegExp untuk mencocokkan berbagai bentuk kata
63
+ */
64
+ export declare function createWordFormRegex(word: string): RegExp;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Menghitung jarak Levenshtein antara dua string
3
+ * (Jumlah operasi insert, delete, atau replace untuk mengubah string1 menjadi string2)
4
+ *
5
+ * @param str1 String pertama
6
+ * @param str2 String kedua
7
+ * @returns Jarak Levenshtein
8
+ */
9
+ export declare function levenshteinDistance(str1: string, str2: string): number;
10
+ /**
11
+ * Menghitung tingkat kesamaan antara dua string
12
+ *
13
+ * @param str1 String pertama
14
+ * @param str2 String kedua
15
+ * @returns Nilai kesamaan (0-1, di mana 1 berarti identik)
16
+ */
17
+ export declare function stringSimilarity(str1: string, str2: string): number;
18
+ /**
19
+ * Mencari string yang paling mirip dari array
20
+ *
21
+ * @param target String target
22
+ * @param candidates Array string kandidat
23
+ * @param threshold Minimum kesamaan yang diterima (0-1)
24
+ * @returns String yang paling mirip atau null jika tidak ada yang di atas threshold
25
+ */
26
+ export declare function findMostSimilar(target: string, candidates: string[], threshold?: number): string | null;
27
+ /**
28
+ * Cek apakah string mungkin merupakan variasi dari kata kotor
29
+ * menggunakan kesamaan string
30
+ *
31
+ * @param input String yang akan diperiksa
32
+ * @param profanityWords Daftar kata kotor
33
+ * @param threshold Batas minimum kesamaan (default: 0.75)
34
+ * @returns Array [Boolean (apakah variasi), String original (jika ditemukan)]
35
+ */
36
+ export declare function isPossibleProfanityVariation(input: string, profanityWords: string[], threshold?: number): [boolean, string | null];
37
+ /**
38
+ * Mengelompokkan kata berdasarkan kesamaan
39
+ *
40
+ * @param words Daftar kata
41
+ * @param threshold Batas minimum kesamaan (default: 0.8)
42
+ * @returns Array kluster kata yang mirip
43
+ */
44
+ export declare function clusterSimilarWords(words: string[], threshold?: number): string[][];
45
+ /**
46
+ * Cari kata-kata kotor yang mungkin dari teks menggunakan kesamaan string
47
+ *
48
+ * @param text Teks yang akan diperiksa
49
+ * @param profanityWords Daftar kata kotor
50
+ * @param threshold Batas minimum kesamaan (default: 0.8)
51
+ * @returns Array kata yang mungkin merupakan kata kotor
52
+ */
53
+ export declare function findPossibleProfanityBySimiliarity(text: string, profanityWords: string[], threshold?: number): Array<{
54
+ word: string;
55
+ original: string;
56
+ similarity: number;
57
+ }>;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Menyensor kata dengan karakter pengganti
3
+ *
4
+ * @param word Kata yang akan disensor
5
+ * @param replaceChar Karakter pengganti (default: '*')
6
+ * @param keepFirstAndLast Apakah harus menyimpan huruf pertama dan terakhir
7
+ * @returns Kata yang telah disensor
8
+ */
9
+ export declare function censorWord(word: string, replaceChar?: string, keepFirstAndLast?: boolean): string;
10
+ /**
11
+ * Menormalisasi string untuk keperluan pembandingan
12
+ *
13
+ * @param text Teks yang akan dinormalisasi
14
+ * @returns Teks yang telah dinormalisasi
15
+ */
16
+ export declare function normalizeText(text: string): string;
17
+ /**
18
+ * Mendeteksi apakah string berisi sebagian atau keseluruhan kata dalam wordList
19
+ *
20
+ * @param text Teks yang akan diperiksa
21
+ * @param wordList Daftar kata yang dicari
22
+ * @param checkSubstring Apakah harus memeriksa substring
23
+ * @returns Boolean apakah teks mengandung kata-kata dalam wordList
24
+ */
25
+ export declare function containsAnyWord(text: string, wordList: string[], checkSubstring?: boolean): boolean;
26
+ /**
27
+ * Memerikasa apakah stirng merupakan kode untuk kata kotor
28
+ * (Menangkap kasus seperti disensor dengan titik atau garis: a**ing, b*bi, dll)
29
+ *
30
+ * @param text Teks yang akan diperika
31
+ * @param wordList daftar kata kotor
32
+ * @return Boolean apakah teks mengandung kata kotor
33
+ */
34
+ export declare function containsEuphemism(text: string, wordList: string[]): boolean;
35
+ /**
36
+ * Mendeteksi upaya menghindari filter dengan pemisahan kata
37
+ * (Tangkap kasus seperti: a n j i n g, b-a-b-i, dll)
38
+ *
39
+ * @param text Teks yang akan diperiksa
40
+ * @param wordList Daftar kata kotor
41
+ * @returns Boolean apakah teks mengandung upaya menghindari filter
42
+ */
43
+ export declare function detectSplitWords(text: string, wordList: string[]): boolean;
44
+ export declare function escapeRegExp(string: string): string;
45
+ /**
46
+ * Mengganti sebagian kata dengan masking
47
+ * (berguna untuk email, nomor telepon, dll)
48
+ *
49
+ * @param text Teks untuk dimasking
50
+ * @param visibleStart Jumlah karakter yang terlihat di awal
51
+ * @param visibleEnd Jumlah karakter yang terlihat di akhir
52
+ * @param maskChar Karakter masking
53
+ * @returns Teks yang telah dimasking
54
+ */
55
+ export declare function maskText(text: string, visibleStart?: number, visibleEnd?: number, maskChar?: string): string;
56
+ /**
57
+ * menguabh sting menjadi bentuk leet speak
58
+ * (untuk testing filter bypass)
59
+ *
60
+ * @param text Teks yang akan diubah
61
+ * @return Teks yang telah diubah ke leet speak
62
+ */
63
+ export declare function toLeetSpeak(text: string): string;
64
+ /**
65
+ * memisahkan teks menajdi kelimat
66
+ *
67
+ * @param text Teks yang akan dipisahkan
68
+ * @return Array kalimat yang telah dipisahkan
69
+ */
70
+ export declare function splitIntoSentences(text: string): string[];
71
+ /**
72
+ * mengambil kata-kata di sekitar indeks tertentu
73
+ *
74
+ * @param text Teks yang akan diambil
75
+ * @param index Indeks dalam teks
76
+ * @param windowSize jumlah kata di sekitar indeks
77
+ * @return Kata-kata di sekitar indeks
78
+ */
79
+ export declare function getContextAroundIndex(text: string, index: number, windowSize?: number): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sideid/id-profanity-filter",
3
- "version": "1.1.0",
3
+ "version": "1.9.5",
4
4
  "description": "Library filter kata kotor dalam Bahasa Indonesia",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -0,0 +1,178 @@
1
+ import { FilterOptions, ProfanityCategory, Region } from "../types";
2
+
3
+ export const DEFAULT_OPTIONS: FilterOptions = {
4
+ replaceWith: "*",
5
+ fullWordCensor: true,
6
+ detectLeetSpeak: true,
7
+ checkSubstring: false,
8
+ whitelist: [],
9
+ severityThreshold: 0,
10
+ };
11
+
12
+ export const FILTER_PRESETS = {
13
+ strict: {
14
+ ...DEFAULT_OPTIONS,
15
+ checkSubstring: true,
16
+ detectLeetSpeak: true,
17
+ severityThreshold: 0,
18
+ },
19
+
20
+ moderate: {
21
+ ...DEFAULT_OPTIONS,
22
+ severityThreshold: 0.5,
23
+ },
24
+
25
+ light: {
26
+ ...DEFAULT_OPTIONS,
27
+ severityThreshold: 0.7,
28
+ categories: ["sexual", "slur", "blasphemy"] as ProfanityCategory[],
29
+ },
30
+
31
+ childSafe: {
32
+ ...DEFAULT_OPTIONS,
33
+ checkSubstring: true,
34
+ detectLeetSpeak: true,
35
+ fullWordCensor: true,
36
+ severityThreshold: 0,
37
+ },
38
+ };
39
+
40
+ export const CATEGORY_PRESETS = {
41
+ sexual: {
42
+ ...DEFAULT_OPTIONS,
43
+ categories: ["sexual"] as ProfanityCategory[],
44
+ },
45
+
46
+ insults: {
47
+ ...DEFAULT_OPTIONS,
48
+ categories: ["insult"] as ProfanityCategory[],
49
+ },
50
+
51
+ profanity: {
52
+ ...DEFAULT_OPTIONS,
53
+ categories: ["profanity"] as ProfanityCategory[],
54
+ },
55
+ };
56
+
57
+ export const REGION_PRESETS = {
58
+ general: {
59
+ ...DEFAULT_OPTIONS,
60
+ regions: ["general"] as Region[],
61
+ },
62
+
63
+ jawa: {
64
+ ...DEFAULT_OPTIONS,
65
+ regions: ["jawa"] as Region[],
66
+ },
67
+
68
+ sunda: {
69
+ ...DEFAULT_OPTIONS,
70
+ regions: ["sunda"] as Region[],
71
+ },
72
+
73
+ betawi: {
74
+ ...DEFAULT_OPTIONS,
75
+ regions: ["betawi"] as Region[],
76
+ },
77
+
78
+ batak: {
79
+ ...DEFAULT_OPTIONS,
80
+ regions: ["batak"] as Region[],
81
+ },
82
+ };
83
+
84
+ export const REPLACEMENT_CHARS = {
85
+ asterisk: "*",
86
+ hash: "#",
87
+ dollar: "$",
88
+ at: "@",
89
+ percent: "%",
90
+ underscore: "_",
91
+ dash: "-",
92
+ dot: ".",
93
+ grawlix: "#@$%&!",
94
+ };
95
+
96
+ /**
97
+ * Membuat opsi custom dengan menggabungkan dengan default
98
+ *
99
+ * @param options Opsi yang akan digabungkan dengan default
100
+ * @returns Opsi yang sudah digabungkan
101
+ */
102
+ export function createOptions(
103
+ options: Partial<FilterOptions> = {},
104
+ ): FilterOptions {
105
+ return {
106
+ ...DEFAULT_OPTIONS,
107
+ ...options,
108
+ };
109
+ }
110
+
111
+ /**
112
+ * Mendapatkan opsi dari preset yang ada
113
+ *
114
+ * @param presetName Nama preset filter, kategori, atau region
115
+ * @param additionalOptions Opsi tambahan untuk mengganti preset
116
+ * @returns Opsi yang sudah digabungkan
117
+ */
118
+ export function getPresetOptions(
119
+ presetName: string,
120
+ additionalOptions: Partial<FilterOptions> = {},
121
+ ): FilterOptions {
122
+ let presetOptions: FilterOptions;
123
+
124
+ if (presetName in FILTER_PRESETS) {
125
+ presetOptions = FILTER_PRESETS[presetName as keyof typeof FILTER_PRESETS];
126
+ } else if (presetName in CATEGORY_PRESETS) {
127
+ presetOptions =
128
+ CATEGORY_PRESETS[presetName as keyof typeof CATEGORY_PRESETS];
129
+ } else if (presetName in REGION_PRESETS) {
130
+ presetOptions = REGION_PRESETS[presetName as keyof typeof REGION_PRESETS];
131
+ } else {
132
+ presetOptions = FILTER_PRESETS.strict;
133
+ }
134
+
135
+ return {
136
+ ...presetOptions,
137
+ ...additionalOptions,
138
+ };
139
+ }
140
+
141
+ /**
142
+ * Mendapatkan karakter pengganti
143
+ *
144
+ * @param type Tipe karakter pengganti
145
+ * @returns Karakter pengganti
146
+ */
147
+ export function getReplacementChar(
148
+ type: keyof typeof REPLACEMENT_CHARS = "asterisk",
149
+ ): string {
150
+ return REPLACEMENT_CHARS[type] || REPLACEMENT_CHARS.asterisk;
151
+ }
152
+
153
+ /**
154
+ * Membuat karakter pengganti random dari grawlix
155
+ *
156
+ * @returns Karakter pengganti random
157
+ */
158
+ export function getRandomGrawlix(): string {
159
+ const grawlix = REPLACEMENT_CHARS.grawlix;
160
+ return grawlix[Math.floor(Math.random() * grawlix.length)];
161
+ }
162
+
163
+ /**
164
+ * Membuat string pengganti untuk kata menggunakan grawlix random
165
+ *
166
+ * @param length Panjang string
167
+ * @returns String pengganti
168
+ */
169
+ export function makeRandomGrawlixString(length: number): string {
170
+ let result = "";
171
+ const grawlix = REPLACEMENT_CHARS.grawlix;
172
+
173
+ for (let i = 0; i < length; i++) {
174
+ result += grawlix[Math.floor(Math.random() * grawlix.length)];
175
+ }
176
+
177
+ return result;
178
+ }