Mercurial > hg > orthanc-stone
view Applications/Samples/StoneSampleCommands_generated.ts @ 690:f185cfcb72a0 am-dev
CodeGen: tests improvements
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Thu, 16 May 2019 19:10:38 +0200 |
parents | 4eccf698e52f |
children |
line wrap: on
line source
/* 1 2 3 4 5 6 7 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Generated on 2019-03-18 12:07:42.696093 by stonegentool */ function StoneCheckSerializedValueType(value: any, typeStr: string) { StoneCheckSerializedValueTypeGeneric(value); if (value['type'] != typeStr) { throw new Error( `Cannot deserialize type ${value['type']} into ${typeStr}`); } } function isString(val: any) :boolean { return ((typeof val === 'string') || (val instanceof String)); } function StoneCheckSerializedValueTypeGeneric(value: any) { // console.//log("+-------------------------------------------------+"); // console.//log("| StoneCheckSerializedValueTypeGeneric |"); // console.//log("+-------------------------------------------------+"); // console.//log("value = "); // console.//log(value); if ( (!('type' in value)) || (!isString(value.type)) ) { throw new Error( "Cannot deserialize value ('type' key invalid)"); } } // end of generic methods export enum Tool { LineMeasure = "LineMeasure", CircleMeasure = "CircleMeasure", Crop = "Crop", Windowing = "Windowing", Zoom = "Zoom", Pan = "Pan", Move = "Move", Rotate = "Rotate", Resize = "Resize", Mask = "Mask" }; export function Tool_FromString(strValue:string) : Tool { if( strValue == "LineMeasure" ) { return Tool.LineMeasure; } if( strValue == "CircleMeasure" ) { return Tool.CircleMeasure; } if( strValue == "Crop" ) { return Tool.Crop; } if( strValue == "Windowing" ) { return Tool.Windowing; } if( strValue == "Zoom" ) { return Tool.Zoom; } if( strValue == "Pan" ) { return Tool.Pan; } if( strValue == "Move" ) { return Tool.Move; } if( strValue == "Rotate" ) { return Tool.Rotate; } if( strValue == "Resize" ) { return Tool.Resize; } if( strValue == "Mask" ) { return Tool.Mask; } let msg : string = `String ${strValue} cannot be converted to Tool. Possible values are: LineMeasure, CircleMeasure, Crop, Windowing, Zoom, Pan, Move, Rotate, Resize, Mask`; throw new Error(msg); } export function Tool_ToString(value:Tool) : string { if( value == Tool.LineMeasure ) { return "LineMeasure"; } if( value == Tool.CircleMeasure ) { return "CircleMeasure"; } if( value == Tool.Crop ) { return "Crop"; } if( value == Tool.Windowing ) { return "Windowing"; } if( value == Tool.Zoom ) { return "Zoom"; } if( value == Tool.Pan ) { return "Pan"; } if( value == Tool.Move ) { return "Move"; } if( value == Tool.Rotate ) { return "Rotate"; } if( value == Tool.Resize ) { return "Resize"; } if( value == Tool.Mask ) { return "Mask"; } let msg : string = `Value ${value} cannot be converted to Tool. Possible values are: `; { let _LineMeasure_enumValue : string = Tool.LineMeasure; // enums are strings in stonecodegen, so this will work. let msg_LineMeasure : string = `LineMeasure (${_LineMeasure_enumValue}), `; msg = msg + msg_LineMeasure; } { let _CircleMeasure_enumValue : string = Tool.CircleMeasure; // enums are strings in stonecodegen, so this will work. let msg_CircleMeasure : string = `CircleMeasure (${_CircleMeasure_enumValue}), `; msg = msg + msg_CircleMeasure; } { let _Crop_enumValue : string = Tool.Crop; // enums are strings in stonecodegen, so this will work. let msg_Crop : string = `Crop (${_Crop_enumValue}), `; msg = msg + msg_Crop; } { let _Windowing_enumValue : string = Tool.Windowing; // enums are strings in stonecodegen, so this will work. let msg_Windowing : string = `Windowing (${_Windowing_enumValue}), `; msg = msg + msg_Windowing; } { let _Zoom_enumValue : string = Tool.Zoom; // enums are strings in stonecodegen, so this will work. let msg_Zoom : string = `Zoom (${_Zoom_enumValue}), `; msg = msg + msg_Zoom; } { let _Pan_enumValue : string = Tool.Pan; // enums are strings in stonecodegen, so this will work. let msg_Pan : string = `Pan (${_Pan_enumValue}), `; msg = msg + msg_Pan; } { let _Move_enumValue : string = Tool.Move; // enums are strings in stonecodegen, so this will work. let msg_Move : string = `Move (${_Move_enumValue}), `; msg = msg + msg_Move; } { let _Rotate_enumValue : string = Tool.Rotate; // enums are strings in stonecodegen, so this will work. let msg_Rotate : string = `Rotate (${_Rotate_enumValue}), `; msg = msg + msg_Rotate; } { let _Resize_enumValue : string = Tool.Resize; // enums are strings in stonecodegen, so this will work. let msg_Resize : string = `Resize (${_Resize_enumValue}), `; msg = msg + msg_Resize; } { let _Mask_enumValue : string = Tool.Mask; // enums are strings in stonecodegen, so this will work. let msg_Mask : string = `Mask (${_Mask_enumValue})`; msg = msg + msg_Mask; } throw new Error(msg); } export enum ActionType { UndoCrop = "UndoCrop", Rotate = "Rotate", Invert = "Invert" }; export function ActionType_FromString(strValue:string) : ActionType { if( strValue == "UndoCrop" ) { return ActionType.UndoCrop; } if( strValue == "Rotate" ) { return ActionType.Rotate; } if( strValue == "Invert" ) { return ActionType.Invert; } let msg : string = `String ${strValue} cannot be converted to ActionType. Possible values are: UndoCrop, Rotate, Invert`; throw new Error(msg); } export function ActionType_ToString(value:ActionType) : string { if( value == ActionType.UndoCrop ) { return "UndoCrop"; } if( value == ActionType.Rotate ) { return "Rotate"; } if( value == ActionType.Invert ) { return "Invert"; } let msg : string = `Value ${value} cannot be converted to ActionType. Possible values are: `; { let _UndoCrop_enumValue : string = ActionType.UndoCrop; // enums are strings in stonecodegen, so this will work. let msg_UndoCrop : string = `UndoCrop (${_UndoCrop_enumValue}), `; msg = msg + msg_UndoCrop; } { let _Rotate_enumValue : string = ActionType.Rotate; // enums are strings in stonecodegen, so this will work. let msg_Rotate : string = `Rotate (${_Rotate_enumValue}), `; msg = msg + msg_Rotate; } { let _Invert_enumValue : string = ActionType.Invert; // enums are strings in stonecodegen, so this will work. let msg_Invert : string = `Invert (${_Invert_enumValue})`; msg = msg + msg_Invert; } throw new Error(msg); } export class SelectTool { tool:Tool; constructor() { } public StoneSerialize(): string { let container: object = {}; container['type'] = 'StoneSampleCommands.SelectTool'; container['value'] = this; return JSON.stringify(container); } public static StoneDeserialize(valueStr: string) : SelectTool { let value: any = JSON.parse(valueStr); StoneCheckSerializedValueType(value, 'StoneSampleCommands.SelectTool'); let result: SelectTool = value['value'] as SelectTool; return result; } } export class Action { type:ActionType; constructor() { } public StoneSerialize(): string { let container: object = {}; container['type'] = 'StoneSampleCommands.Action'; container['value'] = this; return JSON.stringify(container); } public static StoneDeserialize(valueStr: string) : Action { let value: any = JSON.parse(valueStr); StoneCheckSerializedValueType(value, 'StoneSampleCommands.Action'); let result: Action = value['value'] as Action; return result; } } export interface IHandler { }; /** Service function for StoneDispatchToHandler */ export function StoneDispatchJsonToHandler( jsonValue: any, handler: IHandler): boolean { StoneCheckSerializedValueTypeGeneric(jsonValue); let type: string = jsonValue["type"]; if (type == "") { // this should never ever happen throw new Error("Caught empty type while dispatching"); } else { return false; } } /** Takes a serialized type and passes this to the handler */ export function StoneDispatchToHandler( strValue: string, handler: IHandler): boolean { // console.//log("+------------------------------------------------+"); // console.//log("| StoneDispatchToHandler |"); // console.//log("+------------------------------------------------+"); // console.//log("strValue = "); // console.//log(strValue); let jsonValue: any = JSON.parse(strValue) return StoneDispatchJsonToHandler(jsonValue, handler); }