@clepit/core 0.6.0-beta.425 → 0.6.0-beta.426
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/CHANGELOG.md +4 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/tools/block/openapi/css.d.ts +1 -1
- package/dist/tools/block/typeset/latex/model.d.ts +6 -9
- package/dist/tools/block/typeset/latex/parse.d.ts +7 -0
- package/dist/tools/block/typeset/latex/symbols.d.ts +2 -2
- package/dist/tools/block/typeset/mermaid/model.d.ts +8 -12
- package/dist/types.d.ts +3 -3
- package/dist/utils/platform.d.ts +0 -30
- package/dist/utils/url.d.ts +0 -33
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const outputStylesKey = "clepit-openapi-output-styles";
|
|
2
|
-
export declare const outputStyle = "\n.clepit-openapi {\n display: flex;\n flex-direction: column;\n gap: 40px;\n margin: 16px 0;\n}\n\n/* Groups and operations are separated by rhythm, never by rules \u2014 the same\n * house style the tables follow. */\n.clepit-openapi-group {\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n\n/* An eyebrow label rather than a heading, matching the uppercase group headings\n * in the docs sidebar so the reference echoes the nav
|
|
2
|
+
export declare const outputStyle = "\n.clepit-openapi {\n display: flex;\n flex-direction: column;\n gap: 40px;\n margin: 16px 0;\n}\n\n/* Groups and operations are separated by rhythm, never by rules \u2014 the same\n * house style the tables follow. */\n.clepit-openapi-group {\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n\n/* An eyebrow label rather than a heading, matching the uppercase group headings\n * in the docs sidebar so the reference echoes the nav. */\n.clepit-openapi-group-title {\n color: var(--clepit-text-subtle);\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.08em;\n margin: 0;\n text-transform: uppercase;\n}\n\n.clepit-openapi-operation {\n background: var(--clepit-surface);\n border: 1px solid var(--clepit-border);\n border-radius: var(--clepit-radius-md);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* The head is a tinted strip so an operation reads as one bounded unit in a\n * page of a dozen. */\n.clepit-openapi-operation-head {\n align-items: center;\n background: color-mix(in oklab, var(--clepit-text) 4%, transparent);\n border-bottom: 1px solid var(--clepit-border);\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n padding: 10px 14px;\n}\n\n.clepit-openapi-operation-body {\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 14px;\n}\n\n.clepit-openapi-method {\n border-radius: 4px;\n color: var(--clepit-bg);\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.04em;\n padding: 3px 8px;\n}\n\n.clepit-openapi-method[data-method=\"GET\"] { background: var(--clepit-success); }\n.clepit-openapi-method[data-method=\"POST\"],\n.clepit-openapi-method[data-method=\"PUT\"],\n.clepit-openapi-method[data-method=\"PATCH\"] { background: var(--clepit-primary); }\n.clepit-openapi-method[data-method=\"DELETE\"] { background: var(--clepit-error); }\n\n.clepit-openapi-path {\n color: var(--clepit-text);\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n font-size: 14px;\n}\n\n.clepit-openapi-host {\n color: var(--clepit-text-subtle);\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n font-size: 12px;\n margin-left: auto;\n}\n\n.clepit-openapi-summary {\n color: var(--clepit-text);\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n}\n\n.clepit-openapi-description {\n color: var(--clepit-text-muted);\n margin: 0;\n}\n\n.clepit-openapi-section-title {\n color: var(--clepit-text-subtle);\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.08em;\n margin: 4px 0 0;\n text-transform: uppercase;\n}\n\n/* A table has no scroll surface of its own \u2014 a cell the house style cannot\n * break (a long host URL) would otherwise force the table, and every ancestor\n * up to the page itself, wider than the viewport. */\n.clepit-openapi-table-scroll {\n max-width: 100%;\n overflow-x: auto;\n background: var(--clepit-surface);\n border: 1px solid var(--clepit-border);\n border-radius: var(--clepit-radius-md);\n}\n\n.clepit-openapi-table {\n border-collapse: collapse;\n font-size: 14px;\n width: 100%;\n}\n\n.clepit-openapi-table th {\n background: var(--clepit-surface);\n border-bottom: 1px solid var(--clepit-border);\n color: var(--clepit-text-subtle);\n font-weight: 600;\n padding: 6px 8px;\n text-align: left;\n}\n\n/* House style: no horizontal dividers between rows. Zebra striping is what\n * separates them instead. */\n.clepit-openapi-table td {\n color: var(--clepit-text);\n padding: 7px 8px;\n vertical-align: top;\n}\n\n.clepit-openapi-table tr:nth-child(even) td {\n background: var(--clepit-surface);\n}\n\n.clepit-openapi-name {\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n overflow-wrap: anywhere;\n}\n\n.clepit-openapi-type {\n color: var(--clepit-text-muted);\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n}\n\n.clepit-openapi-required {\n color: var(--clepit-error);\n font-size: 12px;\n}\n\n.clepit-openapi-badge {\n background: var(--clepit-primary-bg);\n border-radius: 4px;\n color: var(--clepit-primary);\n font-size: 12px;\n padding: 2px 8px;\n}\n\n.clepit-openapi-status {\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n font-weight: 600;\n}\n\n.clepit-openapi-status[data-kind=\"success\"] { color: var(--clepit-success); }\n.clepit-openapi-status[data-kind=\"client\"] { color: var(--clepit-warning); }\n.clepit-openapi-status[data-kind=\"server\"] { color: var(--clepit-error); }\n\n/* One response at a time behind a status tab strip. */\n.clepit-openapi-responses {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.clepit-openapi-response-tabs {\n border-bottom: 1px solid var(--clepit-border);\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n margin-bottom: 4px;\n}\n\n.clepit-openapi-response-tab {\n background: none;\n border: 0;\n border-bottom: 2px solid transparent;\n color: var(--clepit-text-muted);\n cursor: pointer;\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n font-size: 12px;\n margin-bottom: -1px;\n padding: 6px 0;\n}\n\n.clepit-openapi-response-tab[aria-selected=\"true\"] {\n border-bottom-color: var(--clepit-primary);\n color: var(--clepit-text);\n font-weight: 600;\n}\n\n.clepit-openapi-response-tab:focus-visible {\n outline: 2px solid var(--clepit-primary);\n outline-offset: 2px;\n}\n\n.clepit-openapi-response-description {\n color: var(--clepit-text-muted);\n margin: 0;\n}\n\n/* Tabs hide three quarters of the contract from a printed page, so print gets\n * every response expanded and the strip removed. */\n@media print {\n .clepit-openapi-response-tabs { display: none; }\n .clepit-openapi-response { display: block !important; }\n .clepit-openapi-response + .clepit-openapi-response { margin-top: 10px; }\n}\n\n.clepit-openapi-servers {\n color: var(--clepit-text-muted);\n font-size: 14px;\n margin: 0;\n}\n";
|
|
3
3
|
export declare const inputStylesKey = "clepit-openapi-input-styles";
|
|
4
4
|
export declare const inputStyle = "\n.clepit-openapi-input {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.clepit-openapi__source {\n background: var(--clepit-code-bg);\n border: 1px solid var(--clepit-code-border);\n border-radius: var(--clepit-radius-md);\n color: var(--clepit-code-text);\n font-family: 'SF Mono', 'Monaco', 'Roboto Mono', monospace;\n font-size: 13px;\n max-height: 240px;\n overflow: auto;\n padding: 12px;\n white-space: pre-wrap;\n}\n\n.clepit-openapi__source[data-placeholder]:empty::before {\n color: var(--clepit-text-subtle);\n content: attr(data-placeholder);\n font-style: italic;\n pointer-events: none;\n}\n";
|
|
5
5
|
//# sourceMappingURL=css.d.ts.map
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
/** The parsed shape of a LaTeX math expression, independent of how it is drawn.
|
|
2
|
-
*
|
|
3
|
-
* The same split as the mermaid engine: parsing yields a tree, layout turns it
|
|
4
|
-
* into boxes, and only the final renderer differs per twin.
|
|
5
|
-
*
|
|
6
|
-
* The supported grammar is the closed list in the P7 design doc. Anything
|
|
7
|
-
* outside it produces `{ ok: false, reason }` rather than a partial tree —
|
|
8
|
-
* dropping an unrecognised subscript would silently change what the formula
|
|
9
|
-
* says, which is the failure P7-b exists to prevent. */
|
|
10
1
|
/** `upright` is the difference between the variable `sin` and the function
|
|
11
2
|
* \sin: TeX sets ordinary letters in italic and named operators upright, and
|
|
12
3
|
* getting that wrong makes a formula read as a product of three variables. */
|
|
13
4
|
export type AtomStyle = 'bold' | 'italic' | 'text' | 'upright';
|
|
5
|
+
/** The parsed shape of a LaTeX math expression, independent of how it is
|
|
6
|
+
* drawn: layout turns it into boxes, and only the final renderer differs per
|
|
7
|
+
* twin. */
|
|
14
8
|
export type LatexNode = {
|
|
15
9
|
kind: 'accent';
|
|
16
10
|
over: string;
|
|
@@ -54,6 +48,9 @@ export type LatexNode = {
|
|
|
54
48
|
sup: LatexNode | null;
|
|
55
49
|
};
|
|
56
50
|
export type MatrixStyle = 'bracket' | 'double-pipe' | 'paren' | 'pipe' | 'plain';
|
|
51
|
+
/** Anything outside the supported grammar is `{ ok: false, reason }`, never a
|
|
52
|
+
* partial tree: dropping an unrecognised subscript would silently change what
|
|
53
|
+
* the formula says. */
|
|
57
54
|
export type LatexParseResult = {
|
|
58
55
|
ok: true;
|
|
59
56
|
root: LatexNode;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import { LatexParseResult } from './model';
|
|
2
|
+
/** LaTeX math source to a [LatexNode] tree, by recursive descent over a closed
|
|
3
|
+
* grammar. Every command is looked up in an explicit table; there is no
|
|
4
|
+
* "unknown command renders as itself" path, because that is how a formula
|
|
5
|
+
* silently loses a term.
|
|
6
|
+
*
|
|
7
|
+
* Kept structurally identical to `utils/latex/parse.dart` so the same corpus
|
|
8
|
+
* proves both twins read a formula the same way. */
|
|
2
9
|
export declare function parseLatex(source: string): LatexParseResult;
|
|
3
10
|
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -19,8 +19,8 @@ export declare const SPACING: Record<string, number>;
|
|
|
19
19
|
export declare const DELIMITERS: Record<string, string>;
|
|
20
20
|
/** Refused outright rather than merely unsupported. The first group is macro
|
|
21
21
|
* definition, which turns a formula into a program and hands an author a way to
|
|
22
|
-
* make the parser diverge; the second is a link surface, and
|
|
23
|
-
*
|
|
22
|
+
* make the parser diverge; the second is a link surface, and a `javascript:`
|
|
23
|
+
* URL in typeset source must stay inert literal text. */
|
|
24
24
|
export declare const REFUSED: string[];
|
|
25
25
|
export declare const MATRIX_ENVIRONMENTS: Record<string, MatrixStyle>;
|
|
26
26
|
//# sourceMappingURL=symbols.d.ts.map
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/** The parsed shape of a Mermaid diagram, independent of how it is drawn.
|
|
2
|
-
*
|
|
3
|
-
* Parsing yields this model and nothing else — no coordinates, no SVG — because
|
|
4
|
-
* the twin that draws it differs (TypeScript emits SVG, Dart paints), while what
|
|
5
|
-
* the source *means* must not. The layout pass turns this into geometry.
|
|
6
|
-
*
|
|
7
|
-
* The supported grammar is the closed list in the P7 design doc. Anything
|
|
8
|
-
* outside it must produce `{ ok: false, reason }` rather than a partial model:
|
|
9
|
-
* a diagram that disagrees with its own source is the failure P7-b exists to
|
|
10
|
-
* prevent, and dropping one unrecognised line is exactly how that happens. */
|
|
11
1
|
export type FlowDirection = 'BT' | 'LR' | 'RL' | 'TB' | 'TD';
|
|
12
2
|
export type FlowNodeShape = 'circle' | 'rect' | 'rhombus' | 'round' | 'stadium' | 'subroutine';
|
|
13
3
|
export type FlowEdgeLine = 'dotted' | 'solid' | 'thick';
|
|
@@ -65,9 +55,15 @@ export type SequenceModel = {
|
|
|
65
55
|
participants: SequenceParticipant[];
|
|
66
56
|
steps: SequenceStep[];
|
|
67
57
|
};
|
|
58
|
+
/** The parsed shape of a Mermaid diagram, with no coordinates and no SVG: the
|
|
59
|
+
* twin that draws it differs (TypeScript emits SVG, Dart paints), while what
|
|
60
|
+
* the source *means* must not. The layout pass turns it into geometry. */
|
|
68
61
|
export type MermaidModel = FlowchartModel | SequenceModel;
|
|
69
|
-
/**
|
|
70
|
-
*
|
|
62
|
+
/** Anything outside the supported grammar is `{ ok: false, reason }`, never a
|
|
63
|
+
* partial model: dropping one unrecognised line is how a diagram comes to
|
|
64
|
+
* disagree with its own source. `reason` is shown to the author in the
|
|
65
|
+
* fallback frame, so it names the construct that was not understood rather
|
|
66
|
+
* than a parser-internal position. */
|
|
71
67
|
export type MermaidParseResult = {
|
|
72
68
|
model: MermaidModel;
|
|
73
69
|
ok: true;
|
package/dist/types.d.ts
CHANGED
|
@@ -279,7 +279,7 @@ export type EmbedLabel = (typeof EMBED_LABELS)[number];
|
|
|
279
279
|
/** What the fix beside a reason asks the host to do. `retry` the core handles
|
|
280
280
|
* itself; `connectGoogle` only the host can, since it owns the routes. */
|
|
281
281
|
export type EmbedAction = 'connectGoogle' | 'retry';
|
|
282
|
-
/** Points are a FLAT x,y list
|
|
282
|
+
/** Points are a FLAT x,y list: a sketch is thousands of points and the flat
|
|
283
283
|
* form roughly halves the stored JSON. */
|
|
284
284
|
export type SketchStroke = {
|
|
285
285
|
points: number[];
|
|
@@ -293,7 +293,7 @@ export type SketchData = {
|
|
|
293
293
|
* renderer later improves every document that already exists. */
|
|
294
294
|
export type TypesetData = {
|
|
295
295
|
source: string;
|
|
296
|
-
/** Describes what the diagram or formula IS, not that it's a diagram
|
|
296
|
+
/** Describes what the diagram or formula IS, not that it's a diagram. Shown
|
|
297
297
|
* in place of the bare language name when present. */
|
|
298
298
|
title?: string;
|
|
299
299
|
};
|
|
@@ -1029,7 +1029,7 @@ export type EditorConfig = {
|
|
|
1029
1029
|
};
|
|
1030
1030
|
export declare const BLOCK_TOOLBAR_OPERATIONS: readonly ["convert", "moveUp", "moveDown", "delete"];
|
|
1031
1031
|
export type BlockToolbarOperation = (typeof BLOCK_TOOLBAR_OPERATIONS)[number];
|
|
1032
|
-
export declare const BLOCK_MENU_LABELS: readonly ["searchBlocks", "searchOperations", "searchConvertOptions", "searchLanguages", "searchThemes", "noBlockTypesFound", "noOperationsFound", "noConvertOptionsFound", "alignLeft", "alignCenter", "alignRight", "codeLanguage", "codeTheme", "headingH1", "headingH2", "headingH3", "headingH4", "headingH5", "headingH6", "listUnordered", "listOrdered", "variantInfo", "variantWarning", "variantError", "variantSuccess", "variantPlain", "delimiterLine", "delimiterStars", "embedShowLive", "embedShowCard", "embedShowLink", "embedCopyLink", "embedShowChip", "alertTextHint", "checklistItemHint", "codeHint", "collapsibleTitleHint", "glanceLabelHint", "glanceValueHint", "headerHint", "listItemHint", "mediaCaptionHint", "openApiSourceHint", "quoteAuthorHint", "quoteBodyHint", "tableCaptionHint", "tableCellHint", "tableHeaderHint", "diagramTitleHint", "formulaTitleHint", "imageDropTitle", "imageDropAction", "imageDropFormats", "imageUploading", "imageUploadFailed", "imageInvalidType"];
|
|
1032
|
+
export declare const BLOCK_MENU_LABELS: readonly ["searchBlocks", "searchOperations", "searchConvertOptions", "searchLanguages", "searchThemes", "noBlockTypesFound", "noOperationsFound", "noConvertOptionsFound", "alignLeft", "alignCenter", "alignRight", "codeLanguage", "codeTheme", "headingH1", "headingH2", "headingH3", "headingH4", "headingH5", "headingH6", "listUnordered", "listOrdered", "variantInfo", "variantWarning", "variantError", "variantSuccess", "variantPlain", "delimiterLine", "delimiterStars", "embedShowLive", "embedShowCard", "embedShowLink", "embedCopyLink", "embedShowChip", "alertTextHint", "checklistItemHint", "codeHint", "collapsibleTitleHint", "glanceLabelHint", "glanceValueHint", "headerHint", "listItemHint", "mediaCaptionHint", "openApiSourceHint", "quoteAuthorHint", "quoteBodyHint", "tableCaptionHint", "tableCellHint", "tableHeaderHint", "tableInsertAbove", "tableInsertBelow", "tableInsertLeft", "tableInsertRight", "tableMoveLeft", "tableMoveRight", "tableRowActions", "tableColumnActions", "diagramTitleHint", "formulaTitleHint", "imageDropTitle", "imageDropAction", "imageDropFormats", "imageUploading", "imageUploadFailed", "imageInvalidType"];
|
|
1033
1033
|
export type BlockMenuLabel = (typeof BLOCK_MENU_LABELS)[number];
|
|
1034
1034
|
export declare const CONTROL_LABELS: readonly ["editView", "previewView", "jsonView", "copyJson", "downloadJson", "clearEditor"];
|
|
1035
1035
|
export type ControlLabel = (typeof CONTROL_LABELS)[number];
|
package/dist/utils/platform.d.ts
CHANGED
|
@@ -1,47 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Platform detection and keyboard symbol utilities
|
|
3
|
-
*/
|
|
4
1
|
export type Platform = 'mac' | 'windows' | 'linux' | 'unknown';
|
|
5
|
-
/**
|
|
6
|
-
* Detect the user's operating system
|
|
7
|
-
*/
|
|
8
2
|
export declare function detectPlatform(): Platform;
|
|
9
|
-
/**
|
|
10
|
-
* Get the command/control key symbol for the current platform
|
|
11
|
-
*/
|
|
12
3
|
export declare function getCmdSymbol(): string;
|
|
13
|
-
/**
|
|
14
|
-
* Get the shift key symbol for the current platform
|
|
15
|
-
*/
|
|
16
4
|
export declare function getShiftSymbol(): string;
|
|
17
|
-
/**
|
|
18
|
-
* Get the option/alt key symbol for the current platform
|
|
19
|
-
*/
|
|
20
5
|
export declare function getOptionSymbol(): string;
|
|
21
|
-
/**
|
|
22
|
-
* Get the backspace key symbol for the current platform
|
|
23
|
-
*/
|
|
24
6
|
export declare function getBackspaceSymbol(): string;
|
|
25
|
-
/**
|
|
26
|
-
* Get the delete key symbol for the current platform
|
|
27
|
-
*/
|
|
28
7
|
export declare function getDeleteSymbol(): string;
|
|
29
|
-
/**
|
|
30
|
-
* Get the arrow key symbols
|
|
31
|
-
*/
|
|
32
8
|
export declare function getArrowSymbols(): {
|
|
33
9
|
down: string;
|
|
34
10
|
left: string;
|
|
35
11
|
right: string;
|
|
36
12
|
up: string;
|
|
37
13
|
};
|
|
38
|
-
/**
|
|
39
|
-
* Format a keyboard shortcut for display
|
|
40
|
-
*/
|
|
41
14
|
export declare function formatShortcut(keys: string[]): string;
|
|
42
|
-
/**
|
|
43
|
-
* Common shortcut builders
|
|
44
|
-
*/
|
|
45
15
|
export declare const Shortcuts: {
|
|
46
16
|
cmd: (key: string) => string;
|
|
47
17
|
cmdA: () => string;
|
package/dist/utils/url.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* URL detection and validation utilities for the editor
|
|
3
|
-
*/
|
|
4
1
|
export interface URLInfo {
|
|
5
2
|
isUrl: boolean;
|
|
6
3
|
isImage: boolean;
|
|
@@ -9,44 +6,14 @@ export interface URLInfo {
|
|
|
9
6
|
isVimeo: boolean;
|
|
10
7
|
url: string;
|
|
11
8
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Check if a string is a valid URL
|
|
14
|
-
*/
|
|
15
9
|
export declare function isValidUrl(text: string): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Check if a URL is an image based on file extension
|
|
18
|
-
*/
|
|
19
10
|
export declare function isImageUrl(url: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Check if a URL is a video based on file extension
|
|
22
|
-
*/
|
|
23
11
|
export declare function isVideoUrl(url: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Check if a URL is a YouTube video
|
|
26
|
-
*/
|
|
27
12
|
export declare function isYouTubeUrl(url: string): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Check if a URL is a Vimeo video
|
|
30
|
-
*/
|
|
31
13
|
export declare function isVimeoUrl(url: string): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Extract YouTube video ID from URL
|
|
34
|
-
*/
|
|
35
14
|
export declare function extractYouTubeId(url: string): string | null;
|
|
36
|
-
/**
|
|
37
|
-
* Extract Vimeo video ID from URL
|
|
38
|
-
*/
|
|
39
15
|
export declare function extractVimeoId(url: string): string | null;
|
|
40
|
-
/**
|
|
41
|
-
* Convert YouTube URL to embed URL
|
|
42
|
-
*/
|
|
43
16
|
export declare function convertYouTubeToEmbed(url: string): string | null;
|
|
44
|
-
/**
|
|
45
|
-
* Convert Vimeo URL to embed URL
|
|
46
|
-
*/
|
|
47
17
|
export declare function convertVimeoToEmbed(url: string): string | null;
|
|
48
|
-
/**
|
|
49
|
-
* Analyze a text string to determine if it's a URL and what type
|
|
50
|
-
*/
|
|
51
18
|
export declare function analyzeUrl(text: string): URLInfo;
|
|
52
19
|
//# sourceMappingURL=url.d.ts.map
|
package/package.json
CHANGED