Skip to content

Commit d2a812b

Browse files
committed
Document _toArray, add test
1 parent 08325b5 commit d2a812b

File tree

5 files changed

+41
-1
lines changed

5 files changed

+41
-1
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ gdash is a functional utility library for GML, inspired by [lodash](https://loda
4040
* [`_split(string, splitter)`](#_splitstring-splitter)
4141
* [`_spread(script, argArray)`](#_spreadscript-argarray)
4242
* [`_times(script)`](#_timesscript)
43+
* [`_toArray(list)`](#_toarraylist)
4344
* [`_typeOf(value)`](#_typeofvalue)
4445
* [`_uniq(array)`](#_uniqarray)
4546

@@ -542,6 +543,16 @@ _times(3, returnTheValue5);
542543
// => [5, 5, 5];
543544
```
544545

546+
### `_toArray(list)`
547+
548+
Returns the given ds_list as an array
549+
550+
```
551+
@param {DS_List} the list to convert
552+
@returns {Array} An array representation of the given list
553+
Note: If the given list is of size 0, this will return undefined
554+
```
555+
545556
### `_typeOf(value)`
546557

547558
Returns the variable type of the given argument
Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
1-
test_suite_pass();
1+
/// _toArray
2+
test_start("_toArray", "Converts a list to an array");
3+
4+
var list = ds_list_create();
5+
ds_list_add(1, 2, 3, 4, 5);
6+
7+
var arr = _toArray(list);
8+
9+
for (var i = 0; i < _length(arr); i++) {
10+
assert_equal(list[| i], arr[i]);
11+
}
12+
13+
test_end();
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
test_suite_pass();

src/gdash/objects/obj_gdash_test_2/obj_gdash_test_2.yy

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
/// @desc Converts the given ds_list to an array
22
/// @param list
3+
/// Note: If the given list is of size 0, this will return undefined.
34

45
var list = argument0;
56
var listSize = ds_list_size(list);
67
var array;
8+
array[0] = undefined;
79

810
for (var i = listSize - 1; i >= 0; i--) {
911
array[i] = list[| i];
1012
}
1113

14+
if (is_undefined(array[0])) {
15+
return undefined;
16+
}
17+
1218
return array;

0 commit comments

Comments
 (0)