declare const __STATIC_CONTENT: KVNamespace declare const __STATIC_CONTENT_MANIFEST: string export type KVAssetOptions = { manifest?: object | string namespace?: KVNamespace } export const getContentFromKVAsset = async ( path: string, options?: KVAssetOptions ): Promise => { let ASSET_MANIFEST: Record = {} if (options && options.manifest) { if (typeof options.manifest === 'string') { ASSET_MANIFEST = JSON.parse(options.manifest) } else { ASSET_MANIFEST = options.manifest as Record } } else { if (typeof __STATIC_CONTENT_MANIFEST === 'string') { ASSET_MANIFEST = JSON.parse(__STATIC_CONTENT_MANIFEST) } else { ASSET_MANIFEST = __STATIC_CONTENT_MANIFEST } } let ASSET_NAMESPACE: KVNamespace if (options && options.namespace) { ASSET_NAMESPACE = options.namespace } else { ASSET_NAMESPACE = __STATIC_CONTENT } const key = ASSET_MANIFEST[path] || path if (!key) { return null } let content = await ASSET_NAMESPACE.get(key, { type: 'arrayBuffer' }) if (content) { content = content as ArrayBuffer } return content }