Skip to content

Instantly share code, notes, and snippets.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWSNp3JNA9nHOW9enF+sX1s8dKhHMBnrCPnGLdZbZrJAfkHWaYmgqtCq08X9gKdhXqq9tU1inpWX2fKofNQThAVgGADuNuZCjsMqH8yZd6sL/1REssLeBnrfDHRd8gZkqVgyu7gLY7STWIXJ5iMk+Lr0+DC1hRsW6vJELsDfnF7n1j/QljE64uEw3IOrCK/+NKmn2fRNe09DwMC0Oqk+6YsOZLUoXshd3UzdrPULV8ykPWDRkO9xvpp/Zr9kA70LkV0Ba7fvD+hcK7CeIMQXXjqb4116Bjwp0L07CkLm6/oQHCS4K+Jpmt0mGDsG2LaxnCkgHy/NBHZlfOiinGwznH skamenetskiy@Semens-MacBook-Pro.local

user-auth-api

Public facing user authentication http api.

Instances

Instances that can be returned from the server.

User

/**
* @name mapToObject
* @desc Converts Map to Object
* @param {Map} map
* @returns {Object}
*/
function mapToObject(map) {
return Object.assign(Object.create(null), ...[...map].map(v => ({ [v[0]]: v[1] })));
}
#!/usr/local/bin/node
/**
* Converts current array to flat array
* @returns {Array}
*/
Array.prototype.flatten = function () {
/**
* The result container
{"latitude": "52.986375", "user_id": 12, "name": "Christina McArdle", "longitude": "-6.043701"}
{"latitude": "51.92893", "user_id": 1, "name": "Alice Cahill", "longitude": "-10.27699"}
{"latitude": "51.8856167", "user_id": 2, "name": "Ian McArdle", "longitude": "-10.4240951"}
{"latitude": "52.3191841", "user_id": 3, "name": "Jack Enright", "longitude": "-8.5072391"}
{"latitude": "53.807778", "user_id": 28, "name": "Charlie Halligan", "longitude": "-7.714444"}
{"latitude": "53.4692815", "user_id": 7, "name": "Frank Kehoe", "longitude": "-9.436036"}
{"latitude": "54.0894797", "user_id": 8, "name": "Eoin Ahearn", "longitude": "-6.18671"}
{"latitude": "53.038056", "user_id": 26, "name": "Stephen McArdle", "longitude": "-7.653889"}
{"latitude": "54.1225", "user_id": 27, "name": "Enid Gallagher", "longitude": "-8.143333"}
{"latitude": "53.1229599", "user_id": 6, "name": "Theresa Enright", "longitude": "-6.2705202"}
/**
* @copyright Semen Kamenetskiy <skamenetskiy@live.com>
*/
(function (global, undefined) {
'use strict';
/**
* Foreach loop
@skamenetskiy
skamenetskiy / SearchObject.js
Last active August 29, 2015 14:17
A simple library for adding a searchObject parameter to global location object.
/**
* A simple library for adding a searchObject parameter to global location object.
* The script supports IE7+ and the normal browsers
* @copyright Semen Kamenetskiy <skamenetskiy@live.com>
* @link https://gist.github.com/skamenetskiy/398a7512960e827b4ab2
*/
(function (Window, History, Location, _objectName, _prefix, _states) {
'use strict';
(function (Window, Document, DateObject, ArrayObject, append, d28, d29, d30, d31, undefined) {
var _date = new DateObject(),
_daysInMonth = [d31, d28, d31, d30, d31, d30, d31, d31, d30, d31, d30, d31];
/**
* HTMLElement factory
* @param tag
* @param [attributes]
* @returns {HTMLElement}
@skamenetskiy
skamenetskiy / ie.js
Last active August 29, 2015 14:08
A good way to detect Internet Explorer and it's version with JavaScript #internetexplorer #javascript
/**
* Created by Semen Kamenetskiy <skamenetskiy@live.com>
*/
(function (win, doc, div, i, cc) {
'use strict';
cc = cc
.replace('%3E', '>')
@skamenetskiy
skamenetskiy / async.js
Last active August 29, 2015 14:08
Asynchronous Js/Css laoder
/**
* @preserve Copyright 2015 Semen Kamenetskiy <skamenetskiy@live.com>
*/
(function (win, doc, TYPE_SCRIPT, TYPE_CSS, TYPE_HEAD, TYPE_OBJECT, TYPE_STRING, TYPE_TEXT_JS, TYPE_TEXT_CSS, REL, MEDIA, ALL) {
var _elementParams = {};
_elementParams[TYPE_SCRIPT] = {
async: true,
type: TYPE_TEXT_JS