UNPKG

@smj0x/homebridge-shortcuts-buttons

Version:

Run any Apple Shortcut with just the tap of a button, and execute a custom unix command (or another shortcut!) after completion to handle its success/failure, using x-callback-url.

38 lines 1.71 kB
/** * @module server */ import { HSBUtils } from '../utils.js'; export var HSBXCallbackUrlRequiredSearchParamsKeys; (function (HSBXCallbackUrlRequiredSearchParamsKeys) { HSBXCallbackUrlRequiredSearchParamsKeys["SHORTCUT"] = "shortcut"; HSBXCallbackUrlRequiredSearchParamsKeys["STATUS"] = "status"; HSBXCallbackUrlRequiredSearchParamsKeys["TOKEN"] = "token"; })(HSBXCallbackUrlRequiredSearchParamsKeys || (HSBXCallbackUrlRequiredSearchParamsKeys = {})); var HSBXCallbackUrlOptionalSearchParamsKeys; (function (HSBXCallbackUrlOptionalSearchParamsKeys) { HSBXCallbackUrlOptionalSearchParamsKeys["ERROR_MESSAGE"] = "errorMessage"; HSBXCallbackUrlOptionalSearchParamsKeys["RESULT"] = "result"; })(HSBXCallbackUrlOptionalSearchParamsKeys || (HSBXCallbackUrlOptionalSearchParamsKeys = {})); export class HSBXCallbackUrlSearchParams { searchParams; shortcut; status; token; result; errorMessage; constructor(searchParams) { this.searchParams = searchParams; this.shortcut = this.getParam(HSBXCallbackUrlRequiredSearchParamsKeys.SHORTCUT); this.status = this.getParam(HSBXCallbackUrlRequiredSearchParamsKeys.STATUS); this.token = this.getParam(HSBXCallbackUrlRequiredSearchParamsKeys.TOKEN); this.result = this.getParam(HSBXCallbackUrlOptionalSearchParamsKeys.RESULT); this.errorMessage = this.getParam(HSBXCallbackUrlOptionalSearchParamsKeys.ERROR_MESSAGE); } getParam(key) { const value = this.searchParams.get(key); return HSBUtils.isNonEmptyString(value) ? value.trim().replaceAll(/[\u2018\u2019\u201C\u201D]/g, `'`) : null; } } //# sourceMappingURL=params.js.map