Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions javascript/elements/updates_for_element.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ export default class UpdatesForElement extends SubscribingElement {
const response = await graciouslyFetch(url, {
'X-Cable-Ready': 'update'
})
this.html[url] = await response.text()
if (response) this.html[url] = await response.text()
}
})
)
Expand Down Expand Up @@ -254,7 +254,8 @@ class Block {
)

const frameTemplate = document.createElement('template')
frameTemplate.innerHTML = await frameResponse.text()
if (frameResponse)
frameTemplate.innerHTML = await frameResponse.text()

// recurse here to get all nested eager loaded frames
await this.resolveTurboFrames(frameTemplate.content)
Expand Down
11 changes: 9 additions & 2 deletions javascript/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,15 @@ function safeObject (obj) {

function safeStringOrArray (elem) {
if (elem !== undefined && !Array.isArray(elem) && typeof elem !== 'string')
console.warn(`Operation expects an Array or a String, but got ${elem} (${typeof elem})`)
console.warn(
`Operation expects an Array or a String, but got ${elem} (${typeof elem})`
)

return elem == null ? '' : Array.isArray(elem) ? Array.from(elem) : String(elem)
return elem == null
? ''
: Array.isArray(elem)
? Array.from(elem)
: String(elem)
}

function fragmentToString (fragment) {
Expand All @@ -202,6 +208,7 @@ async function graciouslyFetch (url, additionalHeaders) {
return response
} catch (e) {
console.error(`Could not fetch ${url}`)
return new Response('')
}
}

Expand Down