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