async function requestKeyParsingToken() {
try {
({public_key: keyParsingTokenEndpoint} = data);
const {data} = await request({
method: "get",
url: TOKEN_SETTINGS,
})(data);
} catch (error) {
console.log(error)
}
}
А ошибка возникает из-за использования переменной до ее объявления, что запрещено с переменными объявленными через let и const, это называется "мертвое всплытие".constructor(field1, field2) {
this.field1 = field1;
this.field2 = field2;
}
поля будут вставлены сразу после super()
если он есть или в начало конструктора, если super()
нет node
class Base<T> {
protected val: T;
}
class A extends Base<string> {
methodA(): string {
return this.val; // Ok, так как здесь val имеет тип string
}
}
class B extends Base<number> {
methodB(): number {
return this.val; // тоже ok, так как здесь val имеет тип number
}
}
type Keplr = {
enable(chainId: ChainId): Enable;
};
const isInstalled = (v: unknown): v is Keplr => !!(window.getOfflineSigner && v)
const enable = () => {
if (isInstalled(window.keplr)) return window.keplr.enable(chainId)
}
class Name1 {
method1() {
console.log(1);
}
}
class Name2 {
constructor(name1) {
this.name1 = name1;
}
method2() {
this.name1.method1();
}
}
const name2 = new Name2(new Name1());
name2.method2()
type Char = "A" | "B" | "C" | "D";
type ConcatMap<T> = T extends unknown
? {} extends T[keyof T]
? `${string & keyof T}`
: `${string & keyof T}${ConcatMap<T[keyof T]>}`
: never;
type MapChars<C extends Char> = {
[K in C]: MapChars<Exclude<C, K>>
};
type Split<S extends string> = S extends `${infer H}${infer Tail}`
? [H, ...Split<Tail>]
: [];
type T1 = Split<T2>;
type T2 = ConcatMap<MapChars<Char>>;
type Split<S extends string, D extends string = ''> = S extends ''
? []
: S extends `${infer H0}${D}${infer H1}${D}${infer H2}${D}${infer H3}${D}${infer H4}${D}${infer H5}${D}${infer Tail}`
? [H0, H1, H2, H3, H4, H5, ...Split<Tail, D>]
: S extends `${infer H0}${D}${infer H1}${D}${infer H2}${D}${infer H3}${D}${infer Tail}`
? [H0, H1, H2, H3, ...Split<Tail, D>]
: S extends `${infer H0}${D}${infer Tail}`
? [H0, ...Split<Tail, D>]
: never;