Skip to content

Instantly share code, notes, and snippets.

@conradfr
conradfr / BsToastHook.js
Last active June 7, 2023 13:27
LiveView Boostrap v5 toast LiveView
const TOAST_DURATION = 3500;
const BsToastHook = {
mounted() {
this.handleEvent('show_toast', ({ id }) => {
const toastElem = document.getElementById(id);
if (toastElem) {
const toast = new bootstrap.Toast(toastElem, {delay: TOAST_DURATION});
toast.show();
@conradfr
conradfr / BsToastHook.js
Last active May 21, 2023 15:28
LiveView Boostrap v5 toast component
const TOAST_DURATION = 3500;
const BsToastHook = {
mounted() {
this.handleEvent('show_toast', ({ id }) => {
const toastElem = document.getElementById(id);
if (toastElem) {
const toast = new bootstrap.Toast(toastElem, {delay: TOAST_DURATION});
toast.show();
# Using https://github.com/tungd/elixir-dns
@servers_dns "all.api.radio-browser.info"
# DNS lookup
def get_servers() do
DNS.query(@servers_dns)
|> Map.get(:anlist)
end
<?php
const SERVERS_DNS = 'all.api.radio-browser.info';
function getServers(): array
{
$serversFromDns = dns_get_record(SERVERS_DNS, DNS_ANY);
$serversAll = array_reduce($serversFromDns, function ($result, $record) {
$ip = isset($record['ip']) ? $record['ip'] : $record['ipv6'];
$host = gethostbyaddr($ip);
@conradfr
conradfr / benchmark.exs
Last active February 20, 2020 07:59
Benchmarking /r/elixir/comments/f4z9gn/evenodd_indexes/
defmodule Aseigo do
def split_even_odd_index(list) do
split_even_odd_index(list, true, {[], []})
end
defp split_even_odd_index([], _even_odd, result), do: result
defp split_even_odd_index([head | tail], true, {evens, odds}) do
split_even_odd_index(tail, false, {[head | evens], odds})
end
@conradfr
conradfr / _.filterByValues
Created August 6, 2014 06:42
filterByValues underscore.js mixin
/**
* Filter a collection by a property and an array of values
* demo: http://jsfiddle.net/3Y95F/
*
* @param {array|object} collection (of objects)
* @param {string} property
* @param {array} array of accepted values
* @returns {array|object}
*/
_.mixin({