open-vault/ui/tests/helpers/codemirror.js

21 lines
525 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
const invariant = (truthy, error) => {
if (!truthy) throw new Error(error);
};
export default function (context, selector) {
const cmService = context.owner.lookup('service:code-mirror');
const element = document.querySelector(selector);
invariant(element, `Selector ${selector} matched no elements`);
const cm = cmService.instanceFor(element.id);
invariant(cm, `No registered CodeMirror instance for ${selector}`);
return cm;
}