Skip to content

Instantly share code, notes, and snippets.

@aegyed91
aegyed91 / pornhub.adapter.js
Created October 19, 2017 17:09
pornhub nodejs adapter
var { URL, URLSearchParams } = require('url');
var request = require('request-promise-native');
var _ = require('lodash');
/**
* PornHUB adapter
*
* @url https://www.hubtraffic.com/resources/api?site_id=3
*
* - searchVideos https://www.hubtraffic.com/resources/api?site_id=3#searchVideos
const Joi = require('joi');
module.exports = Joi.extend([
{
base: Joi.string(),
name: 'string',
language: {
objectid: 'needs to be a valid object id',
sha: 'needs to be a valid sha string'
},
@aegyed91
aegyed91 / nginx.conf
Created January 23, 2017 19:25
webpack.. the other way around
upstream webpack_dev_server {
server 127.0.0.1:4200;
}
server {
listen 443 ssl default_server http2;
ssl_certificate ...;
ssl_certificate_key ...;
@aegyed91
aegyed91 / QueryEncoder.ts
Created January 16, 2017 22:51
QueryEncoder no php flag
import { QueryEncoder, URLSearchParams } from '@angular/http';
import { AppConfig } from '../../app/app.config';
/**
* PHP's urlencode replaces `+` with ` ` while encodeURI in js does not touch `+`.
*
* @link http://php.net/manual/en/function.urlencode.php
* @link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI
* @link https://angular.io/docs/ts/latest/api/http/index/URLSearchParams-class.html
*/
@aegyed91
aegyed91 / PartnerListComponent.component.ts
Created January 15, 2017 13:15
ng2 component inheritance
import { Component, OnInit, ViewEncapsulation, Renderer } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { PartnerModel } from '../../../shared/models/partner.model';
import { ViewModel } from '../../../shared/models/view.model';
import { IDatatableCol, IDatatableConf } from '../../../shared/interfaces/shared.interface';
import { DatatableComponent } from '../../../shared/components/datatable/datatable.component';
@Component({
selector: 'app-partner-list',
encapsulation: ViewEncapsulation.None,
@aegyed91
aegyed91 / form-group.c.html
Created December 28, 2016 22:47
form validation messages ala nab
<div class="form-group" [ngClass]="{'has-danger': feedback && !state.valid && !state.control.pristine }">
<label *ngIf="label" class="form-control-label">{{label}}</label>
<ng-content></ng-content>
<div *ngIf="feedback && !state.valid && !state.pristine">
<div *ngIf="state.hasError('required')" class="form-control-feedback" [innerHTML]="'FORM.ERR_REQUIRED' | translate"></div>
<div *ngIf="state.hasError('minlength')" class="form-control-feedback" [innerHTML]="'FORM.ERR_MINLENGTH' | translate:({v: state.getError('minlength').requiredLength})"></div>
<div *ngIf="state.hasError('maxlength')" class="form-control-feedback" [innerHTML]="'FORM.ERR_MAXLENGTH' | translate:({v: state.getError('maxlength').requiredLength})"></div>
<div *ngIf="state.hasError('incorrectFileExtension')" class="form-control-feedback" [innerHTML]="'FORM.ERR_FILEEXTENSION' | translate:({v: state.getError('incorrectFileExtension').requiredFileExtension})"></div>
@aegyed91
aegyed91 / state.ts
Last active December 23, 2016 13:03
ng2 alternate state management -to keep ur sanity :D-
import { Injectable } from '@angular/core';
import { BehaviorSubject, Subscription } from 'rxjs';
import { get, set, assign, merge, isEmpty } from 'lodash';
export interface IStateOpts {
initState?: Object;
}
@Injectable()
export class StateS {
@aegyed91
aegyed91 / script-loader.s.ts
Created December 22, 2016 08:47
script-loader
// credits: https://github.com/SebastianM/angular2-google-maps/blob/master/src/core/services/maps-api-loader/lazy-maps-api-loader.ts
import { Injectable } from '@angular/core';
import { isEmpty } from 'lodash';
let _callbacks = 0;
/**
* Configuration for the {@link ScriptLoader}.
*/
@aegyed91
aegyed91 / email
Created December 19, 2016 13:20
validators
import { ValidatorFn, AbstractControl } from '@angular/forms';
/**
* All file sizes specified in bytes.
*/
export function emailValidator(): ValidatorFn {
return (control: AbstractControl): {[key: string]: any} => {
const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
const passed = re.test(control.value);
@aegyed91
aegyed91 / state.s.ts
Created December 15, 2016 16:11
state
import { Injectable } from '@angular/core';
import { BehaviorSubject, Subscription } from 'rxjs';
import { get, set, assign, merge, isEmpty } from 'lodash';
import { IS_DEV } from '../constants';
import { ResMsgHandlerS } from './res-msg-handler.s';
export interface IStateOpts {
initState?: Object;
}