summaryrefslogtreecommitdiff
path: root/packages/anastasis-core/src/validators.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/anastasis-core/src/validators.ts')
-rw-r--r--packages/anastasis-core/src/validators.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/anastasis-core/src/validators.ts b/packages/anastasis-core/src/validators.ts
new file mode 100644
index 000000000..1c04bfdb3
--- /dev/null
+++ b/packages/anastasis-core/src/validators.ts
@@ -0,0 +1,28 @@
+function isPrime(num: number): boolean {
+ for (let i = 2, s = Math.sqrt(num); i <= s; i++)
+ if (num % i === 0) return false;
+ return num > 1;
+}
+
+export function AL_NID_check(s: string): boolean { return true }
+export function BE_NRN_check(s: string): boolean { return true }
+export function CH_AHV_check(s: string): boolean { return true }
+export function CZ_BN_check(s: string): boolean { return true }
+export function DE_TIN_check(s: string): boolean { return true }
+export function DE_SVN_check(s: string): boolean { return true }
+export function ES_DNI_check(s: string): boolean { return true }
+export function IN_AADHAR_check(s: string): boolean { return true }
+export function IT_CF_check(s: string): boolean {
+ return true
+}
+
+export function XX_SQUARE_check(s: string): boolean {
+ const n = parseInt(s, 10)
+ const r = Math.sqrt(n)
+ return n === r * r;
+}
+export function XY_PRIME_check(s: string): boolean {
+ const n = parseInt(s, 10)
+ return isPrime(n)
+}
+