
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
excepturiest
Advanced tools
A simple, maximally extensible, dependency minimized framework for building modern Ethereum dApps
core is a string mapping library. The idea behind this package was to give customization to almost everything in the library, therefore almost any piece of code depends of constants (More on it later on).
Without any customizations, core can be used as is.
const sentence = 'abc';
const cipher = 'def';
const { encode, decode } = core({
mappings: {
a: 'd',
b: 'e',
c: 'f',
},
});
encode(sentence);
// Returns 'def'
decode(cipher);
// Returns 'abc'
encode is a function returned from calling core function. It takes a string to encode and optionally a configuration object. So far, the configuration object consists of one field called throwOnUnknownCharacters, which is boolean value. The name is quite descriptive, during encoding if there's no suitable mapping for a character, then the error would be thrown. If you don't wanna throw error on unknown characters, set this option to false (It's true by defualt).
decode is almost the same with this distinction that, it will use reversed mappings and it will throw if there's no matching character for a ciphertext. The option name is the same: throwOnUnknownCharacters.
core has many optional configuration fields, really useful especially when dealing with things such as morse code package. The core library has the following options.
type CoreOptions = {
mappings: Record<string, string>;
ciphertextWordsSeparator?: string;
ciphertextCharactersSeparator?: string;
plaintextWordsSeparator?: string;
plaintextCharactersSeparator?: string;
};
These options specify the library should divide a string to encode it. The core library will split the input string by plaintextWordsSeparator and then it will split words to characters by plaintextCharactersSeparator. The last step is mapping character to ciphertext. You can control these parameters to your desire. By default plaintextWordsSeparator is a single space and a plaintextCharactersSeparator is an empty string ``.
During encoding after the characters are mapped to cipher, the cipher is joined, firstly by a ciphertextCharactersSeparator and then by ciphertextWordsSeparator. Decoding is reversed process.
Take a look for a example for a better understanding.
const sentence = 's o m e / s t r a n g e / f e a t u r e';
const notReallyACipher = 'some strange feature';
// ceaser is using core under the hood
const { encode, decode } = caesar({
encryptionOffset: 0,
plaintextWordsSeparator: ' / ',
plaintextCharactersSeparator: ' ',
ciphertextWordsSeparator: ' ',
ciphertextCharactersSeparator: '',
});
encode(sentence);
// Returns 'some strange feature'
decode(notReallyACipher);
// Returns 's o m e / s t r a n g e / f e a t u r e'
FAQs
A simple, maximally extensible, dependency minimized framework for building modern Ethereum dApps
We found that excepturiest demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.