build(ui): add missing file
authorJérôme Benoit <jerome.benoit@sap.com>
Thu, 22 Feb 2024 20:36:29 +0000 (21:36 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Thu, 22 Feb 2024 20:36:29 +0000 (21:36 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
ui/web/src/composables/Utils.ts [new file with mode: 0644]

diff --git a/ui/web/src/composables/Utils.ts b/ui/web/src/composables/Utils.ts
new file mode 100644 (file)
index 0000000..5638efe
--- /dev/null
@@ -0,0 +1,34 @@
+export const convertToBoolean = (value: unknown): boolean => {
+  let result = false
+  if (value != null) {
+    // Check the type
+    if (typeof value === 'boolean') {
+      return value
+    } else if (typeof value === 'string' && (value.toLowerCase() === 'true' || value === '1')) {
+      result = true
+    } else if (typeof value === 'number' && value === 1) {
+      result = true
+    }
+  }
+  return result
+}
+
+export const convertToInt = (value: unknown): number => {
+  if (value == null) {
+    return 0
+  }
+  let changedValue: number = value as number
+  if (Number.isSafeInteger(value)) {
+    return value as number
+  }
+  if (typeof value === 'number') {
+    return Math.trunc(value)
+  }
+  if (typeof value === 'string') {
+    changedValue = parseInt(value)
+  }
+  if (isNaN(changedValue)) {
+    throw new Error(`Cannot convert to integer: '${String(value)}'`)
+  }
+  return changedValue
+}