MCPcopy Index your code
hub / github.com/simstudioai/sim / normalizePreviewInput

Function normalizePreviewInput

apps/sim/lib/pptx-renderer/core/viewer.ts:967–994  ·  view source on GitHub ↗
(input: PreviewInput)

Source from the content-addressed store, hash-verified

965// -----------------------------------------------------------------------
966
967async function normalizePreviewInput(input: PreviewInput): Promise<ArrayBuffer> {
968 if (input instanceof ArrayBuffer) return input
969 if (input instanceof Uint8Array) {
970 const bytes = new Uint8Array(input.byteLength)
971 bytes.set(input)
972 return bytes.buffer
973 }
974
975 const blobLike = input as Blob & { arrayBuffer?: () => Promise<ArrayBuffer> }
976 if (typeof blobLike.arrayBuffer === 'function') {
977 return blobLike.arrayBuffer()
978 }
979
980 if (typeof FileReader !== 'undefined') {
981 return new Promise<ArrayBuffer>((resolve, reject) => {
982 const reader = new FileReader()
983 reader.onload = () => resolve(reader.result as ArrayBuffer)
984 reader.onerror = () => reject(reader.error ?? new Error('Failed to read Blob input'))
985 reader.readAsArrayBuffer(blobLike)
986 })
987 }
988
989 if (typeof Response !== 'undefined') {
990 return new Response(blobLike).arrayBuffer()
991 }
992
993 throw new Error('Blob preview input is not supported in this runtime')
994}

Callers 1

openMethod · 0.85

Calls 2

setMethod · 0.65
resolveFunction · 0.50

Tested by

no test coverage detected