@lcap/nasl 4.4.1-rc.2 → 4.5.0-beta.1

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.
Files changed (38) hide show
  1. package/out/generator/release-body/data.js +1 -1
  2. package/out/generator/release-body/data.js.map +1 -1
  3. package/out/generator/release-body/internal.d.ts +1 -0
  4. package/out/generator/release-body/internal.d.ts.map +1 -1
  5. package/out/generator/release-body/internal.js.map +1 -1
  6. package/out/generator/release-body/utils.d.ts +1 -0
  7. package/out/generator/release-body/utils.d.ts.map +1 -1
  8. package/out/generator/release-body/utils.js +1 -0
  9. package/out/generator/release-body/utils.js.map +1 -1
  10. package/out/generator/ui-library-declaration/types.d.ts +2 -0
  11. package/out/generator/ui-library-declaration/types.d.ts.map +1 -1
  12. package/out/index.d.ts +1 -1
  13. package/out/index.d.ts.map +1 -1
  14. package/out/index.js +5 -1
  15. package/out/index.js.map +1 -1
  16. package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -1
  17. package/out/natural/parser/parseNaturalTSXView.js +0 -4
  18. package/out/natural/parser/parseNaturalTSXView.js.map +1 -1
  19. package/out/natural/transforms/checker/checkViewElement.d.ts.map +1 -1
  20. package/out/natural/transforms/checker/checkViewElement.js +30 -0
  21. package/out/natural/transforms/checker/checkViewElement.js.map +1 -1
  22. package/out/natural/utils/index.d.ts +1 -1
  23. package/out/natural/utils/index.d.ts.map +1 -1
  24. package/out/natural/utils/index.js +3 -1
  25. package/out/natural/utils/index.js.map +1 -1
  26. package/out/server/index.d.ts +1 -0
  27. package/out/server/index.d.ts.map +1 -1
  28. package/out/server/index.js +6 -1
  29. package/out/server/index.js.map +1 -1
  30. package/out/server/naslServer.d.ts +2 -0
  31. package/out/server/naslServer.d.ts.map +1 -1
  32. package/out/server/naslServer.js +11 -5
  33. package/out/server/naslServer.js.map +1 -1
  34. package/out/server/naslUiComponentTs.d.ts +17 -0
  35. package/out/server/naslUiComponentTs.d.ts.map +1 -0
  36. package/out/server/naslUiComponentTs.js +135 -0
  37. package/out/server/naslUiComponentTs.js.map +1 -0
  38. package/package.json +9 -9
