cb10-sdk
Version:
Cybozu Office 10 SDK for Node.js
75 lines • 3.05 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _a, _UserHtmlParser_extractUserInfo;
Object.defineProperty(exports, "__esModule", { value: true });
const cheerio = __importStar(require("cheerio"));
class UserHtmlParser {
/**
* ユーザー一覧のHTMLをパース
*
* @param html - HTML文字列
* @returns ユーザー情報の配列
*/
static parseUserList(html) {
const $ = cheerio.load(html);
const users = [];
$('table.dataList tr > td:nth-child(1) a').each((_, elem) => {
const userInfo = __classPrivateFieldGet(_a, _a, "m", _UserHtmlParser_extractUserInfo).call(_a, $, elem);
if (userInfo && userInfo.uID !== 0) {
users.push(userInfo);
}
});
return users;
}
}
_a = UserHtmlParser, _UserHtmlParser_extractUserInfo = function _UserHtmlParser_extractUserInfo($, elem) {
const $elem = $(elem);
const href = $elem.attr('href');
const uidMatch = href?.match(/(?<=uid=)[0-9]+/i);
if (!uidMatch) {
return null;
}
return {
uID: Number(uidMatch[0]),
userName: $elem.text(),
};
};
exports.default = UserHtmlParser;
//# sourceMappingURL=parser.js.map