| 
<?php
/*
 | Copyright (c) A.S Nassiry
 |
 | For the full copyright and license information, please view the LICENSE
 | file that was distributed with this source code.
 |
 | @see https://github.com/nassiry/laravel-encoder
 |
 |--------------------------------------------------------------------------
 | Encoder Configuration File
 |--------------------------------------------------------------------------
 |
 | Note: This configuration file is applicable only when using the package with a Laravel application.
 | For standalone usage, you need to provide configuration directly while initializing the `Encoder` class.
 |
 | This file allows you to set up the default base encoder and customize its behavior within Laravel.
 | By default, the package uses the `base62` encoder, but you can define additional configurations
 | for Base62 or other custom Base classes that you may add via the Factory.
 |
 | Default Base62 Configuration
 | If you are using the default Base62 implementation, you can override its default mappers
 | by specifying custom mappings in the `config` array below. These mappers are used to obfuscate
 | the encoding process by applying prime numbers for variable-length encoding.
 |--------------------------------------------------------------------------
 | Example for overriding Base62 mappers:
 |--------------------------------------------------------------------------
 |
 | 'config' => [
 |     1 => '1',
 |     5 => '41',
 |     6 => '2377',
 |     7 => '147299',
 |     8 => '9132313',
 | ],
 |--------------------------------------------------------------------------
 | Custom Base Classes
 |--------------------------------------------------------------------------
 |
 | If you are implementing your own Base class (e.g., Base58 or Base64):
 | 1. Implement the `BaseEncoderInterface` in your class.
 | 2. Add your custom base to the `BaseFactory`.
 | 3. Use this `config` array to define any specific configuration required for your custom base.
 |
 |--------------------------------------------------------------------------
 | Usage in Laravel
 |--------------------------------------------------------------------------
 |
 | To publish this configuration file, run the following command:
 |
 | php artisan vendor:publish --provider="Nassiry\Encoder\EncoderServiceProvider"
 |
 | After publishing, you can modify the configuration here to suit your application's needs.
 |
 |--------------------------------------------------------------------------
 | Usage Outside Laravel
 |--------------------------------------------------------------------------
 |
 | For standalone usage, pass your configuration directly when creating an `Encoder` instance:
 |
 | use Nassiry\Encoder\Encoder;
 |
 | $config = [
 |     5 => 41,
 |     6 => 2377,
 |     7 => 147299,
 | ];
 |
 | $encoder = new Encoder('base62', $config);
 |
 */
 return [
 // The default base encoder to use. Options include 'base62' or any custom base class added to the Factory.
 'base' => 'base62',
 
 // Configuration options for the base encoder. For Base62, you can override its default mappers here.
 'config' => [
 // Example: Define mappers for Base62
 // 1 => '1',
 // 5 => '41',
 // 6 => '2377',
 // Add additional mappings as needed for your encoding requirements.
 ],
 ];
 |