Skip to content

Commit e18caf5

Browse files
committed
refactor: Remove useless utils and add a types definition file for manifest items
1 parent 21529f3 commit e18caf5

File tree

9 files changed

+110
-27
lines changed

9 files changed

+110
-27
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# outdated generated js files
2+
src/utils/**/*.js
3+
src/utils/**/*.js.map
4+
15
# vscode test web
26
.vscode-test-web
37
/out

src/downloader/http_headers.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { URL } from "url";
22
import { Cheerio, Element } from "cheerio";
3-
import { cacheDir, manifestFiles, ManifestItemType } from "../utils/config";
3+
import { cacheDir, manifestFiles } from "../utils/config";
44
import { httpHeadersWikiURLs } from "./config_url";
55
import {
66
bold,
@@ -12,6 +12,7 @@ import {
1212
JsonFileWriter,
1313
SimpleHttpCache,
1414
} from "../utils/crawler-utils";
15+
import { ManifestItemType } from "../types-manifest";
1516

1617
main().catch((error) => console.error(error.stack));
1718
async function main() {

src/downloader/lua_openresty.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
import type { AnyNode, BasicAcceptedElems, CheerioAPI } from "cheerio";
44
import { nginxLuaDocsBaseURL, luaRestyDocsURLs, nginxLuaModuleURLs } from "./config_url";
5-
import { manifestFiles, ManifestItemType, detailsFile, luaSnippetFile, cacheDir } from "../utils/config";
5+
import { manifestFiles, detailsFile, luaSnippetFile, cacheDir } from "../utils/config";
66
import { JsonFileWriter, SimpleHttpCache, writeJSON, getText, loadHtml, print } from "../utils/crawler-utils";
77
import type { SnippetItem } from "../extension/types";
8+
import { ManifestItemType } from "../types-manifest";
89

910
const manifestStreams = {
1011
lua: new JsonFileWriter(manifestFiles.lua),

src/downloader/nginx_directives.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/env node
22

3-
import { ManifestItemType, cacheDir, detailsFile, manifestFiles } from "../utils/config";
3+
import { ManifestItemType } from "../types-manifest";
4+
import { cacheDir, detailsFile, manifestFiles } from "../utils/config";
45
import {
56
JsonFileWriter,
67
resolveURL,

src/types-manifest.ts

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
export const enum ManifestItemType {
2+
ModuleNames = 1,
3+
Directive = 2,
4+
Variable = 3,
5+
DirectiveDetails = 4,
6+
VariableDetails = 5,
7+
HttpReqHeader = 6,
8+
HttpResHeader = 7,
9+
}
10+
11+
export type ManifestItemForModuleNames = [
12+
type: ManifestItemType.ModuleNames,
13+
/** @example "ngx_http_access_module" */
14+
...moduleNames: string[]
15+
];
16+
17+
export type ManifestItemForDirective = [
18+
type: ManifestItemType.Directive,
19+
/** @example "accept_mutex" */
20+
directiveName: string,
21+
/** @example ["on | off"] */
22+
signature: string[],
23+
/** @example "accept_mutex off;" */
24+
def: string,
25+
/** @example ["events"] */
26+
contexts: string[],
27+
/** The index of its module name */
28+
moduleIndex: number,
29+
/** @example "1.9.11" */
30+
since: null | string,
31+
/** A uri to this directive's docs */
32+
link: string,
33+
completionItemPatch: null | { insert: string }
34+
];
35+
36+
export type ManifestItemForVariable = [
37+
type: ManifestItemType.Variable,
38+
varName: `$${string}`,
39+
desc: string,
40+
/** The index of its module name */
41+
moduleIndex: number,
42+
/** @example "1.9.11" */
43+
since: null | string,
44+
/** A uri to this directive's docs */
45+
link: string,
46+
completionItemPatch: null | { insert: string }
47+
];
48+
49+
export type ManifestItemForDirectiveDetails = [
50+
type: ManifestItemType.DirectiveDetails,
51+
name: string,
52+
markdown: string,
53+
html: string,
54+
nites: string,
55+
table: string
56+
];
57+
export type ManifestItemForVariableDetails = [
58+
//
59+
type: ManifestItemType.VariableDetails,
60+
docs: string
61+
];
62+
63+
export type ManifestItemForHttpReqHeader = [
64+
//
65+
type: ManifestItemType.HttpReqHeader,
66+
name: string,
67+
description: string,
68+
example: string,
69+
standard: string | null,
70+
];
71+
export type ManifestItemForHttpResHeader = [
72+
//
73+
type: ManifestItemType.HttpResHeader,
74+
name: string,
75+
description: string,
76+
example: string,
77+
standard: string | null,
78+
];
79+
80+
export function isManifestItemForModuleNames(row: unknown[]): row is ManifestItemForModuleNames {
81+
return row && row[0] === ManifestItemType.ModuleNames;
82+
}
83+
export function isManifestItemForDirective(row: unknown[]): row is ManifestItemForDirective {
84+
return row && row[0] === ManifestItemType.Directive;
85+
}
86+
export function isManifestItemForVariable(row: unknown[]): row is ManifestItemForVariable {
87+
return row && row[0] === ManifestItemType.Variable;
88+
}
89+
export function isManifestItemForDirectiveDetails(row: unknown[]): row is ManifestItemForDirectiveDetails {
90+
return row && row[0] === ManifestItemType.DirectiveDetails;
91+
}
92+
export function isManifestItemForVariableDetails(row: unknown[]): row is ManifestItemForVariableDetails {
93+
return row && row[0] === ManifestItemType.VariableDetails;
94+
}
95+
export function isManifestItemForHttpReqHeader(row: unknown[]): row is ManifestItemForHttpReqHeader {
96+
return row && row[0] === ManifestItemType.HttpReqHeader;
97+
}
98+
export function isManifestItemForHttpResHeader(row: unknown[]): row is ManifestItemForHttpResHeader {
99+
return row && row[0] === ManifestItemType.HttpResHeader;
100+
}

src/utils/.gitignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/utils/README.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/utils/config.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
11
import { resolve } from "path";
22

3-
export const enum ManifestItemType {
4-
ModuleNames = 1,
5-
Directive = 2,
6-
Variable = 3,
7-
DirectiveDetails = 4,
8-
VariableDetails = 5,
9-
HttpReqHeader = 6,
10-
HttpResHeader = 7,
11-
}
12-
133
export const projectDir = resolve(__dirname, '../..');
144
export const cacheDir = resolve(projectDir, 'cache')
155
export const syntaxesDir = resolve(projectDir, 'src/syntax/references');

src/utils/terminal-colors.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)