Projects that entertain me in my spare time.
- i18n-editor
- superconvert
- Page: Decode base64.
- Page: Encode base64.
- Page: Generate random number (allow max/min values).
- Page: Generate random UUID.
// Taken from Apple's App Dev Training: https://developer.apple.com/tutorials/app-dev-training/ | |
/// This color is either black or white, whichever is more accessible when viewed against the scrum color. | |
var accessibleFontColor: Color { | |
var red: CGFloat = 0 | |
var green: CGFloat = 0 | |
var blue: CGFloat = 0 | |
UIColor(self).getRed(&red, green: &green, blue: &blue, alpha: nil) | |
return isLightColor(red: red, green: green, blue: blue) ? .black : .white | |
} |
Projects that entertain me in my spare time.
import { Observable, timer } from "rxjs"; | |
import { map, takeWhile, take } from "rxjs/operators"; | |
export function countdown(minutes: number, delay: number = 0) { | |
return new Observable<{ display: string; minutes: number; seconds: number, finished: boolean }>( | |
subscriber => { | |
timer(delay, 1000) | |
.pipe(take(minutes * 60)) | |
.pipe(map(v => minutes * 60 - 1 - v)) | |
.pipe(takeWhile(x => x >= 0 && !subscriber.closed)) |
import { Knex } from 'knex' | |
export async function up(knex: Knex): Promise<any> { | |
await knex.schema.createTable('test_setup', (table: Knex.TableBuilder) => { | |
table.integer('foobar'); | |
}); | |
} | |
export async function down(knex: Knex): Promise<any> { | |
await knex.schema.dropTable('test_setup'); |
main
).package.json > dependencies
) y observar su comportamiento/funcionamiento (puede observarse rapidamente en la documentación oficial de cada librería desde npm o git(hub|lab)).boostrap
, main
, lib
. En ES6, ES7 o Typescript se puede encontrar con la exportacion de una funcion anonima o una clase: export default function ...
class
) puedeimport {Component, ElementRef, OnInit, Renderer2, ViewChild} from '@angular/core'; | |
@Component({ | |
selector: 'app-transaction-condition', | |
styleUrls: ['./transaction-condition.component.css'] | |
template: ` | |
<div class="list" id="list" #list> | |
<div id="0" | |
class="item drop-zone" | |
draggable="true" |
#!/usr/bin/env node | |
'use strict'; | |
var fs = require('fs'); | |
var path = require('path'); | |
fs.ensureDirSync = function (dir) { | |
if (!fs.existsSync(dir)) { | |
dir.split(path.sep).reduce(function (currentPath, folder) { | |
currentPath += folder + path.sep; |
set shell=/bin/sh | |
set termguicolors | |
set number | |
set ruler | |
set relativenumber | |
set cursorline | |
"set synmaxcol=1000 | |
set clipboard=unnamed | |
"set list listchars=tab:\ ,eol:¬,trail: |
/* description: Parses end executes mathematical expressions. */ | |
/* lexical grammar */ | |
%lex | |
%% | |
\s+ /* skip whitespace */ | |
[0-9]+("."[0-9]+)?\b return 'NUMBER' | |
"true" return 'TRUE' | |
"false" return 'FALSE' |