MCPcopy Create free account
hub / github.com/alibaba/lowcode-engine / Setters

Class Setters

packages/shell/src/api/setters.ts:11–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9const logger = getLogger({ level: 'warn', bizName: 'shell-setters' });
10
11export class Setters implements IPublicApiSetters {
12 readonly [innerSettersSymbol]: ISetters;
13
14 get [settersSymbol](): ISetters {
15 if (this.workspaceMode) {
16 return this[innerSettersSymbol];
17 }
18
19 const workspace = globalContext.get('workspace');
20 if (workspace.isActive) {
21 return untracked(() => {
22 if (!workspace.window?.innerSetters) {
23 logger.error('setter api 调用时机出现问题,请检查');
24 return this[innerSettersSymbol];
25 }
26 return workspace.window.innerSetters;
27 });
28 }
29
30 return this[innerSettersSymbol];
31 }
32
33 constructor(innerSetters: ISetters, readonly workspaceMode = false) {
34 this[innerSettersSymbol] = innerSetters;
35 }
36
37 /**
38 * 获取指定 setter
39 * @param type
40 * @returns
41 */
42 getSetter = (type: string) => {
43 return this[settersSymbol].getSetter(type);
44 };
45
46 /**
47 * 获取已注册的所有 settersMap
48 * @returns
49 */
50 getSettersMap = (): Map<string, IPublicTypeRegisteredSetter & {
51 type: string;
52 }> => {
53 return this[settersSymbol].getSettersMap();
54 };
55
56 /**
57 * 注册一个 setter
58 * @param typeOrMaps
59 * @param setter
60 * @returns
61 */
62 registerSetter = (
63 typeOrMaps: string | { [key: string]: IPublicTypeCustomView | IPublicTypeRegisteredSetter },
64 setter?: IPublicTypeCustomView | IPublicTypeRegisteredSetter | undefined,
65 ) => {
66 return this[settersSymbol].registerSetter(typeOrMaps, setter);
67 };
68

Callers

nothing calls this directly

Calls 4

getSetterMethod · 0.80
getSettersMapMethod · 0.80
registerSetterMethod · 0.80
createSetterContentMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…