Skip to content

Instantly share code, notes, and snippets.

View nesk's full-sized avatar

Johann Pardanaud nesk

View GitHub Profile
@nesk
nesk / mapping.js
Created March 16, 2018 14:40
Mapping objects in JavaScript (ES2017+)
const data = {
a: 1,
b: 2,
};
const newData = Object.entries(data)
.map(([key, value]) => ({ [`_${key}`]: value + 1 }))
.reduce((obj, item) => Object.assign(obj, item), {});
@nesk
nesk / mapping.js
Created March 16, 2018 14:47
Mapping objects in JavaScript (Object.fromEntries)
const data = {
a: 1,
b: 2,
};
const newData = Object.fromEntries(
Object.entries(data)
.map(([key, value]) => ({ [`_${key}`]: value + 1 }))
);
@nesk
nesk / mapping.js
Created March 16, 2018 14:49
Mapping objects in JavaScript (Object.fromEntries + pipeline operator)
const data = {
a: 1,
b: 2,
};
const newData = Object.entries(data)
.map(([key, value]) => ({ [`_${key}`]: value + 1 }))
|> Object.fromEntries;
@nesk
nesk / metadata.sql
Created June 25, 2018 16:13
Android pre-populated database (android_metadata table)
CREATE TABLE android_metadata (locale TEXT);
INSERT INTO android_metadata VALUES ("en_US");
@nesk
nesk / MyDatabaseHelper.kt
Created June 25, 2018 17:03
Android pre-populated database (basic database helper)
package com.example.example
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
class ActsDbHelper(val context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
override fun onCreate(db: SQLiteDatabase?) {
// Nothing to do
@nesk
nesk / MyDatabaseHelper.kt
Last active June 26, 2018 14:18
Android pre-populated database (installation method)
package com.example.example
// ...
import java.io.File
import java.io.FileOutputStream
class ActsDbHelper(val context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
private fun installDatabaseFromAssets() {
val inputStream = context.assets.open("$ASSETS_PATH/$DATABASE_NAME.sqlite3")
@nesk
nesk / MyDatabaseHelper.kt
Created June 26, 2018 10:28
Android pre-populated database (update methods)
package com.example.example
// ...
import android.content.SharedPreferences
class ActsDbHelper(val context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
private val preferences: SharedPreferences = context.getSharedPreferences(
"${context.packageName}.database_versions",
Context.MODE_PRIVATE
@nesk
nesk / MyDatabaseHelper.kt
Last active June 26, 2018 14:34
Android pre-populated database (installing on read)
package com.example.example
// ...
class ActsDbHelper(val context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
// private val preferences: SharedPreferences = ...
private fun installedDatabaseIsOutdated(): Boolean {
// ...
@nesk
nesk / MainActivity.kt
Last active June 26, 2018 14:35
Android pre-populated database (full)
package com.example.example
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@nesk
nesk / DefaultController.php
Created November 29, 2018 15:15
Report an exception with Symfony without throwing
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\HttpKernel\KernelEvents;