Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const aliveInstance = cacheMap.get(cacheId)
const maybeDeadInstance = li.nextElementSibling
if (maybeDeadInstance?.matches(`.${CLASSNAME_CONTAINER}`)) {
maybeDeadInstance.replaceWith(aliveInstance)
}
return
}
const replyLink = select('.stamp .reply a', li)
const props = {
type: replyLink.textContent.startsWith('转自')
? 'repost'
: 'reply',
initialStatusId: arrayLast(replyLink.href.split('/')),
}
preactRender(, instance => {
// 调整插入位置
li.after(instance)
cacheMap.set(cacheId, instance)
})
}
key () {
return last(this.path.split('/')) || null
}
toString () {
const headers = { 'X-Requested-With': 'XMLHttpRequest' }
const response = await wretch(url).query(data).headers(headers).get().json()
const document = parseHTML(response.data.timeline)
const statuses = Array.from(document.body.children)
const latestStatusMatchingKeyword = statuses[0]
const latestFilteredStatus = statuses.find(li => !isPotentiallyReadStatus(li, loggedInUserId))
if (!latestStatusMatchingKeyword) return null
if (latestFilteredStatus) return latestFilteredStatus
if (pageNumber >= MAX_PAGES_TO_SEARCH) return null
const nextPageStatus = await searchKeyword(
loggedInUserId,
keyword,
pageNumber + 1,
extractStatusId(arrayLast(statuses)),
)
if (nextPageStatus) return nextPageStatus
if (pageNumber > 1) return null
return latestStatusMatchingKeyword
}
export default function expansionArithmetic(state, source) {
const char = source && source.shift();
const xp = last(state.expansion);
if (char === ')' && state.current.slice(-1)[0] === ')') {
return {
nextReduction: state.previousReducer,
nextState: state
.appendChar(char)
.replaceLastExpansion({
type: 'arithmetic_expansion',
expression: xp.value.slice(0, -1),
loc: Object.assign({}, xp.loc, {end: state.loc.current})
})
.deleteLastExpansionValue()
};
}
if (char === undefined) {
export default function expansionSpecialParameter(state, source) {
const char = source && source.shift();
const xp = last(state.expansion);
return {
nextReduction: state.previousReducer,
nextState: state.appendChar(char).replaceLastExpansion({
parameter: char,
type: 'parameter_expansion',
loc: Object.assign({}, xp.loc, {end: state.loc.current})
})
};
}
export default function expansionSpecialParameter(state, char) {
const xp = last(state.expansion);
const newXp = {
...xp,
parameter: char,
type: 'parameter_expansion',
loc: {...xp.loc, end: state.loc.current}
};
const expansion = state.expansion
.slice(0, -1)
.concat(newXp);
return {
nextReduction: state.previousReducer,
nextState: {...state, current: state.current + char, expansion}
};