Fixed insert for nil seq in js (#10068)
This commit is contained in:
parent
237085db5d
commit
39a8ab469a
2 changed files with 33 additions and 1 deletions
|
|
@ -1692,7 +1692,7 @@ proc insert*[T](x: var seq[T], item: T, i = 0.Natural) {.noSideEffect.} =
|
||||||
else:
|
else:
|
||||||
when defined(js):
|
when defined(js):
|
||||||
var it : T
|
var it : T
|
||||||
{.emit: "`x`.splice(`i`, 0, `it`);".}
|
{.emit: "`x` = `x` || []; `x`.splice(`i`, 0, `it`);".}
|
||||||
else:
|
else:
|
||||||
defaultImpl()
|
defaultImpl()
|
||||||
x[i] = item
|
x[i] = item
|
||||||
|
|
|
||||||
|
|
@ -20,3 +20,35 @@ proc onButtonClick(inputElement: string) {.exportc.} =
|
||||||
|
|
||||||
onButtonClick(inputElement)
|
onButtonClick(inputElement)
|
||||||
|
|
||||||
|
block:
|
||||||
|
var s: string
|
||||||
|
s.add("hi")
|
||||||
|
doAssert(s == "hi")
|
||||||
|
|
||||||
|
block:
|
||||||
|
var s: string
|
||||||
|
s.insert("hi", 0)
|
||||||
|
doAssert(s == "hi")
|
||||||
|
|
||||||
|
block:
|
||||||
|
var s: string
|
||||||
|
s.setLen(2)
|
||||||
|
s[0] = 'h'
|
||||||
|
s[1] = 'i'
|
||||||
|
doAssert(s == "hi")
|
||||||
|
|
||||||
|
block:
|
||||||
|
var s: seq[int]
|
||||||
|
s.setLen(2)
|
||||||
|
doAssert(s == @[0, 0])
|
||||||
|
|
||||||
|
block:
|
||||||
|
var s: seq[int]
|
||||||
|
s.insert(2, 0)
|
||||||
|
doAssert(s == @[2])
|
||||||
|
|
||||||
|
block:
|
||||||
|
var s: seq[int]
|
||||||
|
s.add(2)
|
||||||
|
doAssert(s == @[2])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue