myanmar-nrc-validator 1.0.2 → 1.0.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/utils/composer.d.ts.map +1 -1
- package/dist/utils/composer.js +45 -4
- package/dist/utils/composer.js.map +1 -1
- package/dist/utils/validator.d.ts +1 -1
- package/dist/utils/validator.d.ts.map +1 -1
- package/dist/utils/validator.js +16 -10
- package/dist/utils/validator.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/utils/composer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/utils/composer.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,WAAW,GACnB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAuBD,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CA2CjE"}
|
package/dist/utils/composer.js
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
import
|
|
1
|
+
import kachinData from "../data/townships/kachin.json" with { type: "json" };
|
|
2
|
+
import kayahData from "../data/townships/kayah.json" with { type: "json" };
|
|
3
|
+
import kayinData from "../data/townships/kayin.json" with { type: "json" };
|
|
4
|
+
import chinData from "../data/townships/chin.json" with { type: "json" };
|
|
5
|
+
import sagaingData from "../data/townships/sagaing.json" with { type: "json" };
|
|
6
|
+
import tanintharyiData from "../data/townships/tanintharyi.json" with { type: "json" };
|
|
7
|
+
import bagoData from "../data/townships/bago.json" with { type: "json" };
|
|
8
|
+
import magwayData from "../data/townships/magway.json" with { type: "json" };
|
|
9
|
+
import mandalayData from "../data/townships/mandalay.json" with { type: "json" };
|
|
10
|
+
import monData from "../data/townships/mon.json" with { type: "json" };
|
|
11
|
+
import rakhineData from "../data/townships/rakhine.json" with { type: "json" };
|
|
12
|
+
import yangonData from "../data/townships/yangon.json" with { type: "json" };
|
|
13
|
+
import shanData from "../data/townships/shan.json" with { type: "json" };
|
|
14
|
+
import ayeyarwadyData from "../data/townships/ayeyarwady.json" with { type: "json" };
|
|
15
|
+
const TOWNSHIP_FILES = {
|
|
16
|
+
"1": kachinData,
|
|
17
|
+
"2": kayahData,
|
|
18
|
+
"3": kayinData,
|
|
19
|
+
"4": chinData,
|
|
20
|
+
"5": sagaingData,
|
|
21
|
+
"6": tanintharyiData,
|
|
22
|
+
"7": bagoData,
|
|
23
|
+
"8": magwayData,
|
|
24
|
+
"9": mandalayData,
|
|
25
|
+
"10": monData,
|
|
26
|
+
"11": rakhineData,
|
|
27
|
+
"12": yangonData,
|
|
28
|
+
"13": shanData,
|
|
29
|
+
"14": ayeyarwadyData,
|
|
30
|
+
};
|
|
31
|
+
function resolveTownshipCode(stateCode, townshipInput) {
|
|
32
|
+
const stateFile = TOWNSHIP_FILES[stateCode];
|
|
33
|
+
if (!stateFile || !stateFile.townships)
|
|
34
|
+
return null;
|
|
35
|
+
const query = townshipInput.trim().toUpperCase();
|
|
36
|
+
const rawQuery = townshipInput.trim();
|
|
37
|
+
const found = stateFile.townships.find((t) => t.en.toUpperCase() === query ||
|
|
38
|
+
t.mm === rawQuery ||
|
|
39
|
+
t.fullEn.toUpperCase() === query ||
|
|
40
|
+
t.fullMm === rawQuery);
|
|
41
|
+
return found ? found.en.toUpperCase() : null;
|
|
42
|
+
}
|
|
2
43
|
export function composeNRC(options) {
|
|
3
44
|
if (!options)
|
|
4
45
|
return null;
|
|
@@ -7,14 +48,14 @@ export function composeNRC(options) {
|
|
|
7
48
|
return null;
|
|
8
49
|
}
|
|
9
50
|
const stateStr = String(stateCode).trim();
|
|
10
|
-
const townshipStr = String(township).trim().toUpperCase();
|
|
11
51
|
const typeStr = String(type).trim();
|
|
12
52
|
const numStr = String(number).trim();
|
|
13
53
|
const stateNum = parseInt(stateStr, 10);
|
|
14
54
|
if (isNaN(stateNum) || stateNum < 1 || stateNum > 14) {
|
|
15
55
|
return null;
|
|
16
56
|
}
|
|
17
|
-
|
|
57
|
+
const resolvedTownship = resolveTownshipCode(stateStr, String(township));
|
|
58
|
+
if (!resolvedTownship) {
|
|
18
59
|
return null;
|
|
19
60
|
}
|
|
20
61
|
const validTypes = [
|
|
@@ -34,6 +75,6 @@ export function composeNRC(options) {
|
|
|
34
75
|
if (cleanNumber.length !== 6) {
|
|
35
76
|
return null;
|
|
36
77
|
}
|
|
37
|
-
return `${stateNum}/${
|
|
78
|
+
return `${stateNum}/${resolvedTownship}(${typeStr})${cleanNumber}`;
|
|
38
79
|
}
|
|
39
80
|
//# sourceMappingURL=composer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/utils/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/utils/composer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function normalizeDigits(input: string): string;
|
|
2
|
-
export declare function validateNRC(nrcString: string): boolean;
|
|
3
2
|
export declare function isValidTownship(stateCode: string, townshipCode: string): boolean;
|
|
3
|
+
export declare function validateNRC(nrcString: string): boolean;
|
|
4
4
|
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAgCA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAerD;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAgCA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAerD;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAgBT;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAetD"}
|
package/dist/utils/validator.js
CHANGED
|
@@ -45,23 +45,29 @@ export function normalizeDigits(input) {
|
|
|
45
45
|
};
|
|
46
46
|
return input.replace(/[၀-၉]/g, (digit) => mmDigits[digit] || digit);
|
|
47
47
|
}
|
|
48
|
-
export function validateNRC(nrcString) {
|
|
49
|
-
if (!nrcString || typeof nrcString !== "string")
|
|
50
|
-
return false;
|
|
51
|
-
const cleaned = normalizeDigits(nrcString.trim());
|
|
52
|
-
const nrcPattern = /^([1-9]|1[0-4])\/([A-Za-z\u1000-\u109F]+)\((N|P|A|T|နိုင်|ပြု|ဧည့်|ယာယီ)\)([0-9]{6})$/i;
|
|
53
|
-
return nrcPattern.test(cleaned);
|
|
54
|
-
}
|
|
55
48
|
export function isValidTownship(stateCode, townshipCode) {
|
|
56
49
|
if (!stateCode || !townshipCode)
|
|
57
50
|
return false;
|
|
58
51
|
const stateFile = TOWNSHIP_FILES[stateCode];
|
|
59
52
|
if (!stateFile || !stateFile.townships)
|
|
60
53
|
return false;
|
|
61
|
-
const query = townshipCode.toUpperCase();
|
|
54
|
+
const query = townshipCode.trim().toUpperCase();
|
|
55
|
+
const rawQuery = townshipCode.trim();
|
|
62
56
|
return stateFile.townships.some((t) => t.en.toUpperCase() === query ||
|
|
63
|
-
t.mm ===
|
|
57
|
+
t.mm === rawQuery ||
|
|
64
58
|
t.fullEn.toUpperCase() === query ||
|
|
65
|
-
t.fullMm ===
|
|
59
|
+
t.fullMm === rawQuery);
|
|
60
|
+
}
|
|
61
|
+
export function validateNRC(nrcString) {
|
|
62
|
+
if (!nrcString || typeof nrcString !== "string")
|
|
63
|
+
return false;
|
|
64
|
+
const cleaned = normalizeDigits(nrcString.trim());
|
|
65
|
+
const nrcPattern = /^([1-9]|1[0-4])\/([A-Za-z\u1000-\u109F]+)\((N|P|A|T|နိုင်|ပြု|ဧည့်|ယာယီ)\)([0-9]{6})$/i;
|
|
66
|
+
const match = cleaned.match(nrcPattern);
|
|
67
|
+
if (!match || !match[1] || !match[2])
|
|
68
|
+
return false;
|
|
69
|
+
const stateCode = match[1];
|
|
70
|
+
const township = match[2];
|
|
71
|
+
return isValidTownship(stateCode, township);
|
|
66
72
|
}
|
|
67
73
|
//# sourceMappingURL=validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,+BAA+B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7E,OAAO,SAAS,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3E,OAAO,SAAS,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3E,OAAO,QAAQ,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACzE,OAAO,WAAW,MAAM,gCAAgC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,OAAO,eAAe,MAAM,oCAAoC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvF,OAAO,QAAQ,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACzE,OAAO,UAAU,MAAM,+BAA+B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7E,OAAO,YAAY,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjF,OAAO,OAAO,MAAM,4BAA4B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvE,OAAO,WAAW,MAAM,gCAAgC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,OAAO,UAAU,MAAM,+BAA+B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7E,OAAO,QAAQ,MAAM,6BAA6B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACzE,OAAO,cAAc,MAAM,mCAAmC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAErF,MAAM,cAAc,GAAwB;IAC1C,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,QAAQ,GAA2B;QACvC,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;KACT,CAAC;IACF,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":"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"}
|