@@ -29,6 +29,7 @@ export interface IProject extends Omit<IBaseApiProject<
2929 'onSimulatorHostReady' |
3030 'onSimulatorRendererReady' |
3131 'setI18n' |
32+ 'setConfig' |
3233 'currentDocument' |
3334 'selection' |
3435 'documents' |
@@ -75,21 +76,15 @@ export interface IProject extends Omit<IBaseApiProject<
7576 /**
7677 * 分字段设置储存数据,不记录操作记录
7778 */
78- set (
79- // eslint-disable-next-line @typescript-eslint/no-unused-vars
80- key :
81- | 'version'
82- | 'componentsTree'
83- | 'componentsMap'
84- | 'utils'
85- | 'constants'
86- | 'i18n'
87- | 'css'
88- | 'dataSource'
89- | string ,
90- // eslint-disable-next-line @typescript-eslint/no-unused-vars
91- value : any ,
92- ) : void ;
79+ set < T extends keyof IPublicTypeProjectSchema > ( key : T , value : IPublicTypeProjectSchema [ T ] ) : void ;
80+ set ( key : string , value : unknown ) : void ;
81+
82+ /**
83+ * 分字段获取储存数据
84+ */
85+ get < T extends keyof IPublicTypeProjectSchema > ( key : T ) : IPublicTypeProjectSchema [ T ] ;
86+ get < T > ( key : string ) : T ;
87+ get ( key : string ) : unknown ;
9388
9489 checkExclusive ( activeDoc : DocumentModel ) : void ;
9590}
@@ -268,21 +263,9 @@ export class Project implements IProject {
268263 /**
269264 * 分字段设置储存数据,不记录操作记录
270265 */
271- set (
272- // eslint-disable-next-line @typescript-eslint/no-unused-vars
273- key :
274- | 'version'
275- | 'componentsTree'
276- | 'componentsMap'
277- | 'utils'
278- | 'constants'
279- | 'i18n'
280- | 'css'
281- | 'dataSource'
282- | string ,
283- // eslint-disable-next-line @typescript-eslint/no-unused-vars
284- value : any ,
285- ) : void {
266+ set < T extends keyof IPublicTypeProjectSchema > ( key : T , value : IPublicTypeProjectSchema [ T ] ) : void ;
267+ set ( key : string , value : unknown ) : void ;
268+ set ( key : string , value : unknown ) : void {
286269 if ( key === 'config' ) {
287270 this . config = value ;
288271 }
@@ -295,20 +278,10 @@ export class Project implements IProject {
295278 /**
296279 * 分字段设置储存数据
297280 */
298- get (
299- // eslint-disable-next-line @typescript-eslint/no-unused-vars
300- key :
301- | 'version'
302- | 'componentsTree'
303- | 'componentsMap'
304- | 'utils'
305- | 'constants'
306- | 'i18n'
307- | 'css'
308- | 'dataSource'
309- | 'config'
310- | string ,
311- ) : any {
281+ get < T extends keyof IPublicTypeRootSchema > ( key : T ) : IPublicTypeRootSchema [ T ] ;
282+ get < T > ( key : string ) : T ;
283+ get ( key : string ) : unknown ;
284+ get ( key : string ) : any {
312285 if ( key === 'config' ) {
313286 return this . config ;
314287 }
0 commit comments