@@ -13,12 +13,14 @@ import gleam/list
13
13
/// may return surprising results, and the `is_equal` and `is_logically_equal`
14
14
/// functions are the recommended way to test queues for equality.
15
15
///
16
+ @ deprecated ( "Please use the gleam_deque package instead" )
16
17
pub opaque type Queue ( a) {
17
18
Queue ( in : List ( a) , out : List ( a) )
18
19
}
19
20
20
21
/// Creates a fresh queue that contains no values.
21
22
///
23
+ @ deprecated ( "Please use the gleam_deque package instead" )
22
24
pub fn new ( ) -> Queue ( a) {
23
25
Queue ( in : [ ] , out : [ ] )
24
26
}
@@ -35,6 +37,7 @@ pub fn new() -> Queue(a) {
35
37
/// // -> 3
36
38
/// ```
37
39
///
40
+ @ deprecated ( "Please use the gleam_deque package instead" )
38
41
pub fn from_list ( list : List ( a) ) -> Queue ( a) {
39
42
Queue ( in : [ ] , out : list )
40
43
}
@@ -51,6 +54,7 @@ pub fn from_list(list: List(a)) -> Queue(a) {
51
54
/// // -> [1, 2]
52
55
/// ```
53
56
///
57
+ @ deprecated ( "Please use the gleam_deque package instead" )
54
58
pub fn to_list ( queue : Queue ( a) ) -> List ( a) {
55
59
queue . out
56
60
|> list . append ( list . reverse ( queue . in ) )
@@ -77,6 +81,7 @@ pub fn to_list(queue: Queue(a)) -> List(a) {
77
81
/// // -> False
78
82
/// ```
79
83
///
84
+ @ deprecated ( "Please use the gleam_deque package instead" )
80
85
pub fn is_empty ( queue : Queue ( a) ) -> Bool {
81
86
queue . in == [ ] && queue . out == [ ]
82
87
}
@@ -103,6 +108,7 @@ pub fn is_empty(queue: Queue(a)) -> Bool {
103
108
/// // -> 2
104
109
/// ```
105
110
///
111
+ @ deprecated ( "Please use the gleam_deque package instead" )
106
112
pub fn length ( queue : Queue ( a) ) -> Int {
107
113
list . length ( queue . in ) + list . length ( queue . out )
108
114
}
@@ -116,6 +122,7 @@ pub fn length(queue: Queue(a)) -> Int {
116
122
/// // -> [1, 2, 3]
117
123
/// ```
118
124
///
125
+ @ deprecated ( "Please use the gleam_deque package instead" )
119
126
pub fn push_back ( onto queue : Queue ( a) , this item : a) -> Queue ( a) {
120
127
Queue ( in : [ item , .. queue . in ] , out : queue . out )
121
128
}
@@ -129,6 +136,7 @@ pub fn push_back(onto queue: Queue(a), this item: a) -> Queue(a) {
129
136
/// // -> [1, 0, 0]
130
137
/// ```
131
138
///
139
+ @ deprecated ( "Please use the gleam_deque package instead" )
132
140
pub fn push_front ( onto queue : Queue ( a) , this item : a) -> Queue ( a) {
133
141
Queue ( in : queue . in , out : [ item , .. queue . out ] )
134
142
}
@@ -161,6 +169,7 @@ pub fn push_front(onto queue: Queue(a), this item: a) -> Queue(a) {
161
169
/// // -> Error(Nil)
162
170
/// ```
163
171
///
172
+ @ deprecated ( "Please use the gleam_deque package instead" )
164
173
pub fn pop_back ( from queue : Queue ( a) ) -> Result ( # ( a, Queue ( a) ) , Nil ) {
165
174
case queue {
166
175
Queue ( in : [ ] , out : [ ] ) -> Error ( Nil )
@@ -200,6 +209,7 @@ pub fn pop_back(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
200
209
/// // -> Error(Nil)
201
210
/// ```
202
211
///
212
+ @ deprecated ( "Please use the gleam_deque package instead" )
203
213
pub fn pop_front ( from queue : Queue ( a) ) -> Result ( # ( a, Queue ( a) ) , Nil ) {
204
214
case queue {
205
215
Queue ( in : [ ] , out : [ ] ) -> Error ( Nil )
@@ -233,6 +243,7 @@ pub fn pop_front(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
233
243
/// // -> [2, 1]
234
244
/// ```
235
245
///
246
+ @ deprecated ( "Please use the gleam_deque package instead" )
236
247
pub fn reverse ( queue : Queue ( a) ) -> Queue ( a) {
237
248
Queue ( in : queue . out , out : queue . in )
238
249
}
@@ -248,6 +259,7 @@ pub fn reverse(queue: Queue(a)) -> Queue(a) {
248
259
/// This function runs in linear time multiplied by the time taken by the
249
260
/// element equality checking function.
250
261
///
262
+ @ deprecated ( "Please use the gleam_deque package instead" )
251
263
pub fn is_logically_equal (
252
264
a : Queue ( a) ,
253
265
to b : Queue ( a) ,
@@ -285,6 +297,7 @@ fn check_equal(
285
297
///
286
298
/// This function runs in linear time.
287
299
///
300
+ @ deprecated ( "Please use the gleam_deque package instead" )
288
301
pub fn is_equal ( a : Queue ( a) , to b : Queue ( a) ) -> Bool {
289
302
check_equal ( a . out , a . in , b . out , b . in , fn ( a , b ) { a == b } )
290
303
}
0 commit comments