20 lines
514 B
TypeScript
20 lines
514 B
TypeScript
const setIndexAlias = (name: string, index: number, type: any) => {
|
|
if (!Object.prototype.hasOwnProperty.call(type.prototype, name)) {
|
|
Object.defineProperty(type.prototype, name, {
|
|
get() {
|
|
return this[index];
|
|
},
|
|
set(value) {
|
|
this[index] = value;
|
|
},
|
|
});
|
|
}
|
|
};
|
|
|
|
/** @internal */
|
|
export const applyArrayPlugins = () => {
|
|
setIndexAlias('x', 0, Array);
|
|
setIndexAlias('y', 1, Array);
|
|
setIndexAlias('x', 0, Float32Array);
|
|
setIndexAlias('y', 1, Float32Array);
|
|
};
|