🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

ken-all

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ken-all - npm Package Compare versions

Comparing version
0.4.2
to
0.5.0
+12
-36
package.json
{
"name": "ken-all",
"version": "0.4.2",
"version": "0.5.0",
"description": "Ken All は、郵便番号で住所を検索できる npm パッケージです。",

@@ -11,4 +11,3 @@ "keywords": [

"engines": {
"node": ">=12.22.2",
"yarn": ">=1.19.0"
"node": ">=18"
},

@@ -35,38 +34,15 @@ "homepage": "https://github.com/numb86/ken-all",

"scripts": {
"build": "yarn && mkdir -p ./esm && rm -rf esm/* && tsc -p ./tsconfig.esm.json",
"lint": "run-p lint:*",
"lint:src": "eslint './src/**/*.ts'",
"lint:generateCsv": "eslint './generateCsv/**/*.ts'",
"lint:test": "eslint './test/**/*.ts'",
"test": "mocha --require espower-typescript/guess test/**/*.ts",
"type-check": "run-p type-check:*",
"type-check:src": "tsc src/*.ts --noEmit",
"type-check:generateCsv": "tsc generateCsv/*.ts --noEmit",
"generate-csv": "ts-node generateCsv/index.ts",
"release": "standard-version",
"commitlint": "git describe --abbrev=0 --tags | xargs -I@ commitlint --from=@",
"prepublishOnly": "yarn run build"
"build": "npm ci && mkdir -p ./esm && rm -rf esm/* && tsc -p ./tsconfig.esm.json",
"lint": "oxlint src test",
"test": "tsx --test test/**/*.test.ts",
"type-check": "tsc --noEmit",
"prepublishOnly": "npm run build"
},
"devDependencies": {
"@commitlint/cli": "^9.1.1",
"@commitlint/config-conventional": "10",
"@types/mocha": "^7.0.1",
"@types/node": "^14.14.35",
"@types/power-assert": "^1.5.3",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"eslint": "^7.22.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-import": "^2.22.1",
"espower-typescript": "^9.0.2",
"iconv-lite": "^0.5.1",
"mocha": "^7.1.2",
"npm-run-all": "^4.1.5",
"power-assert": "^1.6.1",
"prettier": "^2.2.1",
"standard-version": "^9.0.0",
"ts-node": "^8.4.1",
"typescript": "^4.2.3"
"@types/node": "^24.5.0",
"oxlint": "^1.43.0",
"prettier": "^3.0.0",
"tsx": "^4.20.5",
"typescript": "7.0.2"
}
}

@@ -174,13 +174,7 @@ <div align="center">

Node.js には`fetch`が存在しないので、その対応が必要になります。
また、ES Modules で利用するか CommonJS で利用するかで、コードが変わります。
いずれも Node.js のバージョン`12.22.1`で確認しています。
Node.js 18 以降ではグローバルに`fetch`が存在するので、そのまま利用できます。
```js
// ESM
import fetch from "node-fetch";
import KenAll from "ken-all";
global.fetch = fetch;
// [['東京都', '千代田区', '大手町']];

@@ -190,14 +184,2 @@ KenAll("1000004").then((res) => console.log(res));

```javascript
// CJS
const fetch = require("node-fetch");
global.fetch = fetch;
import("ken-all").then((KenAll) => {
// [['東京都', '千代田区', '大手町']];
KenAll.default("1000004").then((res) => console.log(res));
});
```
## script タグを使った読み込み

@@ -204,0 +186,0 @@

declare type Address = [string, string, string, string];
export declare type NormalizedAddress = [string, string, string];
export declare const generateAddressListFromText: (rawData: string) => Address[];
export declare const extractTargetAddress: (postCodeBack: string, addressList: Address[]) => Address[];
export declare const normalizeAddressList: (addressList: Address[]) => NormalizedAddress[];
export {};
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};
export var generateAddressListFromText = function (rawData) {
var lines = rawData
.split('\n')
.filter(function (line) { return line.length > 0; });
return lines.map(function (line) {
var address = line.split(',');
if (address.length !== 4)
throw new Error('CSV was broken.');
return address.map(function (item) {
return item.replace(/"/g, '');
});
});
};
export var extractTargetAddress = function (postCodeBack, addressList) {
return addressList.filter(function (address) { return address[0] === postCodeBack; });
};
var removeFirstItemFromAddress = function (address) {
var copiedArray = __spreadArray([], address);
copiedArray.shift();
if (copiedArray.length !== 3) {
throw new Error('Failed removeFirstItemFromAddress.');
}
return copiedArray;
};
export var normalizeAddressList = function (addressList) {
return addressList.map(function (address) { return removeFirstItemFromAddress(address); });
};
//# sourceMappingURL=address.js.map
{"version":3,"file":"address.js","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":";;;;;AAGA,MAAM,CAAC,IAAM,2BAA2B,GAAG,UAAC,OAAe;IACzD,IAAM,KAAK,GAAa,OAAO;SAC5B,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,UAAC,IAAY,IAAc,OAAA,IAAI,CAAC,MAAM,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,GAAG,CACd,UAAC,IAAY;QACX,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,IAAY;YAC9B,OAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAAtB,CAAsB,CACZ,CAAC;IACf,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,YAAoB,EACpB,WAAsB;IAEtB,OAAA,WAAW,CAAC,MAAM,CAChB,UAAC,OAAgB,IAAc,OAAA,OAAO,CAAC,CAAC,CAAC,KAAK,YAAY,EAA3B,CAA2B,CAC3D;AAFD,CAEC,CAAC;AAEJ,IAAM,0BAA0B,GAAG,UAAC,OAAgB;IAClD,IAAM,WAAW,qBAAO,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,OAAO,WAAgC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,WAAsB;IAEtB,OAAA,WAAW,CAAC,GAAG,CACb,UAAC,OAAgB,IAAwB,OAAA,0BAA0B,CAAC,OAAO,CAAC,EAAnC,CAAmC,CAC7E;AAFD,CAEC,CAAC"}
declare const fetchCsv: (postCodeFront: string) => Promise<Response>;
export default fetchCsv;
var fetchCsv = function (postCodeFront) {
return fetch("https://ken-all.numb86.net/csv/" + postCodeFront + ".csv", { mode: 'cors' });
};
export default fetchCsv;
//# sourceMappingURL=fetchCsv.js.map
{"version":3,"file":"fetchCsv.js","sourceRoot":"","sources":["../src/fetchCsv.ts"],"names":[],"mappings":"AAAA,IAAM,QAAQ,GAAG,UAAC,aAAqB;IACrC,OAAA,KAAK,CAAC,oCAAkC,aAAa,SAAM,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;AAA5E,CAA4E,CAAC;AAE/E,eAAe,QAAQ,CAAC"}
import { NormalizedAddress } from './address.js';
declare const KenAll: (postCode: string) => Promise<NormalizedAddress[]>;
export default KenAll;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
// To publish as an ESM package, need to use the .js extension
import { generateAddressListFromText, extractTargetAddress, normalizeAddressList, } from './address.js';
import fetchCsv from './fetchCsv.js';
var KenAll = function (postCode) { return __awaiter(void 0, void 0, void 0, function () {
var res, rawData, addressList, targetList;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (typeof postCode !== 'string') {
throw new Error('The argument must be a string.');
}
if (!/^[0-9]{7}$/.test(postCode)) {
throw new Error('The post code is always seven digits half-width numbers.');
}
return [4 /*yield*/, fetchCsv(postCode.slice(0, 3))];
case 1:
res = _a.sent();
if (res.status === 404 || res.status === 403) {
return [2 /*return*/, []];
}
if (res.status >= 400) {
throw new Error('Network error.');
}
return [4 /*yield*/, res.text()];
case 2:
rawData = _a.sent();
addressList = generateAddressListFromText(rawData);
targetList = extractTargetAddress(postCode.slice(3), addressList);
return [2 /*return*/, normalizeAddressList(targetList)];
}
});
}); };
export default KenAll;
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAA8D;AAC9D,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,IAAM,MAAM,GAAG,UAAO,QAAgB;;;;;gBACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;oBAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;iBACnD;gBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAChC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;iBAC7E;gBAEW,qBAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAA;;gBAA1C,GAAG,GAAG,SAAoC;gBAChD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC5C,sBAAO,EAAE,EAAC;iBACX;gBACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;oBACrB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;iBACnC;gBAEuB,qBAAM,GAAG,CAAC,IAAI,EAAE,EAAA;;gBAAlC,OAAO,GAAW,SAAgB;gBAElC,WAAW,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;gBACnD,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBACxE,sBAAO,oBAAoB,CAAC,UAAU,CAAC,EAAC;;;KACzC,CAAC;AAEF,eAAe,MAAM,CAAC"}