
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.
linear-array
Advanced tools
Returns an array filed with linearly increasing numbers, starting from 0 up to the given value - 1 (without offset), or from 1 to the value itself (with offset).
Javascript / Node.js utility library. Returns a set of utility functions, available through the lineArr namespace, which serve to generate arrays populated with sequences such as natural or stepWithOffset sequence, and to check if an array is a sequence of a certain type (like a natural sequence [0,1,2,3,4]).
There are 2 ways to install and use the library.
$ npm install --save linear-array
<script> tag<script type="module" src="https://unpkg.com/linear-array@2.0.0"></script>
Since this package can be used on the client side, as UMD or ES6 module, and server side, as CommonJS module, there are 2 ways to import it into your .js file:
CommonJSconst lineArr = require('linear-array');
// ...
linear.isSeqNaturalNumbers([1, 2, 3]); // false
ES6import {
isSeqNaturalNumbers,
fillSeqNaturalNumbers,
fillStepSequenceWithOffset,
isStepSequenceWithOffset,
} from 'linear-array';
// ...
isSeqNaturalNumbers([0, 1, 2, 3]); // true
// OR
import * as lineArr from 'linear-array';
// ...
lineArr.isSeqNaturalNumbers([0, 1, 2, 3]); // true
UMDIf you imported the linear-array library with the <script> tag it will be attached to the globally available window object.
That's why you can use the module directly in your code by referencing the lineArr module directly
<!-- index.html -->
<html>
<head>
<!-- -->
</head>
<body>
<script src="https://unpkg.com/linear-array@2.0.0"></script>
<script src="custom.js"></script>
</body>
</html>
// custom.js
lineArr.isStepSequenceWithOffset([1, 2, 3]); // false
Currently, there are 4 methods available in the package.
Based on the differences in their input and output data types, they can be divided into 2 categories;
But both categories operate on the same pattern of data types, and these patterns can be categorized in a mathematical sense as Sequences.
But, repetition of numbers in the arrays is not allowed.
fillSeqNaturalNumbers (limiter: number, [includeLast = false]: boolean) => number[]fillSeqNaturalNumbers(limiter, inludeLast?) === [0, 1, 2, 3, ... , includeLast ? limiter : (limiter - 1)]
(0) -> []
(7) -> [0, 1, 2, 3, 4, 5, 6]
(7, true) -> [0, 1, 2, 3, 4, 5, 6, 7]
isSeqNaturalNumbers(arr: number[]) => booleanisSeqNaturalNumbers(arr) === true || false
([]) -> false
([0]) -> true
([0,1,2,3,4]) -> true
([2,3,4,5,6]) -> false
([0,1,2,3,5]) -> false
fillStepSequenceWithOffset (limiter: number, [step = 1]: number, [offset = 0]: number) => number[]fillStepSequenceWithOffset(limiter, step?, offset?) === [0+offset, step + offset, 2*step + offset, ..., (limiter - 1)*step + offset]
(0) -> []
(0,1,1) -> []
(1,1,1) -> [1]
(5) -> [0, 1, 2, 3, 4]
(5,1,3) -> [3, 4, 5, 6, 7]
(5,3) -> [0, 3, 6, 9, 12]
(5,2,2) -> [2, 4, 6, 8, 10]
isStepSequenceWithOffset (arr: number[], [step = 1]: number, [offset = 0]: number) => booleanisStepSequenceWithOffset(arr, step?, offset?) === true || false
([]) -> false
([0]) -> true
([0],1,1) -> false
([0,1,2,3,4]) -> true
([0,1,2,3,4], 2) -> false
([0,1,2,3,4], 1, 1) -> false
([1,2,3,4,5], 1, 1) -> true
([6,9,12,15,18], 3, 6) -> true
([5,9,12,15,19], 3, 6) -> false
BREAKING CHANGES:
The linearArray method no longer exists and it is not imported directly from the library.
The closes equivalent to the old linearArray method is now fillSeqNaturalNumbers
NEW FEATURES:
This update has 4 new methods:
fillSeqNaturalNumbers
isSeqNaturalNumbers
fillStepSequenceWithOffset
isStepSequenceWithOffset
See the Usage section on what they are and how they are used.
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Many thanks goes to these people for helping me maintain and upgrade the project:
Amin NAIRI 💻 🤔 ⚠️ |
Ivan Spoljaric
Copyright © 2020, Ivan Spoljaric. Released under the MIT License.
FAQs
Returns an array filed with linearly increasing numbers, starting from 0 up to the given value - 1 (without offset), or from 1 to the value itself (with offset).
The npm package linear-array receives a total of 2 weekly downloads. As such, linear-array popularity was classified as not popular.
We found that linear-array 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.