all-bangladeshi-addresses 1.0.0
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 +303 -0
- package/dist/data/allDataBN.json +3710 -0
- package/dist/data/allDataEN.json +720 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +113 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.js +2 -0
- package/package.json +35 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AddressDataBN, AddressDataEN } from "./types";
|
|
2
|
+
export declare const DivisionNameEN: Record<string, string>;
|
|
3
|
+
export declare const DivisionNameBN: Record<string, string>;
|
|
4
|
+
export declare const DivisionName: Record<string, string>;
|
|
5
|
+
export declare const allDivisionEN: () => string[];
|
|
6
|
+
export declare const divisionalDataENOf: (divisionName: string) => AddressDataEN[];
|
|
7
|
+
export declare const districtENOf: (divisionName: string) => string[];
|
|
8
|
+
export declare const allDistrictEN: () => string[];
|
|
9
|
+
export declare const upazillasENOf: (districtName: string) => string[];
|
|
10
|
+
export declare const allUpazillaEN: () => string[];
|
|
11
|
+
export declare const thanasENOf: (districtName: string) => string[];
|
|
12
|
+
export declare const allThanaEN: () => string[];
|
|
13
|
+
export declare const allDivisionBN: () => string[];
|
|
14
|
+
export declare const divisionalDataBNOf: (divisionName: string) => AddressDataBN[];
|
|
15
|
+
export declare const districtBNOf: (divisionName: string) => string[];
|
|
16
|
+
export declare const allDistrictBN: () => string[];
|
|
17
|
+
export declare const upazillasBNOf: (districtName: string) => string[];
|
|
18
|
+
export declare const allupazillaBN: () => string[];
|
|
19
|
+
export declare const thanasBNOf: (districtName: string) => string[];
|
|
20
|
+
export declare const allThanaBN: () => string[];
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.allThanaBN = exports.thanasBNOf = exports.allupazillaBN = exports.upazillasBNOf = exports.allDistrictBN = exports.districtBNOf = exports.divisionalDataBNOf = exports.allDivisionBN = exports.allThanaEN = exports.thanasENOf = exports.allUpazillaEN = exports.upazillasENOf = exports.allDistrictEN = exports.districtENOf = exports.divisionalDataENOf = exports.allDivisionEN = exports.DivisionName = exports.DivisionNameBN = exports.DivisionNameEN = void 0;
|
|
7
|
+
const allDataEN_json_1 = __importDefault(require("./data/allDataEN.json"));
|
|
8
|
+
const allDataBN_json_1 = __importDefault(require("./data/allDataBN.json"));
|
|
9
|
+
// Helper to remove exact duplicate objects from the raw array
|
|
10
|
+
function cleanData(arr) {
|
|
11
|
+
const seen = new Set();
|
|
12
|
+
return arr.filter((item) => {
|
|
13
|
+
const str = JSON.stringify(item);
|
|
14
|
+
if (seen.has(str)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
seen.add(str);
|
|
18
|
+
return true;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
// Helper to get unique strings (safely handles undefined/null/non-strings)
|
|
22
|
+
const getUnique = (arr) => {
|
|
23
|
+
return [
|
|
24
|
+
...new Set(arr
|
|
25
|
+
.filter((s) => typeof s === "string")
|
|
26
|
+
.map((s) => s.trim())
|
|
27
|
+
.filter((s) => s.length > 0)),
|
|
28
|
+
];
|
|
29
|
+
};
|
|
30
|
+
// Case-insensitive equality helper
|
|
31
|
+
const equalsIgnoreCase = (a, b) => a.toLowerCase() === b.toLowerCase();
|
|
32
|
+
// Load and clean data
|
|
33
|
+
const dataEN = cleanData(allDataEN_json_1.default);
|
|
34
|
+
const dataBN = cleanData(allDataBN_json_1.default);
|
|
35
|
+
// CONSTANTS / ENUMS
|
|
36
|
+
exports.DivisionNameEN = {};
|
|
37
|
+
getUnique(dataEN.map((i) => i.division)).forEach((d) => (exports.DivisionNameEN[d] = d));
|
|
38
|
+
exports.DivisionNameBN = {};
|
|
39
|
+
getUnique(dataBN.map((i) => i["division"])).forEach((d) => (exports.DivisionNameBN[d] = d));
|
|
40
|
+
// Alias for English default
|
|
41
|
+
exports.DivisionName = exports.DivisionNameEN;
|
|
42
|
+
// ENGLISH METHODS
|
|
43
|
+
const allDivisionEN = () => {
|
|
44
|
+
return getUnique(dataEN.map((item) => item.division));
|
|
45
|
+
};
|
|
46
|
+
exports.allDivisionEN = allDivisionEN;
|
|
47
|
+
const divisionalDataENOf = (divisionName) => {
|
|
48
|
+
return dataEN.filter((item) => equalsIgnoreCase(item.division, divisionName));
|
|
49
|
+
};
|
|
50
|
+
exports.divisionalDataENOf = divisionalDataENOf;
|
|
51
|
+
const districtENOf = (divisionName) => {
|
|
52
|
+
const filtered = dataEN.filter((item) => equalsIgnoreCase(item.division, divisionName));
|
|
53
|
+
return getUnique(filtered.map((item) => item.district));
|
|
54
|
+
};
|
|
55
|
+
exports.districtENOf = districtENOf;
|
|
56
|
+
const allDistrictEN = () => {
|
|
57
|
+
return getUnique(dataEN.map((item) => item.district));
|
|
58
|
+
};
|
|
59
|
+
exports.allDistrictEN = allDistrictEN;
|
|
60
|
+
const upazillasENOf = (districtName) => {
|
|
61
|
+
const filtered = dataEN.filter((item) => equalsIgnoreCase(item.district, districtName));
|
|
62
|
+
return getUnique(filtered.map((item) => item.upazilla));
|
|
63
|
+
};
|
|
64
|
+
exports.upazillasENOf = upazillasENOf;
|
|
65
|
+
const allUpazillaEN = () => {
|
|
66
|
+
return getUnique(dataEN.map((item) => item.upazilla));
|
|
67
|
+
};
|
|
68
|
+
exports.allUpazillaEN = allUpazillaEN;
|
|
69
|
+
const thanasENOf = (districtName) => {
|
|
70
|
+
const filtered = dataEN.filter((item) => equalsIgnoreCase(item.district, districtName));
|
|
71
|
+
return getUnique(filtered.map((item) => item.thana));
|
|
72
|
+
};
|
|
73
|
+
exports.thanasENOf = thanasENOf;
|
|
74
|
+
const allThanaEN = () => {
|
|
75
|
+
return getUnique(dataEN.map((item) => item.thana));
|
|
76
|
+
};
|
|
77
|
+
exports.allThanaEN = allThanaEN;
|
|
78
|
+
// BANGLA METHODS
|
|
79
|
+
const allDivisionBN = () => {
|
|
80
|
+
return getUnique(dataBN.map((item) => item["division"]));
|
|
81
|
+
};
|
|
82
|
+
exports.allDivisionBN = allDivisionBN;
|
|
83
|
+
const divisionalDataBNOf = (divisionName) => {
|
|
84
|
+
return dataBN.filter((item) => equalsIgnoreCase(String(item["division"]), divisionName));
|
|
85
|
+
};
|
|
86
|
+
exports.divisionalDataBNOf = divisionalDataBNOf;
|
|
87
|
+
const districtBNOf = (divisionName) => {
|
|
88
|
+
const filtered = dataBN.filter((item) => equalsIgnoreCase(String(item["division"]), divisionName));
|
|
89
|
+
return getUnique(filtered.map((item) => item["district"]));
|
|
90
|
+
};
|
|
91
|
+
exports.districtBNOf = districtBNOf;
|
|
92
|
+
const allDistrictBN = () => {
|
|
93
|
+
return getUnique(dataBN.map((item) => item["district"]));
|
|
94
|
+
};
|
|
95
|
+
exports.allDistrictBN = allDistrictBN;
|
|
96
|
+
const upazillasBNOf = (districtName) => {
|
|
97
|
+
const filtered = dataBN.filter((item) => equalsIgnoreCase(String(item["district"]), districtName));
|
|
98
|
+
return getUnique(filtered.map((item) => item["upazilla"]));
|
|
99
|
+
};
|
|
100
|
+
exports.upazillasBNOf = upazillasBNOf;
|
|
101
|
+
const allupazillaBN = () => {
|
|
102
|
+
return getUnique(dataBN.map((item) => item["upazilla"]));
|
|
103
|
+
};
|
|
104
|
+
exports.allupazillaBN = allupazillaBN;
|
|
105
|
+
const thanasBNOf = (districtName) => {
|
|
106
|
+
const filtered = dataBN.filter((item) => equalsIgnoreCase(String(item["district"]), districtName));
|
|
107
|
+
return getUnique(filtered.map((item) => item["thana"]));
|
|
108
|
+
};
|
|
109
|
+
exports.thanasBNOf = thanasBNOf;
|
|
110
|
+
const allThanaBN = () => {
|
|
111
|
+
return getUnique(dataBN.map((item) => item["thana"]));
|
|
112
|
+
};
|
|
113
|
+
exports.allThanaBN = allThanaBN;
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "all-bangladeshi-addresses",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Bangladesh address data (Division, District, Upazilla, Thana) in Bangla and English",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc && copyfiles -u 1 src/data/*.json dist/",
|
|
12
|
+
"prepublishOnly": "npm run build"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"bangladesh",
|
|
16
|
+
"address",
|
|
17
|
+
"district",
|
|
18
|
+
"upazila",
|
|
19
|
+
"thana",
|
|
20
|
+
"division",
|
|
21
|
+
"bangla",
|
|
22
|
+
"bd-geo",
|
|
23
|
+
"bangladeshi-addresses",
|
|
24
|
+
"bangladesh-addresses",
|
|
25
|
+
"bangladesh-geo"
|
|
26
|
+
],
|
|
27
|
+
"author": "Shanta Islam",
|
|
28
|
+
"license": "ISC",
|
|
29
|
+
"type": "commonjs",
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "^25.0.3",
|
|
32
|
+
"copyfiles": "^2.4.1",
|
|
33
|
+
"typescript": "^5.9.3"
|
|
34
|
+
}
|
|
35
|
+
}
|