Skip to content

Instantly share code, notes, and snippets.

View nairihar's full-sized avatar
😎
Always busy

Nairi Harutyunyan nairihar

😎
Always busy
View GitHub Profile
@nairihar
nairihar / private-using-closure-es5.js
Last active April 29, 2018 06:34
Privates in JavaScript Classes, medium, using closures, es5
function Bank() {
// public variables
this.name = 'B7'
// public methods
this.getBalance = function() {
return _balance
}
this.addToBalance = function(count) {
_addBalance(count)
@nairihar
nairihar / private-using-closure-es6.js
Created April 28, 2018 11:42
Privates in JavaScript Classes, medium, using closures, es6
// private variables
let _balance = 0
let _logs = []
export default class Bank {
constructor() {
// public variables
this.name = 'B7'
}
@nairihar
nairihar / private-using-weakmap-es6.js
Created April 28, 2018 12:26
Privates in JavaScript WeakMap, medium, using WeakMap, es6
const _state = new WeakMap()
const _addBalance = new WeakMap()
const _logBankChange = new WeakMap()
export default class Bank {
constructor() {
// public variables
this.name = 'B7'
@nairihar
nairihar / private-using-symbol-es6.js
Created April 28, 2018 17:07
Privates in JavaScript Symbol, medium, using Symbol, es6
const _addBalance = Symbol('addBalance')
const _logBankChange = Symbol('logBankChange')
const _privateData = Symbol('privateData')
export default class Bank {
constructor() {
// public variables
this.name = 'B7'
// private variables
@nairihar
nairihar / private-using-symbol-es6-hack.js
Created April 28, 2018 17:14
Privates in JavaScript Symbol, medium, using Symbol, es6, hack
const b = new Bank()
Object.getOwnPropertySymbols(b)
Object.getOwnPropertySymbols(b.__proto__)
@nairihar
nairihar / proposal-private-methods.js
Created April 28, 2018 17:31
Privates in JavaScript proposal-private-methods, medium, using proposal-private-methods, ECMAScript
class C {
// private method
#foo() { console.log('hi'); }
bar() {
#foo();
}
}
@nairihar
nairihar / game-sdk-example.js
Created May 6, 2018 11:49
Online game SDK exmaple, medium
// 1
const player = new GameSDK.Player(options);
// 2
const roomId = await player.createRoom(options);
// 3
player.joinRoom(roomId);
@nairihar
nairihar / style.css
Created May 6, 2018 12:22
CSS redBox example, medium
#redBox {
width: 25px;
height: 25px;
background-color: red;
}
@nairihar
nairihar / style.js
Created May 6, 2018 12:23
RN Style redBox example, medium
import { StyleSheet } from 'react-native';
StyleSheet.create({
redBox: {
width: 25,
height: 25,
backgroundColor: 'red',
}
});
@nairihar
nairihar / example.js
Created May 6, 2018 13:51
Http call using SDK, medium
try {
const news = await getAllNews(input);
} catch (err) {
console.log(err.message); // automatic generated message for getAllNews function
}