rust2.0 #1
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hibas123/jrpcgen",
|
||||
"version": "1.2.6",
|
||||
"version": "1.2.11",
|
||||
"main": "lib/index.js",
|
||||
"license": "MIT",
|
||||
"packageManager": "yarn@3.1.1",
|
||||
|
@ -46,15 +46,19 @@ function indexToLineAndCol(src: string, index: number) {
|
||||
return { line, col };
|
||||
}
|
||||
|
||||
function resolve(base: string, ...parts: string[]) {
|
||||
if (base.startsWith("http://") || base.startsWith("https://")) {
|
||||
function resolve(base: string, sub?: string) {
|
||||
if (sub && (sub.startsWith("http://") || sub.startsWith("https://"))) {
|
||||
let u = new URL(sub);
|
||||
return u.href;
|
||||
} else if (base.startsWith("http://") || base.startsWith("https://")) {
|
||||
let u = new URL(base);
|
||||
for (const part of parts) {
|
||||
u = new URL(part, u);
|
||||
if (sub) {
|
||||
u = new URL(sub, u);
|
||||
}
|
||||
return u.href;
|
||||
} else {
|
||||
return Path.resolve(base, ...parts);
|
||||
if (!sub) return Path.resolve(base);
|
||||
else return Path.resolve(Path.dirname(base), sub + ".jrpc");
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,13 +155,7 @@ async function processFile(
|
||||
let resolved: Parsed = [];
|
||||
for (const statement of parsed) {
|
||||
if (statement.type == "import") {
|
||||
let res: string;
|
||||
if (file.startsWith("http://") || file.startsWith("https://")) {
|
||||
res = resolve(file, statement.path + ".jrpc");
|
||||
} else {
|
||||
const base = Path.dirname(file);
|
||||
res = resolve(base, statement.path + ".jrpc");
|
||||
}
|
||||
let res = resolve(file, statement.path);
|
||||
resolved.push(...((await processFile(ctx, res)) || []));
|
||||
} else {
|
||||
resolved.push(statement);
|
||||
|
Loading…
Reference in New Issue
Block a user