myanmar-nrc-validator 1.0.5 → 1.0.6

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/index.d.ts CHANGED
@@ -12,4 +12,5 @@ export type { ParsedNRC } from "./utils/parser.js";
12
12
  export { composeNRC } from "./utils/composer.js";
13
13
  export type { ComposeOptions, CitizenType } from "./utils/composer.js";
14
14
  export { getStates, getStateTownships } from "./utils/regions.js";
15
+ export { formatNRC } from "./utils/formatter.js";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,EAAiB,MAAM,CAC/C,MAAM,EACN;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAC3B,CAAC;AACF,eAAO,MAAM,iBAAiB,EAAkC,MAAM,CACpE,MAAM,EACN;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAC3B,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,EAAiB,MAAM,CAC/C,MAAM,EACN;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAC3B,CAAC;AACF,eAAO,MAAM,iBAAiB,EAAkC,MAAM,CACpE,MAAM,EACN;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAC3B,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -6,4 +6,5 @@ export { validateNRC, isValidTownship } from "./utils/validator.js";
6
6
  export { parseNRC } from "./utils/parser.js";
7
7
  export { composeNRC } from "./utils/composer.js";
8
8
  export { getStates, getStateTownships } from "./utils/regions.js";
9
+ export { formatNRC } from "./utils/formatter.js";
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAClE,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,UAG5B,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAGhC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAClE,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,UAG5B,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAGhC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param nrcString
3
+ * @param target
4
+ */
5
+ export declare function formatNRC(nrcString: string, target: "en" | "mm"): string | null;
6
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"AA+BA;;;GAGG;AAEH,wBAAgB,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,IAAI,GAAG,IAAI,GAClB,MAAM,GAAG,IAAI,CAqBf"}
@@ -0,0 +1,50 @@
1
+ import { parseNRC } from "./parser.js";
2
+ import { composeNRC } from "./composer.js";
3
+ function toMyanmarDigits(input) {
4
+ const enDigits = {
5
+ "0": "၀",
6
+ "1": "၁",
7
+ "2": "၂",
8
+ "3": "၃",
9
+ "4": "၄",
10
+ "5": "၅",
11
+ "6": "၆",
12
+ "7": "၇",
13
+ "8": "၈",
14
+ "9": "၉",
15
+ };
16
+ return input.replace(/[0-9]/g, (digit) => enDigits[digit] || digit);
17
+ }
18
+ const TYPE_MAP = {
19
+ N: { en: "N", mm: "နိုင်" },
20
+ P: { en: "P", mm: "ပြု" },
21
+ A: { en: "A", mm: "ဧည့်" },
22
+ T: { en: "T", mm: "ယာယီ" },
23
+ နိုင်: { en: "N", mm: "နိုင်" },
24
+ ပြု: { en: "P", mm: "ပြု" },
25
+ ဧည့်: { en: "A", mm: "ဧည့်" },
26
+ ယာယီ: { en: "T", mm: "ယာယီ" },
27
+ };
28
+ /**
29
+ * @param nrcString
30
+ * @param target
31
+ */
32
+ export function formatNRC(nrcString, target) {
33
+ const parsed = parseNRC(nrcString);
34
+ if (!parsed)
35
+ return null;
36
+ const typeObj = TYPE_MAP[parsed.type] || { en: "N", mm: "နိုင်" };
37
+ const citizenType = target === "mm" ? typeObj.mm : typeObj.en;
38
+ if (target === "en") {
39
+ return composeNRC({
40
+ stateCode: parsed.stateCode,
41
+ township: parsed.township,
42
+ type: citizenType,
43
+ number: parsed.number,
44
+ });
45
+ }
46
+ const stateMmDigits = toMyanmarDigits(parsed.stateCode);
47
+ const numberMmDigits = toMyanmarDigits(parsed.number);
48
+ return `${stateMmDigits}/${parsed.township}(${citizenType})${numberMmDigits}`;
49
+ }
50
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;AAG7D,SAAS,eAAe,CAAC,KAAa;IACpC,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,QAAQ,GAAoD;IAChE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE;IAC3B,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE;IACzB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE;IAC1B,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE;IAC1B,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE;IAC/B,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE;IAC3B,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE;IAC7B,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE;CAC9B,CAAC;AAEF;;;GAGG;AAEH,MAAM,UAAU,SAAS,CACvB,SAAiB,EACjB,MAAmB;IAEnB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAClE,MAAM,WAAW,GACf,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAE,OAAO,CAAC,EAAkB,CAAC;IAE7D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtD,OAAO,GAAG,aAAa,IAAI,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;AAChF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myanmar-nrc-validator",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "A simple npm package to validate Myanmar NRC numbers",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",