@kephas/core
Version:
Provides a common infrastructure for all the other Kephas Framework components: ambient services, dynamic reflection, composition, application management, and others.
31 lines • 3.36 kB
JavaScript
import { __decorate } from "tslib";
import { sha256 } from 'js-sha256';
import { fromByteArray } from 'base64-js';
import { AppService } from '../services/appService';
import { Priority } from '../services/appServiceMetadata';
import { SingletonAppServiceContract } from '../services/appServiceContract';
/**
* Provides the Hash method for hashing values.
*
* @export
* @class HashingService
*/
let HashingService = class HashingService {
/**
* Hashes the value producing a Base64 encoded string.
*
* @param {string} value The value to hash.
* @returns {string} The hash value as a Base64 encoded string.
* @memberof HashingService
*/
hash(value, context) {
const hashedValue = sha256.array(value);
return fromByteArray(hashedValue);
}
};
HashingService = __decorate([
AppService({ overridePriority: Priority.Low }),
SingletonAppServiceContract()
], HashingService);
export { HashingService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaGluZ1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXBoYXMvY29yZS9zcmMvbGliL2NyeXB0b2dyYXBoeS9oYXNoaW5nU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0U7Ozs7O0dBS0c7QUFHSCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBRXZCOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxLQUFhLEVBQUUsT0FBaUI7UUFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLGFBQWEsQ0FBQyxXQUFrQixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNKLENBQUE7QUFiWSxjQUFjO0lBRjFCLFVBQVUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5QywyQkFBMkIsRUFBRTtHQUNqQixjQUFjLENBYTFCO1NBYlksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYTI1NiB9IGZyb20gJ2pzLXNoYTI1Nic7XHJcbmltcG9ydCB7IGZyb21CeXRlQXJyYXkgfSBmcm9tICdiYXNlNjQtanMnO1xyXG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwU2VydmljZSc7XHJcbmltcG9ydCB7IFByaW9yaXR5IH0gZnJvbSAnLi4vc2VydmljZXMvYXBwU2VydmljZU1ldGFkYXRhJztcclxuaW1wb3J0IHsgU2luZ2xldG9uQXBwU2VydmljZUNvbnRyYWN0IH0gZnJvbSAnLi4vc2VydmljZXMvYXBwU2VydmljZUNvbnRyYWN0JztcclxuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbnRleHQnO1xyXG5cclxuLyoqXHJcbiAqIFByb3ZpZGVzIHRoZSBIYXNoIG1ldGhvZCBmb3IgaGFzaGluZyB2YWx1ZXMuXHJcbiAqXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIEhhc2hpbmdTZXJ2aWNlXHJcbiAqL1xyXG5AQXBwU2VydmljZSh7IG92ZXJyaWRlUHJpb3JpdHk6IFByaW9yaXR5LkxvdyB9KVxyXG5AU2luZ2xldG9uQXBwU2VydmljZUNvbnRyYWN0KClcclxuZXhwb3J0IGNsYXNzIEhhc2hpbmdTZXJ2aWNlIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhc2hlcyB0aGUgdmFsdWUgcHJvZHVjaW5nIGEgQmFzZTY0IGVuY29kZWQgc3RyaW5nLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaGFzaC5cclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBoYXNoIHZhbHVlIGFzIGEgQmFzZTY0IGVuY29kZWQgc3RyaW5nLlxyXG4gICAgICogQG1lbWJlcm9mIEhhc2hpbmdTZXJ2aWNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoYXNoKHZhbHVlOiBzdHJpbmcsIGNvbnRleHQ/OiBDb250ZXh0KTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBoYXNoZWRWYWx1ZSA9IHNoYTI1Ni5hcnJheSh2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIGZyb21CeXRlQXJyYXkoaGFzaGVkVmFsdWUgYXMgYW55KTtcclxuICAgIH1cclxufVxyXG4iXX0=