@doctorus/common 0.0.16 → 0.0.18
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/lib/status/account-location-status.d.ts +43 -0
- package/lib/status/account-location-status.js +141 -0
- package/lib/status/index.d.ts +4 -0
- package/lib/status/index.js +28 -1
- package/lib/status/medical-history-status.d.ts +41 -0
- package/lib/status/medical-history-status.js +103 -0
- package/lib/status/medical-service-status.d.ts +1 -22
- package/lib/status/medical-service-status.js +2 -2
- package/lib/status/types.d.ts +36 -0
- package/lib/status/types.js +7 -0
- package/lib/status/utils.d.ts +118 -0
- package/lib/status/utils.js +197 -0
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account Location Status enumeration and metadata
|
|
3
|
+
* Defines availability policies for medical service locations
|
|
4
|
+
*/
|
|
5
|
+
import type { StatusMetadata, Locale } from './types';
|
|
6
|
+
export declare enum AccountLocationStatus {
|
|
7
|
+
INHERIT = "inherit",
|
|
8
|
+
ALWAYS_OPEN = "always_open",
|
|
9
|
+
CLOSED = "closed",
|
|
10
|
+
PERIODS = "periods"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Account Location Status metadata configuration
|
|
14
|
+
*/
|
|
15
|
+
export declare const ACCOUNT_LOCATION_STATUS_METADATA: Record<AccountLocationStatus, StatusMetadata>;
|
|
16
|
+
/**
|
|
17
|
+
* Get status metadata
|
|
18
|
+
*/
|
|
19
|
+
export declare function getStatusMetadata(status: AccountLocationStatus): StatusMetadata;
|
|
20
|
+
/**
|
|
21
|
+
* Get status icon
|
|
22
|
+
*/
|
|
23
|
+
export declare function getStatusIcon(status: AccountLocationStatus): string;
|
|
24
|
+
/**
|
|
25
|
+
* Get status color
|
|
26
|
+
*/
|
|
27
|
+
export declare function getStatusColor(status: AccountLocationStatus): string;
|
|
28
|
+
/**
|
|
29
|
+
* Get status label (short or long)
|
|
30
|
+
*/
|
|
31
|
+
export declare function getStatusLabel(status: AccountLocationStatus, locale?: Locale, format?: 'short' | 'long'): string;
|
|
32
|
+
/**
|
|
33
|
+
* Get status description
|
|
34
|
+
*/
|
|
35
|
+
export declare function getStatusDescription(status: AccountLocationStatus, locale?: Locale): string;
|
|
36
|
+
/**
|
|
37
|
+
* Get all available statuses
|
|
38
|
+
*/
|
|
39
|
+
export declare function getAllAccountLocationStatuses(): AccountLocationStatus[];
|
|
40
|
+
/**
|
|
41
|
+
* Check if a value is a valid AccountLocationStatus
|
|
42
|
+
*/
|
|
43
|
+
export declare function isValidAccountLocationStatus(value: string): value is AccountLocationStatus;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Account Location Status enumeration and metadata
|
|
4
|
+
* Defines availability policies for medical service locations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ACCOUNT_LOCATION_STATUS_METADATA = exports.AccountLocationStatus = void 0;
|
|
8
|
+
exports.getStatusMetadata = getStatusMetadata;
|
|
9
|
+
exports.getStatusIcon = getStatusIcon;
|
|
10
|
+
exports.getStatusColor = getStatusColor;
|
|
11
|
+
exports.getStatusLabel = getStatusLabel;
|
|
12
|
+
exports.getStatusDescription = getStatusDescription;
|
|
13
|
+
exports.getAllAccountLocationStatuses = getAllAccountLocationStatuses;
|
|
14
|
+
exports.isValidAccountLocationStatus = isValidAccountLocationStatus;
|
|
15
|
+
var AccountLocationStatus;
|
|
16
|
+
(function (AccountLocationStatus) {
|
|
17
|
+
AccountLocationStatus["INHERIT"] = "inherit";
|
|
18
|
+
AccountLocationStatus["ALWAYS_OPEN"] = "always_open";
|
|
19
|
+
AccountLocationStatus["CLOSED"] = "closed";
|
|
20
|
+
AccountLocationStatus["PERIODS"] = "periods";
|
|
21
|
+
})(AccountLocationStatus || (exports.AccountLocationStatus = AccountLocationStatus = {}));
|
|
22
|
+
/**
|
|
23
|
+
* Account Location Status metadata configuration
|
|
24
|
+
*/
|
|
25
|
+
exports.ACCOUNT_LOCATION_STATUS_METADATA = {
|
|
26
|
+
[AccountLocationStatus.INHERIT]: {
|
|
27
|
+
icon: 'settings_backup_restore',
|
|
28
|
+
color: '#808080', // Gray
|
|
29
|
+
label: {
|
|
30
|
+
short: {
|
|
31
|
+
'us-EN': 'Inherit',
|
|
32
|
+
'fr-FR': 'Hériter',
|
|
33
|
+
},
|
|
34
|
+
long: {
|
|
35
|
+
'us-EN': 'Inherit Settings',
|
|
36
|
+
'fr-FR': 'Hériter des paramètres',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
description: {
|
|
40
|
+
'us-EN': 'Location inherits availability settings from parent',
|
|
41
|
+
'fr-FR': 'Le lieu hérite les paramètres de disponibilité du parent',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
[AccountLocationStatus.ALWAYS_OPEN]: {
|
|
45
|
+
icon: 'public',
|
|
46
|
+
color: '#4CAF50', // Green
|
|
47
|
+
label: {
|
|
48
|
+
short: {
|
|
49
|
+
'us-EN': 'Always Open',
|
|
50
|
+
'fr-FR': 'Toujours ouvert',
|
|
51
|
+
},
|
|
52
|
+
long: {
|
|
53
|
+
'us-EN': 'Always Open',
|
|
54
|
+
'fr-FR': 'Toujours ouvert',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
description: {
|
|
58
|
+
'us-EN': 'Location is available 24/7 without restrictions',
|
|
59
|
+
'fr-FR': 'Le lieu est disponible 24h/24, 7j/7 sans restrictions',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
[AccountLocationStatus.CLOSED]: {
|
|
63
|
+
icon: 'block',
|
|
64
|
+
color: '#F44336', // Red
|
|
65
|
+
label: {
|
|
66
|
+
short: {
|
|
67
|
+
'us-EN': 'Closed',
|
|
68
|
+
'fr-FR': 'Fermé',
|
|
69
|
+
},
|
|
70
|
+
long: {
|
|
71
|
+
'us-EN': 'Closed',
|
|
72
|
+
'fr-FR': 'Fermé',
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
description: {
|
|
76
|
+
'us-EN': 'Location is closed and unavailable for services',
|
|
77
|
+
'fr-FR': 'Le lieu est fermé et indisponible pour les services',
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
[AccountLocationStatus.PERIODS]: {
|
|
81
|
+
icon: 'schedule',
|
|
82
|
+
color: '#2196F3', // Blue
|
|
83
|
+
label: {
|
|
84
|
+
short: {
|
|
85
|
+
'us-EN': 'Periods',
|
|
86
|
+
'fr-FR': 'Périodes',
|
|
87
|
+
},
|
|
88
|
+
long: {
|
|
89
|
+
'us-EN': 'Custom Periods',
|
|
90
|
+
'fr-FR': 'Périodes personnalisées',
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
description: {
|
|
94
|
+
'us-EN': 'Location has custom availability periods',
|
|
95
|
+
'fr-FR': 'Le lieu a des périodes de disponibilité personnalisées',
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Get status metadata
|
|
101
|
+
*/
|
|
102
|
+
function getStatusMetadata(status) {
|
|
103
|
+
return exports.ACCOUNT_LOCATION_STATUS_METADATA[status];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get status icon
|
|
107
|
+
*/
|
|
108
|
+
function getStatusIcon(status) {
|
|
109
|
+
return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].icon;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Get status color
|
|
113
|
+
*/
|
|
114
|
+
function getStatusColor(status) {
|
|
115
|
+
return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].color;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get status label (short or long)
|
|
119
|
+
*/
|
|
120
|
+
function getStatusLabel(status, locale = 'us-EN', format = 'short') {
|
|
121
|
+
return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].label[format][locale];
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get status description
|
|
125
|
+
*/
|
|
126
|
+
function getStatusDescription(status, locale = 'us-EN') {
|
|
127
|
+
return exports.ACCOUNT_LOCATION_STATUS_METADATA[status].description[locale];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get all available statuses
|
|
131
|
+
*/
|
|
132
|
+
function getAllAccountLocationStatuses() {
|
|
133
|
+
return Object.values(AccountLocationStatus);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Check if a value is a valid AccountLocationStatus
|
|
137
|
+
*/
|
|
138
|
+
function isValidAccountLocationStatus(value) {
|
|
139
|
+
return Object.values(AccountLocationStatus).includes(value);
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1sb2NhdGlvbi1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2FjY291bnQtbG9jYXRpb24tc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7OztBQTRGSCw4Q0FFQztBQUtELHNDQUVDO0FBS0Qsd0NBRUM7QUFLRCx3Q0FNQztBQUtELG9EQUVDO0FBS0Qsc0VBRUM7QUFLRCxvRUFFQztBQXhJRCxJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsb0RBQTJCLENBQUE7SUFDM0IsMENBQWlCLENBQUE7SUFDakIsNENBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLHFCQUFxQixxQ0FBckIscUJBQXFCLFFBS2hDO0FBRUQ7O0dBRUc7QUFDVSxRQUFBLGdDQUFnQyxHQUFrRDtJQUM3RixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPO1FBQ3pCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFLFNBQVM7YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsT0FBTyxFQUFFLHdCQUF3QjthQUNsQztTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLHFEQUFxRDtZQUM5RCxPQUFPLEVBQUUsMERBQTBEO1NBQ3BFO0tBQ0Y7SUFDRCxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ25DLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRO1FBQzFCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsT0FBTyxFQUFFLGlCQUFpQjthQUMzQjtZQUNELElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsYUFBYTtnQkFDdEIsT0FBTyxFQUFFLGlCQUFpQjthQUMzQjtTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLGlEQUFpRDtZQUMxRCxPQUFPLEVBQUUsdURBQXVEO1NBQ2pFO0tBQ0Y7SUFDRCxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzlCLElBQUksRUFBRSxPQUFPO1FBQ2IsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNO1FBQ3hCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLE9BQU87YUFDakI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBRSxPQUFPO2FBQ2pCO1NBQ0Y7UUFDRCxXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsaURBQWlEO1lBQzFELE9BQU8sRUFBRSxxREFBcUQ7U0FDL0Q7S0FDRjtJQUNELENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDL0IsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPO1FBQ3pCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFLFVBQVU7YUFDcEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsT0FBTyxFQUFFLHlCQUF5QjthQUNuQztTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLDBDQUEwQztZQUNuRCxPQUFPLEVBQUUsd0RBQXdEO1NBQ2xFO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxNQUE2QjtJQUM3RCxPQUFPLHdDQUFnQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxNQUE2QjtJQUN6RCxPQUFPLHdDQUFnQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN2RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQUMsTUFBNkI7SUFDMUQsT0FBTyx3Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDeEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixNQUE2QixFQUM3QixTQUFpQixPQUFPLEVBQ3hCLFNBQTJCLE9BQU87SUFFbEMsT0FBTyx3Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsTUFBNkIsRUFBRSxTQUFpQixPQUFPO0lBQzFGLE9BQU8sd0NBQWdDLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDZCQUE2QjtJQUMzQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQiw0QkFBNEIsQ0FBQyxLQUFhO0lBQ3hELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUE4QixDQUFDLENBQUM7QUFDdkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWNjb3VudCBMb2NhdGlvbiBTdGF0dXMgZW51bWVyYXRpb24gYW5kIG1ldGFkYXRhXG4gKiBEZWZpbmVzIGF2YWlsYWJpbGl0eSBwb2xpY2llcyBmb3IgbWVkaWNhbCBzZXJ2aWNlIGxvY2F0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgU3RhdHVzTWV0YWRhdGEsIExvY2FsZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBBY2NvdW50TG9jYXRpb25TdGF0dXMge1xuICBJTkhFUklUID0gJ2luaGVyaXQnLFxuICBBTFdBWVNfT1BFTiA9ICdhbHdheXNfb3BlbicsXG4gIENMT1NFRCA9ICdjbG9zZWQnLFxuICBQRVJJT0RTID0gJ3BlcmlvZHMnLFxufVxuXG4vKipcbiAqIEFjY291bnQgTG9jYXRpb24gU3RhdHVzIG1ldGFkYXRhIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBOiBSZWNvcmQ8QWNjb3VudExvY2F0aW9uU3RhdHVzLCBTdGF0dXNNZXRhZGF0YT4gPSB7XG4gIFtBY2NvdW50TG9jYXRpb25TdGF0dXMuSU5IRVJJVF06IHtcbiAgICBpY29uOiAnc2V0dGluZ3NfYmFja3VwX3Jlc3RvcmUnLFxuICAgIGNvbG9yOiAnIzgwODA4MCcsIC8vIEdyYXlcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0luaGVyaXQnLFxuICAgICAgICAnZnItRlInOiAnSMOpcml0ZXInLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0luaGVyaXQgU2V0dGluZ3MnLFxuICAgICAgICAnZnItRlInOiAnSMOpcml0ZXIgZGVzIHBhcmFtw6h0cmVzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ0xvY2F0aW9uIGluaGVyaXRzIGF2YWlsYWJpbGl0eSBzZXR0aW5ncyBmcm9tIHBhcmVudCcsXG4gICAgICAnZnItRlInOiAnTGUgbGlldSBow6lyaXRlIGxlcyBwYXJhbcOodHJlcyBkZSBkaXNwb25pYmlsaXTDqSBkdSBwYXJlbnQnLFxuICAgIH0sXG4gIH0sXG4gIFtBY2NvdW50TG9jYXRpb25TdGF0dXMuQUxXQVlTX09QRU5dOiB7XG4gICAgaWNvbjogJ3B1YmxpYycsXG4gICAgY29sb3I6ICcjNENBRjUwJywgLy8gR3JlZW5cbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0Fsd2F5cyBPcGVuJyxcbiAgICAgICAgJ2ZyLUZSJzogJ1RvdWpvdXJzIG91dmVydCcsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnQWx3YXlzIE9wZW4nLFxuICAgICAgICAnZnItRlInOiAnVG91am91cnMgb3V2ZXJ0JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ0xvY2F0aW9uIGlzIGF2YWlsYWJsZSAyNC83IHdpdGhvdXQgcmVzdHJpY3Rpb25zJyxcbiAgICAgICdmci1GUic6ICdMZSBsaWV1IGVzdCBkaXNwb25pYmxlIDI0aC8yNCwgN2ovNyBzYW5zIHJlc3RyaWN0aW9ucycsXG4gICAgfSxcbiAgfSxcbiAgW0FjY291bnRMb2NhdGlvblN0YXR1cy5DTE9TRURdOiB7XG4gICAgaWNvbjogJ2Jsb2NrJyxcbiAgICBjb2xvcjogJyNGNDQzMzYnLCAvLyBSZWRcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0Nsb3NlZCcsXG4gICAgICAgICdmci1GUic6ICdGZXJtw6knLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0Nsb3NlZCcsXG4gICAgICAgICdmci1GUic6ICdGZXJtw6knLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAndXMtRU4nOiAnTG9jYXRpb24gaXMgY2xvc2VkIGFuZCB1bmF2YWlsYWJsZSBmb3Igc2VydmljZXMnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIGxpZXUgZXN0IGZlcm3DqSBldCBpbmRpc3BvbmlibGUgcG91ciBsZXMgc2VydmljZXMnLFxuICAgIH0sXG4gIH0sXG4gIFtBY2NvdW50TG9jYXRpb25TdGF0dXMuUEVSSU9EU106IHtcbiAgICBpY29uOiAnc2NoZWR1bGUnLFxuICAgIGNvbG9yOiAnIzIxOTZGMycsIC8vIEJsdWVcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1BlcmlvZHMnLFxuICAgICAgICAnZnItRlInOiAnUMOpcmlvZGVzJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdDdXN0b20gUGVyaW9kcycsXG4gICAgICAgICdmci1GUic6ICdQw6lyaW9kZXMgcGVyc29ubmFsaXPDqWVzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ0xvY2F0aW9uIGhhcyBjdXN0b20gYXZhaWxhYmlsaXR5IHBlcmlvZHMnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIGxpZXUgYSBkZXMgcMOpcmlvZGVzIGRlIGRpc3BvbmliaWxpdMOpIHBlcnNvbm5hbGlzw6llcycsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGEoc3RhdHVzOiBBY2NvdW50TG9jYXRpb25TdGF0dXMpOiBTdGF0dXNNZXRhZGF0YSB7XG4gIHJldHVybiBBQ0NPVU5UX0xPQ0FUSU9OX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzSWNvbihzdGF0dXM6IEFjY291bnRMb2NhdGlvblN0YXR1cyk6IHN0cmluZyB7XG4gIHJldHVybiBBQ0NPVU5UX0xPQ0FUSU9OX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdLmljb247XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBjb2xvclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzQ29sb3Ioc3RhdHVzOiBBY2NvdW50TG9jYXRpb25TdGF0dXMpOiBzdHJpbmcge1xuICByZXR1cm4gQUNDT1VOVF9MT0NBVElPTl9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIChzaG9ydCBvciBsb25nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWwoXG4gIHN0YXR1czogQWNjb3VudExvY2F0aW9uU3RhdHVzLFxuICBsb2NhbGU6IExvY2FsZSA9ICd1cy1FTicsXG4gIGZvcm1hdDogJ3Nob3J0JyB8ICdsb25nJyA9ICdzaG9ydCcsXG4pOiBzdHJpbmcge1xuICByZXR1cm4gQUNDT1VOVF9MT0NBVElPTl9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzRGVzY3JpcHRpb24oc3RhdHVzOiBBY2NvdW50TG9jYXRpb25TdGF0dXMsIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyk6IHN0cmluZyB7XG4gIHJldHVybiBBQ0NPVU5UX0xPQ0FUSU9OX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdLmRlc2NyaXB0aW9uW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IGFsbCBhdmFpbGFibGUgc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbEFjY291bnRMb2NhdGlvblN0YXR1c2VzKCk6IEFjY291bnRMb2NhdGlvblN0YXR1c1tdIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoQWNjb3VudExvY2F0aW9uU3RhdHVzKTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgQWNjb3VudExvY2F0aW9uU3RhdHVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQWNjb3VudExvY2F0aW9uU3RhdHVzKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBBY2NvdW50TG9jYXRpb25TdGF0dXMge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhBY2NvdW50TG9jYXRpb25TdGF0dXMpLmluY2x1ZGVzKHZhbHVlIGFzIEFjY291bnRMb2NhdGlvblN0YXR1cyk7XG59XG4iXX0=
|
package/lib/status/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Status module exports
|
|
3
3
|
*/
|
|
4
|
+
export * from './types';
|
|
4
5
|
export * from './medical-service-status';
|
|
6
|
+
export * as AccountLocationStatus from './account-location-status';
|
|
7
|
+
export * as MedicalHistoryStatus from './medical-history-status';
|
|
8
|
+
export * from './utils';
|
package/lib/status/index.js
CHANGED
|
@@ -10,12 +10,39 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
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
|
+
});
|
|
13
18
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
19
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
20
|
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
16
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.MedicalHistoryStatus = exports.AccountLocationStatus = void 0;
|
|
17
40
|
/**
|
|
18
41
|
* Status module exports
|
|
19
42
|
*/
|
|
43
|
+
__exportStar(require("./types"), exports);
|
|
20
44
|
__exportStar(require("./medical-service-status"), exports);
|
|
21
|
-
|
|
45
|
+
exports.AccountLocationStatus = __importStar(require("./account-location-status"));
|
|
46
|
+
exports.MedicalHistoryStatus = __importStar(require("./medical-history-status"));
|
|
47
|
+
__exportStar(require("./utils"), exports);
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMENBQXdCO0FBQ3hCLDJEQUF5QztBQUN6QyxtRkFBbUU7QUFDbkUsaUZBQWlFO0FBQ2pFLDBDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RhdHVzIG1vZHVsZSBleHBvcnRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZWRpY2FsLXNlcnZpY2Utc3RhdHVzJztcbmV4cG9ydCAqIGFzIEFjY291bnRMb2NhdGlvblN0YXR1cyBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmV4cG9ydCAqIGFzIE1lZGljYWxIaXN0b3J5U3RhdHVzIGZyb20gJy4vbWVkaWNhbC1oaXN0b3J5LXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Medical History Status enumeration and metadata
|
|
3
|
+
* Defines the status of medical history records (active or expired)
|
|
4
|
+
*/
|
|
5
|
+
import type { StatusMetadata, Locale } from './types';
|
|
6
|
+
export declare enum MedicalHistoryStatus {
|
|
7
|
+
CURRENT = "current",
|
|
8
|
+
EXPIRED = "expired"
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Medical History Status metadata configuration
|
|
12
|
+
*/
|
|
13
|
+
export declare const MEDICAL_HISTORY_STATUS_METADATA: Record<MedicalHistoryStatus, StatusMetadata>;
|
|
14
|
+
/**
|
|
15
|
+
* Get status metadata
|
|
16
|
+
*/
|
|
17
|
+
export declare function getStatusMetadata(status: MedicalHistoryStatus): StatusMetadata;
|
|
18
|
+
/**
|
|
19
|
+
* Get status icon
|
|
20
|
+
*/
|
|
21
|
+
export declare function getStatusIcon(status: MedicalHistoryStatus): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get status color
|
|
24
|
+
*/
|
|
25
|
+
export declare function getStatusColor(status: MedicalHistoryStatus): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get status label (short or long)
|
|
28
|
+
*/
|
|
29
|
+
export declare function getStatusLabel(status: MedicalHistoryStatus, locale?: Locale, format?: 'short' | 'long'): string;
|
|
30
|
+
/**
|
|
31
|
+
* Get status description
|
|
32
|
+
*/
|
|
33
|
+
export declare function getStatusDescription(status: MedicalHistoryStatus, locale?: Locale): string;
|
|
34
|
+
/**
|
|
35
|
+
* Get all available statuses
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAllMedicalHistoryStatuses(): MedicalHistoryStatus[];
|
|
38
|
+
/**
|
|
39
|
+
* Check if a value is a valid MedicalHistoryStatus
|
|
40
|
+
*/
|
|
41
|
+
export declare function isValidMedicalHistoryStatus(value: string): value is MedicalHistoryStatus;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Medical History Status enumeration and metadata
|
|
4
|
+
* Defines the status of medical history records (active or expired)
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.MEDICAL_HISTORY_STATUS_METADATA = exports.MedicalHistoryStatus = void 0;
|
|
8
|
+
exports.getStatusMetadata = getStatusMetadata;
|
|
9
|
+
exports.getStatusIcon = getStatusIcon;
|
|
10
|
+
exports.getStatusColor = getStatusColor;
|
|
11
|
+
exports.getStatusLabel = getStatusLabel;
|
|
12
|
+
exports.getStatusDescription = getStatusDescription;
|
|
13
|
+
exports.getAllMedicalHistoryStatuses = getAllMedicalHistoryStatuses;
|
|
14
|
+
exports.isValidMedicalHistoryStatus = isValidMedicalHistoryStatus;
|
|
15
|
+
var MedicalHistoryStatus;
|
|
16
|
+
(function (MedicalHistoryStatus) {
|
|
17
|
+
MedicalHistoryStatus["CURRENT"] = "current";
|
|
18
|
+
MedicalHistoryStatus["EXPIRED"] = "expired";
|
|
19
|
+
})(MedicalHistoryStatus || (exports.MedicalHistoryStatus = MedicalHistoryStatus = {}));
|
|
20
|
+
/**
|
|
21
|
+
* Medical History Status metadata configuration
|
|
22
|
+
*/
|
|
23
|
+
exports.MEDICAL_HISTORY_STATUS_METADATA = {
|
|
24
|
+
[MedicalHistoryStatus.CURRENT]: {
|
|
25
|
+
icon: 'check_circle',
|
|
26
|
+
color: '#4CAF50', // Green
|
|
27
|
+
label: {
|
|
28
|
+
short: {
|
|
29
|
+
'us-EN': 'Active',
|
|
30
|
+
'fr-FR': 'Actif',
|
|
31
|
+
},
|
|
32
|
+
long: {
|
|
33
|
+
'us-EN': 'Currently Active',
|
|
34
|
+
'fr-FR': 'Actuellement actif',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
description: {
|
|
38
|
+
'us-EN': 'Medical history record is currently active and relevant',
|
|
39
|
+
'fr-FR': "L'historique médical est actuellement actif et pertinent",
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
[MedicalHistoryStatus.EXPIRED]: {
|
|
43
|
+
icon: 'do_not_disturb_on',
|
|
44
|
+
color: '#808080', // Gray
|
|
45
|
+
label: {
|
|
46
|
+
short: {
|
|
47
|
+
'us-EN': 'Expired',
|
|
48
|
+
'fr-FR': 'Expiré',
|
|
49
|
+
},
|
|
50
|
+
long: {
|
|
51
|
+
'us-EN': 'Expired Record',
|
|
52
|
+
'fr-FR': 'Enregistrement expiré',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
description: {
|
|
56
|
+
'us-EN': 'Medical history record has expired and is no longer current',
|
|
57
|
+
'fr-FR': "L'historique médical a expiré et n'est plus actuel",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Get status metadata
|
|
63
|
+
*/
|
|
64
|
+
function getStatusMetadata(status) {
|
|
65
|
+
return exports.MEDICAL_HISTORY_STATUS_METADATA[status];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get status icon
|
|
69
|
+
*/
|
|
70
|
+
function getStatusIcon(status) {
|
|
71
|
+
return exports.MEDICAL_HISTORY_STATUS_METADATA[status].icon;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get status color
|
|
75
|
+
*/
|
|
76
|
+
function getStatusColor(status) {
|
|
77
|
+
return exports.MEDICAL_HISTORY_STATUS_METADATA[status].color;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get status label (short or long)
|
|
81
|
+
*/
|
|
82
|
+
function getStatusLabel(status, locale = 'us-EN', format = 'short') {
|
|
83
|
+
return exports.MEDICAL_HISTORY_STATUS_METADATA[status].label[format][locale];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get status description
|
|
87
|
+
*/
|
|
88
|
+
function getStatusDescription(status, locale = 'us-EN') {
|
|
89
|
+
return exports.MEDICAL_HISTORY_STATUS_METADATA[status].description[locale];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get all available statuses
|
|
93
|
+
*/
|
|
94
|
+
function getAllMedicalHistoryStatuses() {
|
|
95
|
+
return Object.values(MedicalHistoryStatus);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if a value is a valid MedicalHistoryStatus
|
|
99
|
+
*/
|
|
100
|
+
function isValidMedicalHistoryStatus(value) {
|
|
101
|
+
return Object.values(MedicalHistoryStatus).includes(value);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWNhbC1oaXN0b3J5LXN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0dXMvbWVkaWNhbC1oaXN0b3J5LXN0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFzREgsOENBRUM7QUFLRCxzQ0FFQztBQUtELHdDQUVDO0FBS0Qsd0NBTUM7QUFLRCxvREFFQztBQUtELG9FQUVDO0FBS0Qsa0VBRUM7QUFsR0QsSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLDJDQUFtQixDQUFBO0lBQ25CLDJDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0Isb0NBQXBCLG9CQUFvQixRQUcvQjtBQUVEOztHQUVHO0FBQ1UsUUFBQSwrQkFBK0IsR0FBaUQ7SUFDM0YsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM5QixJQUFJLEVBQUUsY0FBYztRQUNwQixLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVE7UUFDMUIsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsT0FBTzthQUNqQjtZQUNELElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixPQUFPLEVBQUUsb0JBQW9CO2FBQzlCO1NBQ0Y7UUFDRCxXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUseURBQXlEO1lBQ2xFLE9BQU8sRUFBRSwwREFBMEQ7U0FDcEU7S0FDRjtJQUNELENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU87UUFDekIsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixPQUFPLEVBQUUsUUFBUTthQUNsQjtZQUNELElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixPQUFPLEVBQUUsdUJBQXVCO2FBQ2pDO1NBQ0Y7UUFDRCxXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsNkRBQTZEO1lBQ3RFLE9BQU8sRUFBRSxvREFBb0Q7U0FDOUQ7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE1BQTRCO0lBQzVELE9BQU8sdUNBQStCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLE1BQTRCO0lBQ3hELE9BQU8sdUNBQStCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3RELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxNQUE0QjtJQUN6RCxPQUFPLHVDQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN2RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQzVCLE1BQTRCLEVBQzVCLFNBQWlCLE9BQU8sRUFDeEIsU0FBMkIsT0FBTztJQUVsQyxPQUFPLHVDQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxNQUE0QixFQUFFLFNBQWlCLE9BQU87SUFDekYsT0FBTyx1Q0FBK0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsNEJBQTRCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDJCQUEyQixDQUFDLEtBQWE7SUFDdkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUFDLEtBQTZCLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNZWRpY2FsIEhpc3RvcnkgU3RhdHVzIGVudW1lcmF0aW9uIGFuZCBtZXRhZGF0YVxuICogRGVmaW5lcyB0aGUgc3RhdHVzIG9mIG1lZGljYWwgaGlzdG9yeSByZWNvcmRzIChhY3RpdmUgb3IgZXhwaXJlZClcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhLCBMb2NhbGUgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGVudW0gTWVkaWNhbEhpc3RvcnlTdGF0dXMge1xuICBDVVJSRU5UID0gJ2N1cnJlbnQnLFxuICBFWFBJUkVEID0gJ2V4cGlyZWQnLFxufVxuXG4vKipcbiAqIE1lZGljYWwgSGlzdG9yeSBTdGF0dXMgbWV0YWRhdGEgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY29uc3QgTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQTogUmVjb3JkPE1lZGljYWxIaXN0b3J5U3RhdHVzLCBTdGF0dXNNZXRhZGF0YT4gPSB7XG4gIFtNZWRpY2FsSGlzdG9yeVN0YXR1cy5DVVJSRU5UXToge1xuICAgIGljb246ICdjaGVja19jaXJjbGUnLFxuICAgIGNvbG9yOiAnIzRDQUY1MCcsIC8vIEdyZWVuXG4gICAgbGFiZWw6IHtcbiAgICAgIHNob3J0OiB7XG4gICAgICAgICd1cy1FTic6ICdBY3RpdmUnLFxuICAgICAgICAnZnItRlInOiAnQWN0aWYnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0N1cnJlbnRseSBBY3RpdmUnLFxuICAgICAgICAnZnItRlInOiAnQWN0dWVsbGVtZW50IGFjdGlmJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ01lZGljYWwgaGlzdG9yeSByZWNvcmQgaXMgY3VycmVudGx5IGFjdGl2ZSBhbmQgcmVsZXZhbnQnLFxuICAgICAgJ2ZyLUZSJzogXCJMJ2hpc3RvcmlxdWUgbcOpZGljYWwgZXN0IGFjdHVlbGxlbWVudCBhY3RpZiBldCBwZXJ0aW5lbnRcIixcbiAgICB9LFxuICB9LFxuICBbTWVkaWNhbEhpc3RvcnlTdGF0dXMuRVhQSVJFRF06IHtcbiAgICBpY29uOiAnZG9fbm90X2Rpc3R1cmJfb24nLFxuICAgIGNvbG9yOiAnIzgwODA4MCcsIC8vIEdyYXlcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0V4cGlyZWQnLFxuICAgICAgICAnZnItRlInOiAnRXhwaXLDqScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnRXhwaXJlZCBSZWNvcmQnLFxuICAgICAgICAnZnItRlInOiAnRW5yZWdpc3RyZW1lbnQgZXhwaXLDqScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdNZWRpY2FsIGhpc3RvcnkgcmVjb3JkIGhhcyBleHBpcmVkIGFuZCBpcyBubyBsb25nZXIgY3VycmVudCcsXG4gICAgICAnZnItRlInOiBcIkwnaGlzdG9yaXF1ZSBtw6lkaWNhbCBhIGV4cGlyw6kgZXQgbidlc3QgcGx1cyBhY3R1ZWxcIixcbiAgICB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNNZXRhZGF0YShzdGF0dXM6IE1lZGljYWxIaXN0b3J5U3RhdHVzKTogU3RhdHVzTWV0YWRhdGEge1xuICByZXR1cm4gTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzSWNvbihzdGF0dXM6IE1lZGljYWxIaXN0b3J5U3RhdHVzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5pY29uO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgY29sb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0NvbG9yKHN0YXR1czogTWVkaWNhbEhpc3RvcnlTdGF0dXMpOiBzdHJpbmcge1xuICByZXR1cm4gTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQVtzdGF0dXNdLmNvbG9yO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgbGFiZWwgKHNob3J0IG9yIGxvbmcpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNMYWJlbChcbiAgc3RhdHVzOiBNZWRpY2FsSGlzdG9yeVN0YXR1cyxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuICBmb3JtYXQ6ICdzaG9ydCcgfCAnbG9uZycgPSAnc2hvcnQnLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzRGVzY3JpcHRpb24oc3RhdHVzOiBNZWRpY2FsSGlzdG9yeVN0YXR1cywgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfSElTVE9SWV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5kZXNjcmlwdGlvbltsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBhbGwgYXZhaWxhYmxlIHN0YXR1c2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxNZWRpY2FsSGlzdG9yeVN0YXR1c2VzKCk6IE1lZGljYWxIaXN0b3J5U3RhdHVzW10ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhNZWRpY2FsSGlzdG9yeVN0YXR1cyk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIHZhbGlkIE1lZGljYWxIaXN0b3J5U3RhdHVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkTWVkaWNhbEhpc3RvcnlTdGF0dXModmFsdWU6IHN0cmluZyk6IHZhbHVlIGlzIE1lZGljYWxIaXN0b3J5U3RhdHVzIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoTWVkaWNhbEhpc3RvcnlTdGF0dXMpLmluY2x1ZGVzKHZhbHVlIGFzIE1lZGljYWxIaXN0b3J5U3RhdHVzKTtcbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Medical Service Status enumeration and metadata
|
|
3
3
|
*/
|
|
4
|
-
import type { Locale } from '
|
|
4
|
+
import type { StatusMetadata, Locale } from './types';
|
|
5
5
|
export declare enum MedicalServiceStatus {
|
|
6
6
|
PENDING = "pending",
|
|
7
7
|
IN_PROGRESS = "in_progress",
|
|
@@ -9,27 +9,6 @@ export declare enum MedicalServiceStatus {
|
|
|
9
9
|
CANCELED = "canceled",
|
|
10
10
|
COMPLETED = "completed"
|
|
11
11
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Status metadata including icons, colors, and translations
|
|
14
|
-
*/
|
|
15
|
-
export interface StatusMetadata {
|
|
16
|
-
icon: string;
|
|
17
|
-
color: string;
|
|
18
|
-
label: {
|
|
19
|
-
short: {
|
|
20
|
-
'us-EN': string;
|
|
21
|
-
'fr-FR': string;
|
|
22
|
-
};
|
|
23
|
-
long: {
|
|
24
|
-
'us-EN': string;
|
|
25
|
-
'fr-FR': string;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
description: {
|
|
29
|
-
'us-EN': string;
|
|
30
|
-
'fr-FR': string;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
12
|
/**
|
|
34
13
|
* Medical Service Status metadata configuration
|
|
35
14
|
*/
|
|
@@ -44,7 +44,7 @@ exports.MEDICAL_SERVICE_STATUS_METADATA = {
|
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
46
|
[MedicalServiceStatus.ON_WAITING_ROOM]: {
|
|
47
|
-
icon: '
|
|
47
|
+
icon: 'event_busy',
|
|
48
48
|
color: '#FF9800', // Orange
|
|
49
49
|
label: {
|
|
50
50
|
short: {
|
|
@@ -188,4 +188,4 @@ function isValidTransition(from, to) {
|
|
|
188
188
|
function getAllowedTransitions(status) {
|
|
189
189
|
return exports.MEDICAL_SERVICE_STATUS_TRANSITIONS[status] ?? [];
|
|
190
190
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0dXMvbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQXFJSCw4Q0FFQztBQUtELHNDQUVDO0FBS0Qsd0NBRUM7QUFLRCx3Q0FNQztBQUtELG9EQUVDO0FBS0Qsb0VBRUM7QUFLRCxrRUFFQztBQXdCRCw4Q0FFQztBQUtELHNEQUVDO0FBbE5ELElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM5QiwyQ0FBbUIsQ0FBQTtJQUNuQixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQyw2Q0FBcUIsQ0FBQTtJQUNyQiwrQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFNL0I7QUF3QkQ7O0dBRUc7QUFDVSxRQUFBLCtCQUErQixHQUFpRDtJQUMzRixDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlCLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTztRQUN6QixLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE9BQU8sRUFBRSxZQUFZO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLE9BQU8sRUFBRSxvQkFBb0I7YUFDOUI7U0FDRjtRQUNELFdBQVcsRUFBRTtZQUNYLE9BQU8sRUFBRSx1REFBdUQ7WUFDaEUsT0FBTyxFQUFFLDREQUE0RDtTQUN0RTtLQUNGO0lBQ0QsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUN0QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUztRQUMzQixLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUU7Z0JB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ZWRpY2FsIFNlcnZpY2UgU3RhdHVzIGVudW1lcmF0aW9uIGFuZCBtZXRhZGF0YVxuICovXG5cbmltcG9ydCB0eXBlIHsgTG9jYWxlIH0gZnJvbSAnLi4vb3BlcmF0aW9ucy9sYWJlbHMnO1xuXG5leHBvcnQgZW51bSBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIFBFTkRJTkcgPSAncGVuZGluZycsXG4gIElOX1BST0dSRVNTID0gJ2luX3Byb2dyZXNzJyxcbiAgT05fV0FJVElOR19ST09NID0gJ29uX3dhaXRpbmdfcm9vbScsXG4gIENBTkNFTEVEID0gJ2NhbmNlbGVkJyxcbiAgQ09NUExFVEVEID0gJ2NvbXBsZXRlZCcsXG59XG5cbi8qKlxuICogU3RhdHVzIG1ldGFkYXRhIGluY2x1ZGluZyBpY29ucywgY29sb3JzLCBhbmQgdHJhbnNsYXRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzTWV0YWRhdGEge1xuICBpY29uOiBzdHJpbmc7IC8vIE1hdGVyaWFsIGljb24gbmFtZVxuICBjb2xvcjogc3RyaW5nOyAvLyBIZXggY29sb3Igb3IgQ1NTIGNvbG9yIG5hbWVcbiAgbGFiZWw6IHtcbiAgICBzaG9ydDoge1xuICAgICAgJ3VzLUVOJzogc3RyaW5nO1xuICAgICAgJ2ZyLUZSJzogc3RyaW5nO1xuICAgIH07XG4gICAgbG9uZzoge1xuICAgICAgJ3VzLUVOJzogc3RyaW5nO1xuICAgICAgJ2ZyLUZSJzogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGRlc2NyaXB0aW9uOiB7XG4gICAgJ3VzLUVOJzogc3RyaW5nO1xuICAgICdmci1GUic6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBNZWRpY2FsIFNlcnZpY2UgU3RhdHVzIG1ldGFkYXRhIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEE6IFJlY29yZDxNZWRpY2FsU2VydmljZVN0YXR1cywgU3RhdHVzTWV0YWRhdGE+ID0ge1xuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElOR106IHtcbiAgICBpY29uOiAnc2NoZWR1bGUnLFxuICAgIGNvbG9yOiAnIzlFOUU5RScsIC8vIEdyYXlcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1BlbmRpbmcnLFxuICAgICAgICAnZnItRlInOiAnRW4gYXR0ZW50ZScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnUGVuZGluZyBTZXJ2aWNlJyxcbiAgICAgICAgJ2ZyLUZSJzogJ1NlcnZpY2UgZW4gYXR0ZW50ZScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGlzIHNjaGVkdWxlZCBhbmQgd2FpdGluZyB0byBiZWdpbicsXG4gICAgICAnZnItRlInOiAnTGUgc2VydmljZSBtw6lkaWNhbCBlc3QgcGxhbmlmacOpIGV0IGVuIGF0dGVudGUgZGUgZMOpbWFycmFnZScsXG4gICAgfSxcbiAgfSxcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLk9OX1dBSVRJTkdfUk9PTV06IHtcbiAgICBpY29uOiAncGVyc29uX3Bpbl9jaXJjbGUnLFxuICAgIGNvbG9yOiAnI0ZGOTgwMCcsIC8vIE9yYW5nZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnV2FpdGluZycsXG4gICAgICAgICdmci1GUic6ICdFbiBhdHRlbnRlJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdJbiBXYWl0aW5nIFJvb20nLFxuICAgICAgICAnZnItRlInOiBcIkRhbnMgbGEgc2FsbGUgZCdhdHRlbnRlXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdQYXRpZW50IGhhcyBjaGVja2VkIGluIGFuZCBpcyB3YWl0aW5nIGluIHRoZSB3YWl0aW5nIHJvb20nLFxuICAgICAgJ2ZyLUZSJzogXCJMZSBwYXRpZW50IHMnZXN0IGVucmVnaXN0csOpIGV0IGF0dGVuZCBkYW5zIGxhIHNhbGxlIGQnYXR0ZW50ZVwiLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5JTl9QUk9HUkVTU106IHtcbiAgICBpY29uOiAnbWVkaWNhbF9zZXJ2aWNlcycsXG4gICAgY29sb3I6ICcjMjE5NkYzJywgLy8gQmx1ZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnRW4gY291cnMnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBlbiBjb3VycycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGNvbnN1bHRhdGlvbiBpcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MnLFxuICAgICAgJ2ZyLUZSJzogJ0xhIGNvbnN1bHRhdGlvbiBkdSBzZXJ2aWNlIG3DqWRpY2FsIGVzdCBhY3R1ZWxsZW1lbnQgZW4gY291cnMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DT01QTEVURURdOiB7XG4gICAgaWNvbjogJ2NoZWNrX2NpcmNsZScsXG4gICAgY29sb3I6ICcjNENBRjUwJywgLy8gR3JlZW5cbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NvbXBsZXRlZCcsXG4gICAgICAgICdmci1GUic6ICdUZXJtaW7DqScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnU2VydmljZSBDb21wbGV0ZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSB0ZXJtaW7DqScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSB0ZXJtaW7DqSBhdmVjIHN1Y2PDqHMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IHtcbiAgICBpY29uOiAnY2FuY2VsJyxcbiAgICBjb2xvcjogJyNGNDQzMzYnLCAvLyBSZWRcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NhbmNlbGVkJyxcbiAgICAgICAgJ2ZyLUZSJzogJ0FubnVsw6knLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgQ2FuY2VsZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBhbm51bMOpJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ1RoZSBtZWRpY2FsIHNlcnZpY2UgaGFzIGJlZW4gY2FuY2VsZWQgYW5kIHdpbGwgbm90IHByb2NlZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSBhbm51bMOpIGV0IG5lIHNlcmEgcGFzIGVmZmVjdHXDqScsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGEoc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IFN0YXR1c01ldGFkYXRhIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGljb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb24oc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvcihzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIChzaG9ydCBvciBsb25nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWwoXG4gIHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10ubGFiZWxbZm9ybWF0XVtsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uKHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uZGVzY3JpcHRpb25bbG9jYWxlXTtcbn1cblxuLyoqXG4gKiBHZXQgYWxsIGF2YWlsYWJsZSBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTWVkaWNhbFNlcnZpY2VTdGF0dXNlcygpOiBNZWRpY2FsU2VydmljZVN0YXR1c1tdIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoTWVkaWNhbFNlcnZpY2VTdGF0dXMpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBNZWRpY2FsU2VydmljZVN0YXR1c1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE1lZGljYWxTZXJ2aWNlU3RhdHVzKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKE1lZGljYWxTZXJ2aWNlU3RhdHVzKS5pbmNsdWRlcyh2YWx1ZSBhcyBNZWRpY2FsU2VydmljZVN0YXR1cyk7XG59XG5cbi8qKlxuICogU3RhdHVzIHRyYW5zaXRpb24gcnVsZXMgKG9wdGlvbmFsOiBkZWZpbmUgd2hpY2ggdHJhbnNpdGlvbnMgYXJlIGFsbG93ZWQpXG4gKi9cbmV4cG9ydCBjb25zdCBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TOiBSZWNvcmQ8TWVkaWNhbFNlcnZpY2VTdGF0dXMsIE1lZGljYWxTZXJ2aWNlU3RhdHVzW10+ID0ge1xuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElOR106IFtcbiAgICBNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT00sXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gIF0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT01dOiBbXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElORyxcbiAgXSxcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLkNPTVBMRVRFRCwgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRURdLFxuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ09NUExFVEVEXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXSwgLy8gQWxsb3cgcmVvcGVuaW5nXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IFtNZWRpY2FsU2VydmljZVN0YXR1cy5QRU5ESU5HXSwgLy8gQWxsb3cgdW5jYW5jZWxpbmdcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdGF0dXMgdHJhbnNpdGlvbiBpcyB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFRyYW5zaXRpb24oZnJvbTogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIHRvOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IGJvb2xlYW4ge1xuICByZXR1cm4gTUVESUNBTF9TRVJWSUNFX1NUQVRVU19UUkFOU0lUSU9OU1tmcm9tXT8uaW5jbHVkZXModG8pID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIEdldCBhbGxvd2VkIHRyYW5zaXRpb25zIGZyb20gYSBzdGF0dXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbG93ZWRUcmFuc2l0aW9ucyhzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogTWVkaWNhbFNlcnZpY2VTdGF0dXNbXSB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TW3N0YXR1c10gPz8gW107XG59XG4iXX0=
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0dXMvbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQStHSCw4Q0FFQztBQUtELHNDQUVDO0FBS0Qsd0NBRUM7QUFLRCx3Q0FNQztBQUtELG9EQUVDO0FBS0Qsb0VBRUM7QUFLRCxrRUFFQztBQXdCRCw4Q0FFQztBQUtELHNEQUVDO0FBNUxELElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM5QiwyQ0FBbUIsQ0FBQTtJQUNuQixtREFBMkIsQ0FBQTtJQUMzQiwyREFBbUMsQ0FBQTtJQUNuQyw2Q0FBcUIsQ0FBQTtJQUNyQiwrQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFNL0I7QUFFRDs7R0FFRztBQUNVLFFBQUEsK0JBQStCLEdBQWlEO0lBQzNGLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPO1FBQ3pCLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFLFlBQVk7YUFDdEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjthQUM5QjtTQUNGO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLHVEQUF1RDtZQUNoRSxPQUFPLEVBQUUsNERBQTREO1NBQ3RFO0tBQ0Y7SUFDRCxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3RDLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUztRQUMzQixLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUU7Z0JBQ0ws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Y2FsIFNlcnZpY2UgU3RhdHVzIGVudW1lcmF0aW9uIGFuZCBtZXRhZGF0YVxuICovXG5cbmltcG9ydCB0eXBlIHsgU3RhdHVzTWV0YWRhdGEsIExvY2FsZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZW51bSBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIFBFTkRJTkcgPSAncGVuZGluZycsXG4gIElOX1BST0dSRVNTID0gJ2luX3Byb2dyZXNzJyxcbiAgT05fV0FJVElOR19ST09NID0gJ29uX3dhaXRpbmdfcm9vbScsXG4gIENBTkNFTEVEID0gJ2NhbmNlbGVkJyxcbiAgQ09NUExFVEVEID0gJ2NvbXBsZXRlZCcsXG59XG5cbi8qKlxuICogTWVkaWNhbCBTZXJ2aWNlIFN0YXR1cyBtZXRhZGF0YSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBOiBSZWNvcmQ8TWVkaWNhbFNlcnZpY2VTdGF0dXMsIFN0YXR1c01ldGFkYXRhPiA9IHtcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLlBFTkRJTkddOiB7XG4gICAgaWNvbjogJ3NjaGVkdWxlJyxcbiAgICBjb2xvcjogJyM5RTlFOUUnLCAvLyBHcmF5XG4gICAgbGFiZWw6IHtcbiAgICAgIHNob3J0OiB7XG4gICAgICAgICd1cy1FTic6ICdQZW5kaW5nJyxcbiAgICAgICAgJ2ZyLUZSJzogJ0VuIGF0dGVudGUnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1BlbmRpbmcgU2VydmljZScsXG4gICAgICAgICdmci1GUic6ICdTZXJ2aWNlIGVuIGF0dGVudGUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAndXMtRU4nOiAnVGhlIG1lZGljYWwgc2VydmljZSBpcyBzY2hlZHVsZWQgYW5kIHdhaXRpbmcgdG8gYmVnaW4nLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgZXN0IHBsYW5pZmnDqSBldCBlbiBhdHRlbnRlIGRlIGTDqW1hcnJhZ2UnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT01dOiB7XG4gICAgaWNvbjogJ2V2ZW50X2J1c3knLFxuICAgIGNvbG9yOiAnI0ZGOTgwMCcsIC8vIE9yYW5nZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnV2FpdGluZycsXG4gICAgICAgICdmci1GUic6ICdFbiBhdHRlbnRlJyxcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgICd1cy1FTic6ICdJbiBXYWl0aW5nIFJvb20nLFxuICAgICAgICAnZnItRlInOiBcIkRhbnMgbGEgc2FsbGUgZCdhdHRlbnRlXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdQYXRpZW50IGhhcyBjaGVja2VkIGluIGFuZCBpcyB3YWl0aW5nIGluIHRoZSB3YWl0aW5nIHJvb20nLFxuICAgICAgJ2ZyLUZSJzogXCJMZSBwYXRpZW50IHMnZXN0IGVucmVnaXN0csOpIGV0IGF0dGVuZCBkYW5zIGxhIHNhbGxlIGQnYXR0ZW50ZVwiLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5JTl9QUk9HUkVTU106IHtcbiAgICBpY29uOiAnbWVkaWNhbF9zZXJ2aWNlcycsXG4gICAgY29sb3I6ICcjMjE5NkYzJywgLy8gQmx1ZVxuICAgIGxhYmVsOiB7XG4gICAgICBzaG9ydDoge1xuICAgICAgICAndXMtRU4nOiAnSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnRW4gY291cnMnLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgSW4gUHJvZ3Jlc3MnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBlbiBjb3VycycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGNvbnN1bHRhdGlvbiBpcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MnLFxuICAgICAgJ2ZyLUZSJzogJ0xhIGNvbnN1bHRhdGlvbiBkdSBzZXJ2aWNlIG3DqWRpY2FsIGVzdCBhY3R1ZWxsZW1lbnQgZW4gY291cnMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DT01QTEVURURdOiB7XG4gICAgaWNvbjogJ2NoZWNrX2NpcmNsZScsXG4gICAgY29sb3I6ICcjNENBRjUwJywgLy8gR3JlZW5cbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NvbXBsZXRlZCcsXG4gICAgICAgICdmci1GUic6ICdUZXJtaW7DqScsXG4gICAgICB9LFxuICAgICAgbG9uZzoge1xuICAgICAgICAndXMtRU4nOiAnU2VydmljZSBDb21wbGV0ZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSB0ZXJtaW7DqScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICd1cy1FTic6ICdUaGUgbWVkaWNhbCBzZXJ2aWNlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSB0ZXJtaW7DqSBhdmVjIHN1Y2PDqHMnLFxuICAgIH0sXG4gIH0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IHtcbiAgICBpY29uOiAnY2FuY2VsJyxcbiAgICBjb2xvcjogJyNGNDQzMzYnLCAvLyBSZWRcbiAgICBsYWJlbDoge1xuICAgICAgc2hvcnQ6IHtcbiAgICAgICAgJ3VzLUVOJzogJ0NhbmNlbGVkJyxcbiAgICAgICAgJ2ZyLUZSJzogJ0FubnVsw6knLFxuICAgICAgfSxcbiAgICAgIGxvbmc6IHtcbiAgICAgICAgJ3VzLUVOJzogJ1NlcnZpY2UgQ2FuY2VsZWQnLFxuICAgICAgICAnZnItRlInOiAnU2VydmljZSBhbm51bMOpJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgJ3VzLUVOJzogJ1RoZSBtZWRpY2FsIHNlcnZpY2UgaGFzIGJlZW4gY2FuY2VsZWQgYW5kIHdpbGwgbm90IHByb2NlZWQnLFxuICAgICAgJ2ZyLUZSJzogJ0xlIHNlcnZpY2UgbcOpZGljYWwgYSDDqXTDqSBhbm51bMOpIGV0IG5lIHNlcmEgcGFzIGVmZmVjdHXDqScsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGEoc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IFN0YXR1c01ldGFkYXRhIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXTtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGljb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb24oc3RhdHVzOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvcihzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEFbc3RhdHVzXS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIChzaG9ydCBvciBsb25nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTGFiZWwoXG4gIHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10ubGFiZWxbZm9ybWF0XVtsb2NhbGVdO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uKHN0YXR1czogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyk6IHN0cmluZyB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBW3N0YXR1c10uZGVzY3JpcHRpb25bbG9jYWxlXTtcbn1cblxuLyoqXG4gKiBHZXQgYWxsIGF2YWlsYWJsZSBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsTWVkaWNhbFNlcnZpY2VTdGF0dXNlcygpOiBNZWRpY2FsU2VydmljZVN0YXR1c1tdIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoTWVkaWNhbFNlcnZpY2VTdGF0dXMpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBNZWRpY2FsU2VydmljZVN0YXR1c1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZE1lZGljYWxTZXJ2aWNlU3RhdHVzKHZhbHVlOiBzdHJpbmcpOiB2YWx1ZSBpcyBNZWRpY2FsU2VydmljZVN0YXR1cyB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKE1lZGljYWxTZXJ2aWNlU3RhdHVzKS5pbmNsdWRlcyh2YWx1ZSBhcyBNZWRpY2FsU2VydmljZVN0YXR1cyk7XG59XG5cbi8qKlxuICogU3RhdHVzIHRyYW5zaXRpb24gcnVsZXMgKG9wdGlvbmFsOiBkZWZpbmUgd2hpY2ggdHJhbnNpdGlvbnMgYXJlIGFsbG93ZWQpXG4gKi9cbmV4cG9ydCBjb25zdCBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TOiBSZWNvcmQ8TWVkaWNhbFNlcnZpY2VTdGF0dXMsIE1lZGljYWxTZXJ2aWNlU3RhdHVzW10+ID0ge1xuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElOR106IFtcbiAgICBNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT00sXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gIF0sXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5PTl9XQUlUSU5HX1JPT01dOiBbXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuSU5fUFJPR1JFU1MsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRUQsXG4gICAgTWVkaWNhbFNlcnZpY2VTdGF0dXMuUEVORElORyxcbiAgXSxcbiAgW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLkNPTVBMRVRFRCwgTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ0FOQ0VMRURdLFxuICBbTWVkaWNhbFNlcnZpY2VTdGF0dXMuQ09NUExFVEVEXTogW01lZGljYWxTZXJ2aWNlU3RhdHVzLklOX1BST0dSRVNTXSwgLy8gQWxsb3cgcmVvcGVuaW5nXG4gIFtNZWRpY2FsU2VydmljZVN0YXR1cy5DQU5DRUxFRF06IFtNZWRpY2FsU2VydmljZVN0YXR1cy5QRU5ESU5HXSwgLy8gQWxsb3cgdW5jYW5jZWxpbmdcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdGF0dXMgdHJhbnNpdGlvbiBpcyB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFRyYW5zaXRpb24oZnJvbTogTWVkaWNhbFNlcnZpY2VTdGF0dXMsIHRvOiBNZWRpY2FsU2VydmljZVN0YXR1cyk6IGJvb2xlYW4ge1xuICByZXR1cm4gTUVESUNBTF9TRVJWSUNFX1NUQVRVU19UUkFOU0lUSU9OU1tmcm9tXT8uaW5jbHVkZXModG8pID8/IGZhbHNlO1xufVxuXG4vKipcbiAqIEdldCBhbGxvd2VkIHRyYW5zaXRpb25zIGZyb20gYSBzdGF0dXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbG93ZWRUcmFuc2l0aW9ucyhzdGF0dXM6IE1lZGljYWxTZXJ2aWNlU3RhdHVzKTogTWVkaWNhbFNlcnZpY2VTdGF0dXNbXSB7XG4gIHJldHVybiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX1RSQU5TSVRJT05TW3N0YXR1c10gPz8gW107XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared status types for all status modules
|
|
3
|
+
* Provides common interfaces and types used across status definitions
|
|
4
|
+
*/
|
|
5
|
+
import type { Locale } from '../operations/labels';
|
|
6
|
+
/**
|
|
7
|
+
* Status metadata interface
|
|
8
|
+
* Defines the structure for all status metadata including icons, colors, and translations
|
|
9
|
+
*/
|
|
10
|
+
export interface StatusMetadata {
|
|
11
|
+
icon: string;
|
|
12
|
+
color: string;
|
|
13
|
+
label: {
|
|
14
|
+
short: {
|
|
15
|
+
'us-EN': string;
|
|
16
|
+
'fr-FR': string;
|
|
17
|
+
};
|
|
18
|
+
long: {
|
|
19
|
+
'us-EN': string;
|
|
20
|
+
'fr-FR': string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
description: {
|
|
24
|
+
'us-EN': string;
|
|
25
|
+
'fr-FR': string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generic status configuration type
|
|
30
|
+
* Used to define metadata for any enum-based status
|
|
31
|
+
*/
|
|
32
|
+
export type StatusConfiguration<T extends string | number> = Record<T, StatusMetadata>;
|
|
33
|
+
/**
|
|
34
|
+
* Utility type for locale parameter
|
|
35
|
+
*/
|
|
36
|
+
export type { Locale };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared status types for all status modules
|
|
4
|
+
* Provides common interfaces and types used across status definitions
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNoYXJlZCBzdGF0dXMgdHlwZXMgZm9yIGFsbCBzdGF0dXMgbW9kdWxlc1xuICogUHJvdmlkZXMgY29tbW9uIGludGVyZmFjZXMgYW5kIHR5cGVzIHVzZWQgYWNyb3NzIHN0YXR1cyBkZWZpbml0aW9uc1xuICovXG5cbmltcG9ydCB0eXBlIHsgTG9jYWxlIH0gZnJvbSAnLi4vb3BlcmF0aW9ucy9sYWJlbHMnO1xuXG4vKipcbiAqIFN0YXR1cyBtZXRhZGF0YSBpbnRlcmZhY2VcbiAqIERlZmluZXMgdGhlIHN0cnVjdHVyZSBmb3IgYWxsIHN0YXR1cyBtZXRhZGF0YSBpbmNsdWRpbmcgaWNvbnMsIGNvbG9ycywgYW5kIHRyYW5zbGF0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1c01ldGFkYXRhIHtcbiAgaWNvbjogc3RyaW5nOyAvLyBNYXRlcmlhbCBpY29uIG5hbWVcbiAgY29sb3I6IHN0cmluZzsgLy8gSGV4IGNvbG9yIG9yIENTUyBjb2xvciBuYW1lXG4gIGxhYmVsOiB7XG4gICAgc2hvcnQ6IHtcbiAgICAgICd1cy1FTic6IHN0cmluZztcbiAgICAgICdmci1GUic6IHN0cmluZztcbiAgICB9O1xuICAgIGxvbmc6IHtcbiAgICAgICd1cy1FTic6IHN0cmluZztcbiAgICAgICdmci1GUic6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBkZXNjcmlwdGlvbjoge1xuICAgICd1cy1FTic6IHN0cmluZztcbiAgICAnZnItRlInOiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogR2VuZXJpYyBzdGF0dXMgY29uZmlndXJhdGlvbiB0eXBlXG4gKiBVc2VkIHRvIGRlZmluZSBtZXRhZGF0YSBmb3IgYW55IGVudW0tYmFzZWQgc3RhdHVzXG4gKi9cbmV4cG9ydCB0eXBlIFN0YXR1c0NvbmZpZ3VyYXRpb248VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4gPSBSZWNvcmQ8VCwgU3RhdHVzTWV0YWRhdGE+O1xuXG4vKipcbiAqIFV0aWxpdHkgdHlwZSBmb3IgbG9jYWxlIHBhcmFtZXRlclxuICovXG5leHBvcnQgdHlwZSB7IExvY2FsZSB9O1xuIl19
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status utilities for extracting and querying status metadata
|
|
3
|
+
* Provides common functions to work with status configurations
|
|
4
|
+
*/
|
|
5
|
+
import type { AccountLocationStatus } from './account-location-status';
|
|
6
|
+
import type { MedicalHistoryStatus } from './medical-history-status';
|
|
7
|
+
import type { MedicalServiceStatus } from './medical-service-status';
|
|
8
|
+
import type { StatusMetadata, Locale } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Feature type for status selection
|
|
11
|
+
*/
|
|
12
|
+
export type StatusFeature = 'medicalService' | 'accountLocation' | 'medicalHistory';
|
|
13
|
+
/**
|
|
14
|
+
* Status type mapping for each feature
|
|
15
|
+
*/
|
|
16
|
+
export type StatusTypeMap = {
|
|
17
|
+
medicalService: MedicalServiceStatus;
|
|
18
|
+
accountLocation: AccountLocationStatus;
|
|
19
|
+
medicalHistory: MedicalHistoryStatus;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Get status metadata for a specific feature and status
|
|
23
|
+
* @param feature - The feature name (e.g., 'medicalService', 'accountLocation')
|
|
24
|
+
* @param status - The status value
|
|
25
|
+
* @returns The complete StatusMetadata for the given feature and status
|
|
26
|
+
* @throws Error if feature or status is not found
|
|
27
|
+
*/
|
|
28
|
+
export declare function getStatusMetadataForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T]): StatusMetadata;
|
|
29
|
+
/**
|
|
30
|
+
* Get status icon for a specific feature and status
|
|
31
|
+
* @param feature - The feature name
|
|
32
|
+
* @param status - The status value
|
|
33
|
+
* @returns The Material icon name
|
|
34
|
+
*/
|
|
35
|
+
export declare function getStatusIconForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T]): string;
|
|
36
|
+
/**
|
|
37
|
+
* Get status color for a specific feature and status
|
|
38
|
+
* @param feature - The feature name
|
|
39
|
+
* @param status - The status value
|
|
40
|
+
* @returns The hex color code
|
|
41
|
+
*/
|
|
42
|
+
export declare function getStatusColorForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T]): string;
|
|
43
|
+
/**
|
|
44
|
+
* Get status label for a specific feature and status
|
|
45
|
+
* @param feature - The feature name
|
|
46
|
+
* @param status - The status value
|
|
47
|
+
* @param locale - The language locale (default: 'us-EN')
|
|
48
|
+
* @param format - Label format: 'short' or 'long' (default: 'short')
|
|
49
|
+
* @returns The translated label
|
|
50
|
+
*/
|
|
51
|
+
export declare function getStatusLabelForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T], locale?: Locale, format?: 'short' | 'long'): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get status description for a specific feature and status
|
|
54
|
+
* @param feature - The feature name
|
|
55
|
+
* @param status - The status value
|
|
56
|
+
* @param locale - The language locale (default: 'us-EN')
|
|
57
|
+
* @returns The translated description
|
|
58
|
+
*/
|
|
59
|
+
export declare function getStatusDescriptionForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T], locale?: Locale): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get all metadata for a specific feature
|
|
62
|
+
* @param feature - The feature name
|
|
63
|
+
* @returns Record of all statuses and their metadata for the feature
|
|
64
|
+
*/
|
|
65
|
+
export declare function getAllStatusMetadataForFeature<T extends StatusFeature>(feature: T): Record<StatusTypeMap[T], StatusMetadata>;
|
|
66
|
+
/**
|
|
67
|
+
* Get all statuses for a specific feature
|
|
68
|
+
* @param feature - The feature name
|
|
69
|
+
* @returns Array of all status values for the feature
|
|
70
|
+
*/
|
|
71
|
+
export declare function getAllStatusesForFeature<T extends StatusFeature>(feature: T): StatusTypeMap[T][];
|
|
72
|
+
/**
|
|
73
|
+
* Filter statuses by criteria
|
|
74
|
+
* @param feature - The feature name
|
|
75
|
+
* @param predicate - Function to test each status metadata
|
|
76
|
+
* @returns Array of statuses that match the predicate
|
|
77
|
+
*/
|
|
78
|
+
export declare function filterStatusesByFeature<T extends StatusFeature>(feature: T, predicate: (metadata: StatusMetadata, status: StatusTypeMap[T]) => boolean): StatusTypeMap[T][];
|
|
79
|
+
/**
|
|
80
|
+
* Map statuses to a specific value using a transform function
|
|
81
|
+
* @param feature - The feature name
|
|
82
|
+
* @param transform - Function to transform each status metadata
|
|
83
|
+
* @returns Record of statuses mapped to the transformed values
|
|
84
|
+
*/
|
|
85
|
+
export declare function mapStatusesByFeature<T extends StatusFeature, U>(feature: T, transform: (metadata: StatusMetadata, status: StatusTypeMap[T]) => U): Record<StatusTypeMap[T], U>;
|
|
86
|
+
/**
|
|
87
|
+
* Get status metadata with computed properties
|
|
88
|
+
* @param feature - The feature name
|
|
89
|
+
* @param status - The status value
|
|
90
|
+
* @param locale - The language locale
|
|
91
|
+
* @returns Extended metadata with computed labels and description
|
|
92
|
+
*/
|
|
93
|
+
export interface ExtendedStatusMetadata extends Omit<StatusMetadata, 'description'> {
|
|
94
|
+
shortLabel: string;
|
|
95
|
+
longLabel: string;
|
|
96
|
+
description: string;
|
|
97
|
+
}
|
|
98
|
+
export declare function getExtendedStatusMetadataForFeature<T extends StatusFeature>(feature: T, status: StatusTypeMap[T], locale?: Locale): ExtendedStatusMetadata;
|
|
99
|
+
/**
|
|
100
|
+
* Search statuses by label
|
|
101
|
+
* @param feature - The feature name
|
|
102
|
+
* @param searchTerm - The search term (case-insensitive)
|
|
103
|
+
* @param locale - The language locale
|
|
104
|
+
* @returns Array of statuses matching the search term
|
|
105
|
+
*/
|
|
106
|
+
export declare function searchStatusesByFeature<T extends StatusFeature>(feature: T, searchTerm: string, locale?: Locale): StatusTypeMap[T][];
|
|
107
|
+
/**
|
|
108
|
+
* Get status metadata grouped by color
|
|
109
|
+
* @param feature - The feature name
|
|
110
|
+
* @returns Record of colors mapped to arrays of statuses
|
|
111
|
+
*/
|
|
112
|
+
export declare function groupStatusesByColorForFeature<T extends StatusFeature>(feature: T): Record<string, StatusTypeMap[T][]>;
|
|
113
|
+
/**
|
|
114
|
+
* Get status metadata grouped by icon
|
|
115
|
+
* @param feature - The feature name
|
|
116
|
+
* @returns Record of icons mapped to arrays of statuses
|
|
117
|
+
*/
|
|
118
|
+
export declare function groupStatusesByIconForFeature<T extends StatusFeature>(feature: T): Record<string, StatusTypeMap[T][]>;
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Status utilities for extracting and querying status metadata
|
|
4
|
+
* Provides common functions to work with status configurations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getStatusMetadataForFeature = getStatusMetadataForFeature;
|
|
8
|
+
exports.getStatusIconForFeature = getStatusIconForFeature;
|
|
9
|
+
exports.getStatusColorForFeature = getStatusColorForFeature;
|
|
10
|
+
exports.getStatusLabelForFeature = getStatusLabelForFeature;
|
|
11
|
+
exports.getStatusDescriptionForFeature = getStatusDescriptionForFeature;
|
|
12
|
+
exports.getAllStatusMetadataForFeature = getAllStatusMetadataForFeature;
|
|
13
|
+
exports.getAllStatusesForFeature = getAllStatusesForFeature;
|
|
14
|
+
exports.filterStatusesByFeature = filterStatusesByFeature;
|
|
15
|
+
exports.mapStatusesByFeature = mapStatusesByFeature;
|
|
16
|
+
exports.getExtendedStatusMetadataForFeature = getExtendedStatusMetadataForFeature;
|
|
17
|
+
exports.searchStatusesByFeature = searchStatusesByFeature;
|
|
18
|
+
exports.groupStatusesByColorForFeature = groupStatusesByColorForFeature;
|
|
19
|
+
exports.groupStatusesByIconForFeature = groupStatusesByIconForFeature;
|
|
20
|
+
const account_location_status_1 = require("./account-location-status");
|
|
21
|
+
const medical_history_status_1 = require("./medical-history-status");
|
|
22
|
+
const medical_service_status_1 = require("./medical-service-status");
|
|
23
|
+
/**
|
|
24
|
+
* Metadata registry mapping features to their status configurations
|
|
25
|
+
*/
|
|
26
|
+
const METADATA_REGISTRY = {
|
|
27
|
+
medicalService: medical_service_status_1.MEDICAL_SERVICE_STATUS_METADATA,
|
|
28
|
+
accountLocation: account_location_status_1.ACCOUNT_LOCATION_STATUS_METADATA,
|
|
29
|
+
medicalHistory: medical_history_status_1.MEDICAL_HISTORY_STATUS_METADATA,
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Get status metadata for a specific feature and status
|
|
33
|
+
* @param feature - The feature name (e.g., 'medicalService', 'accountLocation')
|
|
34
|
+
* @param status - The status value
|
|
35
|
+
* @returns The complete StatusMetadata for the given feature and status
|
|
36
|
+
* @throws Error if feature or status is not found
|
|
37
|
+
*/
|
|
38
|
+
function getStatusMetadataForFeature(feature, status) {
|
|
39
|
+
const registry = METADATA_REGISTRY[feature];
|
|
40
|
+
if (!registry) {
|
|
41
|
+
throw new Error(`Unknown status feature: ${feature}`);
|
|
42
|
+
}
|
|
43
|
+
const metadata = registry[status];
|
|
44
|
+
if (!metadata) {
|
|
45
|
+
throw new Error(`Unknown status for feature ${feature}: ${status}`);
|
|
46
|
+
}
|
|
47
|
+
return metadata;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get status icon for a specific feature and status
|
|
51
|
+
* @param feature - The feature name
|
|
52
|
+
* @param status - The status value
|
|
53
|
+
* @returns The Material icon name
|
|
54
|
+
*/
|
|
55
|
+
function getStatusIconForFeature(feature, status) {
|
|
56
|
+
return getStatusMetadataForFeature(feature, status).icon;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get status color for a specific feature and status
|
|
60
|
+
* @param feature - The feature name
|
|
61
|
+
* @param status - The status value
|
|
62
|
+
* @returns The hex color code
|
|
63
|
+
*/
|
|
64
|
+
function getStatusColorForFeature(feature, status) {
|
|
65
|
+
return getStatusMetadataForFeature(feature, status).color;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get status label for a specific feature and status
|
|
69
|
+
* @param feature - The feature name
|
|
70
|
+
* @param status - The status value
|
|
71
|
+
* @param locale - The language locale (default: 'us-EN')
|
|
72
|
+
* @param format - Label format: 'short' or 'long' (default: 'short')
|
|
73
|
+
* @returns The translated label
|
|
74
|
+
*/
|
|
75
|
+
function getStatusLabelForFeature(feature, status, locale = 'us-EN', format = 'short') {
|
|
76
|
+
const metadata = getStatusMetadataForFeature(feature, status);
|
|
77
|
+
return metadata.label[format][locale];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get status description for a specific feature and status
|
|
81
|
+
* @param feature - The feature name
|
|
82
|
+
* @param status - The status value
|
|
83
|
+
* @param locale - The language locale (default: 'us-EN')
|
|
84
|
+
* @returns The translated description
|
|
85
|
+
*/
|
|
86
|
+
function getStatusDescriptionForFeature(feature, status, locale = 'us-EN') {
|
|
87
|
+
return getStatusMetadataForFeature(feature, status).description[locale];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get all metadata for a specific feature
|
|
91
|
+
* @param feature - The feature name
|
|
92
|
+
* @returns Record of all statuses and their metadata for the feature
|
|
93
|
+
*/
|
|
94
|
+
function getAllStatusMetadataForFeature(feature) {
|
|
95
|
+
const registry = METADATA_REGISTRY[feature];
|
|
96
|
+
if (!registry) {
|
|
97
|
+
throw new Error(`Unknown status feature: ${feature}`);
|
|
98
|
+
}
|
|
99
|
+
return registry;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get all statuses for a specific feature
|
|
103
|
+
* @param feature - The feature name
|
|
104
|
+
* @returns Array of all status values for the feature
|
|
105
|
+
*/
|
|
106
|
+
function getAllStatusesForFeature(feature) {
|
|
107
|
+
const metadata = getAllStatusMetadataForFeature(feature);
|
|
108
|
+
return Object.keys(metadata);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Filter statuses by criteria
|
|
112
|
+
* @param feature - The feature name
|
|
113
|
+
* @param predicate - Function to test each status metadata
|
|
114
|
+
* @returns Array of statuses that match the predicate
|
|
115
|
+
*/
|
|
116
|
+
function filterStatusesByFeature(feature, predicate) {
|
|
117
|
+
const metadata = getAllStatusMetadataForFeature(feature);
|
|
118
|
+
return Object.entries(metadata)
|
|
119
|
+
.filter(([status, meta]) => predicate(meta, status))
|
|
120
|
+
.map(([status]) => status);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Map statuses to a specific value using a transform function
|
|
124
|
+
* @param feature - The feature name
|
|
125
|
+
* @param transform - Function to transform each status metadata
|
|
126
|
+
* @returns Record of statuses mapped to the transformed values
|
|
127
|
+
*/
|
|
128
|
+
function mapStatusesByFeature(feature, transform) {
|
|
129
|
+
const metadata = getAllStatusMetadataForFeature(feature);
|
|
130
|
+
const result = {};
|
|
131
|
+
Object.entries(metadata).forEach(([status, meta]) => {
|
|
132
|
+
result[status] = transform(meta, status);
|
|
133
|
+
});
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
function getExtendedStatusMetadataForFeature(feature, status, locale = 'us-EN') {
|
|
137
|
+
const metadata = getStatusMetadataForFeature(feature, status);
|
|
138
|
+
return {
|
|
139
|
+
icon: metadata.icon,
|
|
140
|
+
color: metadata.color,
|
|
141
|
+
label: metadata.label,
|
|
142
|
+
shortLabel: metadata.label.short[locale],
|
|
143
|
+
longLabel: metadata.label.long[locale],
|
|
144
|
+
description: metadata.description[locale],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Search statuses by label
|
|
149
|
+
* @param feature - The feature name
|
|
150
|
+
* @param searchTerm - The search term (case-insensitive)
|
|
151
|
+
* @param locale - The language locale
|
|
152
|
+
* @returns Array of statuses matching the search term
|
|
153
|
+
*/
|
|
154
|
+
function searchStatusesByFeature(feature, searchTerm, locale = 'us-EN') {
|
|
155
|
+
const lowerSearch = searchTerm.toLowerCase();
|
|
156
|
+
return filterStatusesByFeature(feature, (metadata) => {
|
|
157
|
+
const shortLabel = metadata.label.short[locale].toLowerCase();
|
|
158
|
+
const longLabel = metadata.label.long[locale].toLowerCase();
|
|
159
|
+
const description = metadata.description[locale].toLowerCase();
|
|
160
|
+
return shortLabel.includes(lowerSearch) || longLabel.includes(lowerSearch) || description.includes(lowerSearch);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Get status metadata grouped by color
|
|
165
|
+
* @param feature - The feature name
|
|
166
|
+
* @returns Record of colors mapped to arrays of statuses
|
|
167
|
+
*/
|
|
168
|
+
function groupStatusesByColorForFeature(feature) {
|
|
169
|
+
const metadata = getAllStatusMetadataForFeature(feature);
|
|
170
|
+
const grouped = {};
|
|
171
|
+
Object.entries(metadata).forEach(([status, meta]) => {
|
|
172
|
+
const metaTyped = meta;
|
|
173
|
+
if (!grouped[metaTyped.color]) {
|
|
174
|
+
grouped[metaTyped.color] = [];
|
|
175
|
+
}
|
|
176
|
+
grouped[metaTyped.color].push(status);
|
|
177
|
+
});
|
|
178
|
+
return grouped;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Get status metadata grouped by icon
|
|
182
|
+
* @param feature - The feature name
|
|
183
|
+
* @returns Record of icons mapped to arrays of statuses
|
|
184
|
+
*/
|
|
185
|
+
function groupStatusesByIconForFeature(feature) {
|
|
186
|
+
const metadata = getAllStatusMetadataForFeature(feature);
|
|
187
|
+
const grouped = {};
|
|
188
|
+
Object.entries(metadata).forEach(([status, meta]) => {
|
|
189
|
+
const metaTyped = meta;
|
|
190
|
+
if (!grouped[metaTyped.icon]) {
|
|
191
|
+
grouped[metaTyped.icon] = [];
|
|
192
|
+
}
|
|
193
|
+
grouped[metaTyped.icon].push(status);
|
|
194
|
+
});
|
|
195
|
+
return grouped;
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdHVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7O0FBd0NILGtFQWVDO0FBUUQsMERBRUM7QUFRRCw0REFFQztBQVVELDREQVFDO0FBU0Qsd0VBTUM7QUFPRCx3RUFRQztBQU9ELDREQUdDO0FBUUQsMERBUUM7QUFRRCxvREFZQztBQWVELGtGQWVDO0FBU0QsMERBY0M7QUFPRCx3RUFlQztBQU9ELHNFQWFDO0FBbFFELHVFQUE2RTtBQUM3RSxxRUFBMkU7QUFDM0UscUVBQTJFO0FBZ0IzRTs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQW1FO0lBQ3hGLGNBQWMsRUFBRSx3REFBK0I7SUFDL0MsZUFBZSxFQUFFLDBEQUFnQztJQUNqRCxjQUFjLEVBQUUsd0RBQStCO0NBQ2hELENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxTQUFnQiwyQkFBMkIsQ0FDekMsT0FBVSxFQUNWLE1BQXdCO0lBRXhCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixPQUFPLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQTBCLE9BQVUsRUFBRSxNQUF3QjtJQUNuRyxPQUFPLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FB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RUFBRSxFQUFFO1FBQ2xELE1BQU0sU0FBUyxHQUFHLElBQXNCLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBMEIsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBMEIsT0FBVTtJQUMvRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBdUMsRUFBRSxDQUFDO0lBRXZELE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLFNBQVMsR0FBRyxJQUFzQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQTBCLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0YXR1cyB1dGlsaXRpZXMgZm9yIGV4dHJhY3RpbmcgYW5kIHF1ZXJ5aW5nIHN0YXR1cyBtZXRhZGF0YVxuICogUHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9ucyB0byB3b3JrIHdpdGggc3RhdHVzIGNvbmZpZ3VyYXRpb25zXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBY2NvdW50TG9jYXRpb25TdGF0dXMgfSBmcm9tICcuL2FjY291bnQtbG9jYXRpb24tc3RhdHVzJztcbmltcG9ydCB0eXBlIHsgTWVkaWNhbEhpc3RvcnlTdGF0dXMgfSBmcm9tICcuL21lZGljYWwtaGlzdG9yeS1zdGF0dXMnO1xuaW1wb3J0IHR5cGUgeyBNZWRpY2FsU2VydmljZVN0YXR1cyB9IGZyb20gJy4vbWVkaWNhbC1zZXJ2aWNlLXN0YXR1cyc7XG5pbXBvcnQgdHlwZSB7IFN0YXR1c01ldGFkYXRhLCBMb2NhbGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9hY2NvdW50LWxvY2F0aW9uLXN0YXR1cyc7XG5pbXBvcnQgeyBNRURJQ0FMX0hJU1RPUllfU1RBVFVTX01FVEFEQVRBIH0gZnJvbSAnLi9tZWRpY2FsLWhpc3Rvcnktc3RhdHVzJztcbmltcG9ydCB7IE1FRElDQUxfU0VSVklDRV9TVEFUVVNfTUVUQURBVEEgfSBmcm9tICcuL21lZGljYWwtc2VydmljZS1zdGF0dXMnO1xuXG4vKipcbiAqIEZlYXR1cmUgdHlwZSBmb3Igc3RhdHVzIHNlbGVjdGlvblxuICovXG5leHBvcnQgdHlwZSBTdGF0dXNGZWF0dXJlID0gJ21lZGljYWxTZXJ2aWNlJyB8ICdhY2NvdW50TG9jYXRpb24nIHwgJ21lZGljYWxIaXN0b3J5JztcblxuLyoqXG4gKiBTdGF0dXMgdHlwZSBtYXBwaW5nIGZvciBlYWNoIGZlYXR1cmVcbiAqL1xuZXhwb3J0IHR5cGUgU3RhdHVzVHlwZU1hcCA9IHtcbiAgbWVkaWNhbFNlcnZpY2U6IE1lZGljYWxTZXJ2aWNlU3RhdHVzO1xuICBhY2NvdW50TG9jYXRpb246IEFjY291bnRMb2NhdGlvblN0YXR1cztcbiAgbWVkaWNhbEhpc3Rvcnk6IE1lZGljYWxIaXN0b3J5U3RhdHVzO1xufTtcblxuLyoqXG4gKiBNZXRhZGF0YSByZWdpc3RyeSBtYXBwaW5nIGZlYXR1cmVzIHRvIHRoZWlyIHN0YXR1cyBjb25maWd1cmF0aW9uc1xuICovXG5jb25zdCBNRVRBREFUQV9SRUdJU1RSWTogUmVjb3JkPFN0YXR1c0ZlYXR1cmUsIFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFN0YXR1c01ldGFkYXRhPj4gPSB7XG4gIG1lZGljYWxTZXJ2aWNlOiBNRURJQ0FMX1NFUlZJQ0VfU1RBVFVTX01FVEFEQVRBLFxuICBhY2NvdW50TG9jYXRpb246IEFDQ09VTlRfTE9DQVRJT05fU1RBVFVTX01FVEFEQVRBLFxuICBtZWRpY2FsSGlzdG9yeTogTUVESUNBTF9ISVNUT1JZX1NUQVRVU19NRVRBREFUQSxcbn07XG5cbi8qKlxuICogR2V0IHN0YXR1cyBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZSAoZS5nLiwgJ21lZGljYWxTZXJ2aWNlJywgJ2FjY291bnRMb2NhdGlvbicpXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGNvbXBsZXRlIFN0YXR1c01ldGFkYXRhIGZvciB0aGUgZ2l2ZW4gZmVhdHVyZSBhbmQgc3RhdHVzXG4gKiBAdGhyb3dzIEVycm9yIGlmIGZlYXR1cmUgb3Igc3RhdHVzIGlzIG5vdCBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbiAgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdLFxuKTogU3RhdHVzTWV0YWRhdGEge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cblxuICBjb25zdCBtZXRhZGF0YSA9IHJlZ2lzdHJ5W3N0YXR1c107XG4gIGlmICghbWV0YWRhdGEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc3RhdHVzIGZvciBmZWF0dXJlICR7ZmVhdHVyZX06ICR7c3RhdHVzfWApO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgaWNvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEByZXR1cm5zIFRoZSBNYXRlcmlhbCBpY29uIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0ljb25Gb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBULCBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0pOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cykuaWNvbjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGNvbG9yIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHJldHVybnMgVGhlIGhleCBjb2xvciBjb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNDb2xvckZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSwgc3RhdHVzKS5jb2xvcjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIGxhYmVsIGZvciBhIHNwZWNpZmljIGZlYXR1cmUgYW5kIHN0YXR1c1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGUgKGRlZmF1bHQ6ICd1cy1FTicpXG4gKiBAcGFyYW0gZm9ybWF0IC0gTGFiZWwgZm9ybWF0OiAnc2hvcnQnIG9yICdsb25nJyAoZGVmYXVsdDogJ3Nob3J0JylcbiAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGVkIGxhYmVsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0dXNMYWJlbEZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KFxuICBmZWF0dXJlOiBULFxuICBzdGF0dXM6IFN0YXR1c1R5cGVNYXBbVF0sXG4gIGxvY2FsZTogTG9jYWxlID0gJ3VzLUVOJyxcbiAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ3Nob3J0Jyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG4gIHJldHVybiBtZXRhZGF0YS5sYWJlbFtmb3JtYXRdW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IHN0YXR1cyBkZXNjcmlwdGlvbiBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlIGFuZCBzdGF0dXNcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBzdGF0dXMgdmFsdWVcbiAqIEBwYXJhbSBsb2NhbGUgLSBUaGUgbGFuZ3VhZ2UgbG9jYWxlIChkZWZhdWx0OiAndXMtRU4nKVxuICogQHJldHVybnMgVGhlIHRyYW5zbGF0ZWQgZGVzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1c0Rlc2NyaXB0aW9uRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZShmZWF0dXJlLCBzdGF0dXMpLmRlc2NyaXB0aW9uW2xvY2FsZV07XG59XG5cbi8qKlxuICogR2V0IGFsbCBtZXRhZGF0YSBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBhbGwgc3RhdHVzZXMgYW5kIHRoZWlyIG1ldGFkYXRhIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihcbiAgZmVhdHVyZTogVCxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT4ge1xuICBjb25zdCByZWdpc3RyeSA9IE1FVEFEQVRBX1JFR0lTVFJZW2ZlYXR1cmVdO1xuICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHN0YXR1cyBmZWF0dXJlOiAke2ZlYXR1cmV9YCk7XG4gIH1cbiAgcmV0dXJuIHJlZ2lzdHJ5IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBTdGF0dXNNZXRhZGF0YT47XG59XG5cbi8qKlxuICogR2V0IGFsbCBzdGF0dXNlcyBmb3IgYSBzcGVjaWZpYyBmZWF0dXJlXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEByZXR1cm5zIEFycmF5IG9mIGFsbCBzdGF0dXMgdmFsdWVzIGZvciB0aGUgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsU3RhdHVzZXNGb3JGZWF0dXJlPFQgZXh0ZW5kcyBTdGF0dXNGZWF0dXJlPihmZWF0dXJlOiBUKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3Qua2V5cyhtZXRhZGF0YSkgYXMgU3RhdHVzVHlwZU1hcFtUXVtdO1xufVxuXG4vKipcbiAqIEZpbHRlciBzdGF0dXNlcyBieSBjcml0ZXJpYVxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gcHJlZGljYXRlIC0gRnVuY3Rpb24gdG8gdGVzdCBlYWNoIHN0YXR1cyBtZXRhZGF0YVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgdGhhdCBtYXRjaCB0aGUgcHJlZGljYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHByZWRpY2F0ZTogKG1ldGFkYXRhOiBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzOiBTdGF0dXNUeXBlTWFwW1RdKSA9PiBib29sZWFuLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhtZXRhZGF0YSlcbiAgICAuZmlsdGVyKChbc3RhdHVzLCBtZXRhXSkgPT4gcHJlZGljYXRlKG1ldGEgYXMgU3RhdHVzTWV0YWRhdGEsIHN0YXR1cyBhcyBTdGF0dXNUeXBlTWFwW1RdKSlcbiAgICAubWFwKChbc3RhdHVzXSkgPT4gc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xufVxuXG4vKipcbiAqIE1hcCBzdGF0dXNlcyB0byBhIHNwZWNpZmljIHZhbHVlIHVzaW5nIGEgdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBAcGFyYW0gZmVhdHVyZSAtIFRoZSBmZWF0dXJlIG5hbWVcbiAqIEBwYXJhbSB0cmFuc2Zvcm0gLSBGdW5jdGlvbiB0byB0cmFuc2Zvcm0gZWFjaCBzdGF0dXMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIFJlY29yZCBvZiBzdGF0dXNlcyBtYXBwZWQgdG8gdGhlIHRyYW5zZm9ybWVkIHZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWFwU3RhdHVzZXNCeUZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmUsIFU+KFxuICBmZWF0dXJlOiBULFxuICB0cmFuc2Zvcm06IChtZXRhZGF0YTogU3RhdHVzTWV0YWRhdGEsIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSkgPT4gVSxcbik6IFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0QWxsU3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUpO1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFU+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMobWV0YWRhdGEpLmZvckVhY2goKFtzdGF0dXMsIG1ldGFdKSA9PiB7XG4gICAgcmVzdWx0W3N0YXR1c10gPSB0cmFuc2Zvcm0obWV0YSBhcyBTdGF0dXNNZXRhZGF0YSwgc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0IGFzIFJlY29yZDxTdGF0dXNUeXBlTWFwW1RdLCBVPjtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgcHJvcGVydGllc1xuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHN0YXR1cyB2YWx1ZVxuICogQHBhcmFtIGxvY2FsZSAtIFRoZSBsYW5ndWFnZSBsb2NhbGVcbiAqIEByZXR1cm5zIEV4dGVuZGVkIG1ldGFkYXRhIHdpdGggY29tcHV0ZWQgbGFiZWxzIGFuZCBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkU3RhdHVzTWV0YWRhdGEgZXh0ZW5kcyBPbWl0PFN0YXR1c01ldGFkYXRhLCAnZGVzY3JpcHRpb24nPiB7XG4gIHNob3J0TGFiZWw6IHN0cmluZztcbiAgbG9uZ0xhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHRlbmRlZFN0YXR1c01ldGFkYXRhRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHN0YXR1czogU3RhdHVzVHlwZU1hcFtUXSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogRXh0ZW5kZWRTdGF0dXNNZXRhZGF0YSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ2V0U3RhdHVzTWV0YWRhdGFGb3JGZWF0dXJlKGZlYXR1cmUsIHN0YXR1cyk7XG5cbiAgcmV0dXJuIHtcbiAgICBpY29uOiBtZXRhZGF0YS5pY29uLFxuICAgIGNvbG9yOiBtZXRhZGF0YS5jb2xvcixcbiAgICBsYWJlbDogbWV0YWRhdGEubGFiZWwsXG4gICAgc2hvcnRMYWJlbDogbWV0YWRhdGEubGFiZWwuc2hvcnRbbG9jYWxlXSxcbiAgICBsb25nTGFiZWw6IG1ldGFkYXRhLmxhYmVsLmxvbmdbbG9jYWxlXSxcbiAgICBkZXNjcmlwdGlvbjogbWV0YWRhdGEuZGVzY3JpcHRpb25bbG9jYWxlXSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZWFyY2ggc3RhdHVzZXMgYnkgbGFiZWxcbiAqIEBwYXJhbSBmZWF0dXJlIC0gVGhlIGZlYXR1cmUgbmFtZVxuICogQHBhcmFtIHNlYXJjaFRlcm0gLSBUaGUgc2VhcmNoIHRlcm0gKGNhc2UtaW5zZW5zaXRpdmUpXG4gKiBAcGFyYW0gbG9jYWxlIC0gVGhlIGxhbmd1YWdlIGxvY2FsZVxuICogQHJldHVybnMgQXJyYXkgb2Ygc3RhdHVzZXMgbWF0Y2hpbmcgdGhlIHNlYXJjaCB0ZXJtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hTdGF0dXNlc0J5RmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4gIHNlYXJjaFRlcm06IHN0cmluZyxcbiAgbG9jYWxlOiBMb2NhbGUgPSAndXMtRU4nLFxuKTogU3RhdHVzVHlwZU1hcFtUXVtdIHtcbiAgY29uc3QgbG93ZXJTZWFyY2ggPSBzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XG5cbiAgcmV0dXJuIGZpbHRlclN0YXR1c2VzQnlGZWF0dXJlKGZlYXR1cmUsIChtZXRhZGF0YSkgPT4ge1xuICAgIGNvbnN0IHNob3J0TGFiZWwgPSBtZXRhZGF0YS5sYWJlbC5zaG9ydFtsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbG9uZ0xhYmVsID0gbWV0YWRhdGEubGFiZWwubG9uZ1tsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBtZXRhZGF0YS5kZXNjcmlwdGlvbltsb2NhbGVdLnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gc2hvcnRMYWJlbC5pbmNsdWRlcyhsb3dlclNlYXJjaCkgfHwgbG9uZ0xhYmVsLmluY2x1ZGVzKGxvd2VyU2VhcmNoKSB8fCBkZXNjcmlwdGlvbi5pbmNsdWRlcyhsb3dlclNlYXJjaCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBzdGF0dXMgbWV0YWRhdGEgZ3JvdXBlZCBieSBjb2xvclxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgY29sb3JzIG1hcHBlZCB0byBhcnJheXMgb2Ygc3RhdHVzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwU3RhdHVzZXNCeUNvbG9yRm9yRmVhdHVyZTxUIGV4dGVuZHMgU3RhdHVzRmVhdHVyZT4oXG4gIGZlYXR1cmU6IFQsXG4pOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdKSB7XG4gICAgICBncm91cGVkW21ldGFUeXBlZC5jb2xvcl0gPSBbXTtcbiAgICB9XG4gICAgZ3JvdXBlZFttZXRhVHlwZWQuY29sb3JdLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cblxuLyoqXG4gKiBHZXQgc3RhdHVzIG1ldGFkYXRhIGdyb3VwZWQgYnkgaWNvblxuICogQHBhcmFtIGZlYXR1cmUgLSBUaGUgZmVhdHVyZSBuYW1lXG4gKiBAcmV0dXJucyBSZWNvcmQgb2YgaWNvbnMgbWFwcGVkIHRvIGFycmF5cyBvZiBzdGF0dXNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBTdGF0dXNlc0J5SWNvbkZvckZlYXR1cmU8VCBleHRlbmRzIFN0YXR1c0ZlYXR1cmU+KGZlYXR1cmU6IFQpOiBSZWNvcmQ8c3RyaW5nLCBTdGF0dXNUeXBlTWFwW1RdW10+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSBnZXRBbGxTdGF0dXNNZXRhZGF0YUZvckZlYXR1cmUoZmVhdHVyZSk7XG4gIGNvbnN0IGdyb3VwZWQ6IFJlY29yZDxzdHJpbmcsIFN0YXR1c1R5cGVNYXBbVF1bXT4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkuZm9yRWFjaCgoW3N0YXR1cywgbWV0YV0pID0+IHtcbiAgICBjb25zdCBtZXRhVHlwZWQgPSBtZXRhIGFzIFN0YXR1c01ldGFkYXRhO1xuICAgIGlmICghZ3JvdXBlZFttZXRhVHlwZWQuaWNvbl0pIHtcbiAgICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dID0gW107XG4gICAgfVxuICAgIGdyb3VwZWRbbWV0YVR5cGVkLmljb25dLnB1c2goc3RhdHVzIGFzIFN0YXR1c1R5cGVNYXBbVF0pO1xuICB9KTtcblxuICByZXR1cm4gZ3JvdXBlZDtcbn1cbiJdfQ==
|