@fsystem/fswt-ui-tools 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,96 @@
1
+ /** 数组中查找子数组
2
+ * @param {Array} arr 数组
3
+ * @param {Array} subarr 要查找的子数组
4
+ * @param {Number} from_index 查找的起始位置,默认为0
5
+ * @returns {Number} 找到的index
6
+ */
7
+ export function find_csa(arr: any[], subarr: any[], from_index: number): number;
8
+ /** Fsy 20200614 对数组进行分页
9
+ * @param {number} pageNo 第几页
10
+ * @param {number} pageSize 分页每页的大小
11
+ * @param {array} array 需要分页的数组
12
+ * @returns {array} 当前页的数组
13
+ */
14
+ export function pagination(pageNo: number, pageSize: number, array: any): any;
15
+ /** 对对象数组根据属性名进行去重
16
+ * @param {Array} arr 对象数组
17
+ * @param {Array} keyArray 属性名数组
18
+ * @returns {Array} 去重后的数组
19
+ */
20
+ export function uniqueObjectByKey(arr: any[], keyArray: any[]): any[];
21
+ /** Fsy 20220608 对数组进行排序,从小到大,支持数字、英文、中文混合字符串
22
+ * @param {any} _a
23
+ * @param {any} _b
24
+ */
25
+ export function mixSort(_a: any, _b: any): any;
26
+ /** Fsy 20200614 根据对象数组中对象的某个属性的大小对整个数组进行排序
27
+ * @param {array} array 对象数组
28
+ * @param {string} key 要比较的某个对象属性
29
+ * @param {number} type 0:升序 1:降序
30
+ * @returns {array} 排序后的对象数组
31
+ */
32
+ export function sortByKey(array: any, key: string, type: number): any;
33
+ /** Fsy 20200902 对象数组去重
34
+ * @param {array} array
35
+ * @returns {array} 去重后的对象数组
36
+ */
37
+ export function uniqueObject(array: any): any;
38
+ /** 删除对象数组中的某一个对象
39
+ * @param {array} array
40
+ * @returns {object} 需要删除的对象
41
+ */
42
+ export function deteleObject(_arr: any, _obj: any): object;
43
+ /**
44
+ * 遍历一棵tree查找当前属性值所在的对象node
45
+ * @param {Array} data 被查找对象数据
46
+ * @param {String} findStr 查找属性名
47
+ * @param {String} curVal 查找的属性值
48
+ * @return {Object}
49
+ */
50
+ export function findNode(data: any[], findStr: string, curVal: string): Object;
51
+ /**
52
+ * 去重
53
+ */
54
+ export function unique(arr: any): any[];
55
+ /**
56
+ * 求两个集合的并集
57
+ */
58
+ export function union(a: any, b: any): any;
59
+ /**
60
+ * 求两个集合的交集
61
+ */
62
+ export function intersect(a: any, b: any): any;
63
+ /**
64
+ * 删除其中一个元素
65
+ */
66
+ export function remove(arr: any, ele: any): any;
67
+ /**
68
+ * 判断a数组中的值是否包含b数组中的值
69
+ */
70
+ export function getArrRepeat(a: any, b: any): boolean;
71
+ /**
72
+ * 最大值
73
+ */
74
+ export function max(arr: any): number;
75
+ /**
76
+ * 最小值
77
+ */
78
+ export function min(arr: any): number;
79
+ /**
80
+ * 求和
81
+ */
82
+ export function sum(arr: any): any;
83
+ /**
84
+ * 平均值
85
+ */
86
+ export function average(arr: any): number;
87
+ /**
88
+ * 洗牌算法随机
89
+ * @param {*} arr
90
+ */
91
+ export function shuffle(arr: any): any[];
92
+ /**
93
+ * 整数千分位加逗号 1234567 -> 1,234,567
94
+ * @param {number | string} num
95
+ */
96
+ export function toThousands(num: number | string): string;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 16进制颜色转RGB\RGBA字符串
3
+ * @param {String} val 16进制颜色值
4
+ * @param {Number} opa 不透明度,取值0~1
5
+ * @return {String} 转换后的RGB或RGBA颜色值
6
+ */
7
+ export function colorToRGBA(val: string, opa: number): string;
8
+ /**
9
+ * 获取2个16进制颜色的渐变色
10
+ * @param {String} startColor 16进制颜色值
11
+ * @param {String} endColor 16进制颜色值
12
+ * @param {String} step 渐变步数
13
+ * @return {Array} 渐变16进制颜色数组
14
+ */
15
+ export function GetGradientColor(startColor: string, endColor: string, step: string): any[];
16
+ export function colorRgb(sColor: any): any;
17
+ export function colorHex(rgb: any): any;
@@ -0,0 +1,85 @@
1
+ /**
2
+ * 取字符日期数组中最小和最大的日期
3
+ * @param {array} strDates 字符日期数组
4
+ * @returns {array} [0]最小和[1]最大的日期
5
+ */
6
+ export function getMinMaxDate(strDates: array): array;
7
+ /** Fsy 20200614 比较两个日期的大小
8
+ * @param {date} dateTime1
9
+ * @param {date} dateTime2
10
+ * @returns {Boolean} dateTime1>dateTime2:true else:false
11
+ */
12
+ export function compareDate(dateTime1: date, dateTime2: date): boolean;
13
+ /**
14
+ * 解析时间到格式化字符串
15
+ * parseTime('2012/1/19','{y}年{m}月{d}日 {h}时{i}分{s}秒')
16
+ * @param {(Object|string|number)} time
17
+ * @param {string} cFormat
18
+ * @returns {string | null}
19
+ */
20
+ export function parseTime(time: (Object | string | number), cFormat: string, ...args: any[]): string | null;
21
+ /** 格式化时间显示
22
+ * @param {number} time
23
+ * @param {string} option
24
+ * @returns {string}
25
+ */
26
+ export function formatTime(time: number, option: string): string;
27
+ /**
28
+ * 判断闰年
29
+ * @param date Date日期对象
30
+ * @return boolean true 或false
31
+ */
32
+ export function isLeapYear(date: any): boolean;
33
+ /**
34
+ * 格式化时间 将 Date 转化为指定格式的String
35
+ * @param {Date} date 要转换的数据
36
+ * @param {String} fmt 指定格式 默认为 'yyyy-MM-dd hh:mm:ss'
37
+ */
38
+ export function formatDate(date?: Date, fmt?: string): string;
39
+ /**
40
+ * 把指定格式的字符串转换为日期对象yyyy-MM-dd HH:mm:ss strFormatToDate ('yyyy-MM-dd', '2002-11-20')
41
+ *
42
+ */
43
+ export function strFormatToDate(formatStr: any, dateStr: any): Date;
44
+ /**
45
+ * 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串
46
+ * @param strInterval string 可选值 y 年 m月 d日 w星期 h时 n分 s秒
47
+ * @param dtStart Date 可选值 y 年 m月 d日 w星期 h时 n分 s秒
48
+ * @param dtEnd Date 可选值 y 年 m月 d日 w星期 h时 n分 s秒
49
+ */
50
+ export function dateDiff(strInterval: any, dtStart: any, dtEnd: any): number | undefined;
51
+ /**
52
+ * 日期计算
53
+ * @param strInterval string 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒
54
+ * @param num int
55
+ * @param date Date 日期对象
56
+ * @return Date 返回日期对象
57
+ */
58
+ export function dateAdd(strInterval: any, num: any, date: any, ...args: any[]): Date | undefined;
59
+ /**
60
+ * 由秒数转化成hh:mm:ss格式 超过24小时(显示00:00:00)会重置
61
+ * @param {} seconds
62
+ */
63
+ export function timeTohhmmss(seconds: any): string | undefined;
64
+ /**
65
+ * 获取今天日期,星期几 2020年12月9日 星期三
66
+ * @returns
67
+ */
68
+ export function getTodayDate(): string;
69
+ /**
70
+ * 取得当前日期所在月的最大天数 maxDayOfDate(new Date('2020/2/1'))
71
+ */
72
+ export function maxDayOfDate(date: any, ...args: any[]): number;
73
+ /**
74
+ * 获取一段时间中含有的周末数量
75
+ * @param beginDate
76
+ * @param endDate
77
+ * @returns {number}
78
+ */
79
+ export function getIntervalWeekends(beginDate: any, endDate: any): number;
80
+ /**
81
+ * 取得日期数据信息
82
+ * 参数 interval 表示数据类型
83
+ * y 年 M月 d日 w星期 ww周 h时 n分 s秒
84
+ */
85
+ export function getDatePart(interval: any, myDate: any, ...args: any[]): string;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * el是否包含某个class
3
+ * @param {*} el
4
+ * @param {*} className
5
+ */
6
+ export function hasClass(el: any, className: any): boolean;
7
+ /**
8
+ * el添加某个class
9
+ * @param {*} el
10
+ * @param {*} className
11
+ */
12
+ export function addClass(el: any, className: any): void;
13
+ /**
14
+ * el去除某个class
15
+ * @param {*} el
16
+ * @param {*} className
17
+ */
18
+ export function removeClass(el: any, className: any): void;
19
+ /**
20
+ * 获取窗口滚动的坐标
21
+ * @param {*} el
22
+ */
23
+ export function getScrollPosition(el?: any): {
24
+ x: any;
25
+ y: any;
26
+ };
27
+ /**
28
+ * el是否在视口范围内
29
+ * @param {*} el
30
+ * @param {*} partiallyVisible
31
+ */
32
+ export function elementIsVisibleInViewport(el: any, partiallyVisible?: any): boolean;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 安全的执行方法
3
+ * @param {Function} func 要执行的方法
4
+ * @param {...any} args 参数
5
+ * @returns {any} 成功执行的返回值
6
+ */
7
+ export function safeExecuteFunc(func: Function, ...args: any[]): any;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 滚动到顶部
3
+ */
4
+ export function scrollToTop(): void;
5
+ /**
6
+ * 劫持粘贴板
7
+ * @param {*} value
8
+ */
9
+ export function copyTextToClipboard(value: any): void;
10
+ /**
11
+ * 切换全屏显示状态
12
+ * @param {Boolean} bFullScreen 指定切换状态
13
+ */
14
+ export function toggleFullScreen(bFullScreen: boolean): boolean;
15
+ /**
16
+ * openWindow(url)函数:弹出窗口
17
+ * @param {string} url 路径
18
+ * @param {number} width 窗口宽度
19
+ * @param {number} height 窗口高度
20
+ * @param {string} resize yes时可调整窗口大小,no则不可调
21
+ */
22
+ export function openWindow(url: string, width: number, height: number, resize: string): void;
23
+ /**
24
+ * 打开窗口函数
25
+ * @param {String} url 地址
26
+ * @param {String} title 窗口标题
27
+ * @param {number} w 窗口宽度
28
+ * @param {number} h 窗口高度
29
+ * @param {object} opts 窗口参数
30
+ */
31
+ export function popupCenter(url: string, title: string, w: number, h: number, opts: object): void;
32
+ /**
33
+ * @description: 弹框确认关闭当前窗口
34
+ * @param {*} message
35
+ * @return {*}
36
+ */
37
+ export function confirmClosewindow(message: any): any;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * 严格的身份证校验
3
+ * @param {*} sId
4
+ */
5
+ export function isIDCard(sId: any): boolean;
6
+ /**
7
+ * 判断类型集合
8
+ * @param {*} str
9
+ * @param {*} type
10
+ */
11
+ export function checkStr(str: any, type: any): boolean;
12
+ export function isArray(val: any): boolean;
13
+ export function isBuffer(val: any): boolean;
14
+ export function isArrayBuffer(val: any): boolean;
15
+ export function isFormData(val: any): boolean;
16
+ export function isArrayBufferView(val: any): any;
17
+ export function isString(val: any): boolean;
18
+ export function isNumber(val: any): boolean;
19
+ export function isBoolean(o: any): boolean;
20
+ export function isNull(o: any): boolean;
21
+ export function isUndefined(val: any): boolean;
22
+ export function isRegExp(o: any): boolean;
23
+ export function isError(o: any): boolean;
24
+ export function isSymbol(o: any): boolean;
25
+ export function isPromise(o: any): boolean;
26
+ export function isSet(o: any): boolean;
27
+ export function isWeiXin(): boolean;
28
+ export function isDeviceMobile(): boolean;
29
+ export function isQQBrowser(): boolean;
30
+ export function isSpider(): boolean;
31
+ export function isIos(): boolean;
32
+ export function isPC(): boolean;
33
+ export function isObject(val: any): boolean;
34
+ export function isDate(val: any): boolean;
35
+ export function isFile(val: any): boolean;
36
+ export function isBlob(val: any): boolean;
37
+ export function isFunction(val: any): boolean;
38
+ export function isStream(val: any): boolean;
39
+ export function isURLSearchParams(val: any): boolean;
40
+ export function isStandardBrowserEnv(): boolean;
41
+ export function isAbsoluteURL(url: any): boolean;
42
+ /**
43
+ * URL地址
44
+ * @param {*} s
45
+ */
46
+ export function isURL(s: any): boolean;
47
+ /**
48
+ * 邮箱
49
+ * @param {*} s
50
+ */
51
+ export function isEmail(s: any): boolean;
52
+ /**
53
+ * 手机号码
54
+ * @param {*} s
55
+ */
56
+ export function isMobile(s: any): boolean;
57
+ /**
58
+ * 电话号码
59
+ * @param {*} s
60
+ */
61
+ export function isPhone(s: any): boolean;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * map对象根据value取key
3
+ * @param {Map} map map对象
4
+ * @param {any} value 第一个对象
5
+ * @return {any} 找不到返回undefined
6
+ */
7
+ export function getKeyByValue(map: Map<any, any>, value: any): any;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 随机数范围
3
+ */
4
+ export function random(min: any, max: any, ...args: any[]): number | null;
5
+ /**
6
+ * 1-12阿拉伯数字转罗马数字中文字符
7
+ * @param {number} num 数字1-12
8
+ * @returns {string}
9
+ */
10
+ export function Arab2Roman(num: number): string;
11
+ /**
12
+ * 将阿拉伯数字翻译成中文的大写数字
13
+ */
14
+ export function numberToChinese(num: any): string;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 递归修改tree对象的字段名称 为label 和 value
3
+ * @param {Object[]} tree tree对象
4
+ * @param {Object} data label: 标签, value: 数据, children:子对象数组
5
+ */
6
+ export function recursionTreeProp(tree: Object[], { label, value, children }: Object): void;
7
+ /**
8
+ * 判断两个对象是否键值相同
9
+ * @param {Object} a 第一个对象
10
+ * @param {Object} b 第二个对象
11
+ * @returns {Boolean} 相同返回true,否则返回false
12
+ */
13
+ export function isObjectEqual(a: Object, b: Object): boolean;
14
+ /**
15
+ * 将平铺数组数据转为树形结构,数组元素必须有tree-path属性,tree-path必须是字符串,且以treePathSplit倒序分隔
16
+ * @param {*} root 根节点
17
+ * @param {array} data 平铺的array数据
18
+ * @param {{
19
+ * treeNameKey: string,
20
+ * childrenKey: string,
21
+ * treePathKey: string,
22
+ * treePathSplit: string
23
+ * }} opt 配置项
24
+ * @param {(currentName, rawNode, level, parent)=>object} createNodeFn 创建节点的回调函数
25
+ * @param {(node, currentName, rawNode, level, parent)=>object} setNodeFn 设置节点的回调函数
26
+ * @returns {object} 返回树形结构的根节点
27
+ */
28
+ export function buildTree(root: any, data: array, opt: {
29
+ treeNameKey: string;
30
+ childrenKey: string;
31
+ treePathKey: string;
32
+ treePathSplit: string;
33
+ } | undefined, createNodeFn: (currentName: any, rawNode: any, level: any, parent: any) => object, setNodeFn: (node: any, currentName: any, rawNode: any, level: any, parent: any) => object): object;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 得到文件的扩展名
3
+ * @param {} filename
4
+ */
5
+ export function getFileExt(filename: any): string;
@@ -0,0 +1,9 @@
1
+ export default Storage;
2
+ declare class Storage {
3
+ constructor(source: any);
4
+ source: any;
5
+ initRun(): void;
6
+ set(key: any, value: any, expired: any): any;
7
+ get(key: any): any;
8
+ remove(key: any): any;
9
+ }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * 随机UUID
3
+ * @return
4
+ */
5
+ export declare const makeUUID: () => string;
6
+ export declare function containsInvalidSkuChars(sku: string): boolean;
7
+ export declare function cleanInvalidSkuChars(sku: string): string;
8
+ /** Fsy 20200614
9
+ * 填充字符左边
10
+ * @param {string} s
11
+ * @param {number} len
12
+ * @param {string} pattern
13
+ * @returns {string}
14
+ */
15
+ export declare function padLeft(s: string, len: number, pattern: string): string;
16
+ /** Fsy 20200614
17
+ * 填充字符右边
18
+ * @param {string} s
19
+ * @param {number} len
20
+ * @param {string} pattern
21
+ * @returns {string}
22
+ */
23
+ export declare function padRight(s: string, len: number, pattern: string): string;
24
+ /**
25
+ * 在字符串中插入新字符串
26
+ * @param {string} soure 源字符
27
+ * @param {number} index 插入字符的位置
28
+ * @param {string} newStr 需要插入的字符
29
+ * @returns {string} 返回新生成的字符
30
+ */
31
+ export declare function insertStr(soure: string, index: number, newStr: string): string;
32
+ /**
33
+ * 去除html标签
34
+ * @param {string} str
35
+ */
36
+ export declare function removeHtmltag(str: string): string;
37
+ /**
38
+ * 去除空格
39
+ * @param {string} str
40
+ * @param {number} type
41
+ * type: 1-所有空格 2-前后空格 3-前空格 4-后空格
42
+ * @return {string}
43
+ */
44
+ export declare function trim(str: string, type: number): string;
45
+ /**
46
+ * 连字符转驼峰
47
+ * @param {string} data 要转换的数据 rail-way-s-a =>railWaySA
48
+ */
49
+ export declare function hyphenToHump(data: string): string;
50
+ /**
51
+ * 驼峰转连字符
52
+ * @param {string} data 要转换的数据 railWaySA=>rail-way-s-a
53
+ */
54
+ export declare function humpToHyphen(data: string): string;
55
+ /**
56
+ * @param {string} str
57
+ * @param {number} type
58
+ * type: 1:首字母大写 2:首字母小写 3:大小写转换 4:全部大写 5:全部小写
59
+ * @return {string}
60
+ */
61
+ export declare function changeCase(str: string, type: number): string;
62
+ /**
63
+ * @description: 字符串指定长度添加字符串,用这个指定长度换行,每行是对齐的
64
+ * @param {*} val 字符串
65
+ * @param {*} num 长度 汉字算2个,其他算1个
66
+ * @param {*} char 添加的字符串
67
+ * @return {*}
68
+ */
69
+ export declare function addStrPerLength(val: string, num: number, char?: string): string;
@@ -0,0 +1,69 @@
1
+ /**
2
+ * 删除URL中指定search参数,会将参数值一起删除
3
+ * @param {string} url 地址字符串
4
+ * @param {array} params 要删除的参数key数组,如['name','age']
5
+ * @return {string} 返回新URL字符串
6
+ */
7
+ export function ridUrlParam(url: string, params: array): string;
8
+ /**
9
+ * @param {string} url 地址
10
+ * @returns {string} 返回去除参数后的地址
11
+ */
12
+ export function removeQueryString(url: string): string;
13
+ /**
14
+ * @param {string} key 参数名
15
+ * @returns {string} 返回参数值
16
+ */
17
+ export function getParams(key: string): string;
18
+ /**
19
+ * @param {string} url 输入的url
20
+ * @returns {object} 返回参数对象、键和值
21
+ */
22
+ export function urlparam2Obj(url: string): object;
23
+ /**
24
+ * base64转Blob
25
+ * @param {string} code base64字符串
26
+ * @returns {Blob}
27
+ */
28
+ export function base64ToBlob(code: string): Blob;
29
+ /**
30
+ * 下载base64图片
31
+ * @param {string} fileName 下载文件名
32
+ * @param {string} base64 base64图片
33
+ */
34
+ export function downloadBase64Image(fileName: string, base64: string): void;
35
+ /**
36
+ * 下载
37
+ * @param {string} filename 下载文件名
38
+ * @param {string} filetype 下载文件类型 'application/txt'
39
+ * @param {array} buffer 下载数据
40
+ */
41
+ export function downloadFile(filename: string, filetype: string, buffer: array): void;
42
+ /**
43
+ * 根据url地址下载
44
+ * @param {*} url
45
+ */
46
+ export function downloadFileByUrl(url: any): boolean;
47
+ /**
48
+ * 根据url地址下载(自定义文件名)
49
+ * @param {*} filename 下载文件名
50
+ * @param {*} url
51
+ */
52
+ export function downloadFileByUrlCustomName(filename: any, url: any): void;
53
+ /**
54
+ * fetch下载文件(自定义文件名)
55
+ * @param {*} filename 下载文件名
56
+ * @param {*} url
57
+ */
58
+ export function fetchFileByUrlCustomName(filename: any, url: any): void;
59
+ /**
60
+ * 动态引入js
61
+ * @param {*} src
62
+ */
63
+ export function injectScript(src: any): void;
64
+ /**
65
+ * 检测密码强度
66
+ * @param {string} str
67
+ * @returns {number}
68
+ */
69
+ export function checkPwd(str: string): number;
@@ -0,0 +1,15 @@
1
+ export * as PeTools from './pe/MicrosoftPeFileVersion';
2
+ export * as ArrayTools from './Array';
3
+ export * as ColorTools from './Color';
4
+ export * as DataTools from './Date';
5
+ export * as ElementTools from './Element';
6
+ export * as ExecTools from './Exec';
7
+ export * as InteractTools from './Interact';
8
+ export * as JudgeTools from './Judge';
9
+ export * as MapTools from './Map';
10
+ export * as NumberTools from './Number';
11
+ export * as ObjectTools from './Object';
12
+ export * as PathTools from './Path';
13
+ export { default as StorageTools } from './Storage';
14
+ export * as StringTools from './String';
15
+ export * as UtilTools from './Util';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @param {ArrayBuffer} arraybuffer ArrayBuffer数组
3
+ * @returns {String} fileversion
4
+ */
5
+ export function getFileVersion(arraybuffer: ArrayBuffer): string;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @param {Uint8Array} fileData Uint8Array数组
3
+ * @returns {String} 转换的文字
4
+ */
5
+ export declare function Uint8ArrayToString(fileData: Uint8Array): string;
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@fsystem/fswt-ui-tools",
3
+ "version": "0.3.3",
4
+ "description": "Personal package.",
5
+ "main": "dist/fswt-ui-tools.umd.js",
6
+ "module": "dist/fswt-ui-tools.es.js",
7
+ "typings": "dist/types/tools/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "type": "module",
12
+ "scripts": {
13
+ "dev": "vite",
14
+ "build": "vite build --force",
15
+ "serve": "vite preview",
16
+ "upload": "npm run build && npm publish --registry https://registry.npmjs.com/ --access public"
17
+ },
18
+ "author": "@fsystem",
19
+ "license": "MIT",
20
+ "dependencies": {
21
+ "iconv-lite": "^0.6.3",
22
+ "rollup": "^3.18.0"
23
+ },
24
+ "publishConfig": {
25
+ "registry": "https://registry.npmjs.org/",
26
+ "access": "public"
27
+ },
28
+ "devDependencies": {
29
+ "@rollup/plugin-commonjs": "^24.0.1",
30
+ "@rollup/plugin-node-resolve": "^15.0.1",
31
+ "@rollup/plugin-typescript": "^11.0.0",
32
+ "eslint": "^8.36.0",
33
+ "eslint-config-fswti": "workspace:*",
34
+ "typescript": "^4.9.3",
35
+ "vite": "^4.0.4",
36
+ "vite-tsconfig-paths": "^4.0.7"
37
+ }
38
+ }