Skip to content

Instantly share code, notes, and snippets.

Valeriu Paloş vpalos

Block or report user

Report or block vpalos

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@vpalos
vpalos / options.js
Created May 20, 2011
JS: CLI argument parser.
View options.js
/** Command-line options parser (http://valeriu.palos.ro/1026/).
Copyright 2011 Valeriu Paloş (valeriu@palos.ro). All rights reserved.
Released as Public Domain.
Expects the "schema" array with options definitions and produces the
"options" object and the "arguments" array, which will contain all
non-option arguments encountered (including the script name and such).
Syntax:
[«short», «long», «attributes», «brief», «callback»]
@vpalos
vpalos / class.js
Last active Sep 26, 2015
JS: Simple Class implementation supporting deep inheritance and augmentation.
View class.js
/**
* Class.js: A class factory.
* (http://vpalos.com/1194/js-classes-for-the-masses/)
*/
function Class(members) {
// setup proxy
var Proxy = function() {};
Proxy.prototype = (members.base || Class).prototype;
@vpalos
vpalos / get-field.js
Last active Dec 16, 2015
Universal field getter for JavaScript objects.
View get-field.js
/**
* Universal field getter method for JavaScript objects.
* @param {Object} _path The field path inside `this`.
* @param {...} _default The default value to be returns if field is not found.
* @return {...} Returns the found field value else `_default` else `undefined`.
*/
Object.prototype._ = Object.prototype._ || function(_path, _default) {
var value = _path.split('.').reduce(
function(hash, field) {
return hash && hash[field]
View specl-schema.yaml
---
#
# Some pre-defined meta-values provided for this schema (required).
#
identity:
company: DevFactory
version: 2.0
#
# All fields named `comment` simply provide a short explanatory paragraph for
View specl-template.yaml
---
identity:
company: DevFactory
version: 2.0
#
# This document represents an L1 specification which describes in thorough
# technical detail a single Milestone; it can consist of a single file, or
# multiple files, imported via referencing.
#
View specl-specification.yaml
---
identity:
company: DevFactory
version: 2.0
#
# This document represents an L1 specification which describes in thorough
# technical detail a single Milestone; it can consist of a single file, or
# multiple files, imported via referencing.
#
@vpalos
vpalos / filter.js
Last active Mar 15, 2018
JS: A simple search function designed for filtering large lists of strings.
View filter.js
/**
* Demo: http://vpalos.com/sandbox/filter.js/
*
* A generic search algorithm designed for filtering (very) large lists of strings; when an input string
* contains all the parts (words or characters; whitespace is ignored) of the query, spread-out over the text
* then the string is considered to be a match. It works with the way internet browsers (e.g. Firefox, Google
* Chrome) filter address-bar suggestions on user input. It is also quite fast; on my i7 laptop, filtering
* 1) a list of ~23000 items takes around 50ms (yes, milliseconds!);
* 2) a list of ~1 million text items took under 1 second.
* It works both in NodeJS as well as in browser environments (so far I only tested FF and GC).
View Spec-Deriving Algorithm.js
function Main() {
Iterate {
IdentifyNextThread()
For each Thread {
PullThread()
}
}
}
@vpalos
vpalos / font-face-mixin.scss
Last active Aug 10, 2019
SCSS mixing for generating @font-face constructs.
View font-face-mixin.scss
@mixin font($family, $file, $weight, $style, $locals) {
$prefix: "http://localhost:3000/fonts";
$src: null;
@each $local in $locals {
$src: append($src, local($local), comma);
}
$src: append($src, url("#{$prefix}/#{$file}.eot?#iefix") format("embedded-opentype"), comma);
$src: append($src, url("#{$prefix}/#{$file}.woff2") format("woff2"), comma);
$src: append($src, url("#{$prefix}/#{$file}.woff") format("woff"), comma);
@vpalos
vpalos / lodash-replacements.js
Created Aug 10, 2019
Drop-in replacements for Lodash functions (to avoid having to include the lib in the browser).
View lodash-replacements.js
export function _get(object, path, fallback) {
const value = path.split(".").reduce((hash, field) => hash && hash[field], object);
return typeof value === "undefined" ? fallback : value;
}
You can’t perform that action at this time.