temba 0.8.2 → 0.9.0

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.
@@ -1,42 +1,30 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createResourceAndIdParser = createResourceAndIdParser;
9
- exports.createValidateResourceMiddleware = createValidateResourceMiddleware;
10
-
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
- var _urlParser = require("./urlParser");
14
-
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
-
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createValidateResourceMiddleware = exports.createResourceAndIdParser = void 0;
4
+ const errors_1 = require("../errors");
5
+ const urlParser_1 = require("./urlParser");
19
6
  function createResourceAndIdParser(apiPrefix) {
20
- return function getResourceAndId(req, _, next) {
21
- var url = req.baseUrl.replace(apiPrefix, '');
22
- var urlInfo = (0, _urlParser.parseUrl)(url);
23
- req.requestInfo = _objectSpread(_objectSpread({}, req.requestInfo), urlInfo);
24
- return next();
25
- };
7
+ return function getResourceAndId(req, _, next) {
8
+ const url = req.baseUrl.replace(apiPrefix, '');
9
+ let urlInfo = (0, urlParser_1.parseUrl)(url);
10
+ req.requestInfo = Object.assign(Object.assign({}, req.requestInfo), urlInfo);
11
+ return next();
12
+ };
26
13
  }
27
-
14
+ exports.createResourceAndIdParser = createResourceAndIdParser;
28
15
  function createValidateResourceMiddleware(validateResources, resourceNames) {
29
- return function validateResource(req, _, next) {
30
- if (!validateResources) return next();
31
- var resourceName = req.requestInfo.resourceName;
32
- if (!resourceName) return next();
33
-
34
- if (!resourceNames.includes(resourceName.toLowerCase())) {
35
- var error = new Error("'".concat(resourceName, "' is an unknown resource"));
36
- error.status = 404;
37
- return next(error);
38
- }
39
-
40
- return next();
41
- };
42
- }
16
+ return function validateResource(req, _, next) {
17
+ if (!validateResources)
18
+ return next();
19
+ const { resourceName } = req.requestInfo;
20
+ if (!resourceName)
21
+ return next();
22
+ if (!resourceNames.includes(resourceName.toLowerCase())) {
23
+ const error = (0, errors_1.new404NotFoundError)(`'${resourceName}' is an unknown resource`);
24
+ return next(error);
25
+ }
26
+ return next();
27
+ };
28
+ }
29
+ exports.createValidateResourceMiddleware = createValidateResourceMiddleware;
30
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/urls/middleware.ts"],"names":[],"mappings":";;;AAAA,sCAA+C;AAC/C,2CAAsC;AAEtC,SAAS,yBAAyB,CAAC,SAAS;IAC1C,OAAO,SAAS,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,OAAO,GAAG,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAA;QAE3B,GAAG,CAAC,WAAW,mCAAQ,GAAG,CAAC,WAAW,GAAK,OAAO,CAAE,CAAA;QAEpD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAqBQ,8DAAyB;AAnBlC,SAAS,gCAAgC,CAAC,iBAAiB,EAAE,aAAa;IACxE,OAAO,SAAS,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI;QAC3C,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;QAExC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,EAAE,CAAA;QAEhC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE;YACvD,MAAM,KAAK,GAAG,IAAA,4BAAmB,EAC/B,IAAI,YAAY,0BAA0B,CAC3C,CAAA;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;QAED,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAEmC,4EAAgC"}
@@ -1,22 +1,13 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseUrl = parseUrl;
7
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseUrl = void 0;
8
4
  function parseUrl(url) {
9
- if (!url || url && !url.trim()) return {
10
- resourceName: null,
11
- id: null
12
- };
13
- var urlSegments = url.split('/').filter(function (i) {
14
- return i;
15
- });
16
- var resourceName = urlSegments.length > 0 ? urlSegments[0] : null;
17
- var id = urlSegments.length > 1 ? urlSegments[1] : null;
18
- return {
19
- resourceName: resourceName,
20
- id: id
21
- };
22
- }
5
+ if (!url || (url && !url.trim()))
6
+ return { resourceName: null, id: null };
7
+ const urlSegments = url.split('/').filter((i) => i);
8
+ const resourceName = urlSegments.length > 0 ? urlSegments[0] : null;
9
+ const id = urlSegments.length > 1 ? urlSegments[1] : null;
10
+ return { resourceName, id };
11
+ }
12
+ exports.parseUrl = parseUrl;
13
+ //# sourceMappingURL=urlParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlParser.js","sourceRoot":"","sources":["../../src/urls/urlParser.ts"],"names":[],"mappings":";;;AAAA,SAAS,QAAQ,CAAC,GAAG;IACnB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAEzE,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACnE,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzD,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;AAC7B,CAAC;AAEQ,4BAAQ"}
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "temba",
3
- "version": "0.8.2",
3
+ "version": "0.9.0",
4
4
  "description": "Get a simple MongoDB REST API with zero coding in less than 30 seconds (seriously).",
5
5
  "main": "dist/server.js",
6
6
  "scripts": {
7
- "build": "rm -rf dist && npx babel src --out-dir dist",
8
- "start": "npx babel src --watch --out-dir dist"
7
+ "build": "tsc",
8
+ "start": "tsc && node dist/server.ts",
9
+ "test": "jest",
10
+ "lint": "eslint --ignore-path .eslintignore --ext .js,.ts .",
11
+ "format": "prettier --ignore-path .gitignore --write \"**/*.+(js|ts|json)\""
9
12
  },
10
13
  "repository": {
11
14
  "type": "git",
@@ -20,16 +23,23 @@
20
23
  "!__tests__"
21
24
  ],
22
25
  "devDependencies": {
23
- "@babel/core": "^7.15.5",
24
- "@babel/node": "^7.15.4",
25
- "@babel/plugin-transform-runtime": "^7.15.0",
26
- "@babel/preset-env": "^7.15.4",
27
- "babel-core": "^7.0.0-bridge.0",
28
- "jest": "^27.1.0",
29
- "jest-extended": "^0.11.5"
26
+ "@types/cors": "^2.8.12",
27
+ "@types/express": "^4.17.13",
28
+ "@types/jest": "^27.4.0",
29
+ "@types/morgan": "^1.9.3",
30
+ "@types/supertest": "^2.0.11",
31
+ "@typescript-eslint/eslint-plugin": "^5.10.0",
32
+ "@typescript-eslint/parser": "^5.10.0",
33
+ "eslint": "^8.7.0",
34
+ "eslint-config-prettier": "^8.3.0",
35
+ "jest": "^27.4.7",
36
+ "jest-extended": "^0.11.5",
37
+ "prettier": "^2.5.1",
38
+ "supertest": "^6.2.2",
39
+ "ts-jest": "^27.1.3",
40
+ "typescript": "^4.5.5"
30
41
  },
31
42
  "dependencies": {
32
- "@babel/runtime": "^7.15.4",
33
43
  "@rakered/mongo": "^1.6.0",
34
44
  "connect-pause": "^0.1.0",
35
45
  "cors": "^2.8.5",