Begin XenForo Sync and continue Uploader
This commit is contained in:
52
ts/submissions/class-uploader-data.ts
Normal file
52
ts/submissions/class-uploader-data.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
export class Uploader_Data {
|
||||
|
||||
private data: object;
|
||||
|
||||
constructor() {
|
||||
this.data = {};
|
||||
|
||||
return new Proxy( this, {
|
||||
get: ( target, p ) => {
|
||||
return target.get( p as string );
|
||||
},
|
||||
set: ( target, p, v ) => {
|
||||
target.set( p as string, v );
|
||||
return true
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
add_field( field_name: string, field_value: any, readonly: boolean ){
|
||||
|
||||
// @ts-ignore
|
||||
if( !this.data[field_name] )
|
||||
// @ts-ignore
|
||||
this.data[field_name] = { "data": field_value, can_write: ( readonly ? 1 : -1 ) };
|
||||
|
||||
}
|
||||
|
||||
get( field_name : string ): any {
|
||||
|
||||
// @ts-ignore
|
||||
if( this.data[field_name] )
|
||||
// @ts-ignore
|
||||
return this.data[field_name]['data'];
|
||||
|
||||
return undefined;
|
||||
|
||||
}
|
||||
|
||||
set( field_name: string, field_value: any ){
|
||||
|
||||
// @ts-ignore
|
||||
if( this.data[field_name] && this.data[field_name]['can_write'] != 0 ){
|
||||
// @ts-ignore
|
||||
this.data[field_name]['data'] = field_value;
|
||||
// @ts-ignore
|
||||
if( this.data[field_name]['can_write'] == 1 )
|
||||
// @ts-ignore
|
||||
this.data[field_name]['can_write'] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user