Skip to content

Instantly share code, notes, and snippets.

View TorbjornHoltmon's full-sized avatar
🐻

Torbjørn Holtmon TorbjornHoltmon

🐻
View GitHub Profile
@TorbjornHoltmon
TorbjornHoltmon / Wow.tsx
Last active February 22, 2023 09:14
vue jsx test
import { defineComponent, ref, watch } from "vue";
const Wow = defineComponent({
props: {
limit: {
type: Number,
required: false,
default: 12,
},
},
@TorbjornHoltmon
TorbjornHoltmon / predicate.ts
Created February 11, 2022 12:25
Type predicates
export function assertIAsset<T>(item: IAsset | IReference): item is IAsset {
return item.type === "typenavn her";
}
@TorbjornHoltmon
TorbjornHoltmon / PartialBy.ts
Last active January 13, 2023 13:13
PartialBy, make properties in typescript type optional
/**
* Construct a type with the properties of T and make the properties K optional.
*/
type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
// Example:
type Person = {
name: string;
age: number;
gender: "male" | "female";
@TorbjornHoltmon
TorbjornHoltmon / awaitableTimout.ts
Last active September 1, 2022 13:47
Awaitable timeout
async function voidWait(timeToDelay: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, timeToDelay));
}
async function returnWait<T>(timeToDelay: number, returnValue: T): Promise<T> {
return new Promise((resolve) => setTimeout(() => resolve(returnValue), timeToDelay));
}
@TorbjornHoltmon
TorbjornHoltmon / getWeekNumberFromISOString.ts
Last active February 22, 2023 09:15
Get week number from ISO string typescript
export function getWeekNumberFromISOString(date: string): number {
const newYear = new Date(new Date(date).getFullYear(), 0, 1);
let day = newYear.getDay() - 1; // the day of week the year begins on
day = day >= 0 ? day : day + 7;
const dayNumber: number =
Math.floor(
(new Date(date).getTime() -
newYear.getTime() -
(new Date(date).getTimezoneOffset() - newYear.getTimezoneOffset()) * 60000) /
86400000