@takumi-rs/image-response 1.0.0-beta.0 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node.cjs +1 -1
- package/dist/node.d.cts +3 -0
- package/dist/node.d.ts +3 -0
- package/dist/node.js +1 -1
- package/dist/wasm.cjs +1 -1
- package/dist/wasm.d.cts +3 -0
- package/dist/wasm.d.ts +3 -0
- package/dist/wasm.js +1 -1
- package/package.json +4 -4
package/dist/node.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var m=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var I=(t,e)=>{for(var r in e)m(t,r,{get:e[r],enumerable:!0})},b=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of x(e))!j.call(t,n)&&n!==r&&m(t,n,{get:()=>e[n],enumerable:!(s=w(e,n))||s.enumerable});return t};var P=t=>b(m({},"__esModule",{value:!0}),t);var J={};I(J,{ImageResponse:()=>o,default:()=>E});module.exports=P(J);var c=require("@takumi-rs/core"),d=require("@takumi-rs/helpers"),p=require("@takumi-rs/helpers/emoji"),u=require("@takumi-rs/helpers/jsx"),a,T={format:"webp"};async function A(t){if(t&&"renderer"in t)return t.renderer;if(!a)return a=new c.Renderer(t),a;let e=[],r=a;return r?(t?.fonts&&t.fonts.length>0&&e.push(r.loadFonts(t.fonts)),t?.persistentImages&&e.push(...t.persistentImages.map(s=>r.putPersistentImage(s.src,s.data))),e.length>0&&await Promise.all(e),r):a}function F(t,e){if(e?.fetchedResources)return e.fetchedResources;let r=(0,c.extractResourceUrls)(t);return(0,d.fetchResources)(r)}function N(t,e){return new ReadableStream({type:"bytes",async start(r){try{let s=(0,u.fromJsx)(t,e?.jsx).then(async({node:i,stylesheets:l})=>{e?.emoji&&e.emoji!=="from-font"&&(i=(0,p.extractEmojis)(i,e.emoji));let O=await F(i,e);return{node:i,fetchedResources:O,stylesheets:l}}),[n,{node:f,fetchedResources:R,stylesheets:g}]=await Promise.all([A(e),s]),h={width:e?.width,height:e?.height,format:e?.format,quality:e?.quality,dithering:e?.dithering,drawDebugBorder:e?.drawDebugBorder,devicePixelRatio:e?.devicePixelRatio,fetchedResources:R,stylesheets:[...e?.stylesheets??[],...g]},y=await n.render(f,h,e?.signal);r.enqueue(y),r.close()}catch(s){r.error(s)}}})}var B={webp:"image/webp",png:"image/png",jpeg:"image/jpeg",raw:"application/octet-stream"},o=class extends Response{constructor(e,r){let s=N(e,r),n=new Headers(r?.headers);n.get("content-type")||n.set("content-type",B[r?.format??T.format]),super(s,{status:r?.status,statusText:r?.statusText,headers:n})}},E=o;0&&(module.exports={ImageResponse});
|
package/dist/node.d.cts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RenderOptions, Renderer, ConstructRendererOptions } from '@takumi-rs/core';
|
|
2
|
+
import { EmojiType } from '@takumi-rs/helpers/emoji';
|
|
2
3
|
import { FromJsxOptions } from '@takumi-rs/helpers/jsx';
|
|
3
4
|
import { ReactNode } from 'react';
|
|
4
5
|
|
|
@@ -11,10 +12,12 @@ type ImageResponseOptionsWithRenderer = ResponseInit & RenderOptions & {
|
|
|
11
12
|
renderer: Renderer;
|
|
12
13
|
signal?: AbortSignal;
|
|
13
14
|
jsx?: FromJsxOptions;
|
|
15
|
+
emoji?: EmojiType | "from-font";
|
|
14
16
|
};
|
|
15
17
|
type ImageResponseOptionsWithoutRenderer = ResponseInit & RenderOptions & ConstructRendererOptions & {
|
|
16
18
|
signal?: AbortSignal;
|
|
17
19
|
jsx?: FromJsxOptions;
|
|
20
|
+
emoji?: EmojiType | "from-font";
|
|
18
21
|
};
|
|
19
22
|
type ImageResponseOptions = ImageResponseOptionsWithRenderer | ImageResponseOptionsWithoutRenderer;
|
|
20
23
|
declare class ImageResponse extends Response {
|
package/dist/node.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RenderOptions, Renderer, ConstructRendererOptions } from '@takumi-rs/core';
|
|
2
|
+
import { EmojiType } from '@takumi-rs/helpers/emoji';
|
|
2
3
|
import { FromJsxOptions } from '@takumi-rs/helpers/jsx';
|
|
3
4
|
import { ReactNode } from 'react';
|
|
4
5
|
|
|
@@ -11,10 +12,12 @@ type ImageResponseOptionsWithRenderer = ResponseInit & RenderOptions & {
|
|
|
11
12
|
renderer: Renderer;
|
|
12
13
|
signal?: AbortSignal;
|
|
13
14
|
jsx?: FromJsxOptions;
|
|
15
|
+
emoji?: EmojiType | "from-font";
|
|
14
16
|
};
|
|
15
17
|
type ImageResponseOptionsWithoutRenderer = ResponseInit & RenderOptions & ConstructRendererOptions & {
|
|
16
18
|
signal?: AbortSignal;
|
|
17
19
|
jsx?: FromJsxOptions;
|
|
20
|
+
emoji?: EmojiType | "from-font";
|
|
18
21
|
};
|
|
19
22
|
type ImageResponseOptions = ImageResponseOptionsWithRenderer | ImageResponseOptionsWithoutRenderer;
|
|
20
23
|
declare class ImageResponse extends Response {
|
package/dist/node.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{extractResourceUrls as g,Renderer as h}from"@takumi-rs/core";import{fetchResources as l}from"@takumi-rs/helpers";import{fromJsx as
|
|
1
|
+
import{extractResourceUrls as g,Renderer as h}from"@takumi-rs/core";import{fetchResources as y}from"@takumi-rs/helpers";import{extractEmojis as l}from"@takumi-rs/helpers/emoji";import{fromJsx as O}from"@takumi-rs/helpers/jsx";var a,w={format:"webp"};async function x(r){if(r&&"renderer"in r)return r.renderer;if(!a)return a=new h(r),a;let e=[],t=a;return t?(r?.fonts&&r.fonts.length>0&&e.push(t.loadFonts(r.fonts)),r?.persistentImages&&e.push(...r.persistentImages.map(s=>t.putPersistentImage(s.src,s.data))),e.length>0&&await Promise.all(e),t):a}function j(r,e){if(e?.fetchedResources)return e.fetchedResources;let t=g(r);return y(t)}function I(r,e){return new ReadableStream({type:"bytes",async start(t){try{let s=O(r,e?.jsx).then(async({node:i,stylesheets:f})=>{e?.emoji&&e.emoji!=="from-font"&&(i=l(i,e.emoji));let R=await j(i,e);return{node:i,fetchedResources:R,stylesheets:f}}),[n,{node:c,fetchedResources:m,stylesheets:d}]=await Promise.all([x(e),s]),p={width:e?.width,height:e?.height,format:e?.format,quality:e?.quality,dithering:e?.dithering,drawDebugBorder:e?.drawDebugBorder,devicePixelRatio:e?.devicePixelRatio,fetchedResources:m,stylesheets:[...e?.stylesheets??[],...d]},u=await n.render(c,p,e?.signal);t.enqueue(u),t.close()}catch(s){t.error(s)}}})}var b={webp:"image/webp",png:"image/png",jpeg:"image/jpeg",raw:"application/octet-stream"},o=class extends Response{constructor(e,t){let s=I(e,t),n=new Headers(t?.headers);n.get("content-type")||n.set("content-type",b[t?.format??w.format]),super(s,{status:t?.status,statusText:t?.statusText,headers:n})}},N=o;export{o as ImageResponse,N as default};
|
package/dist/wasm.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var g=Object.create;var p=Object.defineProperty;var
|
|
1
|
+
"use strict";var g=Object.create;var p=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var s in t)p(e,s,{get:t[s],enumerable:!0})},f=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of I(t))!h.call(e,r)&&r!==s&&p(e,r,{get:()=>t[r],enumerable:!(n=y(t,r))||n.enumerable});return e};var w=(e,t,s)=>(s=e!=null?g(O(e)):{},f(t||!e||!e.__esModule?p(s,"default",{value:e,enumerable:!0}):s,e)),x=e=>f(p({},"__esModule",{value:!0}),e);var E={};j(E,{ImageResponse:()=>m,default:()=>A});module.exports=x(E);var u=require("@takumi-rs/helpers"),d=require("@takumi-rs/helpers/emoji"),l=require("@takumi-rs/helpers/jsx"),a=w(require("@takumi-rs/wasm/no-bundler"),1),o;function b(e){if(e&&"renderer"in e)return e.renderer;if(!o)return o=new a.Renderer(e),o;if(e?.fonts)for(let t of e.fonts)o.loadFont(t);if(e?.persistentImages)for(let t of e.persistentImages)o.putPersistentImage(t);return o}var c=null;async function T(e){!("module"in e)||o||(c||(c=(async()=>{let t=await e.module;typeof t=="object"&&"default"in t&&(t=t.default),await(0,a.default)({module_or_path:t})})()),await c)}async function F(e,t){let s={...t},{node:n,stylesheets:r}=await(0,l.fromJsx)(e,s.jsx);if(s.stylesheets=[...s.stylesheets??[],...r],s.emoji&&s.emoji!=="from-font"&&(n=(0,d.extractEmojis)(n,s.emoji)),!s.fetchedResources){let i=(0,a.extractResourceUrls)(n);i.length>0&&(s.fetchedResources=await(0,u.fetchResources)(i))}return{node:n,options:s}}function N(e,t){return new ReadableStream({type:"bytes",async start(s){try{await T(t);let n=b(t),{node:r,options:i}=await F(e,t),R=n.render(r,i);s.enqueue(R),s.close()}catch(n){s.error(n)}}})}var P={png:"image/png",jpeg:"image/jpeg",webp:"image/webp",raw:"application/octet-stream"},W={format:"webp"},m=class extends Response{constructor(t,s){let n=N(t,s),r=new Headers(s.headers);r.get("content-type")||r.set("content-type",P[s.format??W.format]),super(n,{status:s.status,statusText:s.statusText,headers:r})}},A=m;0&&(module.exports={ImageResponse});
|
package/dist/wasm.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EmojiType } from '@takumi-rs/helpers/emoji';
|
|
1
2
|
import { FromJsxOptions } from '@takumi-rs/helpers/jsx';
|
|
2
3
|
import { RenderOptions, Renderer, InitInput, Font, ImageSource } from '@takumi-rs/wasm/no-bundler';
|
|
3
4
|
import { ReactNode } from 'react';
|
|
@@ -41,11 +42,13 @@ type ModuleOptions = {
|
|
|
41
42
|
type ImageResponseOptionsWithRenderer = ResponseInit & RenderOptions & {
|
|
42
43
|
renderer: Renderer;
|
|
43
44
|
jsx?: FromJsxOptions;
|
|
45
|
+
emoji?: EmojiType | "from-font";
|
|
44
46
|
};
|
|
45
47
|
type ImageResponseOptionsWithoutRenderer = ResponseInit & RenderOptions & ModuleOptions & {
|
|
46
48
|
fonts?: Font[];
|
|
47
49
|
persistentImages?: ImageSource[];
|
|
48
50
|
jsx?: FromJsxOptions;
|
|
51
|
+
emoji?: EmojiType | "from-font";
|
|
49
52
|
};
|
|
50
53
|
type ImageResponseOptions = ImageResponseOptionsWithRenderer | ImageResponseOptionsWithoutRenderer;
|
|
51
54
|
declare class ImageResponse extends Response {
|
package/dist/wasm.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EmojiType } from '@takumi-rs/helpers/emoji';
|
|
1
2
|
import { FromJsxOptions } from '@takumi-rs/helpers/jsx';
|
|
2
3
|
import { RenderOptions, Renderer, InitInput, Font, ImageSource } from '@takumi-rs/wasm/no-bundler';
|
|
3
4
|
import { ReactNode } from 'react';
|
|
@@ -41,11 +42,13 @@ type ModuleOptions = {
|
|
|
41
42
|
type ImageResponseOptionsWithRenderer = ResponseInit & RenderOptions & {
|
|
42
43
|
renderer: Renderer;
|
|
43
44
|
jsx?: FromJsxOptions;
|
|
45
|
+
emoji?: EmojiType | "from-font";
|
|
44
46
|
};
|
|
45
47
|
type ImageResponseOptionsWithoutRenderer = ResponseInit & RenderOptions & ModuleOptions & {
|
|
46
48
|
fonts?: Font[];
|
|
47
49
|
persistentImages?: ImageSource[];
|
|
48
50
|
jsx?: FromJsxOptions;
|
|
51
|
+
emoji?: EmojiType | "from-font";
|
|
49
52
|
};
|
|
50
53
|
type ImageResponseOptions = ImageResponseOptionsWithRenderer | ImageResponseOptionsWithoutRenderer;
|
|
51
54
|
declare class ImageResponse extends Response {
|
package/dist/wasm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fetchResources as
|
|
1
|
+
import{fetchResources as c}from"@takumi-rs/helpers";import{extractEmojis as f}from"@takumi-rs/helpers/emoji";import{fromJsx as u}from"@takumi-rs/helpers/jsx";import d,{extractResourceUrls as l,Renderer as R}from"@takumi-rs/wasm/no-bundler";var o;function g(s){if(s&&"renderer"in s)return s.renderer;if(!o)return o=new R(s),o;if(s?.fonts)for(let t of s.fonts)o.loadFont(t);if(s?.persistentImages)for(let t of s.persistentImages)o.putPersistentImage(t);return o}var i=null;async function y(s){!("module"in s)||o||(i||(i=(async()=>{let t=await s.module;typeof t=="object"&&"default"in t&&(t=t.default),await d({module_or_path:t})})()),await i)}async function I(s,t){let e={...t},{node:n,stylesheets:r}=await u(s,e.jsx);if(e.stylesheets=[...e.stylesheets??[],...r],e.emoji&&e.emoji!=="from-font"&&(n=f(n,e.emoji)),!e.fetchedResources){let a=l(n);a.length>0&&(e.fetchedResources=await c(a))}return{node:n,options:e}}function O(s,t){return new ReadableStream({type:"bytes",async start(e){try{await y(t);let n=g(t),{node:r,options:a}=await I(s,t),m=n.render(r,a);e.enqueue(m),e.close()}catch(n){e.error(n)}}})}var h={png:"image/png",jpeg:"image/jpeg",webp:"image/webp",raw:"application/octet-stream"},j={format:"webp"},p=class extends Response{constructor(t,e){let n=O(t,e),r=new Headers(e.headers);r.get("content-type")||r.set("content-type",h[e.format??j.format]),super(n,{status:e.status,statusText:e.statusText,headers:r})}},F=p;export{p as ImageResponse,F as default};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@takumi-rs/image-response",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "me@kane.tw",
|
|
7
7
|
"name": "Kane Wang",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"url": "git+https://github.com/kane50613/takumi.git"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@takumi-rs/core": "1.0.0-beta.
|
|
15
|
-
"@takumi-rs/helpers": "1.0.0-beta.
|
|
16
|
-
"@takumi-rs/wasm": "1.0.0-beta.
|
|
14
|
+
"@takumi-rs/core": "1.0.0-beta.2",
|
|
15
|
+
"@takumi-rs/helpers": "1.0.0-beta.2",
|
|
16
|
+
"@takumi-rs/wasm": "1.0.0-beta.2"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/bun": "catalog:",
|