@yangsaiyam/helper 1.11.2 → 1.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addressess/index.d.ts +137 -0
- package/dist/addressess/index.js +24 -0
- package/dist/addressess/index.test.d.ts +1 -0
- package/dist/addressess/index.test.js +16 -0
- package/dist/assessment-question/index.d.ts +19 -0
- package/dist/assessment-question/index.js +22 -0
- package/dist/assessment-question/index.test.d.ts +1 -0
- package/dist/assessment-question/index.test.js +27 -0
- package/dist/career/index.d.ts +132 -0
- package/dist/career/index.js +40 -0
- package/dist/contact-form/index.d.ts +13 -0
- package/dist/contact-form/index.js +13 -0
- package/dist/email-template/index.d.ts +13 -0
- package/dist/email-template/index.js +5 -0
- package/dist/files/index.d.ts +18 -0
- package/dist/files/index.js +8 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +16 -0
- package/dist/job-applications/index.d.ts +33 -0
- package/dist/job-applications/index.js +10 -0
- package/dist/locale/index.d.ts +9 -0
- package/dist/locale/index.js +4 -0
- package/dist/roles/index.d.ts +61 -0
- package/dist/roles/index.js +170 -0
- package/dist/roles/index.test.d.ts +1 -0
- package/dist/roles/index.test.js +80 -0
- package/dist/routes/index.d.ts +80 -0
- package/dist/routes/index.js +106 -0
- package/dist/routes/index.test.d.ts +1 -0
- package/dist/routes/index.test.js +92 -0
- package/dist/shared/helpers.d.ts +5 -0
- package/dist/shared/helpers.js +15 -0
- package/dist/shared/types.d.ts +5 -0
- package/dist/shared/types.js +1 -0
- package/dist/src/addressess/index.d.ts +137 -0
- package/dist/src/addressess/index.js +24 -0
- package/dist/src/addressess/index.test.d.ts +1 -0
- package/dist/src/addressess/index.test.js +16 -0
- package/dist/src/assessment-question/index.d.ts +19 -0
- package/dist/src/assessment-question/index.js +22 -0
- package/dist/src/assessment-question/index.test.d.ts +1 -0
- package/dist/src/assessment-question/index.test.js +27 -0
- package/dist/src/career/index.d.ts +132 -0
- package/dist/src/career/index.js +40 -0
- package/dist/src/contact-form/index.d.ts +13 -0
- package/dist/src/contact-form/index.js +13 -0
- package/dist/src/email-template/index.d.ts +13 -0
- package/dist/src/email-template/index.js +5 -0
- package/dist/src/files/index.d.ts +18 -0
- package/dist/src/files/index.js +8 -0
- package/dist/src/index.d.ts +16 -0
- package/dist/src/index.js +16 -0
- package/dist/src/job-applications/index.d.ts +33 -0
- package/dist/src/job-applications/index.js +10 -0
- package/dist/src/locale/index.d.ts +9 -0
- package/dist/src/locale/index.js +4 -0
- package/dist/src/roles/index.d.ts +61 -0
- package/dist/src/roles/index.js +170 -0
- package/dist/src/roles/index.test.d.ts +1 -0
- package/dist/src/roles/index.test.js +80 -0
- package/dist/src/routes/index.d.ts +80 -0
- package/dist/src/routes/index.js +106 -0
- package/dist/src/routes/index.test.d.ts +1 -0
- package/dist/src/routes/index.test.js +92 -0
- package/dist/src/shared/helpers.d.ts +5 -0
- package/dist/src/shared/helpers.js +15 -0
- package/dist/src/shared/types.d.ts +5 -0
- package/dist/src/shared/types.js +1 -0
- package/dist/src/time/index.d.ts +73 -0
- package/dist/src/time/index.js +161 -0
- package/dist/src/time/index.test.d.ts +1 -0
- package/dist/src/time/index.test.js +35 -0
- package/dist/src/track/index.d.ts +17 -0
- package/dist/src/track/index.js +14 -0
- package/dist/src/track/index.test.d.ts +1 -0
- package/dist/src/track/index.test.js +7 -0
- package/dist/src/url-prefix/index.d.ts +8 -0
- package/dist/src/url-prefix/index.js +9 -0
- package/dist/src/website/index.d.ts +16 -0
- package/dist/src/website/index.js +17 -0
- package/dist/time/index.d.ts +73 -0
- package/dist/time/index.js +161 -0
- package/dist/time/index.test.d.ts +1 -0
- package/dist/time/index.test.js +35 -0
- package/dist/track/index.d.ts +17 -0
- package/dist/track/index.js +14 -0
- package/dist/track/index.test.d.ts +1 -0
- package/dist/track/index.test.js +7 -0
- package/dist/url-prefix/index.d.ts +8 -0
- package/dist/url-prefix/index.js +9 -0
- package/dist/website/index.d.ts +16 -0
- package/dist/website/index.js +17 -0
- package/package.json +8 -1
- package/tsconfig.json +0 -12
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
export declare const COUNTRY_CODE: readonly [{
|
|
2
|
+
readonly key: 1;
|
|
3
|
+
readonly value: "MY";
|
|
4
|
+
readonly i18nKey: "country.code.1";
|
|
5
|
+
}];
|
|
6
|
+
export declare const STATES: {
|
|
7
|
+
readonly MY: readonly [{
|
|
8
|
+
readonly key: 1;
|
|
9
|
+
readonly value: "Johor";
|
|
10
|
+
readonly i18nKey: "malaysia.state.1";
|
|
11
|
+
}, {
|
|
12
|
+
readonly key: 2;
|
|
13
|
+
readonly value: "Kedah";
|
|
14
|
+
readonly i18nKey: "malaysia.state.2";
|
|
15
|
+
}, {
|
|
16
|
+
readonly key: 3;
|
|
17
|
+
readonly value: "Kelantan";
|
|
18
|
+
readonly i18nKey: "malaysia.state.3";
|
|
19
|
+
}, {
|
|
20
|
+
readonly key: 4;
|
|
21
|
+
readonly value: "Melaka";
|
|
22
|
+
readonly i18nKey: "malaysia.state.4";
|
|
23
|
+
}, {
|
|
24
|
+
readonly key: 5;
|
|
25
|
+
readonly value: "Negeri Sembilan";
|
|
26
|
+
readonly i18nKey: "malaysia.state.5";
|
|
27
|
+
}, {
|
|
28
|
+
readonly key: 6;
|
|
29
|
+
readonly value: "Pahang";
|
|
30
|
+
readonly i18nKey: "malaysia.state.6";
|
|
31
|
+
}, {
|
|
32
|
+
readonly key: 7;
|
|
33
|
+
readonly value: "Penang";
|
|
34
|
+
readonly i18nKey: "malaysia.state.7";
|
|
35
|
+
}, {
|
|
36
|
+
readonly key: 8;
|
|
37
|
+
readonly value: "Perak";
|
|
38
|
+
readonly i18nKey: "malaysia.state.8";
|
|
39
|
+
}, {
|
|
40
|
+
readonly key: 9;
|
|
41
|
+
readonly value: "Perlis";
|
|
42
|
+
readonly i18nKey: "malaysia.state.9";
|
|
43
|
+
}, {
|
|
44
|
+
readonly key: 10;
|
|
45
|
+
readonly value: "Sabah";
|
|
46
|
+
readonly i18nKey: "malaysia.state.10";
|
|
47
|
+
}, {
|
|
48
|
+
readonly key: 11;
|
|
49
|
+
readonly value: "Sarawak";
|
|
50
|
+
readonly i18nKey: "malaysia.state.11";
|
|
51
|
+
}, {
|
|
52
|
+
readonly key: 12;
|
|
53
|
+
readonly value: "Selangor";
|
|
54
|
+
readonly i18nKey: "malaysia.state.12";
|
|
55
|
+
}, {
|
|
56
|
+
readonly key: 13;
|
|
57
|
+
readonly value: "Terengganu";
|
|
58
|
+
readonly i18nKey: "malaysia.state.13";
|
|
59
|
+
}, {
|
|
60
|
+
readonly key: 14;
|
|
61
|
+
readonly value: "Kuala Lumpur";
|
|
62
|
+
readonly i18nKey: "malaysia.state.14";
|
|
63
|
+
}, {
|
|
64
|
+
readonly key: 15;
|
|
65
|
+
readonly value: "Labuan";
|
|
66
|
+
readonly i18nKey: "malaysia.state.15";
|
|
67
|
+
}, {
|
|
68
|
+
readonly key: 16;
|
|
69
|
+
readonly value: "Putrajaya";
|
|
70
|
+
readonly i18nKey: "malaysia.state.16";
|
|
71
|
+
}];
|
|
72
|
+
};
|
|
73
|
+
export declare const MALAYSIA_STATE: readonly [{
|
|
74
|
+
readonly key: 1;
|
|
75
|
+
readonly value: "Johor";
|
|
76
|
+
readonly i18nKey: "malaysia.state.1";
|
|
77
|
+
}, {
|
|
78
|
+
readonly key: 2;
|
|
79
|
+
readonly value: "Kedah";
|
|
80
|
+
readonly i18nKey: "malaysia.state.2";
|
|
81
|
+
}, {
|
|
82
|
+
readonly key: 3;
|
|
83
|
+
readonly value: "Kelantan";
|
|
84
|
+
readonly i18nKey: "malaysia.state.3";
|
|
85
|
+
}, {
|
|
86
|
+
readonly key: 4;
|
|
87
|
+
readonly value: "Melaka";
|
|
88
|
+
readonly i18nKey: "malaysia.state.4";
|
|
89
|
+
}, {
|
|
90
|
+
readonly key: 5;
|
|
91
|
+
readonly value: "Negeri Sembilan";
|
|
92
|
+
readonly i18nKey: "malaysia.state.5";
|
|
93
|
+
}, {
|
|
94
|
+
readonly key: 6;
|
|
95
|
+
readonly value: "Pahang";
|
|
96
|
+
readonly i18nKey: "malaysia.state.6";
|
|
97
|
+
}, {
|
|
98
|
+
readonly key: 7;
|
|
99
|
+
readonly value: "Penang";
|
|
100
|
+
readonly i18nKey: "malaysia.state.7";
|
|
101
|
+
}, {
|
|
102
|
+
readonly key: 8;
|
|
103
|
+
readonly value: "Perak";
|
|
104
|
+
readonly i18nKey: "malaysia.state.8";
|
|
105
|
+
}, {
|
|
106
|
+
readonly key: 9;
|
|
107
|
+
readonly value: "Perlis";
|
|
108
|
+
readonly i18nKey: "malaysia.state.9";
|
|
109
|
+
}, {
|
|
110
|
+
readonly key: 10;
|
|
111
|
+
readonly value: "Sabah";
|
|
112
|
+
readonly i18nKey: "malaysia.state.10";
|
|
113
|
+
}, {
|
|
114
|
+
readonly key: 11;
|
|
115
|
+
readonly value: "Sarawak";
|
|
116
|
+
readonly i18nKey: "malaysia.state.11";
|
|
117
|
+
}, {
|
|
118
|
+
readonly key: 12;
|
|
119
|
+
readonly value: "Selangor";
|
|
120
|
+
readonly i18nKey: "malaysia.state.12";
|
|
121
|
+
}, {
|
|
122
|
+
readonly key: 13;
|
|
123
|
+
readonly value: "Terengganu";
|
|
124
|
+
readonly i18nKey: "malaysia.state.13";
|
|
125
|
+
}, {
|
|
126
|
+
readonly key: 14;
|
|
127
|
+
readonly value: "Kuala Lumpur";
|
|
128
|
+
readonly i18nKey: "malaysia.state.14";
|
|
129
|
+
}, {
|
|
130
|
+
readonly key: 15;
|
|
131
|
+
readonly value: "Labuan";
|
|
132
|
+
readonly i18nKey: "malaysia.state.15";
|
|
133
|
+
}, {
|
|
134
|
+
readonly key: 16;
|
|
135
|
+
readonly value: "Putrajaya";
|
|
136
|
+
readonly i18nKey: "malaysia.state.16";
|
|
137
|
+
}];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const COUNTRY_CODE = [
|
|
2
|
+
{ key: 1, value: "MY", i18nKey: "country.code.1" },
|
|
3
|
+
];
|
|
4
|
+
export const STATES = {
|
|
5
|
+
MY: [
|
|
6
|
+
{ key: 1, value: "Johor", i18nKey: "malaysia.state.1" },
|
|
7
|
+
{ key: 2, value: "Kedah", i18nKey: "malaysia.state.2" },
|
|
8
|
+
{ key: 3, value: "Kelantan", i18nKey: "malaysia.state.3" },
|
|
9
|
+
{ key: 4, value: "Melaka", i18nKey: "malaysia.state.4" },
|
|
10
|
+
{ key: 5, value: "Negeri Sembilan", i18nKey: "malaysia.state.5" },
|
|
11
|
+
{ key: 6, value: "Pahang", i18nKey: "malaysia.state.6" },
|
|
12
|
+
{ key: 7, value: "Penang", i18nKey: "malaysia.state.7" },
|
|
13
|
+
{ key: 8, value: "Perak", i18nKey: "malaysia.state.8" },
|
|
14
|
+
{ key: 9, value: "Perlis", i18nKey: "malaysia.state.9" },
|
|
15
|
+
{ key: 10, value: "Sabah", i18nKey: "malaysia.state.10" },
|
|
16
|
+
{ key: 11, value: "Sarawak", i18nKey: "malaysia.state.11" },
|
|
17
|
+
{ key: 12, value: "Selangor", i18nKey: "malaysia.state.12" },
|
|
18
|
+
{ key: 13, value: "Terengganu", i18nKey: "malaysia.state.13" },
|
|
19
|
+
{ key: 14, value: "Kuala Lumpur", i18nKey: "malaysia.state.14" },
|
|
20
|
+
{ key: 15, value: "Labuan", i18nKey: "malaysia.state.15" },
|
|
21
|
+
{ key: 16, value: "Putrajaya", i18nKey: "malaysia.state.16" },
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
export const MALAYSIA_STATE = STATES.MY;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { COUNTRY_CODE, MALAYSIA_STATE } from "./index";
|
|
3
|
+
assert.deepEqual(COUNTRY_CODE, [
|
|
4
|
+
{ key: 1, value: "MY", i18nKey: "country.code.1" },
|
|
5
|
+
]);
|
|
6
|
+
assert.equal(MALAYSIA_STATE.length, 16);
|
|
7
|
+
assert.deepEqual(MALAYSIA_STATE[0], {
|
|
8
|
+
key: 1,
|
|
9
|
+
value: "Johor",
|
|
10
|
+
i18nKey: "malaysia.state.1",
|
|
11
|
+
});
|
|
12
|
+
assert.deepEqual(MALAYSIA_STATE[15], {
|
|
13
|
+
key: 16,
|
|
14
|
+
value: "Putrajaya",
|
|
15
|
+
i18nKey: "malaysia.state.16",
|
|
16
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const QuestionType: {
|
|
2
|
+
readonly Subjective: 1;
|
|
3
|
+
readonly Objective: 2;
|
|
4
|
+
readonly MultipleChoice: 3;
|
|
5
|
+
};
|
|
6
|
+
export type QuestionType = (typeof QuestionType)[keyof typeof QuestionType];
|
|
7
|
+
export declare const ASSESSMENT_QUESTION_TYPE: readonly [{
|
|
8
|
+
readonly key: 1;
|
|
9
|
+
readonly value: "Subjective";
|
|
10
|
+
readonly i18nKey: "assessmentQuestion.questionType.1";
|
|
11
|
+
}, {
|
|
12
|
+
readonly key: 2;
|
|
13
|
+
readonly value: "Objective";
|
|
14
|
+
readonly i18nKey: "assessmentQuestion.questionType.2";
|
|
15
|
+
}, {
|
|
16
|
+
readonly key: 3;
|
|
17
|
+
readonly value: "MultipleChoice";
|
|
18
|
+
readonly i18nKey: "assessmentQuestion.questionType.3";
|
|
19
|
+
}];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const QuestionType = {
|
|
2
|
+
Subjective: 1,
|
|
3
|
+
Objective: 2,
|
|
4
|
+
MultipleChoice: 3,
|
|
5
|
+
};
|
|
6
|
+
export const ASSESSMENT_QUESTION_TYPE = [
|
|
7
|
+
{
|
|
8
|
+
key: QuestionType.Subjective,
|
|
9
|
+
value: "Subjective",
|
|
10
|
+
i18nKey: "assessmentQuestion.questionType.1",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
key: QuestionType.Objective,
|
|
14
|
+
value: "Objective",
|
|
15
|
+
i18nKey: "assessmentQuestion.questionType.2",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
key: QuestionType.MultipleChoice,
|
|
19
|
+
value: "MultipleChoice",
|
|
20
|
+
i18nKey: "assessmentQuestion.questionType.3",
|
|
21
|
+
},
|
|
22
|
+
];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { ASSESSMENT_QUESTION_TYPE, QuestionType, } from "./index";
|
|
3
|
+
import { getI18nKeyByKey, getLabelByKey, getOptionByKey } from "../shared/helpers";
|
|
4
|
+
assert.deepEqual(ASSESSMENT_QUESTION_TYPE, [
|
|
5
|
+
{
|
|
6
|
+
key: QuestionType.Subjective,
|
|
7
|
+
value: "Subjective",
|
|
8
|
+
i18nKey: "assessmentQuestion.questionType.1",
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
key: QuestionType.Objective,
|
|
12
|
+
value: "Objective",
|
|
13
|
+
i18nKey: "assessmentQuestion.questionType.2",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
key: QuestionType.MultipleChoice,
|
|
17
|
+
value: "MultipleChoice",
|
|
18
|
+
i18nKey: "assessmentQuestion.questionType.3",
|
|
19
|
+
},
|
|
20
|
+
]);
|
|
21
|
+
assert.deepEqual(getOptionByKey(ASSESSMENT_QUESTION_TYPE, QuestionType.Objective), {
|
|
22
|
+
key: QuestionType.Objective,
|
|
23
|
+
value: "Objective",
|
|
24
|
+
i18nKey: "assessmentQuestion.questionType.2",
|
|
25
|
+
});
|
|
26
|
+
assert.equal(getLabelByKey(ASSESSMENT_QUESTION_TYPE, QuestionType.MultipleChoice), "MultipleChoice");
|
|
27
|
+
assert.equal(getI18nKeyByKey(ASSESSMENT_QUESTION_TYPE, QuestionType.Subjective), "assessmentQuestion.questionType.1");
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
export declare const CAREER_JOB_TYPE: readonly [{
|
|
2
|
+
readonly key: 1;
|
|
3
|
+
readonly value: "Full-time";
|
|
4
|
+
readonly i18nKey: "career.jobType.1";
|
|
5
|
+
}, {
|
|
6
|
+
readonly key: 2;
|
|
7
|
+
readonly value: "Part-time";
|
|
8
|
+
readonly i18nKey: "career.jobType.2";
|
|
9
|
+
}, {
|
|
10
|
+
readonly key: 3;
|
|
11
|
+
readonly value: "Contract";
|
|
12
|
+
readonly i18nKey: "career.jobType.3";
|
|
13
|
+
}, {
|
|
14
|
+
readonly key: 4;
|
|
15
|
+
readonly value: "Internship";
|
|
16
|
+
readonly i18nKey: "career.jobType.4";
|
|
17
|
+
}];
|
|
18
|
+
export declare const CAREER_CATEGORY: readonly [{
|
|
19
|
+
readonly key: 1;
|
|
20
|
+
readonly value: "Technology";
|
|
21
|
+
readonly i18nKey: "career.category.1";
|
|
22
|
+
}, {
|
|
23
|
+
readonly key: 2;
|
|
24
|
+
readonly value: "Design";
|
|
25
|
+
readonly i18nKey: "career.category.2";
|
|
26
|
+
}, {
|
|
27
|
+
readonly key: 3;
|
|
28
|
+
readonly value: "Business";
|
|
29
|
+
readonly i18nKey: "career.category.3";
|
|
30
|
+
}, {
|
|
31
|
+
readonly key: 4;
|
|
32
|
+
readonly value: "Marketing";
|
|
33
|
+
readonly i18nKey: "career.category.4";
|
|
34
|
+
}, {
|
|
35
|
+
readonly key: 5;
|
|
36
|
+
readonly value: "Operations";
|
|
37
|
+
readonly i18nKey: "career.category.5";
|
|
38
|
+
}, {
|
|
39
|
+
readonly key: 6;
|
|
40
|
+
readonly value: "Finance";
|
|
41
|
+
readonly i18nKey: "career.category.6";
|
|
42
|
+
}, {
|
|
43
|
+
readonly key: 7;
|
|
44
|
+
readonly value: "Human Resources";
|
|
45
|
+
readonly i18nKey: "career.category.7";
|
|
46
|
+
}, {
|
|
47
|
+
readonly key: 8;
|
|
48
|
+
readonly value: "Legal";
|
|
49
|
+
readonly i18nKey: "career.category.8";
|
|
50
|
+
}, {
|
|
51
|
+
readonly key: 9;
|
|
52
|
+
readonly value: "Customer Support";
|
|
53
|
+
readonly i18nKey: "career.category.9";
|
|
54
|
+
}, {
|
|
55
|
+
readonly key: 10;
|
|
56
|
+
readonly value: "Management";
|
|
57
|
+
readonly i18nKey: "career.category.10";
|
|
58
|
+
}];
|
|
59
|
+
export declare const CAREER_MODE: readonly [{
|
|
60
|
+
readonly key: 1;
|
|
61
|
+
readonly value: "On-site";
|
|
62
|
+
readonly i18nKey: "career.mode.1";
|
|
63
|
+
}, {
|
|
64
|
+
readonly key: 2;
|
|
65
|
+
readonly value: "Remote";
|
|
66
|
+
readonly i18nKey: "career.mode.2";
|
|
67
|
+
}, {
|
|
68
|
+
readonly key: 3;
|
|
69
|
+
readonly value: "Hybrid";
|
|
70
|
+
readonly i18nKey: "career.mode.3";
|
|
71
|
+
}];
|
|
72
|
+
export declare const CAREER_LOCATION: readonly [{
|
|
73
|
+
readonly key: 1;
|
|
74
|
+
readonly value: "KualaLumpur";
|
|
75
|
+
readonly i18nKey: "career.location.1";
|
|
76
|
+
}, {
|
|
77
|
+
readonly key: 2;
|
|
78
|
+
readonly value: "Selangor";
|
|
79
|
+
readonly i18nKey: "career.location.2";
|
|
80
|
+
}, {
|
|
81
|
+
readonly key: 3;
|
|
82
|
+
readonly value: "Johor";
|
|
83
|
+
readonly i18nKey: "career.location.3";
|
|
84
|
+
}, {
|
|
85
|
+
readonly key: 4;
|
|
86
|
+
readonly value: "Penang";
|
|
87
|
+
readonly i18nKey: "career.location.4";
|
|
88
|
+
}, {
|
|
89
|
+
readonly key: 5;
|
|
90
|
+
readonly value: "Sabah";
|
|
91
|
+
readonly i18nKey: "career.location.5";
|
|
92
|
+
}, {
|
|
93
|
+
readonly key: 6;
|
|
94
|
+
readonly value: "Sarawak";
|
|
95
|
+
readonly i18nKey: "career.location.6";
|
|
96
|
+
}, {
|
|
97
|
+
readonly key: 7;
|
|
98
|
+
readonly value: "NegeriSembilan";
|
|
99
|
+
readonly i18nKey: "career.location.7";
|
|
100
|
+
}, {
|
|
101
|
+
readonly key: 8;
|
|
102
|
+
readonly value: "Kedah";
|
|
103
|
+
readonly i18nKey: "career.location.8";
|
|
104
|
+
}, {
|
|
105
|
+
readonly key: 9;
|
|
106
|
+
readonly value: "Kelantan";
|
|
107
|
+
readonly i18nKey: "career.location.9";
|
|
108
|
+
}, {
|
|
109
|
+
readonly key: 10;
|
|
110
|
+
readonly value: "Perak";
|
|
111
|
+
readonly i18nKey: "career.location.10";
|
|
112
|
+
}, {
|
|
113
|
+
readonly key: 11;
|
|
114
|
+
readonly value: "Terengganu";
|
|
115
|
+
readonly i18nKey: "career.location.11";
|
|
116
|
+
}, {
|
|
117
|
+
readonly key: 12;
|
|
118
|
+
readonly value: "Perlis";
|
|
119
|
+
readonly i18nKey: "career.location.12";
|
|
120
|
+
}, {
|
|
121
|
+
readonly key: 13;
|
|
122
|
+
readonly value: "Melaka";
|
|
123
|
+
readonly i18nKey: "career.location.13";
|
|
124
|
+
}, {
|
|
125
|
+
readonly key: 14;
|
|
126
|
+
readonly value: "Putrajaya";
|
|
127
|
+
readonly i18nKey: "career.location.14";
|
|
128
|
+
}, {
|
|
129
|
+
readonly key: 15;
|
|
130
|
+
readonly value: "Labuan";
|
|
131
|
+
readonly i18nKey: "career.location.15";
|
|
132
|
+
}];
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export const CAREER_JOB_TYPE = [
|
|
2
|
+
{ key: 1, value: "Full-time", i18nKey: "career.jobType.1" },
|
|
3
|
+
{ key: 2, value: "Part-time", i18nKey: "career.jobType.2" },
|
|
4
|
+
{ key: 3, value: "Contract", i18nKey: "career.jobType.3" },
|
|
5
|
+
{ key: 4, value: "Internship", i18nKey: "career.jobType.4" },
|
|
6
|
+
];
|
|
7
|
+
export const CAREER_CATEGORY = [
|
|
8
|
+
{ key: 1, value: "Technology", i18nKey: "career.category.1" },
|
|
9
|
+
{ key: 2, value: "Design", i18nKey: "career.category.2" },
|
|
10
|
+
{ key: 3, value: "Business", i18nKey: "career.category.3" },
|
|
11
|
+
{ key: 4, value: "Marketing", i18nKey: "career.category.4" },
|
|
12
|
+
{ key: 5, value: "Operations", i18nKey: "career.category.5" },
|
|
13
|
+
{ key: 6, value: "Finance", i18nKey: "career.category.6" },
|
|
14
|
+
{ key: 7, value: "Human Resources", i18nKey: "career.category.7" },
|
|
15
|
+
{ key: 8, value: "Legal", i18nKey: "career.category.8" },
|
|
16
|
+
{ key: 9, value: "Customer Support", i18nKey: "career.category.9" },
|
|
17
|
+
{ key: 10, value: "Management", i18nKey: "career.category.10" },
|
|
18
|
+
];
|
|
19
|
+
export const CAREER_MODE = [
|
|
20
|
+
{ key: 1, value: "On-site", i18nKey: "career.mode.1" },
|
|
21
|
+
{ key: 2, value: "Remote", i18nKey: "career.mode.2" },
|
|
22
|
+
{ key: 3, value: "Hybrid", i18nKey: "career.mode.3" },
|
|
23
|
+
];
|
|
24
|
+
export const CAREER_LOCATION = [
|
|
25
|
+
{ key: 1, value: "KualaLumpur", i18nKey: "career.location.1" },
|
|
26
|
+
{ key: 2, value: "Selangor", i18nKey: "career.location.2" },
|
|
27
|
+
{ key: 3, value: "Johor", i18nKey: "career.location.3" },
|
|
28
|
+
{ key: 4, value: "Penang", i18nKey: "career.location.4" },
|
|
29
|
+
{ key: 5, value: "Sabah", i18nKey: "career.location.5" },
|
|
30
|
+
{ key: 6, value: "Sarawak", i18nKey: "career.location.6" },
|
|
31
|
+
{ key: 7, value: "NegeriSembilan", i18nKey: "career.location.7" },
|
|
32
|
+
{ key: 8, value: "Kedah", i18nKey: "career.location.8" },
|
|
33
|
+
{ key: 9, value: "Kelantan", i18nKey: "career.location.9" },
|
|
34
|
+
{ key: 10, value: "Perak", i18nKey: "career.location.10" },
|
|
35
|
+
{ key: 11, value: "Terengganu", i18nKey: "career.location.11" },
|
|
36
|
+
{ key: 12, value: "Perlis", i18nKey: "career.location.12" },
|
|
37
|
+
{ key: 13, value: "Melaka", i18nKey: "career.location.13" },
|
|
38
|
+
{ key: 14, value: "Putrajaya", i18nKey: "career.location.14" },
|
|
39
|
+
{ key: 15, value: "Labuan", i18nKey: "career.location.15" },
|
|
40
|
+
];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const CONTACT_FORM_ENQUIRY_TYPE: readonly [{
|
|
2
|
+
readonly key: 1;
|
|
3
|
+
readonly value: "Software Development";
|
|
4
|
+
readonly i18nKey: "contactForm.enquiryType.1";
|
|
5
|
+
}, {
|
|
6
|
+
readonly key: 2;
|
|
7
|
+
readonly value: "Advertising Platform";
|
|
8
|
+
readonly i18nKey: "contactForm.enquiryType.2";
|
|
9
|
+
}, {
|
|
10
|
+
readonly key: 3;
|
|
11
|
+
readonly value: "MCN Business";
|
|
12
|
+
readonly i18nKey: "contactForm.enquiryType.3";
|
|
13
|
+
}];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const CONTACT_FORM_ENQUIRY_TYPE = [
|
|
2
|
+
{
|
|
3
|
+
key: 1,
|
|
4
|
+
value: "Software Development",
|
|
5
|
+
i18nKey: "contactForm.enquiryType.1",
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
key: 2,
|
|
9
|
+
value: "Advertising Platform",
|
|
10
|
+
i18nKey: "contactForm.enquiryType.2",
|
|
11
|
+
},
|
|
12
|
+
{ key: 3, value: "MCN Business", i18nKey: "contactForm.enquiryType.3" },
|
|
13
|
+
];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const EMAIL_TEMPLATE_ROLES: readonly [{
|
|
2
|
+
readonly key: 0;
|
|
3
|
+
readonly value: "Creator";
|
|
4
|
+
readonly i18nKey: "emailTemplate.role.0";
|
|
5
|
+
}, {
|
|
6
|
+
readonly key: 1;
|
|
7
|
+
readonly value: "Editor";
|
|
8
|
+
readonly i18nKey: "emailTemplate.role.1";
|
|
9
|
+
}, {
|
|
10
|
+
readonly key: 2;
|
|
11
|
+
readonly value: "Viewer";
|
|
12
|
+
readonly i18nKey: "emailTemplate.role.2";
|
|
13
|
+
}];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const FILE_STATUS: readonly [{
|
|
2
|
+
readonly key: 1;
|
|
3
|
+
readonly value: "pending";
|
|
4
|
+
readonly i18nKey: "files.status.1";
|
|
5
|
+
}, {
|
|
6
|
+
readonly key: 2;
|
|
7
|
+
readonly value: "submitted";
|
|
8
|
+
readonly i18nKey: "files.status.2";
|
|
9
|
+
}];
|
|
10
|
+
export declare const FILE_ORIGIN: readonly [{
|
|
11
|
+
readonly key: 1;
|
|
12
|
+
readonly value: "job applications";
|
|
13
|
+
readonly i18nKey: "files.origin.1";
|
|
14
|
+
}, {
|
|
15
|
+
readonly key: 2;
|
|
16
|
+
readonly value: "submitted";
|
|
17
|
+
readonly i18nKey: "files.origin.2";
|
|
18
|
+
}];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const FILE_STATUS = [
|
|
2
|
+
{ key: 1, value: "pending", i18nKey: "files.status.1" },
|
|
3
|
+
{ key: 2, value: "submitted", i18nKey: "files.status.2" },
|
|
4
|
+
];
|
|
5
|
+
export const FILE_ORIGIN = [
|
|
6
|
+
{ key: 1, value: "job applications", i18nKey: "files.origin.1" },
|
|
7
|
+
{ key: 2, value: "submitted", i18nKey: "files.origin.2" },
|
|
8
|
+
];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./assessment-question/index";
|
|
2
|
+
export * from "./career/index";
|
|
3
|
+
export * from "./contact-form/index";
|
|
4
|
+
export * from "./files/index";
|
|
5
|
+
export * from "./locale/index";
|
|
6
|
+
export * from "./roles/index";
|
|
7
|
+
export * from "./routes/index";
|
|
8
|
+
export * from "./shared/helpers";
|
|
9
|
+
export * from "./shared/types";
|
|
10
|
+
export * from "./time/index";
|
|
11
|
+
export * from "./track/index";
|
|
12
|
+
export * from "./url-prefix/index";
|
|
13
|
+
export * from "./website/index";
|
|
14
|
+
export * from "./addressess/index";
|
|
15
|
+
export * from "./job-applications/index";
|
|
16
|
+
export * from "./email-template/index";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./assessment-question/index";
|
|
2
|
+
export * from "./career/index";
|
|
3
|
+
export * from "./contact-form/index";
|
|
4
|
+
export * from "./files/index";
|
|
5
|
+
export * from "./locale/index";
|
|
6
|
+
export * from "./roles/index";
|
|
7
|
+
export * from "./routes/index";
|
|
8
|
+
export * from "./shared/helpers";
|
|
9
|
+
export * from "./shared/types";
|
|
10
|
+
export * from "./time/index";
|
|
11
|
+
export * from "./track/index";
|
|
12
|
+
export * from "./url-prefix/index";
|
|
13
|
+
export * from "./website/index";
|
|
14
|
+
export * from "./addressess/index";
|
|
15
|
+
export * from "./job-applications/index";
|
|
16
|
+
export * from "./email-template/index";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const JOB_APPLICATION_STATUS: readonly [{
|
|
2
|
+
readonly key: 0;
|
|
3
|
+
readonly value: "Pending Review";
|
|
4
|
+
readonly i18nKey: "jobApplication.status.0";
|
|
5
|
+
}, {
|
|
6
|
+
readonly key: 1;
|
|
7
|
+
readonly value: "Shortlisted";
|
|
8
|
+
readonly i18nKey: "jobApplication.status.1";
|
|
9
|
+
}, {
|
|
10
|
+
readonly key: 2;
|
|
11
|
+
readonly value: "Interview";
|
|
12
|
+
readonly i18nKey: "jobApplication.status.2";
|
|
13
|
+
}, {
|
|
14
|
+
readonly key: 3;
|
|
15
|
+
readonly value: "Offered";
|
|
16
|
+
readonly i18nKey: "jobApplication.status.3";
|
|
17
|
+
}, {
|
|
18
|
+
readonly key: 4;
|
|
19
|
+
readonly value: "Hired";
|
|
20
|
+
readonly i18nKey: "jobApplication.status.4";
|
|
21
|
+
}, {
|
|
22
|
+
readonly key: 5;
|
|
23
|
+
readonly value: "Rejected";
|
|
24
|
+
readonly i18nKey: "jobApplication.status.5";
|
|
25
|
+
}, {
|
|
26
|
+
readonly key: 6;
|
|
27
|
+
readonly value: "Withdrawn";
|
|
28
|
+
readonly i18nKey: "jobApplication.status.6";
|
|
29
|
+
}, {
|
|
30
|
+
readonly key: 7;
|
|
31
|
+
readonly value: "Ghosted";
|
|
32
|
+
readonly i18nKey: "jobApplication.status.7";
|
|
33
|
+
}];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const JOB_APPLICATION_STATUS = [
|
|
2
|
+
{ key: 0, value: "Pending Review", i18nKey: "jobApplication.status.0" },
|
|
3
|
+
{ key: 1, value: "Shortlisted", i18nKey: "jobApplication.status.1" },
|
|
4
|
+
{ key: 2, value: "Interview", i18nKey: "jobApplication.status.2" },
|
|
5
|
+
{ key: 3, value: "Offered", i18nKey: "jobApplication.status.3" },
|
|
6
|
+
{ key: 4, value: "Hired", i18nKey: "jobApplication.status.4" },
|
|
7
|
+
{ key: 5, value: "Rejected", i18nKey: "jobApplication.status.5" },
|
|
8
|
+
{ key: 6, value: "Withdrawn", i18nKey: "jobApplication.status.6" },
|
|
9
|
+
{ key: 7, value: "Ghosted", i18nKey: "jobApplication.status.7" },
|
|
10
|
+
];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export type CanonicalRole = "super-admin" | "admin" | "staff" | "hr" | "visitor" | "none";
|
|
2
|
+
export type RoleValue = CanonicalRole | number;
|
|
3
|
+
export type RoleInput = RoleValue | string;
|
|
4
|
+
export declare const ROLE_MAP: Record<number, CanonicalRole>;
|
|
5
|
+
export declare const ROLE: readonly [{
|
|
6
|
+
readonly key: 0;
|
|
7
|
+
readonly value: "super-admin";
|
|
8
|
+
readonly i18nKey: "users.roleSuperAdmin";
|
|
9
|
+
}, {
|
|
10
|
+
readonly key: 1;
|
|
11
|
+
readonly value: "admin";
|
|
12
|
+
readonly i18nKey: "users.roleAdmin";
|
|
13
|
+
}, {
|
|
14
|
+
readonly key: 2;
|
|
15
|
+
readonly value: "staff";
|
|
16
|
+
readonly i18nKey: "users.roleStaff";
|
|
17
|
+
}, {
|
|
18
|
+
readonly key: 3;
|
|
19
|
+
readonly value: "hr";
|
|
20
|
+
readonly i18nKey: "users.roleHr";
|
|
21
|
+
}, {
|
|
22
|
+
readonly key: 32766;
|
|
23
|
+
readonly value: "visitor";
|
|
24
|
+
readonly i18nKey: "users.roleVisitor";
|
|
25
|
+
}, {
|
|
26
|
+
readonly key: 32767;
|
|
27
|
+
readonly value: "none";
|
|
28
|
+
readonly i18nKey: "users.roleNone";
|
|
29
|
+
}];
|
|
30
|
+
export declare function normalizeRole(role: RoleInput | undefined): CanonicalRole | undefined;
|
|
31
|
+
export declare function roleLabelKey(role: RoleInput | undefined): string;
|
|
32
|
+
export declare function roleToId(role: RoleInput | undefined): number | undefined;
|
|
33
|
+
export declare const Permission: {
|
|
34
|
+
readonly ALLOWED_EMAILS_READ: "allowed-emails:read";
|
|
35
|
+
readonly ALLOWED_EMAILS_WRITE: "allowed-emails:write";
|
|
36
|
+
readonly USERS_READ: "users:read";
|
|
37
|
+
readonly USERS_WRITE: "users:write";
|
|
38
|
+
readonly USERS_DELETE: "users:delete";
|
|
39
|
+
readonly CAREERS_READ: "careers:read";
|
|
40
|
+
readonly CAREERS_WRITE: "careers:write";
|
|
41
|
+
readonly CAREERS_DELETE: "careers:delete";
|
|
42
|
+
readonly CONTACT_FORM_READ: "contact-form:read";
|
|
43
|
+
readonly CONTACT_FORM_DELETE: "contact-form:delete";
|
|
44
|
+
readonly JOB_APPLICATIONS_READ: "job-applications:read";
|
|
45
|
+
readonly OTP_ATTEMPTS_READ: "otp-attempts:read";
|
|
46
|
+
readonly OTP_ATTEMPTS_WRITE: "otp-attempts:write";
|
|
47
|
+
readonly TWO_FACTOR_AUTH_READ: "two-factor-auth:read";
|
|
48
|
+
readonly TWO_FACTOR_AUTH_WRITE: "two-factor-auth:write";
|
|
49
|
+
readonly VIEWS_READ: "views:read";
|
|
50
|
+
readonly LOGS_READ: "logs:read";
|
|
51
|
+
readonly UTM_RECORDS_READ: "utm-records:read";
|
|
52
|
+
readonly UTM_RECORDS_WRITE: "utm-records:write";
|
|
53
|
+
readonly ORIGIN_READ: "origin:read";
|
|
54
|
+
readonly ORIGIN_WRITE: "origin:write";
|
|
55
|
+
readonly ORIGIN_DELETE: "origin:delete";
|
|
56
|
+
};
|
|
57
|
+
export type Permission = (typeof Permission)[keyof typeof Permission];
|
|
58
|
+
export declare const PERMISSION_I18N_KEY: Record<Permission, string>;
|
|
59
|
+
export declare const ROLE_PERMISSIONS: Record<CanonicalRole, Permission[]>;
|
|
60
|
+
export declare function hasPermission(role: RoleInput | undefined, permission: Permission): boolean;
|
|
61
|
+
export declare function permissionLabelKey(permission: Permission): string;
|