JsExport
Требования к платформе и версии: JS (1.3)
@ExperimentalJsExport @Target([AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.FILE]) annotation class JsExport
Экспортирует объявление верхнего уровня на платформе JS.
Модуль, полученный после компиляции, экспортирует объявления, помеченные этой аннотацией, без изменения имён.
Эту аннотацию можно применять как к файлам, так и к объявлениям верхнего уровня.
В настоящее время запрещено экспортировать следующие виды объявлений:
-
expectобъявления - встроенные функции с параметрами типа reified
- функции suspend
- вторичные конструкторы без
@JsName - расширяющие свойства
- перечисления
- аннотированные классы
Подписи экспортируемых объявлений должны содержать только «экспортируемые» типы:
-
dynamic,Any,String,Boolean,Byte,Short,Int,Float,Double -
BooleanArray,ByteArray,ShortArray,IntArray,FloatArray,DoubleArray Array<exportable-type>- Функциональные типы с экспортируемыми параметрами и возвращаемыми типами
-
externalили@JsExportклассы и интерфейсы - Нулевые аналоги типов выше
- Тип возврата Unit. Не должен быть nullable
Эта аннотация экспериментальная, что означает, что упомянутые выше ограничения могут быть изменены.
Конструкторы
Требования к платформе и версии: JS (1.0)
<init>
Экспортирует объявление верхнего уровня на платформе JS.
<init>()
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-js-export/