| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | package haxe;import php.*;import haxe.iterators.RestIterator;import haxe.iterators.RestKeyValueIterator;private typedef NativeRest<T> = NativeIndexedArray<T>;@:coreApi@:semantics(value)abstract Rest<T>(NativeRest<T>) {	public var length(get,never):Int;	inline function get_length():Int		return Global.count(this);	@:from	static public inline function of<T>(array:Array<T>):Rest<T>		return new Rest(@:privateAccess array.arr);	@:noDoc	@:from	static inline function ofNative<T>(array:NativeIndexedArray<T>):Rest<T>		return new Rest(array);	inline function new(a:NativeIndexedArray<T>):Void		this = a;	@:arrayAccess inline function get(index:Int):T		return this[index];	@:to public inline function toArray():Array<T>		return @:privateAccess Array.wrap(this);	public inline function iterator():RestIterator<T>		return new RestIterator<T>(this);	public inline function keyValueIterator():RestKeyValueIterator<T>		return new RestKeyValueIterator<T>(this);	public inline function append(item:T):Rest<T> {		var result = this;		result.push(item);		return new Rest(result);	}	public inline function prepend(item:T):Rest<T> {		var result = this;		Global.array_unshift(result, item);		return new Rest(result);	}	public function toString():String {		return inline Boot.stringifyNativeIndexedArray(this);	}}
 |