Skip to content

Norgate-AV/NAVFoundation.Amx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

903 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAVFoundation.Amx


CI Conventional Commits GitHub contributors MIT license


The NAVFoundation project is a collection of libraries for working with AMX devices. It's purpose is to provide a base for building NetLinx applications using modern programming techniques and patterns.

It builds on top of the NetLinx standard library to provide a set of higher level functions and utilities that are commonly used and taken for granted in other modern languages.

It's feature rich and written in pure NetLinx.

Contents 📖

Key Features ✨

  • Modern, object-oriented approach to NetLinx programming
  • Comprehensive utility libraries for common tasks
  • Well-tested and production-ready components
  • Consistent API design across all modules
  • Extensive error handling and logging capabilities

Installation ⚡

This library can be installed using Scoop.

# If you don't have sudo installed - Required to create symlinks in the AMX directory
scoop install gsudo

# Add the Norgate-AV AMX bucket
scoop bucket add norgateav-amx https://github.com/Norgate-AV/scoop-norgateav-amx

# Install NAVFoundation.Amx
sudo scoop install navfoundation-amx

Usage 🚀

To use the NAVFoundation.Amx libraries in your NetLinx project, simply include the desired library files in your project.

Example

To use the StringUtils library, you would include it as follows:

#include 'NAVFoundation.StringUtils.axi'

To use the ArrayUtils library, you would include it as follows:

#include 'NAVFoundation.ArrayUtils.axi'

Documentation 📄

For more detailed guides and documentation, please refer the README.md files in each library folder.

Libraries 📚

  • Core
    • Provides a set of core constants, types, and functions for AMX programming.
  • ArrayUtils
    • Provides utility functions for working with arrays in AMX.
  • Assert
    • Provides assertion functions for testing and debugging.
  • BinaryUtils
    • Provides functions for binary data manipulation and conversion.
  • Cryptography
    • Provides cryptographic functions and utilities for secure data handling.
  • CsvUtils
    • Provides functions for parsing and generating CSV data.
  • DateTimeUtils
    • Provides utility functions for date and time manipulation.
  • Encoding
    • Provides functions for encoding and decoding data in various formats.
  • Enova
    • Provides functions for interacting with Enova switchers.
  • ErrorLogUtils
    • Provides functions for error logging and handling.
  • Figlet
    • Provides functions for generating ASCII art text using FIGlet fonts.
  • FileUtils
    • Provides utility functions for file operations and management.
  • HashTable
    • Provides a hash table implementation for key-value storage.
  • HttpUtils
    • Provides functions for HTTP requests and responses.
  • IniUtils
    • Provides functions for parsing and working with INI configuration files.
  • Int64
  • InterModuleApi
  • Jsmn
    • Provides a JSON parser for AMX.
  • Json
    • Provides functions for working with JSON data.
  • Jwt
    • Provides functions for working with JSON Web Tokens (JWT).
  • List
    • Provides an array-based list implementation.
  • LogicEngine
  • Math
    • Provides mathematical functions and utilities.
  • McpBase
  • ModuleBase
  • NetUtils
    • Provides network-related utility functions.
  • NtpUtils
    • Provides functions for working with NTP (Network Time Protocol).
  • PathUtils
    • Provides utility functions for file path manipulation.
  • Queue
    • Provides an array-based queue implementation.
  • Regex
    • Provides regular expression matching and manipulation functions.
  • Redis
  • RmsBase
  • SnapiHelpers
    • Provides helper functions for SNAPI communication.
  • SocketUtils
    • Provides functions for socket communication.
  • Stack
  • Stopwatch
    • Provides a stopwatch utility for timing operations.
  • StringUtils
    • Provides utility functions for string manipulation.
  • TimelineUtils
    • Provides functions for working with timelines.
  • Toml
    • Provides functions for parsing and working with TOML configuration files.
  • Tui
  • UIUtils
  • Url
    • Provides functions for URL manipulation and encoding.
  • WebSocket
    • Provides a WebSocket client implementation for AMX.
  • Xml
    • Provides functions for working with XML data.
  • Yaml
    • Provides functions for working with YAML data.

Support ❓

If you have any questions or issues, please open an issue on the GitHub repository.

Team ⚽

This project is maintained by the following person(s) and a bunch of awesome contributors.


Damien Butt

Contributors ✨

All Contributors

Thanks go to these awesome people (emoji key):

This project follows the all-contributors specification.

Contributions of any kind are welcome!

Check out the contributing guide for more information.

LICENSE ⚖️

MIT

About

A collection of libraries for NetLinx software development

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages