2023-04-15 17:27:31 +00:00

12 lines
2.1 KiB
Go

//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
package wildcard ;func Index (pattern ,name string )(_ef int ){if pattern ==""||pattern =="\u002a"{return 0;};_c :=make ([]rune ,0,len (name ));_af :=make ([]rune ,0,len (pattern ));for _ ,_dac :=range name {_c =append (_c ,_dac );};for _ ,_bcee :=range pattern {_af =append (_af ,_bcee );};return _afb (_c ,_af ,0);};func Match (pattern ,name string )(_fe bool ){if pattern ==""{return name ==pattern ;};if pattern =="\u002a"{return true ;};_ea :=make ([]rune ,0,len (name ));_ab :=make ([]rune ,0,len (pattern ));for _ ,_da :=range name {_ea =append (_ea ,_da );};for _ ,_ee :=range pattern {_ab =append (_ab ,_ee );};_ac :=false ;return _dba (_ea ,_ab ,_ac );};func _afb (_bg ,_gaa []rune ,_fb int )int {for len (_gaa )> 0{switch _gaa [0]{default:if len (_bg )==0{return -1;};if _bg [0]!=_gaa [0]{return _afb (_bg [1:],_gaa ,_fb +1);};case '?':if len (_bg )==0{return -1;};case '*':if len (_bg )==0{return -1;};_ce :=_afb (_bg ,_gaa [1:],_fb );if _ce !=-1{return _fb ;}else {_ce =_afb (_bg [1:],_gaa ,_fb );if _ce !=-1{return _fb ;}else {return -1;};};};_bg =_bg [1:];_gaa =_gaa [1:];};return _fb ;};func MatchSimple (pattern ,name string )bool {if pattern ==""{return name ==pattern ;};if pattern =="\u002a"{return true ;};_d :=make ([]rune ,0,len (name ));_f :=make ([]rune ,0,len (pattern ));for _ ,_db :=range name {_d =append (_d ,_db );};for _ ,_a :=range pattern {_f =append (_f ,_a );};_g :=true ;return _dba (_d ,_f ,_g );};func _dba (_fg ,_bb []rune ,_ge bool )bool {for len (_bb )> 0{switch _bb [0]{default:if len (_fg )==0||_fg [0]!=_bb [0]{return false ;};case '?':if len (_fg )==0&&!_ge {return false ;};case '*':return _dba (_fg ,_bb [1:],_ge )||(len (_fg )> 0&&_dba (_fg [1:],_bb ,_ge ));};_fg =_fg [1:];_bb =_bb [1:];};return len (_fg )==0&&len (_bb )==0;};