AK-21/Graphite-Industrial-Intelligence
0
1import { TypeHint } from "@aws-sdk/client-rds-data";2function getValueFromDataApi(field) {3 if (field.stringValue !== void 0) {4 return field.stringValue;5 } else if (field.booleanValue !== void 0) {6 return field.booleanValue;7 } else if (field.doubleValue !== void 0) {8 return field.doubleValue;9 } else if (field.isNull !== void 0) {10 return null;11 } else if (field.longValue !== void 0) {12 return field.longValue;13 } else if (field.blobValue !== void 0) {14 return field.blobValue;15 } else if (field.arrayValue !== void 0) {16 if (field.arrayValue.stringValues !== void 0) {17 return field.arrayValue.stringValues;18 }19 if (field.arrayValue.longValues !== void 0) {20 return field.arrayValue.longValues;21 }22 if (field.arrayValue.doubleValues !== void 0) {23 return field.arrayValue.doubleValues;24 }25 if (field.arrayValue.booleanValues !== void 0) {26 return field.arrayValue.booleanValues;27 }28 if (field.arrayValue.arrayValues !== void 0) {29 return field.arrayValue.arrayValues;30 }31 throw new Error("Unknown array type");32 } else {33 throw new Error("Unknown type");34 }35}36function typingsToAwsTypeHint(typings) {37 if (typings === "date") {38 return TypeHint.DATE;39 } else if (typings === "decimal") {40 return TypeHint.DECIMAL;41 } else if (typings === "json") {42 return TypeHint.JSON;43 } else if (typings === "time") {44 return TypeHint.TIME;45 } else if (typings === "timestamp") {46 return TypeHint.TIMESTAMP;47 } else if (typings === "uuid") {48 return TypeHint.UUID;49 } else {50 return void 0;51 }52}53function toValueParam(value, typings) {54 const response = {55 value: {},56 typeHint: typingsToAwsTypeHint(typings)57 };58 if (value === null) {59 response.value = { isNull: true };60 } else if (typeof value === "string") {61 switch (response.typeHint) {62 case TypeHint.DATE: {63 response.value = { stringValue: value.split("T")[0] };64 break;65 }66 case TypeHint.TIMESTAMP: {67 response.value = { stringValue: value.replace("T", " ").replace("Z", "") };68 break;69 }70 default: {71 response.value = { stringValue: value };72 break;73 }74 }75 } else if (typeof value === "number" && Number.isInteger(value)) {76 response.value = { longValue: value };77 } else if (typeof value === "number" && !Number.isInteger(value)) {78 response.value = { doubleValue: value };79 } else if (typeof value === "boolean") {80 response.value = { booleanValue: value };81 } else if (value instanceof Date) {82 response.value = { stringValue: value.toISOString().replace("T", " ").replace("Z", "") };83 } else {84 throw new Error(`Unknown type for ${value}`);85 }86 return response;87}88export {89 getValueFromDataApi,90 toValueParam,91 typingsToAwsTypeHint92};93//# sourceMappingURL=index.js.map