This module wraps core JavaScript functions.
Unless your application has very specific requirements and solely targets JavaScript, you should be using the relevant functions in the math, json, and times stdlib modules instead.
Procs
proc abs(m: MathLib; a: SomeNumber): SomeNumber {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
func copyWithin[T](self: openArray[T]; target, start, ends: int): seq[T] {. importjs: "#.copyWithin(#, #, #)", ...raises: [], tags: [], forbids: [].}
-
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin copyWithin uses shallow copy.
Example:
assert ['a', 'b', 'c', 'd', 'e'].copyWithin(0, 3, 4) == @['d', 'b', 'c', 'd', 'e'] assert ['a', 'b', 'c', 'd', 'e'].copyWithin(1, 3) == @['a', 'd', 'e', 'd', 'e'] assert [1, 2, 3, 4, 5].copyWithin(-2) == @[1, 2, 3, 1, 2] 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]
Source Edit func debugger() {.importjs: "debugger@", ...raises: [], tags: [], forbids: [].}
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger Source Edit
proc getFullYear(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getMilliseconds(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getMinutes(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getSeconds(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getTimezoneOffset(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getUTCDate(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getUTCFullYear(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getUTCHours(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getUTCMilliseconds(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getUTCMinutes(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getUTCMonth(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc getUTCSeconds(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc max(m: MathLib; a, b: SomeNumber): SomeNumber {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc newDate(): DateTime {.importcpp: "new Date()", ...raises: [], tags: [], forbids: [].}
- Source Edit
proc newDate(date: int | string): DateTime {.importcpp: "new Date(#)", ...raises: [], tags: [], forbids: [].}
- Source Edit
func queueMicrotask(function: proc) {.importjs: "$1(#)", ...raises: [], tags: [], forbids: [].}
-
- https://developer.mozilla.org/en-US/docs/Web/API/queueMicrotask
- https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide
Example: cmd: -r:off
queueMicrotask(proc() = echo "Microtask")
Source Edit proc setFullYear(d: DateTime; year: int) {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
func shift[T](self: seq[T]): T {.importjs: "#.$1()", ...raises: [], tags: [], forbids: [].}
-
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
Example:
var arrai = @[1, 2, 3] assert arrai.shift() == 1 assert arrai == @[2, 3]
Source Edit func toDateString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
func toISOString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
func toTimeString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
func toUTCString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit