1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _regenerator = require('babel-runtime/regenerator');
|
8 |
|
9 | var _regenerator2 = _interopRequireDefault(_regenerator);
|
10 |
|
11 | var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
12 |
|
13 | var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
14 |
|
15 | var _dynamodbConst = require('./dynamodbConst');
|
16 |
|
17 | var _dynamodbConnection = require('./dynamodbConnection');
|
18 |
|
19 | var _startDynamodbLocal = require('./startDynamodbLocal');
|
20 |
|
21 | var _startDynamodbLocal2 = _interopRequireDefault(_startDynamodbLocal);
|
22 |
|
23 | var _dynamodbLocalhost = require('./dynamodbLocalhost');
|
24 |
|
25 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
26 |
|
27 |
|
28 |
|
29 | var instancePromise = new Promise(function () {
|
30 | var _ref = (0, _asyncToGenerator3.default)( _regenerator2.default.mark(function _callee(resolve, reject) {
|
31 | var singleInstance, newPort;
|
32 | return _regenerator2.default.wrap(function _callee$(_context) {
|
33 | while (1) {
|
34 | switch (_context.prev = _context.next) {
|
35 | case 0:
|
36 | _context.prev = 0;
|
37 | _context.next = 3;
|
38 | return (0, _dynamodbConnection.serverExists)(_dynamodbConst.SINGLE_INSTANCE_PORT);
|
39 |
|
40 | case 3:
|
41 | singleInstance = _context.sent;
|
42 |
|
43 | if (!singleInstance) {
|
44 | _context.next = 9;
|
45 | break;
|
46 | }
|
47 |
|
48 | console.log('Using existing dynamodb-local instance on ' + _dynamodbConst.SINGLE_INSTANCE_PORT);
|
49 | resolve((0, _dynamodbConnection.clientFactory)(_dynamodbConst.SINGLE_INSTANCE_PORT));
|
50 | _context.next = 20;
|
51 | break;
|
52 |
|
53 | case 9:
|
54 | _context.next = 11;
|
55 | return (0, _dynamodbLocalhost.isInstalled)();
|
56 |
|
57 | case 11:
|
58 | if (_context.sent) {
|
59 | _context.next = 13;
|
60 | break;
|
61 | }
|
62 |
|
63 | reject(new Error('You first need to run: yarn dynamodb-local-install'));
|
64 |
|
65 | case 13:
|
66 | _context.next = 15;
|
67 | return (0, _dynamodbConnection.freePort)();
|
68 |
|
69 | case 15:
|
70 | newPort = _context.sent;
|
71 |
|
72 | console.log('Starting new dynamodb-local instance on ' + newPort);
|
73 | _context.next = 19;
|
74 | return (0, _startDynamodbLocal2.default)(newPort);
|
75 |
|
76 | case 19:
|
77 | resolve((0, _dynamodbConnection.clientFactory)(newPort));
|
78 |
|
79 | case 20:
|
80 | _context.next = 25;
|
81 | break;
|
82 |
|
83 | case 22:
|
84 | _context.prev = 22;
|
85 | _context.t0 = _context['catch'](0);
|
86 |
|
87 | reject(_context.t0);
|
88 |
|
89 | case 25:
|
90 | case 'end':
|
91 | return _context.stop();
|
92 | }
|
93 | }
|
94 | }, _callee, undefined, [[0, 22]]);
|
95 | }));
|
96 |
|
97 | return function (_x, _x2) {
|
98 | return _ref.apply(this, arguments);
|
99 | };
|
100 | }());
|
101 |
|
102 | exports.default = (0, _asyncToGenerator3.default)( _regenerator2.default.mark(function _callee2() {
|
103 | return _regenerator2.default.wrap(function _callee2$(_context2) {
|
104 | while (1) {
|
105 | switch (_context2.prev = _context2.next) {
|
106 | case 0:
|
107 | _context2.next = 2;
|
108 | return instancePromise;
|
109 |
|
110 | case 2:
|
111 | return _context2.abrupt('return', _context2.sent);
|
112 |
|
113 | case 3:
|
114 | case 'end':
|
115 | return _context2.stop();
|
116 | }
|
117 | }
|
118 | }, _callee2, undefined);
|
119 | })); |
\ | No newline at end of file |