From 7266ab0383097a9ec4ca238a838063685aeb1540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=99=A8=E6=9D=B0?= <309272985@qq.com> Date: Tue, 10 Jan 2023 14:46:58 +0800 Subject: [PATCH] feat: extract style node to support Next.js _document.tsx render style tags --- src/hooks/useStyleRegister.tsx | 22 ++++++++++++++++++ src/index.ts | 6 ++++- tests/server.spec.tsx | 42 +++++++++++++++++++++++++++------- 3 files changed, 61 insertions(+), 9 deletions(-) diff --git a/src/hooks/useStyleRegister.tsx b/src/hooks/useStyleRegister.tsx index 0dc2d1f9..ce8de15d 100644 --- a/src/hooks/useStyleRegister.tsx +++ b/src/hooks/useStyleRegister.tsx @@ -483,3 +483,25 @@ export function extractStyle(cache: Cache) { return styleText; } + +export function extractStyleNode(cache: Cache) { + const styleKeys = Array.from(cache.cache.keys()).filter((key) => + key.startsWith('style%'), + ); + + return styleKeys.map((key) => { + const [styleStr, tokenKey, styleId]: [string, string, string] = + cache.cache.get(key)![1]; + + return ( +