@cripty2001/utils 0.0.240 → 0.0.242
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Appserver/server.d.ts +1 -0
- package/dist/Appserver/server.js +3 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +14 -10
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { AppserverData } from './common';
|
|
|
4
4
|
export type { AppserverData };
|
|
5
5
|
export { Static, TSchema, Type } from '@sinclair/typebox';
|
|
6
6
|
export { Value } from '@sinclair/typebox/value';
|
|
7
|
+
export { FormatRegistry } from '@sinclair/typebox';
|
|
7
8
|
export type AppserverHandler<I extends AppserverData, O extends AppserverData> = (input: I, auth: string | undefined) => Promise<O> | O;
|
|
8
9
|
declare class AppserverError<P extends AppserverData = AppserverData> extends Error {
|
|
9
10
|
code: string;
|
package/dist/Appserver/server.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AppserverDispatcher = exports.AppserverHandledError = exports.AppserverAuthError = exports.Value = exports.Type = void 0;
|
|
6
|
+
exports.AppserverDispatcher = exports.AppserverHandledError = exports.AppserverAuthError = exports.FormatRegistry = exports.Value = exports.Type = void 0;
|
|
7
7
|
const msgpack_1 = require("@msgpack/msgpack");
|
|
8
8
|
const value_1 = require("@sinclair/typebox/value");
|
|
9
9
|
const express_1 = __importDefault(require("express"));
|
|
@@ -14,6 +14,8 @@ var typebox_1 = require("@sinclair/typebox");
|
|
|
14
14
|
Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return typebox_1.Type; } });
|
|
15
15
|
var value_2 = require("@sinclair/typebox/value");
|
|
16
16
|
Object.defineProperty(exports, "Value", { enumerable: true, get: function () { return value_2.Value; } });
|
|
17
|
+
var typebox_2 = require("@sinclair/typebox");
|
|
18
|
+
Object.defineProperty(exports, "FormatRegistry", { enumerable: true, get: function () { return typebox_2.FormatRegistry; } });
|
|
17
19
|
(0, msgpack_1.encode)({}); // Fixes issue with msgpack not being included in build
|
|
18
20
|
class AppserverError extends Error {
|
|
19
21
|
code;
|
package/dist/index.d.ts
CHANGED
|
@@ -135,7 +135,7 @@ export declare function fn2promise<T>(fn: () => T | Promise<T>): Promise<T>;
|
|
|
135
135
|
export type SafeApplyed<T> = (updater: (draft: T) => T | void) => T;
|
|
136
136
|
export declare function safeApply<T>(updater: (draft: T) => T | void, incoming: T): T;
|
|
137
137
|
export declare function timesafeEqual(a: string, b: string): boolean;
|
|
138
|
-
export declare function buildDigest(data: string |
|
|
139
|
-
export declare function checkDigest(data: string |
|
|
140
|
-
export declare function enforceDigest(data: string |
|
|
138
|
+
export declare function buildDigest(data: string | Uint8Array<ArrayBuffer>): Promise<string>;
|
|
139
|
+
export declare function checkDigest(data: string | Uint8Array<ArrayBuffer>, digest: string): Promise<boolean>;
|
|
140
|
+
export declare function enforceDigest(data: string | Uint8Array<ArrayBuffer>, digest: string): Promise<void>;
|
|
141
141
|
export declare function isDigest(digest: string): boolean;
|
package/dist/index.js
CHANGED
|
@@ -379,21 +379,25 @@ function timesafeEqual(a, b) {
|
|
|
379
379
|
return (0, crypto_1.timingSafeEqual)(Buffer.from(a), Buffer.from(b));
|
|
380
380
|
}
|
|
381
381
|
const DIGEST_PREFIX = 'sha256.base64url.';
|
|
382
|
-
function buildDigest(data) {
|
|
383
|
-
const encoded = typeof data ===
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
382
|
+
async function buildDigest(data) {
|
|
383
|
+
const encoded = typeof data === "string" ?
|
|
384
|
+
new TextEncoder().encode(data) :
|
|
385
|
+
data;
|
|
386
|
+
const hash = await globalThis.crypto.subtle.digest("SHA-256", encoded);
|
|
387
|
+
const b64url = new Uint8Array(hash).toBase64({
|
|
388
|
+
alphabet: "base64url",
|
|
389
|
+
omitPadding: true,
|
|
390
|
+
});
|
|
391
|
+
return `${DIGEST_PREFIX}${b64url}`;
|
|
388
392
|
}
|
|
389
|
-
function checkDigest(data, digest) {
|
|
393
|
+
async function checkDigest(data, digest) {
|
|
390
394
|
if (!digest.startsWith(DIGEST_PREFIX))
|
|
391
395
|
throw new Error(`The digest was not generated with digest() function.`);
|
|
392
|
-
const dataDigest = buildDigest(data);
|
|
396
|
+
const dataDigest = await buildDigest(data);
|
|
393
397
|
return timesafeEqual(dataDigest, digest);
|
|
394
398
|
}
|
|
395
|
-
function enforceDigest(data, digest) {
|
|
396
|
-
if (!checkDigest(data, digest))
|
|
399
|
+
async function enforceDigest(data, digest) {
|
|
400
|
+
if (!(await checkDigest(data, digest)))
|
|
397
401
|
throw new Error(`The digest does not match the data.`);
|
|
398
402
|
}
|
|
399
403
|
function isDigest(digest) {
|
package/package.json
CHANGED