@squarecloud/blob
Version:
Official Square Cloud Blob SDK for NodeJS
89 lines (84 loc) • 2.9 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/validation/assertions/stats.ts
var stats_exports = {};
__export(stats_exports, {
assertStatsResponse: () => assertStatsResponse
});
module.exports = __toCommonJS(stats_exports);
// src/validation/schemas/stats.ts
var import_zod = require("zod");
var statsResponseSchema = import_zod.z.object({
/** The total number of objects in your account. */
objects: import_zod.z.number(),
/** The total size of all objects in your account, in bytes. */
size: import_zod.z.number(),
/** The total price of storage for all objects in your account, in BRL. */
storagePrice: import_zod.z.number(),
/** The total price of all objects in your account, in BRL. */
objectsPrice: import_zod.z.number(),
/** The total price of all objects in your account, in BRL. */
totalEstimate: import_zod.z.number()
});
// src/structures/error.ts
var SquareCloudBlobError = class _SquareCloudBlobError extends Error {
constructor(code, message, cause) {
super(message, { cause });
this.name = _SquareCloudBlobError.name;
this.message = this.getMessage(code);
}
getMessage(rawCode) {
const code = rawCode.replaceAll("_", " ").toLowerCase().replace(/(^|\s)\S/g, (L) => L.toUpperCase());
const message = this.message ? `: ${this.message}` : "";
return `${code}${message}`;
}
};
// src/validation/assertions/handlers.ts
function handleAPIObjectAssertion({
schema,
value,
code
}) {
const name = code.toLowerCase().replaceAll("_", " ");
try {
return schema.parse(value);
} catch (err) {
const cause = err.errors?.map((err2) => ({
...err2,
path: err2.path.join(" > ")
}));
throw new SquareCloudBlobError(
`INVALID_API_${code}`,
`Invalid ${name} object received from API`,
{ cause }
);
}
}
// src/validation/assertions/stats.ts
function assertStatsResponse(value) {
return handleAPIObjectAssertion({
schema: statsResponseSchema,
code: "ACCOUNT_STATS",
value
});
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
assertStatsResponse
});
//# sourceMappingURL=stats.js.map