Skip to content

Instantly share code, notes, and snippets.

View rjcorwin's full-sized avatar

R.J. (Steinert) Corwin rjcorwin

View GitHub Profile
TEST_ID=$(uuid)
echo "Running 100 with Test ID of $TEST_ID"
mkdir $TEST_ID
cd $TEST_ID
dat share &
sleep 5
for i in {1..100}
do
@rjcorwin
rjcorwin / use-lit-element-in-an-angular-project.md
Last active January 1, 2023 11:43
Directions on how to use Lit Element as a replacement to `@angular/core`'s `Component` decorator.

How to use Lit Element in an Angular Project

Directions

  1. In tsconfig.json, set "target" to "es6".
  2. Add schemas: [ CUSTOM_ELEMENTS_SCHEMA ], in the NgModule decorator of the Angular Module where your components will live.
  3. Use Angular CLI to generate a component.
  4. Refactor generated Component's import statement, decorator, constructor, and add a render function as seen in the example below.
  5. Refactor the import statement of the Component in the parent Module from import { HelloWorldComponent } from './hello-world/hello-world.component' to import './hello-world/hello-world.component'
const sleep = (milliseconds) => new Promise((res) => setTimeout(() => res(true), milliseconds))
const fillUpWithRevisions = async (numberOfDocs = 100, numberOfRevisionsPerDoc = 10, templateDoc, compactCompare = true, autoCompact = false, destroy = true) => {
let initialEstimate = await navigator.storage.estimate()
let dbName = `test-${new Date().getTime()}`
let db = new PouchDB(dbName, {auto_compaction: autoCompact})
delete templateDoc._rev
let docNumber = 0
let revisionNumber = 0
while (numberOfDocs > docNumber) {
var numberOfDocs = 1000
var userName = 'RJ'
var templateDoc = {
yourDocHere: true
}
var fillUp = async (numberOfDocs, templateDoc, dbName) => {
let initialEstimate = await navigator.storage.estimate()
let db = new PouchDB(dbName)
delete templateDoc._rev
@rjcorwin
rjcorwin / fill-up-pouchdb.js
Created January 28, 2019 18:16
A function for filling up storage using PouchDB
var fillUp = async (numberOfDocs, templateDoc, destroy = true) => {
let initialEstimate = await navigator.storage.estimate()
let dbName = `test-${new Date().getTime()}`
let db = new PouchDB(dbName)
delete templateDoc._rev
let i = 0
while (numberOfDocs > i) {
let doc = Object.assign({}, templateDoc, { _id: `${i}` })
await db.put(doc)
i++
if (inputs.location.value[3]) {
let selectedLocationNode = Loc
.flatten(inputs.location.locationList)
.find(node => node.id === inputs.location.value[3])
if (selectedLocationNode.label === 'Other') {
// Do something.
}
}
var items = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 },
{ name: 'And', value: 45 },
{ name: 'The', value: -12 },
{ name: 'Magnetic', value: 13 },
{ name: 'Zeros', value: 37 }
]
// sort by value
@rjcorwin
rjcorwin / redux-dat.js
Last active October 31, 2018 04:15
Idea of how a conceptual redux-dat would work...
import { createStore } from 'redux-dat'
import reducer from './reducer.js'
const myActions = new DatArchive()
const store = createStore(myActions, reducer)
store.addPeer('...')
function a() {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('a')
resolve()
}, 1000)
})
}
[...document.querySelectorAll('div')].map(el => console.log(el))