myanmar-nrc-validator 1.0.8 โ 1.0.13
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/README.md +167 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/parser.d.ts +1 -0
- package/dist/utils/parser.d.ts.map +1 -1
- package/dist/utils/parser.js +9 -0
- package/dist/utils/parser.js.map +1 -1
- package/package.json +3 -2
package/README.md
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
# myanmar-nrc-validator ๐ฒ๐ฒ
|
|
5
|
+
|
|
6
|
+
A comprehensive, robust, and zero-dependency (except Zod) TypeScript/JavaScript library for validating, parsing, formatting, and handling Myanmar National Registration Card (NRC) numbers, state regions, and citizen types. Supports both English and Myanmar text formats, along with a powerful CLI tool.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Features โจ
|
|
11
|
+
|
|
12
|
+
* **Validation**: Accurately validates complete Myanmar NRC numbers, state codes, and township codes.
|
|
13
|
+
* **Parsing**: Extracts structured data (State Number, Township Code, Citizen Type, and ID Numbers) from NRC strings.
|
|
14
|
+
* **Formatting**: Seamlessly converts NRC strings between Myanmar script and English format (`en` / `mm`).
|
|
15
|
+
* **Citizen Types & Regions**: Built-in utilities to retrieve Myanmar states, townships, and citizen types (`getStates`, `getStateTownships`, `getCitizenTypes`, etc.).
|
|
16
|
+
* **Composition**: Easily construct/compose valid NRC strings using `composeNRC`.
|
|
17
|
+
* **Zod Integration**: Provides built-in Zod schemas for form validation (e.g., in Express, NestJS, or React forms).
|
|
18
|
+
* **CLI Support**: Quickly check and parse NRC numbers straight from your terminal using `npx myanmar-nrc-validator` or `npx nrc`.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Installation ๐ฆ
|
|
23
|
+
|
|
24
|
+
Install the package via npm:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install myanmar-nrc-validator
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## CLI Usage ๐ป
|
|
34
|
+
|
|
35
|
+
You can test, validate, or parse NRC numbers directly from your terminal using `npx`:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx myanmar-nrc-validator "12/UKAMA(N)123456"
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx nrc "แแ/แฅแแ(แแญแฏแแบ)แแแแแ
แ"
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Programmatic Usage (JavaScript / TypeScript) ๐
|
|
51
|
+
|
|
52
|
+
### 1. Validate NRC (`validateNRC`)
|
|
53
|
+
|
|
54
|
+
Checks whether a given NRC string is valid or not.
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { validateNRC } from "myanmar-nrc-validator";
|
|
58
|
+
|
|
59
|
+
console.log(validateNRC("แแ/แฅแแ(แแญแฏแแบ)แแแแแ
แ")); // true
|
|
60
|
+
console.log(validateNRC("12/UKAMA(N)123456")); // true
|
|
61
|
+
console.log(validateNRC("99/XYZ(N)123456")); // false (Invalid state/township)
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 2. Parse NRC & Get Citizen Type (`parseNRC`, `getCitizenType`)
|
|
66
|
+
|
|
67
|
+
Extracts detailed information and citizen types from an NRC string.
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
import { parseNRC, getCitizenType } from "myanmar-nrc-validator";
|
|
71
|
+
|
|
72
|
+
const result = parseNRC("แแ/แฅแแ(แแญแฏแแบ)แแแแแ
แ");
|
|
73
|
+
console.log(result);
|
|
74
|
+
/*
|
|
75
|
+
Output:
|
|
76
|
+
{
|
|
77
|
+
stateNumber: "12",
|
|
78
|
+
townshipCode: "แฅแแ",
|
|
79
|
+
citizenType: "แแญแฏแแบ",
|
|
80
|
+
number: "แแแแแ
แ"
|
|
81
|
+
}
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
const citizenType = getCitizenType("12/UKAMA(N)123456");
|
|
85
|
+
console.log(citizenType); // แแญแฏแแบ (or N based on input)
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 3. Format NRC (`formatNRC`)
|
|
90
|
+
|
|
91
|
+
Converts NRC text between Myanmar script and English format (`en` / `mm`).
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
import { formatNRC } from "myanmar-nrc-validator";
|
|
95
|
+
|
|
96
|
+
// Convert to English format
|
|
97
|
+
console.log(formatNRC("แแ/แฅแแ(แแญแฏแแบ)แแแแแ
แ", "en"));
|
|
98
|
+
// Output: 12/UKAMA(N)123456
|
|
99
|
+
|
|
100
|
+
// Convert to Myanmar format
|
|
101
|
+
console.log(formatNRC("12/UKAMA(N)123456", "mm"));
|
|
102
|
+
// Output: แแ/แฅแแ(แแญแฏแแบ)แแแแแ
แ
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 4. Regions and Citizen Types Helpers (`getStates`, `getStateTownships`, `getCitizenTypes`)
|
|
107
|
+
|
|
108
|
+
Quickly access states, corresponding townships, and valid citizen categories.
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
import { getStates, getStateTownships, getCitizenTypes } from "myanmar-nrc-validator";
|
|
112
|
+
|
|
113
|
+
// Get all 14 states & regions
|
|
114
|
+
console.log(getStates());
|
|
115
|
+
|
|
116
|
+
// Get townships for a specific state (e.g., Yangon -> "12")
|
|
117
|
+
console.log(getStateTownships("12"));
|
|
118
|
+
|
|
119
|
+
// Get all available citizen types (แแญแฏแแบ, แงแแทแบ, แแผแฏ, etc.)
|
|
120
|
+
console.log(getCitizenTypes());
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 5. Compose NRC (`composeNRC`)
|
|
125
|
+
|
|
126
|
+
Build an NRC string programmatically from parts.
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
import { composeNRC } from "myanmar-nrc-validator";
|
|
130
|
+
|
|
131
|
+
const nrc = composeNRC({
|
|
132
|
+
stateNumber: "12",
|
|
133
|
+
townshipCode: "แฅแแ",
|
|
134
|
+
citizenType: "แแญแฏแแบ",
|
|
135
|
+
number: "123456",
|
|
136
|
+
format: "mm"
|
|
137
|
+
});
|
|
138
|
+
console.log(nrc); // แแ/แฅแแ(แแญแฏแแบ)แแแแแ
แ
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 6. Zod Schema Validation (`nrcStringSchema`)
|
|
143
|
+
|
|
144
|
+
Useful for API validation (e.g., with Zod, NestJS, Express, or React Hook Form).
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
import { nrcStringSchema } from "myanmar-nrc-validator";
|
|
148
|
+
|
|
149
|
+
const validationResult = nrcStringSchema.safeParse("แแ/แฅแแ(แแญแฏแแบ)แแแแแ
แ");
|
|
150
|
+
|
|
151
|
+
if (validationResult.success) {
|
|
152
|
+
console.log("Valid NRC!");
|
|
153
|
+
} else {
|
|
154
|
+
console.log("Validation failed:", validationResult.error.format());
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## License ๐
|
|
162
|
+
|
|
163
|
+
[MIT](https://www.google.com/search?q=LICENSE) ยฉ Aung Phyo Khant
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
แแฎ `README.md` แแญแฏแแบแแฑแธแแญแฏ แแแทแบ project แแฒแ README.md แแฒแแพแฌ แแฐแธแแแทแบแแญแฏแแบแแญแฏแท แแแซแแผแฎ แแแบแแปแฌแ แกแฌแธแแฏแถแธแกแแแบแแผแฑแแฝแฌแธแแซแแผแฎแแฑแฌแบ!
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,13 @@ export declare const CITIZENSHIP_TYPES: Record<string, {
|
|
|
6
6
|
en: string;
|
|
7
7
|
mm: string;
|
|
8
8
|
}>;
|
|
9
|
+
export declare function getCitizenTypes(): {
|
|
10
|
+
code: string;
|
|
11
|
+
en: string;
|
|
12
|
+
mm: string;
|
|
13
|
+
}[];
|
|
9
14
|
export { validateNRC, isValidTownship } from "./utils/validator.js";
|
|
10
|
-
export { parseNRC } from "./utils/parser.js";
|
|
15
|
+
export { parseNRC, getCitizenType } from "./utils/parser.js";
|
|
11
16
|
export type { ParsedNRC } from "./utils/parser.js";
|
|
12
17
|
export { composeNRC } from "./utils/composer.js";
|
|
13
18
|
export type { ComposeOptions, CitizenType } from "./utils/composer.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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,wBAAgB,eAAe;;;;IAM9B;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,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
|
@@ -2,8 +2,15 @@ import statesData from "./data/states.json" with { type: "json" };
|
|
|
2
2
|
import citizenTypesData from "./data/citizen-types.json" with { type: "json" };
|
|
3
3
|
export const STATE_REGIONS = statesData;
|
|
4
4
|
export const CITIZENSHIP_TYPES = citizenTypesData;
|
|
5
|
+
export function getCitizenTypes() {
|
|
6
|
+
return Object.entries(CITIZENSHIP_TYPES).map(([code, info]) => ({
|
|
7
|
+
code,
|
|
8
|
+
en: info.en,
|
|
9
|
+
mm: info.mm,
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
5
12
|
export { validateNRC, isValidTownship } from "./utils/validator.js";
|
|
6
|
-
export { parseNRC } from "./utils/parser.js";
|
|
13
|
+
export { parseNRC, getCitizenType } from "./utils/parser.js";
|
|
7
14
|
export { composeNRC } from "./utils/composer.js";
|
|
8
15
|
export { getStates, getStateTownships } from "./utils/regions.js";
|
|
9
16
|
export { formatNRC } from "./utils/formatter.js";
|
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;
|
|
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,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI;QACJ,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,EAAE,EAAE,IAAI,CAAC,EAAE;KACZ,CAAC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7D,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"}
|
package/dist/utils/parser.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuC5D"}
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuC5D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ/D"}
|
package/dist/utils/parser.js
CHANGED
|
@@ -32,4 +32,13 @@ export function parseNRC(nrcString) {
|
|
|
32
32
|
raw: nrcString.trim(),
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
+
export function getCitizenType(nrcString) {
|
|
36
|
+
if (!nrcString)
|
|
37
|
+
return null;
|
|
38
|
+
const match = nrcString.match(/\(([^)]+)\)/);
|
|
39
|
+
if (match && match[1]) {
|
|
40
|
+
return match[1].trim();
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
35
44
|
//# sourceMappingURL=parser.js.map
|
package/dist/utils/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,aAAa,GAAG,UAAwD,CAAC;AAY/E,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACxC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAErD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GACT,iEAAiE,CAAC;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAEjE,OAAO;QACL,SAAS;QACT,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,QAAQ;QACR,IAAI;QACJ,MAAM;QACN,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/utils/parser.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,aAAa,GAAG,UAAwD,CAAC;AAY/E,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACxC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAErD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GACT,iEAAiE,CAAC;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAEjE,OAAO;QACL,SAAS;QACT,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,QAAQ;QACR,IAAI;QACJ,MAAM;QACN,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "myanmar-nrc-validator",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
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",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"bin": {
|
|
17
|
-
"myanmar-nrc-validator": "./dist/cli.js"
|
|
17
|
+
"myanmar-nrc-validator": "./dist/cli.js",
|
|
18
|
+
"nrc": "./dist/cli.js"
|
|
18
19
|
},
|
|
19
20
|
"scripts": {
|
|
20
21
|
"build": "tsc",
|