Skip to content

Instantly share code, notes, and snippets.

View Mosquid's full-sized avatar

Dmitry Mosquid Mosquid

View GitHub Profile
did:3:kjzl6cwe1jw145djdfeu68eidwi1yb9ulrqh2h9ct13dgohhlz0fr3l28swfwrb
@Mosquid
Mosquid / demorse-config.js
Last active March 13, 2021 20:31
demorse-config.js
const decoder = new Demorse({
stream: stream, // <audio> Element | UserMedia stream
render: function, // a callable render function
fft: 32, // Fast Fourier Transform window size,
idle: 75 // Delay before closing the receiver (milliseconds)
});
@Mosquid
Mosquid / demorse-user-media.js
Created March 13, 2021 20:06
demorse-user-media.js
const initDecoder = (stream) => {
const decoder = new Demorse({
stream,
render: (str) => {
document.querySelector("#message").innerText = str;
},
});
};
navigator.getUserMedia({ audio: true }, initDecoder, console.error);
@Mosquid
Mosquid / demorse.js
Created March 13, 2021 20:04
demorse.js
const audio = document.querySelector("audio");
const initDecoder = (stream) => {
const decoder = new Demorse({
stream,
render: (str) => {
// #message is a node that will be updated on decoding
document.querySelector("#message").innerText = str;
},
});
@Mosquid
Mosquid / state-indicators.js
Created January 11, 2021 08:42
headless-wp-medium-p1
function Form({ isLoading, isSent, hasError, handler }) {
return (
<form onSubmit={handler}>
<div>isLoading: {isLoading ? "Loading" : "false"}</div>
<div>isSent: {isSent ? "Sent" : "false"}</div>
<div>Error: {hasError || "null"}</div>
</form>
)
}
@Mosquid
Mosquid / cherry-picker-adapter-gearbest.js
Last active March 17, 2023 20:40
GearBest Cherry Picker adapter
window.cpAdapter = {
getProductTitle: function () {
try {
const [pageData] = window.dataLayer
return pageData.goods.title
} catch (err) {
console.error(err)
return ""
}
},
@Mosquid
Mosquid / gearbest-adapter-images.js
Created November 12, 2020 14:58
gearbest parse product images
{
...
getProductImages: function () {
try {
const imageNodes = document.querySelectorAll(
"#js-goodsIntroThumbNail img"
)
const images = []
imageNodes.forEach((img) => {
@Mosquid
Mosquid / gearbest-adapter-descriptions.js
Last active November 12, 2020 14:41
gearbest parsing descriptions
...
parseSpecsTable: (specsTable) => {
let textTable = ""
specsTable.forEach((row) => {
const [keyNode, valueNode] = row.children
const key = keyNode.textContent.trim()
const value = valueNode.textContent.trim()
textTable += `<strong>${key}</strong>: <p>${value}</p>`
})
@Mosquid
Mosquid / gearbest-adapter.js
Created November 11, 2020 20:23
gearbest cherry picker adapter
{
getProductTitle: () => {
try {
const [pageData] = window.dataLayer
return pageData.goods.title
} catch (err) {
console.error(err)
return ""
}
},
@Mosquid
Mosquid / gearbest-is-product-page.js
Last active November 11, 2020 19:11
isProductPage gearbest
{
isProductPage: () => {
try {
const [pageData] = window.dataLayer
return pageData.PAGE === "goods" ? true : false
} catch (err) {
console.error(err)
return false
}
}