{"id":22677821,"url":"https://github.com/leask/utilitas","last_synced_at":"2025-04-12T14:25:23.912Z","repository":{"id":57389105,"uuid":"268975946","full_name":"Leask/utilitas","owner":"Leask","description":"Just another common utility for JavaScript.","archived":false,"fork":false,"pushed_at":"2024-05-23T06:00:40.000Z","size":12364,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-23T08:37:28.162Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Leask.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-03T03:02:57.000Z","updated_at":"2024-05-27T11:56:10.923Z","dependencies_parsed_at":"2023-11-21T09:28:52.382Z","dependency_job_id":"80194317-d749-4716-9390-234d8946311c","html_url":"https://github.com/Leask/utilitas","commit_stats":{"total_commits":1210,"total_committers":1,"mean_commits":1210.0,"dds":0.0,"last_synced_commit":"aeb3f2630aa709711709cf11e71399d1c19c6e87"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leask%2Futilitas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leask%2Futilitas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leask%2Futilitas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leask%2Futilitas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Leask","download_url":"https://codeload.github.com/Leask/utilitas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248579347,"owners_count":21127802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-09T18:02:02.492Z","updated_at":"2025-04-12T14:25:23.896Z","avatar_url":"https://github.com/Leask.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧰 utilitas\n\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue)](./LICENSE)\n[![Node.js Package](https://github.com/Leask/utilitas/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/Leask/utilitas/actions/workflows/npm-publish.yml)\n\nJust another common utility for JavaScript.\n\nWorks in Node.js and modern browsers.\n\n## Projects developed using `utilitas`\n\n- [🤖️ halbot](https://github.com/Leask/halbot)\n- [Socratex](https://github.com/Leask/socratex)\n- [`S`tar`L`ink `S`ignal `S`tatus 🛰️](https://github.com/Leask/Starlink-Signal-Status)\n- [🎸 webjam](https://github.com/Leask/webjam)\n\n## APIs\n\n### [alan](./lib/alan.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | @anthropic-ai/sdk,@anthropic-ai/vertex-sdk,@google/genai,js-tiktoken,OpenAI | \n | default | AsyncFunction | options | \n | ATTACHMENTS | String | [ATTACHMENTS] | \n | CLOUD_37_SONNET | String | claude-3-7-sonnet@20250219 | \n | CODE_INTERPRETER | Object | {\"type\":\"code_interpreter\"} | \n | DEEPSEEK_R1 | String | deepseek-r1 | \n | FEATURE_ICONS | Object | {\"audio\":\"📣\",\"deepsearch\":\"🔍\",\"fast\":\"⚡️\",\"image\":\"🎨\",\"json\":\"📊\",\"reasoning\":\"🧠\",\"tools\":\"🧰\",\"vision\":\"👁️\"} | \n | FUNCTION | Object | {\"type\":\"function\"} | \n | GEMINI_20_FLASH | String | gemini-2.0-flash | \n | GPT_45 | String | gpt-4.5-preview | \n | GPT_4O | String | gpt-4o | \n | GPT_O1 | String | o1 | \n | GPT_O3_MINI | String | o3-mini | \n | OPENAI_VOICE | String | OPENAI_VOICE | \n | RETRIEVAL | Object | {\"type\":\"retrieval\"} | \n | TEXT_EMBEDDING_3_SMALL | String | text-embedding-3-small | \n | _NO_RENDER | Array | INSTRUCTIONS,MODELS,DEFAULT_MODELS | \n | analyzeSessions | AsyncFunction | sessionIds, options | \n | buildGptTrainingCase | Function | prompt, response, options | \n | buildGptTrainingCases | Function | cases, opts | \n | cancelGptFineTuningJob | AsyncFunction | aiId, job_id, options | \n | countTokens | AsyncFunction | input, options | \n | createGeminiEmbedding | AsyncFunction | aiId, input, options | \n | createGptFineTuningJob | AsyncFunction | aiId, training_file, options | \n | createOpenAIEmbedding | AsyncFunction | aiId, input, options | \n | deleteFile | AsyncFunction | aiId, file_id, options | \n | distillFile | AsyncFunction | attachments, o | \n | getAi | AsyncFunction | id, options | \n | getChatAttachmentCost | AsyncFunction | options | \n | getChatPromptLimit | AsyncFunction | options | \n | getGptFineTuningJob | AsyncFunction | aiId, job_id, options | \n | getSession | AsyncFunction | sessionId, options | \n | init | AsyncFunction | options | \n | initChat | AsyncFunction | options | \n | jpeg | String | image/jpeg | \n | listFiles | AsyncFunction | aiId, options | \n | listGptFineTuningEvents | AsyncFunction | aiId, job_id, options | \n | listGptFineTuningJobs | AsyncFunction | aiId, options | \n | listOpenAIModels | AsyncFunction | aiId, options | \n | m4a | String | audio/m4a | \n | mp3 | String | audio/mp3 | \n | mp4 | String | video/mp4 | \n | mpeg | String | video/mpeg | \n | mpega | String | audio/mpeg | \n | mpga | String | audio/mpga | \n | ogg | String | audio/ogg | \n | prompt | AsyncFunction | input, options | \n | promptAnthropic | AsyncFunction | aiId, content, options | \n | promptGemini | AsyncFunction | aiId, content, options | \n | promptOpenAI | AsyncFunction | aiId, content, options | \n | resetSession | AsyncFunction | sessionId, options | \n | tailGptFineTuningEvents | AsyncFunction | aiId, job_id, options | \n | talk | AsyncFunction | input, options | \n | trimPrompt | AsyncFunction | getPrompt, trimFunc, contextWindow, options | \n | uploadFile | AsyncFunction | aiId, input, options | \n | uploadFileForFineTuning | AsyncFunction | aiId, content, options | \n | wav | String | audio/wav | \n | webm | String | audio/webm | \n\n### [bee](./lib/bee.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | puppeteer | \n | default | AsyncFunction |  | \n | browse | AsyncFunction | url, options | \n | end | AsyncFunction |  | \n | init | AsyncFunction |  | \n\n### [bot](./lib/bot.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | mime,telegraf | \n | default | AsyncFunction | options | \n | BINARY_STRINGS | Array | off,on | \n | COMMAND_DESCRIPTION_LENGTH | Number | 256 | \n | COMMAND_LENGTH | Number | 32 | \n | COMMAND_LIMIT | Number | 100 | \n | EMOJI_BOT | String | 🤖 | \n | EMOJI_SPEECH | String | 👂 | \n | EMOJI_THINKING | String | 💬 | \n | GROUP_LIMIT | Number | 3000 | \n | HELLO | String | Hello! | \n | MESSAGE_LENGTH_LIMIT | Number | 4096 | \n | MESSAGE_SOFT_LIMIT | Number | 3891 | \n | PRIVATE_LIMIT | Number | 1000 | \n | end | AsyncFunction | async, options | \n | init | AsyncFunction | options | \n | lines | Function | arr, sep | \n | lines2 | Function | arr | \n | newCommand | Function | command, description | \n | oList | Function | arr, k | \n | paging | Function | message, options | \n | send | AsyncFunction | chatId, content, options | \n | sendMd | Function | cId, cnt, opt | \n | uList | Function | arr | \n\n### [boxes](./lib/boxes.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | Object | {\"topLeft\":\"╭\",\"top\":\"─\",\"topRight\":\"╮\",\"right\":\"│\",\"bottomRight\":\"╯\",\"bottom\":\"─\",\"bottomLeft\":\"╰\",\"left\":\"│\"} | \n | arrow | Object | {\"topLeft\":\"↘\",\"top\":\"↓\",\"topRight\":\"↙\",\"right\":\"←\",\"bottomRight\":\"↖\",\"bottom\":\"↑\",\"bottomLeft\":\"↗\",\"left\":\"→\"} | \n | bold | Object | {\"topLeft\":\"┏\",\"top\":\"━\",\"topRight\":\"┓\",\"right\":\"┃\",\"bottomRight\":\"┛\",\"bottom\":\"━\",\"bottomLeft\":\"┗\",\"left\":\"┃\"} | \n | classic | Object | {\"topLeft\":\"+\",\"top\":\"-\",\"topRight\":\"+\",\"right\":\"|\",\"bottomRight\":\"+\",\"bottom\":\"-\",\"bottomLeft\":\"+\",\"left\":\"|\"} | \n | double | Object | {\"topLeft\":\"╔\",\"top\":\"═\",\"topRight\":\"╗\",\"right\":\"║\",\"bottomRight\":\"╝\",\"bottom\":\"═\",\"bottomLeft\":\"╚\",\"left\":\"║\"} | \n | doubleSingle | Object | {\"topLeft\":\"╒\",\"top\":\"═\",\"topRight\":\"╕\",\"right\":\"│\",\"bottomRight\":\"╛\",\"bottom\":\"═\",\"bottomLeft\":\"╘\",\"left\":\"│\"} | \n | round | Object | {\"topLeft\":\"╭\",\"top\":\"─\",\"topRight\":\"╮\",\"right\":\"│\",\"bottomRight\":\"╯\",\"bottom\":\"─\",\"bottomLeft\":\"╰\",\"left\":\"│\"} | \n | single | Object | {\"topLeft\":\"┌\",\"top\":\"─\",\"topRight\":\"┐\",\"right\":\"│\",\"bottomRight\":\"┘\",\"bottom\":\"─\",\"bottomLeft\":\"└\",\"left\":\"│\"} | \n | singleDouble | Object | {\"topLeft\":\"╓\",\"top\":\"─\",\"topRight\":\"╖\",\"right\":\"║\",\"bottomRight\":\"╜\",\"bottom\":\"─\",\"bottomLeft\":\"╙\",\"left\":\"║\"} | \n\n### [cache](./lib/cache.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | ioredis | \n | default | AsyncFunction | options | \n | del | AsyncFunction |  | \n | get | AsyncFunction |  | \n | init | AsyncFunction | options | \n | set | AsyncFunction | key, value, options | \n | setEx | AsyncFunction | key, value, ttl, options | \n\n### [callosum](./lib/callosum.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | AsyncFunction | options | \n | assertFunc | Function |  | \n | assign | Function | k, v, o | \n | boardcast | Function | action, data | \n | call | AsyncFunction | func, options | \n | del | Function | k, s, o | \n | delKey | AsyncFunction | args, options | \n | end | AsyncFunction |  | \n | engage | Function | worker, action, data | \n | flush | AsyncFunction | k, o | \n | get | AsyncFunction | ...args | \n | getFunc | Function | name, options | \n | getListeners | Function | i | \n | ignore | Function | i | \n | init | AsyncFunction | options | \n | isPrimary | Boolean | true | \n | isWorker | Boolean | false | \n | on | Function | action, callback, options | \n | once | Function | action, cbf, opts | \n | pop | AsyncFunction | k, o | \n | push | Function | k, v, o | \n | queue | Function | k, v, o | \n | register | Function | name, func, options | \n | report | Function | action, data | \n | set | AsyncFunction | key, value, options | \n | shift | AsyncFunction | k, o | \n | unregister | Function | name | \n | unshift | Function | k, v, o | \n | worker | Undefined |  | \n | workers | Object | {} | \n\n### [color](./lib/color.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | Object | {} | \n\n### [dbio](./lib/dbio.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | mysql2,pg | \n | default | AsyncFunction | options | \n | MYSQL | String | MYSQL | \n | POSTGRESQL | String | POSTGRESQL | \n | assembleInsert | Function | table, data, options | \n | assembleQuery | Function | table, options | \n | assembleSet | Function | data, options | \n | assembleTail | Function | options | \n | assembleUpdate | Function | table, data, options | \n | cleanSql | Function | sql | \n | countAll | AsyncFunction | table | \n | countByKeyValue | AsyncFunction | table, key, value | \n | deleteAll | AsyncFunction | table, options | \n | deleteById | AsyncFunction | table, id, options | \n | deleteByKeyValue | AsyncFunction | table, key, value, options | \n | desc | AsyncFunction | table, options | \n | drop | AsyncFunction | table, options | \n | enableVector | AsyncFunction |  | \n | encodeVector | AsyncFunction |  | \n | end | AsyncFunction | options | \n | execute | AsyncFunction | ...args | \n | getPgvector | AsyncFunction |  | \n | getProvider | AsyncFunction |  | \n | indexes | AsyncFunction | table, options | \n | init | AsyncFunction | options | \n | insert | AsyncFunction | table, fields, options | \n | query | AsyncFunction | ...args | \n | queryAll | Function | table, options | \n | queryById | AsyncFunction | table, id, options | \n | queryByKeyValue | AsyncFunction | table, key, value, options | \n | queryOne | AsyncFunction | ...args | \n | rawAssembleKeyValue | Function | key, value, options | \n | rawExecute | AsyncFunction | ...args | \n | rawQuery | AsyncFunction | ...args | \n | tables | AsyncFunction | options | \n | updateById | AsyncFunction | table, id, fields, options | \n | updateByKeyValue | AsyncFunction | table, key, value, fields, options | \n | upsert | Function | table, fields, options | \n | vacuum | AsyncFunction | table, options | \n\n### [email](./lib/email.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | form-data,mailgun.js,mailparser,node-mailjet | \n | default | AsyncFunction | options | \n | getSenderName | Function |  | \n | init | AsyncFunction | options | \n | parse | AsyncFunction | input, options | \n | rawSend | AsyncFunction | data | \n | send | AsyncFunction | email, subject, text, html, args, options | \n\n### [encryption](./lib/encryption.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | @google-cloud/speech,@google-cloud/text-to-speech,@google-cloud/vision,google-gax | \n | aesCreateIv | Function | options | \n | aesCreateKey | Function | options | \n | aesDecrypt | Function | any, options | \n | aesEncrypt | Function | any, options | \n | defaultAlgorithm | String | sha256 | \n | defaultEncryption | String | aes-256-gcm | \n | digestObject | Function | object, algorithm | \n | getApiKeyCredentials | AsyncFunction | options | \n | getSortedQueryString | Function | obj | \n | hash | Function | string, algorithm | \n | hashFile | Function | filename, algorithm | \n | hexToBigInt | Function | hex | \n | md5 | Function | string | \n | random | Function | size, callback | \n | randomString | Function | length, encoding | \n | sha256 | Function | string, algorithm | \n | sha256File | Function | filename, algorithm | \n | uniqueString | Function | any | \n\n### [event](./lib/event.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | AsyncFunction | func, interval, tout, delay, name, options | \n | bulk | AsyncFunction | absDir, options | \n | end | AsyncFunction | name | \n | list | Function |  | \n | load | AsyncFunction | module, options | \n | loop | AsyncFunction | func, interval, tout, delay, name, options | \n\n### [horizon](./lib/horizon.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | Object | {} | \n\n### [image](./lib/image.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | OpenAI | \n | default | AsyncFunction | options | \n | generate | AsyncFunction | prompt, options | \n | init | AsyncFunction | options | \n\n### [media](./lib/media.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | fluent-ffmpeg,@ffmpeg-installer/ffmpeg,@ffprobe-installer/ffprobe | \n | convertAudioTo16kNanoOpusOgg | Function | input, options | \n | convertAudioTo16kNanoPcmWave | Function | input, options | \n | createWavHeader | Function | dataSize, sampleRate, numChannels, bitsPerSample | \n | getFfmpeg | AsyncFunction | options | \n\n### [memory](./lib/memory.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | del | AsyncFunction | key, options | \n | get | AsyncFunction | key, options | \n | init | AsyncFunction |  | \n | set | AsyncFunction | key, value, options | \n\n### [network](./lib/network.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | fast-geoip,ping | \n | getCurrentPosition | AsyncFunction |  | \n | httping | AsyncFunction | url, options | \n | isLocalhost | Function | host | \n | pickFastestHost | AsyncFunction | hosts, options | \n | pickFastestHttpServer | AsyncFunction | urls, options | \n | ping | AsyncFunction | host, options | \n\n### [sentinel](./lib/sentinel.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | @sentry/node,@sentry/profiling-node | \n | default | AsyncFunction | options | \n | init | AsyncFunction | options | \n\n### [shell](./lib/shell.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | AsyncFunction | command, options | \n | assertExist | AsyncFunction | bin, er, code | \n | exec | AsyncFunction | command, options | \n | exist | Function | bin | \n | which | AsyncFunction | bin | \n\n### [sms](./lib/sms.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | twilio,telesignsdk | \n | default | AsyncFunction | options | \n | init | AsyncFunction | options | \n | send | AsyncFunction | to, body | \n\n### [speech](./lib/speech.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | @google-cloud/speech,@google-cloud/text-to-speech,OpenAI,whisper-node | \n | default | AsyncFunction | options | \n | OPENAI_TTS_MAX_LENGTH | Number | 4096 | \n | checkSay | AsyncFunction | options | \n | checkWhisper | AsyncFunction | options | \n | init | AsyncFunction | options | \n | stt | AsyncFunction | audio, options | \n | sttGoogle | AsyncFunction | audio, options | \n | sttOpenAI | AsyncFunction | audio, options | \n | sttWhisper | AsyncFunction | audio, options | \n | tts | AsyncFunction | text, options | \n | ttsGoogle | AsyncFunction | text, options | \n | ttsOpenAI | AsyncFunction | input, options | \n | ttsSay | AsyncFunction | text, options | \n\n### [ssl](./lib/ssl.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | acme-client | \n | default | AsyncFunction | domain, options | \n | SSL_RESET | String | SSL_RESET | \n | createCsr | AsyncFunction | commonName, forge | \n | ensureCert | AsyncFunction | domain, challengeCreate, challengeRemove, options | \n | getCert | AsyncFunction | name | \n | httpsServerOptions | AsyncFunction | options | \n | init | AsyncFunction | domain, options | \n | isLocalhost | Function | host | \n\n### [storage](./lib/storage.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | file-type,mime-types,@google-cloud/storage | \n | BASE64 | String | BASE64 | \n | BUFFER | String | BUFFER | \n | DATAURL | String | DATAURL | \n | FILE | String | FILE | \n | MIME_BINARY | String | application/octet-stream | \n | MIME_JSON | String | application/json | \n | MIME_PNG | String | image/png | \n | MIME_TEXT | String | text/plain | \n | STREAM | String | STREAM | \n | analyzeFile | AsyncFunction | any, options | \n | assertPath | AsyncFunction | path, type, mode, msg, code, options | \n | blobToBuffer | AsyncFunction |  | \n | convert | AsyncFunction | any, options | \n | decodeBase64DataURL | Function |  | \n | deleteFileOnCloud | AsyncFunction | path, options | \n | deleteOnCloud | AsyncFunction | path, options | \n | downloadFileFromCloud | AsyncFunction | path, options | \n | downloadFromCloud | AsyncFunction | path, options | \n | encodeBase64DataURL | AsyncFunction | mime, buffer | \n | exists | AsyncFunction | filename | \n | existsOnCloud | AsyncFunction | destination, options | \n | getConfig | AsyncFunction | options | \n | getConfigFilename | AsyncFunction | options | \n | getGcUrlByBucket | Function | bucke | \n | getIdByGs | Function | gs | \n | getTempPath | Function | options | \n | handleError | Function | err, opts | \n | init | AsyncFunction | options | \n | isTextFile | AsyncFunction | file, options | \n | legalFilename | Function | filename | \n | lsOnCloud | AsyncFunction | prefix, options | \n | mapFilename | Function |  | \n | mergeFile | AsyncFunction | data, options | \n | readFile | AsyncFunction | name, options | \n | readJson | AsyncFunction | filename, options | \n | sanitizeFilename | Function | s, r | \n | setConfig | AsyncFunction | data, options | \n | sliceFile | AsyncFunction | any, options | \n | touchPath | AsyncFunction | path, options | \n | tryRm | AsyncFunction | path, options | \n | unzip | AsyncFunction | any, options | \n | uploadToCloud | AsyncFunction | data, options | \n | writeFile | AsyncFunction | filename, data, options | \n | writeJson | AsyncFunction | filename, data, options | \n | writeTempFile | AsyncFunction | data, options | \n | zip | AsyncFunction | any, options | \n\n### [style](./lib/style.cjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | Object | {\"reset\":[],\"bold\":[],\"dim\":[],\"italic\":[],\"underline\":[],\"inverse\":[],\"hidden\":[],\"strikethrough\":[],\"black\":[],\"red\":[],\"green\":[],\"yellow\":[],\"blue\":[],\"magenta\":[],\"cyan\":[],\"white\":[],\"gray\":[],\"grey\":[],\"brightRed\":[],\"brightGreen\":[],\"brightYellow\":[],\"brightBlue\":[],\"brightMagenta\":[],\"brightCyan\":[],\"brightWhite\":[],\"bgBlack\":[],\"bgRed\":[],\"bgGreen\":[],\"bgYellow\":[],\"bgBlue\":[],\"bgMagenta\":[],\"bgCyan\":[],\"bgWhite\":[],\"bgGray\":[],\"bgGrey\":[],\"bgBrightRed\":[],\"bgBrightGreen\":[],\"bgBrightYellow\":[],\"bgBrightBlue\":[],\"bgBrightMagenta\":[],\"bgBrightCyan\":[],\"bgBrightWhite\":[],\"blackBG\":[],\"redBG\":[],\"greenBG\":[],\"yellowBG\":[],\"blueBG\":[],\"magentaBG\":[],\"cyanBG\":[],\"whiteBG\":[]} | \n\n### [tape](./lib/tape.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | AsyncFunction | options | \n | addChatId | Function | id | \n | end | AsyncFunction |  | \n | init | AsyncFunction | options | \n | removeChatId | Function | id | \n\n### [uoid](./lib/uoid.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | default | Function | options | \n | bigIntToUuid | Function |  | \n | compactUuid | Function | str | \n | create | Function | options | \n | expandUuid | Function |  | \n | fakeUuid | Function | any | \n | getRfcUrlNamespaceUuid | Function | url | \n | getTimestampFromUuid | Function | uuid | \n | getUuidForCurrentHost | Function | any | \n | rotateUuid | Function | any, step, options | \n | uuidRegTxt | String | [0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12} | \n | uuidToBigInt | Function | str | \n\n### [utilitas](./lib/utilitas.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | __ | Function | url, r | \n | analyzeModule | Function | obj | \n | arrayEqual | Function | arrA, arrB | \n | assembleApiUrl | Function | hst, path, args | \n | assembleBuffer | Function |  | \n | assembleUrl | Function | url, componens | \n | assertArray | Function | arr, message, status, opts | \n | assertBuffer | Function | buffer, message, status, options | \n | assertDate | Function | time, message, status, options | \n | assertEmail | Function | email, message, status, options | \n | assertFunction | Function | fn, message, status, opts | \n | assertModule | Function | mdl, message, status, opts | \n | assertObject | Function | obj, message, status, opts | \n | assertSet | Function | value, message, status, options | \n | assertUrl | Function | url, message, status, options | \n | assertUuid | Function | uuid, message, status, options | \n | asyncTimeout | AsyncFunction | pms, timeout, err | \n | base64Decode | Function | string, toBuf | \n | base64Encode | Function | object, isBuf | \n | base64Pack | Function | object | \n | base64Unpack | Function | string | \n | basename | Function |  | \n | byteToHexString | Function | byteArray | \n | call | Function | f, ...a | \n | checkChance | Function |  | \n | checkInterval | Function | itv, sed | \n | clarify | Function |  | \n | clone | Function | any | \n | convertBase | Function | ipt, from, to | \n | convertFrom16to10 | Function | ipt | \n | countKeys | Function | any | \n | deepCleanBigInt | Function | any, func | \n | distill | Function | any, strict | \n | ensureArray | Function | any | \n | ensureDate | Function | dt, options | \n | ensureInt | Function | any, options | \n | ensureLines | Function | any, op | \n | ensureString | Function | str, options | \n | escapeHtml | Function |  | \n | exclude | Function | obj, keys | \n | extError | Function | err, status, opt | \n | extract | Function | ...path | \n | fileURLToPath | Function | path, options | \n | fullLengthLog | Function | string, options | \n | getDateByUnixTimestamp | Function | timestamp | \n | getFuncParams | Function | func | \n | getItemFromStringOrArray | Function | any | \n | getKeyByValue | Function | object, value | \n | getRandomIndexInArray | Function | array, options | \n | getRandomInt | Function |  | \n | getRandomItemInArray | Function | array, options | \n | getShortestInArray | Function | arr | \n | getTimeIcon | Function | objTime | \n | getType | Function | any | \n | getUnixTimestampByDate | Function | date | \n | hexDecode | Function | string, toBuf | \n | hexEncode | Function | object, isBuf | \n | humanReadableBoolean | Function | ensureString(any | \n | ignoreErrFunc | AsyncFunction | func, options | \n | inBrowser | Function |  | \n | insensitiveCompare | Function | strA, strB, options | \n | insensitiveHas | Function | list, srt, options | \n | is | Function | type, any | \n | isAscii | Function | str | \n | isModule | Function | module, module | \n | isNull | Function | object, object | \n | isSet | Function | o, strict | \n | isUndefined | Function | any, any | \n | lastItem | Function | array | \n | lineSplit | Function | string, options | \n | locate | AsyncFunction | rootPack | \n | log | Function | content, filename, options | \n | makeStringByLength | Function | string, length | \n | mapKeys | Function | any, map, strict, path | \n | mask | Function | str, options | \n | matchVersion | Function | curVer, tgtVer | \n | mergeAtoB | Function | objA, objB, o | \n | need | AsyncFunction | name, options | \n | newError | Function | msg, status, opt | \n | once | Function | fn, context | \n | parseJson | Function | any, fallback, options | \n | parseVersion | Function | verstr | \n | prettyJson | Function | object, opt | \n | purgeEmoji | Function | any, replace | \n | randomArray | Function | array | \n | range | Function | from, to, options | \n | renderBox | Function | content, options | \n | renderCode | Function | code, options | \n | renderObject | Function | obj, options | \n | renderText | Function | text, options | \n | resolve | AsyncFunction | async, res | \n | reverseKeyValues | Function |  | \n | rotate | Function | any, step, opts | \n | shiftTime | Function | dif, base | \n | split | Function | str, options | \n | splitArgs | Function |  | \n | supportAnsiColor | Function |  | \n | throwError | Function | msg, status, opt | \n | timeout | Function |  | \n | toExponential | Function | x, f | \n | toString | Function | any, options | \n | trim | Function | str, opts | \n | tryUntil | AsyncFunction | fnTry, options | \n | uniqueArray | Function | array | \n | verifyEmail | Function | any | \n | verifyPhone | Function | phone | \n | verifyUrl | Function | url | \n | verifyUuid | Function | uuid | \n | voidFunc | Function |  | \n | which | AsyncFunction | any | \n\n### [vision](./lib/vision.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | @google-cloud/vision,office-text-extractor,pdfjs-dist,tesseract.js | \n | annotateImage | AsyncFunction | image, options | \n | getPdfInfo | AsyncFunction | file, options | \n | getPdfPage | AsyncFunction | doc, pageNum | \n | getPdfPages | AsyncFunction | doc | \n | init | AsyncFunction | options | \n | ocrImage | AsyncFunction | image, options | \n | ocrImageGoogle | AsyncFunction | image, options | \n | ocrImageTesseract | AsyncFunction | image, options | \n | parseOfficeFile | AsyncFunction | source, options | \n | read | AsyncFunction | image, options | \n | readAll | AsyncFunction | image, options | \n | see | AsyncFunction | image, options | \n\n### [web](./lib/web.mjs)\n\n | symbol | type | params / value | \n | :--- | :--- | :--- | \n | _NEED | Array | jsdom,youtube-transcript,@mozilla/readability | \n | default | AsyncFunction | url, options | \n | assertYoutubeUrl | Function |  | \n | checkSearch | Function |  | \n | checkVersion | AsyncFunction | pack | \n | distill | AsyncFunction | url, options | \n | distillHtml | AsyncFunction | input, options | \n | distillPage | AsyncFunction | url, op | \n | distillYoutube | AsyncFunction |  | \n | get | AsyncFunction | url, options | \n | getCurrentIp | AsyncFunction | options | \n | getCurrentPosition | AsyncFunction |  | \n | getExchangeRate | AsyncFunction | to, from, amount | \n | getJson | AsyncFunction | u, o | \n | getParsedHtml | AsyncFunction | u, o | \n | getVersionOnNpm | AsyncFunction | packName | \n | getYoutubeMetadata | AsyncFunction |  | \n | getYoutubeTranscript | AsyncFunction |  | \n | initDistill | AsyncFunction | options | \n | initSearch | AsyncFunction | options | \n | isYoutubeUrl | Function |  | \n | search | AsyncFunction | query, options | \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleask%2Futilitas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleask%2Futilitas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleask%2Futilitas/lists"}