/*! * Copyright (c) 2017-2018 by The Funfix Project Developers. * Some rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * We don't need the full power of JS's iterators, just a way * to traverse data structures. * * @hidden */ export interface IteratorLike { next(): { done: boolean; value?: A; }; } /** * Reusable empty `IteratorLike` reference. * * @hidden */ export declare const emptyIteratorRef: IteratorLike; /** * Given an array or an `Iterable`, returns a simple iterator type * that we can use to traverse the given list lazily. * * @hidden */ export declare function iteratorOf(list: A[] | Iterable): IteratorLike;