std/jscore
Source Edit
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.
Imports
since, jsutils
Types
Vars
Procs
-
proc cbrt(m: MathLib; f: SomeFloat): SomeFloat {.importcpp, ...raises: [],
tags: [], forbids: [].}
- Source Edit
-
proc ceil(m: MathLib; f: SomeFloat): SomeFloat {.importcpp, ...raises: [],
tags: [], forbids: [].}
- Source Edit
-
proc clz32(m: MathLib; f: SomeInteger): int {.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 copyWithin[T](self: openArray[T]; target, start: int): seq[T] {.
importjs: "#.copyWithin(#, #)", ...raises: [], tags: [], forbids: [].}
- Source Edit
-
func copyWithin[T](self: openArray[T]; target: int): seq[T] {.
importjs: "#.copyWithin(#)", ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc floor(m: MathLib; f: SomeFloat): int {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc fround(m: MathLib; f: SomeFloat): float32 {.importcpp, ...raises: [],
tags: [], forbids: [].}
- Source Edit
-
proc getDay(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc getFullYear(d: DateTime): int {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc getHours(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 getMonth(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc getSeconds(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc getTime(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 getUTCDay(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 getYear(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc hypot(m: MathLib; args: varargs[distinct SomeNumber]): float {.importcpp,
...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc imul(m: MathLib; a, b: int32): int32 {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc min[T: SomeNumber | JsRoot](m: MathLib; a, b: T): T {.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
-
proc newDate(date: int64): DateTime {.importcpp: "new Date(Number(#))",
...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc newDate(year, month, day, hours, minutes, seconds, milliseconds: int): DateTime {.
importcpp: "new Date(#,#,#,#,#,#,#)", ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc now(d: DateLib): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc parse(d: DateLib; s: cstring): int {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc parse(l: JsonLib; s: cstring): JsRoot {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc pow(m: MathLib; a, b: distinct SomeNumber): float {.importcpp, ...raises: [],
tags: [], forbids: [].}
- Source Edit
-
func queueMicrotask(function: proc) {.importjs: "$1(#)", ...raises: [], tags: [],
forbids: [].}
-
Example: cmd: -r:off
queueMicrotask(proc() = echo "Microtask")
Source Edit
-
proc random(m: MathLib): float {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc round(m: MathLib; f: SomeFloat): int {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc setFullYear(d: DateTime; year: int) {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc sqrt(m: MathLib; f: SomeFloat): SomeFloat {.importcpp, ...raises: [],
tags: [], forbids: [].}
- Source Edit
-
proc stringify(l: JsonLib; s: JsRoot): cstring {.importcpp, ...raises: [],
tags: [], forbids: [].}
- 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 toJSON(d: DateTime): cstring {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit
-
proc toString(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
-
proc trunc(m: MathLib; f: SomeFloat): int {.importcpp, ...raises: [], tags: [],
forbids: [].}
- Source Edit
-
proc UTC(d: DateLib): int {.importcpp, ...raises: [], tags: [], forbids: [].}
- Source Edit