JsExport
@ExperimentalJsExport
@Target
(
[AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.FILE]
)
annotation
class
JsExport
(source)
@Target
(
[AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.FILE]
)
annotation
class
JsExport
(source)
Exports top-level declaration on JS platform.
Compiled module exposes declarations that are marked with this annotation without name mangling.
This annotation can be applied to either files or top-level declarations.
It is currently prohibited to export the following kinds of declarations:
-
expect
declarations - inline functions with reified type parameters
- suspend functions
-
secondary constructors without
@JsName
- extension properties
- enum classes
- annotation classes
Signatures of exported declarations must only contain "exportable" types:
-
dynamic
,Any
,String
,Boolean
,Byte
,Short
,Int
,Float
,Double
-
BooleanArray
,ByteArray
,ShortArray
,IntArray
,FloatArray
,DoubleArray
-
Array<exportable-type>
- Function types with exportable parameters and return types
-
external
or@JsExport
classes and interfaces - Nullable counterparts of types above
- Unit return type. Must not be nullable
This annotation is experimental, meaning that restrictions mentioned above are subject to change.
Annotations
Ignore
annotation
class
Ignore
Constructors
<init>
Exports top-level declaration on JS platform.
<init>
(
)