summary refs log tree commit diff stats
path: root/lib/js
diff options
context:
space:
mode:
authorJuan Carlos <juancarlospaco@gmail.com>2022-05-24 12:37:19 -0300
committerGitHub <noreply@github.com>2022-05-24 17:37:19 +0200
commitb1b5e3ab10749851e942d624ee85188d8b06822e (patch)
tree1723f4298972f40b65d0f13d162b11f6ca427b77 /lib/js
parent05c0419658e3f97c29a12a16e99c0f8b842622c8 (diff)
downloadNim-b1b5e3ab10749851e942d624ee85188d8b06822e.tar.gz
Add Array.shift (#19811)
* Add Array.shift for JavaScript targets

* Add Array.shift for JavaScript targets
Diffstat (limited to 'lib/js')
-rw-r--r--lib/js/jscore.nim9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/js/jscore.nim b/lib/js/jscore.nim
index 61c188431..4518f32ce 100644
--- a/lib/js/jscore.nim
+++ b/lib/js/jscore.nim
@@ -123,3 +123,12 @@ since (1, 5):
       assert [1, 2, 3, 4, 5].copyWithin(0, 3) == @[4, 5, 3, 4, 5]
       assert [1, 2, 3, 4, 5].copyWithin(0, 3, 4) == @[4, 2, 3, 4, 5]
       assert [1, 2, 3, 4, 5].copyWithin(-2, -3, -1) == @[1, 2, 3, 3, 4]
+
+
+since (1, 7):
+  func shift*[T](self: seq[T]): T {.importjs: "#.$1()".} =
+    ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
+    runnableExamples:
+      var arrai = @[1, 2, 3]
+      assert arrai.shift() == 1
+      assert arrai == @[2, 3]