Skip to content

Instantly share code, notes, and snippets.

View medikoo's full-sized avatar

Mariusz Nowak medikoo

View GitHub Profile
@medikoo
medikoo / es6-shims.md
Last active March 24, 2021 22:29
List of ECMAScript 6 shims

List of ECMAScript 6 shims

Implemented on top of ECMAScript 5

Provided as distinct CJS modules, installable via npm


ECMAScript 5 Built-in Objects extensions

Individual modules of es5-ext package. See ES6 features for usage information.

Array

@medikoo
medikoo / stacks-map.js
Last active October 30, 2017 13:31
Serverless: Nested stacks per function
'use strict';
const memoize = require('memoizee');
const namingUtils = require('serverless/lib/plugins/aws/lib/naming');
const getApiGatewayResourceMap = memoize(serverless => {
// AwsCompileApigEvents plugin provides access to data maps and methods
// that allow to easily map generated resources to lambdas
const apiGatewayPlugin = serverless.pluginManager.plugins.find(
plugin => plugin.constructor.name === 'AwsCompileApigEvents'
@medikoo
medikoo / rimraf.js
Created August 9, 2011 12:01 — forked from bjouhier/rimraf.js
rimraf with deferred/promise
var path = require('path')
, fs = require('fs')
, deferred = require('deferred'), delay = deferred.delay
, promisify = deferred.promisify
, lstat = promisify(fs.lstat), unlink = promisify(fs.unlink), readdir = promisify(fs.readdir)
, rmdir = promisify(fs.rmdir)
var timeout = 0;
var rimraf = module.exports = function (p, opts) {
opts = opts || {};
// Lazy (=on-demand) zip()
for (const [i, x] of zip(naturalNumbers(), naturalNumbers())) {
console.log(i, x);
if (i >= 2) break;
}
// Output:
// 0 0
// 1 1
// 2 2
console.log("1. zip");
for (const [i, x] of zip(naturalNumbers(), naturalNumbers())) {
console.log(i, x);
}
console.log("2. Array.from");
Array.from(naturalNumbers(), function (x, i) {
console.log(i, x);
});
@medikoo
medikoo / cjs-module.js
Last active February 17, 2017 09:17
ES modules in Node.js (basic idea)
// Import CJS module
const otherCJSModule = require('./other-cjs-module');
// Import ES module, relying on upcoming standard
import('./es-module').then(function (esModule) {
...
});
// Import core module
const fs = require('fs');

Programista/Programistka JavaScript

Do zespołu konsultantów pracujących bezpośrednio dla UNCTAD (organ ONZ) poszukujemy programisty/programistki JavaScript (HTML5 + Node.js)

Zajmujemy się tworzeniem aplikacji, których długofalowym celem jest zmniejszenie szarej strefy w krajach rozwijających się, a konkretniej umożliwienie obywatelom rejestracji różnego rodzaju działalności przez internet.

Realizujemy projekty z wykorzystaniem najnowszych otwartych technologii (full-stack JavaScript, bazowany na ECMAScript 5 oraz implementowalnych w ES5 funkcjonalnościach z najnowszego standardu ES). Pracujemy na in house'owym, modularnym stack’u, bazującym na dziesiątkach niezależnych, stale rozwijanych modułach, w większości opublikowanych na npm’ie. Dajemy możliwość upubliczniania generycznej części pracy na Github'ie lub podobnych serwisach.

Jeżeli lubisz JavaScript, lubisz dyskutować o rozwoju języka, omawiać ciekawe algorytmiczne problemy, i przede wszystkim chcesz się rozwijać jako programista JavaScript, to

lstat = function (path, cb) {
var count = 11;
setImmediate(function self() {
if (--count) setImmediate(self);
else cb(null, {});
});
};
var d = require('es5-ext/object/descriptor'); // soon just require('d');
var Foo = function () {};
Object.defineProperties(Foo.prototype, d.binder({
someFn: d(function () {
return this.whatever();
})
}));
@medikoo
medikoo / descriptor.js
Created May 18, 2013 11:11
Descriptors helper
var d = require('es5-ext/lib/Object/descriptor');
// with helper
Object.defineProperties(obj, {
simple: d(value),
getter: d.gs(function () { return this.a + this.b; }),
});
// without helper
Object.defineProperties(obj, {