@snack-kit/core 0.1.0
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.
- package/README.md +514 -0
- package/dist/cjs/index.js +4877 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/class/snack.d.ts +164 -0
- package/dist/class/snackSetting.d.ts +32 -0
- package/dist/class/snackVue.d.ts +27 -0
- package/dist/class/snackVueSetting.d.ts +30 -0
- package/dist/components/error/index.d.ts +9 -0
- package/dist/components/loading/index.d.ts +9 -0
- package/dist/core/index.d.ts +150 -0
- package/dist/core.js +4 -0
- package/dist/es/index.mjs +4760 -0
- package/dist/es/index.mjs.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +22 -0
- package/dist/interface.d.ts +416 -0
- package/dist/lib/require.d.ts +5 -0
- package/dist/sdk/index.d.ts +277 -0
- package/dist/sdk/renderSnack.d.ts +57 -0
- package/dist/sdk.js +22 -0
- package/dist/types/index.d.ts +1236 -0
- package/dist/utils/common.d.ts +33 -0
- package/dist/utils/evalJS.d.ts +151 -0
- package/dist/utils/i18n.d.ts +13 -0
- package/dist/utils/verifyJS.d.ts +42 -0
- package/package.json +62 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { I18nData } from "./i18n";
|
|
3
|
+
import SnackSDK from "../sdk";
|
|
4
|
+
import Core from "../core";
|
|
5
|
+
/**
|
|
6
|
+
* 国际化获取方法
|
|
7
|
+
* @param sdk SnackSDK实例化对象
|
|
8
|
+
* @param ops 国际化取值key参数
|
|
9
|
+
* @param i18nData 国际化数据对象
|
|
10
|
+
* @param params 国际化字符变量对象
|
|
11
|
+
* @param lang 指定国际化语言
|
|
12
|
+
* @param defI18nData 默认国际化数据对象
|
|
13
|
+
*/
|
|
14
|
+
export declare function i18nIntl(sdk: SnackSDK | Core, ops: string | {
|
|
15
|
+
id: string;
|
|
16
|
+
}, i18nData: I18nData, params?: object, lang?: string, defI18nData?: I18nData): string | React.JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* 获取国际化语言
|
|
19
|
+
* @param sdk
|
|
20
|
+
* @param lang
|
|
21
|
+
*/
|
|
22
|
+
export declare function getLocale(sdk: SnackSDK | Core, lang?: string): string;
|
|
23
|
+
export declare const get: (obj: any, path: string, defaultValue?: any) => any;
|
|
24
|
+
/**
|
|
25
|
+
* 替换字符串模版变量
|
|
26
|
+
* @param str
|
|
27
|
+
* @param params
|
|
28
|
+
*/
|
|
29
|
+
export declare const replaceStrTemplateVars: (str: string, vars?: any) => string | React.JSX.Element;
|
|
30
|
+
/**
|
|
31
|
+
* 判断[]或者{}
|
|
32
|
+
* */
|
|
33
|
+
export declare const isEmptyObject: (value: any) => boolean;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { ModuleType } from "./verifyJS";
|
|
2
|
+
import { DropChildrenItem } from "../interface";
|
|
3
|
+
declare const types: {
|
|
4
|
+
inFormatJS: string[];
|
|
5
|
+
outFormatJS: string[];
|
|
6
|
+
verifyJS: string[];
|
|
7
|
+
eventJS: string[];
|
|
8
|
+
onCreateBefore: string[];
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* $this 当前组件对象
|
|
12
|
+
* $key 当前组件的唯一key值
|
|
13
|
+
* $field 当前表单绑定的字段名
|
|
14
|
+
* $fields 当前表单字段键值对
|
|
15
|
+
* $cb 校验回调函数 () => Promise<IError | boolean>
|
|
16
|
+
* $verify 校验方法 (key?: string) => Promise<boolean>
|
|
17
|
+
* $value form组件值
|
|
18
|
+
* $defaultValue 当前form组件默认值
|
|
19
|
+
* $defaultData 渲染表单传入的默认data对象
|
|
20
|
+
* $val 设置指定字段的组件值 $val(key, value);
|
|
21
|
+
* $getData 根据绑定字段获取组件(M)对象的data;
|
|
22
|
+
* $display 设置指定字段组件是否显示 $display(key, true/false);
|
|
23
|
+
* $http paralib http 请求模块
|
|
24
|
+
* $utils paralib 工具方法模块
|
|
25
|
+
* $message paraUi message 提示组件
|
|
26
|
+
*/
|
|
27
|
+
interface DataFields {
|
|
28
|
+
$cb?: Function;
|
|
29
|
+
$this: any;
|
|
30
|
+
$fields: any;
|
|
31
|
+
$verify?: any;
|
|
32
|
+
$children: any;
|
|
33
|
+
$defaultData?: {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
};
|
|
36
|
+
$message?: {
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
};
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
}
|
|
41
|
+
export default function <T extends ModuleType>(type: keyof typeof types, code: string, data: DataFields): any;
|
|
42
|
+
/**
|
|
43
|
+
* 是否显示组件,默认显示
|
|
44
|
+
* @param child
|
|
45
|
+
* @param show 是否显示
|
|
46
|
+
*/
|
|
47
|
+
declare function $display(child?: DropChildrenItem, show?: boolean): DropChildrenItem<any, any, any, any> | undefined;
|
|
48
|
+
export declare const DisplayModule: typeof $display;
|
|
49
|
+
/**
|
|
50
|
+
* 返回代monaco代码提示
|
|
51
|
+
* @param monaco monaco编辑器对象
|
|
52
|
+
* @param event 指定过滤事件的参数,可选,默认全量参数
|
|
53
|
+
* @constructor
|
|
54
|
+
*/
|
|
55
|
+
export declare const GetParamsDetails: (monaco: any, event?: string, locale?: "en-US" | "zh-CN") => {
|
|
56
|
+
label: string;
|
|
57
|
+
insertText: string;
|
|
58
|
+
detail: string;
|
|
59
|
+
documentation: string | undefined;
|
|
60
|
+
kind: any;
|
|
61
|
+
}[];
|
|
62
|
+
/**
|
|
63
|
+
* 脚本参数描述
|
|
64
|
+
* @param filterEvents string[] 过滤所属事件,默认参数生效与所有脚本
|
|
65
|
+
* @param events string[] 参数所属事件
|
|
66
|
+
* @param label string 参数名
|
|
67
|
+
* @param insertText string 自动补全代码
|
|
68
|
+
* @param detail string 简要描述
|
|
69
|
+
* @param documentation string 详细描述
|
|
70
|
+
* */
|
|
71
|
+
export declare const ParamsDetails: ({
|
|
72
|
+
label: string;
|
|
73
|
+
insertText: string;
|
|
74
|
+
detail: string;
|
|
75
|
+
filterEvents?: undefined;
|
|
76
|
+
events?: undefined;
|
|
77
|
+
documentation?: undefined;
|
|
78
|
+
} | {
|
|
79
|
+
filterEvents: string[];
|
|
80
|
+
label: string;
|
|
81
|
+
insertText: string;
|
|
82
|
+
detail: string;
|
|
83
|
+
events?: undefined;
|
|
84
|
+
documentation?: undefined;
|
|
85
|
+
} | {
|
|
86
|
+
events: string[];
|
|
87
|
+
label: string;
|
|
88
|
+
insertText: string;
|
|
89
|
+
detail: string;
|
|
90
|
+
filterEvents?: undefined;
|
|
91
|
+
documentation?: undefined;
|
|
92
|
+
} | {
|
|
93
|
+
label: string;
|
|
94
|
+
insertText: string;
|
|
95
|
+
detail: string;
|
|
96
|
+
documentation: string;
|
|
97
|
+
filterEvents?: undefined;
|
|
98
|
+
events?: undefined;
|
|
99
|
+
} | {
|
|
100
|
+
events: string[];
|
|
101
|
+
label: string;
|
|
102
|
+
insertText: string;
|
|
103
|
+
detail: string;
|
|
104
|
+
documentation: string;
|
|
105
|
+
filterEvents?: undefined;
|
|
106
|
+
})[];
|
|
107
|
+
export declare const enParamsDetails: ({
|
|
108
|
+
label: string;
|
|
109
|
+
insertText: string;
|
|
110
|
+
detail: string;
|
|
111
|
+
filterEvents?: undefined;
|
|
112
|
+
events?: undefined;
|
|
113
|
+
documentation?: undefined;
|
|
114
|
+
} | {
|
|
115
|
+
filterEvents: string[];
|
|
116
|
+
label: string;
|
|
117
|
+
insertText: string;
|
|
118
|
+
detail: string;
|
|
119
|
+
events?: undefined;
|
|
120
|
+
documentation?: undefined;
|
|
121
|
+
} | {
|
|
122
|
+
events: string[];
|
|
123
|
+
label: string;
|
|
124
|
+
insertText: string;
|
|
125
|
+
detail: string;
|
|
126
|
+
filterEvents?: undefined;
|
|
127
|
+
documentation?: undefined;
|
|
128
|
+
} | {
|
|
129
|
+
label: string;
|
|
130
|
+
insertText: string;
|
|
131
|
+
detail: string;
|
|
132
|
+
documentation: string;
|
|
133
|
+
filterEvents?: undefined;
|
|
134
|
+
events?: undefined;
|
|
135
|
+
} | {
|
|
136
|
+
events: string[];
|
|
137
|
+
label: string;
|
|
138
|
+
insertText: string;
|
|
139
|
+
detail: string;
|
|
140
|
+
documentation: string;
|
|
141
|
+
filterEvents?: undefined;
|
|
142
|
+
})[];
|
|
143
|
+
/**
|
|
144
|
+
* 动态函数
|
|
145
|
+
* @param args 函数入参
|
|
146
|
+
* @param code 函数内容
|
|
147
|
+
* @param isSync 是否async函数
|
|
148
|
+
*/
|
|
149
|
+
export declare const evalFunc: (args: string | string[], code: string, isSync?: boolean) => any;
|
|
150
|
+
export declare const replaceVars: (data: any, srcData: any) => any;
|
|
151
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SnackFormAttribute } from "../interface";
|
|
2
|
+
import { FormDataFormatArgs } from "../sdk/index";
|
|
3
|
+
export type ModuleType = {
|
|
4
|
+
data: {
|
|
5
|
+
/**
|
|
6
|
+
* 表单配置属性
|
|
7
|
+
*/
|
|
8
|
+
formAttr: SnackFormAttribute;
|
|
9
|
+
/**
|
|
10
|
+
* 表单组件标题
|
|
11
|
+
*/
|
|
12
|
+
label: string;
|
|
13
|
+
/**
|
|
14
|
+
* 表单组件值
|
|
15
|
+
*/
|
|
16
|
+
value: any;
|
|
17
|
+
/**
|
|
18
|
+
* 默认值
|
|
19
|
+
*/
|
|
20
|
+
__defaultvalue: any;
|
|
21
|
+
/**
|
|
22
|
+
* 表单组件错误提示红框
|
|
23
|
+
*/
|
|
24
|
+
error: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 表单组件下方文本
|
|
27
|
+
*/
|
|
28
|
+
helperText: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* 强制渲染组件方法
|
|
32
|
+
*/
|
|
33
|
+
$forceUpdate: () => void;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* 校验值
|
|
37
|
+
* @param $this M 对象
|
|
38
|
+
* @param cb 回调函数
|
|
39
|
+
* @param sdk sdk
|
|
40
|
+
*/
|
|
41
|
+
export default function <T extends ModuleType>(formatAargs: FormDataFormatArgs, M: T): Promise<boolean>;
|
|
42
|
+
export declare const verifyGlobal: (code: string, formatAargs: FormDataFormatArgs, defValue: boolean) => Promise<boolean>;
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@snack-kit/core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"main": "dist/cjs/index.js",
|
|
5
|
+
"module": "dist/es/index.js",
|
|
6
|
+
"typings": "dist/types/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/types/index.d.ts",
|
|
10
|
+
"import": "./dist/es/index.js",
|
|
11
|
+
"require": "./dist/cjs/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"description": "Snack by Para FED",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"dev": "webpack serve --mode=development --config=webpack.dev.config.js",
|
|
17
|
+
"build": "tsup",
|
|
18
|
+
"build:watch": "tsup --watch",
|
|
19
|
+
"test": "vitest run",
|
|
20
|
+
"test:watch": "vitest",
|
|
21
|
+
"test:coverage": "vitest run --coverage",
|
|
22
|
+
"docs": "typedoc",
|
|
23
|
+
"lint": "tsc --noEmit",
|
|
24
|
+
"clean": "rimraf ./dist",
|
|
25
|
+
"prepublishOnly": "npm run build",
|
|
26
|
+
"release": "npm run build && npm publish --access public"
|
|
27
|
+
},
|
|
28
|
+
"snack": {},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"package.json"
|
|
32
|
+
],
|
|
33
|
+
"author": "",
|
|
34
|
+
"license": "ISC",
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@snack-kit/lib": "^0.6.0",
|
|
37
|
+
"react": "^19.2.0",
|
|
38
|
+
"react-dom": "^19.2.0"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@swc/core": "^1.15.18",
|
|
42
|
+
"@types/react": "^19.2.7",
|
|
43
|
+
"@types/react-dom": "^19.2.3",
|
|
44
|
+
"@vitest/coverage-v8": "^2.0.0",
|
|
45
|
+
"css-loader": "^7.1.4",
|
|
46
|
+
"html-webpack-plugin": "^5.6.6",
|
|
47
|
+
"jsdom": "^24.0.0",
|
|
48
|
+
"minimist": "^1.2.8",
|
|
49
|
+
"rimraf": "^5.0.0",
|
|
50
|
+
"sass": "^1.97.3",
|
|
51
|
+
"sass-loader": "^16.0.7",
|
|
52
|
+
"style-loader": "^4.0.0",
|
|
53
|
+
"swc-loader": "^0.2.7",
|
|
54
|
+
"tsup": "^8.0.0",
|
|
55
|
+
"typedoc": "^0.26.0",
|
|
56
|
+
"typescript": "^5.0.0",
|
|
57
|
+
"vitest": "^2.0.0",
|
|
58
|
+
"webpack": "^5.105.3",
|
|
59
|
+
"webpack-cli": "^6.0.1",
|
|
60
|
+
"webpack-dev-server": "^5.2.3"
|
|
61
|
+
}
|
|
62
|
+
}
|