@@ -0,0 +1,17 @@
1
+ export declare function buildNaslUiComponentTsFileContent(convertTsCode: (code: string) => string, opts: {
2
+ basicUITsCode: string;
3
+ /** 传入(含 `''`)则仅用该段,忽略 basicUITsCode */
4
+ naslUiComponentTsOverride?: string;
5
+ }): string;
6
+ /** 地址栏 `nasl-ui-ts-override` 为真且未在代码里传 override 时使用的默认 d.ts 片段(可随版本替换内容,不限定具体组件) */
7
+ export declare const DEFAULT_NASL_UI_COMPONENT_TS = "\ndeclare namespace nasl.ui {\ntype DateConverterToType<C extends 'auto' | 'string' | 'Integer', IsDate extends nasl.core.Boolean> = C extends 'Integer' ? nasl.core.Integer :\n C extends 'string' ? nasl.core.String :\n IsDate extends true ? nasl.core.Date : nasl.core.DateTime;\n\nexport class ElDatePicker<T, V, P, M, C extends 'auto' | 'string' | 'Integer', DT extends 'datetime'\n | 'date'\n | 'year'\n | 'month'\n | 'week'\n | 'datetimerange'\n | 'daterange'\n | 'yearrange'\n | 'monthrange'\n | 'dates'\n | 'years'\n | 'months'> extends ViewComponent {\n constructor(options?: Partial<ElDatePickerOptions<T, V, P, M, C, DT>>);\n}\n\nexport class ElDatePickerOptions<T, V, P, M, C extends 'auto' | 'string' | 'Integer', DT extends 'datetime'\n| 'date'\n| 'year'\n| 'month'\n| 'week'\n| 'datetimerange'\n| 'daterange'\n| 'yearrange'\n| 'monthrange'\n| 'dates'\n| 'years'\n| 'months'> extends ViewComponentOptions {\n converter: C;\n type: DT;\n modelValue: DT extends 'date' ? DateConverterToType<C, true> :\n DT extends 'datetime' | 'year' | 'month' | 'week' ? DateConverterToType<C, false> :\n DT extends 'dates' ? nasl.collection.List<DateConverterToType<C, true>> :\n DT extends 'years' | 'months' ? nasl.collection.List<DateConverterToType<C, false>> :\n null;\n startValue: DT extends 'daterange' ? DateConverterToType<C, true> :\n DT extends 'datetimerange' | 'yearrange' | 'monthrange' ? DateConverterToType<C, false> :\n null;\n endValue: DT extends 'daterange' ? DateConverterToType<C, true> :\n DT extends 'datetimerange' | 'yearrange' | 'monthrange' ? DateConverterToType<C, false> :\n null;\n}\n}\n";
8
+ /** 地址栏:`true` / `1` / `yes`(大小写不敏感) */
9
+ export declare function isNaslUiTsUrlFlagEnabled(value: string | null | undefined): boolean;
10
+ /**
11
+ * `?nasl-ui-ts-override=true`(或 `1`、`yes`)→ 使用 {@link DEFAULT_NASL_UI_COMPONENT_TS} 整段替换。
12
+ * `createUiTs` 已传 `naslUiComponentTsOverride`(含 `''`)时优先于地址栏。
13
+ */
14
+ export declare function getNaslUiComponentTsQueryOpts(): {
15
+ overrideFragment?: string;
16
+ };
17
+ //# sourceMappingURL=naslUiComponentTs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naslUiComponentTs.d.ts","sourceRoot":"","sources":["../../src/server/naslUiComponentTs.ts"],"names":[],"mappings":"AAQA,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,IAAI,EAAE;IACJ,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GACA,MAAM,CAKR;AAED,oFAAoF;AACpF,eAAO,MAAM,4BAA4B,osDAgDxC,CAAC;AAEF,uCAAuC;AACvC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAMlF;AA0CD;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAYA"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNaslUiComponentTsQueryOpts = exports.isNaslUiTsUrlFlagEnabled = exports.DEFAULT_NASL_UI_COMPONENT_TS = exports.buildNaslUiComponentTsFileContent = void 0;
4
+ /**
5
+ * 组装传给 `parseTsFnToNaslQNameRefMaps` 的 nasl.ui 组件 d.ts。
6
+ * 无 override 时用 `convertTsCode(basicUITsCode)`;有 override 时**整段替换**(不经 union→String,仅 Integer→Long)。
7
+ */
8
+ function convertNaslUiPatchTsCode(code) {
9
+ return (code || '').replace(/nasl.core.Integer/g, 'nasl.core.Long');
10
+ }
11
+ function buildNaslUiComponentTsFileContent(convertTsCode, opts) {
12
+ if (opts.naslUiComponentTsOverride !== undefined) {
13
+ return convertNaslUiPatchTsCode(opts.naslUiComponentTsOverride);
14
+ }
15
+ return convertTsCode(opts.basicUITsCode);
16
+ }
17
+ exports.buildNaslUiComponentTsFileContent = buildNaslUiComponentTsFileContent;
18
+ /** 地址栏 `nasl-ui-ts-override` 为真且未在代码里传 override 时使用的默认 d.ts 片段(可随版本替换内容,不限定具体组件) */
19
+ exports.DEFAULT_NASL_UI_COMPONENT_TS = `
20
+ declare namespace nasl.ui {
21
+ type DateConverterToType<C extends 'auto' | 'string' | 'Integer', IsDate extends nasl.core.Boolean> = C extends 'Integer' ? nasl.core.Integer :
22
+ C extends 'string' ? nasl.core.String :
23
+ IsDate extends true ? nasl.core.Date : nasl.core.DateTime;
24
+
25
+ export class ElDatePicker<T, V, P, M, C extends 'auto' | 'string' | 'Integer', DT extends 'datetime'
26
+ | 'date'
27
+ | 'year'
28
+ | 'month'
29
+ | 'week'
30
+ | 'datetimerange'
31
+ | 'daterange'
32
+ | 'yearrange'
33
+ | 'monthrange'
34
+ | 'dates'
35
+ | 'years'
36
+ | 'months'> extends ViewComponent {
37
+ constructor(options?: Partial<ElDatePickerOptions<T, V, P, M, C, DT>>);
38
+ }
39
+
40
+ export class ElDatePickerOptions<T, V, P, M, C extends 'auto' | 'string' | 'Integer', DT extends 'datetime'
41
+ | 'date'
42
+ | 'year'
43
+ | 'month'
44
+ | 'week'
45
+ | 'datetimerange'
46
+ | 'daterange'
47
+ | 'yearrange'
48
+ | 'monthrange'
49
+ | 'dates'
50
+ | 'years'
51
+ | 'months'> extends ViewComponentOptions {
52
+ converter: C;
53
+ type: DT;
54
+ modelValue: DT extends 'date' ? DateConverterToType<C, true> :
55
+ DT extends 'datetime' | 'year' | 'month' | 'week' ? DateConverterToType<C, false> :
56
+ DT extends 'dates' ? nasl.collection.List<DateConverterToType<C, true>> :
57
+ DT extends 'years' | 'months' ? nasl.collection.List<DateConverterToType<C, false>> :
58
+ null;
59
+ startValue: DT extends 'daterange' ? DateConverterToType<C, true> :
60
+ DT extends 'datetimerange' | 'yearrange' | 'monthrange' ? DateConverterToType<C, false> :
61
+ null;
62
+ endValue: DT extends 'daterange' ? DateConverterToType<C, true> :
63
+ DT extends 'datetimerange' | 'yearrange' | 'monthrange' ? DateConverterToType<C, false> :
64
+ null;
65
+ }
66
+ }
67
+ `;
68
+ /** 地址栏:`true` / `1` / `yes`(大小写不敏感) */
69
+ function isNaslUiTsUrlFlagEnabled(value) {
70
+ if (value == null || value === '') {
71
+ return false;
72
+ }
73
+ const v = value.trim().toLowerCase();
74
+ return v === 'true' || v === '1' || v === 'yes';
75
+ }
76
+ exports.isNaslUiTsUrlFlagEnabled = isNaslUiTsUrlFlagEnabled;
77
+ function fragmentWhenUrlFlag(value) {
78
+ return isNaslUiTsUrlFlagEnabled(value) ? exports.DEFAULT_NASL_UI_COMPONENT_TS : undefined;
79
+ }
80
+ function getNaslUiTsQueryStringForSearchParams() {
81
+ if (typeof globalThis === 'undefined') {
82
+ return '';
83
+ }
84
+ const pickFromLocation = (locationLike) => {
85
+ if (!locationLike) {
86
+ return '';
87
+ }
88
+ const s = locationLike.search;
89
+ if (typeof s === 'string' && s.length > 1) {
90
+ return s;
91
+ }
92
+ const hash = typeof locationLike.hash === 'string' ? locationLike.hash : '';
93
+ const qi = hash.indexOf('?');
94
+ if (qi >= 0) {
95
+ return hash.slice(qi);
96
+ }
97
+ return '';
98
+ };
99
+ try {
100
+ const g = globalThis;
101
+ let q = pickFromLocation(g.location);
102
+ if (!q && typeof window !== 'undefined' && window.parent !== window) {
103
+ try {
104
+ q = pickFromLocation(window.parent.location);
105
+ }
106
+ catch {
107
+ // 跨域 iframe 无法读 parent
108
+ }
109
+ }
110
+ return q;
111
+ }
112
+ catch {
113
+ return '';
114
+ }
115
+ }
116
+ /**
117
+ * `?nasl-ui-ts-override=true`(或 `1`、`yes`)→ 使用 {@link DEFAULT_NASL_UI_COMPONENT_TS} 整段替换。
118
+ * `createUiTs` 已传 `naslUiComponentTsOverride`(含 `''`)时优先于地址栏。
119
+ */
120
+ function getNaslUiComponentTsQueryOpts() {
121
+ try {
122
+ const raw = getNaslUiTsQueryStringForSearchParams();
123
+ if (!raw) {
124
+ return {};
125
+ }
126
+ const qs = new URLSearchParams(raw.startsWith('?') ? raw.slice(1) : raw);
127
+ const overrideFragment = fragmentWhenUrlFlag(qs.get('nasl-ui-ts-override'));
128
+ return overrideFragment ? { overrideFragment } : {};
129
+ }
130
+ catch {
131
+ return {};
132
+ }
133
+ }
134
+ exports.getNaslUiComponentTsQueryOpts = getNaslUiComponentTsQueryOpts;
135
+ //# sourceMappingURL=naslUiComponentTs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naslUiComponentTs.js","sourceRoot":"","sources":["../../src/server/naslUiComponentTs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lcap/nasl",
3
3
  "description": "NetEase Application Specific Language",
