// ExtractRanking returns the first found RankingOption from the
// given variadic arguments or nil otherwise.
420368
func ExtractRanking(opts ...interface{}) *opt.RankingOption {
	for _, o := range opts {
		if v, ok := o.(*opt.RankingOption); ok {
			return v
		}
	}
	return nil
}
480546
func ListRemoveByRankOp(binName string, rank int, returnType ListReturnType) *Operation {
	return &Operation{opType: _CDT_MODIFY, binName: binName, binValue: ListValue{_CDT_LIST_REMOVE_BY_RANK, IntegerValue(returnType), IntegerValue(rank)}, encoder: listGenericOpEncoder}
}
793781
func ExtractOptionalWords(opts ...interface{}) *opt.OptionalWordsOption {
	for _, o := range opts {
		if v, ok := o.(*opt.OptionalWordsOption); ok {
			return v
		}
	}
	return nil
}
674137
func ExtractClearExistingRules(opts ...interface{}) *opt.ClearExistingRulesOption {
	for _, o := range opts {
		if v, ok := o.(*opt.ClearExistingRulesOption); ok {
			return v
		}
	}
	return nil
}
65358
func RankFindFold(source string, targets []string) Ranks {
	var r Ranks

	for index, target := range targets {
		if match(source, target, unicode.ToLower) {
			distance := LevenshteinDistance(source, target)
			r = append(r, Rank{source, target, distance, index})
		}
	}
	return r
}
328648
func ExtractInsidePolygon(opts ...interface{}) *opt.InsidePolygonOption {
	for _, o := range opts {
		if v, ok := o.(*opt.InsidePolygonOption); ok {
			return v
		}
	}
	return nil
}
346132
func ExtractFilters(opts ...interface{}) *opt.FiltersOption {
	for _, o := range opts {
		if v, ok := o.(*opt.FiltersOption); ok {
			return v
		}
	}
	return nil
}
479140
func ExtractMaxValuesPerFacet(opts ...interface{}) *opt.MaxValuesPerFacetOption {
	for _, o := range opts {
		if v, ok := o.(*opt.MaxValuesPerFacetOption); ok {
			return v
		}
	}
	return nil
}
1344287
func ExtractTo(srcPath, destPath string, entries ...string) (err error) {
	return ExtractToFunc(srcPath, destPath, defaultExtractFunc, entries...)
}
1079660
func ExtractDisableExactOnAttributes(opts ...interface{}) *opt.DisableExactOnAttributesOption {
	for _, o := range opts {
		if v, ok := o.(*opt.DisableExactOnAttributesOption); ok {
			return v
		}
	}
	return nil
}
557842
func ExtractUnretrievableAttributes(opts ...interface{}) *opt.UnretrievableAttributesOption {
	for _, o := range opts {
		if v, ok := o.(*opt.UnretrievableAttributesOption); ok {
			return v
		}
	}
	return nil
}
1139037
func ExtractUserToken(opts ...interface{}) *opt.UserTokenOption {
	for _, o := range opts {
		if v, ok := o.(*opt.UserTokenOption); ok {
			return v
		}
	}
	return nil
}
828904
func ExtractInsideBoundingBox(opts ...interface{}) *opt.InsideBoundingBoxOption {
	for _, o := range opts {
		if v, ok := o.(*opt.InsideBoundingBoxOption); ok {
			return v
		}
	}
	return nil
}
438238
func ExtractVariables(configDict map[string]interface{}, pattern *regexp.Regexp) map[string]string {
	if pattern == nil {
		pattern = defaultPattern
	}
	return recurseExtract(configDict, pattern)
}
842288
func (g Goose) ExtractFromURL(url string) (*Article, error) {
	cc := NewCrawler(g.config, url, "")
	return cc.Crawl()
}
808657
func ExtractFacets(opts ...interface{}) *opt.FacetsOption {
	for _, o := range opts {
		if v, ok := o.(*opt.FacetsOption); ok {
			return v
		}
	}
	return nil
}
501144
func ExtractType(opts ...interface{}) *opt.TypeOption {
	for _, o := range opts {
		if v, ok := o.(*opt.TypeOption); ok {
			return v
		}
	}
	return nil
}