@fc3/mmcadi 0.1.20 → 0.1.22
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/bin/lint +12 -0
- package/bin/test-one +32 -0
- package/dist/.last-compile-time +1 -1
- package/dist/.last-publish-time +1 -1
- package/dist/client.js +11 -1
- package/dist/src/client/enum/page-type.d.ts +2 -1
- package/dist/src/client/enum/page-type.js +1 -0
- package/dist/src/client/enum/page-type.js.map +1 -1
- package/dist/src/client/factory/page.js +3 -1
- package/dist/src/client/factory/page.js.map +1 -1
- package/dist/src/client/page/role.d.ts +5 -0
- package/dist/src/client/page/role.js +12 -0
- package/dist/src/client/page/role.js.map +1 -0
- package/dist/src/common/builder/block/folder.d.ts +2 -1
- package/dist/src/common/builder/block/folder.js.map +1 -1
- package/dist/src/common/builder/block/header.d.ts +5 -1
- package/dist/src/common/builder/block/header.js +16 -2
- package/dist/src/common/builder/block/header.js.map +1 -1
- package/dist/src/common/builder/block/parameter.d.ts +3 -0
- package/dist/src/common/builder/block/parameter.js +19 -0
- package/dist/src/common/builder/block/parameter.js.map +1 -0
- package/dist/src/constant/role/creator.d.ts +3 -0
- package/dist/src/constant/role/creator.js +17 -0
- package/dist/src/constant/role/creator.js.map +1 -0
- package/dist/src/constant/role/public.d.ts +3 -0
- package/dist/src/constant/role/public.js +17 -0
- package/dist/src/constant/role/public.js.map +1 -0
- package/dist/src/constant/role/unknown.d.ts +3 -0
- package/dist/src/constant/role/unknown.js +17 -0
- package/dist/src/constant/role/unknown.js.map +1 -0
- package/dist/src/enum/block-type.d.ts +2 -1
- package/dist/src/enum/block-type.js +1 -0
- package/dist/src/enum/block-type.js.map +1 -1
- package/dist/src/enum/default-role.d.ts +2 -1
- package/dist/src/enum/default-role.js +1 -0
- package/dist/src/enum/default-role.js.map +1 -1
- package/dist/src/enum/emoji.d.ts +1 -0
- package/dist/src/enum/emoji.js +1 -0
- package/dist/src/enum/emoji.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interface/route.d.ts +2 -1
- package/dist/src/lib/environment-mocker/index.d.ts +18 -0
- package/dist/src/lib/environment-mocker/index.js +40 -0
- package/dist/src/lib/environment-mocker/index.js.map +1 -0
- package/dist/src/lib/grammar/index.d.ts +3 -0
- package/dist/src/lib/grammar/index.js +7 -1
- package/dist/src/lib/grammar/index.js.map +1 -1
- package/dist/src/lib/grammar/utility/pluralize.d.ts +2 -0
- package/dist/src/lib/grammar/utility/pluralize.js +12 -0
- package/dist/src/lib/grammar/utility/pluralize.js.map +1 -0
- package/dist/src/lib/grammar/utility/singularize-or-pluralize.d.ts +2 -0
- package/dist/src/lib/grammar/utility/singularize-or-pluralize.js +12 -0
- package/dist/src/lib/grammar/utility/singularize-or-pluralize.js.map +1 -0
- package/dist/src/lib/grammar/utility/singularize.d.ts +2 -0
- package/dist/src/lib/grammar/utility/singularize.js +12 -0
- package/dist/src/lib/grammar/utility/singularize.js.map +1 -0
- package/dist/src/lib/log-capturer/index.d.ts +2 -0
- package/dist/src/lib/log-capturer/index.js +8 -0
- package/dist/src/lib/log-capturer/index.js.map +1 -0
- package/dist/src/lib/log-capturer/log-capturer.d.ts +19 -0
- package/dist/src/lib/log-capturer/log-capturer.js +39 -0
- package/dist/src/lib/log-capturer/log-capturer.js.map +1 -0
- package/dist/src/lib/string/create-slug.js +2 -1
- package/dist/src/lib/string/create-slug.js.map +1 -1
- package/dist/src/server/endpoint/account/get.d.ts +14 -0
- package/dist/src/server/endpoint/account/get.js +34 -0
- package/dist/src/server/endpoint/account/get.js.map +1 -0
- package/dist/src/server/endpoint/action/create.js +4 -29
- package/dist/src/server/endpoint/action/create.js.map +1 -1
- package/dist/src/server/endpoint/role/get.d.ts +14 -0
- package/dist/src/server/endpoint/role/get.js +43 -0
- package/dist/src/server/endpoint/role/get.js.map +1 -0
- package/dist/src/server/enum/custom-page-type.d.ts +3 -1
- package/dist/src/server/enum/custom-page-type.js +2 -0
- package/dist/src/server/enum/custom-page-type.js.map +1 -1
- package/dist/src/server/factory/block-result-serializer.js +3 -0
- package/dist/src/server/factory/block-result-serializer.js.map +1 -1
- package/dist/src/server/middleware/error-handler.js +7 -2
- package/dist/src/server/middleware/error-handler.js.map +1 -1
- package/dist/src/server/operation/find-account.d.ts +1 -0
- package/dist/src/server/operation/find-account.js +9 -1
- package/dist/src/server/operation/find-account.js.map +1 -1
- package/dist/src/server/operation/load-account.js +5 -8
- package/dist/src/server/operation/load-account.js.map +1 -1
- package/dist/src/server/operation/load-page.d.ts +5 -4
- package/dist/src/server/operation/load-page.js +176 -59
- package/dist/src/server/operation/load-page.js.map +1 -1
- package/dist/src/server/operation/store-files.d.ts +15 -0
- package/dist/src/server/operation/store-files.js +84 -0
- package/dist/src/server/operation/store-files.js.map +1 -0
- package/dist/src/server/result-serializer/account.d.ts +9 -0
- package/dist/src/server/result-serializer/account.js +26 -0
- package/dist/src/server/result-serializer/account.js.map +1 -0
- package/dist/src/server/result-serializer/action.d.ts +2 -1
- package/dist/src/server/result-serializer/action.js +27 -18
- package/dist/src/server/result-serializer/action.js.map +1 -1
- package/dist/src/server/result-serializer/base.js +22 -4
- package/dist/src/server/result-serializer/base.js.map +1 -1
- package/dist/src/server/result-serializer/block/folder.js +25 -9
- package/dist/src/server/result-serializer/block/folder.js.map +1 -1
- package/dist/src/server/result-serializer/block/header.js +6 -2
- package/dist/src/server/result-serializer/block/header.js.map +1 -1
- package/dist/src/server/result-serializer/block/image.js +6 -3
- package/dist/src/server/result-serializer/block/image.js.map +1 -1
- package/dist/src/server/result-serializer/block/parameter.d.ts +6 -0
- package/dist/src/server/result-serializer/block/parameter.js +13 -0
- package/dist/src/server/result-serializer/block/parameter.js.map +1 -0
- package/dist/src/server/result-serializer/block.d.ts +2 -1
- package/dist/src/server/result-serializer/block.js +32 -13
- package/dist/src/server/result-serializer/block.js.map +1 -1
- package/dist/src/server/result-serializer/page.d.ts +2 -1
- package/dist/src/server/result-serializer/page.js +4 -4
- package/dist/src/server/result-serializer/page.js.map +1 -1
- package/dist/src/server/result-serializer/role.d.ts +9 -0
- package/dist/src/server/result-serializer/role.js +26 -0
- package/dist/src/server/result-serializer/role.js.map +1 -0
- package/dist/src/server/type/multipart-file.d.ts +7 -0
- package/dist/src/server/type/multipart-file.js +3 -0
- package/dist/src/server/type/multipart-file.js.map +1 -0
- package/dist/src/server/utility/extract-role.d.ts +3 -0
- package/dist/src/server/utility/extract-role.js +19 -0
- package/dist/src/server/utility/extract-role.js.map +1 -0
- package/dist/src/server/utility/get-custom-page-type-for-path.js +12 -0
- package/dist/src/server/utility/get-custom-page-type-for-path.js.map +1 -1
- package/dist/src/server/utility/get-key-for-role.d.ts +3 -0
- package/dist/src/server/utility/get-key-for-role.js +10 -0
- package/dist/src/server/utility/get-key-for-role.js.map +1 -0
- package/dist/src/server/utility/get-thumbnail-filename.d.ts +2 -0
- package/dist/src/server/utility/get-thumbnail-filename.js +10 -0
- package/dist/src/server/utility/get-thumbnail-filename.js.map +1 -0
- package/dist/src/server/utility/get-url-for-role.d.ts +3 -0
- package/dist/src/server/utility/get-url-for-role.js +13 -0
- package/dist/src/server/utility/get-url-for-role.js.map +1 -0
- package/dist/src/server/utility/role-matches.d.ts +3 -0
- package/dist/src/server/utility/role-matches.js +13 -0
- package/dist/src/server/utility/role-matches.js.map +1 -0
- package/dist/src/server/utility/satisfies-role.d.ts +3 -0
- package/dist/src/server/utility/satisfies-role.js +21 -0
- package/dist/src/server/utility/satisfies-role.js.map +1 -0
- package/dist/src/server.js +6 -8
- package/dist/src/server.js.map +1 -1
- package/dist/src/type/account.d.ts +1 -1
- package/dist/src/type/block/parameter.d.ts +8 -0
- package/dist/src/type/block/parameter.js +3 -0
- package/dist/src/type/block/parameter.js.map +1 -0
- package/dist/src/type/block-metadata.d.ts +2 -1
- package/dist/src/type/color-value.d.ts +2 -0
- package/dist/src/type/color-value.js +3 -0
- package/dist/src/type/color-value.js.map +1 -0
- package/dist/src/type/request-context.d.ts +7 -0
- package/dist/src/type/request-context.js +3 -0
- package/dist/src/type/request-context.js.map +1 -0
- package/dist/src/type/role.d.ts +8 -0
- package/dist/src/{interface/provider.js → type/role.js} +1 -1
- package/dist/src/type/role.js.map +1 -0
- package/dist/src/type/runtime-config.d.ts +2 -1
- package/dist/src/type/server-settings.d.ts +2 -1
- package/dist/test/unit/lib/environment-mocker/environment-mocker.d.ts +1 -0
- package/dist/test/unit/lib/environment-mocker/environment-mocker.js +40 -0
- package/dist/test/unit/lib/environment-mocker/environment-mocker.js.map +1 -0
- package/dist/test/unit/lib/grammar/index.d.ts +1 -0
- package/dist/test/unit/lib/grammar/index.js +60 -0
- package/dist/test/unit/lib/grammar/index.js.map +1 -0
- package/dist/test/unit/lib/grammar/inflector.d.ts +1 -0
- package/dist/test/unit/lib/grammar/inflector.js +72 -0
- package/dist/test/unit/lib/grammar/inflector.js.map +1 -0
- package/dist/test/unit/lib/http/parser/url.d.ts +1 -0
- package/dist/test/unit/lib/http/parser/url.js +27 -0
- package/dist/test/unit/lib/http/parser/url.js.map +1 -0
- package/dist/test/unit/lib/http/response/outgoing.d.ts +1 -0
- package/dist/test/unit/lib/http/response/outgoing.js +38 -0
- package/dist/test/unit/lib/http/response/outgoing.js.map +1 -0
- package/dist/test/unit/lib/http/utility/get-status-code-for-error-type.d.ts +1 -0
- package/dist/test/unit/lib/http/utility/get-status-code-for-error-type.js +21 -0
- package/dist/test/unit/lib/http/utility/get-status-code-for-error-type.js.map +1 -0
- package/dist/test/unit/lib/key-generator/key-generator.d.ts +1 -0
- package/dist/test/unit/lib/key-generator/key-generator.js +23 -0
- package/dist/test/unit/lib/key-generator/key-generator.js.map +1 -0
- package/dist/test/unit/lib/log-capturer/log-capturer.d.ts +1 -0
- package/dist/test/unit/lib/log-capturer/log-capturer.js +35 -0
- package/dist/test/unit/lib/log-capturer/log-capturer.js.map +1 -0
- package/dist/test/unit/lib/logger/formatter.d.ts +1 -0
- package/dist/test/unit/lib/logger/formatter.js +32 -0
- package/dist/test/unit/lib/logger/formatter.js.map +1 -0
- package/dist/test/unit/lib/logger/logger.d.ts +1 -0
- package/dist/test/unit/lib/logger/logger.js +194 -0
- package/dist/test/unit/lib/logger/logger.js.map +1 -0
- package/dist/test/unit/lib/operation/operation.d.ts +1 -0
- package/dist/test/unit/lib/operation/operation.js +128 -0
- package/dist/test/unit/lib/operation/operation.js.map +1 -0
- package/dist/test/unit/lib/promise-wrapper/promise-wrapper.d.ts +1 -0
- package/dist/test/unit/lib/promise-wrapper/promise-wrapper.js +41 -0
- package/dist/test/unit/lib/promise-wrapper/promise-wrapper.js.map +1 -0
- package/dist/test/unit/lib/string/create-slug.d.ts +1 -0
- package/dist/test/unit/lib/string/create-slug.js +15 -0
- package/dist/test/unit/lib/string/create-slug.js.map +1 -0
- package/dist/test/unit/lib/time/utility/sleep.d.ts +1 -0
- package/dist/test/unit/lib/time/utility/sleep.js +20 -0
- package/dist/test/unit/lib/time/utility/sleep.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -5
- package/dist/src/interface/provider.d.ts +0 -6
- package/dist/src/interface/provider.js.map +0 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_test_1 = require("node:test");
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
+
const log_capturer_1 = __importDefault(require("./../../../../src/lib/log-capturer/index.js"));
|
|
9
|
+
const operation_1 = __importDefault(require("./../../../../src/lib/operation/index.js"));
|
|
10
|
+
const test_1 = require("./../../../../src/lib/test/index.js");
|
|
11
|
+
(0, node_test_1.describe)('Operation', () => {
|
|
12
|
+
class MockOperation extends operation_1.default {
|
|
13
|
+
constructor(value, request_context) {
|
|
14
|
+
super(request_context);
|
|
15
|
+
this.value = value;
|
|
16
|
+
}
|
|
17
|
+
privilegedGetExecutionContext() {
|
|
18
|
+
return this.getExecutionContext();
|
|
19
|
+
}
|
|
20
|
+
privilegedGetSession() {
|
|
21
|
+
return this.getSession();
|
|
22
|
+
}
|
|
23
|
+
privilegedHasSession() {
|
|
24
|
+
return this.hasSession();
|
|
25
|
+
}
|
|
26
|
+
async performInternal() {
|
|
27
|
+
if (this.value) {
|
|
28
|
+
return this.value;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw new Error('Something strange happened');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
logRunning() {
|
|
35
|
+
this.getLogger().info(`
|
|
36
|
+
Started!
|
|
37
|
+
`);
|
|
38
|
+
}
|
|
39
|
+
logSuccess(result) {
|
|
40
|
+
this.getLogger().success(`
|
|
41
|
+
Success! (${result})
|
|
42
|
+
`);
|
|
43
|
+
}
|
|
44
|
+
logFailure(error) {
|
|
45
|
+
this.getLogger().error(`
|
|
46
|
+
Failure! (${error.message})
|
|
47
|
+
`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
(0, node_test_1.it)('logs expected start message', async () => {
|
|
51
|
+
const operation = new MockOperation(true);
|
|
52
|
+
const output = await log_capturer_1.default.captureAsync(() => {
|
|
53
|
+
return operation.perform();
|
|
54
|
+
});
|
|
55
|
+
node_assert_1.default.match(output, /Started!/);
|
|
56
|
+
});
|
|
57
|
+
(0, node_test_1.it)('logs expected success message', async () => {
|
|
58
|
+
const operation = new MockOperation(true);
|
|
59
|
+
const output = await log_capturer_1.default.captureAsync(() => {
|
|
60
|
+
return operation.perform();
|
|
61
|
+
});
|
|
62
|
+
node_assert_1.default.match(output, /Success! \(true\)/);
|
|
63
|
+
});
|
|
64
|
+
(0, node_test_1.it)('logs expected failure message', async () => {
|
|
65
|
+
const operation = new MockOperation(false);
|
|
66
|
+
const output = await log_capturer_1.default.captureAsync(async () => {
|
|
67
|
+
try {
|
|
68
|
+
await operation.perform();
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const cast_error = error;
|
|
72
|
+
node_assert_1.default.strictEqual(cast_error.message, 'Something strange happened');
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
node_assert_1.default.match(output, /Failure! \(Something strange happened\)/);
|
|
76
|
+
});
|
|
77
|
+
(0, node_test_1.describe)('passing request context to constructor', () => {
|
|
78
|
+
const request_context = (0, test_1.buildExecutionContext)();
|
|
79
|
+
(0, node_test_1.it)('sets expected request context', () => {
|
|
80
|
+
const operation = new MockOperation(true, request_context);
|
|
81
|
+
const actual_request_context = operation.privilegedGetExecutionContext();
|
|
82
|
+
node_assert_1.default.strictEqual(actual_request_context, request_context);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
(0, node_test_1.describe)('.getSession()', () => {
|
|
86
|
+
(0, node_test_1.it)('throws error if no request context is set', () => {
|
|
87
|
+
const operation = new MockOperation(true);
|
|
88
|
+
node_assert_1.default.throws(() => {
|
|
89
|
+
operation.privilegedGetSession();
|
|
90
|
+
}, /Tried to read request context, but it was not set/);
|
|
91
|
+
});
|
|
92
|
+
(0, node_test_1.it)('returns expected session instance', () => {
|
|
93
|
+
const session = {
|
|
94
|
+
id: 'abcd1234',
|
|
95
|
+
account_id: 'xxx',
|
|
96
|
+
username: 'xxx'
|
|
97
|
+
};
|
|
98
|
+
const request_context = (0, test_1.buildExecutionContext)();
|
|
99
|
+
request_context.setSession(session);
|
|
100
|
+
const operation = new MockOperation(true, request_context);
|
|
101
|
+
const actual_session = operation.privilegedGetSession();
|
|
102
|
+
node_assert_1.default.strictEqual(actual_session, session);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
(0, node_test_1.describe)('.hasSession()', () => {
|
|
106
|
+
(0, node_test_1.it)('returns false if no request context is set', () => {
|
|
107
|
+
const operation = new MockOperation(true);
|
|
108
|
+
node_assert_1.default.strictEqual(operation.privilegedHasSession(), false);
|
|
109
|
+
});
|
|
110
|
+
(0, node_test_1.it)('returns false if request context has no session', () => {
|
|
111
|
+
const request_context = (0, test_1.buildExecutionContext)();
|
|
112
|
+
const operation = new MockOperation(true, request_context);
|
|
113
|
+
node_assert_1.default.strictEqual(operation.privilegedHasSession(), false);
|
|
114
|
+
});
|
|
115
|
+
(0, node_test_1.it)('returns true if request context has session', () => {
|
|
116
|
+
const session = {
|
|
117
|
+
id: 'abcd1234',
|
|
118
|
+
account_id: 'xxx',
|
|
119
|
+
username: 'xxx'
|
|
120
|
+
};
|
|
121
|
+
const request_context = (0, test_1.buildExecutionContext)();
|
|
122
|
+
request_context.setSession(session);
|
|
123
|
+
const operation = new MockOperation(true, request_context);
|
|
124
|
+
node_assert_1.default.strictEqual(operation.privilegedHasSession(), true);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../../../test/unit/lib/operation/operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_test_1 = require("node:test");
|
|
7
|
+
const node_assert_1 = require("node:assert");
|
|
8
|
+
const promise_wrapper_1 = __importDefault(require("./../../../../src/lib/promise-wrapper/index.js"));
|
|
9
|
+
(0, node_test_1.describe)('PromiseWrapper', () => {
|
|
10
|
+
(0, node_test_1.describe)('.getPromise()', () => {
|
|
11
|
+
(0, node_test_1.it)('returns the same promise when called multiple times', () => {
|
|
12
|
+
const promise_wrapper = new promise_wrapper_1.default();
|
|
13
|
+
const first_promise = promise_wrapper.getPromise();
|
|
14
|
+
const second_promise = promise_wrapper.getPromise();
|
|
15
|
+
(0, node_assert_1.strictEqual)(first_promise, second_promise);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
(0, node_test_1.describe)('.resolve()', () => {
|
|
19
|
+
(0, node_test_1.it)('fulfills inner promise', async () => {
|
|
20
|
+
const promise_wrapper = new promise_wrapper_1.default();
|
|
21
|
+
promise_wrapper.getPromise().then((result) => {
|
|
22
|
+
(0, node_assert_1.strictEqual)(result, 'gandalf');
|
|
23
|
+
});
|
|
24
|
+
promise_wrapper.resolve('gandalf');
|
|
25
|
+
await promise_wrapper.getPromise();
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
(0, node_test_1.describe)('.reject()', () => {
|
|
29
|
+
(0, node_test_1.it)('rejects inner promise', async () => {
|
|
30
|
+
const promise_wrapper = new promise_wrapper_1.default();
|
|
31
|
+
const test_wrapper = new promise_wrapper_1.default();
|
|
32
|
+
promise_wrapper.getPromise().catch((error) => {
|
|
33
|
+
(0, node_assert_1.strictEqual)(error.message, 'some error');
|
|
34
|
+
test_wrapper.resolve();
|
|
35
|
+
});
|
|
36
|
+
promise_wrapper.reject(new Error('some error'));
|
|
37
|
+
await test_wrapper.getPromise();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=promise-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-wrapper.js","sourceRoot":"","sources":["../../../../../test/unit/lib/promise-wrapper/promise-wrapper.ts"],"names":[],"mappings":";;;;;AAAA,yCAAuC;AACvC,6CAAwC;AAExC,0EAAiD;AAEjD,IAAA,oBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,IAAA,oBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;QAC9B,IAAA,cAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;YAC9D,MAAM,eAAe,GAAG,IAAI,yBAAc,EAAU,CAAC;YACrD,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;YACnD,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;YAEpD,IAAA,yBAAW,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,oBAAQ,EAAC,YAAY,EAAE,GAAG,EAAE;QAC3B,IAAA,cAAE,EAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,eAAe,GAAG,IAAI,yBAAc,EAAU,CAAC;YAErD,eAAe,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC5C,IAAA,yBAAW,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEnC,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,oBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,IAAA,cAAE,EAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,eAAe,GAAG,IAAI,yBAAc,EAAU,CAAC;YACrD,MAAM,YAAY,GAAG,IAAI,yBAAc,EAAQ,CAAC;YAEhD,eAAe,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5C,IAAA,yBAAW,EAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACzC,YAAY,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,eAAe,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAEhD,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_test_1 = require("node:test");
|
|
4
|
+
const node_assert_1 = require("node:assert");
|
|
5
|
+
const string_1 = require("./../../../../src/lib/string/index.js");
|
|
6
|
+
(0, node_test_1.describe)('createSlug()', () => {
|
|
7
|
+
(0, node_test_1.describe)('when given a string containing an emoji', () => {
|
|
8
|
+
(0, node_test_1.it)('produces the expected output', () => {
|
|
9
|
+
const input = '🗡️ sword of damocles';
|
|
10
|
+
const output = (0, string_1.createSlug)(input);
|
|
11
|
+
(0, node_assert_1.strictEqual)(output, 'sword-of-damocles');
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=create-slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-slug.js","sourceRoot":"","sources":["../../../../../test/unit/lib/string/create-slug.ts"],"names":[],"mappings":";;AAAA,yCAAuC;AACvC,6CAAwC;AAExC,uCAAsC;AAEtC,IAAA,oBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,IAAA,oBAAQ,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACxD,IAAA,cAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAG,uBAAuB,CAAC;YACtC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;YAEjC,IAAA,yBAAW,EAAC,MAAM,EAAG,mBAAmB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_test_1 = require("node:test");
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
+
const time_1 = require("./../../../../../src/lib/time/index.js");
|
|
9
|
+
(0, node_test_1.describe)('sleep()', () => {
|
|
10
|
+
(0, node_test_1.it)('returns a promise that resolves after the specified interval', async () => {
|
|
11
|
+
const start = Date.now();
|
|
12
|
+
const duration = 50;
|
|
13
|
+
await (0, time_1.sleep)(duration);
|
|
14
|
+
const end = Date.now();
|
|
15
|
+
const delta = end - start;
|
|
16
|
+
// Give it 5ms or so of wiggle room to prevent test flakiness.
|
|
17
|
+
(0, node_assert_1.default)(delta >= duration - 5, 'sleep() waits the specified duration');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=sleep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../../../../../test/unit/lib/time/utility/sleep.ts"],"names":[],"mappings":";;;;;AAAA,yCAAuC;AACvC,8DAAiC;AAEjC,mCAA+B;AAE/B,IAAA,oBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;IACxB,IAAA,cAAE,EAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,MAAM,IAAA,YAAK,EAAC,QAAQ,CAAC,CAAC;QAEtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;QAE1B,8DAA8D;QAC9D,IAAA,qBAAM,EAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|