@nu-art/ts-common 0.300.7 → 0.400.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.
- package/consts/consts.js +2 -4
- package/consts/consts.js.map +1 -0
- package/core/application.d.ts +1 -1
- package/core/application.js +3 -6
- package/core/application.js.map +1 -0
- package/core/debug-flags.d.ts +1 -1
- package/core/debug-flags.js +15 -17
- package/core/debug-flags.js.map +1 -0
- package/core/dispatcher.d.ts +2 -2
- package/core/dispatcher.js +7 -8
- package/core/dispatcher.js.map +1 -0
- package/core/error-handling.d.ts +5 -5
- package/core/error-handling.js +7 -9
- package/core/error-handling.js.map +1 -0
- package/core/exceptions/exceptions.d.ts +2 -2
- package/core/exceptions/exceptions.js +33 -44
- package/core/exceptions/exceptions.js.map +1 -0
- package/core/exceptions/http-codes.d.ts +8 -2
- package/core/exceptions/http-codes.js +6 -6
- package/core/exceptions/http-codes.js.map +1 -0
- package/core/exceptions/types.js +2 -2
- package/core/exceptions/types.js.map +1 -0
- package/core/logger/BeLogged.d.ts +2 -2
- package/core/logger/BeLogged.js +9 -11
- package/core/logger/BeLogged.js.map +1 -0
- package/core/logger/LogClient.d.ts +3 -1
- package/core/logger/LogClient.js +21 -24
- package/core/logger/LogClient.js.map +1 -0
- package/core/logger/LogClient_BaseRotate.d.ts +2 -2
- package/core/logger/LogClient_BaseRotate.js +12 -12
- package/core/logger/LogClient_BaseRotate.js.map +1 -0
- package/core/logger/LogClient_Browser.d.ts +2 -2
- package/core/logger/LogClient_Browser.js +40 -45
- package/core/logger/LogClient_Browser.js.map +1 -0
- package/core/logger/LogClient_BrowserGroups.d.ts +2 -2
- package/core/logger/LogClient_BrowserGroups.js +65 -67
- package/core/logger/LogClient_BrowserGroups.js.map +1 -0
- package/core/logger/LogClient_ConsoleProxy.d.ts +23 -0
- package/core/logger/LogClient_ConsoleProxy.js +89 -0
- package/core/logger/LogClient_ConsoleProxy.js.map +1 -0
- package/core/logger/LogClient_File.d.ts +1 -1
- package/core/logger/LogClient_File.js +6 -30
- package/core/logger/LogClient_File.js.map +1 -0
- package/core/logger/LogClient_Function.d.ts +2 -2
- package/core/logger/LogClient_Function.js +6 -8
- package/core/logger/LogClient_Function.js.map +1 -0
- package/core/logger/LogClient_MemBuffer.d.ts +2 -2
- package/core/logger/LogClient_MemBuffer.js +19 -21
- package/core/logger/LogClient_MemBuffer.js.map +1 -0
- package/core/logger/LogClient_Terminal.d.ts +2 -2
- package/core/logger/LogClient_Terminal.js +16 -21
- package/core/logger/LogClient_Terminal.js.map +1 -0
- package/core/logger/Logger.d.ts +2 -2
- package/core/logger/Logger.js +37 -39
- package/core/logger/Logger.js.map +1 -0
- package/core/logger/types.js +4 -6
- package/core/logger/types.js.map +1 -0
- package/core/logger/utils.d.ts +1 -1
- package/core/logger/utils.js +10 -15
- package/core/logger/utils.js.map +1 -0
- package/core/module-manager.d.ts +8 -6
- package/core/module-manager.js +28 -26
- package/core/module-manager.js.map +1 -0
- package/core/module.d.ts +5 -5
- package/core/module.js +28 -28
- package/core/module.js.map +1 -0
- package/csv.d.ts +2 -2
- package/csv.js +3 -18
- package/csv.js.map +1 -0
- package/db/consts.d.ts +3 -0
- package/db/consts.js +17 -7
- package/db/consts.js.map +1 -0
- package/db/dependencies-test.js +2 -2
- package/db/dependencies-test.js.map +1 -0
- package/db/types.d.ts +10 -2
- package/db/types.js +2 -2
- package/db/types.js.map +1 -0
- package/esm.d.ts +1 -0
- package/esm.js +4 -0
- package/esm.js.map +1 -0
- package/index.d.ts +50 -49
- package/index.js +51 -65
- package/index.js.map +1 -0
- package/mem-storage/MemStorage.d.ts +3 -1
- package/mem-storage/MemStorage.js +90 -72
- package/mem-storage/MemStorage.js.map +1 -0
- package/mem-storage/index.d.ts +1 -0
- package/mem-storage/index.js +2 -0
- package/mem-storage/index.js.map +1 -0
- package/modules/CSVModule.d.ts +2 -2
- package/modules/CSVModule.js +22 -48
- package/modules/CSVModule.js.map +1 -0
- package/modules/CSVModuleV3.d.ts +2 -2
- package/modules/CSVModuleV3.js +60 -86
- package/modules/CSVModuleV3.js.map +1 -0
- package/modules/CliParamsModule.d.ts +2 -2
- package/modules/CliParamsModule.js +23 -28
- package/modules/CliParamsModule.js.map +1 -0
- package/modules/JSONCSVModule.d.ts +2 -2
- package/modules/JSONCSVModule.js +56 -78
- package/modules/JSONCSVModule.js.map +1 -0
- package/modules/csv-serializer.d.ts +1 -1
- package/modules/csv-serializer.js +11 -5
- package/modules/csv-serializer.js.map +1 -0
- package/package.json +20 -11
- package/replacer-v2/ReplacerV2.d.ts +1 -1
- package/replacer-v2/ReplacerV2.js +6 -9
- package/replacer-v2/ReplacerV2.js.map +1 -0
- package/test-index.d.ts +2 -2
- package/test-index.js +3 -18
- package/test-index.js.map +1 -0
- package/testing/consts.d.ts +13 -2
- package/testing/consts.js +66 -26
- package/testing/consts.js.map +1 -0
- package/testing/test-template.test.d.ts +1 -0
- package/testing/test-template.test.js +42 -0
- package/testing/test-template.test.js.map +1 -0
- package/testing/types.d.ts +17 -5
- package/testing/types.js +2 -2
- package/testing/types.js.map +1 -0
- package/testing/workspace-creator.d.ts +10 -0
- package/testing/workspace-creator.js +79 -0
- package/testing/workspace-creator.js.map +1 -0
- package/tools/Replacer.d.ts +2 -2
- package/tools/Replacer.js +22 -24
- package/tools/Replacer.js.map +1 -0
- package/tools/get-log-style.js +4 -6
- package/tools/get-log-style.js.map +1 -0
- package/utils/FileSystemUtils.d.ts +34 -0
- package/utils/FileSystemUtils.js +153 -0
- package/utils/FileSystemUtils.js.map +1 -0
- package/utils/array-tools.d.ts +4 -4
- package/utils/array-tools.js +56 -83
- package/utils/array-tools.js.map +1 -0
- package/utils/conflict-tools.d.ts +1 -0
- package/utils/conflict-tools.js +3 -0
- package/utils/conflict-tools.js.map +1 -0
- package/utils/crypto-tools.d.ts +44 -0
- package/utils/crypto-tools.js +101 -10
- package/utils/crypto-tools.js.map +1 -0
- package/utils/date-time-tools.d.ts +48 -4
- package/utils/date-time-tools.js +166 -64
- package/utils/date-time-tools.js.map +1 -0
- package/utils/db-object-tools.d.ts +7 -2
- package/utils/db-object-tools.js +20 -20
- package/utils/db-object-tools.js.map +1 -0
- package/utils/exception-tools.js +13 -15
- package/utils/exception-tools.js.map +1 -0
- package/utils/filter-tools.js +48 -48
- package/utils/filter-tools.js.map +1 -0
- package/utils/hash-tools.js +14 -22
- package/utils/hash-tools.js.map +1 -0
- package/utils/index.d.ts +27 -0
- package/utils/index.js +28 -0
- package/utils/index.js.map +1 -0
- package/utils/json-tools.js +5 -8
- package/utils/json-tools.js.map +1 -0
- package/utils/merge-tools.d.ts +9 -0
- package/utils/merge-tools.js +18 -19
- package/utils/merge-tools.js.map +1 -0
- package/utils/mimetype-tools.d.ts +1 -0
- package/utils/mimetype-tools.js +26 -27
- package/utils/mimetype-tools.js.map +1 -0
- package/utils/number-tools.js +3 -7
- package/utils/number-tools.js.map +1 -0
- package/utils/object-tools.d.ts +15 -1
- package/utils/object-tools.js +110 -33
- package/utils/object-tools.js.map +1 -0
- package/utils/promise-tools.d.ts +5 -0
- package/utils/promise-tools.js +9 -5
- package/utils/promise-tools.js.map +1 -0
- package/utils/query-params.js +3 -6
- package/utils/query-params.js.map +1 -0
- package/utils/queue-v2.d.ts +1 -1
- package/utils/queue-v2.js +72 -73
- package/utils/queue-v2.js.map +1 -0
- package/utils/queue.d.ts +1 -1
- package/utils/queue.js +15 -17
- package/utils/queue.js.map +1 -0
- package/utils/random-tools.js +7 -11
- package/utils/random-tools.js.map +1 -0
- package/utils/storage-capacity-tools.js +7 -9
- package/utils/storage-capacity-tools.js.map +1 -0
- package/utils/string-tools.js +17 -31
- package/utils/string-tools.js.map +1 -0
- package/utils/time-proxy.d.ts +8 -0
- package/utils/time-proxy.js +10 -0
- package/utils/time-proxy.js.map +1 -0
- package/utils/tools.d.ts +1 -1
- package/utils/tools.js +18 -28
- package/utils/tools.js.map +1 -0
- package/utils/types.d.ts +9 -3
- package/utils/types.js +2 -4
- package/utils/types.js.map +1 -0
- package/utils/ui-tools.js +6 -12
- package/utils/ui-tools.js.map +1 -0
- package/utils/url-tools.d.ts +5 -0
- package/utils/url-tools.js +20 -0
- package/utils/url-tools.js.map +1 -0
- package/utils/version-tools.js +17 -12
- package/utils/version-tools.js.map +1 -0
- package/validator/type-validators.d.ts +14 -10
- package/validator/type-validators.js +84 -105
- package/validator/type-validators.js.map +1 -0
- package/validator/validator-core.d.ts +4 -4
- package/validator/validator-core.js +16 -21
- package/validator/validator-core.js.map +1 -0
- package/validator/validators.d.ts +9 -5
- package/validator/validators.js +48 -47
- package/validator/validators.js.map +1 -0
- package/tsconfig.json +0 -23
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliParamsModule.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["modules/CliParamsModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CSVModuleV3_Class } from './CSVModuleV3';
|
|
2
|
-
import { TS_Object } from '../utils/types';
|
|
1
|
+
import { CSVModuleV3_Class } from './CSVModuleV3.js';
|
|
2
|
+
import { TS_Object } from '../utils/types.js';
|
|
3
3
|
import { Readable, Writable } from 'stream';
|
|
4
4
|
import * as csv from 'fast-csv';
|
|
5
5
|
type Output<T extends TS_Object> = {
|
package/modules/JSONCSVModule.js
CHANGED
|
@@ -1,83 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.JSONCSVModule_Class = void 0;
|
|
27
|
-
const CSVModuleV3_1 = require("./CSVModuleV3");
|
|
28
|
-
const object_tools_1 = require("../utils/object-tools");
|
|
29
|
-
const tools_1 = require("../utils/tools");
|
|
30
|
-
const csv = __importStar(require("fast-csv"));
|
|
31
|
-
class JSONCSVModule_Class extends CSVModuleV3_1.CSVModuleV3_Class {
|
|
1
|
+
import { CSVModuleV3_Class } from './CSVModuleV3.js';
|
|
2
|
+
import { _keys } from '../utils/object-tools.js';
|
|
3
|
+
import { __stringify } from '../utils/tools.js';
|
|
4
|
+
import * as csv from 'fast-csv';
|
|
5
|
+
export class JSONCSVModule_Class extends CSVModuleV3_Class {
|
|
6
|
+
keysToStringify;
|
|
32
7
|
constructor(keysToStringify) {
|
|
33
8
|
super();
|
|
34
|
-
this.processToJSON = (i) => {
|
|
35
|
-
const o = {};
|
|
36
|
-
(0, object_tools_1._keys)(i).forEach(k => {
|
|
37
|
-
if (this.keysToStringify.includes(k))
|
|
38
|
-
return o[k] = (0, tools_1.__stringify)(i[k]);
|
|
39
|
-
o[k] = i[k];
|
|
40
|
-
});
|
|
41
|
-
return o;
|
|
42
|
-
};
|
|
43
|
-
this.processFromJSON = (o) => {
|
|
44
|
-
const i = {};
|
|
45
|
-
(0, object_tools_1._keys)(o).forEach(_k => {
|
|
46
|
-
const k = _k;
|
|
47
|
-
if (this.keysToStringify.includes(k)) {
|
|
48
|
-
return i[k] = JSON.parse(o[k]);
|
|
49
|
-
}
|
|
50
|
-
i[k] = o[k];
|
|
51
|
-
});
|
|
52
|
-
return i;
|
|
53
|
-
};
|
|
54
|
-
// @ts-ignore
|
|
55
|
-
this.writeImpl = async (writable, items, options) => {
|
|
56
|
-
return new Promise((resolve, reject) => {
|
|
57
|
-
const _options = Object.assign(Object.assign({}, options), { transform: this.processToJSON });
|
|
58
|
-
csv.writeToStream(writable, items, _options)
|
|
59
|
-
.on('finish', () => resolve())
|
|
60
|
-
.on('error', err => reject(err));
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
// @ts-ignore
|
|
64
|
-
this.readImpl = async (stream, processor) => {
|
|
65
|
-
return new Promise((resolve, reject) => {
|
|
66
|
-
let rowIndex = 0;
|
|
67
|
-
const csvParser = csv.parse({ headers: true, trim: true });
|
|
68
|
-
csvParser
|
|
69
|
-
.on('data', (instance) => {
|
|
70
|
-
processor(this.processFromJSON(instance), rowIndex++, csvParser);
|
|
71
|
-
})
|
|
72
|
-
.on('error', (err) => reject(err))
|
|
73
|
-
.on('end', () => {
|
|
74
|
-
this.logInfo('read ended');
|
|
75
|
-
resolve();
|
|
76
|
-
});
|
|
77
|
-
stream.pipe(csvParser);
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
9
|
this.keysToStringify = keysToStringify;
|
|
81
10
|
}
|
|
11
|
+
processToJSON = (i) => {
|
|
12
|
+
const o = {};
|
|
13
|
+
_keys(i).forEach(k => {
|
|
14
|
+
if (this.keysToStringify.includes(k))
|
|
15
|
+
return o[k] = __stringify(i[k]);
|
|
16
|
+
o[k] = i[k];
|
|
17
|
+
});
|
|
18
|
+
return o;
|
|
19
|
+
};
|
|
20
|
+
processFromJSON = (o) => {
|
|
21
|
+
const i = {};
|
|
22
|
+
_keys(o).forEach(_k => {
|
|
23
|
+
const k = _k;
|
|
24
|
+
if (this.keysToStringify.includes(k)) {
|
|
25
|
+
return i[k] = JSON.parse(o[k]);
|
|
26
|
+
}
|
|
27
|
+
i[k] = o[k];
|
|
28
|
+
});
|
|
29
|
+
return i;
|
|
30
|
+
};
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
writeImpl = async (writable, items, options) => {
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
const _options = {
|
|
35
|
+
...options,
|
|
36
|
+
transform: this.processToJSON
|
|
37
|
+
};
|
|
38
|
+
csv.writeToStream(writable, items, _options)
|
|
39
|
+
.on('finish', () => resolve())
|
|
40
|
+
.on('error', err => reject(err));
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
readImpl = async (stream, processor) => {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
let rowIndex = 0;
|
|
47
|
+
const csvParser = csv.parse({ headers: true, trim: true });
|
|
48
|
+
csvParser
|
|
49
|
+
.on('data', (instance) => {
|
|
50
|
+
processor(this.processFromJSON(instance), rowIndex++, csvParser);
|
|
51
|
+
})
|
|
52
|
+
.on('error', (err) => reject(err))
|
|
53
|
+
.on('end', () => {
|
|
54
|
+
this.logInfo('read ended');
|
|
55
|
+
resolve();
|
|
56
|
+
});
|
|
57
|
+
stream.pipe(csvParser);
|
|
58
|
+
});
|
|
59
|
+
};
|
|
82
60
|
}
|
|
83
|
-
|
|
61
|
+
//# sourceMappingURL=JSONCSVModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONCSVModule.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["modules/JSONCSVModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* ts-common is the basic building blocks of our typescript projects
|
|
4
3
|
*
|
|
@@ -16,10 +15,16 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
export function csvSerializer(items, _csvProps) {
|
|
19
|
+
const csvProps = {
|
|
20
|
+
decimalSeparator: '.',
|
|
21
|
+
withHeaders: true,
|
|
22
|
+
fieldWrapper: '"',
|
|
23
|
+
lineSeparator: '\n',
|
|
24
|
+
fieldSeparator: ',',
|
|
25
|
+
columnNames: (k) => k.toString(),
|
|
26
|
+
..._csvProps
|
|
27
|
+
};
|
|
23
28
|
function processValue(value) {
|
|
24
29
|
let escapedValue = (value.toString() || '').replace(csvProps.fieldWrapper, `\\${csvProps.fieldWrapper}`);
|
|
25
30
|
if (escapedValue.includes(csvProps.lineSeparator) || escapedValue.includes(csvProps.fieldSeparator))
|
|
@@ -35,3 +40,4 @@ function csvSerializer(items, _csvProps) {
|
|
|
35
40
|
outputRows.push(...rowsData);
|
|
36
41
|
return outputRows.reduce((content, row) => `${content}${row}${csvProps.lineSeparator}`, '').slice(0, -1);
|
|
37
42
|
}
|
|
43
|
+
//# sourceMappingURL=csv-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-serializer.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["modules/csv-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,MAAM,UAAU,aAAa,CAAkC,KAAU,EAAE,SAAsB;IAChG,MAAM,QAAQ,GAA0B;QACvC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChC,GAAG,SAAS;KACZ,CAAC;IAEF,SAAS,YAAY,CAAC,KAAsB;QAC3C,IAAI,YAAY,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QACzG,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClG,YAAY,GAAG,GAAG,QAAQ,CAAC,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAElF,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzI,IAAI,QAAQ,CAAC,WAAW;QACvB,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzI,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAE7B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nu-art/ts-common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.400.0",
|
|
4
4
|
"description": "js and ts infra",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"keywords": [
|
|
6
7
|
"TacB0sS",
|
|
7
8
|
"infra",
|
|
@@ -19,34 +20,42 @@
|
|
|
19
20
|
"url": "git+ssh://git@github.com:nu-art-js/ts-common.git"
|
|
20
21
|
},
|
|
21
22
|
"publishConfig": {
|
|
22
|
-
"directory": "dist"
|
|
23
|
-
"linkDirectory": true
|
|
23
|
+
"directory": "dist"
|
|
24
24
|
},
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"author": "TacB0sS",
|
|
27
|
-
"main": "index.js",
|
|
28
|
-
"types": "index.d.ts",
|
|
29
27
|
"scripts": {
|
|
30
28
|
"build": "tsc",
|
|
31
29
|
"typedocs": "typedoc --options typedoc.json",
|
|
32
30
|
"run-tests": "ts-mocha --timeout 50000 -p src/test/tsconfig.json src/test/run-all-tests.ts"
|
|
33
31
|
},
|
|
34
32
|
"dependencies": {
|
|
35
|
-
"fast-csv": "^
|
|
33
|
+
"fast-csv": "^5.0.2",
|
|
36
34
|
"export-to-csv": "0.2.1",
|
|
37
35
|
"moment": "^2.29.4",
|
|
38
36
|
"node-forge": "^1.2.1",
|
|
39
37
|
"uuid": "^9.0.0",
|
|
40
38
|
"csv-parser": "^2.3.3",
|
|
41
|
-
"xlsx": "^0.18.5"
|
|
39
|
+
"xlsx": "^0.18.5",
|
|
40
|
+
"jose": "^5.0.0",
|
|
41
|
+
"pbkdf2": "3.1.2"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/mocha": "^10.0.6",
|
|
45
45
|
"@types/minimatch": "^5.1.2",
|
|
46
46
|
"@types/node-forge": "^1.0.0"
|
|
47
47
|
},
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
48
|
+
"unitConfig": {
|
|
49
|
+
"type": "typescript-lib"
|
|
50
|
+
},
|
|
51
|
+
"exports": {
|
|
52
|
+
".": {
|
|
53
|
+
"types": "./index.d.ts",
|
|
54
|
+
"import": "./index.js"
|
|
55
|
+
},
|
|
56
|
+
"./*": {
|
|
57
|
+
"types": "./*.d.ts",
|
|
58
|
+
"import": "./*.js"
|
|
59
|
+
}
|
|
51
60
|
}
|
|
52
|
-
}
|
|
61
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class ReplacerV2 {
|
|
1
|
+
import { filterInstances } from '../utils/array-tools.js';
|
|
2
|
+
export class ReplacerV2 {
|
|
3
|
+
static Regexp_paramGroup = /\$\{(\{?.*?\}?)\}/g;
|
|
4
|
+
static Regexp_param = /\$\{(\{?.*?\}?)\}/;
|
|
6
5
|
replace(text, input) {
|
|
7
6
|
const params = this.resolveParams(text);
|
|
8
7
|
return params[0];
|
|
@@ -12,9 +11,7 @@ class ReplacerV2 {
|
|
|
12
11
|
const matches = text.match(ReplacerV2.Regexp_paramGroup);
|
|
13
12
|
if (!matches)
|
|
14
13
|
return [];
|
|
15
|
-
return
|
|
14
|
+
return filterInstances(matches.map((param) => param.match(ReplacerV2.Regexp_param)?.[1]));
|
|
16
15
|
}
|
|
17
16
|
}
|
|
18
|
-
|
|
19
|
-
ReplacerV2.Regexp_paramGroup = /\$\{(\{?.*?\}?)\}/g;
|
|
20
|
-
ReplacerV2.Regexp_param = /\$\{(\{?.*?\}?)\}/;
|
|
17
|
+
//# sourceMappingURL=ReplacerV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplacerV2.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["replacer-v2/ReplacerV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAOxD,MAAM,OAAO,UAAU;IACd,MAAM,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;IAChD,MAAM,CAAC,YAAY,GAAG,mBAAmB,CAAC;IAElD,OAAO,CAAC,IAAY,EAAE,KAAwB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,aAAa,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO;YACX,OAAO,EAAE,CAAC;QAEX,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC"}
|
package/test-index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './testing/types';
|
|
2
|
-
export * from './testing/consts';
|
|
1
|
+
export * from './testing/types.js';
|
|
2
|
+
export * from './testing/consts.js';
|
package/test-index.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./testing/types"), exports);
|
|
18
|
-
__exportStar(require("./testing/consts"), exports);
|
|
1
|
+
export * from './testing/types.js';
|
|
2
|
+
export * from './testing/consts.js';
|
|
3
|
+
//# sourceMappingURL=test-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-index.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["test-index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
package/testing/consts.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
import { TestModel, TestSuite } from './types';
|
|
2
|
-
import { ModuleManager } from '../core/module-manager';
|
|
1
|
+
import { TestModel, TestResetListener, TestSuite } from './types.js';
|
|
2
|
+
import { ModuleManager } from '../core/module-manager.js';
|
|
3
|
+
import { Dispatcher } from '../core/dispatcher.js';
|
|
3
4
|
export declare class ModuleManagerTester extends ModuleManager {
|
|
4
5
|
constructor();
|
|
5
6
|
}
|
|
6
7
|
export declare function testSuite_RunTest<Input, ExpectedResult>(testSuit: TestSuite<Input, ExpectedResult>, testCase: TestModel<Input, ExpectedResult>): void;
|
|
7
8
|
export declare const testSuiteTester: <Input, ExpectedResult>(testSuit: TestSuite<Input, ExpectedResult>, ...testcases: TestSuite<Input, ExpectedResult>["testcases"]) => void;
|
|
9
|
+
export type TestCase_Error = {
|
|
10
|
+
expected: string | RegExp;
|
|
11
|
+
message?: string;
|
|
12
|
+
constructor?: Error | Function;
|
|
13
|
+
};
|
|
14
|
+
export type DefaultTestProcessor<Result = any, ExpectedResult = Result> = (promisedResult: Promise<Result>, expectedResult?: ((() => Promise<any>) | ExpectedResult), error?: TestCase_Error) => Promise<any>;
|
|
15
|
+
export declare const defaultTestProcessor: DefaultTestProcessor;
|
|
16
|
+
export declare const runScenario: <Result, ExpectedResult = Result>(test: () => Promise<Result>, _testCase?: TestModel<void, ExpectedResult>, processor?: DefaultTestProcessor<any, any>) => () => Promise<void>;
|
|
17
|
+
export declare const runSingleTestCase: <Input, Result, ExpectedResult = Result>(test: (input: Input) => Promise<Result>, _testCase: TestModel<Input, ExpectedResult>, processor?: DefaultTestProcessor<any, any>) => Promise<void>;
|
|
8
18
|
export declare const expectFailAsync: (action: () => Promise<void>) => Promise<Chai.Assertion>;
|
|
19
|
+
export declare const dispatcher_resetTests: Dispatcher<TestResetListener, "__resetForTests", [], any>;
|
package/testing/consts.js
CHANGED
|
@@ -1,41 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import chai, { expect } from 'chai';
|
|
2
|
+
import { ModuleManager } from '../core/module-manager.js';
|
|
3
|
+
import { exists, resolveContent, voidFunction } from '../utils/tools.js';
|
|
4
|
+
import { MemStorage } from '../mem-storage/MemStorage.js';
|
|
5
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
6
|
+
import { BeLogged } from '../core/logger/BeLogged.js';
|
|
7
|
+
import { LogClient_Terminal } from '../core/logger/LogClient_Terminal.js';
|
|
8
|
+
import { DebugFlag } from '../core/debug-flags.js';
|
|
9
|
+
import { LogLevel } from '../core/logger/types.js';
|
|
10
|
+
import { StaticLogger } from '../core/logger/Logger.js';
|
|
11
|
+
import { BadImplementationException } from '../core/exceptions/exceptions.js';
|
|
12
|
+
import { Dispatcher } from '../core/dispatcher.js';
|
|
13
|
+
import { Void } from '../utils/types.js';
|
|
14
|
+
chai.use(chaiAsPromised);
|
|
15
|
+
BeLogged.addClient(LogClient_Terminal);
|
|
16
|
+
DebugFlag.DefaultLogLevel = LogLevel.Verbose;
|
|
17
|
+
export class ModuleManagerTester extends ModuleManager {
|
|
10
18
|
constructor() {
|
|
11
19
|
super();
|
|
12
20
|
}
|
|
13
21
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
it(testCase.description, () => testSuit.processor(testCase));
|
|
22
|
+
export function testSuite_RunTest(testSuit, testCase) {
|
|
23
|
+
it(resolveContent(resolveContent(testCase).description, testCase), () => testSuit.processor(testCase)).timeout(testSuit.timeout || 5000);
|
|
17
24
|
}
|
|
18
|
-
const testSuiteTester = (testSuit, ...testcases) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
(testcases.length > 0 ? testcases : testSuit.testcases).forEach(testCase => {
|
|
25
|
-
new MemStorage_1.MemStorage().init(async () => testSuite_RunTest(testSuit, testCase));
|
|
25
|
+
export const testSuiteTester = (testSuit, ...testcases) => {
|
|
26
|
+
if (testSuit.before)
|
|
27
|
+
before(() => {
|
|
28
|
+
testSuit.before?.();
|
|
29
|
+
StaticLogger.logDebug(testSuit.label, '----- Before Finished -----');
|
|
26
30
|
});
|
|
27
|
-
|
|
31
|
+
(testcases.length > 0 ? testcases : testSuit.testcases).forEach(testCase => {
|
|
32
|
+
new MemStorage().init(async () => testSuite_RunTest(testSuit, resolveContent(testCase)));
|
|
33
|
+
});
|
|
34
|
+
//Run pre-process
|
|
35
|
+
if (testSuit.after)
|
|
36
|
+
after(() => {
|
|
37
|
+
StaticLogger.logDebug(testSuit.label, '----- After Started -----');
|
|
38
|
+
testSuit.after?.();
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
export const defaultTestProcessor = async (promisedResult, expectedResult, error) => {
|
|
42
|
+
if (!exists(expectedResult) && !exists(error))
|
|
43
|
+
throw new BadImplementationException('MUST provide expectedResult or error');
|
|
44
|
+
if (error)
|
|
45
|
+
return expect(promisedResult).to.be.rejectedWith(error.expected);
|
|
46
|
+
const result = await promisedResult;
|
|
47
|
+
if (typeof expectedResult === 'function')
|
|
48
|
+
return await expectedResult(result);
|
|
49
|
+
expect(result).to.deep.equal(expectedResult);
|
|
50
|
+
};
|
|
51
|
+
export const runScenario = (test, _testCase, processor = defaultTestProcessor) => {
|
|
52
|
+
let testCase;
|
|
53
|
+
if (_testCase)
|
|
54
|
+
testCase = resolveContent(_testCase);
|
|
55
|
+
else
|
|
56
|
+
testCase = {
|
|
57
|
+
input: Void,
|
|
58
|
+
result: async (r) => {
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
return async () => runSingleTestCase(test, testCase, processor);
|
|
62
|
+
};
|
|
63
|
+
export const runSingleTestCase = async (test, _testCase, processor = defaultTestProcessor) => {
|
|
64
|
+
const testCase = resolveContent(_testCase);
|
|
65
|
+
const expectedResult = 'result' in testCase ? testCase.result : undefined;
|
|
66
|
+
const error = 'error' in testCase ? testCase.error : undefined;
|
|
67
|
+
await new MemStorage().init(async () => processor(test(testCase.input), expectedResult, error));
|
|
28
68
|
};
|
|
29
|
-
|
|
30
|
-
const expectFailAsync = async (action) => {
|
|
69
|
+
export const expectFailAsync = async (action) => {
|
|
31
70
|
try {
|
|
32
71
|
await action();
|
|
33
|
-
return
|
|
72
|
+
return expect(voidFunction);
|
|
34
73
|
}
|
|
35
74
|
catch (e) {
|
|
36
|
-
return
|
|
75
|
+
return expect(() => {
|
|
37
76
|
throw e;
|
|
38
77
|
});
|
|
39
78
|
}
|
|
40
79
|
};
|
|
41
|
-
|
|
80
|
+
export const dispatcher_resetTests = new Dispatcher('__resetForTests');
|
|
81
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["testing/consts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { runSingleTestCase } from './consts.js';
|
|
2
|
+
const justAGlobalConst = 'just a global const';
|
|
3
|
+
// the test cases, notice these can be a resolvable content, in order to keep bind consts between the input and the output,
|
|
4
|
+
const test = async (input) => {
|
|
5
|
+
// the actual test logic that all test cases will pass through and all will yield the Result
|
|
6
|
+
// this logic is silly but demonstrate the concept
|
|
7
|
+
if (input.inputB === 2)
|
|
8
|
+
throw new Error('a part of the error message would be The expected error message - but it\'s not the only part of the message');
|
|
9
|
+
return iAmJustAHelperFunction();
|
|
10
|
+
};
|
|
11
|
+
// helper function - dedicated for this test suite
|
|
12
|
+
function iAmJustAHelperFunction() {
|
|
13
|
+
return justAGlobalConst;
|
|
14
|
+
}
|
|
15
|
+
const runTestCase = (testCase, processor) => () => runSingleTestCase(test, testCase, processor);
|
|
16
|
+
// the mocha test launch
|
|
17
|
+
describe('template', () => {
|
|
18
|
+
it('My very fancy test', () => {
|
|
19
|
+
const justAConst = 'case 1';
|
|
20
|
+
return runTestCase({
|
|
21
|
+
input: {
|
|
22
|
+
inputA: `input for test ${justAConst}`,
|
|
23
|
+
inputB: 1,
|
|
24
|
+
inputC: ''
|
|
25
|
+
},
|
|
26
|
+
result: justAGlobalConst
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
it('My super fancy test case 2 - expected to fail', () => {
|
|
30
|
+
return runTestCase({
|
|
31
|
+
input: {
|
|
32
|
+
inputA: 'input for test case 2',
|
|
33
|
+
inputB: 2,
|
|
34
|
+
inputC: ''
|
|
35
|
+
},
|
|
36
|
+
error: {
|
|
37
|
+
expected: 'The expected error message'
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=test-template.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-template.test.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["testing/test-template.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAapE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAC/C,2HAA2H;AAE3H,MAAM,IAAI,GAAG,KAAK,EAAE,KAAY,EAAmB,EAAE;IACpD,4FAA4F;IAC5F,kDAAkD;IAElD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAC;IAEjI,OAAO,sBAAsB,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,kDAAkD;AAClD,SAAS,sBAAsB;IAC9B,OAAO,gBAAgB,CAAC;AACzB,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,QAA+B,EAAE,SAAuC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAErJ,wBAAwB;AACxB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC;QAE5B,OAAO,WAAW,CAAC;YAClB,KAAK,EAAE;gBACN,MAAM,EAAE,kBAAkB,UAAU,EAAE;gBACtC,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,EAAE;aACV;YACD,MAAM,EAAE,gBAAgB;SACxB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACxD,OAAO,WAAW,CAAC;YAClB,KAAK,EAAE;gBACN,MAAM,EAAE,uBAAuB;gBAC/B,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,EAAE;aACV;YACD,KAAK,EAAE;gBACN,QAAQ,EAAE,4BAA4B;aACtC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/testing/types.d.ts
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
|
+
import { ResolvableContent } from '../utils/types.js';
|
|
1
2
|
export type Types<Input, Result> = {
|
|
2
3
|
expected?: Result;
|
|
3
4
|
input: Input;
|
|
4
5
|
};
|
|
5
|
-
export type TestModel<Input, ExpectedResult> = {
|
|
6
|
-
description
|
|
7
|
-
result: ExpectedResult;
|
|
6
|
+
export type TestModel<Input, ExpectedResult> = ResolvableContent<{
|
|
7
|
+
description?: ResolvableContent<string, [TestModel<Input, ExpectedResult>]>;
|
|
8
8
|
input: Input;
|
|
9
|
-
}
|
|
9
|
+
} & ({
|
|
10
|
+
result: ExpectedResult | ((result: ExpectedResult) => Promise<any>);
|
|
11
|
+
} | {
|
|
12
|
+
error: {
|
|
13
|
+
expected: string | RegExp;
|
|
14
|
+
message?: string;
|
|
15
|
+
constructor?: Error | Function;
|
|
16
|
+
};
|
|
17
|
+
})>;
|
|
10
18
|
export type TestProcessor<Input, ExpectedResult> = (input: TestModel<Input, ExpectedResult>) => void | Promise<void>;
|
|
11
19
|
export type TestSuite<Input, ExpectedResult> = {
|
|
12
|
-
|
|
20
|
+
before?: () => (void | Promise<void>);
|
|
13
21
|
processor: TestProcessor<Input, ExpectedResult>;
|
|
22
|
+
after?: () => (void | Promise<void>);
|
|
14
23
|
testcases: TestModel<Input, ExpectedResult>[];
|
|
15
24
|
label: string;
|
|
16
25
|
timeout?: number;
|
|
17
26
|
};
|
|
27
|
+
export interface TestResetListener {
|
|
28
|
+
__resetForTests: () => Promise<any>;
|
|
29
|
+
}
|
package/testing/types.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* ts-common is the basic building blocks of our typescript projects
|
|
4
3
|
*
|
|
@@ -16,4 +15,5 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"/Users/tacb0ss/dev/nu-art/beamz/_thunderstorm/ts-common/src/main/","sources":["testing/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Logger } from '../core/logger/Logger.js';
|
|
2
|
+
export declare class TestWorkspaceCreator extends Logger {
|
|
3
|
+
private readonly pathToFixtures;
|
|
4
|
+
private readonly pathToWorkspace;
|
|
5
|
+
constructor(pathToFixtures: string, pathToWorkspace: string);
|
|
6
|
+
setupWorkspace(fixtures: string[], relativePath?: string, clean?: boolean): void;
|
|
7
|
+
clearWorkspace(relativePathInWorkspace?: string): void;
|
|
8
|
+
extractFixture(pathToFixture: string, relativePathInWorkspace?: string): void;
|
|
9
|
+
}
|
|
10
|
+
export declare function setupWorkspace(pathToWorkspaceFile: string, outputRootDir: string, clean?: boolean): void;
|