@ledgerhq/device-management-kit 0.0.0-develop-20260427002229 → 0.0.0-develop-20260428002525
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.
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/src/api/command/Errors.js +1 -1
- package/lib/cjs/src/api/command/Errors.js.map +3 -3
- package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
- package/lib/cjs/src/api/command/model/CommandResult.js.map +2 -2
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js +1 -1
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js.map +3 -3
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
- package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
- package/lib/esm/package.json +1 -1
- package/lib/esm/src/api/command/Errors.js +1 -1
- package/lib/esm/src/api/command/Errors.js.map +3 -3
- package/lib/esm/src/api/command/model/CommandResult.js +1 -1
- package/lib/esm/src/api/command/model/CommandResult.js.map +2 -2
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js +1 -1
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js.map +3 -3
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
- package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
- package/lib/types/src/api/command/Errors.d.ts +0 -15
- package/lib/types/src/api/command/Errors.d.ts.map +1 -1
- package/lib/types/src/api/command/model/CommandResult.d.ts +3 -3
- package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
- package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +3 -3
package/lib/cjs/package.json
CHANGED
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
65
65
|
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
|
|
66
66
|
},
|
|
67
|
-
"version": "0.0.0-develop-
|
|
67
|
+
"version": "0.0.0-develop-20260428002525"
|
|
68
68
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var t=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var E=(o,r)=>{for(var e in r)t(o,e,{get:r[e],enumerable:!0})},d=(o,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of s(r))!l.call(o,a)&&a!==e&&t(o,a,{get:()=>r[a],enumerable:!(n=i(r,a))||n.enumerable});return o};var m=o=>d(t({},"__esModule",{value:!0}),o);var v={};E(v,{InvalidGetFirmwareMetadataResponseError:()=>c,InvalidResponseFormatError:()=>g,InvalidStatusWordError:()=>p});module.exports=m(v);class p{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class g{_tag="InvalidResponseFormatError";originalError;constructor(r){this.originalError=new Error(r??"Invalid response format.")}}class c{_tag="InvalidGetFirmwareMetadataResponseError";originalError;constructor(r){this.originalError=new Error(r??"Invalid Firmware Metadata response error.")}}0&&(module.exports={InvalidGetFirmwareMetadataResponseError,InvalidResponseFormatError,InvalidStatusWordError});
|
|
2
2
|
//# sourceMappingURL=Errors.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/api/command/Errors.ts"],
|
|
4
|
-
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,
|
|
6
|
-
"names": ["Errors_exports", "__export", "
|
|
4
|
+
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class InvalidResponseFormatError implements DmkError {\n readonly _tag = \"InvalidResponseFormatError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid response format.\");\n }\n}\n\nexport class InvalidGetFirmwareMetadataResponseError implements DmkError {\n readonly _tag = \"InvalidGetFirmwareMetadataResponseError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Invalid Firmware Metadata response error.\",\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6CAAAE,EAAA,+BAAAC,EAAA,2BAAAC,IAAA,eAAAC,EAAAL,GAEO,MAAMI,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYE,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAMH,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYG,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,0BAA0B,CACtE,CACF,CAEO,MAAMJ,CAA4D,CAC9D,KAAO,0CACP,cAET,YAAYI,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,2CACb,CACF,CACF",
|
|
6
|
+
"names": ["Errors_exports", "__export", "InvalidGetFirmwareMetadataResponseError", "InvalidResponseFormatError", "InvalidStatusWordError", "__toCommonJS", "message"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var u=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:!0})},m=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of c(r))!i.call(e,o)&&o!==t&&a(e,o,{get:()=>r[o],enumerable:!(s=d(r,o))||s.enumerable});return e};var E=e=>m(a({},"__esModule",{value:!0}),e);var S={};u(S,{CommandResultFactory:()=>p,CommandResultStatus:()=>n,isSuccessCommandResult:()=>C});module.exports=E(S);var n=(t=>(t.Error="ERROR",t.Success="SUCCESS",t))(n||{});function p({data:e,error:r}){return r?{status:"ERROR",error:r}:{status:"SUCCESS",data:e}}function C(e){return e.status==="SUCCESS"}0&&(module.exports={CommandResultFactory,CommandResultStatus,isSuccessCommandResult});
|
|
2
2
|
//# sourceMappingURL=CommandResult.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/model/CommandResult.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,EAAA,wBAAAC,EAAA,2BAAAC,IAAA,eAAAC,EAAAL,
|
|
4
|
+
"sourcesContent": ["import {\n type InvalidGetFirmwareMetadataResponseError,\n type InvalidResponseFormatError,\n type InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { type GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport {\n type DeviceExchangeError,\n type UnknownDeviceExchangeError,\n} from \"@api/Error\";\n\nexport enum CommandResultStatus {\n Error = \"ERROR\",\n Success = \"SUCCESS\",\n}\nexport type CommandSuccessResult<Data> = {\n status: CommandResultStatus.Success;\n data: Data;\n};\nexport type CommandErrorResult<SpecificErrorCodes = void> = {\n error:\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | InvalidGetFirmwareMetadataResponseError\n | UnknownDeviceExchangeError;\n status: CommandResultStatus.Error;\n};\nexport type CommandResult<Data, SpecificErrorCodes = void> =\n | CommandSuccessResult<Data>\n | CommandErrorResult<SpecificErrorCodes>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error:\n | DeviceExchangeError<SpecificErrorCodes>\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | InvalidGetFirmwareMetadataResponseError\n | UnknownDeviceExchangeError;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error) {\n return {\n status: CommandResultStatus.Error,\n error,\n };\n }\n return {\n status: CommandResultStatus.Success,\n data,\n };\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return result.status === CommandResultStatus.Success;\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,EAAA,wBAAAC,EAAA,2BAAAC,IAAA,eAAAC,EAAAL,GAWO,IAAKG,OACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAFAA,OAAA,IAqBL,SAASD,EAAsD,CACpE,KAAAI,EACA,MAAAC,CACF,EAUgD,CAC9C,OAAIA,EACK,CACL,OAAQ,QACR,MAAAA,CACF,EAEK,CACL,OAAQ,UACR,KAAAD,CACF,CACF,CAEO,SAASF,EACdI,EACsC,CACtC,OAAOA,EAAO,SAAW,SAC3B",
|
|
6
6
|
"names": ["CommandResult_exports", "__export", "CommandResultFactory", "CommandResultStatus", "isSuccessCommandResult", "__toCommonJS", "data", "error", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var u=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var c=(a,e)=>{for(var n in e)u(a,n,{get:e[n],enumerable:!0})},g=(a,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of y(e))!S.call(a,t)&&t!==n&&u(a,t,{get:()=>e[t],enumerable:!(r=d(e,t))||r.enumerable});return a};var x=a=>g(u({},"__esModule",{value:!0}),a);var G={};c(G,{BatteryStatusType:()=>B,ChargingMode:()=>T,GetBatteryStatusCommand:()=>l});module.exports=x(G);var i=require("../../apdu/utils/ApduBuilder"),p=require("../../apdu/utils/ApduParser"),E=require("../../command/Errors"),o=require("../../command/model/CommandResult"),m=require("../../command/utils/CommandUtils"),R=require("../../command/utils/GlobalCommandError"),B=(s=>(s[s.BATTERY_PERCENTAGE=0]="BATTERY_PERCENTAGE",s[s.BATTERY_VOLTAGE=1]="BATTERY_VOLTAGE",s[s.BATTERY_TEMPERATURE=2]="BATTERY_TEMPERATURE",s[s.BATTERY_CURRENT=3]="BATTERY_CURRENT",s[s.BATTERY_FLAGS=4]="BATTERY_FLAGS",s))(B||{}),T=(r=>(r[r.NONE=0]="NONE",r[r.USB=1]="USB",r[r.QI=2]="QI",r))(T||{});class l{name="getBatteryStatus";args;constructor(e){this.args=e}getApdu(){const e={cla:224,ins:16,p1:0,p2:this.args.statusType};return new i.ApduBuilder(e).build()}parseResponse(e){if(!m.CommandUtils.isSuccessResponse(e))return(0,o.CommandResultFactory)({error:R.GlobalCommandErrorHandler.handle(e)});const n=new p.ApduParser(e),r=t=>(0,o.CommandResultFactory)({error:new E.InvalidResponseFormatError(t)});switch(this.args.statusType){case 0:{const t=n.extract8BitUInt();return t===void 0?r("getBatteryStatus: missing battery percentage in response"):(0,o.CommandResultFactory)({data:t>100?-1:t})}case 1:{const t=n.extract16BitUInt();return t===void 0?r("getBatteryStatus: missing battery voltage in response"):(0,o.CommandResultFactory)({data:t})}case 2:case 3:{const t=n.extract8BitUInt();return t===void 0?r(this.args.statusType===2?"getBatteryStatus: missing battery temperature in response":"getBatteryStatus: missing battery current in response"):(0,o.CommandResultFactory)({data:t<<24>>24})}case 4:{const t=n.extract32BitUInt();if(t===void 0)return r("getBatteryStatus: missing battery flags in response");const s=!!(t&8),A=!s&&!!(t&1);return(0,o.CommandResultFactory)({data:{charging:A?2:s?1:0,issueCharging:!!(t&16),issueTemperature:!!(t&32),issueBattery:!!(t&128)}})}default:return r("getBatteryStatus: unsupported battery status type")}}}0&&(module.exports={BatteryStatusType,ChargingMode,GetBatteryStatusCommand});
|
|
2
2
|
//# sourceMappingURL=GetBatteryStatusCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,iBAAAC,EAAA,4BAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAAkD,uCAClDC,EAA2B,sCAE3BC,
|
|
6
|
-
"names": ["GetBatteryStatusCommand_exports", "__export", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "__toCommonJS", "import_ApduBuilder", "import_ApduParser", "import_Errors", "import_CommandResult", "GetBatteryStatusCommand", "args", "getBatteryStatusArgs", "apduResponse", "parser", "percentage", "data", "flags", "chargingUSB", "chargingQi"]
|
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * The type of battery information to retrieve.\n */\nexport enum BatteryStatusType {\n /**\n * The command response will be the battery percentage.\n */\n BATTERY_PERCENTAGE = 0x00,\n /**\n * The command response will be the battery voltage in mV.\n */\n BATTERY_VOLTAGE = 0x01,\n /**\n * The command response will be the battery temperature in degree celsius\n */\n BATTERY_TEMPERATURE = 0x02,\n /**\n * The command response will be the battery current in mA.\n */\n BATTERY_CURRENT = 0x03,\n /**\n * The command response will be the battery status (cf. `BatteryStatusFlags`)\n */\n BATTERY_FLAGS = 0x04,\n}\n\nexport enum ChargingMode {\n NONE = 0x00,\n USB = 0x01,\n QI = 0x02,\n}\n\nenum FlagMasks {\n CHARGING = 0x00000001,\n USB = 0x00000002,\n USB_POWERED = 0x00000008,\n BLE = 0x00000004,\n ISSUE_BATTERY = 0x00000080,\n ISSUE_CHARGING = 0x00000010,\n ISSUE_TEMPERATURE = 0x00000020,\n}\n\nexport type BatteryStatusFlags = {\n readonly charging: ChargingMode;\n readonly issueCharging: boolean;\n readonly issueTemperature: boolean;\n readonly issueBattery: boolean;\n};\n\n/**\n * The response type depends on the `statusType` parameter sent with the command,\n * cf. `BatteryStatusType`.\n */\nexport type GetBatteryStatusResponse = number | BatteryStatusFlags;\n\nexport type GetBatteryStatusArgs = {\n readonly statusType: BatteryStatusType;\n};\n\n/**\n * Command to get the battery status of the device.\n * The parameter statusType defines the type of information to retrieve, cf.\n * `BatteryStatusType`.\n *\n * WARNING: this command should not be sent within a logic of polling as it is\n * going to decrease the overall performance of the communication with the device.\n */\nexport class GetBatteryStatusCommand\n implements Command<GetBatteryStatusResponse, GetBatteryStatusArgs>\n{\n readonly name = \"getBatteryStatus\";\n readonly args: GetBatteryStatusArgs;\n\n constructor(args: GetBatteryStatusArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getBatteryStatusArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x10,\n p1: 0x00,\n p2: this.args.statusType,\n };\n return new ApduBuilder(getBatteryStatusArgs).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetBatteryStatusResponse> {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n const invalidResponseFormat = (message: string) =>\n CommandResultFactory<GetBatteryStatusResponse>({\n error: new InvalidResponseFormatError(message),\n });\n\n switch (this.args.statusType) {\n case BatteryStatusType.BATTERY_PERCENTAGE: {\n const percentage = parser.extract8BitUInt();\n if (percentage === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery percentage in response\",\n );\n }\n return CommandResultFactory({\n data: percentage > 100 ? -1 : percentage,\n });\n }\n case BatteryStatusType.BATTERY_VOLTAGE: {\n const data = parser.extract16BitUInt();\n if (data === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery voltage in response\",\n );\n }\n return CommandResultFactory({\n data,\n });\n }\n case BatteryStatusType.BATTERY_TEMPERATURE:\n case BatteryStatusType.BATTERY_CURRENT: {\n const data = parser.extract8BitUInt();\n if (data === undefined) {\n return invalidResponseFormat(\n this.args.statusType === BatteryStatusType.BATTERY_TEMPERATURE\n ? \"getBatteryStatus: missing battery temperature in response\"\n : \"getBatteryStatus: missing battery current in response\",\n );\n }\n return CommandResultFactory({\n data: (data << 24) >> 24,\n });\n }\n case BatteryStatusType.BATTERY_FLAGS: {\n const flags = parser.extract32BitUInt();\n if (flags === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery flags in response\",\n );\n }\n const chargingUSB = !!(flags & FlagMasks.USB_POWERED);\n const chargingQi = !chargingUSB && !!(flags & FlagMasks.CHARGING);\n return CommandResultFactory({\n data: {\n charging: chargingQi\n ? ChargingMode.QI\n : chargingUSB\n ? ChargingMode.USB\n : ChargingMode.NONE,\n issueCharging: !!(flags & FlagMasks.ISSUE_CHARGING),\n issueTemperature: !!(flags & FlagMasks.ISSUE_TEMPERATURE),\n issueBattery: !!(flags & FlagMasks.ISSUE_BATTERY),\n },\n });\n }\n default:\n return invalidResponseFormat(\n \"getBatteryStatus: unsupported battery status type\",\n );\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,iBAAAC,EAAA,4BAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAAkD,uCAClDC,EAA2B,sCAE3BC,EAA2C,+BAC3CC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAM9BT,OAIVA,IAAA,mBAAqB,GAArB,qBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,oBAAsB,GAAtB,sBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,cAAgB,GAAhB,gBApBUA,OAAA,IAuBAC,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,IAAM,GAAN,MACAA,IAAA,GAAK,GAAL,KAHUA,OAAA,IAyCL,MAAMS,CAEb,CACW,KAAO,mBACP,KAET,YAAYC,EAA4B,CACtC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAwC,CAC5C,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,KAAK,KAAK,UAChB,EACA,OAAO,IAAI,cAAYA,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEC,EACyC,CACzC,GAAI,CAAC,eAAa,kBAAkBA,CAAY,EAC9C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,EAEH,MAAMC,EAAS,IAAI,aAAWD,CAAY,EACpCE,EAAyBC,MAC7B,wBAA+C,CAC7C,MAAO,IAAI,6BAA2BA,CAAO,CAC/C,CAAC,EAEH,OAAQ,KAAK,KAAK,WAAY,CAC5B,IAAK,GAAsC,CACzC,MAAMC,EAAaH,EAAO,gBAAgB,EAC1C,OAAIG,IAAe,OACVF,EACL,0DACF,KAEK,wBAAqB,CAC1B,KAAME,EAAa,IAAM,GAAKA,CAChC,CAAC,CACH,CACA,IAAK,GAAmC,CACtC,MAAMC,EAAOJ,EAAO,iBAAiB,EACrC,OAAII,IAAS,OACJH,EACL,uDACF,KAEK,wBAAqB,CAC1B,KAAAG,CACF,CAAC,CACH,CACA,IAAK,GACL,IAAK,GAAmC,CACtC,MAAMA,EAAOJ,EAAO,gBAAgB,EACpC,OAAII,IAAS,OACJH,EACL,KAAK,KAAK,aAAe,EACrB,4DACA,uDACN,KAEK,wBAAqB,CAC1B,KAAOG,GAAQ,IAAO,EACxB,CAAC,CACH,CACA,IAAK,GAAiC,CACpC,MAAMC,EAAQL,EAAO,iBAAiB,EACtC,GAAIK,IAAU,OACZ,OAAOJ,EACL,qDACF,EAEF,MAAMK,EAAc,CAAC,EAAED,EAAQ,GACzBE,EAAa,CAACD,GAAe,CAAC,EAAED,EAAQ,GAC9C,SAAO,wBAAqB,CAC1B,KAAM,CACJ,SAAUE,EACN,EACAD,EACE,EACA,EACN,cAAe,CAAC,EAAED,EAAQ,IAC1B,iBAAkB,CAAC,EAAEA,EAAQ,IAC7B,aAAc,CAAC,EAAEA,EAAQ,IAC3B,CACF,CAAC,CACH,CACA,QACE,OAAOJ,EACL,mDACF,CACJ,CACF,CACF",
|
|
6
|
+
"names": ["GetBatteryStatusCommand_exports", "__export", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "__toCommonJS", "import_ApduBuilder", "import_ApduParser", "import_Errors", "import_CommandResult", "import_CommandUtils", "import_GlobalCommandError", "GetBatteryStatusCommand", "args", "getBatteryStatusArgs", "apduResponse", "parser", "invalidResponseFormat", "message", "percentage", "data", "flags", "chargingUSB", "chargingQi"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var a=require("../../command/model/CommandResult"),r=require("../../device-session/ApduResponse"),t=require("./GetBatteryStatusCommand");const
|
|
1
|
+
"use strict";var E=require("../../command/Errors"),a=require("../../command/model/CommandResult"),l=require("../../command/utils/GlobalCommandError"),r=require("../../device-session/ApduResponse"),t=require("./GetBatteryStatusCommand");const A=Uint8Array.from([224,16,0,0,0]),x=Uint8Array.from([224,16,0,1,0]),_=Uint8Array.from([224,16,0,2,0]),y=Uint8Array.from([224,16,0,3,0]),g=Uint8Array.from([224,16,0,4,0]),c=Uint8Array.from([55,144,0]),i=Uint8Array.from([101,144,0]),u=Uint8Array.from([15,255,144,0]),p=Uint8Array.from([16,144,0]),d=Uint8Array.from([255,144,0]),T=Uint8Array.from([0,0,0,15,144,0]),S=Uint8Array.from([0,0,0,1,144,0]),m=Uint8Array.from([0,0,0,0,144,0]),o=Uint8Array.from([144,0]),R=Uint8Array.from([103,0]);describe("GetBatteryStatus",()=>{describe("name",()=>{it("should be 'getBatteryStatus'",()=>{const e=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_PERCENTAGE});expect(e.name).toBe("getBatteryStatus")})}),describe("getApdu",()=>{it("should return the GetBatteryStatus APDU",()=>{expect(new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_PERCENTAGE}).getApdu().getRawApdu()).toStrictEqual(A),expect(new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_VOLTAGE}).getApdu().getRawApdu()).toStrictEqual(x),expect(new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_TEMPERATURE}).getApdu().getRawApdu()).toStrictEqual(_),expect(new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_CURRENT}).getApdu().getRawApdu()).toStrictEqual(y),expect(new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_FLAGS}).getApdu().getRawApdu()).toStrictEqual(g)})}),describe("parseResponse",()=>{it("should parse the response when querying percentage",()=>{const e=new r.ApduResponse({statusCode:c.slice(-2),data:c.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_PERCENTAGE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:55}))}),it("should return -1 when battery percentage is above 100",()=>{const e=new r.ApduResponse({statusCode:i.slice(-2),data:i.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_PERCENTAGE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:-1}))}),it("should parse the response when querying voltage",()=>{const e=new r.ApduResponse({statusCode:u.slice(-2),data:u.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_VOLTAGE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:4095}))}),it("should parse the response when querying temperature",()=>{const e=new r.ApduResponse({statusCode:p.slice(-2),data:p.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_TEMPERATURE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:16}))}),it("should parse the response when querying current",()=>{const e=new r.ApduResponse({statusCode:d.slice(-2),data:d.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_CURRENT}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:-1}))}),it("should parse the response when querying flags",()=>{const e=new r.ApduResponse({statusCode:T.slice(-2),data:T.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_FLAGS}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:{charging:t.ChargingMode.USB,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should parse the response when querying flags with Qi charging",()=>{const e=new r.ApduResponse({statusCode:S.slice(-2),data:S.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_FLAGS}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:{charging:t.ChargingMode.QI,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should parse the response when querying flags with no charging",()=>{const e=new r.ApduResponse({statusCode:m.slice(-2),data:m.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_FLAGS}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({data:{charging:t.ChargingMode.NONE,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should return a handled command error when the status word is not successful",()=>{const e=new r.ApduResponse({statusCode:R.slice(-2),data:R.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_PERCENTAGE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({error:l.GlobalCommandErrorHandler.handle(e)}))}),it("should return InvalidResponseFormatError when expected battery data is missing",()=>{const e=new r.ApduResponse({statusCode:o.slice(-2),data:o.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_PERCENTAGE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({error:new E.InvalidResponseFormatError("getBatteryStatus: missing battery percentage in response")}))}),it("should return InvalidResponseFormatError when voltage data is missing",()=>{const e=new r.ApduResponse({statusCode:o.slice(-2),data:o.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_VOLTAGE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({error:new E.InvalidResponseFormatError("getBatteryStatus: missing battery voltage in response")}))}),it("should return InvalidResponseFormatError when temperature data is missing",()=>{const e=new r.ApduResponse({statusCode:o.slice(-2),data:o.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_TEMPERATURE}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({error:new E.InvalidResponseFormatError("getBatteryStatus: missing battery temperature in response")}))}),it("should return InvalidResponseFormatError when current data is missing",()=>{const e=new r.ApduResponse({statusCode:o.slice(-2),data:o.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_CURRENT}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({error:new E.InvalidResponseFormatError("getBatteryStatus: missing battery current in response")}))}),it("should return InvalidResponseFormatError when flags data is missing",()=>{const e=new r.ApduResponse({statusCode:o.slice(-2),data:o.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:t.BatteryStatusType.BATTERY_FLAGS}).parseResponse(e);expect(s).toStrictEqual((0,a.CommandResultFactory)({error:new E.InvalidResponseFormatError("getBatteryStatus: missing battery flags in response")}))}),it("should return InvalidResponseFormatError when status type is unsupported",()=>{const e=new r.ApduResponse({statusCode:c.slice(-2),data:c.slice(0,-2)}),s=new t.GetBatteryStatusCommand({statusType:255}).parseResponse(e);expect((0,a.isSuccessCommandResult)(s)).toBeFalsy(),expect(s).toStrictEqual((0,a.CommandResultFactory)({error:new E.InvalidResponseFormatError("getBatteryStatus: unsupported battery status type")}))})})});
|
|
2
2
|
//# sourceMappingURL=GetBatteryStatusCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n BatteryStatusType,\n ChargingMode,\n GetBatteryStatusCommand,\n} from \"./GetBatteryStatusCommand\";\n\nconst GET_BATTERY_STATUS_APDU_PERCENTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x00, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_VOLTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x01, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_TEMPERATURE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x02, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_CURRENT = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x03, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_FLAGS = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x04, 0x00,\n]);\n\nconst PERCENTAGE_RESPONSE_HEX = Uint8Array.from([0x37, 0x90, 0x00]);\nconst VOLTAGE_RESPONSE_HEX = Uint8Array.from([0x0f, 0xff, 0x90, 0x00]);\nconst TEMPERATURE_RESPONSE_HEX = Uint8Array.from([0x10, 0x90, 0x00]);\nconst FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x0f, 0x90, 0x00,\n]);\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\ndescribe(\"GetBatteryStatus\", () => {\n describe(\"name\", () => {\n it(\"should be 'getBatteryStatus'\", () => {\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n expect(command.name).toBe(\"getBatteryStatus\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetBatteryStatus APDU\", () => {\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_PERCENTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_VOLTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_TEMPERATURE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_CURRENT);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_FLAGS);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should parse the response when querying percentage\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 55 }));\n });\n it(\"should parse the response when querying voltage\", () => {\n const VOLTAGE_RESPONSE = new ApduResponse({\n statusCode: VOLTAGE_RESPONSE_HEX.slice(-2),\n data: VOLTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const parsed = command.parseResponse(VOLTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 4095 }));\n });\n it(\"should parse the response when querying temperature\", () => {\n const TEMPERATURE_RESPONSE = new ApduResponse({\n statusCode: TEMPERATURE_RESPONSE_HEX.slice(-2),\n data: TEMPERATURE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const parsed = command.parseResponse(TEMPERATURE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 16 }));\n });\n it(\"should parse the response when querying flags\", () => {\n const FLAGS_RESPONSE = new ApduResponse({\n statusCode: FLAGS_RESPONSE_HEX.slice(-2),\n data: FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.USB,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(FAILED_RESPONSE);\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAGO,4CACPC,EAA6B,4CAE7BC,EAIO,qCAEP,MAAMC,EAAqC,WAAW,KAAK,CACzD,IAAM,GAAM,EAAM,EAAM,CAC1B,CAAC,EACKC,EAAkC,WAAW,KAAK,CACtD,IAAM,GAAM,EAAM,EAAM,CAC1B,CAAC,EACKC,EAAsC,WAAW,KAAK,CAC1D,IAAM,GAAM,EAAM,EAAM,CAC1B,CAAC,EACKC,EAAkC,WAAW,KAAK,CACtD,IAAM,GAAM,EAAM,EAAM,CAC1B,CAAC,EACKC,EAAgC,WAAW,KAAK,CACpD,IAAM,GAAM,EAAM,EAAM,CAC1B,CAAC,EAEKC,EAA0B,WAAW,KAAK,CAAC,GAAM,IAAM,CAAI,CAAC,EAC5DC,EAAuB,WAAW,KAAK,CAAC,GAAM,IAAM,IAAM,CAAI,CAAC,EAC/DC,EAA2B,WAAW,KAAK,CAAC,GAAM,IAAM,CAAI,CAAC,EAC7DC,EAAqB,WAAW,KAAK,CACzC,EAAM,EAAM,EAAM,GAAM,IAAM,CAChC,CAAC,EACKC,EAAsB,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EAExD,SAAS,mBAAoB,IAAM,CACjC,SAAS,OAAQ,IAAM,CACrB,GAAG,+BAAgC,IAAM,CACvC,MAAMC,EAAU,IAAI,0BAAwB,CAC1C,WAAY,oBAAkB,kBAChC,CAAC,EACD,OAAOA,EAAQ,IAAI,EAAE,KAAK,kBAAkB,CAC9C,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,0CAA2C,IAAM,CAClD,OACE,IAAI,0BAAwB,CAC1B,WAAY,oBAAkB,kBAChC,CAAC,EACE,QAAQ,EACR,WAAW,CAChB,EAAE,
|
|
6
|
-
"names": ["import_CommandResult", "import_ApduResponse", "import_GetBatteryStatusCommand", "GET_BATTERY_STATUS_APDU_PERCENTAGE", "GET_BATTERY_STATUS_APDU_VOLTAGE", "GET_BATTERY_STATUS_APDU_TEMPERATURE", "GET_BATTERY_STATUS_APDU_CURRENT", "GET_BATTERY_STATUS_APDU_FLAGS", "PERCENTAGE_RESPONSE_HEX", "VOLTAGE_RESPONSE_HEX", "TEMPERATURE_RESPONSE_HEX", "FLAGS_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "command", "PERCENTAGE_RESPONSE", "parsed", "VOLTAGE_RESPONSE", "TEMPERATURE_RESPONSE", "FLAGS_RESPONSE", "FAILED_RESPONSE", "result"]
|
|
4
|
+
"sourcesContent": ["import { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n BatteryStatusType,\n ChargingMode,\n GetBatteryStatusCommand,\n} from \"./GetBatteryStatusCommand\";\n\nconst GET_BATTERY_STATUS_APDU_PERCENTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x00, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_VOLTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x01, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_TEMPERATURE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x02, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_CURRENT = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x03, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_FLAGS = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x04, 0x00,\n]);\n\nconst PERCENTAGE_RESPONSE_HEX = Uint8Array.from([0x37, 0x90, 0x00]);\nconst PERCENTAGE_OVERFLOW_RESPONSE_HEX = Uint8Array.from([0x65, 0x90, 0x00]);\nconst VOLTAGE_RESPONSE_HEX = Uint8Array.from([0x0f, 0xff, 0x90, 0x00]);\nconst TEMPERATURE_RESPONSE_HEX = Uint8Array.from([0x10, 0x90, 0x00]);\nconst CURRENT_RESPONSE_HEX = Uint8Array.from([0xff, 0x90, 0x00]);\nconst FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x0f, 0x90, 0x00,\n]);\nconst QI_FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x01, 0x90, 0x00,\n]);\nconst NONE_FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x00, 0x90, 0x00,\n]);\nconst EMPTY_SUCCESS_RESPONSE_HEX = Uint8Array.from([0x90, 0x00]);\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\ndescribe(\"GetBatteryStatus\", () => {\n describe(\"name\", () => {\n it(\"should be 'getBatteryStatus'\", () => {\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n expect(command.name).toBe(\"getBatteryStatus\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetBatteryStatus APDU\", () => {\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_PERCENTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_VOLTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_TEMPERATURE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_CURRENT);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_FLAGS);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should parse the response when querying percentage\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 55 }));\n });\n it(\"should return -1 when battery percentage is above 100\", () => {\n const PERCENTAGE_OVERFLOW_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_OVERFLOW_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_OVERFLOW_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_OVERFLOW_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: -1 }));\n });\n it(\"should parse the response when querying voltage\", () => {\n const VOLTAGE_RESPONSE = new ApduResponse({\n statusCode: VOLTAGE_RESPONSE_HEX.slice(-2),\n data: VOLTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const parsed = command.parseResponse(VOLTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 4095 }));\n });\n it(\"should parse the response when querying temperature\", () => {\n const TEMPERATURE_RESPONSE = new ApduResponse({\n statusCode: TEMPERATURE_RESPONSE_HEX.slice(-2),\n data: TEMPERATURE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const parsed = command.parseResponse(TEMPERATURE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 16 }));\n });\n it(\"should parse the response when querying current\", () => {\n const CURRENT_RESPONSE = new ApduResponse({\n statusCode: CURRENT_RESPONSE_HEX.slice(-2),\n data: CURRENT_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n });\n const parsed = command.parseResponse(CURRENT_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: -1 }));\n });\n it(\"should parse the response when querying flags\", () => {\n const FLAGS_RESPONSE = new ApduResponse({\n statusCode: FLAGS_RESPONSE_HEX.slice(-2),\n data: FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.USB,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should parse the response when querying flags with Qi charging\", () => {\n const QI_FLAGS_RESPONSE = new ApduResponse({\n statusCode: QI_FLAGS_RESPONSE_HEX.slice(-2),\n data: QI_FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(QI_FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.QI,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should parse the response when querying flags with no charging\", () => {\n const NONE_FLAGS_RESPONSE = new ApduResponse({\n statusCode: NONE_FLAGS_RESPONSE_HEX.slice(-2),\n data: NONE_FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(NONE_FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.NONE,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should return a handled command error when the status word is not successful\", () => {\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(FAILED_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(FAILED_RESPONSE),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when expected battery data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery percentage in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when voltage data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery voltage in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when temperature data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery temperature in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when current data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery current in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when flags data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery flags in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when status type is unsupported\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: 0xff as BatteryStatusType,\n });\n const result = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(isSuccessCommandResult(result)).toBeFalsy();\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: unsupported battery status type\",\n ),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_Errors", "import_CommandResult", "import_GlobalCommandError", "import_ApduResponse", "import_GetBatteryStatusCommand", "GET_BATTERY_STATUS_APDU_PERCENTAGE", "GET_BATTERY_STATUS_APDU_VOLTAGE", "GET_BATTERY_STATUS_APDU_TEMPERATURE", "GET_BATTERY_STATUS_APDU_CURRENT", "GET_BATTERY_STATUS_APDU_FLAGS", "PERCENTAGE_RESPONSE_HEX", "PERCENTAGE_OVERFLOW_RESPONSE_HEX", "VOLTAGE_RESPONSE_HEX", "TEMPERATURE_RESPONSE_HEX", "CURRENT_RESPONSE_HEX", "FLAGS_RESPONSE_HEX", "QI_FLAGS_RESPONSE_HEX", "NONE_FLAGS_RESPONSE_HEX", "EMPTY_SUCCESS_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "command", "PERCENTAGE_RESPONSE", "parsed", "PERCENTAGE_OVERFLOW_RESPONSE", "VOLTAGE_RESPONSE", "TEMPERATURE_RESPONSE", "CURRENT_RESPONSE", "FLAGS_RESPONSE", "QI_FLAGS_RESPONSE", "NONE_FLAGS_RESPONSE", "FAILED_RESPONSE", "result", "EMPTY_SUCCESS_RESPONSE"]
|
|
7
7
|
}
|
package/lib/esm/package.json
CHANGED
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
|
|
65
65
|
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
|
|
66
66
|
},
|
|
67
|
-
"version": "0.0.0-develop-
|
|
67
|
+
"version": "0.0.0-develop-20260428002525"
|
|
68
68
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
class a{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class
|
|
1
|
+
class a{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class e{_tag="InvalidResponseFormatError";originalError;constructor(r){this.originalError=new Error(r??"Invalid response format.")}}class t{_tag="InvalidGetFirmwareMetadataResponseError";originalError;constructor(r){this.originalError=new Error(r??"Invalid Firmware Metadata response error.")}}export{t as InvalidGetFirmwareMetadataResponseError,e as InvalidResponseFormatError,a as InvalidStatusWordError};
|
|
2
2
|
//# sourceMappingURL=Errors.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/api/command/Errors.ts"],
|
|
4
|
-
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class
|
|
5
|
-
"mappings": "AAEO,MAAMA,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAMC,
|
|
6
|
-
"names": ["InvalidStatusWordError", "message", "
|
|
4
|
+
"sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class InvalidResponseFormatError implements DmkError {\n readonly _tag = \"InvalidResponseFormatError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid response format.\");\n }\n}\n\nexport class InvalidGetFirmwareMetadataResponseError implements DmkError {\n readonly _tag = \"InvalidGetFirmwareMetadataResponseError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Invalid Firmware Metadata response error.\",\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AAEO,MAAMA,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAMC,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYD,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,0BAA0B,CACtE,CACF,CAEO,MAAME,CAA4D,CAC9D,KAAO,0CACP,cAET,YAAYF,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,2CACb,CACF,CACF",
|
|
6
|
+
"names": ["InvalidStatusWordError", "message", "InvalidResponseFormatError", "InvalidGetFirmwareMetadataResponseError"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var o=(t=>(t.Error="ERROR",t.Success="SUCCESS",t))(o||{});function a({data:r,error:e}){return e?{status:"ERROR",error:e}:{status:"SUCCESS",data:r}}function s(r){return r.status==="SUCCESS"}export{a as CommandResultFactory,o as CommandResultStatus,s as isSuccessCommandResult};
|
|
2
2
|
//# sourceMappingURL=CommandResult.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/model/CommandResult.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import {\n type InvalidGetFirmwareMetadataResponseError,\n type InvalidResponseFormatError,\n type InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { type GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport {\n type DeviceExchangeError,\n type UnknownDeviceExchangeError,\n} from \"@api/Error\";\n\nexport enum CommandResultStatus {\n Error = \"ERROR\",\n Success = \"SUCCESS\",\n}\nexport type CommandSuccessResult<Data> = {\n status: CommandResultStatus.Success;\n data: Data;\n};\nexport type CommandErrorResult<SpecificErrorCodes = void> = {\n error:\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | InvalidGetFirmwareMetadataResponseError\n | UnknownDeviceExchangeError;\n status: CommandResultStatus.Error;\n};\nexport type CommandResult<Data, SpecificErrorCodes = void> =\n | CommandSuccessResult<Data>\n | CommandErrorResult<SpecificErrorCodes>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error:\n | DeviceExchangeError<SpecificErrorCodes>\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | InvalidGetFirmwareMetadataResponseError\n | UnknownDeviceExchangeError;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error) {\n return {\n status: CommandResultStatus.Error,\n error,\n };\n }\n return {\n status: CommandResultStatus.Success,\n data,\n };\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return result.status === CommandResultStatus.Success;\n}\n"],
|
|
5
|
+
"mappings": "AAWO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAFAA,OAAA,IAqBL,SAASC,EAAsD,CACpE,KAAAC,EACA,MAAAC,CACF,EAUgD,CAC9C,OAAIA,EACK,CACL,OAAQ,QACR,MAAAA,CACF,EAEK,CACL,OAAQ,UACR,KAAAD,CACF,CACF,CAEO,SAASE,EACdC,EACsC,CACtC,OAAOA,EAAO,SAAW,SAC3B",
|
|
6
6
|
"names": ["CommandResultStatus", "CommandResultFactory", "data", "error", "isSuccessCommandResult", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduBuilder as u}from"../../apdu/utils/ApduBuilder";import{ApduParser as
|
|
1
|
+
import{ApduBuilder as u}from"../../apdu/utils/ApduBuilder";import{ApduParser as i}from"../../apdu/utils/ApduParser";import{InvalidResponseFormatError as p}from"../../command/Errors";import{CommandResultFactory as n}from"../../command/model/CommandResult";import{CommandUtils as E}from"../../command/utils/CommandUtils";import{GlobalCommandErrorHandler as m}from"../../command/utils/GlobalCommandError";var R=(e=>(e[e.BATTERY_PERCENTAGE=0]="BATTERY_PERCENTAGE",e[e.BATTERY_VOLTAGE=1]="BATTERY_VOLTAGE",e[e.BATTERY_TEMPERATURE=2]="BATTERY_TEMPERATURE",e[e.BATTERY_CURRENT=3]="BATTERY_CURRENT",e[e.BATTERY_FLAGS=4]="BATTERY_FLAGS",e))(R||{}),B=(r=>(r[r.NONE=0]="NONE",r[r.USB=1]="USB",r[r.QI=2]="QI",r))(B||{});class x{name="getBatteryStatus";args;constructor(s){this.args=s}getApdu(){const s={cla:224,ins:16,p1:0,p2:this.args.statusType};return new u(s).build()}parseResponse(s){if(!E.isSuccessResponse(s))return n({error:m.handle(s)});const a=new i(s),r=t=>n({error:new p(t)});switch(this.args.statusType){case 0:{const t=a.extract8BitUInt();return t===void 0?r("getBatteryStatus: missing battery percentage in response"):n({data:t>100?-1:t})}case 1:{const t=a.extract16BitUInt();return t===void 0?r("getBatteryStatus: missing battery voltage in response"):n({data:t})}case 2:case 3:{const t=a.extract8BitUInt();return t===void 0?r(this.args.statusType===2?"getBatteryStatus: missing battery temperature in response":"getBatteryStatus: missing battery current in response"):n({data:t<<24>>24})}case 4:{const t=a.extract32BitUInt();if(t===void 0)return r("getBatteryStatus: missing battery flags in response");const e=!!(t&8),o=!e&&!!(t&1);return n({data:{charging:o?2:e?1:0,issueCharging:!!(t&16),issueTemperature:!!(t&32),issueBattery:!!(t&128)}})}default:return r("getBatteryStatus: unsupported battery status type")}}}export{R as BatteryStatusType,B as ChargingMode,x as GetBatteryStatusCommand};
|
|
2
2
|
//# sourceMappingURL=GetBatteryStatusCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport {
|
|
5
|
-
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,
|
|
6
|
-
"names": ["ApduBuilder", "ApduParser", "
|
|
4
|
+
"sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * The type of battery information to retrieve.\n */\nexport enum BatteryStatusType {\n /**\n * The command response will be the battery percentage.\n */\n BATTERY_PERCENTAGE = 0x00,\n /**\n * The command response will be the battery voltage in mV.\n */\n BATTERY_VOLTAGE = 0x01,\n /**\n * The command response will be the battery temperature in degree celsius\n */\n BATTERY_TEMPERATURE = 0x02,\n /**\n * The command response will be the battery current in mA.\n */\n BATTERY_CURRENT = 0x03,\n /**\n * The command response will be the battery status (cf. `BatteryStatusFlags`)\n */\n BATTERY_FLAGS = 0x04,\n}\n\nexport enum ChargingMode {\n NONE = 0x00,\n USB = 0x01,\n QI = 0x02,\n}\n\nenum FlagMasks {\n CHARGING = 0x00000001,\n USB = 0x00000002,\n USB_POWERED = 0x00000008,\n BLE = 0x00000004,\n ISSUE_BATTERY = 0x00000080,\n ISSUE_CHARGING = 0x00000010,\n ISSUE_TEMPERATURE = 0x00000020,\n}\n\nexport type BatteryStatusFlags = {\n readonly charging: ChargingMode;\n readonly issueCharging: boolean;\n readonly issueTemperature: boolean;\n readonly issueBattery: boolean;\n};\n\n/**\n * The response type depends on the `statusType` parameter sent with the command,\n * cf. `BatteryStatusType`.\n */\nexport type GetBatteryStatusResponse = number | BatteryStatusFlags;\n\nexport type GetBatteryStatusArgs = {\n readonly statusType: BatteryStatusType;\n};\n\n/**\n * Command to get the battery status of the device.\n * The parameter statusType defines the type of information to retrieve, cf.\n * `BatteryStatusType`.\n *\n * WARNING: this command should not be sent within a logic of polling as it is\n * going to decrease the overall performance of the communication with the device.\n */\nexport class GetBatteryStatusCommand\n implements Command<GetBatteryStatusResponse, GetBatteryStatusArgs>\n{\n readonly name = \"getBatteryStatus\";\n readonly args: GetBatteryStatusArgs;\n\n constructor(args: GetBatteryStatusArgs) {\n this.args = args;\n }\n\n getApdu(): Apdu {\n const getBatteryStatusArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x10,\n p1: 0x00,\n p2: this.args.statusType,\n };\n return new ApduBuilder(getBatteryStatusArgs).build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<GetBatteryStatusResponse> {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n const invalidResponseFormat = (message: string) =>\n CommandResultFactory<GetBatteryStatusResponse>({\n error: new InvalidResponseFormatError(message),\n });\n\n switch (this.args.statusType) {\n case BatteryStatusType.BATTERY_PERCENTAGE: {\n const percentage = parser.extract8BitUInt();\n if (percentage === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery percentage in response\",\n );\n }\n return CommandResultFactory({\n data: percentage > 100 ? -1 : percentage,\n });\n }\n case BatteryStatusType.BATTERY_VOLTAGE: {\n const data = parser.extract16BitUInt();\n if (data === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery voltage in response\",\n );\n }\n return CommandResultFactory({\n data,\n });\n }\n case BatteryStatusType.BATTERY_TEMPERATURE:\n case BatteryStatusType.BATTERY_CURRENT: {\n const data = parser.extract8BitUInt();\n if (data === undefined) {\n return invalidResponseFormat(\n this.args.statusType === BatteryStatusType.BATTERY_TEMPERATURE\n ? \"getBatteryStatus: missing battery temperature in response\"\n : \"getBatteryStatus: missing battery current in response\",\n );\n }\n return CommandResultFactory({\n data: (data << 24) >> 24,\n });\n }\n case BatteryStatusType.BATTERY_FLAGS: {\n const flags = parser.extract32BitUInt();\n if (flags === undefined) {\n return invalidResponseFormat(\n \"getBatteryStatus: missing battery flags in response\",\n );\n }\n const chargingUSB = !!(flags & FlagMasks.USB_POWERED);\n const chargingQi = !chargingUSB && !!(flags & FlagMasks.CHARGING);\n return CommandResultFactory({\n data: {\n charging: chargingQi\n ? ChargingMode.QI\n : chargingUSB\n ? ChargingMode.USB\n : ChargingMode.NONE,\n issueCharging: !!(flags & FlagMasks.ISSUE_CHARGING),\n issueTemperature: !!(flags & FlagMasks.ISSUE_TEMPERATURE),\n issueBattery: !!(flags & FlagMasks.ISSUE_BATTERY),\n },\n });\n }\n default:\n return invalidResponseFormat(\n \"getBatteryStatus: unsupported battery status type\",\n );\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAAS,eAAAA,MAAyC,8BAClD,OAAS,cAAAC,MAAkB,6BAE3B,OAAS,8BAAAC,MAAkC,sBAC3C,OAEE,wBAAAC,MACK,mCACP,OAAS,gBAAAC,MAAoB,kCAC7B,OAAS,6BAAAC,MAAiC,wCAMnC,IAAKC,OAIVA,IAAA,mBAAqB,GAArB,qBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,oBAAsB,GAAtB,sBAIAA,IAAA,gBAAkB,GAAlB,kBAIAA,IAAA,cAAgB,GAAhB,gBApBUA,OAAA,IAuBAC,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,IAAM,GAAN,MACAA,IAAA,GAAK,GAAL,KAHUA,OAAA,IAyCL,MAAMC,CAEb,CACW,KAAO,mBACP,KAET,YAAYC,EAA4B,CACtC,KAAK,KAAOA,CACd,CAEA,SAAgB,CACd,MAAMC,EAAwC,CAC5C,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,KAAK,KAAK,UAChB,EACA,OAAO,IAAIC,EAAYD,CAAoB,EAAE,MAAM,CACrD,CAEA,cACEE,EACyC,CACzC,GAAI,CAACC,EAAa,kBAAkBD,CAAY,EAC9C,OAAOE,EAAqB,CAC1B,MAAOC,EAA0B,OAAOH,CAAY,CACtD,CAAC,EAEH,MAAMI,EAAS,IAAIC,EAAWL,CAAY,EACpCM,EAAyBC,GAC7BL,EAA+C,CAC7C,MAAO,IAAIM,EAA2BD,CAAO,CAC/C,CAAC,EAEH,OAAQ,KAAK,KAAK,WAAY,CAC5B,IAAK,GAAsC,CACzC,MAAME,EAAaL,EAAO,gBAAgB,EAC1C,OAAIK,IAAe,OACVH,EACL,0DACF,EAEKJ,EAAqB,CAC1B,KAAMO,EAAa,IAAM,GAAKA,CAChC,CAAC,CACH,CACA,IAAK,GAAmC,CACtC,MAAMC,EAAON,EAAO,iBAAiB,EACrC,OAAIM,IAAS,OACJJ,EACL,uDACF,EAEKJ,EAAqB,CAC1B,KAAAQ,CACF,CAAC,CACH,CACA,IAAK,GACL,IAAK,GAAmC,CACtC,MAAMA,EAAON,EAAO,gBAAgB,EACpC,OAAIM,IAAS,OACJJ,EACL,KAAK,KAAK,aAAe,EACrB,4DACA,uDACN,EAEKJ,EAAqB,CAC1B,KAAOQ,GAAQ,IAAO,EACxB,CAAC,CACH,CACA,IAAK,GAAiC,CACpC,MAAMC,EAAQP,EAAO,iBAAiB,EACtC,GAAIO,IAAU,OACZ,OAAOL,EACL,qDACF,EAEF,MAAMM,EAAc,CAAC,EAAED,EAAQ,GACzBE,EAAa,CAACD,GAAe,CAAC,EAAED,EAAQ,GAC9C,OAAOT,EAAqB,CAC1B,KAAM,CACJ,SAAUW,EACN,EACAD,EACE,EACA,EACN,cAAe,CAAC,EAAED,EAAQ,IAC1B,iBAAkB,CAAC,EAAEA,EAAQ,IAC7B,aAAc,CAAC,EAAEA,EAAQ,IAC3B,CACF,CAAC,CACH,CACA,QACE,OAAOL,EACL,mDACF,CACJ,CACF,CACF",
|
|
6
|
+
"names": ["ApduBuilder", "ApduParser", "InvalidResponseFormatError", "CommandResultFactory", "CommandUtils", "GlobalCommandErrorHandler", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "args", "getBatteryStatusArgs", "ApduBuilder", "apduResponse", "CommandUtils", "CommandResultFactory", "GlobalCommandErrorHandler", "parser", "ApduParser", "invalidResponseFormat", "message", "InvalidResponseFormatError", "percentage", "data", "flags", "chargingUSB", "chargingQi"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CommandResultFactory as
|
|
1
|
+
import{InvalidResponseFormatError as c}from"../../command/Errors";import{CommandResultFactory as r,isSuccessCommandResult as x}from"../../command/model/CommandResult";import{GlobalCommandErrorHandler as _}from"../../command/utils/GlobalCommandError";import{ApduResponse as n}from"../../device-session/ApduResponse";import{BatteryStatusType as a,ChargingMode as u,GetBatteryStatusCommand as s}from"./GetBatteryStatusCommand";const y=Uint8Array.from([224,16,0,0,0]),g=Uint8Array.from([224,16,0,1,0]),w=Uint8Array.from([224,16,0,2,0]),P=Uint8Array.from([224,16,0,3,0]),h=Uint8Array.from([224,16,0,4,0]),i=Uint8Array.from([55,144,0]),p=Uint8Array.from([101,144,0]),d=Uint8Array.from([15,255,144,0]),T=Uint8Array.from([16,144,0]),S=Uint8Array.from([255,144,0]),m=Uint8Array.from([0,0,0,15,144,0]),R=Uint8Array.from([0,0,0,1,144,0]),l=Uint8Array.from([0,0,0,0,144,0]),E=Uint8Array.from([144,0]),A=Uint8Array.from([103,0]);describe("GetBatteryStatus",()=>{describe("name",()=>{it("should be 'getBatteryStatus'",()=>{const t=new s({statusType:a.BATTERY_PERCENTAGE});expect(t.name).toBe("getBatteryStatus")})}),describe("getApdu",()=>{it("should return the GetBatteryStatus APDU",()=>{expect(new s({statusType:a.BATTERY_PERCENTAGE}).getApdu().getRawApdu()).toStrictEqual(y),expect(new s({statusType:a.BATTERY_VOLTAGE}).getApdu().getRawApdu()).toStrictEqual(g),expect(new s({statusType:a.BATTERY_TEMPERATURE}).getApdu().getRawApdu()).toStrictEqual(w),expect(new s({statusType:a.BATTERY_CURRENT}).getApdu().getRawApdu()).toStrictEqual(P),expect(new s({statusType:a.BATTERY_FLAGS}).getApdu().getRawApdu()).toStrictEqual(h)})}),describe("parseResponse",()=>{it("should parse the response when querying percentage",()=>{const t=new n({statusCode:i.slice(-2),data:i.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({data:55}))}),it("should return -1 when battery percentage is above 100",()=>{const t=new n({statusCode:p.slice(-2),data:p.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({data:-1}))}),it("should parse the response when querying voltage",()=>{const t=new n({statusCode:d.slice(-2),data:d.slice(0,-2)}),e=new s({statusType:a.BATTERY_VOLTAGE}).parseResponse(t);expect(e).toStrictEqual(r({data:4095}))}),it("should parse the response when querying temperature",()=>{const t=new n({statusCode:T.slice(-2),data:T.slice(0,-2)}),e=new s({statusType:a.BATTERY_TEMPERATURE}).parseResponse(t);expect(e).toStrictEqual(r({data:16}))}),it("should parse the response when querying current",()=>{const t=new n({statusCode:S.slice(-2),data:S.slice(0,-2)}),e=new s({statusType:a.BATTERY_CURRENT}).parseResponse(t);expect(e).toStrictEqual(r({data:-1}))}),it("should parse the response when querying flags",()=>{const t=new n({statusCode:m.slice(-2),data:m.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({data:{charging:u.USB,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should parse the response when querying flags with Qi charging",()=>{const t=new n({statusCode:R.slice(-2),data:R.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({data:{charging:u.QI,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should parse the response when querying flags with no charging",()=>{const t=new n({statusCode:l.slice(-2),data:l.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({data:{charging:u.NONE,issueCharging:!1,issueTemperature:!1,issueBattery:!1}}))}),it("should return a handled command error when the status word is not successful",()=>{const t=new n({statusCode:A.slice(-2),data:A.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({error:_.handle(t)}))}),it("should return InvalidResponseFormatError when expected battery data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_PERCENTAGE}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery percentage in response")}))}),it("should return InvalidResponseFormatError when voltage data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_VOLTAGE}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery voltage in response")}))}),it("should return InvalidResponseFormatError when temperature data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_TEMPERATURE}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery temperature in response")}))}),it("should return InvalidResponseFormatError when current data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_CURRENT}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery current in response")}))}),it("should return InvalidResponseFormatError when flags data is missing",()=>{const t=new n({statusCode:E.slice(-2),data:E.slice(0,-2)}),e=new s({statusType:a.BATTERY_FLAGS}).parseResponse(t);expect(e).toStrictEqual(r({error:new c("getBatteryStatus: missing battery flags in response")}))}),it("should return InvalidResponseFormatError when status type is unsupported",()=>{const t=new n({statusCode:i.slice(-2),data:i.slice(0,-2)}),e=new s({statusType:255}).parseResponse(t);expect(x(e)).toBeFalsy(),expect(e).toStrictEqual(r({error:new c("getBatteryStatus: unsupported battery status type")}))})})});
|
|
2
2
|
//# sourceMappingURL=GetBatteryStatusCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/command/os/GetBatteryStatusCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n BatteryStatusType,\n ChargingMode,\n GetBatteryStatusCommand,\n} from \"./GetBatteryStatusCommand\";\n\nconst GET_BATTERY_STATUS_APDU_PERCENTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x00, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_VOLTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x01, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_TEMPERATURE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x02, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_CURRENT = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x03, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_FLAGS = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x04, 0x00,\n]);\n\nconst PERCENTAGE_RESPONSE_HEX = Uint8Array.from([0x37, 0x90, 0x00]);\nconst VOLTAGE_RESPONSE_HEX = Uint8Array.from([0x0f, 0xff, 0x90, 0x00]);\nconst TEMPERATURE_RESPONSE_HEX = Uint8Array.from([0x10, 0x90, 0x00]);\nconst FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x0f, 0x90, 0x00,\n]);\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\ndescribe(\"GetBatteryStatus\", () => {\n describe(\"name\", () => {\n it(\"should be 'getBatteryStatus'\", () => {\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n expect(command.name).toBe(\"getBatteryStatus\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetBatteryStatus APDU\", () => {\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_PERCENTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_VOLTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_TEMPERATURE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_CURRENT);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_FLAGS);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should parse the response when querying percentage\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 55 }));\n });\n it(\"should parse the response when querying voltage\", () => {\n const VOLTAGE_RESPONSE = new ApduResponse({\n statusCode: VOLTAGE_RESPONSE_HEX.slice(-2),\n data: VOLTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const parsed = command.parseResponse(VOLTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 4095 }));\n });\n it(\"should parse the response when querying temperature\", () => {\n const TEMPERATURE_RESPONSE = new ApduResponse({\n statusCode: TEMPERATURE_RESPONSE_HEX.slice(-2),\n data: TEMPERATURE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const parsed = command.parseResponse(TEMPERATURE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 16 }));\n });\n it(\"should parse the response when querying flags\", () => {\n const FLAGS_RESPONSE = new ApduResponse({\n statusCode: FLAGS_RESPONSE_HEX.slice(-2),\n data: FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.USB,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(FAILED_RESPONSE);\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,
|
|
6
|
-
"names": ["CommandResultFactory", "isSuccessCommandResult", "ApduResponse", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "GET_BATTERY_STATUS_APDU_PERCENTAGE", "GET_BATTERY_STATUS_APDU_VOLTAGE", "GET_BATTERY_STATUS_APDU_TEMPERATURE", "GET_BATTERY_STATUS_APDU_CURRENT", "GET_BATTERY_STATUS_APDU_FLAGS", "PERCENTAGE_RESPONSE_HEX", "VOLTAGE_RESPONSE_HEX", "TEMPERATURE_RESPONSE_HEX", "FLAGS_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "command", "PERCENTAGE_RESPONSE", "parsed", "VOLTAGE_RESPONSE", "TEMPERATURE_RESPONSE", "FLAGS_RESPONSE", "FAILED_RESPONSE", "result"]
|
|
4
|
+
"sourcesContent": ["import { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport {\n BatteryStatusType,\n ChargingMode,\n GetBatteryStatusCommand,\n} from \"./GetBatteryStatusCommand\";\n\nconst GET_BATTERY_STATUS_APDU_PERCENTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x00, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_VOLTAGE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x01, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_TEMPERATURE = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x02, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_CURRENT = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x03, 0x00,\n]);\nconst GET_BATTERY_STATUS_APDU_FLAGS = Uint8Array.from([\n 0xe0, 0x10, 0x00, 0x04, 0x00,\n]);\n\nconst PERCENTAGE_RESPONSE_HEX = Uint8Array.from([0x37, 0x90, 0x00]);\nconst PERCENTAGE_OVERFLOW_RESPONSE_HEX = Uint8Array.from([0x65, 0x90, 0x00]);\nconst VOLTAGE_RESPONSE_HEX = Uint8Array.from([0x0f, 0xff, 0x90, 0x00]);\nconst TEMPERATURE_RESPONSE_HEX = Uint8Array.from([0x10, 0x90, 0x00]);\nconst CURRENT_RESPONSE_HEX = Uint8Array.from([0xff, 0x90, 0x00]);\nconst FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x0f, 0x90, 0x00,\n]);\nconst QI_FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x01, 0x90, 0x00,\n]);\nconst NONE_FLAGS_RESPONSE_HEX = Uint8Array.from([\n 0x00, 0x00, 0x00, 0x00, 0x90, 0x00,\n]);\nconst EMPTY_SUCCESS_RESPONSE_HEX = Uint8Array.from([0x90, 0x00]);\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\ndescribe(\"GetBatteryStatus\", () => {\n describe(\"name\", () => {\n it(\"should be 'getBatteryStatus'\", () => {\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n expect(command.name).toBe(\"getBatteryStatus\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetBatteryStatus APDU\", () => {\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_PERCENTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_VOLTAGE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_TEMPERATURE);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_CURRENT);\n expect(\n new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n })\n .getApdu()\n .getRawApdu(),\n ).toStrictEqual(GET_BATTERY_STATUS_APDU_FLAGS);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should parse the response when querying percentage\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 55 }));\n });\n it(\"should return -1 when battery percentage is above 100\", () => {\n const PERCENTAGE_OVERFLOW_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_OVERFLOW_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_OVERFLOW_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const parsed = command.parseResponse(PERCENTAGE_OVERFLOW_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: -1 }));\n });\n it(\"should parse the response when querying voltage\", () => {\n const VOLTAGE_RESPONSE = new ApduResponse({\n statusCode: VOLTAGE_RESPONSE_HEX.slice(-2),\n data: VOLTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const parsed = command.parseResponse(VOLTAGE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 4095 }));\n });\n it(\"should parse the response when querying temperature\", () => {\n const TEMPERATURE_RESPONSE = new ApduResponse({\n statusCode: TEMPERATURE_RESPONSE_HEX.slice(-2),\n data: TEMPERATURE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const parsed = command.parseResponse(TEMPERATURE_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: 16 }));\n });\n it(\"should parse the response when querying current\", () => {\n const CURRENT_RESPONSE = new ApduResponse({\n statusCode: CURRENT_RESPONSE_HEX.slice(-2),\n data: CURRENT_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n });\n const parsed = command.parseResponse(CURRENT_RESPONSE);\n expect(parsed).toStrictEqual(CommandResultFactory({ data: -1 }));\n });\n it(\"should parse the response when querying flags\", () => {\n const FLAGS_RESPONSE = new ApduResponse({\n statusCode: FLAGS_RESPONSE_HEX.slice(-2),\n data: FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.USB,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should parse the response when querying flags with Qi charging\", () => {\n const QI_FLAGS_RESPONSE = new ApduResponse({\n statusCode: QI_FLAGS_RESPONSE_HEX.slice(-2),\n data: QI_FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(QI_FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.QI,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should parse the response when querying flags with no charging\", () => {\n const NONE_FLAGS_RESPONSE = new ApduResponse({\n statusCode: NONE_FLAGS_RESPONSE_HEX.slice(-2),\n data: NONE_FLAGS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const parsed = command.parseResponse(NONE_FLAGS_RESPONSE);\n expect(parsed).toStrictEqual(\n CommandResultFactory({\n data: {\n charging: ChargingMode.NONE,\n issueCharging: false,\n issueTemperature: false,\n issueBattery: false,\n },\n }),\n );\n });\n it(\"should return a handled command error when the status word is not successful\", () => {\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(FAILED_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(FAILED_RESPONSE),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when expected battery data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_PERCENTAGE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery percentage in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when voltage data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_VOLTAGE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery voltage in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when temperature data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_TEMPERATURE,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery temperature in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when current data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_CURRENT,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery current in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when flags data is missing\", () => {\n const EMPTY_SUCCESS_RESPONSE = new ApduResponse({\n statusCode: EMPTY_SUCCESS_RESPONSE_HEX.slice(-2),\n data: EMPTY_SUCCESS_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: BatteryStatusType.BATTERY_FLAGS,\n });\n const result = command.parseResponse(EMPTY_SUCCESS_RESPONSE);\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: missing battery flags in response\",\n ),\n }),\n );\n });\n it(\"should return InvalidResponseFormatError when status type is unsupported\", () => {\n const PERCENTAGE_RESPONSE = new ApduResponse({\n statusCode: PERCENTAGE_RESPONSE_HEX.slice(-2),\n data: PERCENTAGE_RESPONSE_HEX.slice(0, -2),\n });\n const command = new GetBatteryStatusCommand({\n statusType: 0xff as BatteryStatusType,\n });\n const result = command.parseResponse(PERCENTAGE_RESPONSE);\n expect(isSuccessCommandResult(result)).toBeFalsy();\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getBatteryStatus: unsupported battery status type\",\n ),\n }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["InvalidResponseFormatError", "CommandResultFactory", "isSuccessCommandResult", "GlobalCommandErrorHandler", "ApduResponse", "BatteryStatusType", "ChargingMode", "GetBatteryStatusCommand", "GET_BATTERY_STATUS_APDU_PERCENTAGE", "GET_BATTERY_STATUS_APDU_VOLTAGE", "GET_BATTERY_STATUS_APDU_TEMPERATURE", "GET_BATTERY_STATUS_APDU_CURRENT", "GET_BATTERY_STATUS_APDU_FLAGS", "PERCENTAGE_RESPONSE_HEX", "PERCENTAGE_OVERFLOW_RESPONSE_HEX", "VOLTAGE_RESPONSE_HEX", "TEMPERATURE_RESPONSE_HEX", "CURRENT_RESPONSE_HEX", "FLAGS_RESPONSE_HEX", "QI_FLAGS_RESPONSE_HEX", "NONE_FLAGS_RESPONSE_HEX", "EMPTY_SUCCESS_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "command", "PERCENTAGE_RESPONSE", "parsed", "PERCENTAGE_OVERFLOW_RESPONSE", "VOLTAGE_RESPONSE", "TEMPERATURE_RESPONSE", "CURRENT_RESPONSE", "FLAGS_RESPONSE", "QI_FLAGS_RESPONSE", "NONE_FLAGS_RESPONSE", "FAILED_RESPONSE", "result", "EMPTY_SUCCESS_RESPONSE"]
|
|
7
7
|
}
|
|
@@ -4,21 +4,6 @@ export declare class InvalidStatusWordError implements DmkError {
|
|
|
4
4
|
readonly originalError?: Error;
|
|
5
5
|
constructor(message?: string);
|
|
6
6
|
}
|
|
7
|
-
export declare class InvalidBatteryStatusTypeError implements DmkError {
|
|
8
|
-
readonly _tag = "InvalidBatteryStatusTypeError";
|
|
9
|
-
readonly originalError: Error;
|
|
10
|
-
constructor(message?: string);
|
|
11
|
-
}
|
|
12
|
-
export declare class InvalidBatteryDataError implements DmkError {
|
|
13
|
-
readonly _tag = "InvalidBatteryDataError";
|
|
14
|
-
readonly originalError: Error;
|
|
15
|
-
constructor(message?: string);
|
|
16
|
-
}
|
|
17
|
-
export declare class InvalidBatteryFlagsError implements DmkError {
|
|
18
|
-
readonly _tag = "InvalidBatteryFlagsError";
|
|
19
|
-
readonly originalError: Error;
|
|
20
|
-
constructor(message?: string);
|
|
21
|
-
}
|
|
22
7
|
export declare class InvalidResponseFormatError implements DmkError {
|
|
23
8
|
readonly _tag = "InvalidResponseFormatError";
|
|
24
9
|
readonly originalError: Error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../../../../src/api/command/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;gBAEnB,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,
|
|
1
|
+
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../../../../src/api/command/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;gBAEnB,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,0BAA2B,YAAW,QAAQ;IACzD,QAAQ,CAAC,IAAI,gCAAgC;IAC7C,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;gBAElB,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,uCAAwC,YAAW,QAAQ;IACtE,QAAQ,CAAC,IAAI,6CAA6C;IAC1D,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;gBAElB,OAAO,CAAC,EAAE,MAAM;CAK7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type InvalidGetFirmwareMetadataResponseError, type InvalidResponseFormatError, type InvalidStatusWordError } from "../../command/Errors";
|
|
2
2
|
import { type GlobalCommandErrorStatusCode } from "../../command/utils/GlobalCommandError";
|
|
3
3
|
import { type DeviceExchangeError, type UnknownDeviceExchangeError } from "../../Error";
|
|
4
4
|
export declare enum CommandResultStatus {
|
|
@@ -10,7 +10,7 @@ export type CommandSuccessResult<Data> = {
|
|
|
10
10
|
data: Data;
|
|
11
11
|
};
|
|
12
12
|
export type CommandErrorResult<SpecificErrorCodes = void> = {
|
|
13
|
-
error: DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode> |
|
|
13
|
+
error: DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode> | InvalidResponseFormatError | InvalidStatusWordError | InvalidGetFirmwareMetadataResponseError | UnknownDeviceExchangeError;
|
|
14
14
|
status: CommandResultStatus.Error;
|
|
15
15
|
};
|
|
16
16
|
export type CommandResult<Data, SpecificErrorCodes = void> = CommandSuccessResult<Data> | CommandErrorResult<SpecificErrorCodes>;
|
|
@@ -19,7 +19,7 @@ export declare function CommandResultFactory<Data, SpecificErrorCodes = void>({
|
|
|
19
19
|
error?: undefined;
|
|
20
20
|
} | {
|
|
21
21
|
data?: undefined;
|
|
22
|
-
error: DeviceExchangeError<SpecificErrorCodes> |
|
|
22
|
+
error: DeviceExchangeError<SpecificErrorCodes> | InvalidResponseFormatError | InvalidStatusWordError | InvalidGetFirmwareMetadataResponseError | UnknownDeviceExchangeError;
|
|
23
23
|
}): CommandResult<Data, SpecificErrorCodes>;
|
|
24
24
|
export declare function isSuccessCommandResult<Data, StatusCode>(result: CommandResult<Data, StatusCode>): result is CommandSuccessResult<Data>;
|
|
25
25
|
//# sourceMappingURL=CommandResult.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandResult.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/model/CommandResult.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"CommandResult.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/model/CommandResult.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uCAAuC,EAC5C,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAChC,MAAM,YAAY,CAAC;AAEpB,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AACD,MAAM,MAAM,oBAAoB,CAAC,IAAI,IAAI;IACvC,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,kBAAkB,CAAC,kBAAkB,GAAG,IAAI,IAAI;IAC1D,KAAK,EACD,mBAAmB,CAAC,kBAAkB,GAAG,4BAA4B,CAAC,GACtE,0BAA0B,GAC1B,sBAAsB,GACtB,uCAAuC,GACvC,0BAA0B,CAAC;IAC/B,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC;CACnC,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,IACrD,oBAAoB,CAAC,IAAI,CAAC,GAC1B,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AAE3C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,EAAE,EACpE,IAAI,EACJ,KAAK,GACN,EACG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GACjC;IACE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EACD,mBAAmB,CAAC,kBAAkB,CAAC,GACvC,0BAA0B,GAC1B,sBAAsB,GACtB,uCAAuC,GACvC,0BAA0B,CAAC;CAChC,GAAG,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAW9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,EACrD,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,GACtC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAEtC"}
|