mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-13 15:35:20 +01:00
fix layer breaker
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { VSBuffer } from 'vs/base/common/buffer';
|
||||
import { StringSHA1, toHexString } from 'vs/base/common/hash';
|
||||
|
||||
export async function sha1Hex(str: string): Promise<string> {
|
||||
|
||||
// Prefer to use browser's crypto module
|
||||
if (globalThis?.crypto?.subtle) {
|
||||
const hash = await globalThis.crypto.subtle.digest({ name: 'sha-1' }, VSBuffer.fromString(str).buffer);
|
||||
|
||||
return toHexString(hash);
|
||||
}
|
||||
|
||||
// Otherwise fallback to `StringSHA1`
|
||||
else {
|
||||
const computer = new StringSHA1();
|
||||
computer.update(str);
|
||||
|
||||
return computer.digest();
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { VSBuffer } from 'vs/base/common/buffer';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
|
||||
/**
|
||||
@@ -107,9 +106,9 @@ function leftPad(value: string, length: number, char: string = '0'): string {
|
||||
return value;
|
||||
}
|
||||
|
||||
function toHexString(buffer: ArrayBuffer): string;
|
||||
function toHexString(value: number, bitsize?: number): string;
|
||||
function toHexString(bufferOrValue: ArrayBuffer | number, bitsize: number = 32): string {
|
||||
export function toHexString(buffer: ArrayBuffer): string;
|
||||
export function toHexString(value: number, bitsize?: number): string;
|
||||
export function toHexString(bufferOrValue: ArrayBuffer | number, bitsize: number = 32): string {
|
||||
if (bufferOrValue instanceof ArrayBuffer) {
|
||||
return Array.from(new Uint8Array(bufferOrValue)).map(b => b.toString(16).padStart(2, '0')).join('');
|
||||
}
|
||||
@@ -315,21 +314,3 @@ export class StringSHA1 {
|
||||
this._h4 = (this._h4 + e) & 0xffffffff;
|
||||
}
|
||||
}
|
||||
|
||||
export async function sha1Hex(str: string): Promise<string> {
|
||||
|
||||
// Prefer to use browser's crypto module
|
||||
if (globalThis?.crypto?.subtle) {
|
||||
const hash = await globalThis.crypto.subtle.digest({ name: 'sha-1' }, VSBuffer.fromString(str).buffer);
|
||||
|
||||
return toHexString(hash);
|
||||
}
|
||||
|
||||
// Otherwise fallback to `StringSHA1`
|
||||
else {
|
||||
const computer = new StringSHA1();
|
||||
computer.update(str);
|
||||
|
||||
return computer.digest();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { hash, sha1Hex, StringSHA1 } from 'vs/base/common/hash';
|
||||
import { hash, StringSHA1 } from 'vs/base/common/hash';
|
||||
import { sha1Hex } from 'vs/base/browser/hash';
|
||||
|
||||
suite('Hash', () => {
|
||||
test('string', () => {
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { sha1Hex } from 'vs/base/common/hash';
|
||||
import { sha1Hex } from 'vs/base/browser/hash';
|
||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { IFileService, IFileStat } from 'vs/platform/files/common/files';
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { sha1Hex } from 'vs/base/common/hash';
|
||||
import { sha1Hex } from 'vs/base/browser/hash';
|
||||
import { IFileService, IResolveFileResult, IFileStat } from 'vs/platform/files/common/files';
|
||||
import { IWorkspaceContextService, WorkbenchState, IWorkspace } from 'vs/platform/workspace/common/workspace';
|
||||
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
|
||||
|
||||
Reference in New Issue
Block a user