fix gitignore again

This commit is contained in:
olcxja 2026-05-10 16:36:35 +02:00
commit 5da5c2afe2
3329 changed files with 364540 additions and 3 deletions

View file

@ -0,0 +1,10 @@
export declare function createCaseInsensitiveObject<T>(): {
[key: string]: T;
};
export declare const CaseInsensitiveProxyHandler: ProxyHandler<any>;
export declare type AliasedMapKey = string | symbol;
export declare class AliasedMap<K, V> extends Map<AliasedMapKey | K, AliasedMapKey | V> {
getAliases(): Map<AliasedMapKey, AliasedMapKey[]>;
resolveAlias(key: AliasedMapKey | K): V | undefined;
keysWithoutAliases(): K[];
}

View file

@ -0,0 +1,49 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AliasedMap = exports.CaseInsensitiveProxyHandler = exports.createCaseInsensitiveObject = void 0;
function createCaseInsensitiveObject() {
return new Proxy({}, exports.CaseInsensitiveProxyHandler);
}
exports.createCaseInsensitiveObject = createCaseInsensitiveObject;
exports.CaseInsensitiveProxyHandler = {
has: (obj, prop) => {
return conformPropertyKey(prop) in obj;
},
get: (obj, prop) => {
return obj[conformPropertyKey(prop)];
},
set: (obj, prop, value) => {
obj[conformPropertyKey(prop)] = value;
return true;
},
deleteProperty: (obj, prop) => {
return delete obj[conformPropertyKey(prop)];
},
};
const conformPropertyKey = (prop) => typeof prop === 'string' ? prop.toLowerCase() : prop;
class AliasedMap extends Map {
getAliases() {
const aliasmap = new Map();
// TODO: waiting for https://github.com/Microsoft/TypeScript/issues/18562
const aliases = [...this.entries()].filter(([, v]) => typeof v === 'string' || typeof v === 'symbol');
aliases.forEach(([alias, cmd]) => {
const cmdaliases = aliasmap.get(cmd) || [];
cmdaliases.push(alias);
aliasmap.set(cmd, cmdaliases);
});
return aliasmap;
}
resolveAlias(key) {
const r = this.get(key);
if (typeof r !== 'string' && typeof r !== 'symbol') {
return r;
}
return this.resolveAlias(r);
}
keysWithoutAliases() {
return [...this.entries()]
.filter((entry) => typeof entry[1] !== 'string' && typeof entry[1] !== 'symbol')
.map(([k, v]) => k);
}
}
exports.AliasedMap = AliasedMap;