unobtanium-segmenter 0.5.2

A text segmentation toolbox for search applications inspired by charabia and tantivy.
Documentation
// SPDX-FileCopyrightText: 2026 Slatian
//
// SPDX-License-Identifier: LGPL-3.0-only

use crate::SegmentedToken;

/// Helper for starting an iterator chain.
///
/// Turns any `str` or `String` into an iterator over a single [SegmentedToken].
///
/// (Can also deal with anything else that implements `Into<SegmentedToken>`.)
pub trait StartSegmentationChain<'a> {
	/// Create the iterator.
	fn start_segmentation_chain(self) -> impl Iterator<Item = SegmentedToken<'a>>;
}

impl<'a, T: Into<SegmentedToken<'a>>> StartSegmentationChain<'a> for T {
	fn start_segmentation_chain(self) -> impl Iterator<Item = SegmentedToken<'a>> {
		Some(self.into()).into_iter()
	}
}