I hereby claim:
- I am dgieselaar on github.
- I am dgieselaar (https://keybase.io/dgieselaar) on keybase.
- I have a public key ASCPrwb8INtoj797_8G_vcIMIT_LVzzkrGQHYbDIndb3Pgo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| import t from 'io-ts'; | |
| import { Request } from 'hapi'; | |
| import { PathReporter } from 'io-ts/lib/PathReporter'; | |
| import { fold } from 'fp-ts/lib/Either'; | |
| import { pipe } from 'fp-ts/lib/pipeable'; | |
| import { identity } from 'fp-ts/lib/function'; | |
| interface Params { | |
| path?: t.HasProps; | |
| query?: t.HasProps; |
| import t from 'io-ts'; | |
| import { Request } from 'hapi'; | |
| import { PathReporter } from 'io-ts/lib/PathReporter'; | |
| import { isLeft } from 'fp-ts/lib/Either'; | |
| interface Params { | |
| path?: t.HasProps; | |
| query?: t.HasProps; | |
| body?: t.Any; | |
| } |
| const route = createRoute({ | |
| url: '/api/metrics/:type', | |
| method: 'GET', | |
| params: { | |
| path: t.type({ | |
| type: t.string | |
| }), | |
| query: t.type({ | |
| start: t.string, | |
| end: t.string |
| import { pipe } from 'fp-ts/lib/pipeable'; | |
| import { fold } from 'fp-ts/lib/Either'; | |
| import codec from './codec.ts'; | |
| const input = { | |
| title: 'Title of this article', | |
| content: 'Content of this article', | |
| options: { | |
| private: true | |
| } |
| import * as t from 'io-ts'; | |
| /* | |
| This codec represents the following TypeScript type: | |
| { | |
| title: string, | |
| content: string, | |
| options: { | |
| private?: boolean | |
| } |
| const response = await fetch({ | |
| url: `http://localhost:5601/api/metrics/cpu`, | |
| query: { | |
| start: new Date().getTime() - 1000 * 60 * 60, | |
| end: new Date().getTime() - 1000 * 60 * 60 | |
| }, | |
| method: 'GET' | |
| }); |
| server.route({ | |
| url: '/api/metrics/:type', | |
| method: 'GET', | |
| handler: ( request ) => { | |
| const { type } = request.params; | |
| const { start, end } = request.query; | |
| return getMetrics({ type, start, end }); | |
| } | |
| }); |
| const fs = require('fs'); | |
| const path = require('path'); | |
| const { uniq, groupBy, pickBy } = require('lodash'); | |
| const beautifiedJsFile = fs.readFileSync(path.join(__dirname, './build.js'), 'utf-8'); | |
| const nodeModulesRegex = /"(.*?\/node_modules\/.*?)"/; | |
| const findNodeModules = ( str ) => { | |
| const lines = str.split('\n'); |
| const RawSource = require('webpack-sources').RawSource; | |
| class SplitCssByMediaPlugin { | |
| apply(compiler) { | |
| // wait until compilation becomes available | |
| compiler.hooks.compilation.tap( | |
| 'SplitByCssMediaPlugin', | |
| (compilation) => { | |
| // hook into additionalAssets phase | |
| compilation.hooks.additionalAssets.tap( |