Socket
Socket
Sign inDemoInstall

markov-strings

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

markov-strings - npm Package Compare versions

Comparing version 1.5.0 to 1.5.1

32

dist/index.js
"use strict";
const _ = require("lodash");
const lodash_1 = require("lodash");
const debug = require("debug");

@@ -30,3 +30,3 @@ const warn = debug("markov-strings:warning");

// Format data if necessary
if (_.isString(data[0])) {
if (lodash_1.isString(data[0])) {
data = data.map(s => ({ string: s }));

@@ -40,3 +40,3 @@ }

this.options = this.defaultOptions;
_.assignIn(this.options, options);
lodash_1.assignIn(this.options, options);
}

@@ -67,6 +67,6 @@ /**

// Start words
const start = _.slice(words, 0, stateSize).join(" ");
const start = lodash_1.slice(words, 0, stateSize).join(" ");
const oldStartObj = this.startWords.find(o => o.words === start);
if (oldStartObj) {
if (!_.includes(oldStartObj.refs, item)) {
if (!lodash_1.includes(oldStartObj.refs, item)) {
oldStartObj.refs.push(item);

@@ -79,6 +79,6 @@ }

// End words
const end = _.slice(words, words.length - stateSize, words.length).join(" ");
const end = lodash_1.slice(words, words.length - stateSize, words.length).join(" ");
const oldEndObj = this.endWords.find(o => o.words === end);
if (oldEndObj) {
if (!_.includes(oldEndObj.refs, item)) {
if (!lodash_1.includes(oldEndObj.refs, item)) {
oldEndObj.refs.push(item);

@@ -92,4 +92,4 @@ }

for (let i = 0; i < words.length - 1; i++) {
const curr = _.slice(words, i, i + stateSize).join(" ");
const next = _.slice(words, i + stateSize, i + stateSize * 2).join(" ");
const curr = lodash_1.slice(words, i, i + stateSize).join(" ");
const next = lodash_1.slice(words, i + stateSize, i + stateSize * 2).join(" ");
if (!next || next.split(" ").length !== options.stateSize) {

@@ -147,5 +147,5 @@ continue;

const newOptions = {};
_.assignIn(newOptions, this.options, options);
lodash_1.assignIn(newOptions, this.options, options);
options = newOptions;
const corpus = _.cloneDeep(this.corpus);
const corpus = lodash_1.cloneDeep(this.corpus);
const max = options.maxTries;

@@ -155,3 +155,3 @@ // loop for maximum tries

let ended = false;
const arr = [_.sample(this.startWords)];
const arr = [lodash_1.sample(this.startWords)];
let score = 0;

@@ -162,3 +162,3 @@ // loop to build sentence

const block = arr[arr.length - 1]; // last value in array
const state = _.sample(corpus[block.words]);
const state = lodash_1.sample(corpus[block.words]);
// sentence cannot be finished

@@ -173,3 +173,3 @@ if (!state) {

// is sentence finished?
if (_.some(this.endWords, { words: state.words })) {
if (lodash_1.some(this.endWords, { words: state.words })) {
ended = true;

@@ -181,3 +181,3 @@ break;

const scorePerWord = Math.ceil(score / arr.length);
const sentence = _.map(arr, "words").join(" ").trim();
const sentence = arr.map(o => o.words).join(" ").trim();
const result = {

@@ -187,3 +187,3 @@ string: sentence,

scorePerWord,
refs: _.uniqBy(_.flatten(_.map(arr, "refs")), "string")
refs: lodash_1.uniqBy(lodash_1.flatten(arr.map(o => o.refs)), "string")
};

@@ -190,0 +190,0 @@ // sentence is not ended or incorrect

{
"name": "markov-strings",
"version": "1.5.0",
"version": "1.5.1",
"description": "A Markov string generator",

@@ -29,12 +29,13 @@ "main": "dist/index.js",

"devDependencies": {
"@types/node": "^9.6.6",
"@types/node": "^9.6.31",
"chai": "^3.5.0",
"coveralls": "^2.11.9",
"istanbul": "^0.4.3",
"mocha": "^2.5.3"
"coveralls": "^3.0.2",
"istanbul": "^0.4.5",
"mocha": "^5.2.0"
},
"dependencies": {
"debug": "^3.1.0",
"lodash": "^4.13.1"
"@types/lodash": "^4.14.116",
"debug": "^3.2.5",
"lodash": "^4.17.11"
}
}

@@ -0,4 +1,5 @@

import { assignIn, cloneDeep, flatten, includes, isString, sample, slice, some, uniqBy } from "lodash"
import { MarkovCorpusItem, MarkovOptions, MarkovResult } from "./types"
const _ = require("lodash")
const debug = require("debug")

@@ -37,3 +38,3 @@ const warn = debug("markov-strings:warning")

// Format data if necessary
if (_.isString(data[0])) {
if (isString(data[0])) {
data = (data as string[]).map(s => ({ string: s }))

@@ -48,3 +49,3 @@ } else if (!data[0].hasOwnProperty("string")) {

this.options = this.defaultOptions
_.assignIn(this.options, options)
assignIn(this.options, options)
}

@@ -79,6 +80,6 @@

// Start words
const start = _.slice(words, 0, stateSize).join(" ")
const start = slice(words, 0, stateSize).join(" ")
const oldStartObj = this.startWords.find(o => o.words === start)
if (oldStartObj) {
if (!_.includes(oldStartObj.refs, item)) { oldStartObj.refs.push(item) }
if (!includes(oldStartObj.refs, item)) { oldStartObj.refs.push(item) }
} else {

@@ -89,6 +90,6 @@ this.startWords.push({ words: start, refs: [item] })

// End words
const end = _.slice(words, words.length - stateSize, words.length).join(" ")
const end = slice(words, words.length - stateSize, words.length).join(" ")
const oldEndObj = this.endWords.find(o => o.words === end)
if (oldEndObj) {
if (!_.includes(oldEndObj.refs, item)) { oldEndObj.refs.push(item) }
if (!includes(oldEndObj.refs, item)) { oldEndObj.refs.push(item) }
} else {

@@ -100,4 +101,4 @@ this.endWords.push({ words: end, refs: [item] })

for (let i = 0; i < words.length - 1; i++) {
const curr = _.slice(words, i, i + stateSize).join(" ")
const next = _.slice(words, i + stateSize, i + stateSize * 2).join(" ")
const curr = slice(words, i, i + stateSize).join(" ")
const next = slice(words, i + stateSize, i + stateSize * 2).join(" ")
if (!next || next.split(" ").length !== options.stateSize) {

@@ -158,6 +159,6 @@ continue

const newOptions: MarkovOptions = {}
_.assignIn(newOptions, this.options, options)
assignIn(newOptions, this.options, options)
options = newOptions
const corpus = _.cloneDeep(this.corpus)
const corpus = cloneDeep(this.corpus)
const max = options.maxTries!

@@ -168,3 +169,3 @@

let ended = false
const arr = [_.sample(this.startWords)]
const arr = [sample(this.startWords)!]
let score = 0

@@ -176,3 +177,3 @@

const block = arr[arr.length - 1] // last value in array
const state = _.sample(corpus[block.words])
const state = sample(corpus[block.words])

@@ -191,3 +192,3 @@ // sentence cannot be finished

// is sentence finished?
if (_.some(this.endWords, { words: state.words })) {
if (some(this.endWords, { words: state.words })) {
ended = true

@@ -200,3 +201,3 @@ break

const sentence = _.map(arr, "words").join(" ").trim()
const sentence = arr.map(o => o.words).join(" ").trim()
const result = {

@@ -206,3 +207,3 @@ string: sentence,

scorePerWord,
refs: _.uniqBy(_.flatten(_.map(arr, "refs")), "string")
refs: uniqBy(flatten(arr.map(o => o.refs)), "string")
}

@@ -209,0 +210,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc