Skip to content

Instantly share code, notes, and snippets.

View joaoneto's full-sized avatar

João Neto joaoneto

View GitHub Profile
@joaoneto
joaoneto / login.test.js
Created March 13, 2013 13:49
Login session test with mocha
var request = require('supertest'),
should = require('should'),
app = require('../server');
var Cookies;
describe('Functional Test <Sessions>:', function () {
it('should create user session for valid user', function (done) {
request(app)
.post('/v1/sessions')
@joaoneto
joaoneto / formDataToObject.js
Last active January 10, 2021 23:01
Transform formData from a form element into Object literal.
/**
* `objFromFlatKeys` Convert the template string into a tree path and set the value into the referenced object path.
*
* @param {string} strPath - template string path to convert in nested object tree
* @param {Object} prevobj - reference for the nested object result
* @param {*} value - value to set at the end of the nested object tree
*
* @example
* // define the target object
* const obj = {};
@joaoneto
joaoneto / client_oauth.sh
Created April 11, 2013 02:51
Authorize and get token
#!/bin/bash
COOKIE_TMP_FILE=".tmp_cookie"
USER_EMAIL="foo@example.com"
USER_PASSWORD="123"
CLIENT_ID="XXXXXXXXXXXXXXXXXXXXXXXX"
CLIENT_SECRET="abc123"
REDIRECT_URI="http://localhost:3000"
@joaoneto
joaoneto / async-serial.js
Last active June 11, 2020 03:38
Javascript example of asynchronous and serial processing flow in async/await reduce function
const mockAsyncProcess = (objToProcess) => {
console.time(objToProcess.id)
console.log(`BEGIN: ${objToProcess.id}`)
return new Promise((resolve) => {
setTimeout(() => {
resolve(`RESULT -> ${objToProcess.id}`);
console.timeEnd(objToProcess.id)
console.log(`END: ${objToProcess.id}`)
}, Math.random() * 1000)
})
#!/usr/bin/env bash
mkdir -p ./app
echo '{
"name": "my-project",
"version": "0.0.0",
"scripts": {
"dev": "webpack-recipes devserver 9000",
"build": "webpack-recipes build --mode=production"
},
"devDependencies": {
(function() {
'use strict';
var dynamicStates = function ($stateProvider, $urlRouterProvider) {
var addRoute = function (name, definition) {
$stateProvider.state(name, definition);
};
$urlRouterProvider.deferIntercept();
{
"state-one": {
"controller": "stateOneController",
"template": "<h1>State One</h1>"
},
"state-two": {
"controller": "stateTwoController",
"template": "<h1>State Two</h1>"
}
}
@joaoneto
joaoneto / correios.js
Last active July 27, 2017 19:28
Track para os correios
var http = require('http');
var parseTrack = function (data) {
var trackLines = data.replace(/[\r\n]/g, '').replace(/<\/tr>/gi, '</tr>\n').match(/<tr.*?>(.*)<\/tr>/gi);
trackLines.shift();
var parsed = [], parts = [];
var length = trackLines.length;
var details, date, track;
while (length--) {
(function () {
var _eventsStack = {};
window.Events = {
emit: function (eventName, message) {
if (!_eventsStack.hasOwnProperty(eventName)) {
_eventsStack[eventName] = [];
}
_eventsStack[eventName].forEach(function (fn) {
fn(message != undefined ? message : {});
});
@joaoneto
joaoneto / crosswalk.js
Created November 1, 2014 18:45
Gulp tasks to download and update a existent cordova project with crosswallk
var gulp = require('gulp');
var gutil = require('gulp-util');
var shell = require('gulp-shell');
var download = require('gulp-download');
var unzip = require('gulp-unzip');
var clean = require('gulp-clean');
var runSequence = require('gulp-run-sequence');
var fs = require('fs');
var path = require('path');
var et = require('elementtree');