/** * Prepends `a` to ImmutableArray * * @tsplus operator ImmutableArray + 1.0 */ export function prependOperatorStrict(a: A, self: ImmutableArray): NonEmptyImmutableArray { return new ImmutableArray([a, ...self.array]) as NonEmptyImmutableArray } /** * Prepends `a` to ImmutableArray * * @tsplus operator ImmutableArray > */ export function prependOperator( a: A, self: ImmutableArray ): NonEmptyImmutableArray { return new ImmutableArray([a, ...self.array] as any) as NonEmptyImmutableArray } /** * Prepends `a` to ImmutableArray * * @tsplus static ImmutableArray.Aspects prepend * @tsplus pipeable ImmutableArray prepend */ export function prepend(a: B) { return (self: ImmutableArray): NonEmptyImmutableArray => new ImmutableArray([a, ...self.array]) as NonEmptyImmutableArray }