acrylblends 0.6.1 → 0.6.3
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/README.md +11 -6
- package/docs/framework/README.md +3 -2
- package/docs/framework/UPSTREAM.md +1 -1
- package/docs/framework/api/presets.md +0 -3
- package/docs/framework/cordis/acryl-in-a-cordis-app.md +9 -0
- package/docs/framework/getting-started/basic.md +5 -4
- package/docs/framework/getting-started/desktop.md +41 -0
- package/docs/framework/guides/jsx-dom.md +0 -3
- package/docs/framework/guides/jsx.md +1 -4
- package/docs/framework/guides/middleware.md +1 -1
- package/docs/framework/helpers/cookie.md +1 -1
- package/docs/framework/helpers/css.md +0 -3
- package/docs/framework/helpers/dev.md +0 -3
- package/docs/framework/helpers/jwt.md +1 -1
- package/docs/framework/helpers/proxy.md +0 -3
- package/docs/framework/middleware/builtin/basic-auth.md +6 -6
- package/docs/framework/middleware/builtin/cache.md +0 -3
- package/docs/framework/middleware/builtin/combine.md +1 -1
- package/docs/framework/middleware/builtin/ip-restriction.md +1 -1
- package/docs/framework/middleware/builtin/logger.md +1 -1
- package/docs/framework/middleware/builtin/mount.md +0 -3
- package/docs/framework/upstream.json +3 -3
- package/lib/accepts.d.ts +1 -1
- package/lib/acryl-base.d.ts +1 -1
- package/lib/adapter.d.ts +1 -1
- package/lib/{app-CmAYW1Al.d.ts → app-wFwpg-bt.d.ts} +1 -1
- package/lib/base-BpQy2Rk7.d.ts +783 -0
- package/lib/base-ddiVmiE7.js +721 -0
- package/lib/basic-auth.d.ts +1 -1
- package/lib/bearer-auth.d.ts +1 -1
- package/lib/body-limit.d.ts +1 -1
- package/lib/cache.d.ts +43 -0
- package/lib/cache.js +169 -0
- package/lib/client.d.ts +2 -2
- package/lib/combine.d.ts +1 -1
- package/lib/common-D8Z4JRCw.d.ts +46 -0
- package/lib/components-Ce5FRyHU.js +268 -0
- package/lib/components-DYZdxJIJ.js +24 -0
- package/lib/compress.d.ts +1 -1
- package/lib/conninfo.d.ts +2 -2
- package/lib/constants-BR9jM9BC.js +9 -0
- package/lib/{context-Bm7rI-oK.d.ts → context-DVQBjuns.d.ts} +1 -1
- package/lib/context-DxFdY_un.d.ts +250 -0
- package/lib/context-storage.d.ts +1 -1
- package/lib/{cookie-ClMaKDQf.d.ts → cookie-CCelEqky.d.ts} +1 -1
- package/lib/cookie.d.ts +3 -3
- package/lib/cors.d.ts +1 -1
- package/lib/csrf.d.ts +1 -1
- package/lib/css-D2jb7X8b.js +320 -0
- package/lib/css.d.ts +82 -0
- package/lib/css.js +134 -0
- package/lib/dev.d.ts +19 -0
- package/lib/dev.js +50 -0
- package/lib/etag.d.ts +1 -1
- package/lib/factory.d.ts +2 -2
- package/lib/hooks-Bq5q9IMl.js +762 -0
- package/lib/html-SllAe0YT.d.ts +46 -0
- package/lib/html.d.ts +1 -1
- package/lib/index-C850MeBA.d.ts +94 -0
- package/lib/{index-oOClm_Xk.d.ts → index-CUTfU69R.d.ts} +3 -3
- package/lib/{index-B-3F4wt2.d.ts → index-Cqcdluyn.d.ts} +2 -2
- package/lib/{index-UTBmM3GX.d.ts → index-CsvB-F9j.d.ts} +2 -2
- package/lib/index.d.ts +4 -4
- package/lib/ip-restriction.d.ts +2 -2
- package/lib/jsx/dom/client.d.ts +30 -0
- package/lib/jsx/dom/client.js +49 -0
- package/lib/jsx/dom/css.d.ts +84 -0
- package/lib/jsx/dom/css.js +2 -0
- package/lib/jsx/dom/jsx-dev-runtime.d.ts +3 -0
- package/lib/jsx/dom/jsx-dev-runtime.js +2 -0
- package/lib/jsx/dom/jsx-runtime.d.ts +3 -0
- package/lib/jsx/dom/jsx-runtime.js +2 -0
- package/lib/jsx/dom/server.d.ts +105 -0
- package/lib/jsx/dom/server.js +37 -0
- package/lib/jsx/dom.d.ts +5 -0
- package/lib/jsx/dom.js +74 -0
- package/lib/jsx/jsx-dev-runtime.d.ts +6 -0
- package/lib/jsx/jsx-dev-runtime.js +14 -0
- package/lib/jsx/jsx-runtime.d.ts +10 -0
- package/lib/jsx/jsx-runtime.js +30 -0
- package/lib/jsx/streaming.d.ts +2 -0
- package/lib/jsx/streaming.js +2 -0
- package/lib/jsx-dev-runtime-B22O-Npk.d.ts +7 -0
- package/lib/jsx-dev-runtime-kAhR_4C7.js +354 -0
- package/lib/jsx-runtime-BVVgDSdq.d.ts +1 -0
- package/lib/jsx.d.ts +3 -0
- package/lib/jsx.js +47 -0
- package/lib/jwk.d.ts +4 -4
- package/lib/{jwt-Dg493Tai.d.ts → jwt-BARhotDz.d.ts} +1 -1
- package/lib/jwt.d.ts +4 -4
- package/lib/language.d.ts +1 -1
- package/lib/linear-router-C3FPib6h.js +96 -0
- package/lib/logger.d.ts +1 -1
- package/lib/loopback-only.d.ts +1 -1
- package/lib/method-not-allowed.d.ts +2 -2
- package/lib/method-override.d.ts +2 -2
- package/lib/mount.d.ts +44 -0
- package/lib/mount.js +67 -0
- package/lib/node-server/conninfo.d.ts +1 -1
- package/lib/node-server/serve-static.d.ts +1 -1
- package/lib/node-server/serve-static.js +1 -1
- package/lib/node-server.d.ts +1 -1
- package/lib/node-server.js +1 -1
- package/lib/pattern-router-HZxjDGEQ.js +41 -0
- package/lib/powered-by.d.ts +1 -1
- package/lib/pretty-json.d.ts +1 -1
- package/lib/proxy.d.ts +72 -0
- package/lib/proxy.js +121 -0
- package/lib/quick.d.ts +8 -0
- package/lib/quick.js +17 -0
- package/lib/request-id.d.ts +1 -1
- package/lib/request.d.ts +1 -1
- package/lib/route.d.ts +1 -1
- package/lib/router/linear-router.js +1 -95
- package/lib/router/pattern-router.js +1 -40
- package/lib/schema-validator.d.ts +1 -1
- package/lib/secure-headers.d.ts +1 -1
- package/lib/{serve-static-Dw_m6KxR.js → serve-static-Cw23shXv.js} +1 -0
- package/lib/serve-static.d.ts +1 -1
- package/lib/streaming.d.ts +1 -1
- package/lib/testing.d.ts +4 -4
- package/lib/timeout.d.ts +1 -1
- package/lib/timing.d.ts +1 -1
- package/lib/tiny.d.ts +8 -0
- package/lib/tiny.js +15 -0
- package/lib/trailing-slash.d.ts +1 -1
- package/lib/{types-CHesD1KG.d.ts → types-CQiGmsWW.d.ts} +3 -3
- package/lib/{types-CwrQjlaM.d.ts → types-Lqx5BxQF.d.ts} +10 -1
- package/lib/{types-CDO6I3B0.d.ts → types-nEL8VPDC.d.ts} +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/utils/body.d.ts +1 -1
- package/lib/utils/cookie.d.ts +1 -1
- package/lib/utils/crypto.d.ts +1 -1
- package/lib/utils/html.d.ts +1 -45
- package/lib/utils/ipaddr.d.ts +1 -1
- package/lib/utils/jwt.d.ts +1 -1
- package/lib/utils/types.d.ts +2 -2
- package/lib/validator.d.ts +2 -2
- package/lib/ws.d.ts +1 -1
- package/package.json +69 -1
- package/plugins/acryl-inspect/upstream.json +1 -1
- package/plugins/acryl-node-server/upstream.json +1 -1
- package/plugins/acryl-router/src/core/helper/css/common.case.test.tsx +506 -0
- package/plugins/acryl-router/src/core/helper/css/common.ts +337 -0
- package/plugins/acryl-router/src/core/helper/css/index.test.tsx +678 -0
- package/plugins/acryl-router/src/core/helper/css/index.ts +262 -0
- package/plugins/acryl-router/src/core/helper/dev/index.test.ts +181 -0
- package/plugins/acryl-router/src/core/helper/dev/index.ts +79 -0
- package/plugins/acryl-router/src/core/helper/proxy/index.test.ts +356 -0
- package/plugins/acryl-router/src/core/helper/proxy/index.ts +203 -0
- package/plugins/acryl-router/src/core/helper/streaming/sse.test.tsx +557 -0
- package/plugins/acryl-router/src/core/jsx/base.test.tsx +97 -0
- package/plugins/acryl-router/src/core/jsx/base.ts +490 -0
- package/plugins/acryl-router/src/core/jsx/children.test.ts +52 -0
- package/plugins/acryl-router/src/core/jsx/children.ts +20 -0
- package/plugins/acryl-router/src/core/jsx/components.test.tsx +936 -0
- package/plugins/acryl-router/src/core/jsx/components.ts +257 -0
- package/plugins/acryl-router/src/core/jsx/constants.ts +6 -0
- package/plugins/acryl-router/src/core/jsx/context-isolation.test.ts +655 -0
- package/plugins/acryl-router/src/core/jsx/context.ts +266 -0
- package/plugins/acryl-router/src/core/jsx/dom/client.test.tsx +128 -0
- package/plugins/acryl-router/src/core/jsx/dom/client.ts +89 -0
- package/plugins/acryl-router/src/core/jsx/dom/components.test.tsx +330 -0
- package/plugins/acryl-router/src/core/jsx/dom/components.ts +39 -0
- package/plugins/acryl-router/src/core/jsx/dom/context.test.tsx +184 -0
- package/plugins/acryl-router/src/core/jsx/dom/context.ts +52 -0
- package/plugins/acryl-router/src/core/jsx/dom/css.test.tsx +149 -0
- package/plugins/acryl-router/src/core/jsx/dom/css.ts +263 -0
- package/plugins/acryl-router/src/core/jsx/dom/hooks/index.test.tsx +172 -0
- package/plugins/acryl-router/src/core/jsx/dom/hooks/index.ts +91 -0
- package/plugins/acryl-router/src/core/jsx/dom/index.test.tsx +3681 -0
- package/plugins/acryl-router/src/core/jsx/dom/index.ts +170 -0
- package/plugins/acryl-router/src/core/jsx/dom/intrinsic-element/components.test.tsx +1344 -0
- package/plugins/acryl-router/src/core/jsx/dom/intrinsic-element/components.ts +438 -0
- package/plugins/acryl-router/src/core/jsx/dom/jsx-dev-runtime.ts +23 -0
- package/plugins/acryl-router/src/core/jsx/dom/jsx-runtime.ts +8 -0
- package/plugins/acryl-router/src/core/jsx/dom/render.ts +879 -0
- package/plugins/acryl-router/src/core/jsx/dom/server.test.tsx +199 -0
- package/plugins/acryl-router/src/core/jsx/dom/server.ts +76 -0
- package/plugins/acryl-router/src/core/jsx/dom/utils.ts +7 -0
- package/plugins/acryl-router/src/core/jsx/hooks/dom.test.tsx +859 -0
- package/plugins/acryl-router/src/core/jsx/hooks/index.ts +437 -0
- package/plugins/acryl-router/src/core/jsx/hooks/string.test.tsx +40 -0
- package/plugins/acryl-router/src/core/jsx/index.test.tsx +1744 -0
- package/plugins/acryl-router/src/core/jsx/index.ts +115 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-element/common.ts +23 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-element/components.test.tsx +666 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-element/components.ts +210 -0
- package/plugins/acryl-router/src/core/jsx/intrinsic-elements.ts +938 -0
- package/plugins/acryl-router/src/core/jsx/jsx-dev-runtime.ts +26 -0
- package/plugins/acryl-router/src/core/jsx/jsx-runtime.test.tsx +85 -0
- package/plugins/acryl-router/src/core/jsx/jsx-runtime.ts +51 -0
- package/plugins/acryl-router/src/core/jsx/streaming.test.tsx +1281 -0
- package/plugins/acryl-router/src/core/jsx/streaming.ts +231 -0
- package/plugins/acryl-router/src/core/jsx/types.ts +41 -0
- package/plugins/acryl-router/src/core/jsx/utils.test.ts +366 -0
- package/plugins/acryl-router/src/core/jsx/utils.ts +202 -0
- package/plugins/acryl-router/src/core/middleware/cache/index.test.ts +1211 -0
- package/plugins/acryl-router/src/core/middleware/cache/index.ts +323 -0
- package/plugins/acryl-router/src/core/middleware/mount/index.test.ts +334 -0
- package/plugins/acryl-router/src/core/middleware/mount/index.ts +108 -0
- package/plugins/acryl-router/src/core/preset/quick.test.ts +42 -0
- package/plugins/acryl-router/src/core/preset/quick.ts +24 -0
- package/plugins/acryl-router/src/core/preset/tiny.test.ts +42 -0
- package/plugins/acryl-router/src/core/preset/tiny.ts +20 -0
- package/plugins/acryl-router/src/core/utils/types.ts +9 -0
- package/plugins/acryl-router/src/helpers/index.ts +3 -0
- package/plugins/acryl-router/src/middleware/index.ts +2 -0
- package/plugins/acryl-router/src/service.ts +22 -5
- package/plugins/acryl-router/tests/jsx.spec.tsx +63 -0
- package/plugins/acryl-router/upstream.json +3 -3
- package/plugins/acryl-router-http/upstream.json +1 -1
- package/plugins/acryl-state/upstream.json +1 -1
- package/plugins/desktop/upstream.json +1 -1
- package/plugins/desktop-web/upstream.json +1 -1
- package/plugins/save/plugin.json +1 -1
- package/templates/todo/upstream.json +1 -1
package/lib/css.d.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { i as HtmlEscapedString } from "./html-SllAe0YT.js";
|
|
2
|
+
import { a as rawCssString, i as OnInvalidSlug, n as CssClassName$1, r as CssVariableType, t as ClassNameSlug } from "./common-D8Z4JRCw.js";
|
|
3
|
+
|
|
4
|
+
//#region ../../plugins/acryl-router/src/core/helper/css/index.d.ts
|
|
5
|
+
type CssClassName = HtmlEscapedString & CssClassName$1;
|
|
6
|
+
interface CssType {
|
|
7
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): Promise<string>;
|
|
8
|
+
}
|
|
9
|
+
interface CxType {
|
|
10
|
+
(...args: (CssClassName | Promise<string> | string | boolean | null | undefined)[]): Promise<string>;
|
|
11
|
+
}
|
|
12
|
+
interface KeyframesType {
|
|
13
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): CssClassName$1;
|
|
14
|
+
}
|
|
15
|
+
interface ViewTransitionType {
|
|
16
|
+
(strings: TemplateStringsArray, ...values: CssVariableType[]): Promise<string>;
|
|
17
|
+
(content: Promise<string>): Promise<string>;
|
|
18
|
+
(): Promise<string>;
|
|
19
|
+
}
|
|
20
|
+
interface StyleType {
|
|
21
|
+
(args?: {
|
|
22
|
+
children?: Promise<string>;
|
|
23
|
+
nonce?: string;
|
|
24
|
+
}): HtmlEscapedString;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @experimental
|
|
28
|
+
* `createCssContext` is an experimental feature.
|
|
29
|
+
* The API might be changed.
|
|
30
|
+
*
|
|
31
|
+
* @param options.id - The ID for the style element
|
|
32
|
+
* @param options.classNameSlug - Optional function to customize generated CSS class names
|
|
33
|
+
* @param options.onInvalidSlug - Optional callback function called when an invalid slug is returned from ClassNameSlug
|
|
34
|
+
*/
|
|
35
|
+
declare const createCssContext: ({
|
|
36
|
+
id,
|
|
37
|
+
classNameSlug,
|
|
38
|
+
onInvalidSlug
|
|
39
|
+
}: {
|
|
40
|
+
id: Readonly<string>;
|
|
41
|
+
classNameSlug?: ClassNameSlug;
|
|
42
|
+
onInvalidSlug?: OnInvalidSlug;
|
|
43
|
+
}) => DefaultContextType;
|
|
44
|
+
interface DefaultContextType {
|
|
45
|
+
css: CssType;
|
|
46
|
+
cx: CxType;
|
|
47
|
+
keyframes: KeyframesType;
|
|
48
|
+
viewTransition: ViewTransitionType;
|
|
49
|
+
Style: StyleType;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @experimental
|
|
53
|
+
* `css` is an experimental feature.
|
|
54
|
+
* The API might be changed.
|
|
55
|
+
*/
|
|
56
|
+
declare const css: CssType;
|
|
57
|
+
/**
|
|
58
|
+
* @experimental
|
|
59
|
+
* `cx` is an experimental feature.
|
|
60
|
+
* The API might be changed.
|
|
61
|
+
*/
|
|
62
|
+
declare const cx: CxType;
|
|
63
|
+
/**
|
|
64
|
+
* @experimental
|
|
65
|
+
* `keyframes` is an experimental feature.
|
|
66
|
+
* The API might be changed.
|
|
67
|
+
*/
|
|
68
|
+
declare const keyframes: KeyframesType;
|
|
69
|
+
/**
|
|
70
|
+
* @experimental
|
|
71
|
+
* `viewTransition` is an experimental feature.
|
|
72
|
+
* The API might be changed.
|
|
73
|
+
*/
|
|
74
|
+
declare const viewTransition: ViewTransitionType;
|
|
75
|
+
/**
|
|
76
|
+
* @experimental
|
|
77
|
+
* `Style` is an experimental feature.
|
|
78
|
+
* The API might be changed.
|
|
79
|
+
*/
|
|
80
|
+
declare const Style: StyleType;
|
|
81
|
+
//#endregion
|
|
82
|
+
export { type ClassNameSlug, type OnInvalidSlug, Style, createCssContext, css, cx, keyframes, rawCssString, viewTransition };
|
package/lib/css.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { escapeToBuffer, raw } from "./utils/html.js";
|
|
2
|
+
import { i as DOM_RENDERER } from "./constants-BR9jM9BC.js";
|
|
3
|
+
import { _ as rawCssString, c as CLASS_NAME, d as SELECTOR, f as SELECTORS, g as keyframesCommon, h as cxCommon, l as DEFAULT_STYLE_ID, m as cssCommon, p as STYLE_STRING, r as createCssJsxDomObjects, v as viewTransitionCommon } from "./css-D2jb7X8b.js";
|
|
4
|
+
//#region ../../plugins/acryl-router/src/core/helper/css/index.ts
|
|
5
|
+
/**
|
|
6
|
+
* @module
|
|
7
|
+
* css Helper for Acryl.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* @experimental
|
|
11
|
+
* `createCssContext` is an experimental feature.
|
|
12
|
+
* The API might be changed.
|
|
13
|
+
*
|
|
14
|
+
* @param options.id - The ID for the style element
|
|
15
|
+
* @param options.classNameSlug - Optional function to customize generated CSS class names
|
|
16
|
+
* @param options.onInvalidSlug - Optional callback function called when an invalid slug is returned from ClassNameSlug
|
|
17
|
+
*/
|
|
18
|
+
const createCssContext = ({ id, classNameSlug, onInvalidSlug }) => {
|
|
19
|
+
const [cssJsxDomObject, StyleRenderToDom] = createCssJsxDomObjects({ id });
|
|
20
|
+
const contextMap = /* @__PURE__ */ new WeakMap();
|
|
21
|
+
const nonceMap = /* @__PURE__ */ new WeakMap();
|
|
22
|
+
const replaceStyleRe = new RegExp(`(<style id="${id}"(?: nonce="[^"]*")?>.*?)(</style>)`, "s");
|
|
23
|
+
const newCssClassNameObject = (cssClassName) => {
|
|
24
|
+
const appendStyle = ({ buffer, context }) => {
|
|
25
|
+
const [toAdd, added] = contextMap.get(context);
|
|
26
|
+
const names = Object.keys(toAdd);
|
|
27
|
+
if (!names.length) return;
|
|
28
|
+
let stylesStr = "";
|
|
29
|
+
names.forEach((className) => {
|
|
30
|
+
added[className] = true;
|
|
31
|
+
stylesStr += className.startsWith(":-acryl-global") ? toAdd[className] : `${className[0] === "@" ? "" : "."}${className}{${toAdd[className]}}`;
|
|
32
|
+
});
|
|
33
|
+
contextMap.set(context, [{}, added]);
|
|
34
|
+
if (buffer && replaceStyleRe.test(buffer[0])) {
|
|
35
|
+
buffer[0] = buffer[0].replace(replaceStyleRe, (_, pre, post) => `${pre}${stylesStr}${post}`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const nonce = nonceMap.get(context);
|
|
39
|
+
const appendStyleScript = `<script${nonce ? ` nonce="${nonce}"` : ""}>document.querySelector('#${id}').textContent+=${JSON.stringify(stylesStr)}<\/script>`;
|
|
40
|
+
if (buffer) {
|
|
41
|
+
buffer[0] = `${appendStyleScript}${buffer[0]}`;
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
return Promise.resolve(appendStyleScript);
|
|
45
|
+
};
|
|
46
|
+
const addClassNameToContext = ({ context }) => {
|
|
47
|
+
if (!contextMap.has(context)) contextMap.set(context, [{}, {}]);
|
|
48
|
+
const [toAdd, added] = contextMap.get(context);
|
|
49
|
+
let allAdded = true;
|
|
50
|
+
if (!added[cssClassName[SELECTOR]]) {
|
|
51
|
+
allAdded = false;
|
|
52
|
+
toAdd[cssClassName[SELECTOR]] = cssClassName[STYLE_STRING];
|
|
53
|
+
}
|
|
54
|
+
cssClassName[SELECTORS].forEach(({ [CLASS_NAME]: className, [STYLE_STRING]: styleString }) => {
|
|
55
|
+
if (!added[className]) {
|
|
56
|
+
allAdded = false;
|
|
57
|
+
toAdd[className] = styleString;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
if (allAdded) return;
|
|
61
|
+
return Promise.resolve(raw("", [appendStyle]));
|
|
62
|
+
};
|
|
63
|
+
const rawClassName = cssClassName[CLASS_NAME];
|
|
64
|
+
let escapedClassName = rawClassName;
|
|
65
|
+
if (/[&<>'"]/.test(rawClassName)) {
|
|
66
|
+
const escapedBuffer = [""];
|
|
67
|
+
escapeToBuffer(rawClassName, escapedBuffer);
|
|
68
|
+
escapedClassName = escapedBuffer[0];
|
|
69
|
+
}
|
|
70
|
+
const className = new String(escapedClassName);
|
|
71
|
+
Object.assign(className, cssClassName);
|
|
72
|
+
className.isEscaped = true;
|
|
73
|
+
className.callbacks = [addClassNameToContext];
|
|
74
|
+
const promise = Promise.resolve(className);
|
|
75
|
+
Object.assign(promise, cssClassName);
|
|
76
|
+
promise.toString = cssJsxDomObject.toString;
|
|
77
|
+
return promise;
|
|
78
|
+
};
|
|
79
|
+
const css = (strings, ...values) => {
|
|
80
|
+
return newCssClassNameObject(cssCommon(strings, values, classNameSlug, onInvalidSlug));
|
|
81
|
+
};
|
|
82
|
+
const cx = (...args) => {
|
|
83
|
+
args = cxCommon(args);
|
|
84
|
+
return css(Array(args.length).fill(""), ...args);
|
|
85
|
+
};
|
|
86
|
+
const keyframes = (strings, ...values) => keyframesCommon(strings, values, classNameSlug, onInvalidSlug);
|
|
87
|
+
const viewTransition = ((strings, ...values) => {
|
|
88
|
+
return newCssClassNameObject(viewTransitionCommon(strings, values, classNameSlug, onInvalidSlug));
|
|
89
|
+
});
|
|
90
|
+
const Style = ({ children, nonce } = {}) => raw(`<style id="${id}"${nonce ? ` nonce="${nonce}"` : ""}>${children ? children[STYLE_STRING] : ""}</style>`, [({ context }) => {
|
|
91
|
+
nonceMap.set(context, nonce);
|
|
92
|
+
}]);
|
|
93
|
+
Style[DOM_RENDERER] = StyleRenderToDom;
|
|
94
|
+
return {
|
|
95
|
+
css,
|
|
96
|
+
cx,
|
|
97
|
+
keyframes,
|
|
98
|
+
viewTransition,
|
|
99
|
+
Style
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
const defaultContext = createCssContext({ id: DEFAULT_STYLE_ID });
|
|
103
|
+
/**
|
|
104
|
+
* @experimental
|
|
105
|
+
* `css` is an experimental feature.
|
|
106
|
+
* The API might be changed.
|
|
107
|
+
*/
|
|
108
|
+
const css = defaultContext.css;
|
|
109
|
+
/**
|
|
110
|
+
* @experimental
|
|
111
|
+
* `cx` is an experimental feature.
|
|
112
|
+
* The API might be changed.
|
|
113
|
+
*/
|
|
114
|
+
const cx = defaultContext.cx;
|
|
115
|
+
/**
|
|
116
|
+
* @experimental
|
|
117
|
+
* `keyframes` is an experimental feature.
|
|
118
|
+
* The API might be changed.
|
|
119
|
+
*/
|
|
120
|
+
const keyframes = defaultContext.keyframes;
|
|
121
|
+
/**
|
|
122
|
+
* @experimental
|
|
123
|
+
* `viewTransition` is an experimental feature.
|
|
124
|
+
* The API might be changed.
|
|
125
|
+
*/
|
|
126
|
+
const viewTransition = defaultContext.viewTransition;
|
|
127
|
+
/**
|
|
128
|
+
* @experimental
|
|
129
|
+
* `Style` is an experimental feature.
|
|
130
|
+
* The API might be changed.
|
|
131
|
+
*/
|
|
132
|
+
const Style = defaultContext.Style;
|
|
133
|
+
//#endregion
|
|
134
|
+
export { Style, createCssContext, css, cx, keyframes, rawCssString, viewTransition };
|
package/lib/dev.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { _ as Env } from "./context-DVQBjuns.js";
|
|
2
|
+
import { t as Acryl } from "./app-wFwpg-bt.js";
|
|
3
|
+
|
|
4
|
+
//#region ../../plugins/acryl-router/src/core/helper/dev/index.d.ts
|
|
5
|
+
interface ShowRoutesOptions {
|
|
6
|
+
verbose?: boolean;
|
|
7
|
+
colorize?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface RouteData {
|
|
10
|
+
path: string;
|
|
11
|
+
method: string;
|
|
12
|
+
name: string;
|
|
13
|
+
isMiddleware: boolean;
|
|
14
|
+
}
|
|
15
|
+
declare const inspectRoutes: <E extends Env>(acryl: Acryl<E>) => RouteData[];
|
|
16
|
+
declare const showRoutes: <E extends Env>(acryl: Acryl<E>, opts?: ShowRoutesOptions) => void;
|
|
17
|
+
declare const getRouterName: <E extends Env>(app: Acryl<E>) => string;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { getRouterName, inspectRoutes, showRoutes };
|
package/lib/dev.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getColorEnabled } from "./utils/color.js";
|
|
2
|
+
import { findTargetHandler, isMiddleware } from "./utils/handler.js";
|
|
3
|
+
//#region ../../plugins/acryl-router/src/core/helper/dev/index.ts
|
|
4
|
+
const handlerName = (handler) => {
|
|
5
|
+
return handler.name || (isMiddleware(handler) ? "[middleware]" : "[handler]");
|
|
6
|
+
};
|
|
7
|
+
const inspectRoutes = (acryl) => {
|
|
8
|
+
return acryl.routes.map(({ path, method, handler }) => {
|
|
9
|
+
const targetHandler = findTargetHandler(handler);
|
|
10
|
+
return {
|
|
11
|
+
path,
|
|
12
|
+
method,
|
|
13
|
+
name: handlerName(targetHandler),
|
|
14
|
+
isMiddleware: isMiddleware(targetHandler)
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
const showRoutes = (acryl, opts) => {
|
|
19
|
+
const colorEnabled = opts?.colorize ?? getColorEnabled();
|
|
20
|
+
const routeData = {};
|
|
21
|
+
let maxMethodLength = 0;
|
|
22
|
+
let maxPathLength = 0;
|
|
23
|
+
inspectRoutes(acryl).filter(({ isMiddleware }) => opts?.verbose || !isMiddleware).map((route) => {
|
|
24
|
+
const key = `${route.method}-${route.path}`;
|
|
25
|
+
(routeData[key] ||= []).push(route);
|
|
26
|
+
if (routeData[key].length > 1) return;
|
|
27
|
+
maxMethodLength = Math.max(maxMethodLength, route.method.length);
|
|
28
|
+
maxPathLength = Math.max(maxPathLength, route.path.length);
|
|
29
|
+
return {
|
|
30
|
+
method: route.method,
|
|
31
|
+
path: route.path,
|
|
32
|
+
routes: routeData[key]
|
|
33
|
+
};
|
|
34
|
+
}).forEach((data) => {
|
|
35
|
+
if (!data) return;
|
|
36
|
+
const { method, path, routes } = data;
|
|
37
|
+
const methodStr = colorEnabled ? `\x1b[32m${method}\x1b[0m` : method;
|
|
38
|
+
console.log(`${methodStr} ${" ".repeat(maxMethodLength - method.length)} ${path}`);
|
|
39
|
+
if (!opts?.verbose) return;
|
|
40
|
+
routes.forEach(({ name }) => {
|
|
41
|
+
console.log(`${" ".repeat(maxMethodLength + 3)} ${name}`);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const getRouterName = (app) => {
|
|
46
|
+
app.router.match("GET", "/");
|
|
47
|
+
return app.router.name;
|
|
48
|
+
};
|
|
49
|
+
//#endregion
|
|
50
|
+
export { getRouterName, inspectRoutes, showRoutes };
|
package/lib/etag.d.ts
CHANGED
package/lib/factory.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as Input, I as MiddlewareHandler, M as IntersectNonAnyTypes, T as H, _ as Env, et as AcrylOptions, k as HandlerResponse } from "./context-
|
|
2
|
-
import { t as Acryl } from "./app-
|
|
1
|
+
import { A as Input, I as MiddlewareHandler, M as IntersectNonAnyTypes, T as H, _ as Env, et as AcrylOptions, k as HandlerResponse } from "./context-DVQBjuns.js";
|
|
2
|
+
import { t as Acryl } from "./app-wFwpg-bt.js";
|
|
3
3
|
|
|
4
4
|
//#region ../../plugins/acryl-router/src/core/helper/factory/index.d.ts
|
|
5
5
|
type InitApp<E extends Env = Env> = (app: Acryl<E>) => void;
|