- Author: Donny Kurnia
- Release Date: Jun 5, 2018
- Original Post
Take note this is my personal edited version and the command related to Arch has been changed to work on my Arch system.
Take note this is my personal edited version and the command related to Arch has been changed to work on my Arch system.
'use strict' | |
export function deepEqual (object1, object2) { | |
// check for falsy values | |
if (!object1 && !object2) return true | |
if (!object1 && object2) return false | |
if (object1 && !object2) return false | |
const keys1 = Object.keys(object1) | |
const keys2 = Object.keys(object2) |
'use strict' | |
function deepClone (data, hash = new WeakMap()) { | |
if (Object(data) !== data) return data | |
if (hash.has(data)) return hash.get(data) | |
const result = data instanceof Date | |
? new Date(data) | |
: (data instanceof RegExp | |
? new RegExp(data.source, data.flags) |
'use strict' | |
// converts camelCase to snake_case | |
// used to convert to database | |
// myVar => my_var | |
function toSnakeCase (objectArrayOrString) { | |
return keysToSnake(objectArrayOrString) | |
} | |
const toSnake = (s) => { |
'use strict' | |
// converts snake_case to camelCase | |
// used to convert from database | |
// my_var => myVar | |
function toCamelCase (objectArrayOrString) { | |
return keysToCamel(objectArrayOrString) | |
} | |
const toCamel = (s) => { |
SlideTransition.vue | |
```js | |
<template> | |
<div ref="container" style="transition: height 0.4s; overflow: hidden;"> | |
<div ref="content"> | |
<slot></slot> | |
</div> | |
</div> | |
</template> |
function buildFormData (formData, data, parentKey) { | |
if (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File)) { | |
Object.keys(data).forEach(key => { | |
buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key) | |
}) | |
} | |
else { | |
const value = data == null ? '' : data | |
formData.append(parentKey, value) |
// ----------------------------------------------- | |
// eslint-plugin.js - put into plugins folder | |
// see below for usage | |
// ----------------------------------------------- | |
const path = require('path') | |
const fs = require('fs').promises | |
const ESLint = require('eslint').ESLint | |
const cwd = process.cwd() | |
const eslint = new ESLint({ cwd }) |
// The main use-case for the code below is to be able to test | |
// components in isolation of various properties and functionality | |
// ------------------------------------------------------- | |
// children.js | |
// The code below (children.js) imports all files from 'src/pages' folder | |
// It will exclude any index file (ie: index.js, Index.vue, etc) | |
// Look below for usage... | |
const modules = import.meta.glob('../pages/*.vue') |