@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
JavaScript
/**
* @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