@glimmer/util
Version:
Common utilities used in Glimmer
29 lines (28 loc) • 3.44 kB
JavaScript
export function unwrapHandle(handle) {
if (typeof handle === 'number') {
return handle;
} else {
let error = handle.errors[0];
throw new Error(`Compile Error: ${error.problem} @ ${error.span.start}..${error.span.end}`);
}
}
export function unwrapTemplate(template) {
if (template.result === 'error') {
throw new Error(`Compile Error: ${template.problem} @ ${template.span.start}..${template.span.end}`);
}
return template;
}
export function extractHandle(handle) {
if (typeof handle === 'number') {
return handle;
} else {
return handle.handle;
}
}
export function isOkHandle(handle) {
return typeof handle === 'number';
}
export function isErrHandle(handle) {
return typeof handle === 'number';
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3V0aWwvbGliL3RlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU0sU0FBVSxZQUFWLENBQXVCLE1BQXZCLEVBQTJDO0FBQy9DLE1BQUksT0FBTyxNQUFQLEtBQWtCLFFBQXRCLEVBQWdDO0FBQzlCLFdBQU8sTUFBUDtBQUNELEdBRkQsTUFFTztBQUNMLFFBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFQLENBQWMsQ0FBZCxDQUFaO0FBQ0EsVUFBTSxJQUFJLEtBQUosQ0FBVSxrQkFBa0IsS0FBSyxDQUFDLE9BQU8sTUFBTSxLQUFLLENBQUMsSUFBTixDQUFXLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBTixDQUFXLEdBQUcsRUFBbEYsQ0FBTjtBQUNEO0FBQ0Y7QUFFRCxPQUFNLFNBQVUsY0FBVixDQUF5QixRQUF6QixFQUEyQztBQUMvQyxNQUFJLFFBQVEsQ0FBQyxNQUFULEtBQW9CLE9BQXhCLEVBQWlDO0FBQy9CLFVBQU0sSUFBSSxLQUFKLENBQ0osa0JBQWtCLFFBQVEsQ0FBQyxPQUFPLE1BQU0sUUFBUSxDQUFDLElBQVQsQ0FBYyxLQUFLLEtBQUssUUFBUSxDQUFDLElBQVQsQ0FBYyxHQUFHLEVBRDdFLENBQU47QUFHRDs7QUFFRCxTQUFPLFFBQVA7QUFDRDtBQUVELE9BQU0sU0FBVSxhQUFWLENBQXdCLE1BQXhCLEVBQTRDO0FBQ2hELE1BQUksT0FBTyxNQUFQLEtBQWtCLFFBQXRCLEVBQWdDO0FBQzlCLFdBQU8sTUFBUDtBQUNELEdBRkQsTUFFTztBQUNMLFdBQU8sTUFBTSxDQUFDLE1BQWQ7QUFDRDtBQUNGO0FBRUQsT0FBTSxTQUFVLFVBQVYsQ0FBcUIsTUFBckIsRUFBeUM7QUFDN0MsU0FBTyxPQUFPLE1BQVAsS0FBa0IsUUFBekI7QUFDRDtBQUVELE9BQU0sU0FBVSxXQUFWLENBQXNCLE1BQXRCLEVBQTBDO0FBQzlDLFNBQU8sT0FBTyxNQUFQLEtBQWtCLFFBQXpCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYW5kbGVSZXN1bHQsIFRlbXBsYXRlLCBUZW1wbGF0ZU9rLCBPa0hhbmRsZSwgRXJySGFuZGxlIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1bndyYXBIYW5kbGUoaGFuZGxlOiBIYW5kbGVSZXN1bHQpOiBudW1iZXIge1xuICBpZiAodHlwZW9mIGhhbmRsZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gaGFuZGxlO1xuICB9IGVsc2Uge1xuICAgIGxldCBlcnJvciA9IGhhbmRsZS5lcnJvcnNbMF07XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb21waWxlIEVycm9yOiAke2Vycm9yLnByb2JsZW19IEAgJHtlcnJvci5zcGFuLnN0YXJ0fS4uJHtlcnJvci5zcGFuLmVuZH1gKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdW53cmFwVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlKTogVGVtcGxhdGVPayB7XG4gIGlmICh0ZW1wbGF0ZS5yZXN1bHQgPT09ICdlcnJvcicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ29tcGlsZSBFcnJvcjogJHt0ZW1wbGF0ZS5wcm9ibGVtfSBAICR7dGVtcGxhdGUuc3Bhbi5zdGFydH0uLiR7dGVtcGxhdGUuc3Bhbi5lbmR9YFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gdGVtcGxhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0SGFuZGxlKGhhbmRsZTogSGFuZGxlUmVzdWx0KTogbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiBoYW5kbGUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGhhbmRsZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaGFuZGxlLmhhbmRsZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPa0hhbmRsZShoYW5kbGU6IEhhbmRsZVJlc3VsdCk6IGhhbmRsZSBpcyBPa0hhbmRsZSB7XG4gIHJldHVybiB0eXBlb2YgaGFuZGxlID09PSAnbnVtYmVyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXJySGFuZGxlKGhhbmRsZTogSGFuZGxlUmVzdWx0KTogaGFuZGxlIGlzIEVyckhhbmRsZSB7XG4gIHJldHVybiB0eXBlb2YgaGFuZGxlID09PSAnbnVtYmVyJztcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=