Skip to content

Instantly share code, notes, and snippets.

View Niedzwiedzw's full-sized avatar
🦀
providing safe API

Wojciech Niedźwiedź Niedzwiedzw

🦀
providing safe API
View GitHub Profile
fn next_letter(input: &str) -> Option<(&str, char)> {
input
.chars()
.next()
.and_then(|letter| input.strip_prefix(letter).map(|input| (input, letter)))
}
fn next_value(input: &str) -> Option<(&str, Value)> {
next_digit(input)
@Niedzwiedzw
Niedzwiedzw / bimber_flight_booker.rs
Created October 15, 2023 16:41
bimber_flight_booker.rs
use super::*;
use bimber_core::{element_builder::ElementBuilder, web_sys::InputEvent, MouseEvent};
use chrono::NaiveDate;
pub enum FlightBookerMessage {
SetMode(FlightBookerMode),
}
#[derive(Debug)]
pub enum FlightBookerMode {
@Niedzwiedzw
Niedzwiedzw / aoc2022-day7.rs
Last active August 15, 2023 19:53
aoc2022-day7.rs
use std::{collections::BTreeMap, str::FromStr};
type Error = String;
type Result<T> = std::result::Result<T, Error>;
const INPUT: &str = include_str!("./day7.txt");
#[derive(Debug)]
struct File(String);
Computer Information:
Manufacturer: ASUSTeK COMPUTER INC.
Model: TUF GAMING X570-PLUS (WI-FI)
Form Factor: Desktop
No Touch Input Detected
Processor Information:
CPU Vendor: AuthenticAMD
CPU Brand: AMD Ryzen 9 3900X 12-Core Processor
CPU Family: 0x17
ard), currency_code: PLN }, description: "Zajebisty item mordo" }}: heartbreak::payments::pay_by_link::paysafe_card: sending RawNewPaymentRequest {
userid: 39,
shopid: 20,
amount: 2.0,
return_ok: Url {
scheme: "https",
cannot_be_a_base: false,
username: "",
password: None,
host: Some(
@Niedzwiedzw
Niedzwiedzw / jsonmodel_loader.rs
Created April 10, 2022 19:16
JsonmodelLoader
#[derive(Default)]
pub struct JsonmodelFormatLoader;
impl AssetLoader for JsonmodelFormatLoader {
fn load<'a>(
&'a self,
bytes: &'a [u8],
load_context: &'a mut bevy::asset::LoadContext,
) -> bevy::asset::BoxedFuture<'a, anyhow::Result<(), anyhow::Error>> {
Box::pin(async move {
use bevy::core_pipeline::{
draw_3d_graph, node, AlphaMask3d, Opaque3d, RenderTargetClearColors, Transparent3d,
};
use bevy::prelude::*;
use bevy::reflect::TypeUuid;
use bevy::render::camera::{ActiveCameras, ExtractedCameraNames, RenderTarget};
use bevy::render::render_asset::RenderAssets;
use bevy::render::render_graph::{NodeRunError, RenderGraph, RenderGraphContext, SlotValue};
use bevy::render::render_phase::RenderPhase;
use bevy::render::render_resource::{
@Niedzwiedzw
Niedzwiedzw / TextOverflowWatcher.svelte
Created March 14, 2022 08:39
detects element's text overflow and fixes it
<script lang="ts">
import { LANGUAGE_CHANGED_EVENT } from '@/user-settings-store';
import { takeWhile, last } from 'lodash-es';
import { onMount } from 'svelte';
export let maxWidthPx = 99999;
export let marginPx = 8;
function textWidth(element: HTMLElement) {
// somewhere in your project, create a svelte-jsx.d.ts file and add this:
declare namespace svelte.JSX {
interface HTMLAttributes<T> {
onchecked?: () => void;
onunchecked?: () => void;
}
}
#!/usr/bin/env python3
from dataclasses import dataclass
import math
def dbg(val):
print(val)
return val
def to_degrees(rad: float) -> float: