Skip to content

Latest commit

 

History

History
205 lines (159 loc) · 7.46 KB

File metadata and controls

205 lines (159 loc) · 7.46 KB

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