Skip to content

Instantly share code, notes, and snippets.

View medikoo's full-sized avatar

Mariusz Nowak medikoo

View GitHub Profile
'use strict';
var Database, defineUser, migrateObject, migrateProperty, migrateType, memoize, getPrototypeOf
, DbjsEvent, isGetter;
migrateType = function (type, targetDatabase) {
var prototype, sourceEvent, targetEvent;
if (targetDatabase.objects.getById(type.__id__)) return;
prototype = getPrototypeOf(type);
migrateType(prototype, targetDatabase);
'use strict';
var esniff = require('./')
, name = 'i18n.bind'
, hasOwnProperty = Object.prototype.hasOwnProperty
, $common = esniff.$common
, wsSet = esniff.wsSet
, move = esniff.move
@medikoo
medikoo / dbjs-persistent-layer-handler.js
Last active August 29, 2015 14:02
dbjs persistent layer handler
'use strict';
var Database = require('dbjs')
, serialize = require('dbjs/_setup/serialize/value')
, unserialize = require('dbjs/_setup/unserialize/value')
, DbjsEvent = require('dbjs/_setup/event')
, db = new Database();
// 1. Save

TIW <-> MaxCom data exchange API

Shared Secret string used to validate requests, is hardcoded within codebase, and not exposed in this document on purpose.

API of MaxCom service

Initialization of payment transaction

@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

'use strict';
// Define reusable utils, outside of exported function body
var someUtilA = function () {
/* ... */
};
var someUtilB = function () {
/* ... */
};
@medikoo
medikoo / safari-issue.js
Last active August 29, 2015 13:56
Terrible getter/value resolution bug that happens in Safari
// This simplified test case unfortunately doesn't reproduce the issue
// nevertheless such error occurs in complex app I'm working with
'use strict';
var Foo = function () {}
, resolve = function () { return {}; };
Object.defineProperty(Foo.prototype, 'bar', {
configurable: true,
// 1. Deferred
var asyncFn1 = function () {
var deferred = new Deferred();
// Initialize async operation and resolve it with either:
// deferred.resolve or deferred.reject
return deferred.promise;
};
@medikoo
medikoo / strongloop-find-largest-file.js
Created February 5, 2014 10:28
Example from StrongLoop article -> http://strongloop.com/strongblog/node-js-callback-hell-promises-generators/ implemented with deferred promise library
var fs = require('fs')
, join = require('path').join
, promisify = require('deferred').promisify
, readdir = promisify(fs.readdir), lstat = promisify(fs.lstat);
module.exports = function (dir) {
var largest = null, largestSize = -1;
return readdir(dir).map(function (file) {
return lstat(join(dir, file))(function (stats) {
lstat = function (path, cb) {
var count = 11;
setImmediate(function self() {
if (--count) setImmediate(self);
else cb(null, {});
});
};