feat: extension support (#78)

This commit is contained in:
Levi authored and GitHub committed 2023-10-16 09:47:31 +08:00
1 parent 82d316af83
commit c073fc0a67
118 files changed
+6971 -780

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
gopeed.events.onResolve(async function (ctx) {
if (ctx.settings.string != null) {
throw new Error("string is not null");
}
if (ctx.settings.number != null) {
throw new Error("number is not null");
}
if (ctx.settings.boolean != null) {
throw new Error("boolean is not null");
}
if (ctx.settings.stringDefault !== "default") {
throw new Error("string default value is incorrect");
}
if (ctx.settings.numberDefault !== 1) {
throw new Error("number default value is incorrect");
}
if (ctx.settings.booleanDefault !== true) {
throw new Error("boolean default value is incorrect");
}
if (ctx.settings.stringValued !== "valued") {
throw new Error("string value is incorrect");
}
if (ctx.settings.numberValued !== 1.1) {
throw new Error("number value is incorrect");
}
if (ctx.settings.booleanValued !== true) {
throw new Error("boolean value is incorrect");
}
ctx.res = {
name: "test",
files: Array(2).fill(true).map((_, i) => ({
name: `test-${i}.txt`,
size: 1024,
req: {
url: ctx.req.url + "/" + i,
}
}),
),
};
});
@@ -0,0 +1,64 @@
{
"name": "settings-all",
"title": "gopeed extension settings all type test",
"version": "0.0.1",
"scripts": [
{
"event": "onResolve",
"matches": [
"*://*/*"
],
"entry": "index.js"
}
],
"settings": [
{
"name": "string",
"title": "string null test",
"type": "string"
},
{
"name": "number",
"title": "number null test",
"type": "number"
},
{
"name": "boolean",
"title": "boolean null test",
"type": "boolean"
},
{
"name": "stringDefault",
"title": "string default test",
"type": "string",
"value": "default"
},
{
"name": "numberDefault",
"title": "number default test",
"type": "number",
"value": 1
},
{
"name": "booleanDefault",
"title": "boolean default test",
"type": "boolean",
"value": true
},
{
"name": "stringValued",
"title": "string valued test",
"type": "string"
},
{
"name": "numberValued",
"title": "number valued test",
"type": "number"
},
{
"name": "booleanValued",
"title": "boolean valued test",
"type": "boolean"
}
]
}