Spec-Zone.ru › Nim

std/jscore

Исходный кодИзменить

Этот модуль оборачивает основные функции JavaScript.

Если у вашего приложения нет особых требований и оно предназначено только для JavaScript, вы должны использовать соответствующие функции в модулях math, json, и times стандартной библиотеки.

Импорты

since, jsutils

Типы

DateLib = ref object
Исходный код Изменить
DateTime = ref object
Исходный код Изменить
JsonLib = ref object
Исходный код Изменить
MathLib = ref object
Исходный код Изменить

Переменные

Date {.importc, nodecl.}: DateLib
Исходный код Изменить
JSON {.importc, nodecl.}: JsonLib
Исходный код Изменить
Math {.importc, nodecl.}: MathLib
Исходный код Изменить

Процедуры

proc abs(m: MathLib; a: SomeNumber): SomeNumber {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Изменить
proc acos(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc acosh(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc asin(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc asinh(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc atan(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc atan2(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc atanh(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc cbrt(m: MathLib; f: SomeFloat): SomeFloat {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Изменить
proc ceil(m: MathLib; f: SomeFloat): SomeFloat {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Изменить
proc clz32(m: MathLib; f: SomeInteger): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
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 использует поверхностную копию.

Пример:

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]
Исходный код Изменить
func copyWithin[T](self: openArray[T]; target, start: int): seq[T] {.
    importjs: "#.copyWithin(#, #)", ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
func copyWithin[T](self: openArray[T]; target: int): seq[T] {.
    importjs: "#.copyWithin(#)", ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc cos(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc cosh(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
func debugger() {.importjs: "debugger@", ...raises: [], tags: [], forbids: [].}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger Исходный код Изменить
proc exp(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc expm1(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc floor(m: MathLib; f: SomeFloat): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc fround(m: MathLib; f: SomeFloat): float32 {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Изменить
proc getDay(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getFullYear(d: DateTime): int {.importcpp, ...raises: [], tags: [],
                                     forbids: [].}
Исходный код Изменить
proc getHours(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getMilliseconds(d: DateTime): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc getMinutes(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getMonth(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getSeconds(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getTime(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getTimezoneOffset(d: DateTime): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Изменить
proc getUTCDate(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getUTCDay(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Изменить
proc getUTCFullYear(d: DateTime): int {.importcpp, ...raises: [], tags: [],
                                        forbids: [].}
Исходный код Изменить
proc getUTCHours(d: DateTime): int {.importcpp, ...raises: [], tags: [],
                                     forbids: [].}
Исходный код Изменить
proc getUTCMilliseconds(d: DateTime): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc getUTCMinutes(d: DateTime): int {.importcpp, ...raises: [], tags: [],
                                       forbids: [].}
Исходный код Редактировать
proc getUTCMonth(d: DateTime): int {.importcpp, ...raises: [], tags: [],
                                     forbids: [].}
Исходный код Редактировать
proc getUTCSeconds(d: DateTime): int {.importcpp, ...raises: [], tags: [],
                                       forbids: [].}
Исходный код Редактировать
proc getYear(d: DateTime): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc hypot(m: MathLib; args: varargs[distinct SomeNumber]): float {.importcpp,
    ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc imul(m: MathLib; a, b: int32): int32 {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc log(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc log1p(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc log2(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc log10(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc max(m: MathLib; a, b: SomeNumber): SomeNumber {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Редактировать
proc min[T: SomeNumber | JsRoot](m: MathLib; a, b: T): T {.importcpp,
    ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc newDate(): DateTime {.importcpp: "new Date()", ...raises: [], tags: [],
                           forbids: [].}
Исходный код Редактировать
proc newDate(date: int | string): DateTime {.importcpp: "new Date(#)",
    ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc newDate(date: int64): DateTime {.importcpp: "new Date(Number(#))",
                                      ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc newDate(year, month, day, hours, minutes, seconds, milliseconds: int): DateTime {.
    importcpp: "new Date(#,#,#,#,#,#,#)", ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc now(d: DateLib): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc parse(d: DateLib; s: cstring): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc parse(l: JsonLib; s: cstring): JsRoot {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc pow(m: MathLib; a, b: distinct SomeNumber): float {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Редактировать
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

Пример: cmd: -r:off

queueMicrotask(proc() = echo "Microtask")
Исходный код Редактировать
proc random(m: MathLib): float {.importcpp, ...raises: [], tags: [], forbids: [].}
Исходный код Редактировать
proc round(m: MathLib; f: SomeFloat): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc setFullYear(d: DateTime; year: int) {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
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

Пример:

var arrai = @[1, 2, 3]
assert arrai.shift() == 1
assert arrai == @[2, 3]
Исходный код Редактировать
proc sign(m: MathLib; f: SomeNumber): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc sin(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc sinh(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc sqrt(m: MathLib; f: SomeFloat): SomeFloat {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Редактировать
proc stringify(l: JsonLib; s: JsRoot): cstring {.importcpp, ...raises: [],
    tags: [], forbids: [].}
Исходный код Редактировать
proc tan(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
proc tanh(m: MathLib; a: SomeNumber): float {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
func toDateString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Исходный код Редактировать
func toISOString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Источник Изменить
func toJSON(d: DateTime): cstring {.importcpp, ...raises: [], tags: [], forbids: [].}
Источник Изменить
proc toString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [],
                                      forbids: [].}
Источник Изменить
func toTimeString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Источник Изменить
func toUTCString(d: DateTime): cstring {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Источник Изменить
proc trunc(m: MathLib; f: SomeFloat): int {.importcpp, ...raises: [], tags: [],
    forbids: [].}
Источник Изменить
proc UTC(d: DateLib): int {.importcpp, ...raises: [], tags: [], forbids: [].}
Источник Изменить

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/jscore.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API