// npm 패키지
@antv/dw-random
버전
32
메인테이너
51
라이선스
MIT
최초 publish
2019-08-23
publisher
pddpd
tarball
1,258,655 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2021-06-23
// publisher 캠페인by pddpd
이 계정에서 catch된 패키지 6건고립된 catch가 아닙니다. 동일 publisher가 5개의 다른 패키지를 추가로 발행했고, 모두 파이프라인이 catch했습니다 — 일회성이 아닌 조직적 캠페인의 형태. 아래 링크는 각 형제 catch의 분석으로 이동합니다.
// offending code· @1.1.7· no static-pattern hits
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s), 1 other host(s).
- @1.1.7··AUTO-PUBLISHED·publisher: pddpdheuristic 75/100static flags 0llm benign (0.85) via ollamamature-packageosv-flagged:MAL-2026-3876
→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s), 1 other host(s).
// offending code· no static-pattern hits
--- package.json (entry) --- { "name": "@antv/dw-random", "version": "1.1.7", "description": "", "private": false, "browser": "dist/index.js", "main": "lib/index.js", "types": "lib/index.d.ts", "module": "es/index.js", "scripts": { "build": "rm -rf lib && tsc --pretty", "module": "rm -rf es && tsc -t ES5 -m ESNext --outDir es", "prepublish": "npm run module && npm run build && npm run pack", "pack": "webpack --config=webpack.config.js", "lint": "eslint --ext .ts src __tests__" }, "dependencies": { "date-fns": "^2.0.1", "mersenne-twister": "^1.1.0", "randexp": "^0.5.3" }, "publishConfig": { "access": "public" }, "license": "MIT", "keywords": [], "author": "AFX", "devDependencies": { "@babel/core": "^7.4.5", "@babel/plugin-proposal-class-properties": "^7.4.4", "@babel/plugin-proposal-object-rest-spread": "^7.4.4", "@babel/preset-env": "^7.4.5", "@babel/preset-typescript": "^7.7.4", "@types/mersenne-twister": "^1.1.2", "babel-loader": "^8.0.6", "tslib": "^2.2.0", "typescript": "^3.2.2", "webpack": "^4.41.2", "webpack-cli": "^3.3.9" }, "gitHead": "4fe7523e283ad61471881d3b9eb89bd527169812" } --- index.js (entry) --- "use strict"; /** * Random generate value * * @example * ```javascript * import random from '@antv/dw-random'; * * const name = random.name(); * ``` * * with your own seed * ```javascript * import { Random } from '@antv/dw-random'; * const random = new Random(200); * console.log(random.phone()); * ``` * extend * ```javascript * import { Random } from '@antv/dw-random'; * Random.mixin({ * user() { * return { * name: this.cname(), * aget: this.integer({ max: 50, min: 25 }) * } * } * }) * ``` * * @packageDocumentation */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); tslib_1.__exportStar(require("./basic-random"), exports); tslib_1.__exportStar(require("./text-random"), exports); tslib_1.__exportStar(require("./web-random"), exports); tslib_1.__exportStar(require("./color-random"), exports); tslib_1.__exportStar(require("./location-random"), exports); tslib_1.__exportStar(require("./datetime-random"), exports); tslib_1.__exportStar(require("./ch-address-random"), exports); tslib_1.__exportStar(require("./random"), exports); var random_1 = require("./random"); /** * eport all random method --- bundled output (OSV-MAL flagged — LLM scope expansion) --- --- lib/basic-random.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BasicRandom = void 0; var tslib_1 = require("tslib"); var mersenne_twister_1 = tslib_1.__importDefault(require("mersenne-twister")); var utils_1 = require("./utils"); var randexp_1 = tslib_1.__importDefault(require("randexp")); function IsFunc(target) { return typeof target === 'function'; } /** * Basic(bool int float regexp) Generater * basic generator for bool int float regexp * @public */ var BasicRandom = /** @class */ (function () { function BasicRandom(seed) { // if user has provided a function, use that as the generator if (IsFunc(seed)) { this.random = seed; } else { // If no generator function was provided, use our MT this.seed = seed; this.mt = new mersenne_twister_1.default(this.seed); this.random = this.mt.random.bind(this.mt); } } /** * extends class's prototype * @param options - methods * * @example * ```javascript * BasiceRandom.mixin({ * percent() { * return `${this.float({ min: 0, max: 100, fixed: 2 })}%`; * }, * }); * * const R = new Random(); * R.percent(); // '10.12%' * R.n(R.percent, 2) // ['12.10%', '25.22%'] * ``` */ BasicRandom.mixin = function (options) { var e_1, _a; try { for (var _b = tslib_1.__values(Object.entries(options)), _c = _b.next(); !_c.done; _c = _b.next()) { var _d = tslib_1.__read(_c.value, 2), key = _d[0], value = _d[1]; // @ts-ignore; this.prototype[key] = value; } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } }; /** * Return a random boolean val --- lib/ch-address-random.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChAddressRandom = void 0; var tslib_1 = require("tslib"); var basic_random_1 = require("./basic-random"); var ch_address_dict_1 = tslib_1.__importDefault(require("./ch-address-dict")); // prettier-ignore var countries = ['阿富汗', '奥兰群岛(芬兰属)', '阿尔巴尼亚', '阿尔及利亚', '美属萨摩亚', '安道尔', '安哥拉', '安圭拉岛', '南极洲', '安提瓜和巴布达', '阿根廷', '亚美尼亚', '阿鲁巴', '澳大利亚', '奥地利', '阿塞拜疆', '巴哈马', '巴林', '孟加拉国', '巴巴多斯', '白俄罗斯', '比利时', '伯利兹', '贝宁', '百慕大群岛', '不丹', '玻利维亚', '波斯尼亚和黑塞哥维那', '博茨瓦纳', '布韦岛', '巴西', '英属印度洋领地', '文莱', '保加利亚', '布基纳法索', '布隆迪', '柬埔寨', '喀麦隆', '加拿大', '佛得角', '开曼群岛', '中非共和国', '乍得', '智利', '中国', '圣诞岛', '科科斯群岛(基灵群岛)', '哥伦比亚', '科摩罗', '刚果', '刚果民主共和国', '库克群岛', '哥斯达黎加', '科特迪瓦', '克罗地亚', '古巴', '塞浦路斯', '捷克共和国', '丹麦', '吉布提', '多米尼加', '多米尼加共和国', '厄瓜多尔', '埃及', '萨尔瓦多', '赤道几内亚', '厄立特里亚', '爱沙尼亚', '埃塞俄比亚', '福克兰群岛(马尔维纳斯群岛)', '法罗群岛', '斐济群岛', '芬兰', '法国', '法属圭亚那', '法属波利尼西亚', '法属南极地区', '加蓬', '冈比亚', '乔治亚', '德国', '加纳', '直布罗陀', '希腊', '格陵兰', '格林纳达', '瓜德罗普岛', '关岛', '危地马拉', '格恩西', '几内亚', '几内亚比绍', '圭亚那', '海地', '赫德和麦克唐纳群岛', '梵蒂冈城', '洪都拉斯', '匈牙利', '冰岛', '印度', '印度尼西亚', '伊朗', '伊拉克', '爱尔兰', '马恩岛', '以色列', '意大利', '牙买加', '日本', '泽西', '约旦', '哈萨克斯坦', '肯尼亚', '基里巴斯', '朝鲜', '韩国', '科威特', '吉尔吉斯斯坦', '老挝', '拉脱维亚', '黎巴嫩', '莱索托', '利比里亚', '利比亚', '列支敦士登', '立陶宛', '卢森堡', '马其顿,前南斯拉夫共和国', '马达加斯加', '马拉维', '马来西亚', '马尔代夫', '马里', '马耳他', '马绍尔群岛', '马提尼克岛', '毛里塔尼亚', '毛里求斯', '马约特岛', '墨西哥', '密克罗尼西亚', '摩尔多瓦', '摩纳哥', '蒙古', '门的内哥罗(黑山)', '蒙特塞拉特', '摩洛哥', '莫桑比克', '缅甸', '纳米比亚', '瑙鲁', '尼泊尔', '荷兰', '荷属安的列斯群岛', '新喀里多尼亚', '新西兰', '尼加拉瓜', '尼日尔', '尼日利亚', '纽埃', '诺福克岛', '北马里亚纳群岛', '挪威', '阿曼', '巴基斯坦', '帕劳群岛', '巴勒斯坦当局', '巴拿马', '巴布亚新几内亚', '巴拉圭', '秘鲁', '菲律宾', '皮特克恩群岛', '波兰', '葡萄牙', '波多黎各', '卡塔尔', '留尼汪岛', '罗马尼亚', '俄罗斯', '卢旺达', '圣巴泰勒米', '圣赫勒拿岛', '圣基茨和尼维斯', '圣卢西亚', '圣马丁', '圣皮埃尔岛和密克隆岛', '圣文森特和格林纳丁斯', '萨摩亚', '圣马力诺', '圣多美和普林西比', '沙特阿拉伯', '塞内加尔', '塞尔维亚', '塞舌尔', '塞拉利昂', '新加坡', '斯洛伐克', '斯洛文尼亚', '所罗门群岛', '索马里', '南非', '南乔治亚和南桑德威奇群岛', '西班牙', '斯里兰卡', '苏丹', '苏里南', '斯瓦尔巴群岛和扬马延', '斯威士兰', '瑞典', '瑞士', '叙利亚', '塔吉 --- lib/color-random.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ColorRandom = void 0; var tslib_1 = require("tslib"); var basic_random_1 = require("./basic-random"); var database_1 = require("./database"); var utils_1 = require("./utils"); var color_utils_1 = require("./color-utils"); /** * Generator for color * @public */ var ColorRandom = /** @class */ (function (_super) { tslib_1.__extends(ColorRandom, _super); function ColorRandom() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.database = database_1.getColorDB(); return _this; } /** * return a rag color */ ColorRandom.prototype.rgb = function (options) { var casing = utils_1.initOptions(options, { casing: 'lower' }).casing; var rgbNums = color_utils_1.rgb.call(this, options); var value = "rgb(" + rgbNums.join(',') + "))"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a rag color with alpha */ ColorRandom.prototype.rgba = function (optios) { var _a = utils_1.initOptions(optios, { casing: 'lower', minA: 0, maxA: 1 }), casing = _a.casing, maxA = _a.maxA, minA = _a.minA; var alpah = this.float({ min: minA, max: maxA }); var rgbNums = color_utils_1.rgb.call(this, optios); var value = "rgba(" + rgbNums.concat(alpah).join(',') + ")"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a hsl color */ ColorRandom.prototype.hsl = function (options) { var casing = utils_1.initOptions(options, { casing: 'lower' }).casing; var value = "hsl(" + color_utils_1.hsl.call(this, options).join(',') + ")"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a hsl color with alpha */ ColorRandom.prototype.hsla = function (options) { var _a = utils_1.initOptions(options, { casing: 'lower', mi --- lib/datetime-random.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DateTimeRandom = void 0; var tslib_1 = require("tslib"); var date_fns_1 = require("date-fns"); var basic_random_1 = require("./basic-random"); var utils_1 = require("./utils"); var database_1 = require("./database"); /** * Generator for date * @public */ var DateTimeRandom = /** @class */ (function (_super) { tslib_1.__extends(DateTimeRandom, _super); function DateTimeRandom() { var _this = _super !== null && _super.apply(this, arguments) || this; /** * return a random date which format is yyyy-MM-dd */ _this.database = database_1.getDateTimeDB(); return _this; } /** * return a random full date {@link https://tools.ietf.org/html/rfc3339#section-5.6 | full-date} * @param options - the params */ DateTimeRandom.prototype.date = function (options) { return this.datetime(tslib_1.__assign(tslib_1.__assign({}, options), { format: 'yyyy-MM-dd' })); }; /** * return a random full time {@link https://tools.ietf.org/html/rfc3339#section-5.6 | full-time} * @param options - the params */ DateTimeRandom.prototype.time = function (options) { var opts = utils_1.initOptions(options, { short: false }); return this.datetime(tslib_1.__assign(tslib_1.__assign({}, options), { format: opts.short ? 'HH:mm:ss' : 'HH:mm:ssXXX' })); }; /** * return a random date-time (full-data T fulltime) {@link https://tools.ietf.org/html/rfc3339#section-5.6 | date-time} * * @remarks * {@link https://date-fns.org/v2.0.1/docs/format | format} * @param options - the params */ DateTimeRandom.prototype.datetime = function (options) { var opts = utils_1.initOptions(options, { format: "yy
