Spec-Zone.ru › Nim
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