@sapphire/plugin-api 3.1.2-next.dbf6b39.0 → 3.1.2
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/dist/lib/structures/RouteStore.d.ts.map +1 -1
- package/dist/lib/structures/RouteStore.js +7 -2
- package/dist/lib/structures/RouteStore.js.map +1 -1
- package/dist/lib/structures/http/Auth.d.ts.map +1 -1
- package/dist/lib/structures/http/Auth.js +0 -1
- package/dist/lib/structures/http/Auth.js.map +1 -1
- package/dist/middlewares/headers.d.ts +16 -0
- package/dist/middlewares/headers.d.ts.map +1 -1
- package/dist/middlewares/headers.js +24 -9
- package/dist/middlewares/headers.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteStore.d.ts","sourceRoot":"","sources":["../../../src/lib/structures/RouteStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAiB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,MAAM,WAAW,cAAc;IAC9B,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC;CACtD;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,cAAc,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,KAAK,CAAC;IAC3C,SAAgB,KAAK,yDAAgE;;IAQ9E,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"RouteStore.d.ts","sourceRoot":"","sources":["../../../src/lib/structures/RouteStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAiB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,MAAM,WAAW,cAAc;IAC9B,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC;CACtD;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,cAAc,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,KAAK,CAAC;IAC3C,SAAgB,KAAK,yDAAgE;;IAQ9E,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IA+BpD,OAAO,CAAC,QAAQ;CAsBhB"}
|
|
@@ -24,11 +24,16 @@ class RouteStore extends pieces_1.Store {
|
|
|
24
24
|
}
|
|
25
25
|
match(request) {
|
|
26
26
|
const { method } = request;
|
|
27
|
-
|
|
27
|
+
// If there is no method, we can't match a route so return null
|
|
28
|
+
if (typeof method === 'undefined') {
|
|
28
29
|
return null;
|
|
30
|
+
}
|
|
31
|
+
// We get all the methods that are tied to the provided method to have a smaller list to filter through
|
|
29
32
|
const methodTable = this.table.get(method);
|
|
30
|
-
|
|
33
|
+
// If there are no methods of the provided type then we won't find any route so we return null
|
|
34
|
+
if (typeof methodTable === 'undefined') {
|
|
31
35
|
return null;
|
|
36
|
+
}
|
|
32
37
|
const { splits, querystring } = this.parseURL(request.url);
|
|
33
38
|
for (const [route, cb] of methodTable.entries()) {
|
|
34
39
|
const result = route.router.match(splits);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteStore.js","sourceRoot":"","sources":["../../../src/lib/structures/RouteStore.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,2CAAwC;AACxC,6BAAsC;AAGtC,oDAA4D;AAC5D,mCAAgC;AAEhC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAWhC;;GAEG;AACH,MAAa,UAAW,SAAQ,cAAY;IAG3C;QACC,KAAK,CAAC,aAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAHzC;;;;mBAAwB,IAAI,uBAAU,EAA8C;WAAC;QAKpF,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,2BAAa;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,uBAAU,EAAE,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,OAAmB;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RouteStore.js","sourceRoot":"","sources":["../../../src/lib/structures/RouteStore.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,2CAAwC;AACxC,6BAAsC;AAGtC,oDAA4D;AAC5D,mCAAgC;AAEhC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAWhC;;GAEG;AACH,MAAa,UAAW,SAAQ,cAAY;IAG3C;QACC,KAAK,CAAC,aAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAHzC;;;;mBAAwB,IAAI,uBAAU,EAA8C;WAAC;QAKpF,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,2BAAa;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,uBAAU,EAAE,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,OAAmB;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,+DAA+D;QAC/D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAClC,OAAO,IAAI,CAAC;SACZ;QAED,uGAAuG;QACvG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAiB,CAAC,CAAC;QAEtD,8FAA8F;QAC9F,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;YACvC,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3D,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,MAAM,KAAK,IAAI;gBAAE,SAAS;YAE9B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,qBAAe,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAE/E,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;SACrB;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,QAAQ,CAAC,GAAG,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/B,yDAAyD;QACzD,IAAI,QAAgB,CAAC;QACrB,IAAI,WAAmB,CAAC;QACxB,wDAAwD;QACxD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,QAAQ,GAAG,GAAG,CAAC;YACf,WAAW,GAAG,EAAE,CAAC;SACjB;aAAM;YACN,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACnC,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SACvC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK;YAAE,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErI,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEnC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAChC,CAAC;CACD;AA9DD,gCA8DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../../src/lib/structures/http/Auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EACN,sCAAsC,EACtC,iCAAiC,EACjC,2BAA2B,EAC3B,SAAS,EAGT,MAAM,sBAAsB,CAAC;AAG9B,qBAAa,IAAI;;IAChB;;;OAGG;IACI,EAAE,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACI,MAAM,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACI,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC;;;OAGG;IACI,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACI,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAErC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;
|
|
1
|
+
{"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../../src/lib/structures/http/Auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EACN,sCAAsC,EACtC,iCAAiC,EACjC,2BAA2B,EAC3B,SAAS,EAGT,MAAM,sBAAsB,CAAC;AAG9B,qBAAa,IAAI;;IAChB;;;OAGG;IACI,EAAE,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACI,MAAM,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACI,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC;;;OAGG;IACI,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACI,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAErC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAI7C,OAAO;IAUP;;;OAGG;IACH,IAAW,MAAM,WAEhB;IAED;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAMtC;;;;;OAKG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAa9C;;;;OAIG;IACU,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YAmB3C,gBAAgB;WAYhB,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;CAI9D;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACxB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,MAAM,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC;IAElD;;;OAGG;IACH,WAAW,CAAC,EAAE,sCAAsC,GAAG,IAAI,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACpE;;;OAGG;IACH,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../../../src/lib/structures/http/Auth.ts"],"names":[],"mappings":";;;;;AAAA,mDAA4D;AAC5D,mCAAuE;AACvE,6CAO8B;AAC9B,yEAA+B;AAE/B,MAAa,IAAI;
|
|
1
|
+
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../../../src/lib/structures/http/Auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,21 @@ export declare class PluginMiddleware extends Middleware {
|
|
|
7
7
|
private readonly methods;
|
|
8
8
|
constructor(context: Middleware.Context);
|
|
9
9
|
run(request: ApiRequest, response: ApiResponse, route: Route | null): void;
|
|
10
|
+
/**
|
|
11
|
+
* **RFC 7231 4.3.7.**
|
|
12
|
+
* > This method allows a client to determine the options and/or requirements associated with a
|
|
13
|
+
* > resource, or the capabilities of a server, without implying a resource action.
|
|
14
|
+
*
|
|
15
|
+
* This method ensures that the request is exited early in case required
|
|
16
|
+
* The conditions in which an early exit is required are:
|
|
17
|
+
* 1. If the request method is 'OPTIONS'. In this case the request is returned with status code 200
|
|
18
|
+
* 2. If the requested route isn't matched with any existing route in the RouteStore.
|
|
19
|
+
* In this case the request is returned with a status code 404.
|
|
20
|
+
*
|
|
21
|
+
* @param request The API Request coming in
|
|
22
|
+
* @param response The API response that will go out
|
|
23
|
+
* @param route The route being requested by the request
|
|
24
|
+
*/
|
|
25
|
+
private ensurePotentialEarlyExit;
|
|
10
26
|
}
|
|
11
27
|
//# sourceMappingURL=headers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/middlewares/headers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/middlewares/headers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,qBAAa,gBAAiB,SAAQ,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;gBAEnC,OAAO,EAAE,UAAU,CAAC,OAAO;IAKvC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAU1E;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,wBAAwB;CAOhC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PluginMiddleware = void 0;
|
|
4
4
|
const http_1 = require("http");
|
|
5
|
+
require("../lib/structures/http/HttpCodes");
|
|
5
6
|
const Middleware_1 = require("../lib/structures/Middleware");
|
|
6
7
|
class PluginMiddleware extends Middleware_1.Middleware {
|
|
7
8
|
constructor(context) {
|
|
@@ -26,16 +27,30 @@ class PluginMiddleware extends Middleware_1.Middleware {
|
|
|
26
27
|
response.setHeader('Access-Control-Allow-Origin', this.origin);
|
|
27
28
|
response.setHeader('Access-Control-Allow-Headers', 'Authorization, User-Agent, Content-Type');
|
|
28
29
|
response.setHeader('Access-Control-Allow-Methods', this.methods);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
this.ensurePotentialEarlyExit(request, response, route);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* **RFC 7231 4.3.7.**
|
|
34
|
+
* > This method allows a client to determine the options and/or requirements associated with a
|
|
35
|
+
* > resource, or the capabilities of a server, without implying a resource action.
|
|
36
|
+
*
|
|
37
|
+
* This method ensures that the request is exited early in case required
|
|
38
|
+
* The conditions in which an early exit is required are:
|
|
39
|
+
* 1. If the request method is 'OPTIONS'. In this case the request is returned with status code 200
|
|
40
|
+
* 2. If the requested route isn't matched with any existing route in the RouteStore.
|
|
41
|
+
* In this case the request is returned with a status code 404.
|
|
42
|
+
*
|
|
43
|
+
* @param request The API Request coming in
|
|
44
|
+
* @param response The API response that will go out
|
|
45
|
+
* @param route The route being requested by the request
|
|
46
|
+
*/
|
|
47
|
+
ensurePotentialEarlyExit(request, response, route) {
|
|
48
|
+
if (request.method === 'OPTIONS') {
|
|
38
49
|
response.end();
|
|
50
|
+
}
|
|
51
|
+
else if (route === null) {
|
|
52
|
+
response.status(404 /* NotFound */).end();
|
|
53
|
+
}
|
|
39
54
|
}
|
|
40
55
|
}
|
|
41
56
|
exports.PluginMiddleware = PluginMiddleware;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/middlewares/headers.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAG/B,6DAA0D;AAG1D,MAAa,gBAAiB,SAAQ,uBAAU;IAI/C,YAAmB,OAA2B;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAJlC;;;;;WAAgC;QAChC;;;;mBAAmC,cAAO,CAAC,IAAI,CAAC,IAAI,CAAC;WAAC;QAIrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IAC3D,CAAC;IAEM,GAAG,CAAC,OAAmB,EAAE,QAAqB,EAAE,KAAmB;QACzE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,QAAQ,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,CAAC,8BAA8B,EAAE,yCAAyC,CAAC,CAAC;QAC9F,QAAQ,CAAC,SAAS,CAAC,8BAA8B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/middlewares/headers.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAG/B,4CAA6D;AAC7D,6DAA0D;AAG1D,MAAa,gBAAiB,SAAQ,uBAAU;IAI/C,YAAmB,OAA2B;QAC7C,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAJlC;;;;;WAAgC;QAChC;;;;mBAAmC,cAAO,CAAC,IAAI,CAAC,IAAI,CAAC;WAAC;QAIrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IAC3D,CAAC;IAEM,GAAG,CAAC,OAAmB,EAAE,QAAqB,EAAE,KAAmB;QACzE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,QAAQ,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,CAAC,8BAA8B,EAAE,yCAAyC,CAAC,CAAC;QAC9F,QAAQ,CAAC,SAAS,CAAC,8BAA8B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,wBAAwB,CAAC,OAAmB,EAAE,QAAqB,EAAE,KAAmB;QAC/F,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YACjC,QAAQ,CAAC,GAAG,EAAE,CAAC;SACf;aAAM,IAAI,KAAK,KAAK,IAAI,EAAE;YAC1B,QAAQ,CAAC,MAAM,oBAAoB,CAAC,GAAG,EAAE,CAAC;SAC1C;IACF,CAAC;CACD;AAzCD,4CAyCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sapphire/plugin-api",
|
|
3
|
-
"version": "3.1.2
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"description": "Plugin for @sapphire/framework to expose a REST API",
|
|
5
5
|
"author": "@sapphire",
|
|
6
6
|
"license": "MIT",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"publishConfig": {
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "72c07e3dfa083090343d36d6fdfcf2001d3fb3f2"
|
|
74
74
|
}
|