Skip to content

Instantly share code, notes, and snippets.

Avatar

Niklas Keller kelunik

View GitHub Profile
@kelunik
kelunik / HashFunction.ts
Created Oct 6, 2020 — forked from halfnibble/HashFunction.ts
Hash function to debug absolute paths sent to the update chunk hash method in webpack.
View HashFunction.ts
import * as crypto from 'crypto';
import * as fs from 'fs';
import * as path from 'path';
/**
* Interface for Webpack's hashFunction
*/
export interface IHashFunction {
update: (data: string | Buffer, encoding: string) => IHashFunction;
digest: (encoding: string) => string | Buffer;
View stream.php
<?php
$confirmedEmails = yield $db->select()
->stream()
->filter(fn (User $user) => $user->isEmailConfirmed())
->map(fn (User $user) => $user->getEmail())
->toArray();
$pagedConfirmedUsers = yield $db->select()
->stream()
View timer-replay.php
<?php
use Amp\Loop\Internal\TimerQueue;
use Amp\Loop\Watcher;
require __DIR__ . '/vendor/autoload.php';
$input = \file_get_contents('/home/kelunik/Downloads/tq-A805-3.log');
$timerQueue = new TimerQueue;
View Form.vue
<template>
<VueForm action="/api/test.json">
<FormLabel label="First name">
<FormInput name="firstName"/>
</FormLabel>
<FormLabel label="Last name">
<FormInput name="lastName">
</FormLabel>
View cmd.txt
gdb --batch --command=gdb.bt -return-child-result --args ./a.out
View MulticastDns.php
<?php
namespace Kelunik\LightD;
use Amp\Deferred;
use Amp\Delayed;
use Amp\Dns\DnsException;
use Amp\Dns\Record;
use Amp\Loop;
use Amp\Promise;
@kelunik
kelunik / example.php
Created Apr 17, 2019
Short closure return value handling
View example.php
<?php
class EventManager {
private $handlers;
public function onEvent(callable $callback) {
$this->handlers[] = $callback;
}
public function invoke(Event $event) {
View mysql.php
<?php
use Amp\Loop;
use Amp\Mysql\ConnectionConfig;
use Amp\Mysql\Pool;
use Amp\Mysql\ResultSet;
use Amp\Mysql\TimeoutConnector;
use Amp\Socket\ClientTlsContext;
use Illuminate\Support\Collection;
View Field.php
<?php
namespace Amp\Http\Server\FormParser;
final class Field {
/** @var string */
private $name;
/** @var string */
private $value;
View concurrent-requests.php
<?php
require __DIR__ . '/vendor/autoload.php';
use Amp\Loop;
use Amp\Artax;
$queue = new SplQueue;
$waiting = new Amp\Deferred;
$http = new Artax\DefaultClient;