This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict' | |
const { HDPublicKey, PublicKey, Address, Networks } = require('bitcore-lib') | |
const xpubkey = 'xpub...' | |
const hdPublicKey = HDPublicKey(xpubkey); | |
// We'll generate the first 20 addresses (default number of addresses that Electrum shows you) | |
for (let i = 0; i < 20; i++) { | |
const orderPublicKey = hdPublicKey.deriveChild(`m/0/${i}`) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { useState, createRef } from "react"; | |
const Form = () => { | |
const emailRef = createRef<HTMLInputElement>() | |
return ( | |
<div> | |
Email: | |
<input type="text" ref={emailRef}/> | |
<button | |
onClick={() => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { useState } from 'react' | |
const Form = () => { | |
const [key, setKey] = useState(0) | |
return ( | |
<div key={key}> | |
<input type='text' /> | |
<button onClick={/* ... */}>Submit</button> | |
<button onClick={() => { setKey(key + 1) }}>Reset</button> | |
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Property-based test | |
describe('properties', () => { | |
it('is a bijection', () => { | |
fc.assert(fc.property( | |
fc.integer(1, Number.MAX_SAFE_INTEGER), | |
seed => decode(encode(seed)) === seed | |
)) | |
}); | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Proof: https://www.typescriptlang.org/play/#src=type%20Woman%20%3D%20%7B%0D%0A%20%20id%3A%20Number%0D%0A%20%20husband%3F%3A%20string%0D%0A%20%20%2F%2F%20Anytime%20you%20need%20to%20add%20a%20new%20field%20here%0D%0A%7D%0D%0A%0D%0A%2F%2F%20You%20have%20to%20update%20this%20vvvvvvvvvvvvvvvvvvvvvvvvvvv%0D%0Aconst%20processMrs%20%3D%20(mrs%3A%20%7B%20id%3A%20Number%2C%20husband%3A%20string%20%7D)%20%3D>%20%7B%0D%0A%20%20%20%20const%20%7B%20husband%20%7D%20%3D%20mrs%0D%0A%20%20%20%20console.log(%60I%20now%20for%20a%20fact%20%24%7Bmrs%7D%20is%20married.%60)%0D%0A%7D%0D%0AprocessMrs(%7B%20id%3A%201%2C%20husband%3A%20'John'%20%7D)%20%20%20%20%2F%2F%20passes%0D%0AprocessMrs(%7B%20id%3A%202%2C%20husband%3A%20undefined%20%7D)%20%2F%2F%20fails%20(with%20strictNullChecks%3A%20true)%0D%0AprocessMrs(%7B%20id%3A%203%20%7D)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20fails%20(with%20strictNullChecks%3A%20true)%0D%0A%0D%0A%2F%2F%20And%20this%20%20%20%20%20%20%20%20%20%20%20%20%20%20vvvvvvvvvv%0D%0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Proof: https://www.typescriptlang.org/play/#src=type%20Woman%20%3D%20%7B%0D%0A%20%20id%3A%20Number%0D%0A%20%20husband%3F%3A%20string%0D%0A%7D%0D%0A%0D%0Atype%20With%3CT%2C%20K%20extends%20keyof%20T%3E%20%3D%20(Required%3CPick%3CT%2C%20K%3E%3E%20%26%20Exclude%3CT%2C%20K%3E)%0D%0Atype%20Without%3CT%2C%20K%20extends%20keyof%20T%3E%20%3D%20Pick%3CT%2C%20Exclude%3Ckeyof%20T%2C%20K%3E%3E%0D%0A%0D%0Aconst%20processMrs%20%3D%20(mrs%3A%20With%3CWoman%2C%20'husband'%3E)%20%3D%3E%20%7B%0D%0A%20%20%20%20const%20%7B%20husband%20%7D%20%3D%20mrs%0D%0A%20%20%20%20console.log(%60I%20now%20for%20a%20fact%20%24%7Bmrs%7D%20is%20married.%60)%0D%0A%7D%0D%0AprocessMrs(%7B%20id%3A%201%2C%20husband%3A%20'John'%20%7D)%20%20%20%20%2F%2F%20passes%0D%0AprocessMrs(%7B%20id%3A%202%2C%20husband%3A%20undefined%20%7D)%20%2F%2F%20fails%20(with%20strictNullChecks%3A%20true)%0D%0AprocessMrs(%7B%20id%3A%203%20%7D)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20fails%20(with%20strictNullChecks%3A%20true)%0D%0A%0D%0Aconst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { mySort } from './mySort' | |
console.log(mySort([3, 1, 2])); | |
// [1, 2, 3] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Example: Standardized Testing. | |
assert.deepEqual(mySort([3, 1, 2]), [1, 2, 3])) | |
assert.deepEqual(mySort([1, -5, 0, 10]) , [-5, 0, 1, 10])) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Property-based Testing example (pseudo-code). | |
test([Number], anArrayOfNumbers => { | |
// ↑↑↑↑↑↑↑↑↑↑ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ | |
// The schema. The generated test-data. | |
assert.deepEqual( | |
mySort([anArrayOfNumbers]), | |
Array.prototype.sort.call(anArrayOfNumbers) | |
) | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as fc from 'fast-check'; | |
import { sort } from '../src/sort'; | |
test('should contain the same items', () => { | |
const count = (tab, element) => tab.filter(v => v === element).length; | |
fc.assert( | |
fc.property(fc.array(fc.integer()), data => { | |
const sorted = sort(data); | |
assert(sorted.length === data.length); | |
for (const item of data) { |
NewerOlder