Skip to content

Instantly share code, notes, and snippets.

View erkobridee's full-sized avatar

Erko Bridee erkobridee

View GitHub Profile
import * as React from 'react';
export interface IClickOutsideProps {
onClick: () => void;
/** element to add the click event listener, default selector is body */
parentTargetQuerySelector?: string;
}
/**
* Function Component to re-use the behavior of click outside
import * as React from 'react';
/**
* extend the React.useState to have the state referente, so it will be possible to use its value
* inside of other callbacks
*
* @param {T} initialValue
*
* @return {[T, React.MutableRefObject<T>, React.Dispatch<React.SetStateAction<T>>]} array
*/
type TJSObject = { [key: string]: any };
type TJSValue = TJSObject | any;
type TArrayFilter<T> = (x: T) => boolean;
const TO_STRING = {}.toString;
const isObjectBasicCheck = <T extends object>(value: any): value is T => value !== null && typeof value === 'object';
@erkobridee
erkobridee / utils_values.js
Created January 25, 2019 21:06
nodejs script to manipulate and generate random data (uses the lodash and the moment libs)
'use strict';
var _ = require('lodash'),
hash = require('./utils_hash')
;
//----------------------------------------------------------------------------//
var SERVER_DATE_FORMAT = 'YYYY-MM-DD';
module.exports.SERVER_DATE_FORMAT = SERVER_DATE_FORMAT;
@erkobridee
erkobridee / utils_hash.js
Last active January 25, 2019 21:03
node.js script to generate a hash value using the hash.js and the lodash
'use strict';
var _ = require('lodash'),
toHash = {}
;
//============================================================================//
// hash ids with mininum length = 8
var hashids = (function(){
@erkobridee
erkobridee / requestImageAsString.ts
Created January 23, 2019 13:59
example of how read an image from the server as a binary one and parse it to its base64 string
const readImageAsDataURL = async (imageBlob: Blob): Promise<string> => {
// https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
const imageReader = new FileReader();
return new Promise<string>(resolve => {
const load = () => {
imageReader.removeEventListener('load', load);
resolve(imageReader.result as string);
};
imageReader.addEventListener('load', load, false);
imageReader.readAsDataURL(imageBlob);
// https://github.com/rexxars/react-markdown
// https://github.com/GregRos/typed-react-markdown
import * as ReactMarkdown from 'react-markdown';
<ReactMarkdown linkTarget="_blank">
  {intl.formatMessage(translations.message_with_links)}
/*
useful references:
String.prototype.replace()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
https://alligator.io/js/string-replace/
Encode and Decode HTML entities using pure Javascript
https://ourcodeworld.com/articles/read/188/encode-and-decode-html-entities-using-pure-javascript

Keybase proof

I hereby claim:

  • I am erkobridee on github.
  • I am erkobridee (https://keybase.io/erkobridee) on keybase.
  • I have a public key whose fingerprint is 8663 C7F5 106D 5DA5 15C2 5150 D108 59CA 450F 69E1

To claim this, I am signing this object:

@erkobridee
erkobridee / learn_angularjs.md
Last active September 14, 2017 15:14
learn angular.js (1.x)