@compas/store
Version:
Postgres & S3-compatible wrappers for common things
1,083 lines (1,046 loc) • 36.9 kB
JavaScript
// Generated by @compas/code-gen
import { validateStoreFileMeta } from "../store/validators.js";
/**
* @template T, E
* @typedef {{ value: T, error?: never}|{ value?: never, error: E }} Either
*/
/**
* @typedef {Record<string, any|undefined>} ValidatorErrorMap
*/
// eslint-disable-next-line no-unused-vars
const isRecord = (v) => !!v && typeof v === "object" && !Array.isArray(v);
/**
* @param {import("../common/types.js").QueryResultStoreFileInput|any} value
* @returns {Either<import("../common/types.js").QueryResultStoreFile, ValidatorErrorMap>}
*/
export function validateQueryResultStoreFile(value) {
/** @type {ValidatorErrorMap} */
const errorMap = {};
/** @type {any} */
let result = undefined;
if (value === null || value === undefined) {
errorMap[`$`] = {
key: "validator.undefined",
};
}
else {
if (!isRecord(value)) {
errorMap[`$`] = {
key: "validator.object",
value: value,
foundType: typeof value,
};
}
else {
/** @type {Set<string>} */
const knownKeys0 = new Set([
"id",
"contentLength",
"bucketName",
"contentType",
"name",
"meta",
"createdAt",
"updatedAt",
]);
for (const key of Object.keys(value)) {
if (!knownKeys0.has(key) && value[key] !== null && value[key] !== undefined) {
const expectedKeys = [...knownKeys0];
const foundKeys = Object.keys(value);
const unknownKeys = foundKeys.filter(it => !knownKeys0.has(it));
errorMap[`$`] = {
key: "validator.keys",
unknownKeys,
expectedKeys,
foundKeys,
};
break;
}
}
result = { "id": undefined, "contentLength": undefined, "bucketName": undefined, "contentType": undefined, "name": undefined, "meta": undefined, "createdAt": undefined, "updatedAt": undefined,};
if (value["id"] === null || value["id"] === undefined) {
errorMap[`$.id`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["id"] !== "string" || (!/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/gi.test(value["id"]) && !/^[a-f0-9]{32}$/gi.test(value["id"]))) {
errorMap[`$.id`] = {
key: "validator.pattern",
patternExplanation: "UUID",
};
}
else if (value["id"].length === 32) {
result["id"] = value["id"].slice(0,8) + "-" + value["id"].slice(8, 12) + "-" + value["id"].slice(12, 16) + "-" + value["id"].slice(16, 20) + "-" + value["id"].slice(20);
}
else {
result["id"] = value["id"];
}
}
if (value["contentLength"] === null || value["contentLength"] === undefined) {
errorMap[`$.contentLength`] = {
key: "validator.undefined",
};
}
else {
let convertedNumber2 = value["contentLength"];
if (typeof convertedNumber2 !== "number" && typeof convertedNumber2 === "string") {
convertedNumber2 = Number(convertedNumber2);
}
if (typeof convertedNumber2 !== "number" || isNaN(convertedNumber2) || !isFinite(convertedNumber2) || !Number.isInteger(convertedNumber2)) {
errorMap[`$.contentLength`] = {
key: "validator.number",
subType: "int",
};
} else if (convertedNumber2 < -2147483647) {
errorMap[`$.contentLength`] = {
key: "validator.range",
minValue: -2147483647,
};
} else if (convertedNumber2 > 2147483647) {
errorMap[`$.contentLength`] = {
key: "validator.range",
maxValue: 2147483647
};
} else {
result["contentLength"] = convertedNumber2;
}
}
if (value["bucketName"] === null || value["bucketName"] === undefined) {
errorMap[`$.bucketName`] = {
key: "validator.undefined",
};
}
else {
/** @type {string} */
let convertedString3 = value["bucketName"];
if (typeof convertedString3 !== "string") {
errorMap[`$.bucketName`] = {
key: "validator.string",
};
}
else {
if (convertedString3.length < 1) {
errorMap[`$.bucketName`] = {
key: "validator.length",
minLength: 1
};
} else {
result["bucketName"] = convertedString3;
}
}
}
if (value["contentType"] === null || value["contentType"] === undefined) {
errorMap[`$.contentType`] = {
key: "validator.undefined",
};
}
else {
/** @type {string} */
let convertedString4 = value["contentType"];
if (typeof convertedString4 !== "string") {
errorMap[`$.contentType`] = {
key: "validator.string",
};
}
else {
if (convertedString4.length < 1) {
errorMap[`$.contentType`] = {
key: "validator.length",
minLength: 1
};
} else {
result["contentType"] = convertedString4;
}
}
}
if (value["name"] === null || value["name"] === undefined) {
errorMap[`$.name`] = {
key: "validator.undefined",
};
}
else {
/** @type {string} */
let convertedString5 = value["name"];
if (typeof convertedString5 !== "string") {
errorMap[`$.name`] = {
key: "validator.string",
};
}
else {
if (convertedString5.length < 1) {
errorMap[`$.name`] = {
key: "validator.length",
minLength: 1
};
} else {
result["name"] = convertedString5;
}
}
}
if (value["meta"] === null || value["meta"] === undefined) {
result["meta"] = {};
}
else {
const refResult6 = validateStoreFileMeta(value["meta"]);
if (refResult6.error) {
for (const errorKey of Object.keys(refResult6.error)) {
errorMap[`$.meta${errorKey.substring(1)}`] = refResult6.error[errorKey];
}
}
result["meta"] = refResult6.value;
}
if (value["createdAt"] === null || value["createdAt"] === undefined) {
errorMap[`$.createdAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["createdAt"] === "string" || typeof value["createdAt"] === "number") {
result["createdAt"] = new Date(value["createdAt"]);
}
else if (Object.prototype.toString.call(value["createdAt"]) === "[object Date]") {
result["createdAt"] = value["createdAt"];
}
else {
errorMap[`$.createdAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["createdAt"]?.getTime() ?? undefined)) {
errorMap[`$.createdAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["updatedAt"] === null || value["updatedAt"] === undefined) {
errorMap[`$.updatedAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["updatedAt"] === "string" || typeof value["updatedAt"] === "number") {
result["updatedAt"] = new Date(value["updatedAt"]);
}
else if (Object.prototype.toString.call(value["updatedAt"]) === "[object Date]") {
result["updatedAt"] = value["updatedAt"];
}
else {
errorMap[`$.updatedAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["updatedAt"]?.getTime() ?? undefined)) {
errorMap[`$.updatedAt`] = {
key: "validator.date.invalid",
};
}
}
}
}
if (Object.keys(errorMap).length > 0) {
return { error: errorMap };
}
return { value: result }
}
/**
* @param {import("../common/types.js").QueryResultStoreJobInput|any} value
* @returns {Either<import("../common/types.js").QueryResultStoreJob, ValidatorErrorMap>}
*/
export function validateQueryResultStoreJob(value) {
/** @type {ValidatorErrorMap} */
const errorMap = {};
/** @type {any} */
let result = undefined;
if (value === null || value === undefined) {
errorMap[`$`] = {
key: "validator.undefined",
};
}
else {
if (!isRecord(value)) {
errorMap[`$`] = {
key: "validator.object",
value: value,
foundType: typeof value,
};
}
else {
/** @type {Set<string>} */
const knownKeys0 = new Set([
"id",
"isComplete",
"handlerTimeout",
"priority",
"retryCount",
"name",
"scheduledAt",
"data",
"createdAt",
"updatedAt",
]);
for (const key of Object.keys(value)) {
if (!knownKeys0.has(key) && value[key] !== null && value[key] !== undefined) {
const expectedKeys = [...knownKeys0];
const foundKeys = Object.keys(value);
const unknownKeys = foundKeys.filter(it => !knownKeys0.has(it));
errorMap[`$`] = {
key: "validator.keys",
unknownKeys,
expectedKeys,
foundKeys,
};
break;
}
}
result = { "id": undefined, "isComplete": undefined, "handlerTimeout": undefined, "priority": undefined, "retryCount": undefined, "name": undefined, "scheduledAt": undefined, "data": undefined, "createdAt": undefined, "updatedAt": undefined,};
if (value["id"] === null || value["id"] === undefined) {
errorMap[`$.id`] = {
key: "validator.undefined",
};
}
else {
let convertedNumber1 = value["id"];
if (typeof convertedNumber1 !== "number" && typeof convertedNumber1 === "string") {
convertedNumber1 = Number(convertedNumber1);
}
if (typeof convertedNumber1 !== "number" || isNaN(convertedNumber1) || !isFinite(convertedNumber1) || !Number.isInteger(convertedNumber1)) {
errorMap[`$.id`] = {
key: "validator.number",
subType: "int",
};
} else if (convertedNumber1 < -2147483647) {
errorMap[`$.id`] = {
key: "validator.range",
minValue: -2147483647,
};
} else if (convertedNumber1 > 2147483647) {
errorMap[`$.id`] = {
key: "validator.range",
maxValue: 2147483647
};
} else {
result["id"] = convertedNumber1;
}
}
if (value["isComplete"] === null || value["isComplete"] === undefined) {
result["isComplete"] = false;
}
else {
if (value["isComplete"] === true || value["isComplete"] === "true" || value["isComplete"] === 1 || value["isComplete"] === "1") {
result["isComplete"] = true;
}
else if (value["isComplete"] === false || value["isComplete"] === "false" || value["isComplete"] === 0 || value["isComplete"] === "0") {
result["isComplete"] = false;
}
else {
errorMap[`$.isComplete`] = {
key: "validator.type",
expectedType: "boolean",
};
}
}
if (value["handlerTimeout"] === null || value["handlerTimeout"] === undefined) {
result["handlerTimeout"] = undefined;
}
else {
let convertedNumber3 = value["handlerTimeout"];
if (typeof convertedNumber3 !== "number" && typeof convertedNumber3 === "string") {
convertedNumber3 = Number(convertedNumber3);
}
if (typeof convertedNumber3 !== "number" || isNaN(convertedNumber3) || !isFinite(convertedNumber3) || !Number.isInteger(convertedNumber3)) {
errorMap[`$.handlerTimeout`] = {
key: "validator.number",
subType: "int",
};
} else if (convertedNumber3 < 0) {
errorMap[`$.handlerTimeout`] = {
key: "validator.range",
minValue: 0,
};
} else {
result["handlerTimeout"] = convertedNumber3;
}
}
if (value["priority"] === null || value["priority"] === undefined) {
result["priority"] = 0;
}
else {
let convertedNumber4 = value["priority"];
if (typeof convertedNumber4 !== "number" && typeof convertedNumber4 === "string") {
convertedNumber4 = Number(convertedNumber4);
}
if (typeof convertedNumber4 !== "number" || isNaN(convertedNumber4) || !isFinite(convertedNumber4) || !Number.isInteger(convertedNumber4)) {
errorMap[`$.priority`] = {
key: "validator.number",
subType: "int",
};
} else if (convertedNumber4 < 0) {
errorMap[`$.priority`] = {
key: "validator.range",
minValue: 0,
};
} else {
result["priority"] = convertedNumber4;
}
}
if (value["retryCount"] === null || value["retryCount"] === undefined) {
result["retryCount"] = 0;
}
else {
let convertedNumber5 = value["retryCount"];
if (typeof convertedNumber5 !== "number" && typeof convertedNumber5 === "string") {
convertedNumber5 = Number(convertedNumber5);
}
if (typeof convertedNumber5 !== "number" || isNaN(convertedNumber5) || !isFinite(convertedNumber5) || !Number.isInteger(convertedNumber5)) {
errorMap[`$.retryCount`] = {
key: "validator.number",
subType: "int",
};
} else if (convertedNumber5 < -2147483647) {
errorMap[`$.retryCount`] = {
key: "validator.range",
minValue: -2147483647,
};
} else if (convertedNumber5 > 2147483647) {
errorMap[`$.retryCount`] = {
key: "validator.range",
maxValue: 2147483647
};
} else {
result["retryCount"] = convertedNumber5;
}
}
if (value["name"] === null || value["name"] === undefined) {
errorMap[`$.name`] = {
key: "validator.undefined",
};
}
else {
/** @type {string} */
let convertedString6 = value["name"];
if (typeof convertedString6 !== "string") {
errorMap[`$.name`] = {
key: "validator.string",
};
}
else {
if (convertedString6.length < 1) {
errorMap[`$.name`] = {
key: "validator.length",
minLength: 1
};
} else {
result["name"] = convertedString6;
}
}
}
if (value["scheduledAt"] === null || value["scheduledAt"] === undefined) {
result["scheduledAt"] = (new Date());
}
else {
if (typeof value["scheduledAt"] === "string" || typeof value["scheduledAt"] === "number") {
result["scheduledAt"] = new Date(value["scheduledAt"]);
}
else if (Object.prototype.toString.call(value["scheduledAt"]) === "[object Date]") {
result["scheduledAt"] = value["scheduledAt"];
}
else {
errorMap[`$.scheduledAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["scheduledAt"]?.getTime() ?? undefined)) {
errorMap[`$.scheduledAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["data"] === null || value["data"] === undefined) {
result["data"] = {};
}
else {
result["data"] = value["data"];
}
if (value["createdAt"] === null || value["createdAt"] === undefined) {
errorMap[`$.createdAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["createdAt"] === "string" || typeof value["createdAt"] === "number") {
result["createdAt"] = new Date(value["createdAt"]);
}
else if (Object.prototype.toString.call(value["createdAt"]) === "[object Date]") {
result["createdAt"] = value["createdAt"];
}
else {
errorMap[`$.createdAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["createdAt"]?.getTime() ?? undefined)) {
errorMap[`$.createdAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["updatedAt"] === null || value["updatedAt"] === undefined) {
errorMap[`$.updatedAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["updatedAt"] === "string" || typeof value["updatedAt"] === "number") {
result["updatedAt"] = new Date(value["updatedAt"]);
}
else if (Object.prototype.toString.call(value["updatedAt"]) === "[object Date]") {
result["updatedAt"] = value["updatedAt"];
}
else {
errorMap[`$.updatedAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["updatedAt"]?.getTime() ?? undefined)) {
errorMap[`$.updatedAt`] = {
key: "validator.date.invalid",
};
}
}
}
}
if (Object.keys(errorMap).length > 0) {
return { error: errorMap };
}
return { value: result }
}
/**
* @param {import("../common/types.js").QueryResultStoreSessionStoreInput|any} value
* @returns {Either<import("../common/types.js").QueryResultStoreSessionStore, ValidatorErrorMap>}
*/
export function validateQueryResultStoreSessionStore(value) {
/** @type {ValidatorErrorMap} */
const errorMap = {};
/** @type {any} */
let result = undefined;
if (value === null || value === undefined) {
errorMap[`$`] = {
key: "validator.undefined",
};
}
else {
if (!isRecord(value)) {
errorMap[`$`] = {
key: "validator.object",
value: value,
foundType: typeof value,
};
}
else {
/** @type {Set<string>} */
const knownKeys0 = new Set([
"id",
"checksum",
"revokedAt",
"data",
"createdAt",
"updatedAt",
"accessTokens",
]);
for (const key of Object.keys(value)) {
if (!knownKeys0.has(key) && value[key] !== null && value[key] !== undefined) {
const expectedKeys = [...knownKeys0];
const foundKeys = Object.keys(value);
const unknownKeys = foundKeys.filter(it => !knownKeys0.has(it));
errorMap[`$`] = {
key: "validator.keys",
unknownKeys,
expectedKeys,
foundKeys,
};
break;
}
}
result = { "id": undefined, "checksum": undefined, "revokedAt": undefined, "data": undefined, "createdAt": undefined, "updatedAt": undefined, "accessTokens": undefined,};
if (value["id"] === null || value["id"] === undefined) {
errorMap[`$.id`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["id"] !== "string" || (!/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/gi.test(value["id"]) && !/^[a-f0-9]{32}$/gi.test(value["id"]))) {
errorMap[`$.id`] = {
key: "validator.pattern",
patternExplanation: "UUID",
};
}
else if (value["id"].length === 32) {
result["id"] = value["id"].slice(0,8) + "-" + value["id"].slice(8, 12) + "-" + value["id"].slice(12, 16) + "-" + value["id"].slice(16, 20) + "-" + value["id"].slice(20);
}
else {
result["id"] = value["id"];
}
}
if (value["checksum"] === null || value["checksum"] === undefined) {
errorMap[`$.checksum`] = {
key: "validator.undefined",
};
}
else {
/** @type {string} */
let convertedString2 = value["checksum"];
if (typeof convertedString2 !== "string") {
errorMap[`$.checksum`] = {
key: "validator.string",
};
}
else {
if (convertedString2.length < 1) {
errorMap[`$.checksum`] = {
key: "validator.length",
minLength: 1
};
} else {
result["checksum"] = convertedString2;
}
}
}
if (value["revokedAt"] === null || value["revokedAt"] === undefined) {
result["revokedAt"] = undefined;
}
else {
if (typeof value["revokedAt"] === "string" || typeof value["revokedAt"] === "number") {
result["revokedAt"] = new Date(value["revokedAt"]);
}
else if (Object.prototype.toString.call(value["revokedAt"]) === "[object Date]") {
result["revokedAt"] = value["revokedAt"];
}
else {
errorMap[`$.revokedAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["revokedAt"]?.getTime() ?? undefined)) {
errorMap[`$.revokedAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["data"] === null || value["data"] === undefined) {
result["data"] = {};
}
else {
result["data"] = value["data"];
}
if (value["createdAt"] === null || value["createdAt"] === undefined) {
errorMap[`$.createdAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["createdAt"] === "string" || typeof value["createdAt"] === "number") {
result["createdAt"] = new Date(value["createdAt"]);
}
else if (Object.prototype.toString.call(value["createdAt"]) === "[object Date]") {
result["createdAt"] = value["createdAt"];
}
else {
errorMap[`$.createdAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["createdAt"]?.getTime() ?? undefined)) {
errorMap[`$.createdAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["updatedAt"] === null || value["updatedAt"] === undefined) {
errorMap[`$.updatedAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["updatedAt"] === "string" || typeof value["updatedAt"] === "number") {
result["updatedAt"] = new Date(value["updatedAt"]);
}
else if (Object.prototype.toString.call(value["updatedAt"]) === "[object Date]") {
result["updatedAt"] = value["updatedAt"];
}
else {
errorMap[`$.updatedAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["updatedAt"]?.getTime() ?? undefined)) {
errorMap[`$.updatedAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["accessTokens"] === null || value["accessTokens"] === undefined) {
result["accessTokens"] = undefined;
}
else {
/** @type {ValidatorErrorMap} */
const intermediateErrorMap8 = {};
/** @type {any[]} */
let intermediateResult8 = [];
/** @type {any|any[]} */
const intermediateValue8 = value["accessTokens"];
if (!Array.isArray(intermediateValue8)) {
errorMap[`$.accessTokens`] = {
key: "validator.array",
value: intermediateValue8,
};
}
else {
result["accessTokens"] = [];
for (let i8 = 0; i8 < intermediateValue8.length; ++i8) {
if (intermediateValue8[i8] === null || intermediateValue8[i8] === undefined) {
intermediateErrorMap8[`$.${i8}`] = {
key: "validator.undefined",
};
}
else {
const refResult8 = validateQueryResultStoreSessionStoreToken(intermediateValue8[i8]);
if (refResult8.error) {
for (const errorKey of Object.keys(refResult8.error)) {
intermediateErrorMap8[`$.${i8}${errorKey.substring(1)}`] = refResult8.error[errorKey];
}
}
intermediateResult8[i8] = refResult8.value;
}
}
}
if (Object.keys(intermediateErrorMap8).length) {
for (const errorKey of Object.keys(intermediateErrorMap8)) {
errorMap[`$.accessTokens${errorKey.substring(1)}`] = intermediateErrorMap8[errorKey];
}
}
else {
result["accessTokens"] = intermediateResult8;
}
}
}
}
if (Object.keys(errorMap).length > 0) {
return { error: errorMap };
}
return { value: result }
}
/**
* @param {import("../common/types.js").QueryResultStoreSessionStoreTokenInput|any} value
* @returns {Either<import("../common/types.js").QueryResultStoreSessionStoreToken, ValidatorErrorMap>}
*/
export function validateQueryResultStoreSessionStoreToken(value) {
/** @type {ValidatorErrorMap} */
const errorMap = {};
/** @type {any} */
let result = undefined;
if (value === null || value === undefined) {
errorMap[`$`] = {
key: "validator.undefined",
};
}
else {
if (!isRecord(value)) {
errorMap[`$`] = {
key: "validator.object",
value: value,
foundType: typeof value,
};
}
else {
/** @type {Set<string>} */
const knownKeys0 = new Set([
"id",
"session",
"expiresAt",
"refreshToken",
"revokedAt",
"createdAt",
"accessToken",
]);
for (const key of Object.keys(value)) {
if (!knownKeys0.has(key) && value[key] !== null && value[key] !== undefined) {
const expectedKeys = [...knownKeys0];
const foundKeys = Object.keys(value);
const unknownKeys = foundKeys.filter(it => !knownKeys0.has(it));
errorMap[`$`] = {
key: "validator.keys",
unknownKeys,
expectedKeys,
foundKeys,
};
break;
}
}
result = { "id": undefined, "session": undefined, "expiresAt": undefined, "refreshToken": undefined, "revokedAt": undefined, "createdAt": undefined, "accessToken": undefined,};
if (value["id"] === null || value["id"] === undefined) {
errorMap[`$.id`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["id"] !== "string" || (!/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/gi.test(value["id"]) && !/^[a-f0-9]{32}$/gi.test(value["id"]))) {
errorMap[`$.id`] = {
key: "validator.pattern",
patternExplanation: "UUID",
};
}
else if (value["id"].length === 32) {
result["id"] = value["id"].slice(0,8) + "-" + value["id"].slice(8, 12) + "-" + value["id"].slice(12, 16) + "-" + value["id"].slice(16, 20) + "-" + value["id"].slice(20);
}
else {
result["id"] = value["id"];
}
}
if (value["session"] === null || value["session"] === undefined) {
errorMap[`$.session`] = {
key: "validator.undefined",
};
}
else {
let hasAnyOfMatch2 = false;
errorMap[`$.session`] = {
key: "validator.anyOf",
errors: [],
};
if (!hasAnyOfMatch2) {
/** @type {ValidatorErrorMap} */
const intermediateErrorMap4 = {};
/** @type {any} */
let intermediateResult4 = undefined;
/** @type {any} */
let intermediateValue4 = value["session"];
if (intermediateValue4 === null || intermediateValue4 === undefined) {
intermediateErrorMap4[`$`] = {
key: "validator.undefined",
};
}
else {
if (typeof intermediateValue4 !== "string" || (!/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/gi.test(intermediateValue4) && !/^[a-f0-9]{32}$/gi.test(intermediateValue4))) {
intermediateErrorMap4[`$`] = {
key: "validator.pattern",
patternExplanation: "UUID",
};
}
else if (intermediateValue4.length === 32) {
intermediateResult4 = intermediateValue4.slice(0,8) + "-" + intermediateValue4.slice(8, 12) + "-" + intermediateValue4.slice(12, 16) + "-" + intermediateValue4.slice(16, 20) + "-" + intermediateValue4.slice(20);
}
else {
intermediateResult4 = intermediateValue4;
}
}
if (Object.keys(intermediateErrorMap4).length > 0) {
errorMap[`$.session`].errors.push(intermediateErrorMap4);
}
else {
hasAnyOfMatch2 = true;
delete errorMap[`$.session`];
result["session"] = intermediateResult4;
}
}
if (!hasAnyOfMatch2) {
/** @type {ValidatorErrorMap} */
const intermediateErrorMap4 = {};
/** @type {any} */
let intermediateResult4 = undefined;
/** @type {any} */
let intermediateValue4 = value["session"];
if (intermediateValue4 === null || intermediateValue4 === undefined) {
intermediateErrorMap4[`$`] = {
key: "validator.undefined",
};
}
else {
const refResult4 = validateQueryResultStoreSessionStore(intermediateValue4);
if (refResult4.error) {
for (const errorKey of Object.keys(refResult4.error)) {
intermediateErrorMap4[`$${errorKey.substring(1)}`] = refResult4.error[errorKey];
}
}
intermediateResult4 = refResult4.value;
}
if (Object.keys(intermediateErrorMap4).length > 0) {
errorMap[`$.session`].errors.push(intermediateErrorMap4);
}
else {
hasAnyOfMatch2 = true;
delete errorMap[`$.session`];
result["session"] = intermediateResult4;
}
}
}
if (value["expiresAt"] === null || value["expiresAt"] === undefined) {
errorMap[`$.expiresAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["expiresAt"] === "string" || typeof value["expiresAt"] === "number") {
result["expiresAt"] = new Date(value["expiresAt"]);
}
else if (Object.prototype.toString.call(value["expiresAt"]) === "[object Date]") {
result["expiresAt"] = value["expiresAt"];
}
else {
errorMap[`$.expiresAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["expiresAt"]?.getTime() ?? undefined)) {
errorMap[`$.expiresAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["refreshToken"] === null || value["refreshToken"] === undefined) {
result["refreshToken"] = undefined;
}
else {
let hasAnyOfMatch4 = false;
errorMap[`$.refreshToken`] = {
key: "validator.anyOf",
errors: [],
};
if (!hasAnyOfMatch4) {
/** @type {ValidatorErrorMap} */
const intermediateErrorMap6 = {};
/** @type {any} */
let intermediateResult6 = undefined;
/** @type {any} */
let intermediateValue6 = value["refreshToken"];
if (intermediateValue6 === null || intermediateValue6 === undefined) {
intermediateResult6 = undefined;
}
else {
if (typeof intermediateValue6 !== "string" || (!/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/gi.test(intermediateValue6) && !/^[a-f0-9]{32}$/gi.test(intermediateValue6))) {
intermediateErrorMap6[`$`] = {
key: "validator.pattern",
patternExplanation: "UUID",
};
}
else if (intermediateValue6.length === 32) {
intermediateResult6 = intermediateValue6.slice(0,8) + "-" + intermediateValue6.slice(8, 12) + "-" + intermediateValue6.slice(12, 16) + "-" + intermediateValue6.slice(16, 20) + "-" + intermediateValue6.slice(20);
}
else {
intermediateResult6 = intermediateValue6;
}
}
if (Object.keys(intermediateErrorMap6).length > 0) {
errorMap[`$.refreshToken`].errors.push(intermediateErrorMap6);
}
else {
hasAnyOfMatch4 = true;
delete errorMap[`$.refreshToken`];
result["refreshToken"] = intermediateResult6;
}
}
if (!hasAnyOfMatch4) {
/** @type {ValidatorErrorMap} */
const intermediateErrorMap6 = {};
/** @type {any} */
let intermediateResult6 = undefined;
/** @type {any} */
let intermediateValue6 = value["refreshToken"];
if (intermediateValue6 === null || intermediateValue6 === undefined) {
intermediateErrorMap6[`$`] = {
key: "validator.undefined",
};
}
else {
const refResult6 = validateQueryResultStoreSessionStoreToken(intermediateValue6);
if (refResult6.error) {
for (const errorKey of Object.keys(refResult6.error)) {
intermediateErrorMap6[`$${errorKey.substring(1)}`] = refResult6.error[errorKey];
}
}
intermediateResult6 = refResult6.value;
}
if (Object.keys(intermediateErrorMap6).length > 0) {
errorMap[`$.refreshToken`].errors.push(intermediateErrorMap6);
}
else {
hasAnyOfMatch4 = true;
delete errorMap[`$.refreshToken`];
result["refreshToken"] = intermediateResult6;
}
}
}
if (value["revokedAt"] === null || value["revokedAt"] === undefined) {
result["revokedAt"] = undefined;
}
else {
if (typeof value["revokedAt"] === "string" || typeof value["revokedAt"] === "number") {
result["revokedAt"] = new Date(value["revokedAt"]);
}
else if (Object.prototype.toString.call(value["revokedAt"]) === "[object Date]") {
result["revokedAt"] = value["revokedAt"];
}
else {
errorMap[`$.revokedAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["revokedAt"]?.getTime() ?? undefined)) {
errorMap[`$.revokedAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["createdAt"] === null || value["createdAt"] === undefined) {
errorMap[`$.createdAt`] = {
key: "validator.undefined",
};
}
else {
if (typeof value["createdAt"] === "string" || typeof value["createdAt"] === "number") {
result["createdAt"] = new Date(value["createdAt"]);
}
else if (Object.prototype.toString.call(value["createdAt"]) === "[object Date]") {
result["createdAt"] = value["createdAt"];
}
else {
errorMap[`$.createdAt`] = {
key: "validator.type",
expectedType: "Date|string",
};
}
if (isNaN(result["createdAt"]?.getTime() ?? undefined)) {
errorMap[`$.createdAt`] = {
key: "validator.date.invalid",
};
}
}
if (value["accessToken"] === null || value["accessToken"] === undefined) {
result["accessToken"] = undefined;
}
else {
const refResult7 = validateQueryResultStoreSessionStoreToken(value["accessToken"]);
if (refResult7.error) {
for (const errorKey of Object.keys(refResult7.error)) {
errorMap[`$.accessToken${errorKey.substring(1)}`] = refResult7.error[errorKey];
}
}
result["accessToken"] = refResult7.value;
}
}
}
if (Object.keys(errorMap).length > 0) {
return { error: errorMap };
}
return { value: result }
}