Those guides are applicable to every Nord 2 model:
- DN2101/IND
- DN2103/EEA
- DN2103/EEA PAC-MAN Edition
| package jp.rdlabo.capacitor.plugin.screenshotevent; | |
| import com.getcapacitor.JSObject; | |
| import com.getcapacitor.NativePlugin; | |
| import com.getcapacitor.Plugin; | |
| import com.getcapacitor.PluginCall; | |
| import com.getcapacitor.PluginMethod; | |
| import com.getcapacitor.util.HostMask; | |
| import android.os.FileObserver; |
| import scala.concurrent.{Await, ExecutionContext, Future, Promise} | |
| import cats.implicits._ | |
| import scala.concurrent.duration.Duration | |
| import scala.util.{Failure, Success} | |
| final case class FutureConcurrentEffect()(implicit ec: ExecutionContext) extends FutureEffect with ConcurrentEffect[Future] { | |
| def start[A](fa: Future[A]): Future[Fiber[Future, A]] = Future.successful { | |
| FutureFiber(fa) | |
| } |
There exist several DI frameworks / libraries in the Scala ecosystem. But the more functional code you write the more you'll realize there's no need to use any of them.
A few of the most claimed benefits are the following:
| class ParentType(val id: Long) | |
| class ChildType | |
| class ChildTypeBatchApi { | |
| fun load(keys: List<Long>): List<ChildType> = mutableListOf() | |
| } | |
| val childTypeBatchApi = ChildTypeBatchApi() | |
| // Example BatchLoader | |
| var batchLoader: BatchLoader<Long, ChildType> = BatchLoader { keys -> |
| // Build Scala source code | |
| val tree = q""" | |
| object Test { | |
| val a = 2 + 5 | |
| def f(b: String) = { b + a.toString } | |
| } | |
| """ | |
| val src = List(TreeNode(tree)) | |
| // Build Scala target code |
| #!/usr/bin/env ruby | |
| ################################################################################ | |
| # # | |
| # Starts a Scala REPL with the highest version of each jar in # | |
| # $HOME/.ivy2/cache on the classpath. # | |
| # # | |
| # See below for installation instructions # | |
| # # | |
| ################################################################################ |
| # Why? | |
| # To paste text into windows that normally don't allow it or have access to the clipboard. | |
| # Examples: Virtual machines that do not yet have tools installed, websites that hijack paste | |
| # | |
| # Extended vs Simple? | |
| # * Includes an initial delay to allow you to change active windows | |
| # * Adds small delay between keypresses for slower responding windows like SSH sessions | |
| # * Better handling of numbers | |
| # * VMWare bug fix | |
| # |