vorma 0.0.0-pre.0 → 0.82.0
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/LICENSE +28 -0
- package/README.md +48 -0
- package/internal/framework/_typescript/client/index.ts +64 -0
- package/internal/framework/_typescript/client/src/asset_manager.ts +67 -0
- package/internal/framework/_typescript/client/src/client.ts +1201 -0
- package/internal/framework/_typescript/client/src/client_loaders.ts +249 -0
- package/internal/framework/_typescript/client/src/component_loader.ts +105 -0
- package/internal/framework/_typescript/client/src/error_boundary.ts +7 -0
- package/internal/framework/_typescript/client/src/events.ts +54 -0
- package/internal/framework/_typescript/client/src/global_loading_indicator/global_loading_indicator.ts +125 -0
- package/internal/framework/_typescript/client/src/hard_reload.ts +1 -0
- package/internal/framework/_typescript/client/src/head_elements/head_elements.ts +193 -0
- package/internal/framework/_typescript/client/src/history/history.ts +118 -0
- package/internal/framework/_typescript/client/src/history/npm_history_types.ts +83 -0
- package/internal/framework/_typescript/client/src/hmr/hmr.ts +71 -0
- package/internal/framework/_typescript/client/src/init_client.ts +134 -0
- package/internal/framework/_typescript/client/src/links.ts +218 -0
- package/internal/framework/_typescript/client/src/redirects/redirects.ts +203 -0
- package/internal/framework/_typescript/client/src/rendering.ts +135 -0
- package/internal/framework/_typescript/client/src/resolve_public_href.ts +15 -0
- package/internal/framework/_typescript/client/src/scroll_state_manager.ts +100 -0
- package/internal/framework/_typescript/client/src/static_route_defs/route_def_helpers.ts +22 -0
- package/internal/framework/_typescript/client/src/ui_lib_impl_helpers/link_components.ts +131 -0
- package/internal/framework/_typescript/client/src/ui_lib_impl_helpers/route_components.ts +56 -0
- package/internal/framework/_typescript/client/src/ui_lib_impl_helpers/typed_navigate.ts +58 -0
- package/internal/framework/_typescript/client/src/utils/errors.ts +10 -0
- package/internal/framework/_typescript/client/src/utils/logging.ts +7 -0
- package/internal/framework/_typescript/client/src/vorma_app_helpers/vorma_app_helpers.ts +290 -0
- package/internal/framework/_typescript/client/src/vorma_ctx/vorma_ctx.ts +128 -0
- package/internal/framework/_typescript/client/src/window_focus_revalidation/window_focus_revalidation.ts +32 -0
- package/internal/framework/_typescript/client/tsconfig.json +3 -0
- package/internal/framework/_typescript/create/main.ts +378 -0
- package/internal/framework/_typescript/create/package.json +33 -0
- package/internal/framework/_typescript/create/pnpm-lock.yaml +70 -0
- package/internal/framework/_typescript/create/tsconfig.json +3 -0
- package/internal/framework/_typescript/preact/index.tsx +10 -0
- package/internal/framework/_typescript/preact/src/helpers.ts +113 -0
- package/internal/framework/_typescript/preact/src/link.tsx +107 -0
- package/internal/framework/_typescript/preact/src/preact.tsx +191 -0
- package/internal/framework/_typescript/preact/tsconfig.json +7 -0
- package/internal/framework/_typescript/react/index.tsx +10 -0
- package/internal/framework/_typescript/react/src/helpers.ts +118 -0
- package/internal/framework/_typescript/react/src/link.tsx +115 -0
- package/internal/framework/_typescript/react/src/react.tsx +299 -0
- package/internal/framework/_typescript/react/tsconfig.json +6 -0
- package/internal/framework/_typescript/solid/index.tsx +10 -0
- package/internal/framework/_typescript/solid/src/helpers.ts +114 -0
- package/internal/framework/_typescript/solid/src/link.tsx +104 -0
- package/internal/framework/_typescript/solid/src/solid.tsx +204 -0
- package/internal/framework/_typescript/solid/tsconfig.json +7 -0
- package/internal/framework/_typescript/vite/tsconfig.json +3 -0
- package/internal/framework/_typescript/vite/vite.ts +93 -0
- package/internal/site/frontend/assets/vorma-banner.webp +0 -0
- package/kit/_typescript/converters/converters.ts +152 -0
- package/kit/_typescript/cookies/cookies.ts +18 -0
- package/kit/_typescript/csrf/csrf.ts +10 -0
- package/kit/_typescript/debounce/debounce.ts +17 -0
- package/kit/_typescript/fmt/fmt.ts +3 -0
- package/kit/_typescript/json/deep_equals.ts +54 -0
- package/kit/_typescript/json/json.ts +3 -0
- package/kit/_typescript/json/search_param_serializer.ts +49 -0
- package/kit/_typescript/json/stringify_stable.ts +43 -0
- package/kit/_typescript/listeners/listeners.ts +16 -0
- package/kit/_typescript/matcher/find_best_match.ts +205 -0
- package/kit/_typescript/matcher/find_nested_matches.ts +357 -0
- package/kit/_typescript/matcher/parse_segments.ts +30 -0
- package/kit/_typescript/matcher/register.ts +271 -0
- package/kit/_typescript/theme/theme.ts +166 -0
- package/kit/_typescript/tsconfig.json +3 -0
- package/kit/_typescript/url/url.ts +132 -0
- package/npm_dist/internal/framework/_typescript/client/index.d.ts +17 -0
- package/npm_dist/internal/framework/_typescript/client/index.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/index.js +2489 -0
- package/npm_dist/internal/framework/_typescript/client/index.js.map +7 -0
- package/npm_dist/internal/framework/_typescript/client/src/asset_manager.d.ts +6 -0
- package/npm_dist/internal/framework/_typescript/client/src/asset_manager.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/client.d.ts +119 -0
- package/npm_dist/internal/framework/_typescript/client/src/client.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/client_loaders.d.ts +18 -0
- package/npm_dist/internal/framework/_typescript/client/src/client_loaders.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/component_loader.d.ts +10 -0
- package/npm_dist/internal/framework/_typescript/client/src/component_loader.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/error_boundary.d.ts +3 -0
- package/npm_dist/internal/framework/_typescript/client/src/error_boundary.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/events.d.ts +26 -0
- package/npm_dist/internal/framework/_typescript/client/src/events.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/global_loading_indicator/global_loading_indicator.d.ts +12 -0
- package/npm_dist/internal/framework/_typescript/client/src/global_loading_indicator/global_loading_indicator.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/hard_reload.d.ts +2 -0
- package/npm_dist/internal/framework/_typescript/client/src/hard_reload.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/head_elements/head_elements.d.ts +7 -0
- package/npm_dist/internal/framework/_typescript/client/src/head_elements/head_elements.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/history/history.d.ts +14 -0
- package/npm_dist/internal/framework/_typescript/client/src/history/history.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/history/npm_history_types.d.ts +84 -0
- package/npm_dist/internal/framework/_typescript/client/src/history/npm_history_types.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/hmr/hmr.d.ts +3 -0
- package/npm_dist/internal/framework/_typescript/client/src/hmr/hmr.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/init_client.d.ts +9 -0
- package/npm_dist/internal/framework/_typescript/client/src/init_client.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/links.d.ts +33 -0
- package/npm_dist/internal/framework/_typescript/client/src/links.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/redirects/redirects.d.ts +26 -0
- package/npm_dist/internal/framework/_typescript/client/src/redirects/redirects.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/rendering.d.ts +18 -0
- package/npm_dist/internal/framework/_typescript/client/src/rendering.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/resolve_public_href.d.ts +2 -0
- package/npm_dist/internal/framework/_typescript/client/src/resolve_public_href.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/scroll_state_manager.d.ts +22 -0
- package/npm_dist/internal/framework/_typescript/client/src/scroll_state_manager.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/static_route_defs/route_def_helpers.d.ts +12 -0
- package/npm_dist/internal/framework/_typescript/client/src/static_route_defs/route_def_helpers.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/link_components.d.ts +28 -0
- package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/link_components.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/route_components.d.ts +18 -0
- package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/route_components.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/typed_navigate.d.ts +11 -0
- package/npm_dist/internal/framework/_typescript/client/src/ui_lib_impl_helpers/typed_navigate.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/utils/errors.d.ts +3 -0
- package/npm_dist/internal/framework/_typescript/client/src/utils/errors.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/utils/logging.d.ts +3 -0
- package/npm_dist/internal/framework/_typescript/client/src/utils/logging.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/vorma_app_helpers/vorma_app_helpers.d.ts +119 -0
- package/npm_dist/internal/framework/_typescript/client/src/vorma_app_helpers/vorma_app_helpers.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/vorma_ctx/vorma_ctx.d.ts +88 -0
- package/npm_dist/internal/framework/_typescript/client/src/vorma_ctx/vorma_ctx.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/client/src/window_focus_revalidation/window_focus_revalidation.d.ts +10 -0
- package/npm_dist/internal/framework/_typescript/client/src/window_focus_revalidation/window_focus_revalidation.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/create/main.d.ts +3 -0
- package/npm_dist/internal/framework/_typescript/create/main.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/preact/index.d.ts +4 -0
- package/npm_dist/internal/framework/_typescript/preact/index.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/preact/index.js +283 -0
- package/npm_dist/internal/framework/_typescript/preact/index.js.map +7 -0
- package/npm_dist/internal/framework/_typescript/preact/src/helpers.d.ts +21 -0
- package/npm_dist/internal/framework/_typescript/preact/src/helpers.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/preact/src/link.d.ts +11 -0
- package/npm_dist/internal/framework/_typescript/preact/src/link.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/preact/src/preact.d.ts +21 -0
- package/npm_dist/internal/framework/_typescript/preact/src/preact.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/react/index.d.ts +4 -0
- package/npm_dist/internal/framework/_typescript/react/index.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/react/index.js +370 -0
- package/npm_dist/internal/framework/_typescript/react/index.js.map +7 -0
- package/npm_dist/internal/framework/_typescript/react/src/helpers.d.ts +21 -0
- package/npm_dist/internal/framework/_typescript/react/src/helpers.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/react/src/link.d.ts +11 -0
- package/npm_dist/internal/framework/_typescript/react/src/link.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/react/src/react.d.ts +20 -0
- package/npm_dist/internal/framework/_typescript/react/src/react.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/solid/index.d.ts +4 -0
- package/npm_dist/internal/framework/_typescript/solid/index.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/solid/index.js +314 -0
- package/npm_dist/internal/framework/_typescript/solid/index.js.map +7 -0
- package/npm_dist/internal/framework/_typescript/solid/src/helpers.d.ts +22 -0
- package/npm_dist/internal/framework/_typescript/solid/src/helpers.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/solid/src/link.d.ts +11 -0
- package/npm_dist/internal/framework/_typescript/solid/src/link.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/solid/src/solid.d.ts +22 -0
- package/npm_dist/internal/framework/_typescript/solid/src/solid.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/vite/vite.d.ts +11 -0
- package/npm_dist/internal/framework/_typescript/vite/vite.d.ts.map +1 -0
- package/npm_dist/internal/framework/_typescript/vite/vite.js +82 -0
- package/npm_dist/internal/framework/_typescript/vite/vite.js.map +7 -0
- package/npm_dist/kit/_typescript/chunk-YBAPNBS2.js +202 -0
- package/npm_dist/kit/_typescript/chunk-YBAPNBS2.js.map +7 -0
- package/npm_dist/kit/_typescript/converters/converters.d.ts +26 -0
- package/npm_dist/kit/_typescript/converters/converters.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/converters/converters.js +99 -0
- package/npm_dist/kit/_typescript/converters/converters.js.map +7 -0
- package/npm_dist/kit/_typescript/cookies/cookies.d.ts +13 -0
- package/npm_dist/kit/_typescript/cookies/cookies.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/cookies/cookies.js +13 -0
- package/npm_dist/kit/_typescript/cookies/cookies.js.map +7 -0
- package/npm_dist/kit/_typescript/csrf/csrf.d.ts +5 -0
- package/npm_dist/kit/_typescript/csrf/csrf.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/csrf/csrf.js +11 -0
- package/npm_dist/kit/_typescript/csrf/csrf.js.map +7 -0
- package/npm_dist/kit/_typescript/debounce/debounce.d.ts +4 -0
- package/npm_dist/kit/_typescript/debounce/debounce.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/debounce/debounce.js +16 -0
- package/npm_dist/kit/_typescript/debounce/debounce.js.map +7 -0
- package/npm_dist/kit/_typescript/fmt/fmt.d.ts +2 -0
- package/npm_dist/kit/_typescript/fmt/fmt.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/fmt/fmt.js +8 -0
- package/npm_dist/kit/_typescript/fmt/fmt.js.map +7 -0
- package/npm_dist/kit/_typescript/json/deep_equals.d.ts +7 -0
- package/npm_dist/kit/_typescript/json/deep_equals.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/json/json.d.ts +4 -0
- package/npm_dist/kit/_typescript/json/json.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/json/json.js +110 -0
- package/npm_dist/kit/_typescript/json/json.js.map +7 -0
- package/npm_dist/kit/_typescript/json/search_param_serializer.d.ts +2 -0
- package/npm_dist/kit/_typescript/json/search_param_serializer.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/json/stringify_stable.d.ts +7 -0
- package/npm_dist/kit/_typescript/json/stringify_stable.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/listeners/listeners.d.ts +2 -0
- package/npm_dist/kit/_typescript/listeners/listeners.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/listeners/listeners.js +20 -0
- package/npm_dist/kit/_typescript/listeners/listeners.js.map +7 -0
- package/npm_dist/kit/_typescript/matcher/find_best_match.d.ts +10 -0
- package/npm_dist/kit/_typescript/matcher/find_best_match.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/matcher/find_best_match.js +146 -0
- package/npm_dist/kit/_typescript/matcher/find_best_match.js.map +7 -0
- package/npm_dist/kit/_typescript/matcher/find_nested_matches.d.ts +14 -0
- package/npm_dist/kit/_typescript/matcher/find_nested_matches.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/matcher/find_nested_matches.js +248 -0
- package/npm_dist/kit/_typescript/matcher/find_nested_matches.js.map +7 -0
- package/npm_dist/kit/_typescript/matcher/parse_segments.d.ts +2 -0
- package/npm_dist/kit/_typescript/matcher/parse_segments.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/matcher/register.d.ts +54 -0
- package/npm_dist/kit/_typescript/matcher/register.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/matcher/register.js +21 -0
- package/npm_dist/kit/_typescript/matcher/register.js.map +7 -0
- package/npm_dist/kit/_typescript/theme/theme.d.ts +23 -0
- package/npm_dist/kit/_typescript/theme/theme.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/theme/theme.js +122 -0
- package/npm_dist/kit/_typescript/theme/theme.js.map +7 -0
- package/npm_dist/kit/_typescript/url/url.d.ts +30 -0
- package/npm_dist/kit/_typescript/url/url.d.ts.map +1 -0
- package/npm_dist/kit/_typescript/url/url.js +100 -0
- package/npm_dist/kit/_typescript/url/url.js.map +7 -0
- package/package.json +135 -3
- package/tsconfig.base.json +17 -0
- package/index.js +0 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
// kit/_typescript/matcher/parse_segments.ts
|
|
2
|
+
function parseSegments(path) {
|
|
3
|
+
if (path === "" || path === "/") {
|
|
4
|
+
return path === "/" ? [""] : [];
|
|
5
|
+
}
|
|
6
|
+
const startIdx = path.startsWith("/") ? 1 : 0;
|
|
7
|
+
const segments = [];
|
|
8
|
+
let start = startIdx;
|
|
9
|
+
for (let i = startIdx; i < path.length; i++) {
|
|
10
|
+
if (path[i] === "/") {
|
|
11
|
+
if (i > start) {
|
|
12
|
+
segments.push(path.substring(start, i));
|
|
13
|
+
}
|
|
14
|
+
start = i + 1;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (start < path.length) {
|
|
18
|
+
segments.push(path.substring(start));
|
|
19
|
+
}
|
|
20
|
+
if (path.endsWith("/")) {
|
|
21
|
+
segments.push("");
|
|
22
|
+
}
|
|
23
|
+
return segments;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// kit/_typescript/matcher/register.ts
|
|
27
|
+
var NODE_STATIC = 0;
|
|
28
|
+
var NODE_DYNAMIC = 1;
|
|
29
|
+
var NODE_SPLAT = 2;
|
|
30
|
+
var SCORE_STATIC_MATCH = 2;
|
|
31
|
+
var SCORE_DYNAMIC = 1;
|
|
32
|
+
var SEG_TYPES = {
|
|
33
|
+
splat: "splat",
|
|
34
|
+
static: "static",
|
|
35
|
+
dynamic: "dynamic",
|
|
36
|
+
index: "index"
|
|
37
|
+
};
|
|
38
|
+
function createSegmentNode() {
|
|
39
|
+
return {
|
|
40
|
+
pattern: "",
|
|
41
|
+
nodeType: NODE_STATIC,
|
|
42
|
+
children: null,
|
|
43
|
+
dynChildren: [],
|
|
44
|
+
paramName: "",
|
|
45
|
+
finalScore: 0
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function findOrCreateChild(node, segment) {
|
|
49
|
+
if (segment === "*" || segment.length > 0 && segment[0] === ":") {
|
|
50
|
+
for (const child2 of node.dynChildren) {
|
|
51
|
+
if (child2.paramName === segment.substring(1)) return child2;
|
|
52
|
+
}
|
|
53
|
+
return addDynamicChild(node, segment);
|
|
54
|
+
}
|
|
55
|
+
if (node.children === null) node.children = /* @__PURE__ */ new Map();
|
|
56
|
+
let child = node.children.get(segment);
|
|
57
|
+
if (child) return child;
|
|
58
|
+
child = createSegmentNode();
|
|
59
|
+
child.nodeType = NODE_STATIC;
|
|
60
|
+
node.children.set(segment, child);
|
|
61
|
+
return child;
|
|
62
|
+
}
|
|
63
|
+
function addDynamicChild(node, segment) {
|
|
64
|
+
const child = createSegmentNode();
|
|
65
|
+
if (segment === "*") {
|
|
66
|
+
child.nodeType = NODE_SPLAT;
|
|
67
|
+
} else {
|
|
68
|
+
child.nodeType = NODE_DYNAMIC;
|
|
69
|
+
child.paramName = segment.substring(1);
|
|
70
|
+
}
|
|
71
|
+
node.dynChildren.push(child);
|
|
72
|
+
return child;
|
|
73
|
+
}
|
|
74
|
+
function getSegmentType(segment, dynamicPrefix, splatRune) {
|
|
75
|
+
if (segment === "") return SEG_TYPES.index;
|
|
76
|
+
if (segment.length === 1 && segment === splatRune) return SEG_TYPES.splat;
|
|
77
|
+
if (segment.length > 0 && segment[0] === dynamicPrefix)
|
|
78
|
+
return SEG_TYPES.dynamic;
|
|
79
|
+
return SEG_TYPES.static;
|
|
80
|
+
}
|
|
81
|
+
function isStatic(segments) {
|
|
82
|
+
for (const segment of segments) {
|
|
83
|
+
if (segment.segType === SEG_TYPES.splat || segment.segType === SEG_TYPES.dynamic) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
function normalizePattern(originalPattern, config) {
|
|
90
|
+
let normalizedPattern = originalPattern;
|
|
91
|
+
if (config.usingExplicitIndexSegment) {
|
|
92
|
+
if (normalizedPattern.endsWith("/")) {
|
|
93
|
+
if (normalizedPattern !== "/") {
|
|
94
|
+
throw new Error(`bad trailing slash: ${originalPattern}`);
|
|
95
|
+
}
|
|
96
|
+
normalizedPattern = normalizedPattern.replace(/\/+$/, "");
|
|
97
|
+
}
|
|
98
|
+
if (normalizedPattern.endsWith(config.slashIndexSegment)) {
|
|
99
|
+
normalizedPattern = normalizedPattern.slice(
|
|
100
|
+
0,
|
|
101
|
+
-config.explicitIndexSegment.length
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const rawSegments = parseSegments(normalizedPattern);
|
|
106
|
+
const segments = [];
|
|
107
|
+
let numberOfDynamicParamSegs = 0;
|
|
108
|
+
for (const seg of rawSegments) {
|
|
109
|
+
let normalizedVal = seg;
|
|
110
|
+
const segType = getSegmentType(
|
|
111
|
+
seg,
|
|
112
|
+
config.dynamicParamPrefixRune,
|
|
113
|
+
config.splatSegmentRune
|
|
114
|
+
);
|
|
115
|
+
if (segType === SEG_TYPES.dynamic) {
|
|
116
|
+
numberOfDynamicParamSegs++;
|
|
117
|
+
normalizedVal = ":" + seg.substring(1);
|
|
118
|
+
}
|
|
119
|
+
if (segType === SEG_TYPES.splat) {
|
|
120
|
+
normalizedVal = "*";
|
|
121
|
+
}
|
|
122
|
+
segments.push({ normalizedVal, segType });
|
|
123
|
+
}
|
|
124
|
+
const segLen = segments.length;
|
|
125
|
+
let lastType = segLen > 0 ? segments[segLen - 1].segType : SEG_TYPES.static;
|
|
126
|
+
let finalNormalizedPattern = "/";
|
|
127
|
+
for (let i = 0; i < segments.length; i++) {
|
|
128
|
+
finalNormalizedPattern += segments[i].normalizedVal;
|
|
129
|
+
if (i < segLen - 1) finalNormalizedPattern += "/";
|
|
130
|
+
}
|
|
131
|
+
if (finalNormalizedPattern.endsWith("/") && lastType !== SEG_TYPES.index) {
|
|
132
|
+
finalNormalizedPattern = finalNormalizedPattern.replace(/\/+$/, "");
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
originalPattern,
|
|
136
|
+
normalizedPattern: finalNormalizedPattern,
|
|
137
|
+
normalizedSegments: segments,
|
|
138
|
+
lastSegType: lastType,
|
|
139
|
+
lastSegIsNonRootSplat: lastType === SEG_TYPES.splat && segLen > 1,
|
|
140
|
+
lastSegIsIndex: lastType === SEG_TYPES.index,
|
|
141
|
+
numberOfDynamicParamSegs
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function createPatternRegistry(opts) {
|
|
145
|
+
const config = {
|
|
146
|
+
dynamicParamPrefixRune: opts?.dynamicParamPrefixRune ?? ":",
|
|
147
|
+
splatSegmentRune: opts?.splatSegmentRune ?? "*",
|
|
148
|
+
explicitIndexSegment: opts?.explicitIndexSegment ?? "",
|
|
149
|
+
slashIndexSegment: "/" + (opts?.explicitIndexSegment ?? ""),
|
|
150
|
+
usingExplicitIndexSegment: (opts?.explicitIndexSegment ?? "") !== ""
|
|
151
|
+
};
|
|
152
|
+
if (config.explicitIndexSegment.includes("/")) {
|
|
153
|
+
throw new Error("explicit index segment cannot contain /");
|
|
154
|
+
}
|
|
155
|
+
return {
|
|
156
|
+
staticPatterns: /* @__PURE__ */ new Map(),
|
|
157
|
+
dynamicPatterns: /* @__PURE__ */ new Map(),
|
|
158
|
+
rootNode: createSegmentNode(),
|
|
159
|
+
config
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function registerPattern(registry, originalPattern) {
|
|
163
|
+
const normalized = normalizePattern(originalPattern, registry.config);
|
|
164
|
+
if (!(globalThis.window && globalThis.document) && (registry.staticPatterns.has(normalized.normalizedPattern) || registry.dynamicPatterns.has(normalized.normalizedPattern))) {
|
|
165
|
+
console.warn(`already registered: ${originalPattern}`);
|
|
166
|
+
}
|
|
167
|
+
if (isStatic(normalized.normalizedSegments)) {
|
|
168
|
+
registry.staticPatterns.set(normalized.normalizedPattern, normalized);
|
|
169
|
+
return normalized;
|
|
170
|
+
}
|
|
171
|
+
registry.dynamicPatterns.set(normalized.normalizedPattern, normalized);
|
|
172
|
+
let current = registry.rootNode;
|
|
173
|
+
let nodeScore = 0;
|
|
174
|
+
for (let i = 0; i < normalized.normalizedSegments.length; i++) {
|
|
175
|
+
const segment = normalized.normalizedSegments[i];
|
|
176
|
+
const child = findOrCreateChild(current, segment.normalizedVal);
|
|
177
|
+
if (segment.segType === SEG_TYPES.dynamic) {
|
|
178
|
+
nodeScore += SCORE_DYNAMIC;
|
|
179
|
+
} else if (segment.segType !== SEG_TYPES.splat) {
|
|
180
|
+
nodeScore += SCORE_STATIC_MATCH;
|
|
181
|
+
}
|
|
182
|
+
if (i === normalized.normalizedSegments.length - 1) {
|
|
183
|
+
child.finalScore = nodeScore;
|
|
184
|
+
child.pattern = normalized.normalizedPattern;
|
|
185
|
+
}
|
|
186
|
+
current = child;
|
|
187
|
+
}
|
|
188
|
+
return normalized;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export {
|
|
192
|
+
parseSegments,
|
|
193
|
+
NODE_STATIC,
|
|
194
|
+
NODE_DYNAMIC,
|
|
195
|
+
NODE_SPLAT,
|
|
196
|
+
SCORE_STATIC_MATCH,
|
|
197
|
+
SCORE_DYNAMIC,
|
|
198
|
+
SEG_TYPES,
|
|
199
|
+
createPatternRegistry,
|
|
200
|
+
registerPattern
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=chunk-YBAPNBS2.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../kit/_typescript/matcher/parse_segments.ts", "../../../kit/_typescript/matcher/register.ts"],
|
|
4
|
+
"sourcesContent": ["export function parseSegments(path: string): string[] {\n\tif (path === \"\" || path === \"/\") {\n\t\treturn path === \"/\" ? [\"\"] : [];\n\t}\n\n\tconst startIdx = path.startsWith(\"/\") ? 1 : 0;\n\tconst segments: string[] = [];\n\tlet start = startIdx;\n\n\tfor (let i = startIdx; i < path.length; i++) {\n\t\tif (path[i] === \"/\") {\n\t\t\tif (i > start) {\n\t\t\t\tsegments.push(path.substring(start, i));\n\t\t\t}\n\t\t\tstart = i + 1;\n\t\t}\n\t}\n\n\t// Add the last segment if it exists\n\tif (start < path.length) {\n\t\tsegments.push(path.substring(start));\n\t}\n\n\t// Add empty segment for trailing slash\n\tif (path.endsWith(\"/\")) {\n\t\tsegments.push(\"\");\n\t}\n\n\treturn segments;\n}\n", "import { parseSegments } from \"./parse_segments.ts\";\n\nexport type Params = Record<string, string>;\nexport type SegType = \"splat\" | \"static\" | \"dynamic\" | \"index\";\n\nexport type Segment = {\n\tnormalizedVal: string;\n\tsegType: SegType;\n};\n\nexport type RegisteredPattern = {\n\toriginalPattern: string;\n\tnormalizedPattern: string;\n\tnormalizedSegments: Segment[];\n\tlastSegType: SegType;\n\tlastSegIsNonRootSplat: boolean;\n\tlastSegIsIndex: boolean;\n\tnumberOfDynamicParamSegs: number;\n};\n\nexport type SegmentNode = {\n\tpattern: string;\n\tnodeType: number;\n\tchildren: Map<string, SegmentNode> | null;\n\tdynChildren: SegmentNode[];\n\tparamName: string;\n\tfinalScore: number;\n};\n\nexport type RegistrationOptions = {\n\tdynamicParamPrefixRune?: string;\n\tsplatSegmentRune?: string;\n\texplicitIndexSegment?: string;\n};\n\nexport type PatternRegistry = {\n\tstaticPatterns: Map<string, RegisteredPattern>;\n\tdynamicPatterns: Map<string, RegisteredPattern>;\n\trootNode: SegmentNode;\n\tconfig: {\n\t\tdynamicParamPrefixRune: string;\n\t\tsplatSegmentRune: string;\n\t\texplicitIndexSegment: string;\n\t\tslashIndexSegment: string;\n\t\tusingExplicitIndexSegment: boolean;\n\t};\n};\n\n/////////////////////////////////////////////////////////////////////\n/////// CONSTANTS\n/////////////////////////////////////////////////////////////////////\n\nexport const NODE_STATIC = 0;\nexport const NODE_DYNAMIC = 1;\nexport const NODE_SPLAT = 2;\nexport const SCORE_STATIC_MATCH = 2;\nexport const SCORE_DYNAMIC = 1;\n\nexport const SEG_TYPES = {\n\tsplat: \"splat\" as SegType,\n\tstatic: \"static\" as SegType,\n\tdynamic: \"dynamic\" as SegType,\n\tindex: \"index\" as SegType,\n};\n\n/////////////////////////////////////////////////////////////////////\n/////// REGISTRATION\n/////////////////////////////////////////////////////////////////////\n\nfunction createSegmentNode(): SegmentNode {\n\treturn {\n\t\tpattern: \"\",\n\t\tnodeType: NODE_STATIC,\n\t\tchildren: null,\n\t\tdynChildren: [],\n\t\tparamName: \"\",\n\t\tfinalScore: 0,\n\t};\n}\n\nfunction findOrCreateChild(node: SegmentNode, segment: string): SegmentNode {\n\tif (segment === \"*\" || (segment.length > 0 && segment[0] === \":\")) {\n\t\tfor (const child of node.dynChildren) {\n\t\t\tif (child.paramName === segment.substring(1)) return child;\n\t\t}\n\t\treturn addDynamicChild(node, segment);\n\t}\n\n\tif (node.children === null) node.children = new Map<string, SegmentNode>();\n\n\tlet child = node.children.get(segment);\n\tif (child) return child;\n\n\tchild = createSegmentNode();\n\tchild.nodeType = NODE_STATIC;\n\tnode.children.set(segment, child);\n\treturn child;\n}\n\nfunction addDynamicChild(node: SegmentNode, segment: string): SegmentNode {\n\tconst child = createSegmentNode();\n\tif (segment === \"*\") {\n\t\tchild.nodeType = NODE_SPLAT;\n\t} else {\n\t\tchild.nodeType = NODE_DYNAMIC;\n\t\tchild.paramName = segment.substring(1);\n\t}\n\tnode.dynChildren.push(child);\n\treturn child;\n}\n\nfunction getSegmentType(\n\tsegment: string,\n\tdynamicPrefix: string,\n\tsplatRune: string,\n): SegType {\n\tif (segment === \"\") return SEG_TYPES.index;\n\tif (segment.length === 1 && segment === splatRune) return SEG_TYPES.splat;\n\tif (segment.length > 0 && segment[0] === dynamicPrefix)\n\t\treturn SEG_TYPES.dynamic;\n\treturn SEG_TYPES.static;\n}\n\nfunction isStatic(segments: Segment[]): boolean {\n\tfor (const segment of segments) {\n\t\tif (\n\t\t\tsegment.segType === SEG_TYPES.splat ||\n\t\t\tsegment.segType === SEG_TYPES.dynamic\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nfunction normalizePattern(\n\toriginalPattern: string,\n\tconfig: PatternRegistry[\"config\"],\n): RegisteredPattern {\n\tlet normalizedPattern = originalPattern;\n\n\tif (config.usingExplicitIndexSegment) {\n\t\tif (normalizedPattern.endsWith(\"/\")) {\n\t\t\tif (normalizedPattern !== \"/\") {\n\t\t\t\tthrow new Error(`bad trailing slash: ${originalPattern}`);\n\t\t\t}\n\t\t\tnormalizedPattern = normalizedPattern.replace(/\\/+$/, \"\");\n\t\t}\n\t\tif (normalizedPattern.endsWith(config.slashIndexSegment)) {\n\t\t\tnormalizedPattern = normalizedPattern.slice(\n\t\t\t\t0,\n\t\t\t\t-config.explicitIndexSegment.length,\n\t\t\t);\n\t\t}\n\t}\n\n\tconst rawSegments = parseSegments(normalizedPattern);\n\tconst segments: Segment[] = [];\n\tlet numberOfDynamicParamSegs = 0;\n\n\tfor (const seg of rawSegments) {\n\t\tlet normalizedVal = seg;\n\t\tconst segType = getSegmentType(\n\t\t\tseg,\n\t\t\tconfig.dynamicParamPrefixRune,\n\t\t\tconfig.splatSegmentRune,\n\t\t);\n\n\t\tif (segType === SEG_TYPES.dynamic) {\n\t\t\tnumberOfDynamicParamSegs++;\n\t\t\tnormalizedVal = \":\" + seg.substring(1);\n\t\t}\n\t\tif (segType === SEG_TYPES.splat) {\n\t\t\tnormalizedVal = \"*\";\n\t\t}\n\n\t\tsegments.push({ normalizedVal, segType });\n\t}\n\n\tconst segLen = segments.length;\n\tlet lastType: SegType =\n\t\tsegLen > 0 ? segments[segLen - 1]!.segType : SEG_TYPES.static;\n\n\tlet finalNormalizedPattern = \"/\";\n\tfor (let i = 0; i < segments.length; i++) {\n\t\tfinalNormalizedPattern += segments[i]!.normalizedVal;\n\t\tif (i < segLen - 1) finalNormalizedPattern += \"/\";\n\t}\n\n\tif (finalNormalizedPattern.endsWith(\"/\") && lastType !== SEG_TYPES.index) {\n\t\tfinalNormalizedPattern = finalNormalizedPattern.replace(/\\/+$/, \"\");\n\t}\n\n\treturn {\n\t\toriginalPattern,\n\t\tnormalizedPattern: finalNormalizedPattern,\n\t\tnormalizedSegments: segments,\n\t\tlastSegType: lastType,\n\t\tlastSegIsNonRootSplat: lastType === SEG_TYPES.splat && segLen > 1,\n\t\tlastSegIsIndex: lastType === SEG_TYPES.index,\n\t\tnumberOfDynamicParamSegs,\n\t};\n}\n\nexport function createPatternRegistry(\n\topts?: RegistrationOptions,\n): PatternRegistry {\n\tconst config = {\n\t\tdynamicParamPrefixRune: opts?.dynamicParamPrefixRune ?? \":\",\n\t\tsplatSegmentRune: opts?.splatSegmentRune ?? \"*\",\n\t\texplicitIndexSegment: opts?.explicitIndexSegment ?? \"\",\n\t\tslashIndexSegment: \"/\" + (opts?.explicitIndexSegment ?? \"\"),\n\t\tusingExplicitIndexSegment: (opts?.explicitIndexSegment ?? \"\") !== \"\",\n\t};\n\n\tif (config.explicitIndexSegment.includes(\"/\")) {\n\t\tthrow new Error(\"explicit index segment cannot contain /\");\n\t}\n\n\treturn {\n\t\tstaticPatterns: new Map(),\n\t\tdynamicPatterns: new Map(),\n\t\trootNode: createSegmentNode(),\n\t\tconfig,\n\t};\n}\n\nexport function registerPattern(\n\tregistry: PatternRegistry,\n\toriginalPattern: string,\n): RegisteredPattern {\n\tconst normalized = normalizePattern(originalPattern, registry.config);\n\n\tif (\n\t\t!(globalThis.window && globalThis.document) &&\n\t\t(registry.staticPatterns.has(normalized.normalizedPattern) ||\n\t\t\tregistry.dynamicPatterns.has(normalized.normalizedPattern))\n\t) {\n\t\tconsole.warn(`already registered: ${originalPattern}`);\n\t}\n\n\tif (isStatic(normalized.normalizedSegments)) {\n\t\tregistry.staticPatterns.set(normalized.normalizedPattern, normalized);\n\t\treturn normalized;\n\t}\n\n\tregistry.dynamicPatterns.set(normalized.normalizedPattern, normalized);\n\n\tlet current = registry.rootNode;\n\tlet nodeScore = 0;\n\n\tfor (let i = 0; i < normalized.normalizedSegments.length; i++) {\n\t\tconst segment = normalized.normalizedSegments[i]!;\n\t\tconst child = findOrCreateChild(current, segment.normalizedVal);\n\n\t\tif (segment.segType === SEG_TYPES.dynamic) {\n\t\t\tnodeScore += SCORE_DYNAMIC;\n\t\t} else if (segment.segType !== SEG_TYPES.splat) {\n\t\t\tnodeScore += SCORE_STATIC_MATCH;\n\t\t}\n\n\t\tif (i === normalized.normalizedSegments.length - 1) {\n\t\t\tchild.finalScore = nodeScore;\n\t\t\tchild.pattern = normalized.normalizedPattern;\n\t\t}\n\n\t\tcurrent = child;\n\t}\n\n\treturn normalized;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["child"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type Bytes = Uint8Array;
|
|
2
|
+
export type UTF8 = string;
|
|
3
|
+
export type Hex = string;
|
|
4
|
+
export type Base64 = string;
|
|
5
|
+
export type Base64URL = string;
|
|
6
|
+
export declare function bytesToUTF8(bytes: Uint8Array): UTF8;
|
|
7
|
+
export declare function bytesToHex(bytes: Uint8Array): Hex;
|
|
8
|
+
export declare function bytesToBase64(bytes: Uint8Array): Base64;
|
|
9
|
+
export declare function bytesToBase64URL(bytes: Uint8Array): Base64;
|
|
10
|
+
export declare function utf8ToBytes(utf8: UTF8): Uint8Array;
|
|
11
|
+
export declare function utf8ToHex(utf8: UTF8): Hex;
|
|
12
|
+
export declare function utf8ToBase64(utf8: UTF8): Base64;
|
|
13
|
+
export declare function utf8ToBase64URL(utf8: UTF8): Base64;
|
|
14
|
+
export declare function hexToBytes(hex: Hex): Uint8Array;
|
|
15
|
+
export declare function hexToUTF8(hex: Hex): UTF8;
|
|
16
|
+
export declare function hexToBase64(hex: Hex): Base64;
|
|
17
|
+
export declare function hexToBase64URL(hex: Hex): Base64;
|
|
18
|
+
export declare function base64ToBytes(base64: Base64): Uint8Array;
|
|
19
|
+
export declare function base64ToUTF8(base64: Base64): UTF8;
|
|
20
|
+
export declare function base64ToHex(base64: Base64): Hex;
|
|
21
|
+
export declare function base64ToBase64URL(base64: Base64): Base64;
|
|
22
|
+
export declare function base64URLToBytes(base64URL: Base64URL): Uint8Array;
|
|
23
|
+
export declare function base64URLToUTF8(base64URL: Base64URL): UTF8;
|
|
24
|
+
export declare function base64URLToHex(base64URL: Base64URL): Hex;
|
|
25
|
+
export declare function base64URLToBase64(base64URL: Base64URL): Base64;
|
|
26
|
+
//# sourceMappingURL=converters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/converters/converters.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAC/B,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAO/B,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAEnD;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAEjD;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAGvD;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAG1D;AAOD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAElD;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAGzC;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAG/C;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAGlD;AAOD,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAK/C;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAGxC;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAG5C;AAGD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAG/C;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAExD;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGjD;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAG/C;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxD;AAOD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAGjE;AAGD,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAG1D;AAGD,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAGxD;AAGD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAK9D"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// kit/_typescript/converters/converters.ts
|
|
2
|
+
function bytesToUTF8(bytes) {
|
|
3
|
+
return new TextDecoder().decode(bytes);
|
|
4
|
+
}
|
|
5
|
+
function bytesToHex(bytes) {
|
|
6
|
+
return Array.from(bytes, (x) => x.toString(16).padStart(2, "0")).join("");
|
|
7
|
+
}
|
|
8
|
+
function bytesToBase64(bytes) {
|
|
9
|
+
const callback = (x) => String.fromCodePoint(x);
|
|
10
|
+
return btoa(Array.from(bytes, callback).join(""));
|
|
11
|
+
}
|
|
12
|
+
function bytesToBase64URL(bytes) {
|
|
13
|
+
const base64 = bytesToBase64(bytes);
|
|
14
|
+
return base64ToBase64URL(base64);
|
|
15
|
+
}
|
|
16
|
+
function utf8ToBytes(utf8) {
|
|
17
|
+
return new TextEncoder().encode(utf8);
|
|
18
|
+
}
|
|
19
|
+
function utf8ToHex(utf8) {
|
|
20
|
+
const bytes = utf8ToBytes(utf8);
|
|
21
|
+
return bytesToHex(bytes);
|
|
22
|
+
}
|
|
23
|
+
function utf8ToBase64(utf8) {
|
|
24
|
+
const bytes = utf8ToBytes(utf8);
|
|
25
|
+
return bytesToBase64(bytes);
|
|
26
|
+
}
|
|
27
|
+
function utf8ToBase64URL(utf8) {
|
|
28
|
+
const bytes = utf8ToBytes(utf8);
|
|
29
|
+
return bytesToBase64URL(bytes);
|
|
30
|
+
}
|
|
31
|
+
function hexToBytes(hex) {
|
|
32
|
+
const cleanHex = hex.startsWith("0x") ? hex.slice(2) : hex;
|
|
33
|
+
const bytes = cleanHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || [];
|
|
34
|
+
return new Uint8Array(bytes);
|
|
35
|
+
}
|
|
36
|
+
function hexToUTF8(hex) {
|
|
37
|
+
const bytes = hexToBytes(hex);
|
|
38
|
+
return bytesToUTF8(bytes);
|
|
39
|
+
}
|
|
40
|
+
function hexToBase64(hex) {
|
|
41
|
+
const bytes = hexToBytes(hex);
|
|
42
|
+
return bytesToBase64(bytes);
|
|
43
|
+
}
|
|
44
|
+
function hexToBase64URL(hex) {
|
|
45
|
+
const bytes = hexToBytes(hex);
|
|
46
|
+
return bytesToBase64URL(bytes);
|
|
47
|
+
}
|
|
48
|
+
function base64ToBytes(base64) {
|
|
49
|
+
return Uint8Array.from(atob(base64), (m) => m.codePointAt(0) || 0);
|
|
50
|
+
}
|
|
51
|
+
function base64ToUTF8(base64) {
|
|
52
|
+
const bytes = base64ToBytes(base64);
|
|
53
|
+
return bytesToUTF8(bytes);
|
|
54
|
+
}
|
|
55
|
+
function base64ToHex(base64) {
|
|
56
|
+
const bytes = base64ToBytes(base64);
|
|
57
|
+
return bytesToHex(bytes);
|
|
58
|
+
}
|
|
59
|
+
function base64ToBase64URL(base64) {
|
|
60
|
+
return base64.replace(/[\r\n\t ]+/g, "").replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
61
|
+
}
|
|
62
|
+
function base64URLToBytes(base64URL) {
|
|
63
|
+
const base64 = base64URLToBase64(base64URL);
|
|
64
|
+
return base64ToBytes(base64);
|
|
65
|
+
}
|
|
66
|
+
function base64URLToUTF8(base64URL) {
|
|
67
|
+
const bytes = base64URLToBytes(base64URL);
|
|
68
|
+
return bytesToUTF8(bytes);
|
|
69
|
+
}
|
|
70
|
+
function base64URLToHex(base64URL) {
|
|
71
|
+
const bytes = base64URLToBytes(base64URL);
|
|
72
|
+
return bytesToHex(bytes);
|
|
73
|
+
}
|
|
74
|
+
function base64URLToBase64(base64URL) {
|
|
75
|
+
return base64URL.padEnd(base64URL.length + (4 - base64URL.length % 4) % 4, "=").replace(/-/g, "+").replace(/_/g, "/");
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
base64ToBase64URL,
|
|
79
|
+
base64ToBytes,
|
|
80
|
+
base64ToHex,
|
|
81
|
+
base64ToUTF8,
|
|
82
|
+
base64URLToBase64,
|
|
83
|
+
base64URLToBytes,
|
|
84
|
+
base64URLToHex,
|
|
85
|
+
base64URLToUTF8,
|
|
86
|
+
bytesToBase64,
|
|
87
|
+
bytesToBase64URL,
|
|
88
|
+
bytesToHex,
|
|
89
|
+
bytesToUTF8,
|
|
90
|
+
hexToBase64,
|
|
91
|
+
hexToBase64URL,
|
|
92
|
+
hexToBytes,
|
|
93
|
+
hexToUTF8,
|
|
94
|
+
utf8ToBase64,
|
|
95
|
+
utf8ToBase64URL,
|
|
96
|
+
utf8ToBytes,
|
|
97
|
+
utf8ToHex
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=converters.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../kit/_typescript/converters/converters.ts"],
|
|
4
|
+
"sourcesContent": ["/////////////////////////////////////////////////////////////////////\n/////// TYPE ALIASES\n/////////////////////////////////////////////////////////////////////\n\nexport type Bytes = Uint8Array;\nexport type UTF8 = string;\nexport type Hex = string;\nexport type Base64 = string;\nexport type Base64URL = string;\n\n/////////////////////////////////////////////////////////////////////\n/////// BYTES --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> UTF8\nexport function bytesToUTF8(bytes: Uint8Array): UTF8 {\n\treturn new TextDecoder().decode(bytes);\n}\n\n// --> HEX\nexport function bytesToHex(bytes: Uint8Array): Hex {\n\treturn Array.from(bytes, (x) => x.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\n// --> BASE64\nexport function bytesToBase64(bytes: Uint8Array): Base64 {\n\tconst callback = (x: number) => String.fromCodePoint(x);\n\treturn btoa(Array.from(bytes, callback).join(\"\"));\n}\n\n// --> BASE64URL\nexport function bytesToBase64URL(bytes: Uint8Array): Base64 {\n\tconst base64 = bytesToBase64(bytes);\n\treturn base64ToBase64URL(base64);\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// UTF8 --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function utf8ToBytes(utf8: UTF8): Uint8Array {\n\treturn new TextEncoder().encode(utf8);\n}\n\n// --> HEX\nexport function utf8ToHex(utf8: UTF8): Hex {\n\tconst bytes = utf8ToBytes(utf8);\n\treturn bytesToHex(bytes);\n}\n\n// --> BASE64\nexport function utf8ToBase64(utf8: UTF8): Base64 {\n\tconst bytes = utf8ToBytes(utf8);\n\treturn bytesToBase64(bytes);\n}\n\n// --> BASE64URL\nexport function utf8ToBase64URL(utf8: UTF8): Base64 {\n\tconst bytes = utf8ToBytes(utf8);\n\treturn bytesToBase64URL(bytes);\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// HEX --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function hexToBytes(hex: Hex): Uint8Array {\n\tconst cleanHex = hex.startsWith(\"0x\") ? hex.slice(2) : hex;\n\tconst bytes =\n\t\tcleanHex.match(/.{1,2}/g)?.map((byte) => Number.parseInt(byte, 16)) || [];\n\treturn new Uint8Array(bytes);\n}\n\n// --> UTF8\nexport function hexToUTF8(hex: Hex): UTF8 {\n\tconst bytes = hexToBytes(hex);\n\treturn bytesToUTF8(bytes);\n}\n\n// --> BASE64\nexport function hexToBase64(hex: Hex): Base64 {\n\tconst bytes = hexToBytes(hex);\n\treturn bytesToBase64(bytes);\n}\n\n// --> BASE64URL\nexport function hexToBase64URL(hex: Hex): Base64 {\n\tconst bytes = hexToBytes(hex);\n\treturn bytesToBase64URL(bytes);\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// BASE64 --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function base64ToBytes(base64: Base64): Uint8Array {\n\treturn Uint8Array.from(atob(base64), (m) => m.codePointAt(0) || 0);\n}\n\n// --> UTF8\nexport function base64ToUTF8(base64: Base64): UTF8 {\n\tconst bytes = base64ToBytes(base64);\n\treturn bytesToUTF8(bytes);\n}\n\n// --> HEX\nexport function base64ToHex(base64: Base64): Hex {\n\tconst bytes = base64ToBytes(base64);\n\treturn bytesToHex(bytes);\n}\n\n// --> BASE64URL\nexport function base64ToBase64URL(base64: Base64): Base64 {\n\treturn base64\n\t\t.replace(/[\\r\\n\\t ]+/g, \"\")\n\t\t.replace(/\\+/g, \"-\")\n\t\t.replace(/\\//g, \"_\")\n\t\t.replace(/=+$/, \"\");\n}\n\n/////////////////////////////////////////////////////////////////////\n/////// BASE64URL --> X\n/////////////////////////////////////////////////////////////////////\n\n// --> BYTES\nexport function base64URLToBytes(base64URL: Base64URL): Uint8Array {\n\tconst base64 = base64URLToBase64(base64URL);\n\treturn base64ToBytes(base64);\n}\n\n// --> UTF8\nexport function base64URLToUTF8(base64URL: Base64URL): UTF8 {\n\tconst bytes = base64URLToBytes(base64URL);\n\treturn bytesToUTF8(bytes);\n}\n\n// --> HEX\nexport function base64URLToHex(base64URL: Base64URL): Hex {\n\tconst bytes = base64URLToBytes(base64URL);\n\treturn bytesToHex(bytes);\n}\n\n// --> BASE64\nexport function base64URLToBase64(base64URL: Base64URL): Base64 {\n\treturn base64URL\n\t\t.padEnd(base64URL.length + ((4 - (base64URL.length % 4)) % 4), \"=\")\n\t\t.replace(/-/g, \"+\")\n\t\t.replace(/_/g, \"/\");\n}\n"],
|
|
5
|
+
"mappings": ";AAeO,SAAS,YAAY,OAAyB;AACpD,SAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AACtC;AAGO,SAAS,WAAW,OAAwB;AAClD,SAAO,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AACzE;AAGO,SAAS,cAAc,OAA2B;AACxD,QAAM,WAAW,CAAC,MAAc,OAAO,cAAc,CAAC;AACtD,SAAO,KAAK,MAAM,KAAK,OAAO,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjD;AAGO,SAAS,iBAAiB,OAA2B;AAC3D,QAAM,SAAS,cAAc,KAAK;AAClC,SAAO,kBAAkB,MAAM;AAChC;AAOO,SAAS,YAAY,MAAwB;AACnD,SAAO,IAAI,YAAY,EAAE,OAAO,IAAI;AACrC;AAGO,SAAS,UAAU,MAAiB;AAC1C,QAAM,QAAQ,YAAY,IAAI;AAC9B,SAAO,WAAW,KAAK;AACxB;AAGO,SAAS,aAAa,MAAoB;AAChD,QAAM,QAAQ,YAAY,IAAI;AAC9B,SAAO,cAAc,KAAK;AAC3B;AAGO,SAAS,gBAAgB,MAAoB;AACnD,QAAM,QAAQ,YAAY,IAAI;AAC9B,SAAO,iBAAiB,KAAK;AAC9B;AAOO,SAAS,WAAW,KAAsB;AAChD,QAAM,WAAW,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI;AACvD,QAAM,QACL,SAAS,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,OAAO,SAAS,MAAM,EAAE,CAAC,KAAK,CAAC;AACzE,SAAO,IAAI,WAAW,KAAK;AAC5B;AAGO,SAAS,UAAU,KAAgB;AACzC,QAAM,QAAQ,WAAW,GAAG;AAC5B,SAAO,YAAY,KAAK;AACzB;AAGO,SAAS,YAAY,KAAkB;AAC7C,QAAM,QAAQ,WAAW,GAAG;AAC5B,SAAO,cAAc,KAAK;AAC3B;AAGO,SAAS,eAAe,KAAkB;AAChD,QAAM,QAAQ,WAAW,GAAG;AAC5B,SAAO,iBAAiB,KAAK;AAC9B;AAOO,SAAS,cAAc,QAA4B;AACzD,SAAO,WAAW,KAAK,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC;AAClE;AAGO,SAAS,aAAa,QAAsB;AAClD,QAAM,QAAQ,cAAc,MAAM;AAClC,SAAO,YAAY,KAAK;AACzB;AAGO,SAAS,YAAY,QAAqB;AAChD,QAAM,QAAQ,cAAc,MAAM;AAClC,SAAO,WAAW,KAAK;AACxB;AAGO,SAAS,kBAAkB,QAAwB;AACzD,SAAO,OACL,QAAQ,eAAe,EAAE,EACzB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,EAAE;AACpB;AAOO,SAAS,iBAAiB,WAAkC;AAClE,QAAM,SAAS,kBAAkB,SAAS;AAC1C,SAAO,cAAc,MAAM;AAC5B;AAGO,SAAS,gBAAgB,WAA4B;AAC3D,QAAM,QAAQ,iBAAiB,SAAS;AACxC,SAAO,YAAY,KAAK;AACzB;AAGO,SAAS,eAAe,WAA2B;AACzD,QAAM,QAAQ,iBAAiB,SAAS;AACxC,SAAO,WAAW,KAAK;AACxB;AAGO,SAAS,kBAAkB,WAA8B;AAC/D,SAAO,UACL,OAAO,UAAU,UAAW,IAAK,UAAU,SAAS,KAAM,GAAI,GAAG,EACjE,QAAQ,MAAM,GAAG,EACjB,QAAQ,MAAM,GAAG;AACpB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks the client cookie for a specific name. Returns the value if
|
|
3
|
+
* found, otherwise undefined. Does not do any encoding or decoding.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getClientCookie(name: string): string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Sets a client cookie with the specified name and value. The cookie
|
|
8
|
+
* is set to expire in one year and is accessible to all paths on the
|
|
9
|
+
* domain. The SameSite attribute is set to Lax. Does not do any
|
|
10
|
+
* encoding or decoding.
|
|
11
|
+
*/
|
|
12
|
+
export declare function setClientCookie(name: string, value: string): void;
|
|
13
|
+
//# sourceMappingURL=cookies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/cookies/cookies.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,sBAG3C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAE1D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// kit/_typescript/cookies/cookies.ts
|
|
2
|
+
function getClientCookie(name) {
|
|
3
|
+
const match = document.cookie.match(new RegExp(`(^| )${name}=([^;]*)`));
|
|
4
|
+
return match ? match[2] : void 0;
|
|
5
|
+
}
|
|
6
|
+
function setClientCookie(name, value) {
|
|
7
|
+
document.cookie = `${name}=${value}; path=/; max-age=31536000; SameSite=Lax`;
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
getClientCookie,
|
|
11
|
+
setClientCookie
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=cookies.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../kit/_typescript/cookies/cookies.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Checks the client cookie for a specific name. Returns the value if\n * found, otherwise undefined. Does not do any encoding or decoding.\n */\nexport function getClientCookie(name: string) {\n\tconst match = document.cookie.match(new RegExp(`(^| )${name}=([^;]*)`));\n\treturn match ? match[2] : undefined;\n}\n\n/**\n * Sets a client cookie with the specified name and value. The cookie\n * is set to expire in one year and is accessible to all paths on the\n * domain. The SameSite attribute is set to Lax. Does not do any\n * encoding or decoding.\n */\nexport function setClientCookie(name: string, value: string) {\n\tdocument.cookie = `${name}=${value}; path=/; max-age=31536000; SameSite=Lax`;\n}\n"],
|
|
5
|
+
"mappings": ";AAIO,SAAS,gBAAgB,MAAc;AAC7C,QAAM,QAAQ,SAAS,OAAO,MAAM,IAAI,OAAO,QAAQ,IAAI,UAAU,CAAC;AACtE,SAAO,QAAQ,MAAM,CAAC,IAAI;AAC3B;AAQO,SAAS,gBAAgB,MAAc,OAAe;AAC5D,WAAS,SAAS,GAAG,IAAI,IAAI,KAAK;AACnC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csrf.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/csrf/csrf.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,GAAG,SAAS,CAIrB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// kit/_typescript/csrf/csrf.ts
|
|
2
|
+
import { getClientCookie } from "vorma/kit/cookies";
|
|
3
|
+
function getCSRFToken(opts) {
|
|
4
|
+
const prefix = opts.isDev ? "__Dev-" : "__Host-";
|
|
5
|
+
const name = opts.cookieName || "csrf_token";
|
|
6
|
+
return getClientCookie(prefix + name);
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
getCSRFToken
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=csrf.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../kit/_typescript/csrf/csrf.ts"],
|
|
4
|
+
"sourcesContent": ["import { getClientCookie } from \"vorma/kit/cookies\";\n\nexport function getCSRFToken(opts: {\n\tisDev: boolean;\n\tcookieName?: string;\n}): string | undefined {\n\tconst prefix = opts.isDev ? \"__Dev-\" : \"__Host-\";\n\tconst name = opts.cookieName || \"csrf_token\";\n\treturn getClientCookie(prefix + name);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,uBAAuB;AAEzB,SAAS,aAAa,MAGN;AACtB,QAAM,SAAS,KAAK,QAAQ,WAAW;AACvC,QAAM,OAAO,KAAK,cAAc;AAChC,SAAO,gBAAgB,SAAS,IAAI;AACrC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/debounce/debounce.ts"],"names":[],"mappings":"AAAA,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,CAAC,SAAS,EAAE,EACpC,EAAE,EAAE,CAAC,EACL,SAAS,EAAE,MAAM,GACf,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAW7D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// kit/_typescript/debounce/debounce.ts
|
|
2
|
+
function debounce(fn, delayInMs) {
|
|
3
|
+
let timeoutID;
|
|
4
|
+
return (...args) => {
|
|
5
|
+
return new Promise((resolve) => {
|
|
6
|
+
clearTimeout(timeoutID);
|
|
7
|
+
timeoutID = window.setTimeout(() => {
|
|
8
|
+
resolve(fn(...args));
|
|
9
|
+
}, delayInMs);
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
debounce
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=debounce.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../kit/_typescript/debounce/debounce.ts"],
|
|
4
|
+
"sourcesContent": ["type Fn = (...args: Array<any>) => any;\n\nexport function debounce<T extends Fn>(\n\tfn: T,\n\tdelayInMs: number,\n): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>> {\n\tlet timeoutID: number;\n\n\treturn (...args: Parameters<T>) => {\n\t\treturn new Promise<Awaited<ReturnType<T>>>((resolve) => {\n\t\t\tclearTimeout(timeoutID);\n\t\t\ttimeoutID = window.setTimeout(() => {\n\t\t\t\tresolve(fn(...args));\n\t\t\t}, delayInMs);\n\t\t});\n\t};\n}\n"],
|
|
5
|
+
"mappings": ";AAEO,SAAS,SACf,IACA,WAC8D;AAC9D,MAAI;AAEJ,SAAO,IAAI,SAAwB;AAClC,WAAO,IAAI,QAAgC,CAAC,YAAY;AACvD,mBAAa,SAAS;AACtB,kBAAY,OAAO,WAAW,MAAM;AACnC,gBAAQ,GAAG,GAAG,IAAI,CAAC;AAAA,MACpB,GAAG,SAAS;AAAA,IACb,CAAC;AAAA,EACF;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fmt.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/fmt/fmt.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE3C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../kit/_typescript/fmt/fmt.ts"],
|
|
4
|
+
"sourcesContent": ["export function prettyJSON(obj: any): string {\n\treturn JSON.stringify(obj, null, 2);\n}\n"],
|
|
5
|
+
"mappings": ";AAAO,SAAS,WAAW,KAAkB;AAC5C,SAAO,KAAK,UAAU,KAAK,MAAM,CAAC;AACnC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performs a deep equality comparison of two JSON-compatible values.
|
|
3
|
+
* Handles null, undefined, primitives, arrays, and plain objects, recursively.
|
|
4
|
+
* Does not support Maps, Sets, Functions, or other non-JSON types.
|
|
5
|
+
*/
|
|
6
|
+
export declare function jsonDeepEquals(a: unknown, b: unknown): boolean;
|
|
7
|
+
//# sourceMappingURL=deep_equals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep_equals.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/json/deep_equals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAgD9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../kit/_typescript/json/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|