Skip to content

Instantly share code, notes, and snippets.

View chickenfoot88's full-sized avatar
🎓
Improving skills

Adel Ismagilov chickenfoot88

🎓
Improving skills
View GitHub Profile
@chickenfoot88
chickenfoot88 / convert element types
Created July 1, 2019 10:12
converts element types
let numberArray = [1, 2, 3, 4, 5]
let stringArray = ['1', '2', '3', '4', '5']
stringArray = numberArray.map(String);
numberArray = stringArray.map(Number);
console.log('numberArray', numberArray)
console.log('stringArray', stringArray)
@chickenfoot88
chickenfoot88 / remove falsy values
Created July 1, 2019 10:09
removes false, null, undefined, 0, empty string
let dirty = [ 1, null, false, 2, 3, null, 5, 0, 10, '']
const clean = dirty.filter(Boolean);
console.log(clean)
@chickenfoot88
chickenfoot88 / swapping variables
Created July 1, 2019 10:07
swaps values of two variables
let varA = 'A'
let varB = 'B'
function change() { [varA, varB] = [varB, varA] }
change()
console.log('varA', varA)
console.log('varB', varB)
let objectOne = {
id: 1,
name: 'one'
}
let objectTwo = {
descr: 'object number two'
}
const mergedObject = { ...objectOne, ...objectTwo };
@chickenfoot88
chickenfoot88 / conditional property
Created July 1, 2019 09:57
sets a property on an object
let myProperty = {
id: 1,
name: 'one'
}
const myObject = { ...myProperty && { propName: myProperty } };
console.log('myObject', myObject)
@chickenfoot88
chickenfoot88 / de-dupe
Last active July 1, 2019 09:47
removes array from duplicates
let myArray = [1, 1, 1, 2, 3, 2, 4, 5, 4]
const deDupe = [...new Set(myArray)];
console.log('original', myArray)
console.log('de-dupped', deDupe)

Folder Structure

Motivations

  • Clear feature ownership
  • Module usage predictibility (refactoring, maintainence, you know what's shared, what's not, prevents accidental regressions, avoids huge directories of not-actually-reusable modules, etc)
<template>
<div id="app">
<p>
Pending: {{ $store.state.getInfoPending }}
</p>
<p>
{{ $store.state.getInfoData }}
</p>
</div>
</template>
var roleBuilder = {
/** @param {Creep} creep **/
run: function(creep) {
if(creep.memory.building && creep.carry.energy == 0) {
creep.memory.building = false;
creep.say('🔄 harvest');
}
if(!creep.memory.building && creep.carry.energy == creep.carryCapacity) {
var roleUpgrader = {
/** @param {Creep} creep **/
run: function(creep) {
if(creep.carry.energy == 0) {
var sources = creep.room.find(FIND_SOURCES);
if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) {
creep.moveTo(sources[0]);
}
}