@fevo-tech/obscenity 0.0.6 → 0.0.8

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/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var x=(e,t)=>{for(var a in t)o(e,a,{get:t[a],enumerable:!0})},z=(e,t,a,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let m of u(t))!j.call(e,m)&&m!==a&&o(e,m,{get:()=>t[m],enumerable:!(l=y(t,m))||l.enumerable});return e};var v=e=>z(o({},"__esModule",{value:!0}),e);var $={};x($,{censorBadWords:()=>W,censorHtmlPreservingTags:()=>C,hasContainsBadWords:()=>A});module.exports=v($);var i=require("obscenity");var c=require("obscenity");var D={nigger:{blacklistTerm:["nigger","nigga","n1gger","n!gger","nigg3r","ni99a","n*gger","n_gger","nibba","niqqer","nlgger","\u221A\xB1igger","nagger","n-word","n.i.g.g.e.r","n i g g e r","knee grow","niggers"],whitelistTerm:[]},negro:{blacklistTerm:["negro"],whitelistTerm:[]},coon:{blacklistTerm:["|coon"],whitelistTerm:[]},darkie:{blacklistTerm:["darkie"],whitelistTerm:[]},spook:{blacklistTerm:["spook"],whitelistTerm:[]},jigaboo:{blacklistTerm:["jigaboo"],whitelistTerm:[]},sambo:{blacklistTerm:["sambo"],whitelistTerm:[]},pickaninny:{blacklistTerm:["|pickaninny|"],whitelistTerm:[]},"tar baby":{blacklistTerm:["tar baby"],whitelistTerm:[]},"porch monkey":{blacklistTerm:["porch monkey"],whitelistTerm:[]},"jungle bunny":{blacklistTerm:["jungle bunny"],whitelistTerm:[]},spade:{blacklistTerm:["spade|"],whitelistTerm:[]},"moon cricket":{blacklistTerm:["moon cricket"],whitelistTerm:[]},kike:{blacklistTerm:["kike","k1ke"],whitelistTerm:[]},yid:{blacklistTerm:["yid"],whitelistTerm:[]},heeb:{blacklistTerm:["heeb"],whitelistTerm:[]},hymie:{blacklistTerm:["hymie"],whitelistTerm:[]},"christ killer":{blacklistTerm:["christ killer"],whitelistTerm:[]},chink:{blacklistTerm:["chink","ch1nk"],whitelistTerm:[]},gook:{blacklistTerm:["gook","g00k"],whitelistTerm:[]},slant:{blacklistTerm:["slant"],whitelistTerm:[]},slope:{blacklistTerm:["slope"],whitelistTerm:[]},zipperhead:{blacklistTerm:["zipperhead"],whitelistTerm:[]},"ching chong":{blacklistTerm:["ching chong"],whitelistTerm:[]},chinaman:{blacklistTerm:["chinaman"],whitelistTerm:[]},jap:{blacklistTerm:["jap"],whitelistTerm:[]},nip:{blacklistTerm:["nip|"],whitelistTerm:[]},batty:{blacklistTerm:["|batty"],whitelistTerm:[]},wetback:{blacklistTerm:["wetback"],whitelistTerm:[]},spic:{blacklistTerm:["spic|","sp1c|"],whitelistTerm:[]},beaner:{blacklistTerm:["beaner"],whitelistTerm:[]},greaser:{blacklistTerm:["greaser"],whitelistTerm:[]},cracker:{blacklistTerm:["cracker"],whitelistTerm:[]},honky:{blacklistTerm:["honky"],whitelistTerm:[]},redneck:{blacklistTerm:["redneck"],whitelistTerm:[]},"white trash":{blacklistTerm:["white trash"],whitelistTerm:[]},peckerwood:{blacklistTerm:["peckerwood"],whitelistTerm:[]},"trailer trash":{blacklistTerm:["trailer trash"],whitelistTerm:[]},raghead:{blacklistTerm:["raghead"],whitelistTerm:[]},towelhead:{blacklistTerm:["towelhead"],whitelistTerm:[]},"sand nigger":{blacklistTerm:["sand nigger"],whitelistTerm:[]},"camel jockey":{blacklistTerm:["camel jockey"],whitelistTerm:[]},hajji:{blacklistTerm:["hajji"],whitelistTerm:[]},muzzie:{blacklistTerm:["muzzie"],whitelistTerm:[]},paki:{blacklistTerm:["paki"],whitelistTerm:[]},"curry muncher":{blacklistTerm:["curry muncher"],whitelistTerm:[]},wop:{blacklistTerm:["wop"],whitelistTerm:[]},dago:{blacklistTerm:["dago"],whitelistTerm:[]},guinea:{blacklistTerm:["guinea"],whitelistTerm:[]},polack:{blacklistTerm:["polack"],whitelistTerm:[]},kraut:{blacklistTerm:["|kraut"],whitelistTerm:[]},frog:{blacklistTerm:["frog"],whitelistTerm:[]},limey:{blacklistTerm:["limey"],whitelistTerm:[]},mick:{blacklistTerm:["|mick|"],whitelistTerm:[]},paddy:{blacklistTerm:["paddy"],whitelistTerm:[]},gypsy:{blacklistTerm:["gypsy|"],whitelistTerm:[]},pikey:{blacklistTerm:["pikey"],whitelistTerm:[]},abo:{blacklistTerm:["abo!"],whitelistTerm:[]},boong:{blacklistTerm:["boong"],whitelistTerm:[]},redskin:{blacklistTerm:["redskin"],whitelistTerm:[]},injun:{blacklistTerm:["injun"],whitelistTerm:[]},squaw:{blacklistTerm:["squaw"],whitelistTerm:[]},"prairie nigger":{blacklistTerm:["prairie nigger"],whitelistTerm:[]},faggot:{blacklistTerm:["faggot","fag|","faggy","faggotry","f4ggot","f@ggot","f4g","f*ggot","f-word","f.a.g.g.o.t","FAGGOT","Faggot","FaGgOt","faggots"],whitelistTerm:[]},dyke:{blacklistTerm:["dyke|"],whitelistTerm:[]},lesbo:{blacklistTerm:["lesbo"],whitelistTerm:[]},lezzie:{blacklistTerm:["lezzie"],whitelistTerm:[]},"carpet muncher":{blacklistTerm:["carpet muncher"],whitelistTerm:[]},"muff diver":{blacklistTerm:["muff diver"],whitelistTerm:[]},homo:{blacklistTerm:["homo|"],whitelistTerm:[]},homosexual:{blacklistTerm:["homosexual"],whitelistTerm:[]},queer:{blacklistTerm:["queer"],whitelistTerm:[]},queen:{blacklistTerm:["queen!"],whitelistTerm:[]},pansy:{blacklistTerm:["pansy"],whitelistTerm:[]},fairy:{blacklistTerm:["fairy"],whitelistTerm:[]},poof:{blacklistTerm:["poof"],whitelistTerm:[]},poofter:{blacklistTerm:["poofter"],whitelistTerm:[]},nancy:{blacklistTerm:["nancy"],whitelistTerm:[]},"nancy boy":{blacklistTerm:["nancy boy"],whitelistTerm:[]},fruit:{blacklistTerm:["fruit|"],whitelistTerm:[]},fruitcake:{blacklistTerm:["fruitcake"],whitelistTerm:[]},"chi chi man":{blacklistTerm:["chi chi man"],whitelistTerm:[]},sissy:{blacklistTerm:["sissy"],whitelistTerm:[]},"butt pirate":{blacklistTerm:["|butt pirate|"],whitelistTerm:[]},"pillow biter":{blacklistTerm:["pillow bite[r]"],whitelistTerm:[]},"fudge packer":{blacklistTerm:["fudge packer"],whitelistTerm:[]},"ass bandit":{blacklistTerm:["ass bandit"],whitelistTerm:[]},"shirt lifter":{blacklistTerm:["shirt lifter"],whitelistTerm:[]},tranny:{blacklistTerm:["tranny","tr\u2013\u221Enny"],whitelistTerm:[]},shemale:{blacklistTerm:["shemale"],whitelistTerm:[]},"he-she":{blacklistTerm:["he-she"],whitelistTerm:[]},"she-male":{blacklistTerm:["she-male"],whitelistTerm:[]},ladyboy:{blacklistTerm:["ladyboy"],whitelistTerm:[]},trap:{blacklistTerm:["trap"],whitelistTerm:[]},troon:{blacklistTerm:["troon"],whitelistTerm:[]},troid:{blacklistTerm:["troid"],whitelistTerm:[]},hermaphrodite:{blacklistTerm:["hermaphrodite"],whitelistTerm:[]},retard:{blacklistTerm:["retard|","retarded","tard","libtard","fucktard","r3tard","ret@rd","retards"],whitelistTerm:[]},spaz:{blacklistTerm:["spaz"],whitelistTerm:[]},spastic:{blacklistTerm:["spastic"],whitelistTerm:[]},cripple:{blacklistTerm:["|cripple|"],whitelistTerm:[]},gimp:{blacklistTerm:["gimp"],whitelistTerm:[]},invalid:{blacklistTerm:["invalid"],whitelistTerm:[]},vegetable:{blacklistTerm:["vegetable"],whitelistTerm:[]},moron:{blacklistTerm:["moron"],whitelistTerm:[]},imbecile:{blacklistTerm:["imbecile"],whitelistTerm:[]},idiot:{blacklistTerm:["idiot"],whitelistTerm:[]},cretin:{blacklistTerm:["cretin"],whitelistTerm:[]},mongoloid:{blacklistTerm:["mongoloid"],whitelistTerm:[]},"window licker":{blacklistTerm:["window licker"],whitelistTerm:[]},"short bus":{blacklistTerm:["short bus"],whitelistTerm:[]},cunt:{blacklistTerm:["cunt","c*nt"],whitelistTerm:[]},bitch:{blacklistTerm:["bitch"],whitelistTerm:[]},whore:{blacklistTerm:["whore"],whitelistTerm:[]},slut:{blacklistTerm:["slut"],whitelistTerm:[]},hoe:{blacklistTerm:["|hoe"],whitelistTerm:[]},skank:{blacklistTerm:["skank"],whitelistTerm:[]},slag:{blacklistTerm:["slag|"],whitelistTerm:[]},twat:{blacklistTerm:["twat"],whitelistTerm:[]},gash:{blacklistTerm:["gash|"],whitelistTerm:[]},feminazi:{blacklistTerm:["feminazi"],whitelistTerm:[]},thot:{blacklistTerm:["thot"],whitelistTerm:[]},roastie:{blacklistTerm:["roastie"],whitelistTerm:[]},foid:{blacklistTerm:["foid"],whitelistTerm:[]},femoid:{blacklistTerm:["femoid"],whitelistTerm:[]},cuck:{blacklistTerm:["cuck"],whitelistTerm:[]},soyboy:{blacklistTerm:["soyboy"],whitelistTerm:[]},beta:{blacklistTerm:["beta"],whitelistTerm:[]},"bible thumper":{blacklistTerm:["bible thumper"],whitelistTerm:[]},"holy roller":{blacklistTerm:["holy roller"],whitelistTerm:[]},heathen:{blacklistTerm:["heathen"],whitelistTerm:[]},infidel:{blacklistTerm:["infidel"],whitelistTerm:[]},kafir:{blacklistTerm:["kafir"],whitelistTerm:[]},goy:{blacklistTerm:["goy"],whitelistTerm:[]},shiksa:{blacklistTerm:["shiksa"],whitelistTerm:[]},papist:{blacklistTerm:["papist"],whitelistTerm:[]},"mackerel snapper":{blacklistTerm:["mackerel snapper"],whitelistTerm:[]},proddy:{blacklistTerm:["proddy"],whitelistTerm:[]},taig:{blacklistTerm:["taig"],whitelistTerm:[]},fenian:{blacklistTerm:["fenian"],whitelistTerm:[]},hun:{blacklistTerm:["hun|"],whitelistTerm:[]},"orange bastard":{blacklistTerm:["orange bastard"],whitelistTerm:[]}},n=D;var k=new c.DataSet().addAll(c.englishDataset),q=()=>{for(let e in n)k.addPhrase(t=>{t.setMetadata({originalWord:e});let a=n[e];for(let l of a.blacklistTerm)t.addPattern(c.pattern`${l}`);for(let l of a.whitelistTerm)t.addWhitelistedTerm(l);return t})};q();var b=require("htmlparser2"),M={...k.build()},w=new i.RegExpMatcher({...M,blacklistMatcherTransformers:[(0,i.collapseDuplicatesTransformer)({defaultThreshold:2,customThresholds:new Map([["u",1]])}),(0,i.toAsciiLowerCaseTransformer)(),(0,i.resolveConfusablesTransformer)(),(0,i.resolveLeetSpeakTransformer)()]}),S=(0,i.keepStartCensorStrategy)((0,i.asteriskCensorStrategy)()),p=new i.TextCensor().setStrategy(S),W=e=>p.applyTo(e,w.getAllMatches(e)),A=e=>w.hasMatch(e),C=e=>{let t=[],a=[],l="",m=new b.Parser({ontext(r){t.push(r),a.push({start:l.length,end:l.length+r.length}),l+=r}},{decodeEntities:!1});m.write(e),m.end();let f=p.applyTo(l,w.getAllMatches(l)),s="",h=0,g=new b.Parser({onopentag(r,T){s+="<"+r;for(let d in T)s+=` ${d}="${T[d]}"`;s+=">"},ontext(r){let T=r.length;s+=f.slice(h,h+T),h+=T},onclosetag(r){s+=`</${r}>`},oncomment(r){s+=`<!--${r}-->`},onprocessinginstruction(r,T){s+=`<${T}>`},oncdatastart(){s+="<![CDATA["},oncdataend(){s+="]]>"},onerror(r){throw r}},{decodeEntities:!1});return g.write(e),g.end(),s};0&&(module.exports={censorBadWords,censorHtmlPreservingTags,hasContainsBadWords});
1
+ "use strict";var o=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var x=(e,t)=>{for(var a in t)o(e,a,{get:t[a],enumerable:!0})},z=(e,t,a,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let m of u(t))!j.call(e,m)&&m!==a&&o(e,m,{get:()=>t[m],enumerable:!(l=y(t,m))||l.enumerable});return e};var v=e=>z(o({},"__esModule",{value:!0}),e);var $={};x($,{censorBadWords:()=>W,censorHtmlPreservingTags:()=>C,hasContainsBadWords:()=>A});module.exports=v($);var i=require("obscenity");var c=require("obscenity");var D={nigger:{blacklistTerm:["nigger","nigga","n1gger","n!gger","nigg3r","ni99a","n*gger","n_gger","nibba","niqqer","nlgger","\u221A\xB1igger","nagger","n-word","n.i.g.g.e.r","n i g g e r","knee grow","niggers"],whitelistTerm:[]},negro:{blacklistTerm:["negro"],whitelistTerm:[]},coon:{blacklistTerm:["|coon"],whitelistTerm:[]},darkie:{blacklistTerm:["darkie"],whitelistTerm:[]},spook:{blacklistTerm:["spook"],whitelistTerm:[]},jigaboo:{blacklistTerm:["jigaboo"],whitelistTerm:[]},sambo:{blacklistTerm:["sambo"],whitelistTerm:[]},pickaninny:{blacklistTerm:["|pickaninny|"],whitelistTerm:[]},"tar baby":{blacklistTerm:["tar baby"],whitelistTerm:[]},"porch monkey":{blacklistTerm:["porch monkey"],whitelistTerm:[]},"jungle bunny":{blacklistTerm:["jungle bunny"],whitelistTerm:[]},spade:{blacklistTerm:["spade|"],whitelistTerm:[]},"moon cricket":{blacklistTerm:["moon cricket"],whitelistTerm:[]},kike:{blacklistTerm:["kike","k1ke"],whitelistTerm:[]},yid:{blacklistTerm:["yid"],whitelistTerm:[]},heeb:{blacklistTerm:["heeb"],whitelistTerm:[]},hymie:{blacklistTerm:["hymie"],whitelistTerm:[]},"christ killer":{blacklistTerm:["christ killer"],whitelistTerm:[]},chink:{blacklistTerm:["chink","ch1nk"],whitelistTerm:[]},gook:{blacklistTerm:["gook","g00k"],whitelistTerm:[]},slant:{blacklistTerm:["slant"],whitelistTerm:[]},slope:{blacklistTerm:["slope"],whitelistTerm:[]},zipperhead:{blacklistTerm:["zipperhead"],whitelistTerm:[]},"ching chong":{blacklistTerm:["ching chong"],whitelistTerm:[]},chinaman:{blacklistTerm:["chinaman"],whitelistTerm:[]},jap:{blacklistTerm:["jap"],whitelistTerm:[]},nip:{blacklistTerm:["nip|"],whitelistTerm:[]},batty:{blacklistTerm:["|batty"],whitelistTerm:[]},wetback:{blacklistTerm:["wetback"],whitelistTerm:[]},spic:{blacklistTerm:["spic|","sp1c|"],whitelistTerm:[]},beaner:{blacklistTerm:["beaner"],whitelistTerm:[]},greaser:{blacklistTerm:["greaser"],whitelistTerm:[]},cracker:{blacklistTerm:["cracker"],whitelistTerm:[]},honky:{blacklistTerm:["honky"],whitelistTerm:[]},redneck:{blacklistTerm:["redneck"],whitelistTerm:[]},"white trash":{blacklistTerm:["white trash"],whitelistTerm:[]},peckerwood:{blacklistTerm:["peckerwood"],whitelistTerm:[]},"trailer trash":{blacklistTerm:["trailer trash"],whitelistTerm:[]},raghead:{blacklistTerm:["raghead"],whitelistTerm:[]},towelhead:{blacklistTerm:["towelhead"],whitelistTerm:[]},"sand nigger":{blacklistTerm:["sand nigger"],whitelistTerm:[]},"camel jockey":{blacklistTerm:["camel jockey"],whitelistTerm:[]},hajji:{blacklistTerm:["hajji"],whitelistTerm:[]},muzzie:{blacklistTerm:["muzzie"],whitelistTerm:[]},paki:{blacklistTerm:["paki|"],whitelistTerm:[]},"curry muncher":{blacklistTerm:["curry muncher"],whitelistTerm:[]},wop:{blacklistTerm:["wop"],whitelistTerm:[]},dago:{blacklistTerm:["dago"],whitelistTerm:[]},guinea:{blacklistTerm:["guinea"],whitelistTerm:[]},polack:{blacklistTerm:["polack"],whitelistTerm:[]},kraut:{blacklistTerm:["|kraut"],whitelistTerm:[]},frog:{blacklistTerm:["frog"],whitelistTerm:[]},limey:{blacklistTerm:["limey"],whitelistTerm:[]},mick:{blacklistTerm:["|mick|"],whitelistTerm:[]},paddy:{blacklistTerm:["paddy"],whitelistTerm:[]},gypsy:{blacklistTerm:["gypsy|"],whitelistTerm:[]},pikey:{blacklistTerm:["pikey"],whitelistTerm:[]},abo:{blacklistTerm:["abo!"],whitelistTerm:[]},boong:{blacklistTerm:["boong"],whitelistTerm:[]},redskin:{blacklistTerm:["redskin"],whitelistTerm:[]},injun:{blacklistTerm:["injun"],whitelistTerm:[]},squaw:{blacklistTerm:["squaw"],whitelistTerm:[]},"prairie nigger":{blacklistTerm:["prairie nigger"],whitelistTerm:[]},faggot:{blacklistTerm:["faggot","fag|","faggy","faggotry","f4ggot","f@ggot","f4g","f*ggot","f-word","f.a.g.g.o.t","FAGGOT","Faggot","FaGgOt","faggots"],whitelistTerm:["fage","fagus"]},dyke:{blacklistTerm:["dyke|"],whitelistTerm:["dykes","dyken"]},lesbo:{blacklistTerm:["lesbo"],whitelistTerm:[]},lezzie:{blacklistTerm:["lezzie"],whitelistTerm:[]},"carpet muncher":{blacklistTerm:["carpet muncher"],whitelistTerm:[]},"muff diver":{blacklistTerm:["muff diver"],whitelistTerm:[]},homo:{blacklistTerm:["homo|"],whitelistTerm:[]},homosexual:{blacklistTerm:["homosexual"],whitelistTerm:[]},queer:{blacklistTerm:["queer"],whitelistTerm:[]},queen:{blacklistTerm:["queen!"],whitelistTerm:[]},pansy:{blacklistTerm:["pansy"],whitelistTerm:[]},fairy:{blacklistTerm:["fairy"],whitelistTerm:[]},poof:{blacklistTerm:["poof"],whitelistTerm:[]},poofter:{blacklistTerm:["poofter"],whitelistTerm:[]},nancy:{blacklistTerm:["nancy"],whitelistTerm:[]},"nancy boy":{blacklistTerm:["nancy boy"],whitelistTerm:[]},fruit:{blacklistTerm:["fruit|"],whitelistTerm:[]},fruitcake:{blacklistTerm:["fruitcake"],whitelistTerm:[]},"chi chi man":{blacklistTerm:["chi chi man"],whitelistTerm:[]},sissy:{blacklistTerm:["sissy"],whitelistTerm:[]},"butt pirate":{blacklistTerm:["|butt pirate|"],whitelistTerm:[]},"pillow biter":{blacklistTerm:["pillow bite[r]"],whitelistTerm:[]},"fudge packer":{blacklistTerm:["fudge packer"],whitelistTerm:[]},"ass bandit":{blacklistTerm:["ass bandit"],whitelistTerm:[]},"shirt lifter":{blacklistTerm:["shirt lifter"],whitelistTerm:[]},tranny:{blacklistTerm:["tranny","tr\u2013\u221Enny"],whitelistTerm:[]},shemale:{blacklistTerm:["shemale"],whitelistTerm:[]},"he-she":{blacklistTerm:["he-she"],whitelistTerm:[]},"she-male":{blacklistTerm:["she-male"],whitelistTerm:[]},ladyboy:{blacklistTerm:["ladyboy"],whitelistTerm:[]},trap:{blacklistTerm:["trap"],whitelistTerm:[]},troon:{blacklistTerm:["troon"],whitelistTerm:[]},troid:{blacklistTerm:["troid"],whitelistTerm:[]},hermaphrodite:{blacklistTerm:["hermaphrodite"],whitelistTerm:[]},retard:{blacklistTerm:["retard|","retarded","tard","libtard","fucktard","r3tard","ret@rd","retards"],whitelistTerm:["retarder"]},spaz:{blacklistTerm:["spaz"],whitelistTerm:[]},spastic:{blacklistTerm:["spastic"],whitelistTerm:[]},cripple:{blacklistTerm:["|cripple|"],whitelistTerm:[]},gimp:{blacklistTerm:["gimp"],whitelistTerm:[]},invalid:{blacklistTerm:["invalid"],whitelistTerm:[]},vegetable:{blacklistTerm:["vegetable"],whitelistTerm:[]},moron:{blacklistTerm:["moron"],whitelistTerm:[]},imbecile:{blacklistTerm:["imbecile"],whitelistTerm:[]},idiot:{blacklistTerm:["idiot"],whitelistTerm:[]},cretin:{blacklistTerm:["cretin"],whitelistTerm:[]},mongoloid:{blacklistTerm:["mongoloid"],whitelistTerm:[]},"window licker":{blacklistTerm:["window licker"],whitelistTerm:[]},"short bus":{blacklistTerm:["short bus"],whitelistTerm:[]},cunt:{blacklistTerm:["cunt","c*nt"],whitelistTerm:[]},bitch:{blacklistTerm:["bitch"],whitelistTerm:[]},whore:{blacklistTerm:["whore"],whitelistTerm:[]},slut:{blacklistTerm:["slut"],whitelistTerm:[]},hoe:{blacklistTerm:["|hoe"],whitelistTerm:[]},skank:{blacklistTerm:["skank"],whitelistTerm:[]},slag:{blacklistTerm:["slag|"],whitelistTerm:[]},twat:{blacklistTerm:["twat"],whitelistTerm:[]},gash:{blacklistTerm:["gash|"],whitelistTerm:[]},feminazi:{blacklistTerm:["feminazi"],whitelistTerm:[]},thot:{blacklistTerm:["thot"],whitelistTerm:[]},roastie:{blacklistTerm:["roastie"],whitelistTerm:[]},foid:{blacklistTerm:["foid"],whitelistTerm:[]},femoid:{blacklistTerm:["femoid"],whitelistTerm:[]},cuck:{blacklistTerm:["cuck"],whitelistTerm:[]},soyboy:{blacklistTerm:["soyboy"],whitelistTerm:[]},beta:{blacklistTerm:["beta"],whitelistTerm:[]},"bible thumper":{blacklistTerm:["bible thumper"],whitelistTerm:[]},"holy roller":{blacklistTerm:["holy roller"],whitelistTerm:[]},heathen:{blacklistTerm:["heathen"],whitelistTerm:[]},infidel:{blacklistTerm:["infidel"],whitelistTerm:[]},kafir:{blacklistTerm:["kafir"],whitelistTerm:[]},goy:{blacklistTerm:["goy"],whitelistTerm:[]},shiksa:{blacklistTerm:["shiksa"],whitelistTerm:[]},papist:{blacklistTerm:["papist"],whitelistTerm:[]},"mackerel snapper":{blacklistTerm:["mackerel snapper"],whitelistTerm:[]},proddy:{blacklistTerm:["proddy"],whitelistTerm:[]},taig:{blacklistTerm:["taig"],whitelistTerm:[]},fenian:{blacklistTerm:["fenian"],whitelistTerm:[]},hun:{blacklistTerm:["hun|"],whitelistTerm:[]},"orange bastard":{blacklistTerm:["orange bastard"],whitelistTerm:[]}},n=D;var k=new c.DataSet().addAll(c.englishDataset),q=()=>{for(let e in n)k.addPhrase(t=>{t.setMetadata({originalWord:e});let a=n[e];for(let l of a.blacklistTerm)t.addPattern(c.pattern`${l}`);for(let l of a.whitelistTerm)t.addWhitelistedTerm(l);return t})};q();var b=require("htmlparser2"),M={...k.build()},w=new i.RegExpMatcher({...M,blacklistMatcherTransformers:[(0,i.collapseDuplicatesTransformer)({defaultThreshold:2,customThresholds:new Map([["u",1]])}),(0,i.toAsciiLowerCaseTransformer)(),(0,i.resolveConfusablesTransformer)(),(0,i.resolveLeetSpeakTransformer)()]}),S=(0,i.keepStartCensorStrategy)((0,i.asteriskCensorStrategy)()),p=new i.TextCensor().setStrategy(S),W=e=>p.applyTo(e,w.getAllMatches(e)),A=e=>w.hasMatch(e),C=e=>{let t=[],a=[],l="",m=new b.Parser({ontext(r){t.push(r),a.push({start:l.length,end:l.length+r.length}),l+=r}},{decodeEntities:!1});m.write(e),m.end();let f=p.applyTo(l,w.getAllMatches(l)),s="",h=0,g=new b.Parser({onopentag(r,T){s+="<"+r;for(let d in T)s+=` ${d}="${T[d]}"`;s+=">"},ontext(r){let T=r.length;s+=f.slice(h,h+T),h+=T},onclosetag(r){s+=`</${r}>`},oncomment(r){s+=`<!--${r}-->`},onprocessinginstruction(r,T){s+=`<${T}>`},oncdatastart(){s+="<![CDATA["},oncdataend(){s+="]]>"},onerror(r){throw r}},{decodeEntities:!1});return g.write(e),g.end(),s};0&&(module.exports={censorBadWords,censorHtmlPreservingTags,hasContainsBadWords});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/string.ts","../src/dataset.ts","../src/fevo-dictionary.ts"],"sourcesContent":["export * from \"./string\";\n","import {\n asteriskCensorStrategy,\n collapseDuplicatesTransformer,\n resolveConfusablesTransformer,\n keepStartCensorStrategy,\n RegExpMatcher,\n TextCensor,\n toAsciiLowerCaseTransformer,\n resolveLeetSpeakTransformer,\n} from \"obscenity\";\nimport { badWordsDataSet } from \"./dataset\";\nimport { Parser } from \"htmlparser2\";\n\nconst presets = {\n ...badWordsDataSet.build(),\n};\n\nconst badWordsMatcher = new RegExpMatcher({\n ...presets,\n blacklistMatcherTransformers: [\n collapseDuplicatesTransformer({\n defaultThreshold: 2,\n customThresholds: new Map([[\"u\", 1]]),\n }),\n toAsciiLowerCaseTransformer(),\n resolveConfusablesTransformer(),\n resolveLeetSpeakTransformer(),\n ],\n});\n\nconst strategy = keepStartCensorStrategy(asteriskCensorStrategy());\nconst censor = new TextCensor().setStrategy(strategy);\n\nexport const censorBadWords = (input: string) => {\n return censor.applyTo(input, badWordsMatcher.getAllMatches(input));\n};\n\nexport const hasContainsBadWords = (input: string) => {\n return badWordsMatcher.hasMatch(input);\n};\n\nexport const censorHtmlPreservingTags = (htmlStr: string) => {\n const textNodes = [];\n const nodePositions = [];\n let fullText = \"\";\n\n const parser = new Parser(\n {\n ontext(text) {\n textNodes.push(text);\n nodePositions.push({\n start: fullText.length,\n end: fullText.length + text.length,\n });\n fullText += text;\n },\n },\n { decodeEntities: false }\n );\n\n parser.write(htmlStr);\n parser.end();\n\n const censored = censor.applyTo(\n fullText,\n badWordsMatcher.getAllMatches(fullText)\n );\n\n let result = \"\";\n let textIndex = 0;\n\n const parser2 = new Parser(\n {\n onopentag(name, attribs) {\n result += \"<\" + name;\n for (const k in attribs) {\n result += ` ${k}=\"${attribs[k]}\"`;\n }\n result += \">\";\n },\n ontext(text) {\n const len = text.length;\n result += censored.slice(textIndex, textIndex + len);\n textIndex += len;\n },\n onclosetag(name) {\n result += `</${name}>`;\n },\n oncomment(data) {\n result += `<!--${data}-->`;\n },\n onprocessinginstruction(name, data) {\n result += `<${data}>`;\n },\n oncdatastart() {\n result += \"<![CDATA[\";\n },\n oncdataend() {\n result += \"]]>\";\n },\n onerror(err) {\n throw err;\n },\n },\n { decodeEntities: false }\n );\n\n parser2.write(htmlStr);\n parser2.end();\n\n return result;\n};\n","import { DataSet, englishDataset, pattern } from \"obscenity\";\nimport fevoDict from \"./fevo-dictionary\";\n\nexport const badWordsDataSet = new DataSet<{ originalWord: string }>().addAll(\n englishDataset\n);\n\nconst initDataSet = () => {\n for (let key in fevoDict) {\n badWordsDataSet.addPhrase((phrase) => {\n phrase.setMetadata({ originalWord: key });\n const term = fevoDict[key];\n for (let variant of term.blacklistTerm as string[]) {\n phrase.addPattern(pattern`${variant}`);\n }\n for (let variant of term.whitelistTerm as string[]) {\n phrase.addWhitelistedTerm(variant);\n }\n return phrase;\n });\n }\n};\n\ninitDataSet();\n","const fevoDict: Record<\n string,\n Record<\"blacklistTerm\" | \"whitelistTerm\", string[]>\n> = {\n // Racial slurs - Black\n nigger: {\n blacklistTerm: [\n `nigger`,\n `nigga`,\n `n1gger`,\n `n!gger`,\n `nigg3r`,\n `ni99a`,\n `n*gger`,\n `n_gger`,\n `nibba`,\n `niqqer`,\n `nlgger`,\n `ñigger`,\n `nagger`,\n `n-word`,\n `n.i.g.g.e.r`,\n `n i g g e r`,\n `knee grow`,\n `niggers`,\n ],\n whitelistTerm: [],\n },\n negro: { blacklistTerm: [`negro`], whitelistTerm: [] },\n coon: { blacklistTerm: [`|coon`], whitelistTerm: [] },\n darkie: { blacklistTerm: [`darkie`], whitelistTerm: [] },\n spook: { blacklistTerm: [`spook`], whitelistTerm: [] },\n jigaboo: { blacklistTerm: [`jigaboo`], whitelistTerm: [] },\n sambo: { blacklistTerm: [`sambo`], whitelistTerm: [] },\n pickaninny: { blacklistTerm: [`|pickaninny|`], whitelistTerm: [] },\n \"tar baby\": { blacklistTerm: [`tar baby`], whitelistTerm: [] },\n \"porch monkey\": { blacklistTerm: [`porch monkey`], whitelistTerm: [] },\n \"jungle bunny\": { blacklistTerm: [`jungle bunny`], whitelistTerm: [] },\n spade: { blacklistTerm: [`spade|`], whitelistTerm: [] },\n \"moon cricket\": { blacklistTerm: [`moon cricket`], whitelistTerm: [] },\n\n // Racial slurs - Jewish\n kike: { blacklistTerm: [`kike`, `k1ke`], whitelistTerm: [] },\n yid: { blacklistTerm: [`yid`], whitelistTerm: [] },\n heeb: { blacklistTerm: [`heeb`], whitelistTerm: [] },\n hymie: { blacklistTerm: [`hymie`], whitelistTerm: [] },\n \"christ killer\": { blacklistTerm: [`christ killer`], whitelistTerm: [] },\n\n // Racial slurs - Asian\n chink: { blacklistTerm: [`chink`, `ch1nk`], whitelistTerm: [] },\n gook: { blacklistTerm: [`gook`, `g00k`], whitelistTerm: [] },\n slant: { blacklistTerm: [`slant`], whitelistTerm: [] },\n slope: { blacklistTerm: [`slope`], whitelistTerm: [] },\n zipperhead: { blacklistTerm: [`zipperhead`], whitelistTerm: [] },\n \"ching chong\": { blacklistTerm: [`ching chong`], whitelistTerm: [] },\n chinaman: { blacklistTerm: [`chinaman`], whitelistTerm: [] },\n jap: { blacklistTerm: [`jap`], whitelistTerm: [] },\n nip: { blacklistTerm: [`nip|`], whitelistTerm: [] },\n\n batty: { blacklistTerm: [`|batty`], whitelistTerm: [] },\n\n // Racial slurs - Hispanic/Latino\n wetback: { blacklistTerm: [`wetback`], whitelistTerm: [] },\n spic: { blacklistTerm: [`spic|`, `sp1c|`], whitelistTerm: [] },\n beaner: { blacklistTerm: [`beaner`], whitelistTerm: [] },\n greaser: { blacklistTerm: [`greaser`], whitelistTerm: [] },\n\n // Racial slurs - White\n cracker: { blacklistTerm: [`cracker`], whitelistTerm: [] },\n honky: { blacklistTerm: [`honky`], whitelistTerm: [] },\n redneck: { blacklistTerm: [`redneck`], whitelistTerm: [] },\n \"white trash\": { blacklistTerm: [`white trash`], whitelistTerm: [] },\n peckerwood: { blacklistTerm: [`peckerwood`], whitelistTerm: [] },\n \"trailer trash\": { blacklistTerm: [`trailer trash`], whitelistTerm: [] },\n\n // Racial slurs - Middle Eastern\n raghead: { blacklistTerm: [`raghead`], whitelistTerm: [] },\n towelhead: { blacklistTerm: [`towelhead`], whitelistTerm: [] },\n \"sand nigger\": { blacklistTerm: [`sand nigger`], whitelistTerm: [] },\n \"camel jockey\": { blacklistTerm: [`camel jockey`], whitelistTerm: [] },\n hajji: { blacklistTerm: [`hajji`], whitelistTerm: [] },\n muzzie: { blacklistTerm: [`muzzie`], whitelistTerm: [] },\n\n // Racial slurs - South Asian\n paki: { blacklistTerm: [`paki`], whitelistTerm: [] },\n \"curry muncher\": { blacklistTerm: [`curry muncher`], whitelistTerm: [] },\n\n // Racial slurs - Italian\n wop: { blacklistTerm: [`wop`], whitelistTerm: [] },\n dago: { blacklistTerm: [`dago`], whitelistTerm: [] },\n guinea: { blacklistTerm: [`guinea`], whitelistTerm: [] },\n\n // Racial slurs - Polish\n polack: { blacklistTerm: [`polack`], whitelistTerm: [] },\n\n // Racial slurs - German\n kraut: { blacklistTerm: [`|kraut`], whitelistTerm: [] },\n\n // Racial slurs - French\n frog: { blacklistTerm: [`frog`], whitelistTerm: [] },\n\n // Racial slurs - British\n limey: { blacklistTerm: [`limey`], whitelistTerm: [] },\n\n // Racial slurs - Irish\n mick: { blacklistTerm: [`|mick|`], whitelistTerm: [] },\n paddy: { blacklistTerm: [`paddy`], whitelistTerm: [] },\n\n // Racial slurs - Romani\n gypsy: { blacklistTerm: [`gypsy|`], whitelistTerm: [] },\n pikey: { blacklistTerm: [`pikey`], whitelistTerm: [] },\n\n // Racial slurs - Indigenous Australian\n abo: { blacklistTerm: [`abo!`], whitelistTerm: [] },\n boong: { blacklistTerm: [`boong`], whitelistTerm: [] },\n\n // Racial slurs - Native American\n redskin: { blacklistTerm: [`redskin`], whitelistTerm: [] },\n injun: { blacklistTerm: [`injun`], whitelistTerm: [] },\n squaw: { blacklistTerm: [`squaw`], whitelistTerm: [] },\n \"prairie nigger\": { blacklistTerm: [`prairie nigger`], whitelistTerm: [] },\n\n // LGBTQ+ slurs\n faggot: {\n blacklistTerm: [\n `faggot`,\n `fag|`,\n `faggy`,\n `faggotry`,\n `f4ggot`,\n `f@ggot`,\n `f4g`,\n `f*ggot`,\n `f-word`,\n `f.a.g.g.o.t`,\n `FAGGOT`,\n `Faggot`,\n `FaGgOt`,\n `faggots`,\n ],\n whitelistTerm: [],\n },\n dyke: { blacklistTerm: [`dyke|`], whitelistTerm: [] },\n lesbo: { blacklistTerm: [`lesbo`], whitelistTerm: [] },\n lezzie: { blacklistTerm: [`lezzie`], whitelistTerm: [] },\n \"carpet muncher\": { blacklistTerm: [`carpet muncher`], whitelistTerm: [] },\n \"muff diver\": { blacklistTerm: [`muff diver`], whitelistTerm: [] },\n homo: { blacklistTerm: [`homo|`], whitelistTerm: [] },\n homosexual: { blacklistTerm: [`homosexual`], whitelistTerm: [] },\n queer: { blacklistTerm: [`queer`], whitelistTerm: [] },\n queen: { blacklistTerm: [`queen!`], whitelistTerm: [] },\n pansy: { blacklistTerm: [`pansy`], whitelistTerm: [] },\n fairy: { blacklistTerm: [`fairy`], whitelistTerm: [] },\n poof: { blacklistTerm: [`poof`], whitelistTerm: [] },\n poofter: { blacklistTerm: [`poofter`], whitelistTerm: [] },\n nancy: { blacklistTerm: [`nancy`], whitelistTerm: [] },\n \"nancy boy\": { blacklistTerm: [`nancy boy`], whitelistTerm: [] },\n fruit: { blacklistTerm: [`fruit|`], whitelistTerm: [] },\n fruitcake: { blacklistTerm: [`fruitcake`], whitelistTerm: [] },\n \"chi chi man\": { blacklistTerm: [`chi chi man`], whitelistTerm: [] },\n sissy: { blacklistTerm: [`sissy`], whitelistTerm: [] },\n \"butt pirate\": { blacklistTerm: [`|butt pirate|`], whitelistTerm: [] },\n \"pillow biter\": { blacklistTerm: [`pillow bite[r]`], whitelistTerm: [] },\n \"fudge packer\": { blacklistTerm: [`fudge packer`], whitelistTerm: [] },\n \"ass bandit\": { blacklistTerm: [`ass bandit`], whitelistTerm: [] },\n \"shirt lifter\": { blacklistTerm: [`shirt lifter`], whitelistTerm: [] },\n\n // Transgender slurs\n tranny: { blacklistTerm: [`tranny`, `trаnny`], whitelistTerm: [] },\n shemale: { blacklistTerm: [`shemale`], whitelistTerm: [] },\n \"he-she\": { blacklistTerm: [`he-she`], whitelistTerm: [] },\n \"she-male\": { blacklistTerm: [`she-male`], whitelistTerm: [] },\n ladyboy: { blacklistTerm: [`ladyboy`], whitelistTerm: [] },\n trap: { blacklistTerm: [`trap`], whitelistTerm: [] },\n troon: { blacklistTerm: [`troon`], whitelistTerm: [] },\n troid: { blacklistTerm: [`troid`], whitelistTerm: [] },\n hermaphrodite: { blacklistTerm: [`hermaphrodite`], whitelistTerm: [] },\n\n // Ableist slurs\n retard: {\n blacklistTerm: [\n `retard|`,\n `retarded`,\n `tard`,\n `libtard`,\n `fucktard`,\n `r3tard`,\n `ret@rd`,\n `retards`,\n ],\n whitelistTerm: [],\n },\n spaz: { blacklistTerm: [`spaz`], whitelistTerm: [] },\n spastic: { blacklistTerm: [`spastic`], whitelistTerm: [] },\n cripple: { blacklistTerm: [`|cripple|`], whitelistTerm: [] },\n gimp: { blacklistTerm: [`gimp`], whitelistTerm: [] },\n invalid: { blacklistTerm: [`invalid`], whitelistTerm: [] },\n vegetable: { blacklistTerm: [`vegetable`], whitelistTerm: [] },\n moron: { blacklistTerm: [`moron`], whitelistTerm: [] },\n imbecile: { blacklistTerm: [`imbecile`], whitelistTerm: [] },\n idiot: { blacklistTerm: [`idiot`], whitelistTerm: [] },\n cretin: { blacklistTerm: [`cretin`], whitelistTerm: [] },\n mongoloid: { blacklistTerm: [`mongoloid`], whitelistTerm: [] },\n \"window licker\": { blacklistTerm: [`window licker`], whitelistTerm: [] },\n \"short bus\": { blacklistTerm: [`short bus`], whitelistTerm: [] },\n\n // Misogynistic slurs\n cunt: { blacklistTerm: [`cunt`, `c*nt`], whitelistTerm: [] },\n bitch: { blacklistTerm: [`bitch`], whitelistTerm: [] },\n whore: { blacklistTerm: [`whore`], whitelistTerm: [] },\n slut: { blacklistTerm: [`slut`], whitelistTerm: [] },\n hoe: { blacklistTerm: [`|hoe`], whitelistTerm: [] },\n skank: { blacklistTerm: [`skank`], whitelistTerm: [] },\n slag: { blacklistTerm: [`slag|`], whitelistTerm: [] },\n twat: { blacklistTerm: [`twat`], whitelistTerm: [] },\n gash: { blacklistTerm: [`gash|`], whitelistTerm: [] },\n feminazi: { blacklistTerm: [`feminazi`], whitelistTerm: [] },\n thot: { blacklistTerm: [`thot`], whitelistTerm: [] },\n roastie: { blacklistTerm: [`roastie`], whitelistTerm: [] },\n foid: { blacklistTerm: [`foid`], whitelistTerm: [] },\n femoid: { blacklistTerm: [`femoid`], whitelistTerm: [] },\n\n // Other derogatory terms\n cuck: { blacklistTerm: [`cuck`], whitelistTerm: [] },\n soyboy: { blacklistTerm: [`soyboy`], whitelistTerm: [] },\n beta: { blacklistTerm: [`beta`], whitelistTerm: [] },\n\n // Religious slurs\n \"bible thumper\": { blacklistTerm: [`bible thumper`], whitelistTerm: [] },\n \"holy roller\": { blacklistTerm: [`holy roller`], whitelistTerm: [] },\n heathen: { blacklistTerm: [`heathen`], whitelistTerm: [] },\n infidel: { blacklistTerm: [`infidel`], whitelistTerm: [] },\n kafir: { blacklistTerm: [`kafir`], whitelistTerm: [] },\n goy: { blacklistTerm: [`goy`], whitelistTerm: [] },\n shiksa: { blacklistTerm: [`shiksa`], whitelistTerm: [] },\n papist: { blacklistTerm: [`papist`], whitelistTerm: [] },\n \"mackerel snapper\": {\n blacklistTerm: [`mackerel snapper`],\n whitelistTerm: [],\n },\n proddy: { blacklistTerm: [`proddy`], whitelistTerm: [] },\n taig: { blacklistTerm: [`taig`], whitelistTerm: [] },\n fenian: { blacklistTerm: [`fenian`], whitelistTerm: [] },\n hun: { blacklistTerm: [`hun|`], whitelistTerm: [] },\n \"orange bastard\": { blacklistTerm: [`orange bastard`], whitelistTerm: [] },\n};\n\nexport default fevoDict;\n"],"mappings":"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","names":["index_exports","__export","censorBadWords","censorHtmlPreservingTags","hasContainsBadWords","__toCommonJS","import_obscenity","import_obscenity","fevoDict","fevo_dictionary_default","badWordsDataSet","initDataSet","key","fevo_dictionary_default","phrase","term","variant","import_htmlparser2","presets","badWordsDataSet","badWordsMatcher","strategy","censor","censorBadWords","input","hasContainsBadWords","censorHtmlPreservingTags","htmlStr","textNodes","nodePositions","fullText","parser","text","censored","result","textIndex","parser2","name","attribs","k","len","data","err"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/string.ts","../src/dataset.ts","../src/fevo-dictionary.ts"],"sourcesContent":["export * from \"./string\";\n","import {\n asteriskCensorStrategy,\n collapseDuplicatesTransformer,\n resolveConfusablesTransformer,\n keepStartCensorStrategy,\n RegExpMatcher,\n TextCensor,\n toAsciiLowerCaseTransformer,\n resolveLeetSpeakTransformer,\n} from \"obscenity\";\nimport { badWordsDataSet } from \"./dataset\";\nimport { Parser } from \"htmlparser2\";\n\nconst presets = {\n ...badWordsDataSet.build(),\n};\n\nconst badWordsMatcher = new RegExpMatcher({\n ...presets,\n blacklistMatcherTransformers: [\n collapseDuplicatesTransformer({\n defaultThreshold: 2,\n customThresholds: new Map([[\"u\", 1]]),\n }),\n toAsciiLowerCaseTransformer(),\n resolveConfusablesTransformer(),\n resolveLeetSpeakTransformer(),\n ],\n});\n\nconst strategy = keepStartCensorStrategy(asteriskCensorStrategy());\nconst censor = new TextCensor().setStrategy(strategy);\n\nexport const censorBadWords = (input: string) => {\n return censor.applyTo(input, badWordsMatcher.getAllMatches(input));\n};\n\nexport const hasContainsBadWords = (input: string) => {\n return badWordsMatcher.hasMatch(input);\n};\n\nexport const censorHtmlPreservingTags = (htmlStr: string) => {\n const textNodes = [];\n const nodePositions = [];\n let fullText = \"\";\n\n const parser = new Parser(\n {\n ontext(text) {\n textNodes.push(text);\n nodePositions.push({\n start: fullText.length,\n end: fullText.length + text.length,\n });\n fullText += text;\n },\n },\n { decodeEntities: false }\n );\n\n parser.write(htmlStr);\n parser.end();\n\n const censored = censor.applyTo(\n fullText,\n badWordsMatcher.getAllMatches(fullText)\n );\n\n let result = \"\";\n let textIndex = 0;\n\n const parser2 = new Parser(\n {\n onopentag(name, attribs) {\n result += \"<\" + name;\n for (const k in attribs) {\n result += ` ${k}=\"${attribs[k]}\"`;\n }\n result += \">\";\n },\n ontext(text) {\n const len = text.length;\n result += censored.slice(textIndex, textIndex + len);\n textIndex += len;\n },\n onclosetag(name) {\n result += `</${name}>`;\n },\n oncomment(data) {\n result += `<!--${data}-->`;\n },\n onprocessinginstruction(name, data) {\n result += `<${data}>`;\n },\n oncdatastart() {\n result += \"<![CDATA[\";\n },\n oncdataend() {\n result += \"]]>\";\n },\n onerror(err) {\n throw err;\n },\n },\n { decodeEntities: false }\n );\n\n parser2.write(htmlStr);\n parser2.end();\n\n return result;\n};\n","import { DataSet, englishDataset, pattern } from \"obscenity\";\nimport fevoDict from \"./fevo-dictionary\";\n\nexport const badWordsDataSet = new DataSet<{ originalWord: string }>().addAll(\n englishDataset\n);\n\nconst initDataSet = () => {\n for (let key in fevoDict) {\n badWordsDataSet.addPhrase((phrase) => {\n phrase.setMetadata({ originalWord: key });\n const term = fevoDict[key];\n for (let variant of term.blacklistTerm as string[]) {\n phrase.addPattern(pattern`${variant}`);\n }\n for (let variant of term.whitelistTerm as string[]) {\n phrase.addWhitelistedTerm(variant);\n }\n return phrase;\n });\n }\n};\n\ninitDataSet();\n","const fevoDict: Record<\n string,\n Record<\"blacklistTerm\" | \"whitelistTerm\", string[]>\n> = {\n // Racial slurs - Black\n nigger: {\n blacklistTerm: [\n `nigger`,\n `nigga`,\n `n1gger`,\n `n!gger`,\n `nigg3r`,\n `ni99a`,\n `n*gger`,\n `n_gger`,\n `nibba`,\n `niqqer`,\n `nlgger`,\n `ñigger`,\n `nagger`,\n `n-word`,\n `n.i.g.g.e.r`,\n `n i g g e r`,\n `knee grow`,\n `niggers`,\n ],\n whitelistTerm: [],\n },\n negro: { blacklistTerm: [`negro`], whitelistTerm: [] },\n coon: { blacklistTerm: [`|coon`], whitelistTerm: [] },\n darkie: { blacklistTerm: [`darkie`], whitelistTerm: [] },\n spook: { blacklistTerm: [`spook`], whitelistTerm: [] },\n jigaboo: { blacklistTerm: [`jigaboo`], whitelistTerm: [] },\n sambo: { blacklistTerm: [`sambo`], whitelistTerm: [] },\n pickaninny: { blacklistTerm: [`|pickaninny|`], whitelistTerm: [] },\n \"tar baby\": { blacklistTerm: [`tar baby`], whitelistTerm: [] },\n \"porch monkey\": { blacklistTerm: [`porch monkey`], whitelistTerm: [] },\n \"jungle bunny\": { blacklistTerm: [`jungle bunny`], whitelistTerm: [] },\n spade: { blacklistTerm: [`spade|`], whitelistTerm: [] },\n \"moon cricket\": { blacklistTerm: [`moon cricket`], whitelistTerm: [] },\n\n // Racial slurs - Jewish\n kike: { blacklistTerm: [`kike`, `k1ke`], whitelistTerm: [] },\n yid: { blacklistTerm: [`yid`], whitelistTerm: [] },\n heeb: { blacklistTerm: [`heeb`], whitelistTerm: [] },\n hymie: { blacklistTerm: [`hymie`], whitelistTerm: [] },\n \"christ killer\": { blacklistTerm: [`christ killer`], whitelistTerm: [] },\n\n // Racial slurs - Asian\n chink: { blacklistTerm: [`chink`, `ch1nk`], whitelistTerm: [] },\n gook: { blacklistTerm: [`gook`, `g00k`], whitelistTerm: [] },\n slant: { blacklistTerm: [`slant`], whitelistTerm: [] },\n slope: { blacklistTerm: [`slope`], whitelistTerm: [] },\n zipperhead: { blacklistTerm: [`zipperhead`], whitelistTerm: [] },\n \"ching chong\": { blacklistTerm: [`ching chong`], whitelistTerm: [] },\n chinaman: { blacklistTerm: [`chinaman`], whitelistTerm: [] },\n jap: { blacklistTerm: [`jap`], whitelistTerm: [] },\n nip: { blacklistTerm: [`nip|`], whitelistTerm: [] },\n\n batty: { blacklistTerm: [`|batty`], whitelistTerm: [] },\n\n // Racial slurs - Hispanic/Latino\n wetback: { blacklistTerm: [`wetback`], whitelistTerm: [] },\n spic: { blacklistTerm: [`spic|`, `sp1c|`], whitelistTerm: [] },\n beaner: { blacklistTerm: [`beaner`], whitelistTerm: [] },\n greaser: { blacklistTerm: [`greaser`], whitelistTerm: [] },\n\n // Racial slurs - White\n cracker: { blacklistTerm: [`cracker`], whitelistTerm: [] },\n honky: { blacklistTerm: [`honky`], whitelistTerm: [] },\n redneck: { blacklistTerm: [`redneck`], whitelistTerm: [] },\n \"white trash\": { blacklistTerm: [`white trash`], whitelistTerm: [] },\n peckerwood: { blacklistTerm: [`peckerwood`], whitelistTerm: [] },\n \"trailer trash\": { blacklistTerm: [`trailer trash`], whitelistTerm: [] },\n\n // Racial slurs - Middle Eastern\n raghead: { blacklistTerm: [`raghead`], whitelistTerm: [] },\n towelhead: { blacklistTerm: [`towelhead`], whitelistTerm: [] },\n \"sand nigger\": { blacklistTerm: [`sand nigger`], whitelistTerm: [] },\n \"camel jockey\": { blacklistTerm: [`camel jockey`], whitelistTerm: [] },\n hajji: { blacklistTerm: [`hajji`], whitelistTerm: [] },\n muzzie: { blacklistTerm: [`muzzie`], whitelistTerm: [] },\n\n // Racial slurs - South Asian\n paki: { blacklistTerm: [`paki|`], whitelistTerm: [] },\n \"curry muncher\": { blacklistTerm: [`curry muncher`], whitelistTerm: [] },\n\n // Racial slurs - Italian\n wop: { blacklistTerm: [`wop`], whitelistTerm: [] },\n dago: { blacklistTerm: [`dago`], whitelistTerm: [] },\n guinea: { blacklistTerm: [`guinea`], whitelistTerm: [] },\n\n // Racial slurs - Polish\n polack: { blacklistTerm: [`polack`], whitelistTerm: [] },\n\n // Racial slurs - German\n kraut: { blacklistTerm: [`|kraut`], whitelistTerm: [] },\n\n // Racial slurs - French\n frog: { blacklistTerm: [`frog`], whitelistTerm: [] },\n\n // Racial slurs - British\n limey: { blacklistTerm: [`limey`], whitelistTerm: [] },\n\n // Racial slurs - Irish\n mick: { blacklistTerm: [`|mick|`], whitelistTerm: [] },\n paddy: { blacklistTerm: [`paddy`], whitelistTerm: [] },\n\n // Racial slurs - Romani\n gypsy: { blacklistTerm: [`gypsy|`], whitelistTerm: [] },\n pikey: { blacklistTerm: [`pikey`], whitelistTerm: [] },\n\n // Racial slurs - Indigenous Australian\n abo: { blacklistTerm: [`abo!`], whitelistTerm: [] },\n boong: { blacklistTerm: [`boong`], whitelistTerm: [] },\n\n // Racial slurs - Native American\n redskin: { blacklistTerm: [`redskin`], whitelistTerm: [] },\n injun: { blacklistTerm: [`injun`], whitelistTerm: [] },\n squaw: { blacklistTerm: [`squaw`], whitelistTerm: [] },\n \"prairie nigger\": { blacklistTerm: [`prairie nigger`], whitelistTerm: [] },\n\n // LGBTQ+ slurs\n faggot: {\n blacklistTerm: [\n `faggot`,\n `fag|`,\n `faggy`,\n `faggotry`,\n `f4ggot`,\n `f@ggot`,\n `f4g`,\n `f*ggot`,\n `f-word`,\n `f.a.g.g.o.t`,\n `FAGGOT`,\n `Faggot`,\n `FaGgOt`,\n `faggots`,\n ],\n whitelistTerm: [\"fage\", \"fagus\"],\n },\n dyke: { blacklistTerm: [`dyke|`], whitelistTerm: [\"dykes\", \"dyken\"] },\n lesbo: { blacklistTerm: [`lesbo`], whitelistTerm: [] },\n lezzie: { blacklistTerm: [`lezzie`], whitelistTerm: [] },\n \"carpet muncher\": { blacklistTerm: [`carpet muncher`], whitelistTerm: [] },\n \"muff diver\": { blacklistTerm: [`muff diver`], whitelistTerm: [] },\n homo: { blacklistTerm: [`homo|`], whitelistTerm: [] },\n homosexual: { blacklistTerm: [`homosexual`], whitelistTerm: [] },\n queer: { blacklistTerm: [`queer`], whitelistTerm: [] },\n queen: { blacklistTerm: [`queen!`], whitelistTerm: [] },\n pansy: { blacklistTerm: [`pansy`], whitelistTerm: [] },\n fairy: { blacklistTerm: [`fairy`], whitelistTerm: [] },\n poof: { blacklistTerm: [`poof`], whitelistTerm: [] },\n poofter: { blacklistTerm: [`poofter`], whitelistTerm: [] },\n nancy: { blacklistTerm: [`nancy`], whitelistTerm: [] },\n \"nancy boy\": { blacklistTerm: [`nancy boy`], whitelistTerm: [] },\n fruit: { blacklistTerm: [`fruit|`], whitelistTerm: [] },\n fruitcake: { blacklistTerm: [`fruitcake`], whitelistTerm: [] },\n \"chi chi man\": { blacklistTerm: [`chi chi man`], whitelistTerm: [] },\n sissy: { blacklistTerm: [`sissy`], whitelistTerm: [] },\n \"butt pirate\": { blacklistTerm: [`|butt pirate|`], whitelistTerm: [] },\n \"pillow biter\": { blacklistTerm: [`pillow bite[r]`], whitelistTerm: [] },\n \"fudge packer\": { blacklistTerm: [`fudge packer`], whitelistTerm: [] },\n \"ass bandit\": { blacklistTerm: [`ass bandit`], whitelistTerm: [] },\n \"shirt lifter\": { blacklistTerm: [`shirt lifter`], whitelistTerm: [] },\n\n // Transgender slurs\n tranny: { blacklistTerm: [`tranny`, `trаnny`], whitelistTerm: [] },\n shemale: { blacklistTerm: [`shemale`], whitelistTerm: [] },\n \"he-she\": { blacklistTerm: [`he-she`], whitelistTerm: [] },\n \"she-male\": { blacklistTerm: [`she-male`], whitelistTerm: [] },\n ladyboy: { blacklistTerm: [`ladyboy`], whitelistTerm: [] },\n trap: { blacklistTerm: [`trap`], whitelistTerm: [] },\n troon: { blacklistTerm: [`troon`], whitelistTerm: [] },\n troid: { blacklistTerm: [`troid`], whitelistTerm: [] },\n hermaphrodite: { blacklistTerm: [`hermaphrodite`], whitelistTerm: [] },\n\n // Ableist slurs\n retard: {\n blacklistTerm: [\n `retard|`,\n `retarded`,\n `tard`,\n `libtard`,\n `fucktard`,\n `r3tard`,\n `ret@rd`,\n `retards`,\n ],\n whitelistTerm: [\"retarder\"],\n },\n spaz: { blacklistTerm: [`spaz`], whitelistTerm: [] },\n spastic: { blacklistTerm: [`spastic`], whitelistTerm: [] },\n cripple: { blacklistTerm: [`|cripple|`], whitelistTerm: [] },\n gimp: { blacklistTerm: [`gimp`], whitelistTerm: [] },\n invalid: { blacklistTerm: [`invalid`], whitelistTerm: [] },\n vegetable: { blacklistTerm: [`vegetable`], whitelistTerm: [] },\n moron: { blacklistTerm: [`moron`], whitelistTerm: [] },\n imbecile: { blacklistTerm: [`imbecile`], whitelistTerm: [] },\n idiot: { blacklistTerm: [`idiot`], whitelistTerm: [] },\n cretin: { blacklistTerm: [`cretin`], whitelistTerm: [] },\n mongoloid: { blacklistTerm: [`mongoloid`], whitelistTerm: [] },\n \"window licker\": { blacklistTerm: [`window licker`], whitelistTerm: [] },\n \"short bus\": { blacklistTerm: [`short bus`], whitelistTerm: [] },\n\n // Misogynistic slurs\n cunt: { blacklistTerm: [`cunt`, `c*nt`], whitelistTerm: [] },\n bitch: { blacklistTerm: [`bitch`], whitelistTerm: [] },\n whore: { blacklistTerm: [`whore`], whitelistTerm: [] },\n slut: { blacklistTerm: [`slut`], whitelistTerm: [] },\n hoe: { blacklistTerm: [`|hoe`], whitelistTerm: [] },\n skank: { blacklistTerm: [`skank`], whitelistTerm: [] },\n slag: { blacklistTerm: [`slag|`], whitelistTerm: [] },\n twat: { blacklistTerm: [`twat`], whitelistTerm: [] },\n gash: { blacklistTerm: [`gash|`], whitelistTerm: [] },\n feminazi: { blacklistTerm: [`feminazi`], whitelistTerm: [] },\n thot: { blacklistTerm: [`thot`], whitelistTerm: [] },\n roastie: { blacklistTerm: [`roastie`], whitelistTerm: [] },\n foid: { blacklistTerm: [`foid`], whitelistTerm: [] },\n femoid: { blacklistTerm: [`femoid`], whitelistTerm: [] },\n\n // Other derogatory terms\n cuck: { blacklistTerm: [`cuck`], whitelistTerm: [] },\n soyboy: { blacklistTerm: [`soyboy`], whitelistTerm: [] },\n beta: { blacklistTerm: [`beta`], whitelistTerm: [] },\n\n // Religious slurs\n \"bible thumper\": { blacklistTerm: [`bible thumper`], whitelistTerm: [] },\n \"holy roller\": { blacklistTerm: [`holy roller`], whitelistTerm: [] },\n heathen: { blacklistTerm: [`heathen`], whitelistTerm: [] },\n infidel: { blacklistTerm: [`infidel`], whitelistTerm: [] },\n kafir: { blacklistTerm: [`kafir`], whitelistTerm: [] },\n goy: { blacklistTerm: [`goy`], whitelistTerm: [] },\n shiksa: { blacklistTerm: [`shiksa`], whitelistTerm: [] },\n papist: { blacklistTerm: [`papist`], whitelistTerm: [] },\n \"mackerel snapper\": {\n blacklistTerm: [`mackerel snapper`],\n whitelistTerm: [],\n },\n proddy: { blacklistTerm: [`proddy`], whitelistTerm: [] },\n taig: { blacklistTerm: [`taig`], whitelistTerm: [] },\n fenian: { blacklistTerm: [`fenian`], whitelistTerm: [] },\n hun: { blacklistTerm: [`hun|`], whitelistTerm: [] },\n \"orange bastard\": { blacklistTerm: [`orange bastard`], whitelistTerm: [] },\n};\n\nexport default fevoDict;\n"],"mappings":"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","names":["index_exports","__export","censorBadWords","censorHtmlPreservingTags","hasContainsBadWords","__toCommonJS","import_obscenity","import_obscenity","fevoDict","fevo_dictionary_default","badWordsDataSet","initDataSet","key","fevo_dictionary_default","phrase","term","variant","import_htmlparser2","presets","badWordsDataSet","badWordsMatcher","strategy","censor","censorBadWords","input","hasContainsBadWords","censorHtmlPreservingTags","htmlStr","textNodes","nodePositions","fullText","parser","text","censored","result","textIndex","parser2","name","attribs","k","len","data","err"]}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{asteriskCensorStrategy as j,collapseDuplicatesTransformer as x,resolveConfusablesTransformer as z,keepStartCensorStrategy as v,RegExpMatcher as D,TextCensor as q,toAsciiLowerCaseTransformer as M,resolveLeetSpeakTransformer as S}from"obscenity";import{DataSet as p,englishDataset as f,pattern as y}from"obscenity";var d={nigger:{blacklistTerm:["nigger","nigga","n1gger","n!gger","nigg3r","ni99a","n*gger","n_gger","nibba","niqqer","nlgger","\u221A\xB1igger","nagger","n-word","n.i.g.g.e.r","n i g g e r","knee grow","niggers"],whitelistTerm:[]},negro:{blacklistTerm:["negro"],whitelistTerm:[]},coon:{blacklistTerm:["|coon"],whitelistTerm:[]},darkie:{blacklistTerm:["darkie"],whitelistTerm:[]},spook:{blacklistTerm:["spook"],whitelistTerm:[]},jigaboo:{blacklistTerm:["jigaboo"],whitelistTerm:[]},sambo:{blacklistTerm:["sambo"],whitelistTerm:[]},pickaninny:{blacklistTerm:["|pickaninny|"],whitelistTerm:[]},"tar baby":{blacklistTerm:["tar baby"],whitelistTerm:[]},"porch monkey":{blacklistTerm:["porch monkey"],whitelistTerm:[]},"jungle bunny":{blacklistTerm:["jungle bunny"],whitelistTerm:[]},spade:{blacklistTerm:["spade|"],whitelistTerm:[]},"moon cricket":{blacklistTerm:["moon cricket"],whitelistTerm:[]},kike:{blacklistTerm:["kike","k1ke"],whitelistTerm:[]},yid:{blacklistTerm:["yid"],whitelistTerm:[]},heeb:{blacklistTerm:["heeb"],whitelistTerm:[]},hymie:{blacklistTerm:["hymie"],whitelistTerm:[]},"christ killer":{blacklistTerm:["christ killer"],whitelistTerm:[]},chink:{blacklistTerm:["chink","ch1nk"],whitelistTerm:[]},gook:{blacklistTerm:["gook","g00k"],whitelistTerm:[]},slant:{blacklistTerm:["slant"],whitelistTerm:[]},slope:{blacklistTerm:["slope"],whitelistTerm:[]},zipperhead:{blacklistTerm:["zipperhead"],whitelistTerm:[]},"ching chong":{blacklistTerm:["ching chong"],whitelistTerm:[]},chinaman:{blacklistTerm:["chinaman"],whitelistTerm:[]},jap:{blacklistTerm:["jap"],whitelistTerm:[]},nip:{blacklistTerm:["nip|"],whitelistTerm:[]},batty:{blacklistTerm:["|batty"],whitelistTerm:[]},wetback:{blacklistTerm:["wetback"],whitelistTerm:[]},spic:{blacklistTerm:["spic|","sp1c|"],whitelistTerm:[]},beaner:{blacklistTerm:["beaner"],whitelistTerm:[]},greaser:{blacklistTerm:["greaser"],whitelistTerm:[]},cracker:{blacklistTerm:["cracker"],whitelistTerm:[]},honky:{blacklistTerm:["honky"],whitelistTerm:[]},redneck:{blacklistTerm:["redneck"],whitelistTerm:[]},"white trash":{blacklistTerm:["white trash"],whitelistTerm:[]},peckerwood:{blacklistTerm:["peckerwood"],whitelistTerm:[]},"trailer trash":{blacklistTerm:["trailer trash"],whitelistTerm:[]},raghead:{blacklistTerm:["raghead"],whitelistTerm:[]},towelhead:{blacklistTerm:["towelhead"],whitelistTerm:[]},"sand nigger":{blacklistTerm:["sand nigger"],whitelistTerm:[]},"camel jockey":{blacklistTerm:["camel jockey"],whitelistTerm:[]},hajji:{blacklistTerm:["hajji"],whitelistTerm:[]},muzzie:{blacklistTerm:["muzzie"],whitelistTerm:[]},paki:{blacklistTerm:["paki"],whitelistTerm:[]},"curry muncher":{blacklistTerm:["curry muncher"],whitelistTerm:[]},wop:{blacklistTerm:["wop"],whitelistTerm:[]},dago:{blacklistTerm:["dago"],whitelistTerm:[]},guinea:{blacklistTerm:["guinea"],whitelistTerm:[]},polack:{blacklistTerm:["polack"],whitelistTerm:[]},kraut:{blacklistTerm:["|kraut"],whitelistTerm:[]},frog:{blacklistTerm:["frog"],whitelistTerm:[]},limey:{blacklistTerm:["limey"],whitelistTerm:[]},mick:{blacklistTerm:["|mick|"],whitelistTerm:[]},paddy:{blacklistTerm:["paddy"],whitelistTerm:[]},gypsy:{blacklistTerm:["gypsy|"],whitelistTerm:[]},pikey:{blacklistTerm:["pikey"],whitelistTerm:[]},abo:{blacklistTerm:["abo!"],whitelistTerm:[]},boong:{blacklistTerm:["boong"],whitelistTerm:[]},redskin:{blacklistTerm:["redskin"],whitelistTerm:[]},injun:{blacklistTerm:["injun"],whitelistTerm:[]},squaw:{blacklistTerm:["squaw"],whitelistTerm:[]},"prairie nigger":{blacklistTerm:["prairie nigger"],whitelistTerm:[]},faggot:{blacklistTerm:["faggot","fag|","faggy","faggotry","f4ggot","f@ggot","f4g","f*ggot","f-word","f.a.g.g.o.t","FAGGOT","Faggot","FaGgOt","faggots"],whitelistTerm:[]},dyke:{blacklistTerm:["dyke|"],whitelistTerm:[]},lesbo:{blacklistTerm:["lesbo"],whitelistTerm:[]},lezzie:{blacklistTerm:["lezzie"],whitelistTerm:[]},"carpet muncher":{blacklistTerm:["carpet muncher"],whitelistTerm:[]},"muff diver":{blacklistTerm:["muff diver"],whitelistTerm:[]},homo:{blacklistTerm:["homo|"],whitelistTerm:[]},homosexual:{blacklistTerm:["homosexual"],whitelistTerm:[]},queer:{blacklistTerm:["queer"],whitelistTerm:[]},queen:{blacklistTerm:["queen!"],whitelistTerm:[]},pansy:{blacklistTerm:["pansy"],whitelistTerm:[]},fairy:{blacklistTerm:["fairy"],whitelistTerm:[]},poof:{blacklistTerm:["poof"],whitelistTerm:[]},poofter:{blacklistTerm:["poofter"],whitelistTerm:[]},nancy:{blacklistTerm:["nancy"],whitelistTerm:[]},"nancy boy":{blacklistTerm:["nancy boy"],whitelistTerm:[]},fruit:{blacklistTerm:["fruit|"],whitelistTerm:[]},fruitcake:{blacklistTerm:["fruitcake"],whitelistTerm:[]},"chi chi man":{blacklistTerm:["chi chi man"],whitelistTerm:[]},sissy:{blacklistTerm:["sissy"],whitelistTerm:[]},"butt pirate":{blacklistTerm:["|butt pirate|"],whitelistTerm:[]},"pillow biter":{blacklistTerm:["pillow bite[r]"],whitelistTerm:[]},"fudge packer":{blacklistTerm:["fudge packer"],whitelistTerm:[]},"ass bandit":{blacklistTerm:["ass bandit"],whitelistTerm:[]},"shirt lifter":{blacklistTerm:["shirt lifter"],whitelistTerm:[]},tranny:{blacklistTerm:["tranny","tr\u2013\u221Enny"],whitelistTerm:[]},shemale:{blacklistTerm:["shemale"],whitelistTerm:[]},"he-she":{blacklistTerm:["he-she"],whitelistTerm:[]},"she-male":{blacklistTerm:["she-male"],whitelistTerm:[]},ladyboy:{blacklistTerm:["ladyboy"],whitelistTerm:[]},trap:{blacklistTerm:["trap"],whitelistTerm:[]},troon:{blacklistTerm:["troon"],whitelistTerm:[]},troid:{blacklistTerm:["troid"],whitelistTerm:[]},hermaphrodite:{blacklistTerm:["hermaphrodite"],whitelistTerm:[]},retard:{blacklistTerm:["retard|","retarded","tard","libtard","fucktard","r3tard","ret@rd","retards"],whitelistTerm:[]},spaz:{blacklistTerm:["spaz"],whitelistTerm:[]},spastic:{blacklistTerm:["spastic"],whitelistTerm:[]},cripple:{blacklistTerm:["|cripple|"],whitelistTerm:[]},gimp:{blacklistTerm:["gimp"],whitelistTerm:[]},invalid:{blacklistTerm:["invalid"],whitelistTerm:[]},vegetable:{blacklistTerm:["vegetable"],whitelistTerm:[]},moron:{blacklistTerm:["moron"],whitelistTerm:[]},imbecile:{blacklistTerm:["imbecile"],whitelistTerm:[]},idiot:{blacklistTerm:["idiot"],whitelistTerm:[]},cretin:{blacklistTerm:["cretin"],whitelistTerm:[]},mongoloid:{blacklistTerm:["mongoloid"],whitelistTerm:[]},"window licker":{blacklistTerm:["window licker"],whitelistTerm:[]},"short bus":{blacklistTerm:["short bus"],whitelistTerm:[]},cunt:{blacklistTerm:["cunt","c*nt"],whitelistTerm:[]},bitch:{blacklistTerm:["bitch"],whitelistTerm:[]},whore:{blacklistTerm:["whore"],whitelistTerm:[]},slut:{blacklistTerm:["slut"],whitelistTerm:[]},hoe:{blacklistTerm:["|hoe"],whitelistTerm:[]},skank:{blacklistTerm:["skank"],whitelistTerm:[]},slag:{blacklistTerm:["slag|"],whitelistTerm:[]},twat:{blacklistTerm:["twat"],whitelistTerm:[]},gash:{blacklistTerm:["gash|"],whitelistTerm:[]},feminazi:{blacklistTerm:["feminazi"],whitelistTerm:[]},thot:{blacklistTerm:["thot"],whitelistTerm:[]},roastie:{blacklistTerm:["roastie"],whitelistTerm:[]},foid:{blacklistTerm:["foid"],whitelistTerm:[]},femoid:{blacklistTerm:["femoid"],whitelistTerm:[]},cuck:{blacklistTerm:["cuck"],whitelistTerm:[]},soyboy:{blacklistTerm:["soyboy"],whitelistTerm:[]},beta:{blacklistTerm:["beta"],whitelistTerm:[]},"bible thumper":{blacklistTerm:["bible thumper"],whitelistTerm:[]},"holy roller":{blacklistTerm:["holy roller"],whitelistTerm:[]},heathen:{blacklistTerm:["heathen"],whitelistTerm:[]},infidel:{blacklistTerm:["infidel"],whitelistTerm:[]},kafir:{blacklistTerm:["kafir"],whitelistTerm:[]},goy:{blacklistTerm:["goy"],whitelistTerm:[]},shiksa:{blacklistTerm:["shiksa"],whitelistTerm:[]},papist:{blacklistTerm:["papist"],whitelistTerm:[]},"mackerel snapper":{blacklistTerm:["mackerel snapper"],whitelistTerm:[]},proddy:{blacklistTerm:["proddy"],whitelistTerm:[]},taig:{blacklistTerm:["taig"],whitelistTerm:[]},fenian:{blacklistTerm:["fenian"],whitelistTerm:[]},hun:{blacklistTerm:["hun|"],whitelistTerm:[]},"orange bastard":{blacklistTerm:["orange bastard"],whitelistTerm:[]}},T=d;var c=new p().addAll(f),u=()=>{for(let t in T)c.addPhrase(s=>{s.setMetadata({originalWord:t});let a=T[t];for(let r of a.blacklistTerm)s.addPattern(y`${r}`);for(let r of a.whitelistTerm)s.addWhitelistedTerm(r);return s})};u();import{Parser as b}from"htmlparser2";var W={...c.build()},h=new D({...W,blacklistMatcherTransformers:[x({defaultThreshold:2,customThresholds:new Map([["u",1]])}),M(),z(),S()]}),A=v(j()),w=new q().setStrategy(A),B=t=>w.applyTo(t,h.getAllMatches(t)),L=t=>h.hasMatch(t),O=t=>{let s=[],a=[],r="",o=new b({ontext(e){s.push(e),a.push({start:r.length,end:r.length+e.length}),r+=e}},{decodeEntities:!1});o.write(t),o.end();let g=w.applyTo(r,h.getAllMatches(r)),i="",m=0,n=new b({onopentag(e,l){i+="<"+e;for(let k in l)i+=` ${k}="${l[k]}"`;i+=">"},ontext(e){let l=e.length;i+=g.slice(m,m+l),m+=l},onclosetag(e){i+=`</${e}>`},oncomment(e){i+=`<!--${e}-->`},onprocessinginstruction(e,l){i+=`<${l}>`},oncdatastart(){i+="<![CDATA["},oncdataend(){i+="]]>"},onerror(e){throw e}},{decodeEntities:!1});return n.write(t),n.end(),i};export{B as censorBadWords,O as censorHtmlPreservingTags,L as hasContainsBadWords};
1
+ import{asteriskCensorStrategy as j,collapseDuplicatesTransformer as x,resolveConfusablesTransformer as z,keepStartCensorStrategy as v,RegExpMatcher as D,TextCensor as q,toAsciiLowerCaseTransformer as M,resolveLeetSpeakTransformer as S}from"obscenity";import{DataSet as p,englishDataset as f,pattern as y}from"obscenity";var d={nigger:{blacklistTerm:["nigger","nigga","n1gger","n!gger","nigg3r","ni99a","n*gger","n_gger","nibba","niqqer","nlgger","\u221A\xB1igger","nagger","n-word","n.i.g.g.e.r","n i g g e r","knee grow","niggers"],whitelistTerm:[]},negro:{blacklistTerm:["negro"],whitelistTerm:[]},coon:{blacklistTerm:["|coon"],whitelistTerm:[]},darkie:{blacklistTerm:["darkie"],whitelistTerm:[]},spook:{blacklistTerm:["spook"],whitelistTerm:[]},jigaboo:{blacklistTerm:["jigaboo"],whitelistTerm:[]},sambo:{blacklistTerm:["sambo"],whitelistTerm:[]},pickaninny:{blacklistTerm:["|pickaninny|"],whitelistTerm:[]},"tar baby":{blacklistTerm:["tar baby"],whitelistTerm:[]},"porch monkey":{blacklistTerm:["porch monkey"],whitelistTerm:[]},"jungle bunny":{blacklistTerm:["jungle bunny"],whitelistTerm:[]},spade:{blacklistTerm:["spade|"],whitelistTerm:[]},"moon cricket":{blacklistTerm:["moon cricket"],whitelistTerm:[]},kike:{blacklistTerm:["kike","k1ke"],whitelistTerm:[]},yid:{blacklistTerm:["yid"],whitelistTerm:[]},heeb:{blacklistTerm:["heeb"],whitelistTerm:[]},hymie:{blacklistTerm:["hymie"],whitelistTerm:[]},"christ killer":{blacklistTerm:["christ killer"],whitelistTerm:[]},chink:{blacklistTerm:["chink","ch1nk"],whitelistTerm:[]},gook:{blacklistTerm:["gook","g00k"],whitelistTerm:[]},slant:{blacklistTerm:["slant"],whitelistTerm:[]},slope:{blacklistTerm:["slope"],whitelistTerm:[]},zipperhead:{blacklistTerm:["zipperhead"],whitelistTerm:[]},"ching chong":{blacklistTerm:["ching chong"],whitelistTerm:[]},chinaman:{blacklistTerm:["chinaman"],whitelistTerm:[]},jap:{blacklistTerm:["jap"],whitelistTerm:[]},nip:{blacklistTerm:["nip|"],whitelistTerm:[]},batty:{blacklistTerm:["|batty"],whitelistTerm:[]},wetback:{blacklistTerm:["wetback"],whitelistTerm:[]},spic:{blacklistTerm:["spic|","sp1c|"],whitelistTerm:[]},beaner:{blacklistTerm:["beaner"],whitelistTerm:[]},greaser:{blacklistTerm:["greaser"],whitelistTerm:[]},cracker:{blacklistTerm:["cracker"],whitelistTerm:[]},honky:{blacklistTerm:["honky"],whitelistTerm:[]},redneck:{blacklistTerm:["redneck"],whitelistTerm:[]},"white trash":{blacklistTerm:["white trash"],whitelistTerm:[]},peckerwood:{blacklistTerm:["peckerwood"],whitelistTerm:[]},"trailer trash":{blacklistTerm:["trailer trash"],whitelistTerm:[]},raghead:{blacklistTerm:["raghead"],whitelistTerm:[]},towelhead:{blacklistTerm:["towelhead"],whitelistTerm:[]},"sand nigger":{blacklistTerm:["sand nigger"],whitelistTerm:[]},"camel jockey":{blacklistTerm:["camel jockey"],whitelistTerm:[]},hajji:{blacklistTerm:["hajji"],whitelistTerm:[]},muzzie:{blacklistTerm:["muzzie"],whitelistTerm:[]},paki:{blacklistTerm:["paki|"],whitelistTerm:[]},"curry muncher":{blacklistTerm:["curry muncher"],whitelistTerm:[]},wop:{blacklistTerm:["wop"],whitelistTerm:[]},dago:{blacklistTerm:["dago"],whitelistTerm:[]},guinea:{blacklistTerm:["guinea"],whitelistTerm:[]},polack:{blacklistTerm:["polack"],whitelistTerm:[]},kraut:{blacklistTerm:["|kraut"],whitelistTerm:[]},frog:{blacklistTerm:["frog"],whitelistTerm:[]},limey:{blacklistTerm:["limey"],whitelistTerm:[]},mick:{blacklistTerm:["|mick|"],whitelistTerm:[]},paddy:{blacklistTerm:["paddy"],whitelistTerm:[]},gypsy:{blacklistTerm:["gypsy|"],whitelistTerm:[]},pikey:{blacklistTerm:["pikey"],whitelistTerm:[]},abo:{blacklistTerm:["abo!"],whitelistTerm:[]},boong:{blacklistTerm:["boong"],whitelistTerm:[]},redskin:{blacklistTerm:["redskin"],whitelistTerm:[]},injun:{blacklistTerm:["injun"],whitelistTerm:[]},squaw:{blacklistTerm:["squaw"],whitelistTerm:[]},"prairie nigger":{blacklistTerm:["prairie nigger"],whitelistTerm:[]},faggot:{blacklistTerm:["faggot","fag|","faggy","faggotry","f4ggot","f@ggot","f4g","f*ggot","f-word","f.a.g.g.o.t","FAGGOT","Faggot","FaGgOt","faggots"],whitelistTerm:["fage","fagus"]},dyke:{blacklistTerm:["dyke|"],whitelistTerm:["dykes","dyken"]},lesbo:{blacklistTerm:["lesbo"],whitelistTerm:[]},lezzie:{blacklistTerm:["lezzie"],whitelistTerm:[]},"carpet muncher":{blacklistTerm:["carpet muncher"],whitelistTerm:[]},"muff diver":{blacklistTerm:["muff diver"],whitelistTerm:[]},homo:{blacklistTerm:["homo|"],whitelistTerm:[]},homosexual:{blacklistTerm:["homosexual"],whitelistTerm:[]},queer:{blacklistTerm:["queer"],whitelistTerm:[]},queen:{blacklistTerm:["queen!"],whitelistTerm:[]},pansy:{blacklistTerm:["pansy"],whitelistTerm:[]},fairy:{blacklistTerm:["fairy"],whitelistTerm:[]},poof:{blacklistTerm:["poof"],whitelistTerm:[]},poofter:{blacklistTerm:["poofter"],whitelistTerm:[]},nancy:{blacklistTerm:["nancy"],whitelistTerm:[]},"nancy boy":{blacklistTerm:["nancy boy"],whitelistTerm:[]},fruit:{blacklistTerm:["fruit|"],whitelistTerm:[]},fruitcake:{blacklistTerm:["fruitcake"],whitelistTerm:[]},"chi chi man":{blacklistTerm:["chi chi man"],whitelistTerm:[]},sissy:{blacklistTerm:["sissy"],whitelistTerm:[]},"butt pirate":{blacklistTerm:["|butt pirate|"],whitelistTerm:[]},"pillow biter":{blacklistTerm:["pillow bite[r]"],whitelistTerm:[]},"fudge packer":{blacklistTerm:["fudge packer"],whitelistTerm:[]},"ass bandit":{blacklistTerm:["ass bandit"],whitelistTerm:[]},"shirt lifter":{blacklistTerm:["shirt lifter"],whitelistTerm:[]},tranny:{blacklistTerm:["tranny","tr\u2013\u221Enny"],whitelistTerm:[]},shemale:{blacklistTerm:["shemale"],whitelistTerm:[]},"he-she":{blacklistTerm:["he-she"],whitelistTerm:[]},"she-male":{blacklistTerm:["she-male"],whitelistTerm:[]},ladyboy:{blacklistTerm:["ladyboy"],whitelistTerm:[]},trap:{blacklistTerm:["trap"],whitelistTerm:[]},troon:{blacklistTerm:["troon"],whitelistTerm:[]},troid:{blacklistTerm:["troid"],whitelistTerm:[]},hermaphrodite:{blacklistTerm:["hermaphrodite"],whitelistTerm:[]},retard:{blacklistTerm:["retard|","retarded","tard","libtard","fucktard","r3tard","ret@rd","retards"],whitelistTerm:["retarder"]},spaz:{blacklistTerm:["spaz"],whitelistTerm:[]},spastic:{blacklistTerm:["spastic"],whitelistTerm:[]},cripple:{blacklistTerm:["|cripple|"],whitelistTerm:[]},gimp:{blacklistTerm:["gimp"],whitelistTerm:[]},invalid:{blacklistTerm:["invalid"],whitelistTerm:[]},vegetable:{blacklistTerm:["vegetable"],whitelistTerm:[]},moron:{blacklistTerm:["moron"],whitelistTerm:[]},imbecile:{blacklistTerm:["imbecile"],whitelistTerm:[]},idiot:{blacklistTerm:["idiot"],whitelistTerm:[]},cretin:{blacklistTerm:["cretin"],whitelistTerm:[]},mongoloid:{blacklistTerm:["mongoloid"],whitelistTerm:[]},"window licker":{blacklistTerm:["window licker"],whitelistTerm:[]},"short bus":{blacklistTerm:["short bus"],whitelistTerm:[]},cunt:{blacklistTerm:["cunt","c*nt"],whitelistTerm:[]},bitch:{blacklistTerm:["bitch"],whitelistTerm:[]},whore:{blacklistTerm:["whore"],whitelistTerm:[]},slut:{blacklistTerm:["slut"],whitelistTerm:[]},hoe:{blacklistTerm:["|hoe"],whitelistTerm:[]},skank:{blacklistTerm:["skank"],whitelistTerm:[]},slag:{blacklistTerm:["slag|"],whitelistTerm:[]},twat:{blacklistTerm:["twat"],whitelistTerm:[]},gash:{blacklistTerm:["gash|"],whitelistTerm:[]},feminazi:{blacklistTerm:["feminazi"],whitelistTerm:[]},thot:{blacklistTerm:["thot"],whitelistTerm:[]},roastie:{blacklistTerm:["roastie"],whitelistTerm:[]},foid:{blacklistTerm:["foid"],whitelistTerm:[]},femoid:{blacklistTerm:["femoid"],whitelistTerm:[]},cuck:{blacklistTerm:["cuck"],whitelistTerm:[]},soyboy:{blacklistTerm:["soyboy"],whitelistTerm:[]},beta:{blacklistTerm:["beta"],whitelistTerm:[]},"bible thumper":{blacklistTerm:["bible thumper"],whitelistTerm:[]},"holy roller":{blacklistTerm:["holy roller"],whitelistTerm:[]},heathen:{blacklistTerm:["heathen"],whitelistTerm:[]},infidel:{blacklistTerm:["infidel"],whitelistTerm:[]},kafir:{blacklistTerm:["kafir"],whitelistTerm:[]},goy:{blacklistTerm:["goy"],whitelistTerm:[]},shiksa:{blacklistTerm:["shiksa"],whitelistTerm:[]},papist:{blacklistTerm:["papist"],whitelistTerm:[]},"mackerel snapper":{blacklistTerm:["mackerel snapper"],whitelistTerm:[]},proddy:{blacklistTerm:["proddy"],whitelistTerm:[]},taig:{blacklistTerm:["taig"],whitelistTerm:[]},fenian:{blacklistTerm:["fenian"],whitelistTerm:[]},hun:{blacklistTerm:["hun|"],whitelistTerm:[]},"orange bastard":{blacklistTerm:["orange bastard"],whitelistTerm:[]}},T=d;var c=new p().addAll(f),u=()=>{for(let t in T)c.addPhrase(s=>{s.setMetadata({originalWord:t});let a=T[t];for(let r of a.blacklistTerm)s.addPattern(y`${r}`);for(let r of a.whitelistTerm)s.addWhitelistedTerm(r);return s})};u();import{Parser as b}from"htmlparser2";var W={...c.build()},h=new D({...W,blacklistMatcherTransformers:[x({defaultThreshold:2,customThresholds:new Map([["u",1]])}),M(),z(),S()]}),A=v(j()),w=new q().setStrategy(A),B=t=>w.applyTo(t,h.getAllMatches(t)),L=t=>h.hasMatch(t),O=t=>{let s=[],a=[],r="",o=new b({ontext(e){s.push(e),a.push({start:r.length,end:r.length+e.length}),r+=e}},{decodeEntities:!1});o.write(t),o.end();let g=w.applyTo(r,h.getAllMatches(r)),i="",m=0,n=new b({onopentag(e,l){i+="<"+e;for(let k in l)i+=` ${k}="${l[k]}"`;i+=">"},ontext(e){let l=e.length;i+=g.slice(m,m+l),m+=l},onclosetag(e){i+=`</${e}>`},oncomment(e){i+=`<!--${e}-->`},onprocessinginstruction(e,l){i+=`<${l}>`},oncdatastart(){i+="<![CDATA["},oncdataend(){i+="]]>"},onerror(e){throw e}},{decodeEntities:!1});return n.write(t),n.end(),i};export{B as censorBadWords,O as censorHtmlPreservingTags,L as hasContainsBadWords};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/string.ts","../src/dataset.ts","../src/fevo-dictionary.ts"],"sourcesContent":["import {\n asteriskCensorStrategy,\n collapseDuplicatesTransformer,\n resolveConfusablesTransformer,\n keepStartCensorStrategy,\n RegExpMatcher,\n TextCensor,\n toAsciiLowerCaseTransformer,\n resolveLeetSpeakTransformer,\n} from \"obscenity\";\nimport { badWordsDataSet } from \"./dataset\";\nimport { Parser } from \"htmlparser2\";\n\nconst presets = {\n ...badWordsDataSet.build(),\n};\n\nconst badWordsMatcher = new RegExpMatcher({\n ...presets,\n blacklistMatcherTransformers: [\n collapseDuplicatesTransformer({\n defaultThreshold: 2,\n customThresholds: new Map([[\"u\", 1]]),\n }),\n toAsciiLowerCaseTransformer(),\n resolveConfusablesTransformer(),\n resolveLeetSpeakTransformer(),\n ],\n});\n\nconst strategy = keepStartCensorStrategy(asteriskCensorStrategy());\nconst censor = new TextCensor().setStrategy(strategy);\n\nexport const censorBadWords = (input: string) => {\n return censor.applyTo(input, badWordsMatcher.getAllMatches(input));\n};\n\nexport const hasContainsBadWords = (input: string) => {\n return badWordsMatcher.hasMatch(input);\n};\n\nexport const censorHtmlPreservingTags = (htmlStr: string) => {\n const textNodes = [];\n const nodePositions = [];\n let fullText = \"\";\n\n const parser = new Parser(\n {\n ontext(text) {\n textNodes.push(text);\n nodePositions.push({\n start: fullText.length,\n end: fullText.length + text.length,\n });\n fullText += text;\n },\n },\n { decodeEntities: false }\n );\n\n parser.write(htmlStr);\n parser.end();\n\n const censored = censor.applyTo(\n fullText,\n badWordsMatcher.getAllMatches(fullText)\n );\n\n let result = \"\";\n let textIndex = 0;\n\n const parser2 = new Parser(\n {\n onopentag(name, attribs) {\n result += \"<\" + name;\n for (const k in attribs) {\n result += ` ${k}=\"${attribs[k]}\"`;\n }\n result += \">\";\n },\n ontext(text) {\n const len = text.length;\n result += censored.slice(textIndex, textIndex + len);\n textIndex += len;\n },\n onclosetag(name) {\n result += `</${name}>`;\n },\n oncomment(data) {\n result += `<!--${data}-->`;\n },\n onprocessinginstruction(name, data) {\n result += `<${data}>`;\n },\n oncdatastart() {\n result += \"<![CDATA[\";\n },\n oncdataend() {\n result += \"]]>\";\n },\n onerror(err) {\n throw err;\n },\n },\n { decodeEntities: false }\n );\n\n parser2.write(htmlStr);\n parser2.end();\n\n return result;\n};\n","import { DataSet, englishDataset, pattern } from \"obscenity\";\nimport fevoDict from \"./fevo-dictionary\";\n\nexport const badWordsDataSet = new DataSet<{ originalWord: string }>().addAll(\n englishDataset\n);\n\nconst initDataSet = () => {\n for (let key in fevoDict) {\n badWordsDataSet.addPhrase((phrase) => {\n phrase.setMetadata({ originalWord: key });\n const term = fevoDict[key];\n for (let variant of term.blacklistTerm as string[]) {\n phrase.addPattern(pattern`${variant}`);\n }\n for (let variant of term.whitelistTerm as string[]) {\n phrase.addWhitelistedTerm(variant);\n }\n return phrase;\n });\n }\n};\n\ninitDataSet();\n","const fevoDict: Record<\n string,\n Record<\"blacklistTerm\" | \"whitelistTerm\", string[]>\n> = {\n // Racial slurs - Black\n nigger: {\n blacklistTerm: [\n `nigger`,\n `nigga`,\n `n1gger`,\n `n!gger`,\n `nigg3r`,\n `ni99a`,\n `n*gger`,\n `n_gger`,\n `nibba`,\n `niqqer`,\n `nlgger`,\n `ñigger`,\n `nagger`,\n `n-word`,\n `n.i.g.g.e.r`,\n `n i g g e r`,\n `knee grow`,\n `niggers`,\n ],\n whitelistTerm: [],\n },\n negro: { blacklistTerm: [`negro`], whitelistTerm: [] },\n coon: { blacklistTerm: [`|coon`], whitelistTerm: [] },\n darkie: { blacklistTerm: [`darkie`], whitelistTerm: [] },\n spook: { blacklistTerm: [`spook`], whitelistTerm: [] },\n jigaboo: { blacklistTerm: [`jigaboo`], whitelistTerm: [] },\n sambo: { blacklistTerm: [`sambo`], whitelistTerm: [] },\n pickaninny: { blacklistTerm: [`|pickaninny|`], whitelistTerm: [] },\n \"tar baby\": { blacklistTerm: [`tar baby`], whitelistTerm: [] },\n \"porch monkey\": { blacklistTerm: [`porch monkey`], whitelistTerm: [] },\n \"jungle bunny\": { blacklistTerm: [`jungle bunny`], whitelistTerm: [] },\n spade: { blacklistTerm: [`spade|`], whitelistTerm: [] },\n \"moon cricket\": { blacklistTerm: [`moon cricket`], whitelistTerm: [] },\n\n // Racial slurs - Jewish\n kike: { blacklistTerm: [`kike`, `k1ke`], whitelistTerm: [] },\n yid: { blacklistTerm: [`yid`], whitelistTerm: [] },\n heeb: { blacklistTerm: [`heeb`], whitelistTerm: [] },\n hymie: { blacklistTerm: [`hymie`], whitelistTerm: [] },\n \"christ killer\": { blacklistTerm: [`christ killer`], whitelistTerm: [] },\n\n // Racial slurs - Asian\n chink: { blacklistTerm: [`chink`, `ch1nk`], whitelistTerm: [] },\n gook: { blacklistTerm: [`gook`, `g00k`], whitelistTerm: [] },\n slant: { blacklistTerm: [`slant`], whitelistTerm: [] },\n slope: { blacklistTerm: [`slope`], whitelistTerm: [] },\n zipperhead: { blacklistTerm: [`zipperhead`], whitelistTerm: [] },\n \"ching chong\": { blacklistTerm: [`ching chong`], whitelistTerm: [] },\n chinaman: { blacklistTerm: [`chinaman`], whitelistTerm: [] },\n jap: { blacklistTerm: [`jap`], whitelistTerm: [] },\n nip: { blacklistTerm: [`nip|`], whitelistTerm: [] },\n\n batty: { blacklistTerm: [`|batty`], whitelistTerm: [] },\n\n // Racial slurs - Hispanic/Latino\n wetback: { blacklistTerm: [`wetback`], whitelistTerm: [] },\n spic: { blacklistTerm: [`spic|`, `sp1c|`], whitelistTerm: [] },\n beaner: { blacklistTerm: [`beaner`], whitelistTerm: [] },\n greaser: { blacklistTerm: [`greaser`], whitelistTerm: [] },\n\n // Racial slurs - White\n cracker: { blacklistTerm: [`cracker`], whitelistTerm: [] },\n honky: { blacklistTerm: [`honky`], whitelistTerm: [] },\n redneck: { blacklistTerm: [`redneck`], whitelistTerm: [] },\n \"white trash\": { blacklistTerm: [`white trash`], whitelistTerm: [] },\n peckerwood: { blacklistTerm: [`peckerwood`], whitelistTerm: [] },\n \"trailer trash\": { blacklistTerm: [`trailer trash`], whitelistTerm: [] },\n\n // Racial slurs - Middle Eastern\n raghead: { blacklistTerm: [`raghead`], whitelistTerm: [] },\n towelhead: { blacklistTerm: [`towelhead`], whitelistTerm: [] },\n \"sand nigger\": { blacklistTerm: [`sand nigger`], whitelistTerm: [] },\n \"camel jockey\": { blacklistTerm: [`camel jockey`], whitelistTerm: [] },\n hajji: { blacklistTerm: [`hajji`], whitelistTerm: [] },\n muzzie: { blacklistTerm: [`muzzie`], whitelistTerm: [] },\n\n // Racial slurs - South Asian\n paki: { blacklistTerm: [`paki`], whitelistTerm: [] },\n \"curry muncher\": { blacklistTerm: [`curry muncher`], whitelistTerm: [] },\n\n // Racial slurs - Italian\n wop: { blacklistTerm: [`wop`], whitelistTerm: [] },\n dago: { blacklistTerm: [`dago`], whitelistTerm: [] },\n guinea: { blacklistTerm: [`guinea`], whitelistTerm: [] },\n\n // Racial slurs - Polish\n polack: { blacklistTerm: [`polack`], whitelistTerm: [] },\n\n // Racial slurs - German\n kraut: { blacklistTerm: [`|kraut`], whitelistTerm: [] },\n\n // Racial slurs - French\n frog: { blacklistTerm: [`frog`], whitelistTerm: [] },\n\n // Racial slurs - British\n limey: { blacklistTerm: [`limey`], whitelistTerm: [] },\n\n // Racial slurs - Irish\n mick: { blacklistTerm: [`|mick|`], whitelistTerm: [] },\n paddy: { blacklistTerm: [`paddy`], whitelistTerm: [] },\n\n // Racial slurs - Romani\n gypsy: { blacklistTerm: [`gypsy|`], whitelistTerm: [] },\n pikey: { blacklistTerm: [`pikey`], whitelistTerm: [] },\n\n // Racial slurs - Indigenous Australian\n abo: { blacklistTerm: [`abo!`], whitelistTerm: [] },\n boong: { blacklistTerm: [`boong`], whitelistTerm: [] },\n\n // Racial slurs - Native American\n redskin: { blacklistTerm: [`redskin`], whitelistTerm: [] },\n injun: { blacklistTerm: [`injun`], whitelistTerm: [] },\n squaw: { blacklistTerm: [`squaw`], whitelistTerm: [] },\n \"prairie nigger\": { blacklistTerm: [`prairie nigger`], whitelistTerm: [] },\n\n // LGBTQ+ slurs\n faggot: {\n blacklistTerm: [\n `faggot`,\n `fag|`,\n `faggy`,\n `faggotry`,\n `f4ggot`,\n `f@ggot`,\n `f4g`,\n `f*ggot`,\n `f-word`,\n `f.a.g.g.o.t`,\n `FAGGOT`,\n `Faggot`,\n `FaGgOt`,\n `faggots`,\n ],\n whitelistTerm: [],\n },\n dyke: { blacklistTerm: [`dyke|`], whitelistTerm: [] },\n lesbo: { blacklistTerm: [`lesbo`], whitelistTerm: [] },\n lezzie: { blacklistTerm: [`lezzie`], whitelistTerm: [] },\n \"carpet muncher\": { blacklistTerm: [`carpet muncher`], whitelistTerm: [] },\n \"muff diver\": { blacklistTerm: [`muff diver`], whitelistTerm: [] },\n homo: { blacklistTerm: [`homo|`], whitelistTerm: [] },\n homosexual: { blacklistTerm: [`homosexual`], whitelistTerm: [] },\n queer: { blacklistTerm: [`queer`], whitelistTerm: [] },\n queen: { blacklistTerm: [`queen!`], whitelistTerm: [] },\n pansy: { blacklistTerm: [`pansy`], whitelistTerm: [] },\n fairy: { blacklistTerm: [`fairy`], whitelistTerm: [] },\n poof: { blacklistTerm: [`poof`], whitelistTerm: [] },\n poofter: { blacklistTerm: [`poofter`], whitelistTerm: [] },\n nancy: { blacklistTerm: [`nancy`], whitelistTerm: [] },\n \"nancy boy\": { blacklistTerm: [`nancy boy`], whitelistTerm: [] },\n fruit: { blacklistTerm: [`fruit|`], whitelistTerm: [] },\n fruitcake: { blacklistTerm: [`fruitcake`], whitelistTerm: [] },\n \"chi chi man\": { blacklistTerm: [`chi chi man`], whitelistTerm: [] },\n sissy: { blacklistTerm: [`sissy`], whitelistTerm: [] },\n \"butt pirate\": { blacklistTerm: [`|butt pirate|`], whitelistTerm: [] },\n \"pillow biter\": { blacklistTerm: [`pillow bite[r]`], whitelistTerm: [] },\n \"fudge packer\": { blacklistTerm: [`fudge packer`], whitelistTerm: [] },\n \"ass bandit\": { blacklistTerm: [`ass bandit`], whitelistTerm: [] },\n \"shirt lifter\": { blacklistTerm: [`shirt lifter`], whitelistTerm: [] },\n\n // Transgender slurs\n tranny: { blacklistTerm: [`tranny`, `trаnny`], whitelistTerm: [] },\n shemale: { blacklistTerm: [`shemale`], whitelistTerm: [] },\n \"he-she\": { blacklistTerm: [`he-she`], whitelistTerm: [] },\n \"she-male\": { blacklistTerm: [`she-male`], whitelistTerm: [] },\n ladyboy: { blacklistTerm: [`ladyboy`], whitelistTerm: [] },\n trap: { blacklistTerm: [`trap`], whitelistTerm: [] },\n troon: { blacklistTerm: [`troon`], whitelistTerm: [] },\n troid: { blacklistTerm: [`troid`], whitelistTerm: [] },\n hermaphrodite: { blacklistTerm: [`hermaphrodite`], whitelistTerm: [] },\n\n // Ableist slurs\n retard: {\n blacklistTerm: [\n `retard|`,\n `retarded`,\n `tard`,\n `libtard`,\n `fucktard`,\n `r3tard`,\n `ret@rd`,\n `retards`,\n ],\n whitelistTerm: [],\n },\n spaz: { blacklistTerm: [`spaz`], whitelistTerm: [] },\n spastic: { blacklistTerm: [`spastic`], whitelistTerm: [] },\n cripple: { blacklistTerm: [`|cripple|`], whitelistTerm: [] },\n gimp: { blacklistTerm: [`gimp`], whitelistTerm: [] },\n invalid: { blacklistTerm: [`invalid`], whitelistTerm: [] },\n vegetable: { blacklistTerm: [`vegetable`], whitelistTerm: [] },\n moron: { blacklistTerm: [`moron`], whitelistTerm: [] },\n imbecile: { blacklistTerm: [`imbecile`], whitelistTerm: [] },\n idiot: { blacklistTerm: [`idiot`], whitelistTerm: [] },\n cretin: { blacklistTerm: [`cretin`], whitelistTerm: [] },\n mongoloid: { blacklistTerm: [`mongoloid`], whitelistTerm: [] },\n \"window licker\": { blacklistTerm: [`window licker`], whitelistTerm: [] },\n \"short bus\": { blacklistTerm: [`short bus`], whitelistTerm: [] },\n\n // Misogynistic slurs\n cunt: { blacklistTerm: [`cunt`, `c*nt`], whitelistTerm: [] },\n bitch: { blacklistTerm: [`bitch`], whitelistTerm: [] },\n whore: { blacklistTerm: [`whore`], whitelistTerm: [] },\n slut: { blacklistTerm: [`slut`], whitelistTerm: [] },\n hoe: { blacklistTerm: [`|hoe`], whitelistTerm: [] },\n skank: { blacklistTerm: [`skank`], whitelistTerm: [] },\n slag: { blacklistTerm: [`slag|`], whitelistTerm: [] },\n twat: { blacklistTerm: [`twat`], whitelistTerm: [] },\n gash: { blacklistTerm: [`gash|`], whitelistTerm: [] },\n feminazi: { blacklistTerm: [`feminazi`], whitelistTerm: [] },\n thot: { blacklistTerm: [`thot`], whitelistTerm: [] },\n roastie: { blacklistTerm: [`roastie`], whitelistTerm: [] },\n foid: { blacklistTerm: [`foid`], whitelistTerm: [] },\n femoid: { blacklistTerm: [`femoid`], whitelistTerm: [] },\n\n // Other derogatory terms\n cuck: { blacklistTerm: [`cuck`], whitelistTerm: [] },\n soyboy: { blacklistTerm: [`soyboy`], whitelistTerm: [] },\n beta: { blacklistTerm: [`beta`], whitelistTerm: [] },\n\n // Religious slurs\n \"bible thumper\": { blacklistTerm: [`bible thumper`], whitelistTerm: [] },\n \"holy roller\": { blacklistTerm: [`holy roller`], whitelistTerm: [] },\n heathen: { blacklistTerm: [`heathen`], whitelistTerm: [] },\n infidel: { blacklistTerm: [`infidel`], whitelistTerm: [] },\n kafir: { blacklistTerm: [`kafir`], whitelistTerm: [] },\n goy: { blacklistTerm: [`goy`], whitelistTerm: [] },\n shiksa: { blacklistTerm: [`shiksa`], whitelistTerm: [] },\n papist: { blacklistTerm: [`papist`], whitelistTerm: [] },\n \"mackerel snapper\": {\n blacklistTerm: [`mackerel snapper`],\n whitelistTerm: [],\n },\n proddy: { blacklistTerm: [`proddy`], whitelistTerm: [] },\n taig: { blacklistTerm: [`taig`], whitelistTerm: [] },\n fenian: { blacklistTerm: [`fenian`], whitelistTerm: [] },\n hun: { blacklistTerm: [`hun|`], whitelistTerm: [] },\n \"orange bastard\": { blacklistTerm: [`orange bastard`], whitelistTerm: [] },\n};\n\nexport default fevoDict;\n"],"mappings":"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","names":["asteriskCensorStrategy","collapseDuplicatesTransformer","resolveConfusablesTransformer","keepStartCensorStrategy","RegExpMatcher","TextCensor","toAsciiLowerCaseTransformer","resolveLeetSpeakTransformer","DataSet","englishDataset","pattern","fevoDict","fevo_dictionary_default","badWordsDataSet","DataSet","englishDataset","initDataSet","key","fevo_dictionary_default","phrase","term","variant","pattern","Parser","presets","badWordsDataSet","badWordsMatcher","RegExpMatcher","collapseDuplicatesTransformer","toAsciiLowerCaseTransformer","resolveConfusablesTransformer","resolveLeetSpeakTransformer","strategy","keepStartCensorStrategy","asteriskCensorStrategy","censor","TextCensor","censorBadWords","input","hasContainsBadWords","censorHtmlPreservingTags","htmlStr","textNodes","nodePositions","fullText","parser","text","censored","result","textIndex","parser2","name","attribs","len","data","err"]}
1
+ {"version":3,"sources":["../src/string.ts","../src/dataset.ts","../src/fevo-dictionary.ts"],"sourcesContent":["import {\n asteriskCensorStrategy,\n collapseDuplicatesTransformer,\n resolveConfusablesTransformer,\n keepStartCensorStrategy,\n RegExpMatcher,\n TextCensor,\n toAsciiLowerCaseTransformer,\n resolveLeetSpeakTransformer,\n} from \"obscenity\";\nimport { badWordsDataSet } from \"./dataset\";\nimport { Parser } from \"htmlparser2\";\n\nconst presets = {\n ...badWordsDataSet.build(),\n};\n\nconst badWordsMatcher = new RegExpMatcher({\n ...presets,\n blacklistMatcherTransformers: [\n collapseDuplicatesTransformer({\n defaultThreshold: 2,\n customThresholds: new Map([[\"u\", 1]]),\n }),\n toAsciiLowerCaseTransformer(),\n resolveConfusablesTransformer(),\n resolveLeetSpeakTransformer(),\n ],\n});\n\nconst strategy = keepStartCensorStrategy(asteriskCensorStrategy());\nconst censor = new TextCensor().setStrategy(strategy);\n\nexport const censorBadWords = (input: string) => {\n return censor.applyTo(input, badWordsMatcher.getAllMatches(input));\n};\n\nexport const hasContainsBadWords = (input: string) => {\n return badWordsMatcher.hasMatch(input);\n};\n\nexport const censorHtmlPreservingTags = (htmlStr: string) => {\n const textNodes = [];\n const nodePositions = [];\n let fullText = \"\";\n\n const parser = new Parser(\n {\n ontext(text) {\n textNodes.push(text);\n nodePositions.push({\n start: fullText.length,\n end: fullText.length + text.length,\n });\n fullText += text;\n },\n },\n { decodeEntities: false }\n );\n\n parser.write(htmlStr);\n parser.end();\n\n const censored = censor.applyTo(\n fullText,\n badWordsMatcher.getAllMatches(fullText)\n );\n\n let result = \"\";\n let textIndex = 0;\n\n const parser2 = new Parser(\n {\n onopentag(name, attribs) {\n result += \"<\" + name;\n for (const k in attribs) {\n result += ` ${k}=\"${attribs[k]}\"`;\n }\n result += \">\";\n },\n ontext(text) {\n const len = text.length;\n result += censored.slice(textIndex, textIndex + len);\n textIndex += len;\n },\n onclosetag(name) {\n result += `</${name}>`;\n },\n oncomment(data) {\n result += `<!--${data}-->`;\n },\n onprocessinginstruction(name, data) {\n result += `<${data}>`;\n },\n oncdatastart() {\n result += \"<![CDATA[\";\n },\n oncdataend() {\n result += \"]]>\";\n },\n onerror(err) {\n throw err;\n },\n },\n { decodeEntities: false }\n );\n\n parser2.write(htmlStr);\n parser2.end();\n\n return result;\n};\n","import { DataSet, englishDataset, pattern } from \"obscenity\";\nimport fevoDict from \"./fevo-dictionary\";\n\nexport const badWordsDataSet = new DataSet<{ originalWord: string }>().addAll(\n englishDataset\n);\n\nconst initDataSet = () => {\n for (let key in fevoDict) {\n badWordsDataSet.addPhrase((phrase) => {\n phrase.setMetadata({ originalWord: key });\n const term = fevoDict[key];\n for (let variant of term.blacklistTerm as string[]) {\n phrase.addPattern(pattern`${variant}`);\n }\n for (let variant of term.whitelistTerm as string[]) {\n phrase.addWhitelistedTerm(variant);\n }\n return phrase;\n });\n }\n};\n\ninitDataSet();\n","const fevoDict: Record<\n string,\n Record<\"blacklistTerm\" | \"whitelistTerm\", string[]>\n> = {\n // Racial slurs - Black\n nigger: {\n blacklistTerm: [\n `nigger`,\n `nigga`,\n `n1gger`,\n `n!gger`,\n `nigg3r`,\n `ni99a`,\n `n*gger`,\n `n_gger`,\n `nibba`,\n `niqqer`,\n `nlgger`,\n `ñigger`,\n `nagger`,\n `n-word`,\n `n.i.g.g.e.r`,\n `n i g g e r`,\n `knee grow`,\n `niggers`,\n ],\n whitelistTerm: [],\n },\n negro: { blacklistTerm: [`negro`], whitelistTerm: [] },\n coon: { blacklistTerm: [`|coon`], whitelistTerm: [] },\n darkie: { blacklistTerm: [`darkie`], whitelistTerm: [] },\n spook: { blacklistTerm: [`spook`], whitelistTerm: [] },\n jigaboo: { blacklistTerm: [`jigaboo`], whitelistTerm: [] },\n sambo: { blacklistTerm: [`sambo`], whitelistTerm: [] },\n pickaninny: { blacklistTerm: [`|pickaninny|`], whitelistTerm: [] },\n \"tar baby\": { blacklistTerm: [`tar baby`], whitelistTerm: [] },\n \"porch monkey\": { blacklistTerm: [`porch monkey`], whitelistTerm: [] },\n \"jungle bunny\": { blacklistTerm: [`jungle bunny`], whitelistTerm: [] },\n spade: { blacklistTerm: [`spade|`], whitelistTerm: [] },\n \"moon cricket\": { blacklistTerm: [`moon cricket`], whitelistTerm: [] },\n\n // Racial slurs - Jewish\n kike: { blacklistTerm: [`kike`, `k1ke`], whitelistTerm: [] },\n yid: { blacklistTerm: [`yid`], whitelistTerm: [] },\n heeb: { blacklistTerm: [`heeb`], whitelistTerm: [] },\n hymie: { blacklistTerm: [`hymie`], whitelistTerm: [] },\n \"christ killer\": { blacklistTerm: [`christ killer`], whitelistTerm: [] },\n\n // Racial slurs - Asian\n chink: { blacklistTerm: [`chink`, `ch1nk`], whitelistTerm: [] },\n gook: { blacklistTerm: [`gook`, `g00k`], whitelistTerm: [] },\n slant: { blacklistTerm: [`slant`], whitelistTerm: [] },\n slope: { blacklistTerm: [`slope`], whitelistTerm: [] },\n zipperhead: { blacklistTerm: [`zipperhead`], whitelistTerm: [] },\n \"ching chong\": { blacklistTerm: [`ching chong`], whitelistTerm: [] },\n chinaman: { blacklistTerm: [`chinaman`], whitelistTerm: [] },\n jap: { blacklistTerm: [`jap`], whitelistTerm: [] },\n nip: { blacklistTerm: [`nip|`], whitelistTerm: [] },\n\n batty: { blacklistTerm: [`|batty`], whitelistTerm: [] },\n\n // Racial slurs - Hispanic/Latino\n wetback: { blacklistTerm: [`wetback`], whitelistTerm: [] },\n spic: { blacklistTerm: [`spic|`, `sp1c|`], whitelistTerm: [] },\n beaner: { blacklistTerm: [`beaner`], whitelistTerm: [] },\n greaser: { blacklistTerm: [`greaser`], whitelistTerm: [] },\n\n // Racial slurs - White\n cracker: { blacklistTerm: [`cracker`], whitelistTerm: [] },\n honky: { blacklistTerm: [`honky`], whitelistTerm: [] },\n redneck: { blacklistTerm: [`redneck`], whitelistTerm: [] },\n \"white trash\": { blacklistTerm: [`white trash`], whitelistTerm: [] },\n peckerwood: { blacklistTerm: [`peckerwood`], whitelistTerm: [] },\n \"trailer trash\": { blacklistTerm: [`trailer trash`], whitelistTerm: [] },\n\n // Racial slurs - Middle Eastern\n raghead: { blacklistTerm: [`raghead`], whitelistTerm: [] },\n towelhead: { blacklistTerm: [`towelhead`], whitelistTerm: [] },\n \"sand nigger\": { blacklistTerm: [`sand nigger`], whitelistTerm: [] },\n \"camel jockey\": { blacklistTerm: [`camel jockey`], whitelistTerm: [] },\n hajji: { blacklistTerm: [`hajji`], whitelistTerm: [] },\n muzzie: { blacklistTerm: [`muzzie`], whitelistTerm: [] },\n\n // Racial slurs - South Asian\n paki: { blacklistTerm: [`paki|`], whitelistTerm: [] },\n \"curry muncher\": { blacklistTerm: [`curry muncher`], whitelistTerm: [] },\n\n // Racial slurs - Italian\n wop: { blacklistTerm: [`wop`], whitelistTerm: [] },\n dago: { blacklistTerm: [`dago`], whitelistTerm: [] },\n guinea: { blacklistTerm: [`guinea`], whitelistTerm: [] },\n\n // Racial slurs - Polish\n polack: { blacklistTerm: [`polack`], whitelistTerm: [] },\n\n // Racial slurs - German\n kraut: { blacklistTerm: [`|kraut`], whitelistTerm: [] },\n\n // Racial slurs - French\n frog: { blacklistTerm: [`frog`], whitelistTerm: [] },\n\n // Racial slurs - British\n limey: { blacklistTerm: [`limey`], whitelistTerm: [] },\n\n // Racial slurs - Irish\n mick: { blacklistTerm: [`|mick|`], whitelistTerm: [] },\n paddy: { blacklistTerm: [`paddy`], whitelistTerm: [] },\n\n // Racial slurs - Romani\n gypsy: { blacklistTerm: [`gypsy|`], whitelistTerm: [] },\n pikey: { blacklistTerm: [`pikey`], whitelistTerm: [] },\n\n // Racial slurs - Indigenous Australian\n abo: { blacklistTerm: [`abo!`], whitelistTerm: [] },\n boong: { blacklistTerm: [`boong`], whitelistTerm: [] },\n\n // Racial slurs - Native American\n redskin: { blacklistTerm: [`redskin`], whitelistTerm: [] },\n injun: { blacklistTerm: [`injun`], whitelistTerm: [] },\n squaw: { blacklistTerm: [`squaw`], whitelistTerm: [] },\n \"prairie nigger\": { blacklistTerm: [`prairie nigger`], whitelistTerm: [] },\n\n // LGBTQ+ slurs\n faggot: {\n blacklistTerm: [\n `faggot`,\n `fag|`,\n `faggy`,\n `faggotry`,\n `f4ggot`,\n `f@ggot`,\n `f4g`,\n `f*ggot`,\n `f-word`,\n `f.a.g.g.o.t`,\n `FAGGOT`,\n `Faggot`,\n `FaGgOt`,\n `faggots`,\n ],\n whitelistTerm: [\"fage\", \"fagus\"],\n },\n dyke: { blacklistTerm: [`dyke|`], whitelistTerm: [\"dykes\", \"dyken\"] },\n lesbo: { blacklistTerm: [`lesbo`], whitelistTerm: [] },\n lezzie: { blacklistTerm: [`lezzie`], whitelistTerm: [] },\n \"carpet muncher\": { blacklistTerm: [`carpet muncher`], whitelistTerm: [] },\n \"muff diver\": { blacklistTerm: [`muff diver`], whitelistTerm: [] },\n homo: { blacklistTerm: [`homo|`], whitelistTerm: [] },\n homosexual: { blacklistTerm: [`homosexual`], whitelistTerm: [] },\n queer: { blacklistTerm: [`queer`], whitelistTerm: [] },\n queen: { blacklistTerm: [`queen!`], whitelistTerm: [] },\n pansy: { blacklistTerm: [`pansy`], whitelistTerm: [] },\n fairy: { blacklistTerm: [`fairy`], whitelistTerm: [] },\n poof: { blacklistTerm: [`poof`], whitelistTerm: [] },\n poofter: { blacklistTerm: [`poofter`], whitelistTerm: [] },\n nancy: { blacklistTerm: [`nancy`], whitelistTerm: [] },\n \"nancy boy\": { blacklistTerm: [`nancy boy`], whitelistTerm: [] },\n fruit: { blacklistTerm: [`fruit|`], whitelistTerm: [] },\n fruitcake: { blacklistTerm: [`fruitcake`], whitelistTerm: [] },\n \"chi chi man\": { blacklistTerm: [`chi chi man`], whitelistTerm: [] },\n sissy: { blacklistTerm: [`sissy`], whitelistTerm: [] },\n \"butt pirate\": { blacklistTerm: [`|butt pirate|`], whitelistTerm: [] },\n \"pillow biter\": { blacklistTerm: [`pillow bite[r]`], whitelistTerm: [] },\n \"fudge packer\": { blacklistTerm: [`fudge packer`], whitelistTerm: [] },\n \"ass bandit\": { blacklistTerm: [`ass bandit`], whitelistTerm: [] },\n \"shirt lifter\": { blacklistTerm: [`shirt lifter`], whitelistTerm: [] },\n\n // Transgender slurs\n tranny: { blacklistTerm: [`tranny`, `trаnny`], whitelistTerm: [] },\n shemale: { blacklistTerm: [`shemale`], whitelistTerm: [] },\n \"he-she\": { blacklistTerm: [`he-she`], whitelistTerm: [] },\n \"she-male\": { blacklistTerm: [`she-male`], whitelistTerm: [] },\n ladyboy: { blacklistTerm: [`ladyboy`], whitelistTerm: [] },\n trap: { blacklistTerm: [`trap`], whitelistTerm: [] },\n troon: { blacklistTerm: [`troon`], whitelistTerm: [] },\n troid: { blacklistTerm: [`troid`], whitelistTerm: [] },\n hermaphrodite: { blacklistTerm: [`hermaphrodite`], whitelistTerm: [] },\n\n // Ableist slurs\n retard: {\n blacklistTerm: [\n `retard|`,\n `retarded`,\n `tard`,\n `libtard`,\n `fucktard`,\n `r3tard`,\n `ret@rd`,\n `retards`,\n ],\n whitelistTerm: [\"retarder\"],\n },\n spaz: { blacklistTerm: [`spaz`], whitelistTerm: [] },\n spastic: { blacklistTerm: [`spastic`], whitelistTerm: [] },\n cripple: { blacklistTerm: [`|cripple|`], whitelistTerm: [] },\n gimp: { blacklistTerm: [`gimp`], whitelistTerm: [] },\n invalid: { blacklistTerm: [`invalid`], whitelistTerm: [] },\n vegetable: { blacklistTerm: [`vegetable`], whitelistTerm: [] },\n moron: { blacklistTerm: [`moron`], whitelistTerm: [] },\n imbecile: { blacklistTerm: [`imbecile`], whitelistTerm: [] },\n idiot: { blacklistTerm: [`idiot`], whitelistTerm: [] },\n cretin: { blacklistTerm: [`cretin`], whitelistTerm: [] },\n mongoloid: { blacklistTerm: [`mongoloid`], whitelistTerm: [] },\n \"window licker\": { blacklistTerm: [`window licker`], whitelistTerm: [] },\n \"short bus\": { blacklistTerm: [`short bus`], whitelistTerm: [] },\n\n // Misogynistic slurs\n cunt: { blacklistTerm: [`cunt`, `c*nt`], whitelistTerm: [] },\n bitch: { blacklistTerm: [`bitch`], whitelistTerm: [] },\n whore: { blacklistTerm: [`whore`], whitelistTerm: [] },\n slut: { blacklistTerm: [`slut`], whitelistTerm: [] },\n hoe: { blacklistTerm: [`|hoe`], whitelistTerm: [] },\n skank: { blacklistTerm: [`skank`], whitelistTerm: [] },\n slag: { blacklistTerm: [`slag|`], whitelistTerm: [] },\n twat: { blacklistTerm: [`twat`], whitelistTerm: [] },\n gash: { blacklistTerm: [`gash|`], whitelistTerm: [] },\n feminazi: { blacklistTerm: [`feminazi`], whitelistTerm: [] },\n thot: { blacklistTerm: [`thot`], whitelistTerm: [] },\n roastie: { blacklistTerm: [`roastie`], whitelistTerm: [] },\n foid: { blacklistTerm: [`foid`], whitelistTerm: [] },\n femoid: { blacklistTerm: [`femoid`], whitelistTerm: [] },\n\n // Other derogatory terms\n cuck: { blacklistTerm: [`cuck`], whitelistTerm: [] },\n soyboy: { blacklistTerm: [`soyboy`], whitelistTerm: [] },\n beta: { blacklistTerm: [`beta`], whitelistTerm: [] },\n\n // Religious slurs\n \"bible thumper\": { blacklistTerm: [`bible thumper`], whitelistTerm: [] },\n \"holy roller\": { blacklistTerm: [`holy roller`], whitelistTerm: [] },\n heathen: { blacklistTerm: [`heathen`], whitelistTerm: [] },\n infidel: { blacklistTerm: [`infidel`], whitelistTerm: [] },\n kafir: { blacklistTerm: [`kafir`], whitelistTerm: [] },\n goy: { blacklistTerm: [`goy`], whitelistTerm: [] },\n shiksa: { blacklistTerm: [`shiksa`], whitelistTerm: [] },\n papist: { blacklistTerm: [`papist`], whitelistTerm: [] },\n \"mackerel snapper\": {\n blacklistTerm: [`mackerel snapper`],\n whitelistTerm: [],\n },\n proddy: { blacklistTerm: [`proddy`], whitelistTerm: [] },\n taig: { blacklistTerm: [`taig`], whitelistTerm: [] },\n fenian: { blacklistTerm: [`fenian`], whitelistTerm: [] },\n hun: { blacklistTerm: [`hun|`], whitelistTerm: [] },\n \"orange bastard\": { blacklistTerm: [`orange bastard`], whitelistTerm: [] },\n};\n\nexport default fevoDict;\n"],"mappings":"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","names":["asteriskCensorStrategy","collapseDuplicatesTransformer","resolveConfusablesTransformer","keepStartCensorStrategy","RegExpMatcher","TextCensor","toAsciiLowerCaseTransformer","resolveLeetSpeakTransformer","DataSet","englishDataset","pattern","fevoDict","fevo_dictionary_default","badWordsDataSet","DataSet","englishDataset","initDataSet","key","fevo_dictionary_default","phrase","term","variant","pattern","Parser","presets","badWordsDataSet","badWordsMatcher","RegExpMatcher","collapseDuplicatesTransformer","toAsciiLowerCaseTransformer","resolveConfusablesTransformer","resolveLeetSpeakTransformer","strategy","keepStartCensorStrategy","asteriskCensorStrategy","censor","TextCensor","censorBadWords","input","hasContainsBadWords","censorHtmlPreservingTags","htmlStr","textNodes","nodePositions","fullText","parser","text","censored","result","textIndex","parser2","name","attribs","len","data","err"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fevo-tech/obscenity",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "A robust profanity and obscenity filtering library for JavaScript and TypeScript applications, designed to detect and censor offensive language effectively.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",