Skip to content

Instantly share code, notes, and snippets.

View DoubleCouponDay's full-sized avatar

DoubleCouponDay DoubleCouponDay

  • Spida Machinery
  • New Zealand
  • 15:19 (UTC +13:00)
View GitHub Profile
public abstract class Option<TValue> where TValue : struct
{
protected TValue? value;
}
public class Some<TValue> : Option<TValue> where TValue : struct {
public TValue Value => value.Value;
public Some(TValue input)
{
@DoubleCouponDay
DoubleCouponDay / copy.ps1
Created February 11, 2022 23:18
copy.ps1
$ErrorActionPreference = "stop"
$backslash = "\"
$inputdir = Read-Host -Prompt "Enter an absolute path to input folder: "
$outputdir = Read-Host -Prompt "Enter an absolute path to the output folder: "
$inputdirname = Split-Path -Path $inputdir -Leaf
$old_copy = $outputdir + $backslash + $inputdirname + $backslash
Write-Host "deleting previous deployment at $old_copy"
@DoubleCouponDay
DoubleCouponDay / angular-toast.ts
Last active October 8, 2019 21:46
angular toast notifications
import { MatSnackBar } from '@angular/material';
import { HttpErrorResponse } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { isnullorundefined } from '../utility/utilities';
/** requires @angular/material, MatSnackBarModule, isnullorundefined */
@Injectable({
providedIn: 'root'
})
export default class snackbarservice
const nooccurrence = -1
export function translateelement(element: HTMLElement | SVGElement, translationkey: string, translationvalue: string) {
let newtransform = `${translationkey}(${translationvalue})`
if(element.style.transform.indexOf(translationkey) !== nooccurrence) {
let anyvalueregex = new RegExp(`${translationkey}\\(.+\\)`) //any translationvalue one or more times
let replacement = element.style.transform.replace(anyvalueregex, newtransform)
element.style.transform = replacement
}
@DoubleCouponDay
DoubleCouponDay / summed_chessboard.rs
Last active August 16, 2019 01:37
referenced by discord server
fn main() {
let output = game(204);
assert_eq!(output, vec![20808]);
}
pub fn game(n: u64) -> Vec<u64> {
println!("input: {}", n);
if n == 0 {
return vec![n];
function isIOS() {
let tester = new RegExp("/iPad|iPhone|iPod/")
let IOSdetected = tester.test(navigator.userAgent)
let msStreamNotUsed = isNullOrUndefined(window.MSStream) //prevent fake user agent in internet explorer
if (IOSdetected === true && msStreamNotUsed) {
return true
}
return false
}
actionmock = new HttpActionContext();
var headerValue = new AuthenticationHeaderValue("Basic", "bzUwkDal=");
var request = new HttpRequestMessage();
request.Headers.Authorization = headerValue;
var controllerContext = new HttpControllerContext();
controllerContext.Request = request;
var context = new HttpActionContext();
context.ControllerContext = controllerContext;
@DoubleCouponDay
DoubleCouponDay / start-aspnet-server-in-node.ts
Created May 14, 2019 01:10
start aspnet server in node
import {exec, execFile, spawn, ChildProcess} from 'child_process'
import { tick } from '@angular/core/testing';
export class ApiTestServer
{
private serverprocess : ChildProcess
constructor()
{
this.serverprocess = execFile("C:\\Program Files\\IIS Express\\iisexpress.exe", [
@DoubleCouponDay
DoubleCouponDay / CreateNugetLocalFeed.ps1
Last active May 13, 2019 22:19
CreateNugetLocalFeed
$ErrorActionPreference = 'stop'
$previousdirectory = (Get-Item -Path './').FullName
Write-Host "projects will pack to current directory $previousdirectory"
$versionnum = Read-Host -Prompt 'enter version number'
if($versionnum -eq '')
{
Write-Host 'using default version number.'
$versionnum = '1.0.0'
}
@DoubleCouponDay
DoubleCouponDay / ApiDebugServer.cs
Last active April 28, 2019 23:40
ASPNET 5 debug server
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Xunit;
using System.Management.Automation;
using System.Windows.Forms;