autumn-js
Version:
Autumn JS Library
82 lines (76 loc) • 2.73 kB
JavaScript
"use client";
;
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/libraries/react/client/clientEntityMethods.ts
var clientEntityMethods_exports = {};
__export(clientEntityMethods_exports, {
createEntityMethod: () => createEntityMethod,
deleteEntityMethod: () => deleteEntityMethod,
getEntityMethod: () => getEntityMethod
});
module.exports = __toCommonJS(clientEntityMethods_exports);
// src/libraries/react/utils/toSnakeCase.ts
function stringToSnakeCase(str) {
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
}
var toSnakeCase = (obj, excludeKeys) => {
if (Array.isArray(obj)) {
return obj.map((item) => toSnakeCase(item, excludeKeys));
} else if (obj !== null && typeof obj === "object") {
return Object.fromEntries(
Object.entries(obj).map(([key, value]) => {
const snakeKey = stringToSnakeCase(key);
if (excludeKeys && excludeKeys.includes(key)) {
return [snakeKey, value];
}
return [snakeKey, toSnakeCase(value, excludeKeys)];
})
);
}
return obj;
};
// src/utils/entityUtils.tsx
var getEntityExpandStr = (expand) => {
if (!expand) {
return "";
}
return `expand=${expand.join(",")}`;
};
// src/libraries/react/client/clientEntityMethods.ts
async function createEntityMethod(params) {
let snakeParams = toSnakeCase(params);
const res = await this.post(`${this.prefix}/entities`, snakeParams);
return res;
}
async function getEntityMethod(entityId, params) {
let snakeParams = toSnakeCase(params);
let expand = getEntityExpandStr(params?.expand);
const res = await this.get(`${this.prefix}/entities/${entityId}?${expand}`);
return res;
}
async function deleteEntityMethod(entityId) {
const res = await this.delete(`${this.prefix}/entities/${entityId}`);
return res;
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
createEntityMethod,
deleteEntityMethod,
getEntityMethod
});