Easily generate subsequences from a provided map, array, or string input.
A subsequence is a sequence that can be derived from another sequence by removing zero or more elements, without changing the order of the remaining elements.
pnpm add subsequences
yarn add subsequences
npm install subsequences
import { Subsequence } from "subsequences";
const subsequences = Subsequence.fromArray(["1", "2", "3", "4"]);
console.log({ subsequences });
Output
{
"subsequences": [
["1", "2", "3", "4"],
["1", "2", "3"],
["1", "2", "4"],
["1", "2"],
["1", "3", "4"],
["1", "3"],
["1", "4"],
["1"],
["2", "3", "4"],
["2", "3"],
["2", "4"],
["2"],
["3", "4"],
["3"],
["4"]
]
}
const subsequences = Subsequence.fromString("1234");
console.log({ subsequences });
Output
{
"subsequences": [
["1", "2", "3", "4"],
["1", "2", "3"],
["1", "2", "4"],
["1", "2"],
["1", "3", "4"],
["1", "3"],
["1", "4"],
["1"],
["2", "3", "4"],
["2", "3"],
["2", "4"],
["2"],
["3", "4"],
["3"],
["4"]
]
}
import { Subsequence } from "subsequences";
const subsequences = new Subsequence([
["first", "1"],
["second", "2"],
["third", "3"],
["fourth", "4"],
]);
console.log(subsequences.entrySubsequences);
console.log(subsequences.i18nSubsequences);
console.log(subsequences.keySubsequences);
console.log(subsequences.valueSubsequences);
entrySubsequences output
[
["first_1", "second_2", "third_3", "fourth_4"],
["first_1", "second_2", "third_3"],
["first_1", "second_2", "fourth_4"],
["first_1", "second_2"],
["first_1", "third_3", "fourth_4"],
["first_1", "third_3"],
["first_1", "fourth_4"],
["first_1"],
["second_2", "third_3", "fourth_4"],
["second_2", "third_3"],
["second_2", "fourth_4"],
["second_2"],
["third_3", "fourth_4"],
["third_3"],
["fourth_4"]
]
i18nSubsequences output
[
{
"key": "first1_second2_third3_fourth4",
"values": { "first": "1", "second": "2", "third": "3", "fourth": "4" }
},
{
"key": "first1_second2_third3",
"values": { "first": "1", "second": "2", "third": "3" }
},
{
"key": "first1_second2_fourth4",
"values": { "first": "1", "second": "2", "fourth": "4" }
},
{ "key": "first1_second2", "values": { "first": "1", "second": "2" } },
{
"key": "first1_third3_fourth4",
"values": { "first": "1", "third": "3", "fourth": "4" }
},
{ "key": "first1_third3", "values": { "first": "1", "third": "3" } },
{ "key": "first1_fourth4", "values": { "first": "1", "fourth": "4" } },
{ "key": "first1", "values": { "first": "1" } },
{
"key": "second2_third3_fourth4",
"values": { "second": "2", "third": "3", "fourth": "4" }
},
{ "key": "second2_third3", "values": { "second": "2", "third": "3" } },
{ "key": "second2_fourth4", "values": { "second": "2", "fourth": "4" } },
{ "key": "second2", "values": { "second": "2" } },
{ "key": "third3_fourth4", "values": { "third": "3", "fourth": "4" } },
{ "key": "third3", "values": { "third": "3" } },
{ "key": "fourth4", "values": { "fourth": "4" } }
]
keySubsequences output
[
["first", "second", "third", "fourth"],
["first", "second", "third"],
["first", "second", "fourth"],
["first", "second"],
["first", "third", "fourth"],
["first", "third"],
["first", "fourth"],
["first"],
["second", "third", "fourth"],
["second", "third"],
["second", "fourth"],
["second"],
["third", "fourth"],
["third"],
["fourth"]
]
valueSubsequences output
[
["1", "2", "3", "4"],
["1", "2", "3"],
["1", "2", "4"],
["1", "2"],
["1", "3", "4"],
["1", "3"],
["1", "4"],
["1"],
["2", "3", "4"],
["2", "3"],
["2", "4"],
["2"],
["3", "4"],
["3"],
["4"]
]