20 lines
637 B
TypeScript
20 lines
637 B
TypeScript
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 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);
|
|
}
|