Skip to content

Instantly share code, notes, and snippets.

@ArtemAvramenko
ArtemAvramenko / switch_done_column.js
Created May 26, 2016 13:39
Hide Jira 'Done' column
javascript:void($('.ghx-column[data-id="18"],.ghx-column[data-column-id="18"]').toggle())
// UI Theme: One Light
// Syntax Theme: Atom Light
atom-text-editor, atom-text-editor::shadow {
font-family: "Lucida Sans Typewriter";
font-size: 14px;
color:#111;
.variable {
color:#248;
}
let findUniquePair = numbers =>
((xor, n1) => [n1, n1 ^ xor]) (
...((xor, xors) => [xor, xors.find(n => n && n != xor) || 0]) (
...numbers.reduce(
(r, n) => [ r[0] ^ n, r[1].map((val, i) => val ^ (n & (2 ** i) && n)) ],
[0, new Uint32Array(32)])));
let numbers = findUniquePair([10, 20, 9, 10, 3, 20]);
console.log(numbers); // [3, 9]
declare interface MaybeFunction {
<T1>(a: T1): T1;
<T1, T2>(a: T1, b: (_: T1) => T2): T2;
<T1, T2, T3>(a: T1, b: (_: T1) => T2, c: (_: T2) => T3): T3;
<T1, T2, T3, T4>(a: T1, b: (_: T1) => T2, c: (_: T2) => T3, d: (_: T3) => T4): T4;
}
var maybe = <MaybeFunction>function() {
let result = arguments[0];
for (let i = 1, len = arguments.length; i < len; i++) {
declare module Bucks {
export interface SingleMethods<T extends Element> {
<T extends Element>(selector: string): SingleResult<T>;
find<T extends Element>(selector: string): SingleResult<T>;
visible(): SingleResult<T>;
withAttribute(attributeName: string, regExp: RegExp): SingleResult<T>;
getAttribute(attributeName: string): string;
closest<T extends Element>(selector: string): SingleResult<T>;
all: ListMethods<Element>;
@ArtemAvramenko
ArtemAvramenko / mixWithFunc.ts
Last active August 29, 2015 14:27
Mix class with function.
/**
* Returns a function mixed with an object.
* @param obj - Object to mix.
* @param func - Target function.
*/
function mixWithFunc<T extends Function>(obj: { __proto__?}, func: T) {
var objProto = <{ constructor }>obj.__proto__;
var objClass = <{ __mixedProto__ }>objProto.constructor;
var proto = <typeof obj>objClass.__mixedProto__;
if (!proto) {
public static class AnonymousTypeHelper
{
public static T Cast<T>(T typeHolder, object x)
{
return (T)x;
}
public static T GetNull<T>(T typeHolder) where T : class
{
return null;
@ArtemAvramenko
ArtemAvramenko / WScript.d.ts
Created August 2, 2015 02:02
TypeScript declarations for Windows Scripting Host
// Windows Script Host APIS
// http://blogs.msdn.com/b/freik/archive/2012/10/19/goofing-around-with-typescript-amp-windows-script-host.aspx
declare var ActiveXObject: { new (s: string): any; };
interface IWScriptStringCollection {
Item(n: number): string;
Count: number;
length: number;
}
@ArtemAvramenko
ArtemAvramenko / shamExports.ts
Last active December 30, 2024 14:39
Shams CommonJS modules
// https://stackoverflow.com/a/31930918/5171110
var module: { exports: any };
var exports = {
sham: (() => {
var sham = ((moduleName: string) => {
exports = { sham };
module = sham.modules[moduleName] = { exports };
}) as {
(moduleName: string): void;
@ArtemAvramenko
ArtemAvramenko / SplitterEx.cs
Last active August 12, 2019 15:30
WinForms Splitter without flickering
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Security.Permissions;
namespace System.Windows.Forms
{
/// <summary>
/// Represents a splitter control that enables the user to resize docked controls.