@infinite-canvas-tutorial/webcomponents
Version:
WebComponents UI implementation
41 lines • 1.69 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.arrayToMap = void 0;
exports.checkWebGPUSupport = checkWebGPUSupport;
function checkWebGPUSupport() {
return __awaiter(this, void 0, void 0, function* () {
if ('gpu' in navigator) {
const gpu = yield navigator.gpu.requestAdapter();
if (!gpu) {
throw new Error('No WebGPU adapter available.');
}
}
else {
throw new Error('WebGPU is not supported by the browser.');
}
});
}
/**
* Transforms array of objects containing `id` attribute,
* or array of ids (strings), into a Map, keyd by `id`.
*/
const arrayToMap = (items) => {
if (items instanceof Map) {
return items;
}
return items.reduce((acc, element) => {
acc.set(typeof element === 'string' ? element : element.id, element);
return acc;
}, new Map());
};
exports.arrayToMap = arrayToMap;
//# sourceMappingURL=utils.js.map
;