go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/nodes/pkg/funcs/reverse.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package funcs 9 10 import ( 11 "context" 12 13 "go.charczuk.com/projects/nodes/pkg/incrutil" 14 "go.charczuk.com/sdk/iter" 15 ) 16 17 func Reverse[T any](ctx context.Context, inputValues *incrutil.Inputs[T]) ([]T, error) { 18 inputs := inputValues.Values() 19 iter.Reverse(inputs) 20 return inputs, nil 21 } 22 23 func ReverseMany[T any](ctx context.Context, inputValues *incrutil.Inputs[[]T]) ([]T, error) { 24 inputs := inputValues.Values() 25 merged := iter.MergeMany(inputs) 26 iter.Reverse(merged) 27 return merged, nil 28 }