Skip to content

Instantly share code, notes, and snippets.

View AzrizHaziq's full-sized avatar
😀
Happy

Azriz Jasni AzrizHaziq

😀
Happy
View GitHub Profile
@AzrizHaziq
AzrizHaziq / notify.js
Last active August 7, 2021 06:55
This is for my blog post gist collection
// read here: https://dev.to/azrizhaziq/how-self-xss-work-in-bookmark-15ok
// code copied from https://developer.mozilla.org/en-US/docs/Web/API/notification
// and was changed into iife
(() => {
// Let's check if the browser supports notifications
if (!("Notification" in window)) {
alert("This browser does not support desktop notification");
}
@AzrizHaziq
AzrizHaziq / I18n.ts
Last active March 31, 2023 19:33
JS & TS
// https://kentcdodds.com/blog/listify-a-java-script-array
// unfortunately TypeScript doesn't have Intl.ListFormat yet 😢
// so we'll just add it ourselves:
type ListFormatOptions = {
type?: 'conjunction' | 'disjunction' | 'unit'
style?: 'long' | 'short' | 'narrow'
localeMatcher?: 'lookup' | 'best fit'
}
declare namespace Intl {
class ListFormat {
@AzrizHaziq
AzrizHaziq / doc.action.ts
Last active June 14, 2020 02:04
Rxjs - State management, please don't blindly look at import statement as I delete some loc, please use browser-search (CTRL/CMD + F) to look at variables
// tslint:disable:no-reserved-keywords
import { switchMap } from 'rxjs/operators';
import { Observable, merge, Subject, of } from 'rxjs';
export enum DOC_ACTION {
DnD = 'drag-and-drop',
UPLOAD_DOC = 'upload-doc',
RENAME_DOC = 'rename-doc',
DELETE_DOC = 'delete-doc'
}
...
public ngOnDestroy() {
... // things that you need to clean up
super.ngOnDestroy(); // don't forget to call this line.
}
log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
@AzrizHaziq
AzrizHaziq / Stream in javascript.js
Last active July 14, 2019 01:40
Trying Javascript StreamReader
var stream = new ReadableStream({
start(controller) {
console.log(controller)
controller.enqueue('Hello');
controller.enqueue('12312312313123')
controller.close();
},
pull(controller) {
},
@AzrizHaziq
AzrizHaziq / starter.js
Created December 10, 2018 08:59
Part 2 Javascript Tip and Tricks Object Rest Paramater
var greetUsers = users.map(user) => ({
id: payload.id,
name: `Hello ${name}`,
email: payload.email,
phone: payload.phone,
website: payload.website,
company: payload.company,
address: payload.id,
}))
@AzrizHaziq
AzrizHaziq / Rest and params.js
Created December 10, 2018 08:53
Part 2 Javascript Tip and Tricks Object Rest Paramater
var greetUsers = users.map(user => {
const { name, ...payload } = user // we collect all others key into payload
return {
...payload,
name: `Hello ${name}`,
}
})
// 👍 more shorter syntax
@AzrizHaziq
AzrizHaziq / rest.js
Created December 10, 2018 08:51
Part 2 Javascript Tip and Tricks Object Rest Paramater
var greetUsers = users.map(user => {
const { name, ...payload } = user // we collect all others key into payload
return {
id: payload.id,
name: `Hello ${name}`,
email: payload.email,
phone: payload.phone,
website: payload.website,
company: payload.company,
address: payload.id,
@AzrizHaziq
AzrizHaziq / dummy.js
Last active December 10, 2018 08:31
Part 2 Javascript Tip and Tricks Object Rest Paramater
var users = [
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",