Skip to content

Instantly share code, notes, and snippets.

Valeriu Paloş vpalos

View GitHub Profile
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.
#
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-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
@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]
@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).
@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 / 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»]
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.