You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

24 lines
842 B

export function nonNull<T>(a: T | null | undefined): T { return a! }
export function copyFieldsThatExist(dest: any, source: any) {
for (const attr of Object.keys(dest)) {
if (attr in source) dest[attr] = source[attr]
}
}
export function isEditableElement(e: Element | null | undefined) {
return !!(e && ((e as HTMLElement).isContentEditable || e.tagName == "INPUT" || e.tagName == "TEXTAREA" || e.tagName == "SELECT"))
}
export function saveToLocalDisk(filename: string, text: string) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}