suanpan_node_sdk 1.5.13 → 1.5.15
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/api/index.d.ts +6 -0
- package/dist/api/index.js +19 -0
- package/dist/api/index.js.map +1 -0
- package/dist/core/common/constant.d.ts +7 -0
- package/dist/{constant.js → core/common/constant.js} +10 -5
- package/dist/core/common/constant.js.map +1 -0
- package/dist/{common → core/common}/exec.d.ts +0 -0
- package/dist/{common → core/common}/exec.js +0 -0
- package/dist/core/common/exec.js.map +1 -0
- package/dist/core/common/logger.d.ts +3 -0
- package/dist/core/common/logger.js +13 -0
- package/dist/core/common/logger.js.map +1 -0
- package/dist/core/logger/index.d.ts +2 -0
- package/dist/core/logger/index.js +15 -0
- package/dist/core/logger/index.js.map +1 -0
- package/dist/core/logger/interface.d.ts +7 -0
- package/dist/core/logger/interface.js +3 -0
- package/dist/core/logger/interface.js.map +1 -0
- package/dist/core/logger/logkit.d.ts +27 -0
- package/dist/core/logger/logkit.js +126 -0
- package/dist/core/logger/logkit.js.map +1 -0
- package/dist/core/logger/winston.d.ts +15 -0
- package/dist/core/logger/winston.js +54 -0
- package/dist/core/logger/winston.js.map +1 -0
- package/dist/core/message/connection/channels/message-channel.d.ts +10 -0
- package/dist/core/message/connection/channels/message-channel.js +25 -0
- package/dist/core/message/connection/channels/message-channel.js.map +1 -0
- package/dist/core/message/connection/channels/subscribable-channel.d.ts +14 -0
- package/dist/core/message/connection/channels/subscribable-channel.js +26 -0
- package/dist/core/message/connection/channels/subscribable-channel.js.map +1 -0
- package/dist/core/message/connection/index.d.ts +16 -0
- package/dist/core/message/connection/index.js +28 -0
- package/dist/core/message/connection/index.js.map +1 -0
- package/dist/core/message/connection/redis.d.ts +8 -0
- package/dist/core/message/connection/redis.js +58 -0
- package/dist/core/message/connection/redis.js.map +1 -0
- package/dist/core/message/convert.d.ts +7 -0
- package/dist/core/message/convert.js +71 -0
- package/dist/core/message/convert.js.map +1 -0
- package/dist/core/message/index.d.ts +3 -0
- package/dist/core/message/index.js +29 -0
- package/dist/core/message/index.js.map +1 -0
- package/dist/core/message/messageBuilder.d.ts +12 -0
- package/dist/core/message/messageBuilder.js +51 -0
- package/dist/core/message/messageBuilder.js.map +1 -0
- package/dist/core/message/pubsub/index.d.ts +47 -0
- package/dist/core/message/pubsub/index.js +164 -0
- package/dist/core/message/pubsub/index.js.map +1 -0
- package/dist/core/message/sp.d.ts +5 -0
- package/dist/core/message/sp.js +101 -0
- package/dist/core/message/sp.js.map +1 -0
- package/dist/core/parameter/commandArgs.d.ts +2 -0
- package/dist/core/parameter/commandArgs.js +23 -0
- package/dist/core/parameter/commandArgs.js.map +1 -0
- package/dist/core/parameter/environment.d.ts +83 -0
- package/dist/core/parameter/environment.js +101 -0
- package/dist/core/parameter/environment.js.map +1 -0
- package/dist/core/parameter/index.d.ts +7 -0
- package/dist/core/parameter/index.js +34 -0
- package/dist/core/parameter/index.js.map +1 -0
- package/dist/core/script/index.d.ts +4 -0
- package/dist/core/script/index.js +6 -0
- package/dist/core/script/index.js.map +1 -0
- package/dist/core/script/script-babel/babel.d.ts +1 -0
- package/dist/{script → core/script}/script-babel/babel.js +6 -2
- package/dist/core/script/script-babel/babel.js.map +1 -0
- package/dist/{script → core/script}/script-babel/plugin.d.ts +0 -0
- package/dist/{script → core/script}/script-babel/plugin.js +0 -0
- package/dist/core/script/script-babel/plugin.js.map +1 -0
- package/dist/{script → core/script}/script-constant.d.ts +0 -0
- package/dist/{script → core/script}/script-constant.js +0 -0
- package/dist/core/script/script-constant.js.map +1 -0
- package/dist/core/script/script-context.d.ts +1 -0
- package/dist/{script → core/script}/script-context.js +12 -8
- package/dist/core/script/script-context.js.map +1 -0
- package/dist/core/script/script-front.d.ts +1 -0
- package/dist/{script → core/script}/script-front.js +18 -14
- package/dist/core/script/script-front.js.map +1 -0
- package/dist/{script → core/script}/script-insert.d.ts +0 -0
- package/dist/{script → core/script}/script-insert.js +1 -1
- package/dist/core/script/script-insert.js.map +1 -0
- package/dist/{script → core/script}/script-manager.d.ts +2 -3
- package/dist/{script → core/script}/script-manager.js +24 -19
- package/dist/core/script/script-manager.js.map +1 -0
- package/dist/{script → core/script}/script-storage.d.ts +1 -1
- package/dist/{script → core/script}/script-storage.js +2 -2
- package/dist/core/script/script-storage.js.map +1 -0
- package/dist/{script → core/script}/script-support.d.ts +0 -0
- package/dist/{script → core/script}/script-support.js +1 -1
- package/dist/core/script/script-support.js.map +1 -0
- package/dist/{script → core/script}/script-template.d.ts +0 -0
- package/dist/{script → core/script}/script-template.js +0 -0
- package/dist/core/script/script-template.js.map +1 -0
- package/dist/core/storage/factory.d.ts +12 -0
- package/dist/core/storage/factory.js +37 -0
- package/dist/core/storage/factory.js.map +1 -0
- package/dist/core/storage/index.d.ts +5 -0
- package/dist/core/storage/index.js +18 -0
- package/dist/core/storage/index.js.map +1 -0
- package/dist/core/storage/internal.d.ts +6 -0
- package/dist/core/storage/internal.js +16 -0
- package/dist/core/storage/internal.js.map +1 -0
- package/dist/core/storage/minioStorage.d.ts +27 -0
- package/dist/core/storage/minioStorage.js +213 -0
- package/dist/core/storage/minioStorage.js.map +1 -0
- package/dist/core/storage/objectStorage.d.ts +19 -0
- package/dist/core/storage/objectStorage.js +4 -0
- package/dist/core/storage/objectStorage.js.map +1 -0
- package/dist/core/storage/ossStorage.d.ts +26 -0
- package/dist/core/storage/ossStorage.js +203 -0
- package/dist/core/storage/ossStorage.js.map +1 -0
- package/dist/core/storage/storageLogger.d.ts +20 -0
- package/dist/core/storage/storageLogger.js +117 -0
- package/dist/core/storage/storageLogger.js.map +1 -0
- package/dist/core/storage/storagePath.d.ts +17 -0
- package/dist/core/storage/storagePath.js +53 -0
- package/dist/core/storage/storagePath.js.map +1 -0
- package/dist/core/storage/test.d.ts +1 -0
- package/dist/core/storage/test.js +37 -0
- package/dist/core/storage/test.js.map +1 -0
- package/dist/core/utils/flusher.d.ts +15 -0
- package/dist/core/utils/flusher.js +63 -0
- package/dist/core/utils/flusher.js.map +1 -0
- package/dist/core/utils/helper.d.ts +5 -0
- package/dist/core/utils/helper.js +54 -0
- package/dist/core/utils/helper.js.map +1 -0
- package/dist/core/utils/http.d.ts +3 -0
- package/dist/core/utils/http.js +36 -0
- package/dist/core/utils/http.js.map +1 -0
- package/dist/core/utils/index.d.ts +63 -0
- package/dist/core/utils/index.js +262 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/core/utils/number.d.ts +2 -0
- package/dist/core/utils/number.js +20 -0
- package/dist/core/utils/number.js.map +1 -0
- package/dist/{common → core/utils}/retry.d.ts +0 -0
- package/dist/{common → core/utils}/retry.js +0 -0
- package/dist/core/utils/retry.js.map +1 -0
- package/dist/core/utils/suanpan.d.ts +20 -0
- package/dist/core/utils/suanpan.js +93 -0
- package/dist/core/utils/suanpan.js.map +1 -0
- package/dist/{web → core/web}/app.d.ts +0 -0
- package/dist/{web → core/web}/app.js +5 -5
- package/dist/core/web/app.js.map +1 -0
- package/dist/{web → core/web}/server.d.ts +0 -0
- package/dist/{web → core/web}/server.js +18 -11
- package/dist/core/web/server.js.map +1 -0
- package/dist/main.d.ts +2 -26
- package/dist/main.js +13 -46
- package/dist/main.js.map +1 -1
- package/dist/types/conmonTypes.d.ts +15 -0
- package/dist/types/conmonTypes.js +10 -0
- package/dist/types/conmonTypes.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/loggerTypes.d.ts +18 -0
- package/dist/types/loggerTypes.js +12 -0
- package/dist/types/loggerTypes.js.map +1 -0
- package/dist/types/messsageTypes.d.ts +28 -0
- package/dist/types/messsageTypes.js +27 -0
- package/dist/types/messsageTypes.js.map +1 -0
- package/dist/types/pubsubTypes.d.ts +21 -0
- package/dist/types/pubsubTypes.js +3 -0
- package/dist/types/pubsubTypes.js.map +1 -0
- package/dist/types/storageTypes.d.ts +85 -0
- package/dist/types/{storage-types.js → storageTypes.js} +1 -1
- package/dist/types/storageTypes.js.map +1 -0
- package/dist/types/streamTypes.d.ts +32 -0
- package/dist/types/streamTypes.js +3 -0
- package/dist/types/streamTypes.js.map +1 -0
- package/package.json +1 -1
- package/dist/arguments.d.ts +0 -74
- package/dist/arguments.js +0 -70
- package/dist/arguments.js.map +0 -1
- package/dist/commandArgs.d.ts +0 -10
- package/dist/commandArgs.js +0 -18
- package/dist/commandArgs.js.map +0 -1
- package/dist/common/exec.js.map +0 -1
- package/dist/common/file.d.ts +0 -1
- package/dist/common/file.js +0 -18
- package/dist/common/file.js.map +0 -1
- package/dist/common/log.d.ts +0 -3
- package/dist/common/log.js +0 -11
- package/dist/common/log.js.map +0 -1
- package/dist/common/retry.js.map +0 -1
- package/dist/common/streamUtility.d.ts +0 -7
- package/dist/common/streamUtility.js +0 -42
- package/dist/common/streamUtility.js.map +0 -1
- package/dist/common/util.d.ts +0 -44
- package/dist/common/util.js +0 -170
- package/dist/common/util.js.map +0 -1
- package/dist/constant.d.ts +0 -1
- package/dist/constant.js.map +0 -1
- package/dist/dyParameter.d.ts +0 -5
- package/dist/dyParameter.js +0 -34
- package/dist/dyParameter.js.map +0 -1
- package/dist/eventLogger.d.ts +0 -33
- package/dist/eventLogger.js +0 -125
- package/dist/eventLogger.js.map +0 -1
- package/dist/global.d.ts +0 -9
- package/dist/global.js +0 -42
- package/dist/global.js.map +0 -1
- package/dist/latestStorage/minio.d.ts +0 -18
- package/dist/latestStorage/minio.js +0 -135
- package/dist/latestStorage/minio.js.map +0 -1
- package/dist/latestStorage/oss.d.ts +0 -16
- package/dist/latestStorage/oss.js +0 -105
- package/dist/latestStorage/oss.js.map +0 -1
- package/dist/latestStorage/path.d.ts +0 -9
- package/dist/latestStorage/path.js +0 -30
- package/dist/latestStorage/path.js.map +0 -1
- package/dist/latestStorage/storage.d.ts +0 -27
- package/dist/latestStorage/storage.js +0 -59
- package/dist/latestStorage/storage.js.map +0 -1
- package/dist/latestStorage/wrapperStorage.d.ts +0 -7
- package/dist/latestStorage/wrapperStorage.js +0 -31
- package/dist/latestStorage/wrapperStorage.js.map +0 -1
- package/dist/mq.d.ts +0 -5
- package/dist/mq.js +0 -106
- package/dist/mq.js.map +0 -1
- package/dist/parameter.d.ts +0 -14
- package/dist/parameter.js +0 -94
- package/dist/parameter.js.map +0 -1
- package/dist/port.d.ts +0 -7
- package/dist/port.js +0 -73
- package/dist/port.js.map +0 -1
- package/dist/previousStorage/local.d.ts +0 -12
- package/dist/previousStorage/local.js +0 -90
- package/dist/previousStorage/local.js.map +0 -1
- package/dist/previousStorage/minio.d.ts +0 -10
- package/dist/previousStorage/minio.js +0 -201
- package/dist/previousStorage/minio.js.map +0 -1
- package/dist/previousStorage/oss.d.ts +0 -27
- package/dist/previousStorage/oss.js +0 -153
- package/dist/previousStorage/oss.js.map +0 -1
- package/dist/previousStorage/storage.d.ts +0 -21
- package/dist/previousStorage/storage.js +0 -21
- package/dist/previousStorage/storage.js.map +0 -1
- package/dist/script/script-babel/babel.d.ts +0 -1
- package/dist/script/script-babel/babel.js.map +0 -1
- package/dist/script/script-babel/plugin.js.map +0 -1
- package/dist/script/script-constant.js.map +0 -1
- package/dist/script/script-context.d.ts +0 -121
- package/dist/script/script-context.js.map +0 -1
- package/dist/script/script-front.d.ts +0 -39
- package/dist/script/script-front.js.map +0 -1
- package/dist/script/script-insert.js.map +0 -1
- package/dist/script/script-manager.js.map +0 -1
- package/dist/script/script-storage.js.map +0 -1
- package/dist/script/script-support.js.map +0 -1
- package/dist/script/script-template.js.map +0 -1
- package/dist/socketSever.d.ts +0 -1
- package/dist/socketSever.js +0 -47
- package/dist/socketSever.js.map +0 -1
- package/dist/staticServer.d.ts +0 -5
- package/dist/staticServer.js +0 -30
- package/dist/staticServer.js.map +0 -1
- package/dist/types/storage-types.d.ts +0 -19
- package/dist/types/storage-types.js.map +0 -1
- package/dist/web/app.js.map +0 -1
- package/dist/web/server.js.map +0 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
31
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
|
+
};
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.OSSStorage = void 0;
|
|
35
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
36
|
+
const util = __importStar(require("../utils"));
|
|
37
|
+
const ali_oss_1 = __importDefault(require("ali-oss"));
|
|
38
|
+
const moment_1 = __importDefault(require("moment"));
|
|
39
|
+
const utils_1 = require("../utils");
|
|
40
|
+
const suanpan_1 = require("../utils/suanpan");
|
|
41
|
+
const stream_1 = require("stream");
|
|
42
|
+
class OSSStorage {
|
|
43
|
+
constructor(config) {
|
|
44
|
+
this.config = config;
|
|
45
|
+
}
|
|
46
|
+
buildOSSClient() {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const options = {};
|
|
49
|
+
if (this.config) {
|
|
50
|
+
options.endpoint = this.config.endpoint;
|
|
51
|
+
options.bucket = this.config.bucket;
|
|
52
|
+
options.accessKeyId = this.config.accessKey;
|
|
53
|
+
options.accessKeySecret = this.config.accessSecret;
|
|
54
|
+
options.stsToken = this.config.securityToken;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const { bucket, region, Credentials } = yield suanpan_1.SuanpanWebApi.getSTSToken();
|
|
58
|
+
this.tokenExpiration = Credentials.Expiration || '';
|
|
59
|
+
options.region = region;
|
|
60
|
+
options.bucket = bucket;
|
|
61
|
+
options.accessKeyId = Credentials.AccessKeyId;
|
|
62
|
+
options.accessKeySecret = Credentials.AccessKeySecret;
|
|
63
|
+
options.stsToken = Credentials.SecurityToken;
|
|
64
|
+
}
|
|
65
|
+
return new ali_oss_1.default(options);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
isTokenExpiration(tokenExpiration) {
|
|
69
|
+
return moment_1.default(moment_1.default.now()).isAfter(moment_1.default(tokenExpiration));
|
|
70
|
+
}
|
|
71
|
+
getClient() {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
if (!this.ossClient || !this.tokenExpiration || this.isTokenExpiration(this.tokenExpiration)) {
|
|
74
|
+
this.ossClient = yield this.buildOSSClient();
|
|
75
|
+
}
|
|
76
|
+
return this.ossClient;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
append(objectName, content) {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const ossClient = yield this.getClient();
|
|
82
|
+
yield ossClient.append(objectName, Buffer.from(content));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
getObjectToBuffer(objectName) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const ossClient = yield this.getClient();
|
|
88
|
+
const result = yield ossClient.get(objectName);
|
|
89
|
+
return result.content;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
getObjectToStream(objectName) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const ossClient = yield this.getClient();
|
|
95
|
+
try {
|
|
96
|
+
const result = yield ossClient.getStream(objectName);
|
|
97
|
+
return result.stream;
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
if ((e === null || e === void 0 ? void 0 : e.code) === 'NoSuchKey') {
|
|
101
|
+
return stream_1.Readable.from('');
|
|
102
|
+
}
|
|
103
|
+
throw e;
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
getObjectToString(objectName) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const stream = yield this.getObjectToStream(objectName);
|
|
110
|
+
return yield util.convertStreamToString(stream);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
getObjectToJSON(objectName) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
const str = yield this.getObjectToString(objectName);
|
|
116
|
+
return utils_1.tryJSONParse(str, str);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
putObject(objectName, data, metaData) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
const ossClient = yield this.getClient();
|
|
122
|
+
// string to buffer for compatibility and interface consistency
|
|
123
|
+
const file = lodash_1.default.isString(data) ? Buffer.from(data) : data;
|
|
124
|
+
yield ossClient.put(objectName, file, { meta: metaData });
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
fPutObject(objectName, filePath, metaData) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
if (!util.fileExists(filePath)) {
|
|
130
|
+
throw new Error(`Local file path(${filePath}) is not exist.`);
|
|
131
|
+
}
|
|
132
|
+
const ossClient = yield this.getClient();
|
|
133
|
+
yield ossClient.put(objectName, filePath, { meta: metaData });
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
fGetObject(objectName, filePath) {
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
const ossClient = yield this.getClient();
|
|
139
|
+
yield ossClient.get(objectName, filePath);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
presignedGetObject(objectName) {
|
|
143
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
const ossClient = yield this.getClient();
|
|
145
|
+
return ossClient.signatureUrl(objectName, { method: 'GET' });
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
presignedPutObject(objectName) {
|
|
149
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
+
const ossClient = yield this.getClient();
|
|
151
|
+
return ossClient.signatureUrl(objectName, { method: 'PUT' });
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
listObjects(prefix, recursive = true, maxKeys = 1000) {
|
|
155
|
+
var _a;
|
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
+
const client = yield this.getClient();
|
|
158
|
+
const listObjectsQuery = {
|
|
159
|
+
prefix,
|
|
160
|
+
delimiter: recursive ? '' : '/',
|
|
161
|
+
'max-keys': maxKeys.toString()
|
|
162
|
+
};
|
|
163
|
+
const ossList = yield client.list(listObjectsQuery, {});
|
|
164
|
+
const objectItems = (_a = ossList.objects) === null || _a === void 0 ? void 0 : _a.map(obj => {
|
|
165
|
+
return {
|
|
166
|
+
name: obj.name,
|
|
167
|
+
lastModified: obj.lastModified
|
|
168
|
+
};
|
|
169
|
+
});
|
|
170
|
+
return objectItems || [];
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
deleteObject(objectName) {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
const ossClient = yield this.getClient();
|
|
176
|
+
yield ossClient.delete(objectName);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
deleteMultiObjects(objectNames) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
yield Promise.all(objectNames.map((objectName) => __awaiter(this, void 0, void 0, function* () {
|
|
182
|
+
yield this.deleteObject(objectName);
|
|
183
|
+
})));
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
checkObjectNameExist(objectName) {
|
|
187
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
188
|
+
const ossClient = yield this.getClient();
|
|
189
|
+
try {
|
|
190
|
+
yield ossClient.head(objectName);
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
catch (e) {
|
|
194
|
+
if ((e === null || e === void 0 ? void 0 : e.name) === 'NoSuchKeyError') {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
throw e;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
exports.OSSStorage = OSSStorage;
|
|
203
|
+
//# sourceMappingURL=ossStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ossStorage.js","sourceRoot":"","sources":["../../../src/core/storage/ossStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { WinstonLogger } from '../logger/winston';
|
|
2
|
+
import { StorageLoggerOptions } from '../../types';
|
|
3
|
+
export declare class ObjectStorageLogger extends WinstonLogger {
|
|
4
|
+
private options;
|
|
5
|
+
private _level;
|
|
6
|
+
private _flusher;
|
|
7
|
+
private _localLogPath;
|
|
8
|
+
private _storageLogPath;
|
|
9
|
+
constructor(options: StorageLoggerOptions);
|
|
10
|
+
private _validate;
|
|
11
|
+
private _initialize;
|
|
12
|
+
private _addHandlers;
|
|
13
|
+
private onFlush;
|
|
14
|
+
private isSuppressed;
|
|
15
|
+
private log;
|
|
16
|
+
info: (message: string, flush?: boolean) => void;
|
|
17
|
+
debug: (message: string, flush?: boolean) => void;
|
|
18
|
+
warn: (message: string, flush?: boolean) => void;
|
|
19
|
+
error: (message: string, flush?: boolean) => void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ObjectStorageLogger = void 0;
|
|
16
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
17
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
const internal_1 = require("./internal");
|
|
20
|
+
const storagePath_1 = require("./storagePath");
|
|
21
|
+
const winston_1 = require("../logger/winston");
|
|
22
|
+
const types_1 = require("../../types");
|
|
23
|
+
const utils_1 = require("../utils");
|
|
24
|
+
class ObjectStorageLogger extends winston_1.WinstonLogger {
|
|
25
|
+
constructor(options) {
|
|
26
|
+
super();
|
|
27
|
+
this.options = options;
|
|
28
|
+
this.onFlush = (logItems) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
if (lodash_1.default.isEmpty(logItems)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const { storage = internal_1.Storage.Instance } = this.options;
|
|
33
|
+
const metaData = { 'Content-Disposition': 'inline', 'Content-Type': 'text/plain' };
|
|
34
|
+
try {
|
|
35
|
+
yield storage.fPutObject(this._storageLogPath, this._localLogPath, metaData);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
// TODO: The provided 'x-amz-content-sha256' header does not match what was computed.
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
this.log = (level, message, flush = false) => {
|
|
42
|
+
if (!this.isSuppressed(level)) {
|
|
43
|
+
switch (level) {
|
|
44
|
+
case types_1.LogLevelEnum.DEBUG:
|
|
45
|
+
super.debug(message);
|
|
46
|
+
break;
|
|
47
|
+
case types_1.LogLevelEnum.INFO:
|
|
48
|
+
super.info(message);
|
|
49
|
+
break;
|
|
50
|
+
case types_1.LogLevelEnum.WARN:
|
|
51
|
+
super.warn(message);
|
|
52
|
+
break;
|
|
53
|
+
case types_1.LogLevelEnum.ERROR:
|
|
54
|
+
super.error(message);
|
|
55
|
+
break;
|
|
56
|
+
default: {
|
|
57
|
+
throw new Error(`unsupported log level: ${level}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
this._flusher.add(message);
|
|
61
|
+
}
|
|
62
|
+
if (flush) {
|
|
63
|
+
this._flusher.flush();
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
this.info = (message, flush = false) => {
|
|
67
|
+
this.log(types_1.LogLevelEnum.INFO, message, flush);
|
|
68
|
+
};
|
|
69
|
+
this.debug = (message, flush = false) => {
|
|
70
|
+
this.log(types_1.LogLevelEnum.DEBUG, message, flush);
|
|
71
|
+
};
|
|
72
|
+
this.warn = (message, flush = false) => {
|
|
73
|
+
this.log(types_1.LogLevelEnum.WARN, message, flush);
|
|
74
|
+
};
|
|
75
|
+
this.error = (message, flush = false) => {
|
|
76
|
+
this.log(types_1.LogLevelEnum.ERROR, message, flush);
|
|
77
|
+
};
|
|
78
|
+
this._validate();
|
|
79
|
+
this._initialize();
|
|
80
|
+
this._addHandlers();
|
|
81
|
+
}
|
|
82
|
+
_validate() {
|
|
83
|
+
if (lodash_1.default.isEmpty(this.options)) {
|
|
84
|
+
throw new Error('storageLoggerOptions is empty.');
|
|
85
|
+
}
|
|
86
|
+
const flushInterval = this.options.flushInterval;
|
|
87
|
+
if (flushInterval !== undefined && !utils_1.isSafePositiveInteger(flushInterval)) {
|
|
88
|
+
throw new Error(`flushInterval: ${flushInterval} is not a positive integer.`);
|
|
89
|
+
}
|
|
90
|
+
const maxItems = this.options.maxItems;
|
|
91
|
+
if (maxItems !== undefined && !utils_1.isSafePositiveInteger(maxItems)) {
|
|
92
|
+
throw new Error(`maxItems: ${maxItems} is not a positive integer.`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
_initialize() {
|
|
96
|
+
const { level, context: { userId, appId, nodeId } } = this.options;
|
|
97
|
+
this._level = level || types_1.LogLevelEnum.DEBUG;
|
|
98
|
+
this._localLogPath = path_1.default.join(process.cwd(), `logs/${userId}/${appId}/${nodeId}`);
|
|
99
|
+
// Create a local log file before Winston to prevent the FileNotExist-Error when uploading OSS
|
|
100
|
+
fs_extra_1.default.ensureFileSync(this._localLogPath);
|
|
101
|
+
this._storageLogPath = new storagePath_1.StoragePath().getNodeLogPath(userId, appId, nodeId);
|
|
102
|
+
this._flusher = new utils_1.BufferFlusher(this.options);
|
|
103
|
+
this._flusher.on('flush', this.onFlush);
|
|
104
|
+
}
|
|
105
|
+
_addHandlers() {
|
|
106
|
+
// TODO: add maxsize support
|
|
107
|
+
this.addFileHandler({ filename: this._localLogPath, level: this._level });
|
|
108
|
+
if (this.options.console === true) {
|
|
109
|
+
this.addConsoleHandler({ level: this._level });
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
isSuppressed(level) {
|
|
113
|
+
return this.levelWeight[level] > this.levelWeight[this._level];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.ObjectStorageLogger = ObjectStorageLogger;
|
|
117
|
+
//# sourceMappingURL=storageLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageLogger.js","sourceRoot":"","sources":["../../../src/core/storage/storageLogger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StoragePathOptions } from '../../types';
|
|
2
|
+
export declare class StoragePath {
|
|
3
|
+
private ctx?;
|
|
4
|
+
constructor(ctx?: StoragePathOptions | undefined);
|
|
5
|
+
private _getUserId;
|
|
6
|
+
private _getAppId;
|
|
7
|
+
private _getNodeId;
|
|
8
|
+
private _getComponentId;
|
|
9
|
+
getUserPath(userId?: string): string;
|
|
10
|
+
getAppPath(userId?: string, appId?: string): string;
|
|
11
|
+
getComponentPath(userId?: string, componentId?: string): string;
|
|
12
|
+
getNodePath(userId?: string, appId?: string, nodeId?: string): string;
|
|
13
|
+
getAppLogPath(userId?: string, appId?: string): string;
|
|
14
|
+
getNodeLogPath(userId?: string, appId?: string, nodeId?: string): string;
|
|
15
|
+
getNodeConfigsPath(userId?: string, appId?: string | number, nodeId?: string): string;
|
|
16
|
+
getAppTempDir(userId?: string, appId?: string): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StoragePath = void 0;
|
|
4
|
+
const environment_1 = require("../parameter/environment");
|
|
5
|
+
const { userId: streamUserId, appId: streamAppId, nodeId: streamNodeId, componentId: streamComponentId } = environment_1.Environment.stream;
|
|
6
|
+
class StoragePath {
|
|
7
|
+
constructor(ctx) {
|
|
8
|
+
this.ctx = ctx;
|
|
9
|
+
}
|
|
10
|
+
_getUserId(userId) {
|
|
11
|
+
var _a;
|
|
12
|
+
return userId || ((_a = this.ctx) === null || _a === void 0 ? void 0 : _a.userId) || streamUserId;
|
|
13
|
+
}
|
|
14
|
+
_getAppId(appId) {
|
|
15
|
+
var _a;
|
|
16
|
+
return appId || ((_a = this.ctx) === null || _a === void 0 ? void 0 : _a.appId) || streamAppId;
|
|
17
|
+
}
|
|
18
|
+
_getNodeId(nodeId) {
|
|
19
|
+
var _a;
|
|
20
|
+
return nodeId || ((_a = this.ctx) === null || _a === void 0 ? void 0 : _a.nodeId) || streamNodeId;
|
|
21
|
+
}
|
|
22
|
+
_getComponentId(componentId) {
|
|
23
|
+
var _a;
|
|
24
|
+
return componentId || ((_a = this.ctx) === null || _a === void 0 ? void 0 : _a.componentId) || streamComponentId;
|
|
25
|
+
}
|
|
26
|
+
getUserPath(userId) {
|
|
27
|
+
return `studio/${this._getUserId(userId)}`;
|
|
28
|
+
}
|
|
29
|
+
getAppPath(userId, appId) {
|
|
30
|
+
return `${this.getUserPath(userId)}/${this._getAppId(appId)}`;
|
|
31
|
+
}
|
|
32
|
+
getComponentPath(userId, componentId) {
|
|
33
|
+
return `${this.getUserPath(userId)}/component/${this._getComponentId(componentId)}`;
|
|
34
|
+
}
|
|
35
|
+
getNodePath(userId, appId, nodeId) {
|
|
36
|
+
return `${this.getAppPath(userId, appId)}/${this._getNodeId(nodeId)}`;
|
|
37
|
+
}
|
|
38
|
+
getAppLogPath(userId, appId) {
|
|
39
|
+
const userPath = this.getUserPath(userId);
|
|
40
|
+
return `${userPath}/logs/${this._getAppId(appId)}`;
|
|
41
|
+
}
|
|
42
|
+
getNodeLogPath(userId, appId, nodeId) {
|
|
43
|
+
return `${this.getAppLogPath(userId, appId)}/${this._getNodeId(nodeId)}`;
|
|
44
|
+
}
|
|
45
|
+
getNodeConfigsPath(userId, appId, nodeId) {
|
|
46
|
+
return `${this.getUserPath(userId)}/configs/${appId}/${nodeId}`;
|
|
47
|
+
}
|
|
48
|
+
getAppTempDir(userId, appId) {
|
|
49
|
+
return `${this.getUserPath(userId)}/tmp/${this._getAppId(appId)}`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.StoragePath = StoragePath;
|
|
53
|
+
//# sourceMappingURL=storagePath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storagePath.js","sourceRoot":"","sources":["../../../src/core/storage/storagePath.ts"],"names":[],"mappings":";;;AAAA,0DAAuD;AACvD,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,iBAAiB,EAC/B,GAAG,yBAAW,CAAC,MAAM,CAAC;AAGvB,MAAa,WAAW;IAEtB,YAAoB,GAAwB;QAAxB,QAAG,GAAH,GAAG,CAAqB;IAAI,CAAC;IAEzC,UAAU,CAAC,MAAe;;QAChC,OAAO,MAAM,KAAI,MAAA,IAAI,CAAC,GAAG,0CAAE,MAAM,CAAA,IAAI,YAAsB,CAAC;IAC9D,CAAC;IAEO,SAAS,CAAC,KAAc;;QAC9B,OAAO,KAAK,KAAI,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,CAAA,IAAI,WAAqB,CAAC;IAC3D,CAAC;IAEO,UAAU,CAAC,MAAe;;QAChC,OAAO,MAAM,KAAI,MAAA,IAAI,CAAC,GAAG,0CAAE,MAAM,CAAA,IAAI,YAAsB,CAAC;IAC9D,CAAC;IAEO,eAAe,CAAC,WAAoB;;QAC1C,OAAO,WAAW,KAAI,MAAA,IAAI,CAAC,GAAG,0CAAE,WAAW,CAAA,IAAI,iBAAiB,CAAC;IACnE,CAAC;IAED,WAAW,CAAC,MAAe;QACzB,OAAO,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,MAAe,EAAE,KAAc;QACxC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,gBAAgB,CAAC,MAAe,EAAE,WAAoB;QACpD,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,WAAW,CAAC,MAAe,EAAE,KAAc,EAAE,MAAe;QAC1D,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,aAAa,CAAC,MAAe,EAAE,KAAc;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,GAAG,QAAQ,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,MAAe,EAAE,KAAc,EAAE,MAAe;QAC7D,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,kBAAkB,CAAC,MAAe,EAAE,KAAuB,EAAE,MAAe;QAC1E,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,MAAM,EAAE,CAAC;IAClE,CAAC;IAED,aAAa,CAAC,MAAe,EAAE,KAAc;QAC3C,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACpE,CAAC;CACF;AApDD,kCAoDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const types_1 = require("../../types");
|
|
4
|
+
const factory_1 = require("./factory");
|
|
5
|
+
const storageLogger_1 = require("./storageLogger");
|
|
6
|
+
const storage = factory_1.StorageFactory.newStorage({
|
|
7
|
+
type: 'minio',
|
|
8
|
+
config: {
|
|
9
|
+
host: '60.190.253.173',
|
|
10
|
+
port: 30109,
|
|
11
|
+
useSSL: false,
|
|
12
|
+
bucket: 'suanpan',
|
|
13
|
+
accessKey: 'Minio@edge',
|
|
14
|
+
accessSecret: 'Minio@edge'
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const options = {
|
|
18
|
+
console: true,
|
|
19
|
+
level: types_1.LogLevelEnum.INFO,
|
|
20
|
+
storage,
|
|
21
|
+
context: {
|
|
22
|
+
userId: '80210293',
|
|
23
|
+
appId: '55270',
|
|
24
|
+
nodeId: 'nodeId'
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const logger = new storageLogger_1.ObjectStorageLogger(options);
|
|
28
|
+
logger.debug('1');
|
|
29
|
+
logger.debug('1');
|
|
30
|
+
logger.debug('1');
|
|
31
|
+
logger.debug('1');
|
|
32
|
+
logger.debug('1');
|
|
33
|
+
logger.debug('1');
|
|
34
|
+
setTimeout(() => {
|
|
35
|
+
logger.debug('1');
|
|
36
|
+
}, 1000);
|
|
37
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/core/storage/test.ts"],"names":[],"mappings":";;AAAA,uCAAiE;AACjE,uCAA2C;AAC3C,mDAAsD;AAEtD,MAAM,OAAO,GAAG,wBAAc,CAAC,UAAU,CAAC;IACxC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE;QACN,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,YAAY;QACvB,YAAY,EAAE,YAAY;KAC3B;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAAyB;IACpC,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,oBAAY,CAAC,IAAI;IACxB,OAAO;IACP,OAAO,EAAE;QACP,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,mCAAmB,CAAC,OAAO,CAAC,CAAC;AAEhD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAElB,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import * as events from 'events';
|
|
3
|
+
import type { FlushOptions } from '../../types/storageTypes';
|
|
4
|
+
export declare class BufferFlusher extends events.EventEmitter {
|
|
5
|
+
private _buffer;
|
|
6
|
+
private _maxItems;
|
|
7
|
+
private _flushInterval;
|
|
8
|
+
private _flushTimeoutId;
|
|
9
|
+
constructor(options?: FlushOptions);
|
|
10
|
+
get(): string[];
|
|
11
|
+
clear(): void;
|
|
12
|
+
stop(): void;
|
|
13
|
+
add(data: string): void;
|
|
14
|
+
flush(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.BufferFlusher = void 0;
|
|
23
|
+
const events = __importStar(require("events"));
|
|
24
|
+
class BufferFlusher extends events.EventEmitter {
|
|
25
|
+
constructor(options = {}) {
|
|
26
|
+
super();
|
|
27
|
+
this._buffer = [];
|
|
28
|
+
this._maxItems = options.maxItems || 1;
|
|
29
|
+
this._flushInterval = options.flushInterval === undefined ? 0 : options.flushInterval;
|
|
30
|
+
this.flush();
|
|
31
|
+
}
|
|
32
|
+
get() { return this._buffer; }
|
|
33
|
+
clear() { this._buffer = []; }
|
|
34
|
+
stop() { clearTimeout(this._flushTimeoutId); }
|
|
35
|
+
add(data) {
|
|
36
|
+
if (data) {
|
|
37
|
+
this._buffer.push(data);
|
|
38
|
+
if (this._buffer.length >= this._maxItems) {
|
|
39
|
+
this.flush();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
flush() {
|
|
44
|
+
this.stop();
|
|
45
|
+
// The timer is the only action that would hold the node-process open.
|
|
46
|
+
// By unref-ing it, the process will exit prior to the timeout callback execution
|
|
47
|
+
this._flushTimeoutId = setTimeout(() => this.flush(), this._flushInterval).unref();
|
|
48
|
+
if (!this._buffer.length) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
this.emit('flush', this._buffer);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
// 当事件被触发时,如果没有与该事件绑定的函数的话,该事件会被静默忽略掉
|
|
56
|
+
// 但是如果事件的名称是 error 的话,没有与此相关的事件处理的话,程序就会 crash 退出
|
|
57
|
+
this.emit('error', err);
|
|
58
|
+
}
|
|
59
|
+
this._buffer = [];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.BufferFlusher = BufferFlusher;
|
|
63
|
+
//# sourceMappingURL=flusher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flusher.js","sourceRoot":"","sources":["../../../src/core/utils/flusher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAGjC,MAAa,aAAc,SAAQ,MAAM,CAAC,YAAY;IAOpD,YAAY,UAAwB,EAAE;QACpC,KAAK,EAAE,CAAC;QANF,YAAO,GAAa,EAAE,CAAC;QAO7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QACtF,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,GAAG,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B,KAAK,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAE9C,GAAG,CAAC,IAAY;QACd,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;gBACzC,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;SACF;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,uEAAuE;QACvE,iFAAiF;QACjF,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QAEnF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,OAAO;SAAE;QAErC,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAClC;QAAC,OAAO,GAAG,EAAE;YACZ,qCAAqC;YACrC,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AA7CD,sCA6CC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Helpers = void 0;
|
|
16
|
+
const logger_1 = __importDefault(require("../common/logger"));
|
|
17
|
+
const get_port_1 = __importDefault(require("get-port"));
|
|
18
|
+
const index_1 = require("./index");
|
|
19
|
+
const suanpan_1 = require("./suanpan");
|
|
20
|
+
const lookupFrom = parseInt(process.env.SP_PORT_START || '50000');
|
|
21
|
+
const lookupTo = parseInt(process.env.SP_PORT_END || '60000');
|
|
22
|
+
class Helpers {
|
|
23
|
+
static getHostFreePort() {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
try {
|
|
26
|
+
return yield get_port_1.default({ port: this.loopupRange });
|
|
27
|
+
}
|
|
28
|
+
catch (ex) {
|
|
29
|
+
throw new Error(`Get host free port failed, ex: ${ex.message}`);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static registerPortUntilSuccess(logicPort) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
for (;;) {
|
|
36
|
+
try {
|
|
37
|
+
const availableHostPort = yield this.getHostFreePort();
|
|
38
|
+
const response = yield suanpan_1.SuanpanWebApi.registerPort(logicPort, availableHostPort);
|
|
39
|
+
if (!response.success) {
|
|
40
|
+
throw new Error(response.msg);
|
|
41
|
+
}
|
|
42
|
+
return availableHostPort;
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
logger_1.default.error(e.message);
|
|
46
|
+
}
|
|
47
|
+
yield index_1.sleep(200);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.Helpers = Helpers;
|
|
53
|
+
Helpers.loopupRange = get_port_1.default.makeRange(lookupFrom, lookupTo);
|
|
54
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/core/utils/helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8DAAsC;AACtC,wDAAqC;AAErC,mCAAgC;AAChC,uCAA0C;AAE1C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;AAC9D,MAAa,OAAO;IAIlB,MAAM,CAAO,eAAe;;YAC1B,IAAI;gBACF,OAAO,MAAM,kBAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;aACxD;YAAC,OAAO,EAAO,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;aACjE;QACH,CAAC;KAAA;IAED,MAAM,CAAO,wBAAwB,CAAC,SAAiB;;YACrD,SAAS;gBACP,IAAI;oBACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvD,MAAM,QAAQ,GAAG,MAAM,uBAAa,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;oBAChF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;wBACrB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;qBAC/B;oBACD,OAAO,iBAAiB,CAAC;iBAC1B;gBAAC,OAAO,CAAM,EAAE;oBACf,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBACzB;gBACD,MAAM,aAAK,CAAC,GAAG,CAAC,CAAC;aAClB;QACH,CAAC;KAAA;;AA1BH,0BA2BC;AAzByB,mBAAW,GAAG,kBAAa,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC"}
|