UNPKG

intlayer-editor

Version:

Integrate the Intlayer visual editor into your Intlayer projects, enabling CMS-like content management with multilingual support.

1 lines 4.77 kB
{"version":3,"file":"responseData.mjs","names":[],"sources":["../../src/utils/responseData.ts"],"sourcesContent":["import { HttpStatusCodes } from './httpStatusCodes';\n\ntype ErrorData = {\n code: string;\n title: string;\n message: string;\n} & object;\n\nexport type ResponseData<T = null> = {\n message?: string;\n description?: string;\n success: boolean;\n status: HttpStatusCodes;\n data: T | null;\n error?: ErrorData | ErrorData[];\n};\n\ntype ValidResponseStatus =\n | HttpStatusCodes.OK_200\n | HttpStatusCodes.CREATED_201\n | HttpStatusCodes.ACCEPTED_202\n | HttpStatusCodes.NON_AUTHORITATIVE_INFORMATION_203\n | HttpStatusCodes.NO_CONTENT_204\n | HttpStatusCodes.RESET_CONTENT_205\n | HttpStatusCodes.PARTIAL_CONTENT_206\n | HttpStatusCodes.MULTI_STATUS_207\n | HttpStatusCodes.ALREADY_REPORTED_208\n | HttpStatusCodes.IM_USED_226;\n\ntype SuccessResponseArgs<T = undefined> = {\n message?: string;\n description?: string;\n data: T;\n status?: ValidResponseStatus;\n error?: null;\n};\n\ntype ErrorResponseArgs = {\n error: ErrorData | ErrorData[];\n status: HttpStatusCodes;\n data?: null;\n message?: null;\n description?: null;\n};\n\nconst isSuccessStatus = (\n status: HttpStatusCodes\n): status is HttpStatusCodes.OK_200 =>\n status === HttpStatusCodes.OK_200 ||\n status === HttpStatusCodes.CREATED_201 ||\n status === HttpStatusCodes.ACCEPTED_202 ||\n status === HttpStatusCodes.NON_AUTHORITATIVE_INFORMATION_203 ||\n status === HttpStatusCodes.NO_CONTENT_204 ||\n status === HttpStatusCodes.RESET_CONTENT_205 ||\n status === HttpStatusCodes.PARTIAL_CONTENT_206 ||\n status === HttpStatusCodes.MULTI_STATUS_207 ||\n status === HttpStatusCodes.ALREADY_REPORTED_208 ||\n status === HttpStatusCodes.IM_USED_226;\n\nexport function formatResponse<T>({\n message,\n description,\n data,\n status,\n}: SuccessResponseArgs<T>): ResponseData<T>;\nexport function formatResponse<T>({\n error,\n status,\n}: ErrorResponseArgs): ResponseData<T>;\nexport function formatResponse<T>({\n message,\n description,\n data,\n error,\n status = HttpStatusCodes.OK_200,\n}: SuccessResponseArgs<T> | ErrorResponseArgs): ResponseData<T> {\n const success = isSuccessStatus(status);\n\n return {\n success,\n message: message ?? undefined,\n description: description ?? undefined,\n data: data ?? null,\n error: error ?? undefined,\n status,\n };\n}\n\nexport type PaginatedResponse<T = undefined> = Omit<ResponseData<T>, 'data'> & {\n data: T[] | null;\n page: number | null;\n page_size: number | null;\n total_pages: number | null;\n total_items: number | null;\n};\n\ntype SuccessPaginatedResponseArgs<T = undefined> = {\n message?: string;\n description?: string;\n data: T[];\n status?: ValidResponseStatus;\n page: number;\n pageSize: number;\n totalPages: number;\n totalItems: number;\n\n error?: null;\n};\n\ntype ErrorPaginatedResponseArgs = {\n error: ErrorData | ErrorData[];\n status: HttpStatusCodes;\n\n message?: null;\n description?: null;\n data?: null;\n\n page?: null;\n pageSize?: null;\n totalPages?: null;\n totalItems?: null;\n};\n\nexport function formatPaginatedResponse<T>({\n message,\n description,\n data,\n status,\n page,\n pageSize,\n totalPages,\n totalItems,\n}: SuccessPaginatedResponseArgs<T>): PaginatedResponse<T>;\nexport function formatPaginatedResponse<T>({\n error,\n status,\n}: ErrorPaginatedResponseArgs): PaginatedResponse<T>;\nexport function formatPaginatedResponse<T>({\n status = HttpStatusCodes.OK_200,\n message,\n description,\n data,\n error,\n page,\n pageSize,\n totalPages,\n totalItems,\n}:\n | SuccessPaginatedResponseArgs<T>\n | ErrorPaginatedResponseArgs): PaginatedResponse<T> {\n const success = isSuccessStatus(status);\n\n return {\n success,\n message: message ?? undefined,\n description: description ?? undefined,\n data: data ?? null,\n error: error ?? undefined,\n status,\n page: page ?? null,\n page_size: pageSize ?? null,\n total_pages: totalPages ?? null,\n total_items: totalItems ?? null,\n };\n}\n"],"mappings":";;;AA6CA,MAAM,mBACJ,WAEA,WAAW,gBAAgB,UAC3B,WAAW,gBAAgB,eAC3B,WAAW,gBAAgB,gBAC3B,WAAW,gBAAgB,qCAC3B,WAAW,gBAAgB,kBAC3B,WAAW,gBAAgB,qBAC3B,WAAW,gBAAgB,uBAC3B,WAAW,gBAAgB,oBAC3B,WAAW,gBAAgB,wBAC3B,WAAW,gBAAgB;AAY7B,SAAgB,eAAkB,EAChC,SACA,aACA,MACA,OACA,SAAS,gBAAgB,UACqC;AAG9D,QAAO;EACL,SAHc,gBAAgB,OAAO;EAIrC,SAAS,WAAW;EACpB,aAAa,eAAe;EAC5B,MAAM,QAAQ;EACd,OAAO,SAAS;EAChB;EACD;;AAoDH,SAAgB,wBAA2B,EACzC,SAAS,gBAAgB,QACzB,SACA,aACA,MACA,OACA,MACA,UACA,YACA,cAGoD;AAGpD,QAAO;EACL,SAHc,gBAAgB,OAAO;EAIrC,SAAS,WAAW;EACpB,aAAa,eAAe;EAC5B,MAAM,QAAQ;EACd,OAAO,SAAS;EAChB;EACA,MAAM,QAAQ;EACd,WAAW,YAAY;EACvB,aAAa,cAAc;EAC3B,aAAa,cAAc;EAC5B"}