Skip to content

Instantly share code, notes, and snippets.

nosix

View GitHub Profile
@nosix
nosix / ExampleTest.kt
Created Jul 12, 2018
pass JSONCompareMode to JSONAssert when testing with WebTestClient
View ExampleTest.kt
@RunWith(SpringRunner::class)
@SpringBootTest
@AutoConfigureWebTestClient
class ExampleTests {
@Autowired
private lateinit var client: WebTestClient
@Test
fun test_of_get() {
client.get().uri("/api/todo")
@nosix
nosix / coroutineSample.kt
Last active Jan 29, 2019
Promise and async/await sample in Kotlin/JS
View coroutineSample.kt
fun main(args: Array<String>) {
launch {
loadAllFiles()
}
}
fun launch(block: suspend () -> Unit) {
block.startCoroutine(object : Continuation<Unit> {
override val context: CoroutineContext get() = EmptyCoroutineContext
override fun resume(value: Unit) {}
@nosix
nosix / limitedExtensions.kt
Created Sep 7, 2017
How to limit the scope of extension functions in Kotlin.
View limitedExtensions.kt
interface Extension
// Why is keyword `class` instead of `object`?
// Because we can use the `foo` function after importing `FooExtension.foo`.
class FooExtension : Extension {
fun String.foo(): String = "Foo${this}"
}
class BarExtension : Extension {
fun String.bar(): String = "Bar${this}"
@nosix
nosix / after.kt
Created Sep 4, 2017
convert deprecated @nativeGetter/@nativeSetter to inline extension function
View after.kt
external interface MethodMap
inline operator fun MethodMap.get(propertyName: String): Function<Any>? = this.asDynamic()[propertyName]
inline operator fun MethodMap.set(propertyName: String, value: Function<Any>?) {
this.asDynamic()[propertyName] = value
}
@nosix
nosix / generated_sample.js
Last active Sep 5, 2017
union type in Kotlin/JS
View generated_sample.js
function sample$lambda() {
return 'Bar';
}
function sample() {
var v1 = 'Foo';
var v2 = sample$lambda;
}
@nosix
nosix / Application.kt
Last active Apr 30, 2018
Google App Engine Standard Environment in Java8 with Kotlin and SpringBoot
View Application.kt
package com.example
import com.example.mapper.json.JsonObjectMapper
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.web.support.SpringBootServletInitializer
import org.springframework.context.annotation.Bean
import org.thymeleaf.spring4.SpringTemplateEngine
import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver
import org.thymeleaf.spring4.view.ThymeleafViewResolver
@nosix
nosix / pidep
Last active Dec 16, 2016
bash command to deploy and run python on remote Raspberry Pi.
View pidep
#!/bin/bash
CMD=`basename $0`
usage() {
echo "Usage: $CMD [-r script] [-d dst] [-s src]" 1>&2
}
COMMAND=
DST=
@nosix
nosix / AngularJSDialect.kt
Last active Nov 22, 2016
Spring Boot (1.4.2.RELEASE) + Thymeleaf (2.1.5) configuration sample (no escape single quote)
View AngularJSDialect.kt
package xxx.thymeleaf
import org.thymeleaf.processor.IProcessor
import org.thymeleaf.spring4.dialect.SpringStandardDialect
class AngularJSDialect : SpringStandardDialect() {
companion object {
private val attributes = arrayOf(
"ng-class", "ng-model", "ng-show",
@nosix
nosix / Client.kt
Last active Aug 25, 2017
Usage of SQLite for Android (API Level 21) in Kotlin 1.0.4
View Client.kt
package xxx
import android.content.Context
import xxx.Database
import xxx.SampleDB
class Client(context: Context) {
private val db = Database(context, SampleDB())
@nosix
nosix / Capture.kt
Created Sep 18, 2016
Taking a snapshot of the screen for Android (SDK 21) in Kotlin 1.0.3
View Capture.kt
package xxx
import android.content.Context
import android.graphics.Bitmap
import android.graphics.PixelFormat
import android.hardware.display.DisplayManager
import android.hardware.display.VirtualDisplay
import android.media.ImageReader
import android.media.projection.MediaProjection
import android.util.Log
You can’t perform that action at this time.