prefix-trie-ts
Advanced tools
Comparing version 0.0.3 to 0.0.4
@@ -0,1 +1,4 @@ | ||
#[0.0.4] 3-30-2018 | ||
- You can now export and import Trie indexes. | ||
#[0.0.3] 12-23-2017 | ||
@@ -2,0 +5,0 @@ - Empty array is no longer required to initilize a new trie object. |
@@ -1,1 +0,1 @@ | ||
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var t=r();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}var t={};return r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.e?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="",r(r.s=1)}([function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t={END_WORD:"$",PERMS_MIN_LEN:2},n=function(){function e(r){this.r=e.t(r)}return e.prototype.addWord=function(r){var t=function(r,t,n,o){return e.u(r,t,n,o)};return r.toLowerCase().split("").reduce(t,this.r),this},e.prototype.removeWord=function(r){var n=e.f(this.r,r),o=n.prefixFound,i=n.prefixNode;return o&&delete i[t.END_WORD],this},e.prototype.getWords=function(){return e._(this.r,"")},e.prototype.getPrefix=function(r){if(r=r.toLowerCase(),!this.a(r))return[];var t=e.f(this.r,r).prefixNode;return e._(t,r)},e.prototype.a=function(r){return e.f(this.r,r).prefixFound},e.u=function(e,r,n,o){return e[r]=e[r]||{},e=e[r],n===o.length-1&&(e[t.END_WORD]=1),e},e.f=function(e,r){return{prefixFound:r.toLowerCase().split("").every(function(r,t){return!!e[r]&&(e=e[r])}),prefixNode:e}},e.t=function(r){return(r||[]).reduce(function(r,t){return t.toLowerCase().split("").reduce(e.u,r),r},{})},e._=function(r,n,o){void 0===o&&(o=[]);var i=n;for(var u in r)u===t.END_WORD&&(o.push(i),i=""),e._(r[u],n+u,o);return o.sort()},e}();r.Trie=n},function(e,r,t){e.exports=t(0)}])}); | ||
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var t=r();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}var t={};return r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.e?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="",r(r.s=1)}([function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t={END_WORD:"$",PERMS_MIN_LEN:2},n=function(){function e(r){this.r=e.t(r)}return e.prototype.getIndex=function(){return this.r},e.prototype.setIndex=function(e){this.r=e},e.prototype.addWord=function(r){var t=function(r,t,n,o){return e.u(r,t,n,o)};return r.toLowerCase().split("").reduce(t,this.r),this},e.prototype.removeWord=function(r){var n=e.f(this.r,r),o=n.prefixFound,i=n.prefixNode;return o&&delete i[t.END_WORD],this},e.prototype.getWords=function(){return e._(this.r,"")},e.prototype.getPrefix=function(r){if(r=r.toLowerCase(),!this.a(r))return[];var t=e.f(this.r,r).prefixNode;return e._(t,r)},e.prototype.a=function(r){return e.f(this.r,r).prefixFound},e.u=function(e,r,n,o){return e[r]=e[r]||{},e=e[r],n===o.length-1&&(e[t.END_WORD]=1),e},e.f=function(e,r){return{prefixFound:r.toLowerCase().split("").every(function(r,t){return!!e[r]&&(e=e[r])}),prefixNode:e}},e.t=function(r){return(r||[]).reduce(function(r,t){return t.toLowerCase().split("").reduce(e.u,r),r},{})},e._=function(r,n,o){void 0===o&&(o=[]);var i=n;for(var u in r)u===t.END_WORD&&(o.push(i),i=""),e._(r[u],n+u,o);return o.sort()},e}();r.Trie=n},function(e,r,t){e.exports=t(0)}])}); |
export declare class Trie { | ||
constructor(input?: string[]); | ||
getIndex(): any; | ||
setIndex(trie: any): void; | ||
addWord(word: string): this; | ||
@@ -4,0 +6,0 @@ removeWord(word: string): this; |
@@ -10,2 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); | ||
} | ||
Trie.prototype.getIndex = function () { | ||
return this._trie; | ||
}; | ||
Trie.prototype.setIndex = function (trie) { | ||
this._trie = trie; | ||
}; | ||
Trie.prototype.addWord = function (word) { | ||
@@ -12,0 +18,0 @@ var reducer = function (previousValue, currentValue, currentIndex, array) { |
{ | ||
"name": "prefix-trie-ts", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Create and modify trie prefix structures, extract word lists including anagrams and sub-anagrams", | ||
@@ -36,2 +36,2 @@ "main": "node/index.js", | ||
} | ||
} | ||
} |
@@ -67,1 +67,11 @@ # Prefix Trie TS | ||
``` | ||
### Export Trie Index | ||
```js | ||
let exported = trie.getIndex(); | ||
``` | ||
### Import Trie Index | ||
```js | ||
trie.setIndex(indexJSON); | ||
``` |
@@ -21,2 +21,10 @@ const config = { | ||
public getIndex() { | ||
return this._trie; | ||
} | ||
public setIndex(trie: any) { | ||
this._trie = trie; | ||
} | ||
public addWord(word: string) { | ||
@@ -23,0 +31,0 @@ |
28460
307
77