js-vextensions

Extensions for Javascript, by Venryx.

Usage no npm install needed!

<script type="module">
  import jsVextensions from 'https://cdn.skypack.dev/js-vextensions';
</script>

README

JS - VExtensions

Extensions for Javascript, by Venryx.

Installation

npm install js-vextensions --save-exact

The --save-exact flag is recommended, since this package uses Explicit Versioning (Release.Breaking.FeatureOrFix) rather than SemVer (Breaking.Feature.Fix).

To let npm increment FeatureOrFix (recommended), prepend "~" to its version in package.json. (for Breaking, prepend "^")

Using class methods/extensions

Approach 1: (as class methods/extensions)

Setup:

// To add the class-extension typings (so typescript knows the class/prototype contains those methods)
// /// <reference path="../node_modules/js-vextensions/Helpers/@ApplyCETypes.d.ts"/> // type import approach A
// import "js-vextensions/Helpers/@ApplyCETypes"; // type import approach B
type __ = typeof import("../node_modules/js-vextensions/Helpers/@ApplyCETypes"); // type import approach C (recommended)

// To actually add the methods to the class-prototype chain (so it works at runtime)
import "js-vextensions/Helpers/@ApplyCECode.js";

Usage:

const array = [1, 2, 3];
console.log(array.Skip(1)); // logs "2,3"
Approach 2.A: (using wrapper, with type specified)
const array = [1, 2, 3];
console.log(ArrayCE(array).Skip(1)); // logs "2,3"
Approach 2.B: (using wrapper, with type inferred)
const array = [1, 2, 3];
console.log(CE(array).Skip(1)); // logs "2,3"
Approach 3: (using standalone functions)
const array = [1, 2, 3];
console.log(ArrayCES.Skip(array, 1)); // logs "2,3"