mask-pii برای Zig

پیاده‌سازی mask-pii برای Zig جهت ماسک‌کردن PII ایمیل و تلفن در لاگ‌ها و پایپ‌لاین‌های داده.

ماسک ایمیل

بخش محلی را ماسک می‌کند و دامنه را قابل مشاهده نگه می‌دارد.

فرمت‌های تلفن جهانی

رقم‌های حساس را ماسک می‌کند و هم‌زمان قالب و پسوند را قابل مشاهده نگه می‌دارد.

API به سبک Builder

پیش از پردازش، ماسک ایمیل/تلفن و کاراکتر ماسک را به‌طور صریح فعال کنید.

نصب و شروع

Zig [git-only: v0.2.0]: از روش نصب فعلی زیر استفاده کنید، API مربوط به Zig را بارگذاری کنید و نمونهٔ حداقلی را اجرا کنید. این نمونه پوشاندن ایمیل و تلفن را به‌طور صریح فعال می‌کند و خروجی مورد انتظار را نشان می‌دهد.

نصب

zig fetch --save https://github.com/finitefield-org/mask-pii/archive/refs/tags/v0.2.0.tar.gz

نحوه استفاده

src/main.zig
const std = @import("std");
const MaskPII = @import("mask-pii");

pub fn main() !void {
    var masker = MaskPII.Masker.init();
    _ = masker.maskEmails().maskPhones().withMaskChar('#');

    const allocator = std.heap.page_allocator;
    const input = "Contact: alice@example.com or 090-1234-5678.";
    const output = try masker.process(allocator, input);
    defer allocator.free(output);

    try std.io.getStdOut().writer().print("{s}\n", .{output});
    // Output: "Contact: a####@example.com or ###-####-5678."
}
نکته

لطفاً README را برای جزئیات دقیق اکوسیستم بسته‌ها و نمونه‌های API این زبان بررسی کنید.