123456789101112131415161718192021222324252627282930313233343536 |
- // transform /path/to/file.ext to file.ext
- export function basename(path = '') {
- return path ? path.replace(/^.*\//, '') : '';
- }
-
- // transform /path/to/file.ext to .ext
- export function extname(path = '') {
- const [_, ext] = /.+(\.[^.]+)$/.exec(path) || [];
- return ext || '';
- }
-
- // test whether a variable is an object
- export function isObject(obj) {
- return Object.prototype.toString.call(obj) === '[object Object]';
- }
-
- // returns whether a dark theme is enabled
- export function isDarkTheme() {
- return document.documentElement.classList.contains('theme-arc-green');
- }
-
- // removes duplicate elements in an array
- export function uniq(arr) {
- return Array.from(new Set(arr));
- }
-
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
-
- // generate a random string
- export function random(length) {
- let str = '';
- for (let i = 0; i < length; i++) {
- str += chars.charAt(Math.floor(Math.random() * chars.length));
- }
- return str;
- }
|