PHP 8.2.30
Preview: validate-param.ts Size: 1.18 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/adminjs/src/utils/param-converter/validate-param.ts

import { ParamsTypeValue } from '../../backend/adapters/record/params.type.js'
import { BaseProperty } from '../../backend/adapters/property/index.js'
import PropertyDecorator from '../../backend/decorators/property/property-decorator.js'

const isNumeric = (value: ParamsTypeValue) => !Number.isNaN(value)
const isUuid = (value: ParamsTypeValue) => {
  const rgx = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/gi

  return rgx.test(String(value))
}
const isSafeInteger = (
  value: ParamsTypeValue,
) => isNumeric(value) && Number.isSafeInteger(Number(value))
const isPositiveNumber = (
  value: ParamsTypeValue,
) => isNumeric(value) && Number(value) > 0

const validateParam = (
  value: ParamsTypeValue,
  property: BaseProperty | PropertyDecorator,
): boolean => {
  if (property.type() === 'number' || property.type() === 'float') {
    if (!property.isId()) return isNumeric(value)
    if (property.type() === 'float') return isPositiveNumber(value)
    return isSafeInteger(value) && isPositiveNumber(value)
  }

  if (property.type() === 'uuid') {
    return isUuid(value)
  }

  return true
}

export { validateParam, isNumeric, isUuid, isSafeInteger }

Directory Contents

Dirs: 0 × Files: 9

Name Size Perms Modified Actions
44 B lrw-r--r-- 2026-02-28 00:32:02
Edit Download
1.91 KB lrw-r--r-- 2026-02-28 00:32:02
Edit Download
990 B lrw-r--r-- 2026-02-28 00:32:02
Edit Download
819 B lrw-r--r-- 2026-02-28 00:32:02
Edit Download
403 B lrw-r--r-- 2026-02-28 00:32:02
Edit Download
44 B lrw-r--r-- 2026-02-28 00:32:28
Edit Download
537 B lrw-r--r-- 2026-02-28 00:32:40
Edit Download
1.47 KB lrw-r--r-- 2026-02-28 00:32:40
Edit Download
1.18 KB lrw-r--r-- 2026-02-28 00:32:46
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).