@yopdev/dev-server 1.2.2 → 1.2.3-alpha.1
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,3 +1,4 @@
|
|
|
1
1
|
import { DevServerConfig } from "./config";
|
|
2
2
|
import { Service } from "./services";
|
|
3
3
|
export declare const lazy: <I>(lifecycle: (config: DevServerConfig) => Service<I>) => Service<I>;
|
|
4
|
+
export declare const promised: <I>(lifecycle: (config: DevServerConfig) => Promise<Service<I>>) => Service<I>;
|
|
@@ -36,12 +36,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.lazy = void 0;
|
|
39
|
+
exports.promised = exports.lazy = void 0;
|
|
40
40
|
var crypto_1 = require("crypto");
|
|
41
41
|
var services_1 = require("./services");
|
|
42
42
|
var logging_1 = require("@yopdev/logging");
|
|
43
43
|
var lazy = function (lifecycle) { return new services_1.Service(new Lazy(lifecycle)); };
|
|
44
44
|
exports.lazy = lazy;
|
|
45
|
+
var promised = function (lifecycle) { return new services_1.Service(new Promised(lifecycle)); };
|
|
46
|
+
exports.promised = promised;
|
|
45
47
|
var Lazy = /** @class */ (function () {
|
|
46
48
|
function Lazy(configurable) {
|
|
47
49
|
var _this = this;
|
|
@@ -80,3 +82,28 @@ var Lazy = /** @class */ (function () {
|
|
|
80
82
|
};
|
|
81
83
|
return Lazy;
|
|
82
84
|
}());
|
|
85
|
+
var Promised = /** @class */ (function () {
|
|
86
|
+
function Promised(configurable) {
|
|
87
|
+
var _this = this;
|
|
88
|
+
this.configurable = configurable;
|
|
89
|
+
this.start = function (config) { return __awaiter(_this, void 0, void 0, function () {
|
|
90
|
+
var _this = this;
|
|
91
|
+
return __generator(this, function (_a) {
|
|
92
|
+
return [2 /*return*/, this.configurable(config)
|
|
93
|
+
.then(function (service) { return _this.service = service; })
|
|
94
|
+
.then(function () { return _this.LOGGER.info('started'); })
|
|
95
|
+
.then(function () { return _this.service.start(config); })];
|
|
96
|
+
});
|
|
97
|
+
}); };
|
|
98
|
+
this.stop = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
99
|
+
var _this = this;
|
|
100
|
+
return __generator(this, function (_a) {
|
|
101
|
+
return [2 /*return*/, Promise.resolve(this.LOGGER.info('stopped'))
|
|
102
|
+
.then(function () { return _this.service.stop(); })];
|
|
103
|
+
});
|
|
104
|
+
}); };
|
|
105
|
+
this.name = (0, crypto_1.randomUUID)();
|
|
106
|
+
this.LOGGER = logging_1.LoggerFactory.create("PROMISED[".concat(this.name, "]"));
|
|
107
|
+
}
|
|
108
|
+
return Promised;
|
|
109
|
+
}());
|
package/dist/src/index.d.ts
CHANGED
|
@@ -8,4 +8,4 @@ export { newScheduledTasks as scheduledTasks } from './scheduled-tasks';
|
|
|
8
8
|
export { newPreTrafficHooks as preTrafficHooks } from './pre-traffic-hooks';
|
|
9
9
|
export { newDynamoDbTable as dynamoDbTable } from './dynamodb';
|
|
10
10
|
export { all as allOf, oneThenOther } from './factories';
|
|
11
|
-
export { lazy } from './
|
|
11
|
+
export { lazy, promised } from './deferred';
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.lazy = exports.oneThenOther = exports.allOf = exports.dynamoDbTable = exports.preTrafficHooks = exports.scheduledTasks = exports.eventsProxy = exports.internalQueue = exports.snsHttpProxy = exports.lambdaHttpProxy = exports.httpServer = exports.DevServer = void 0;
|
|
3
|
+
exports.promised = exports.lazy = exports.oneThenOther = exports.allOf = exports.dynamoDbTable = exports.preTrafficHooks = exports.scheduledTasks = exports.eventsProxy = exports.internalQueue = exports.snsHttpProxy = exports.lambdaHttpProxy = exports.httpServer = exports.DevServer = void 0;
|
|
4
4
|
var dev_server_1 = require("./dev-server");
|
|
5
5
|
Object.defineProperty(exports, "DevServer", { enumerable: true, get: function () { return dev_server_1.DevServer; } });
|
|
6
6
|
var http_server_1 = require("./http-server");
|
|
@@ -22,5 +22,6 @@ Object.defineProperty(exports, "dynamoDbTable", { enumerable: true, get: functio
|
|
|
22
22
|
var factories_1 = require("./factories");
|
|
23
23
|
Object.defineProperty(exports, "allOf", { enumerable: true, get: function () { return factories_1.all; } });
|
|
24
24
|
Object.defineProperty(exports, "oneThenOther", { enumerable: true, get: function () { return factories_1.oneThenOther; } });
|
|
25
|
-
var
|
|
26
|
-
Object.defineProperty(exports, "lazy", { enumerable: true, get: function () { return
|
|
25
|
+
var deferred_1 = require("./deferred");
|
|
26
|
+
Object.defineProperty(exports, "lazy", { enumerable: true, get: function () { return deferred_1.lazy; } });
|
|
27
|
+
Object.defineProperty(exports, "promised", { enumerable: true, get: function () { return deferred_1.promised; } });
|
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
39
|
exports.newLambdaHttpProxy = void 0;
|
|
4
40
|
var logging_1 = require("@yopdev/logging");
|
|
@@ -29,11 +65,20 @@ var LambdaHttpProxy = /** @class */ (function () {
|
|
|
29
65
|
});
|
|
30
66
|
};
|
|
31
67
|
};
|
|
68
|
+
this.fallback = function (request, _, response) { return __awaiter(_this, void 0, void 0, function () {
|
|
69
|
+
return __generator(this, function (_a) {
|
|
70
|
+
return [2 /*return*/, Promise.resolve(this.LOGGER.warn('FALLBACK')).then(function () {
|
|
71
|
+
return (0, responses_1.writeResponse)(response, 404, "no route found to handle ".concat(request.method, " to ").concat(request.url));
|
|
72
|
+
})];
|
|
73
|
+
});
|
|
74
|
+
}); };
|
|
32
75
|
this.resolveRoute = function (request, body, response) {
|
|
33
|
-
|
|
76
|
+
var _a;
|
|
77
|
+
return ((_a = _this.routes.filter(function (r) { return request.method.match(r.method); })
|
|
34
78
|
.filter(function (r) { return request.url.match(r.path); })
|
|
35
79
|
.sort(function (r1, r2) { return r2.path.source.length - r1.path.source.length; })
|
|
36
|
-
.map(function (r) { return _this.handler(r.handler); })
|
|
80
|
+
.map(function (r) { return _this.handler(r.handler); })
|
|
81
|
+
.find(function () { return true; })) !== null && _a !== void 0 ? _a : _this.fallback)(request, body, response);
|
|
37
82
|
};
|
|
38
83
|
this.server = new http_server_1.HttpServer(name, settings, this.resolveRoute);
|
|
39
84
|
this.LOGGER = logging_1.LoggerFactory.create("HTTP->LAMBDA[".concat(this.name, "]"));
|