<commit_before>﻿namespace FilterLists.Directory.Domain.Aggregates.Licenses;

public sealed class License
{
    private License() { }

    public string Name { get; private init; } = null!;
    public Uri? Url { get; private init; }
    public bool PermitsModification { get; private init; }
    public bool PermitsDistribution { get; private init; }
    public bool PermitsCommercialUse { get; private init; }<commit_msg>feat(dir): ✨ add static ctor to License<commit_after>﻿namespace FilterLists.Directory.Domain.Aggregates.Licenses;

public sealed class License
{
    private License() { }

    public string Name { get; private init; } = null!;
    public Uri? Url { get; private init; }
    public bool PermitsModification { get; private init; }
    public bool PermitsDistribution { get; private init; }
    public bool PermitsCommercialUse { get; private init; }

    public static License Create(string name,
        Uri? url,
        bool permitsModification,
        bool permitsDistribution,
        bool permitsCommercialUse)
    {
        return new License
        {
            Name = name,
            Url = url,
            PermitsModification = permitsModification,
            PermitsDistribution = permitsDistribution,
            PermitsCommercialUse = permitsCommercialUse
        };
    }
{'fraction_non_alphanumeric': 0.07709923664122137, 'fraction_numerical': 0.0, 'mean_word_length': 2.9134328358208954, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6349048', 'n_tokens_mistral': 358, 'n_tokens_neox': 338, 'n_words': 110}