mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
build: decouple package deps and introduce yarn workspaces (#7415)
* feat: decouple package deps and introduce yarn workspaces * update root directory * fix * fix scripts * fix lint * update path in scripts * remove yarn.lock files from packages * ignore workspace * dummy * dummy * remove comment check * revert workflow changes * ignore ws when installing gh actions * remove log * update path * fix * fix typo
This commit is contained in:
parent
b7d7ccc929
commit
d6cd8b78f1
567 changed files with 5066 additions and 8648 deletions
33
packages/excalidraw/polyfill.ts
Normal file
33
packages/excalidraw/polyfill.ts
Normal file
|
@ -0,0 +1,33 @@
|
|||
const polyfill = () => {
|
||||
if (!Array.prototype.at) {
|
||||
// Taken from https://github.com/tc39/proposal-relative-indexing-method#polyfill so that it works in tests
|
||||
/* eslint-disable */
|
||||
Object.defineProperty(Array.prototype, "at", {
|
||||
value: function (n: number) {
|
||||
// ToInteger() abstract op
|
||||
n = Math.trunc(n) || 0;
|
||||
// Allow negative indexing from the end
|
||||
if (n < 0) {
|
||||
n += this.length;
|
||||
}
|
||||
// OOB access is guaranteed to return undefined
|
||||
if (n < 0 || n >= this.length) {
|
||||
return undefined;
|
||||
}
|
||||
// Otherwise, this is just normal property access
|
||||
return this[n];
|
||||
},
|
||||
writable: true,
|
||||
enumerable: false,
|
||||
configurable: true,
|
||||
});
|
||||
}
|
||||
|
||||
if (!Element.prototype.replaceChildren) {
|
||||
Element.prototype.replaceChildren = function (...nodes) {
|
||||
this.innerHTML = "";
|
||||
this.append(...nodes);
|
||||
};
|
||||
}
|
||||
};
|
||||
export default polyfill;
|
Loading…
Add table
Add a link
Reference in a new issue