@compas/store
Version:
Postgres & S3-compatible wrappers for common things
1,227 lines (1,201 loc) • 38.6 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
*/
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} */
const 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} */
const 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} */
const 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} */
const 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} */
const 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 {Array<any>} */
const intermediateResult8 = [];
/** @type {any | Array<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} */
const 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} */
const 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} */
const 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} */
const 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 };
}