本文整理汇总了Scala中scala.scalajs.js.UndefOr类的典型用法代码示例。如果您正苦于以下问题:Scala UndefOr类的具体用法?Scala UndefOr怎么用?Scala UndefOr使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UndefOr类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: identify
//设置package包名称以及导入依赖的类
package slate
import monix.eval.Task
import monix.execution.Cancelable
import slate.chrome._
import scala.scalajs.js
import scala.scalajs.js.UndefOr
object identify {
def chromeCallbackToTask[T](callbackTaker: (T => Unit) => Unit): Task[T] = {
Task.create[T] { (_, callback) =>
callbackTaker { result =>
ChromeRuntime.lastError.fold(callback.onSuccess(result)) { ex =>
callback.onError(ChromeErrorException(ex.message))
}
}
Cancelable.empty
}
}
def getAuthToken(interactive: Boolean = false, accountInfo: UndefOr[String] = js.undefined, scopes: UndefOr[js.Array[String]] = js.undefined): Task[String] =
chromeCallbackToTask(ChromeIdentity.fetchAuthToken(new GetAuthTokenOptions(interactive, accountInfo.map(new AccountInfo(_)), scopes), _))
def launchWebAuthFlow(interactive: Boolean = false, url: String): Task[String] =
chromeCallbackToTask(ChromeIdentity.launchWebAuthFlow(new LaunchWebAuthFlowOptions(url, interactive), _))
def removeCachedAuthToken(token: String): Task[Unit] =
chromeCallbackToTask(ChromeIdentity.removeCachedAuthToken(new RemoveCachedAuthTokenOptions(token), _))
case class ChromeErrorException(message: UndefOr[String]) extends Exception(message.getOrElse("No error message"))
}
示例2: GetAuthTokenOptions
//设置package包名称以及导入依赖的类
package slate
package chrome
import scala.scalajs.js
import scala.scalajs.js.annotation.{JSName, ScalaJSDefined}
import scala.scalajs.js.{UndefOr, native, undefined}
@ScalaJSDefined
class GetAuthTokenOptions(val interactive: UndefOr[Boolean] = undefined,
val account: UndefOr[AccountInfo] = undefined,
val scopes: UndefOr[js.Array[String]] = undefined) extends js.Object
@ScalaJSDefined
class LaunchWebAuthFlowOptions(val url: String,
val interactive: UndefOr[Boolean] = undefined) extends js.Object
@ScalaJSDefined
class RemoveCachedAuthTokenOptions(val token: String) extends js.Object
@ScalaJSDefined
class AccountInfo(val id: String) extends js.Object
@native
@JSName("chrome.identity")
object ChromeIdentity extends js.Object {
@JSName("getAuthToken")
@native
def fetchAuthToken(details: UndefOr[GetAuthTokenOptions] = undefined,
callback: js.Function1[String, Unit]): Unit = native
@native
def launchWebAuthFlow(details: LaunchWebAuthFlowOptions,
callback: js.Function1[String, Unit]): Unit = native
@native
def removeCachedAuthToken(details: RemoveCachedAuthTokenOptions,
callback: js.Function1[Unit, Unit]): Unit = native
}
@ScalaJSDefined
class LastError(val message: UndefOr[String]) extends js.Object
@native
@JSName("chrome.runtime")
object ChromeRuntime extends js.Object {
@native
def lastError: UndefOr[LastError] = native
}
示例3: MarkedOptions
//设置package包名称以及导入依赖的类
package com.karasiq.markedjs
import scala.scalajs.js
import scala.scalajs.js.annotation.ScalaJSDefined
import scala.scalajs.js.{Any, UndefOr}
@ScalaJSDefined
class MarkedOptions extends js.Object {
def apply(highlight: UndefOr[(String, UndefOr[String], js.Function) ? String] = js.undefined, renderer: MarkedRenderer = new MarkedRenderer(), gfm: Boolean = true, tables: Boolean = true, breaks: Boolean = false, pedantic: Boolean = false, sanitize: Boolean = false, smartLists: Boolean = true, smartypants: Boolean = false): MarkedOptions = {
val _highlight = highlight
val _renderer = renderer
val _gfm = gfm
val _tables = tables
val _breaks = breaks
val _pedantic = pedantic
val _sanitize = sanitize
val _smartLists = smartLists
val _smartypants = smartypants
new MarkedOptions {
override val highlight: Any = _highlight
override val renderer: MarkedRenderer = _renderer
override val gfm: Boolean = _gfm
override val tables: Boolean = _tables
override val breaks: Boolean = _breaks
override val pedantic: Boolean = _pedantic
override val sanitize: Boolean = _sanitize
override val smartLists: Boolean = _smartLists
override val smartypants: Boolean = _smartypants
}
}
}
示例4: MarkedRenderer
//设置package包名称以及导入依赖的类
package com.karasiq.markedjs
import scala.scalajs.js
import scala.scalajs.js.UndefOr
import scala.scalajs.js.annotation.JSName
//noinspection SpellCheckingInspection
@js.native
@JSName("marked.Renderer")
class MarkedRenderer extends js.Object {
// Block level renderer methods
def code(code: String, language: String): String = js.native
def blockquote(quote: String): String = js.native
def html(html: String): String = js.native
def heading(text: String, level: Int): String = js.native
def hr(): String = js.native
def list(body: String, ordered: Boolean): String = js.native
def listitem(text: String): String = js.native
def paragraph(text: String): String = js.native
def table(header: String, body: String): String = js.native
def tablerow(content: String): String = js.native
def tablecell(content: String, flags: js.Object): String = js.native
// Inline level renderer methods
def strong(text: String): String = js.native
def em(text: String): String = js.native
def codespan(code: String): String = js.native
def br(): String = js.native
def del(text: String): String = js.native
def link(href: String, title: String, text: String): String = js.native
def image(href: String, title: String, text: String): String = js.native
}
object MarkedRenderer {
def apply(code: UndefOr[(String, String) ? String] = js.undefined, blockquote: UndefOr[String ? String] = js.undefined, html: UndefOr[String ? String] = js.undefined, heading: UndefOr[(String, Int) ? String] = js.undefined, hr: UndefOr[() ? String] = js.undefined, list: UndefOr[(String, Boolean) ? String] = js.undefined, listitem: UndefOr[String ? String] = js.undefined, paragraph: UndefOr[String ? String] = js.undefined, table: UndefOr[(String, String) ? String] = js.undefined, tablerow: UndefOr[String ? String] = js.undefined, tablecell: UndefOr[(String, js.Object) ? String] = js.undefined, strong: UndefOr[String ? String] = js.undefined, em: UndefOr[String ? String] = js.undefined, codespan: UndefOr[String ? String] = js.undefined, br: UndefOr[() ? String] = js.undefined, del: UndefOr[String ? String] = js.undefined, link: UndefOr[(String, String, String) ? String] = js.undefined, image: UndefOr[(String, String, String) ? String] = js.undefined): MarkedRenderer = {
val renderer = new MarkedRenderer().asInstanceOf[js.Dynamic]
code.foreach(renderer.code = _)
blockquote.foreach(renderer.blockquote = _)
html.foreach(renderer.html = _)
heading.foreach(renderer.heading = _)
hr.foreach(renderer.hr = _)
list.foreach(renderer.list = _)
listitem.foreach(renderer.listitem = _)
paragraph.foreach(renderer.paragraph = _)
table.foreach(renderer.table = _)
tablerow.foreach(renderer.tablerow = _)
tablecell.foreach(renderer.tablecell = _)
strong.foreach(renderer.strong = _)
em.foreach(renderer.em = _)
codespan.foreach(renderer.codespan = _)
br.foreach(renderer.br = _)
del.foreach(renderer.del = _)
link.foreach(renderer.link = _)
image.foreach(renderer.image = _)
renderer.asInstanceOf[MarkedRenderer]
}
}
示例5: AceEditor
//设置package包名称以及导入依赖的类
package spatutorial.client.components
import japgolly.scalajs.react.{React, ReactComponentU_, ReactNode}
import macros.JSMacro
import scala.scalajs.js
import scala.scalajs.js.annotation.JSName
import scala.scalajs.js.{UndefOr, _}
@js.native
@JSName("ReactAce")
object AceEditor extends js.Object
case class AceEditorGenerated(mode : UndefOr[String] = undefined,
theme : UndefOr[String] = undefined,
name : UndefOr[String] = undefined,
height : UndefOr[String] = undefined,
fontSize: UndefOr[Int] = undefined,
value: UndefOr[String] = undefined
) {
def toJS = {
val p = js.Dynamic.literal()
mode.foreach(v => p.updateDynamic("mode")(v))
theme.foreach(v => p.updateDynamic("theme")(v))
name.foreach(v => p.updateDynamic("name")(v))
height.foreach(v => p.updateDynamic("height")(v))
fontSize.foreach(v => p.updateDynamic("fontSize")(v))
value.foreach(v => p.updateDynamic("value")(v))
p
}
def apply(children: js.UndefOr[ReactNode] = js.undefined) = {
val props = JSMacro[AceEditorGenerated](this)
val f = React.asInstanceOf[js.Dynamic].createFactory(AceEditor)
f(props, children).asInstanceOf[ReactComponentU_]
}
}
示例6: LeftNav
//设置package包名称以及导入依赖的类
package client.components
import client.routes.Item
import japgolly.scalajs.react._
import japgolly.scalajs.react.extra.Reusability
import japgolly.scalajs.react.extra.router.RouterCtl
import japgolly.scalajs.react.vdom.prefix_<^._
import scala.scalajs.js.{Any, UndefOr}
import scalacss.Defaults._
import scalacss.ScalaCssReact._
object LeftNav {
object Style extends StyleSheet.Inline {
import dsl._
val container = style(display.flex,
flexDirection.column,
listStyle := "none",
padding.`0`)
val menuItem = styleF.bool(
selected =>
styleS(
lineHeight(48.px),
padding :=! "0 25px",
cursor.pointer,
textDecoration := "none",
mixinIfElse(selected)(color.red, fontWeight._500)(
color.black,
&.hover(color(c"#555555"), backgroundColor(c"#ecf0f1")))
))
}
case class Props(menus: Vector[Item],
selectedPage: Item,
ctrl: RouterCtl[Item])
implicit val currentPageReuse = Reusability.by_==[Item]
implicit val propsReuse = Reusability.by((_: Props).selectedPage)
val component = ReactComponentB[Props]("LeftNav")
.render_P { P =>
<.ul(Style.container)(
P.menus.map(
item =>
<.li(^.key := item.title,
Style.menuItem(item == P.selectedPage),
item.title,
P.ctrl setOnClick item))
)
}
.configure(Reusability.shouldComponentUpdate)
.build
def apply(props: Props, ref: UndefOr[String] = "", key: Any = {}) =
component.set(key, ref)(props)
}
示例7: ColumnReader
//设置package包名称以及导入依赖的类
package com.criteo.vizatra.vizsql.js.json
import com.criteo.vizatra.vizsql._
import com.criteo.vizatra.vizsql.hive.TypeParser
import scala.scalajs.js.{Dynamic, UndefOr}
object ColumnReader extends Reader[Column] {
lazy val hiveTypeParser = new TypeParser
override def apply(dyn: Dynamic): Column = {
val name = dyn.name.asInstanceOf[String]
val nullable = dyn.nullable.asInstanceOf[UndefOr[Boolean]].getOrElse(false)
val typ = parseType(dyn.`type`.asInstanceOf[String], nullable)
Column(name, typ)
}
def parseType(input: String, nullable: Boolean): Type = Type.from(nullable).applyOrElse(input, (rest: String) =>
hiveTypeParser.parseType(rest) match {
case Left(err) => throw new IllegalArgumentException(err)
case Right(t) => t
}
)
}
示例8: SchemaReader
//设置package包名称以及导入依赖的类
package com.criteo.vizatra.vizsql.js.json
import com.criteo.vizatra.vizsql.{Schema, Table}
import scalajs.js.Array
import scala.scalajs.js.UndefOr
import scala.scalajs.js.Dynamic
object SchemaReader extends Reader[Schema] {
override def apply(dyn: Dynamic): Schema = {
val name = dyn.name.asInstanceOf[String]
val tables: List[Table] = dyn.tables
.asInstanceOf[UndefOr[Array[Dynamic]]]
.getOrElse(Array())
.toList map TableReader.apply
Schema(name, tables)
}
}
示例9: TableReader
//设置package包名称以及导入依赖的类
package com.criteo.vizatra.vizsql.js.json
import com.criteo.vizatra.vizsql.{Column, Table}
import scala.scalajs.js.{Dynamic, UndefOr, Array}
object TableReader extends Reader[Table] {
override def apply(dyn: Dynamic): Table = {
val table = dyn.name.asInstanceOf[String]
val columns: List[Column] = dyn.columns
.asInstanceOf[UndefOr[Array[Dynamic]]]
.getOrElse(Array())
.toList map ColumnReader.apply
Table(table, columns)
}
}
示例10: ParseResult
//设置package包名称以及导入依赖的类
package com.criteo.vizatra.vizsql.js.common
import scala.scalajs.js
import scala.scalajs.js.UndefOr
import scala.scalajs.js.annotation.ScalaJSDefined
import scala.scalajs.js.JSConverters._
import com.criteo.vizatra.vizsql
@ScalaJSDefined
class ParseResult(val error: UndefOr[ParseError] = js.undefined, val select: UndefOr[Select] = js.undefined) extends js.Object
@ScalaJSDefined
class ParseError(val msg: String, val pos: Int) extends js.Object
@ScalaJSDefined
class Select(val columns: js.Array[Column], val tables: js.Array[Table]) extends js.Object
@ScalaJSDefined
class Column(val name: String, val `type`: String, val nullable: Boolean) extends js.Object
object Column {
def from(column: vizsql.Column): Column = new Column(column.name, column.typ.show, column.typ.nullable)
}
@ScalaJSDefined
class Table(val name: String, val columns: js.Array[Column], val schema: UndefOr[String] = js.undefined) extends js.Object
object Table {
def from(table: vizsql.Table, schema: Option[String] = None): Table = new Table(table.name, table.columns.map(Column.from).toJSArray, schema.orUndefined)
}
示例11: LeftNav
//设置package包名称以及导入依赖的类
package components
import japgolly.scalajs.react._
import japgolly.scalajs.react.extra.Reusability
import japgolly.scalajs.react.extra.router.RouterCtl
import japgolly.scalajs.react.vdom.prefix_<^._
import scala.scalajs.js.{Any, UndefOr}
import scalacss.Defaults._
import scalacss.ScalaCssReact._
import routes.Item
object LeftNav {
case class Props(menus: Vector[Item],
selectedPage: Item,
ctrl: RouterCtl[Item])
implicit val currentPageReuse = Reusability.by_==[Item]
implicit val propsReuse = Reusability.by((_: Props).selectedPage)
val component = ReactComponentB[Props]("LeftNav").render_P { P =>
<.ul(css.LeftNav.container)(
P.menus.map(
item =>
<.li(^.key := item.title,
css.LeftNav.menuItem(item == P.selectedPage),
item.title,
P.ctrl setOnClick item))
)
}.configure(Reusability.shouldComponentUpdate).build
def apply(props: Props, ref: UndefOr[String] = "", key: Any = {}) =
component.set(key, ref)(props)
}
示例12: MobileWindow
//设置package包名称以及导入依赖的类
package com.mogproject.mogami.playground.api
import org.scalajs.dom
import scala.scalajs.js
import scala.scalajs.js.UndefOr
import scala.scalajs.js.annotation.JSGlobal
@js.native
@JSGlobal("MobileWindow")
sealed class MobileWindow extends js.Object {
@js.native
def orientation: UndefOr[Int] = js.native
}
@js.native
@JSGlobal("MobileScreen")
sealed class MobileScreen extends js.Object {
@js.native
def orientation: UndefOr[Orientation] = js.native
}
@js.native
@JSGlobal("Orientation")
sealed class Orientation extends js.Object {
@js.native
def angle: UndefOr[Int] = js.native
}
object MobileScreen {
private[this] def getAngle1: UndefOr[Int] = dom.window.asInstanceOf[MobileWindow].orientation
private[this] def getAngle2: UndefOr[Int] = dom.window.screen.asInstanceOf[MobileScreen].orientation.flatMap(_.angle)
def isLandscape: Boolean = math.abs(getAngle1.getOrElse(getAngle2.getOrElse(0))) == 90
}
示例13: StatusFilter
//设置package包名称以及导入依赖的类
package todomvc.example
import scala.scalajs.js
import scala.scalajs.js.Any.jsArrayOps
import scala.scalajs.js.UndefOr
import scala.scalajs.js.UndefOr.{ any2undefOrA, undefOr2ops }
import com.greencatsoft.angularjs.Filter
import com.greencatsoft.angularjs.core.Location
import com.greencatsoft.angularjs.injectable
@injectable("statusFilter")
class StatusFilter(location: Location) extends Filter[js.Array[Task]] {
override def filter(tasks: js.Array[Task]): js.Array[Task] = {
val path: UndefOr[String] = location.path
path.toOption match {
case Some("/active") => tasks.filterNot(_.completed)
case Some("/completed") => tasks.filter(_.completed)
case _ => tasks
}
}
}
示例14: RxLocation
//设置package包名称以及导入依赖的类
package com.karasiq.nanoboard.frontend.utils
import org.scalajs.dom
import org.scalajs.dom.window
import org.scalajs.jquery.jQuery
import rx._
import scala.scalajs.js.UndefOr
final class RxLocation(implicit ctx: Ctx.Owner) {
private def readHash(hash: UndefOr[String]): Option[String] = {
hash
.filter(_.nonEmpty)
.map(_.tail)
.toOption
}
val hash: Var[Option[String]] = Var(readHash(window.location.hash))
hash.triggerLater {
window.location.hash = hash.now.fold("")("#" + _)
}
jQuery(dom.window).on("hashchange", () ? {
hash() = readHash(window.location.hash)
})
}
object RxLocation {
def apply()(implicit ctx: Ctx.Owner): RxLocation = {
new RxLocation()
}
}
示例15: customSheetName
//设置package包名称以及导入依赖的类
package com.karasiq.nanoboard.frontend.styles
import com.karasiq.bootstrap.BootstrapHtmlComponent
import com.karasiq.bootstrap.BootstrapImplicits._
import org.scalajs.dom
import org.scalajs.dom._
import rx._
import scala.scalajs.js.UndefOr
import scalatags.JsDom.all._
import scalatags.JsDom.tags2
import scalatags.stylesheet.{StyleSheet, _}
trait BoardStyle extends StyleSheet {
override final def customSheetName: Option[String] = Some("nanoboard")
def body: Cls
def post: Cls
def postInner: Cls
def postId: Cls
def postLink: Cls
def input: Cls
def submit: Cls
def spoiler: Cls
def greenText: Cls
}
object BoardStyle {
val Common = Sheet[CommonStyles]
val Makaba = Sheet[Makaba]
val Futaba = Sheet[Futaba]
val Burichan = Sheet[Burichan]
val Muon = Sheet[Muon]
val Neutron = Sheet[Neutron]
val Gurochan = Sheet[Gurochan]
def styles: Seq[BoardStyle] = Vector(Makaba, Futaba, Burichan, Muon, Neutron, Gurochan)
def fromString(style: String): BoardStyle = styles.find(_.toString == style).getOrElse(Makaba)
def selector(implicit ctx: Ctx.Owner): Selector = {
new Selector()
}
final class Selector(implicit ctx: Ctx.Owner) extends BootstrapHtmlComponent[dom.html.Style] {
val style: Var[BoardStyle] = Var {
val styleName: UndefOr[String] = window.localStorage.getItem("nanoboard-style")
styleName.map(fromString).getOrElse(Makaba)
}
style.foreach { style ?
window.localStorage.setItem("nanoboard-style", style.toString)
}
override def renderTag(md: Modifier*) = {
tags2.style(style.map(_.styleSheetText), Common.styleSheetText, md)
}
}
}