npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

atils

v2.0.10

Published

A collection of utilities to help you with development.

Downloads

35

Readme

[ ! ] Discontinuation Notice

As of [email protected], atils will be discontinued as I will be more focused on other projects. The major changes that would have been placed with [email protected] are as follows:

  • Interface will receive a new overhaul and will now be able to parse through files.
    • The concept of this can be viewed here.
  • New Enum types.
    • This will be continued through a different project that I'll release later.
    • forcetype (the new Interface concept) will not receive updates as they will be updated within the new project.
  • Better formatting + documentation.
    • atils will remain an undocumented package.

Thank you for using atils; it was a good learning experience.

Getting Started

Installing atils

Installing the latest release of atils

npm i atils
const atils = require("atils");
import atils from "atils";

Installing previous releases of atils

npm i [email protected]
const atils = require("atils");
import atils from "atils";

Using Documentation

There is no documentation for atils. If you'd like to make your own, be my guest.

Utilities List

  • Bitfield Utility
  • Client Utility
  • Collection Utility
  • Console Utility (implements Error Utility)
  • Dataset Utility
  • Date Utility
  • Enum Utility
    • BitEnum (extends EnumParent)
    • FrozenFlagBasedEnum (extends EnumParent, implements ThawedFlagBasedEnum, default)
    • ThawedFlagBasedEnum (extends EnumParent)
  • Error Utility
  • Interface Utility
    • Type Sub-Utility
    • ClassInterface Sub-Utility
  • Merge Utility
  • Placebo Utility

Using Utilities

Importing Utilities

const { UtilityName } = require("atils");

Import Names

const {
    Bitfield,
    Client,
    Collection,
    Dataset,
    Date,
    Enum,
        BitEnum,
        EnumParent,
        FrozenFlagBasedEnum,
        ThawedFlagBasedEnum,
    BaseError,
    ErrorBuilder,
    ErrorSaver,
    Interface,
    InterfaceTypeAny,
    InterfaceTypeSmallInt,
    Merge,
    MKW,
    Type,
    Placebo,

    DefaultClientIntents,
    ConsoleStyles,
    InterfaceTypes,
} = require("atils");

Notice Board

November 11th, 2022

Five days until atils is one year old! ~~Also, [email protected] is in development. Will receive many heavy changes, as well as a fully functional documentation system and intellisense. Documentation will be updated as I work on it, but it will take quite awhile.~~

January 19th, 2023

I no longer see atils as a "need to be updated" package, since I've found very few bugs when messing with it. Some of the items within atils will still be transferred over to my next project, which will be more aligned with what I'm actively working on. atils was a very nice learning experience, but I need to move onto other things so that I don't become stuck. Thanks for using my package for the past year and two months; though I won't be updating it anymore, I'll probably continue using it until I make something better (nah that console still hella good, will probably be using that still). If, at any point in the future, I do decide to resume development on atils, it will most likely take a heavy change in direction than it has, especially when it comes to dependencies.

Changelog

[email protected]

  • Fixed an issue where BitEnums will only store Functions.

[email protected]

  • Fixed an issue with the Type and Interface classes not detecting Arrays and Objects properly.

[email protected]

  • Fixed an issue with the Type class throwing incorrect errors, and not properly detecting statements.

[email protected]

  • Fixed an issue with the Console class throwing errors when parameters are provided.
  • Fixed an issue with the Console class not properly logging messages from the .log() method.
  • Deprecated the BaseError class.
  • Deprecated the EnumParent class (no, the three Enums that we have are not deprecated).

[email protected]

  • Added the setName() method to the Console class. Sets the Command Prompt's name.

[email protected]

  • Added a little bit of the IntelliSense for the first couple utilities (will slowly be rolled out).
  • Renamed the Interface to Class Interface, implying it is primarily used for Classes.
  • Added the Object Interface, implying it is used for Objects.

Usage Example

const { Interface } = require("atils");
const interface = new Interface({
   hello: String, // The required item "hello" will be a String.
   _world: { // The optional item "world" will have the following items.
       type: String, // The optional item "hello" will be a String.
       default: "world!", // The default value for this optional item will be "world!".
   }
});
  • Changed the default export for Interface to the Object Interface, rather than the Class Interface.

[email protected]

  • Fixed a minor naming issue with the Class Interface.
  • Fixed a minor issue with the README file.

[email protected]

  • Failed to fix a previous issue.

[email protected]

  • You can now use Arrays as Types in the Object Interface.

Usage Example

const { Interface } = require("atils");
const interface = new Interface({
  array: [String],
});

interface.applyTo({
  array: ["Hello world!"],
});

interface.applyTo({
  array: [1], // throws an error. 
});
  • Added MKW as an export in atils.
    • The MKW package will be updated if atils' version of it receives an update.
  • Deprecated the Dataset Class (just use a Bit Enum).

[email protected]

  • Fixed an issue with the MKW import.
  • Fixed an issue with the Console Class.

[email protected]

  • atils discontinuation notice.

Resources

Discontinued.

Thank you for using atils.