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

@aurahelper/languages

v2.1.6

Published

Language Libraries to work with XML, Aura, Apex... files. tokenizers, parsers, system classes and much more

Downloads

285

Readme

Aura Helper Languages Modules

Version Total Downloads Downloads/Month Issues Known Vulnerabilities Code Size License

Aura Helper Languages Module has usefull inner modules to work with all supported Salesforce languages (Apex, Javascript, Aura...)

You can Tokenize and Parse any apex class to get data from classes like name, variables, methods, constructors... Also you can format your apex classes using the Apex Formatter class

Like Apex classes, you can Tokenize and Parse XML Aura Files and Aura Javascript files with Aura and Javascript modules.

To parse any XML file to process it, you can use the XML Module and its classes to parse prepare and process any XML File.

The languages module has a system module too, to get System apex classes data or Lightning Aura componetns defined on salesforce.


Table of Contents


Apex Module

Module with classes to tokenize Apex Classes or Parse Apex Classes to extract classes data like variables, fields, methods, constructors...

ApexTokenizer Class

Methods


tokenize(filePathOrContent, systemData)

Method to tokenize an Apex file

Parameters:

  • filePathOrContent: File path or file content to tokenize
    • String
  • systemData: Object with the system data to identify tokens with more precission
    • Object

Return:

Returns an array with all file tokens

  • String

Examples:

Tokenize an Apex Class

    const { Apex } = require('@aurahelper/languages');
    const ApexTokenizer = Apex.ApexTokenizer;

    const tokens = ApexTokenizer.tokenize('./path/to/apex/class.cls');

    console.log(tokens);

ApexParser Class

Methods


ApexFormatter Class

Class to format any Apex Class with a selected configuration to format code as you want

Methods


config()

Method to get a default formatter config object

Return:

Returns a default formatter config object

  • ApexFormatterConfig

Examples:

Get default apex formatter config

    const { Apex } = require('@aurahelper/languages');
    const ApexFormatter = Apex.ApexFormatter;

    const config = ApexFormatter.config();

    console.log(config);

format(pathContentOrTokens, config)

Method to format an Apex Class with the selected options

Parameters:

  • pathContentOrTokens: Class file path or String file content or Apex Class Tokens (Use ApexTokenizer)
    • String | Array<Token>
  • config: Apex formatter config object or VSCode Config JSON object
    • ApexFormatterConfig | Object
  • systemData: System data like System Apex Classes or Namespaces to tokenize apex class if pathContentOrTokens is a class content or file path because is used to tokenize with precission. Can get it with System Class from System Module
    • Object

Return:

Returns the Apex Class content formatted

  • String

Throws:

This method can throw the next exceptions:

  • WrongDatatypeException: If pathContentOrTokens datatype is not an String, path or file tokens
  • WrongFilePathException: If the file Path is not a String or can't convert to absolute path
  • FileNotFoundException: If the file not exists or not have access to it
  • InvalidFilePathException: If the path is not a file

Examples:

Format apex class from file

    const { Apex, System } = require('@aurahelper/languages');
    const ApexFormatter = Apex.ApexFormatter;

    const filePath = 'path/to/apexClass.cls';
    const formatedClassStr = ApexFormatter.format(filePath);

    console.log(formatedClassStr);

Format apex class from file content

    const { Apex } = require('@aurahelper/languages');
    const ApexFormatter = Apex.ApexFormatter;

    const fileContent = 'public class ApexclassName {' + 
                            'private String property1 { get; set; }' + 
                            'private void privateMethod(String param1, Integer param2) {' + 
                                '// Method body' + 
                            '}';
                            'public String publicMethod(Map<String, List<Account>>) {' + 
                                '// Method body' + 
                            '}' +
                        '}';
    const formatedClassStr = ApexFormatter.format(fileContent);

    console.log(formatedClassStr);

Format apex class from file tokens

    const { Apex } = require('@aurahelper/languages');
    const ApexFormatter = Apex.ApexFormatter;
    const ApexTokenizer = Apex.ApexTokenizer;

    const filePath = 'path/to/apexClass.cls';
    const fileTokens = ApexTokenizer.tokenize(filePath);
    const formatedClassStr = ApexFormatter.format(fileTokens);

    console.log(formatedClassStr);


Aura Module

Module with classes to tokenize Aura XML Files or Parse Aura XML Files to extract data from applications, components or events like RegisteredEvents, Handlers, Attributes...

AuraTokenizer Class

Methods


AuraParser Class

Methods



Javascript Module

Module with classes to tokenize Aura JS Files or Parse Aura JS Files to extract methods data from Controller and Helper files

JSTokenizer Class

Methods


JSParser Class

Methods



XML Module

Module with classes to parse any XML file to extract data and process it

XMLUtils Class

Methods


XMLParser Class

Methods



System Module

Module with one class and to many JSON files with Salesforce System Apex Classes and Namespaces and System Aura Components from all Namespaces (aura, lightning, ui...). Use the system class to get this data.

System Class

Methods