4
- "version": "4.4.1-rc.2",
4
+ "version": "4.5.0-beta.1",
5
5
  "author": "Forrest <rainforest92@126.com>",
6
6
  "main": "./out",
7
7
  "types": "./out/index.d.ts",
@@ -79,14 +79,14 @@
79
79
  "vue": "3.4.33",
80
80
  "vue-template-compiler": "2.6.14",
81
81
  "vue-template-es2015-compiler": "1.9.1",
82
- "@lcap/nasl-breakpoint": "4.4.1-rc.2",
83
- "@lcap/nasl-concepts": "4.4.1-rc.2",
84
- "@lcap/nasl-language-server-core": "4.4.1-rc.2",
85
- "@lcap/nasl-log": "4.4.1-rc.2",
86
- "@lcap/nasl-translator": "4.4.1-rc.2",
87
- "@lcap/nasl-types": "4.4.1-rc.2",
88
- "@lcap/nasl-unified-frontend-generator": "4.4.1-rc.2",
89
- "@lcap/nasl-utils": "4.4.1-rc.2"
82
+ "@lcap/nasl-breakpoint": "4.5.0-beta.1",
83
+ "@lcap/nasl-concepts": "4.5.0-beta.1",
84
+ "@lcap/nasl-language-server-core": "4.5.0-beta.1",
85
+ "@lcap/nasl-log": "4.5.0-beta.1",
86
+ "@lcap/nasl-translator": "4.5.0-beta.1",
87
+ "@lcap/nasl-types": "4.5.0-beta.1",
88
+ "@lcap/nasl-unified-frontend-generator": "4.5.0-beta.1",
89
+ "@lcap/nasl-utils": "4.5.0-beta.1"
90
90
  },
91
91
  "devDependencies": {
92
92
  "@babel/preset-react": "7.24.1",