@teselagen/sequence-utils 0.3.32-beta.2 → 0.3.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,5 +7,5 @@ export default function findOrfsInPlasmid(sequence: any, circular: any, minimumO
7
7
  forward: any;
8
8
  annotationTypePlural: string;
9
9
  isOrf: boolean;
10
- id: string;
10
+ id: any;
11
11
  }[];
@@ -16,5 +16,5 @@ export default function getOrfsFromSequence(options: any): {
16
16
  forward: any;
17
17
  annotationTypePlural: string;
18
18
  isOrf: boolean;
19
- id: string;
19
+ id: any;
20
20
  }[];
package/index.cjs CHANGED
@@ -3667,15 +3667,307 @@ const getFeatureToColorMap = /* @__PURE__ */ __name(({ includeHidden } = {}) =>
3667
3667
  const getFeatureTypes = /* @__PURE__ */ __name(({ includeHidden } = {}) => filter(getMergedFeatureMap(), (f) => includeHidden ? true : !f.isHidden).map(
3668
3668
  (f) => f.name
3669
3669
  ), "getFeatureTypes");
3670
- const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
3671
- let nanoid = /* @__PURE__ */ __name((size = 21) => {
3672
- let id = "";
3673
- let bytes = crypto.getRandomValues(new Uint8Array(size |= 0));
3674
- while (size--) {
3675
- id += urlAlphabet[bytes[size] & 63];
3676
- }
3677
- return id;
3678
- }, "nanoid");
3670
+ function getDefaultExportFromCjs(x) {
3671
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
3672
+ }
3673
+ __name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
3674
+ var lib = { exports: {} };
3675
+ var randomFromSeed;
3676
+ var hasRequiredRandomFromSeed;
3677
+ function requireRandomFromSeed() {
3678
+ if (hasRequiredRandomFromSeed) return randomFromSeed;
3679
+ hasRequiredRandomFromSeed = 1;
3680
+ var seed = 1;
3681
+ function getNextValue() {
3682
+ seed = (seed * 9301 + 49297) % 233280;
3683
+ return seed / 233280;
3684
+ }
3685
+ __name(getNextValue, "getNextValue");
3686
+ function setSeed(_seed_) {
3687
+ seed = _seed_;
3688
+ }
3689
+ __name(setSeed, "setSeed");
3690
+ randomFromSeed = {
3691
+ nextValue: getNextValue,
3692
+ seed: setSeed
3693
+ };
3694
+ return randomFromSeed;
3695
+ }
3696
+ __name(requireRandomFromSeed, "requireRandomFromSeed");
3697
+ var alphabet_1;
3698
+ var hasRequiredAlphabet;
3699
+ function requireAlphabet() {
3700
+ if (hasRequiredAlphabet) return alphabet_1;
3701
+ hasRequiredAlphabet = 1;
3702
+ var randomFromSeed2 = requireRandomFromSeed();
3703
+ var ORIGINAL = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
3704
+ var alphabet;
3705
+ var previousSeed;
3706
+ var shuffled;
3707
+ function reset() {
3708
+ shuffled = false;
3709
+ }
3710
+ __name(reset, "reset");
3711
+ function setCharacters(_alphabet_) {
3712
+ if (!_alphabet_) {
3713
+ if (alphabet !== ORIGINAL) {
3714
+ alphabet = ORIGINAL;
3715
+ reset();
3716
+ }
3717
+ return;
3718
+ }
3719
+ if (_alphabet_ === alphabet) {
3720
+ return;
3721
+ }
3722
+ if (_alphabet_.length !== ORIGINAL.length) {
3723
+ throw new Error("Custom alphabet for shortid must be " + ORIGINAL.length + " unique characters. You submitted " + _alphabet_.length + " characters: " + _alphabet_);
3724
+ }
3725
+ var unique = _alphabet_.split("").filter(function(item, ind, arr) {
3726
+ return ind !== arr.lastIndexOf(item);
3727
+ });
3728
+ if (unique.length) {
3729
+ throw new Error("Custom alphabet for shortid must be " + ORIGINAL.length + " unique characters. These characters were not unique: " + unique.join(", "));
3730
+ }
3731
+ alphabet = _alphabet_;
3732
+ reset();
3733
+ }
3734
+ __name(setCharacters, "setCharacters");
3735
+ function characters(_alphabet_) {
3736
+ setCharacters(_alphabet_);
3737
+ return alphabet;
3738
+ }
3739
+ __name(characters, "characters");
3740
+ function setSeed(seed) {
3741
+ randomFromSeed2.seed(seed);
3742
+ if (previousSeed !== seed) {
3743
+ reset();
3744
+ previousSeed = seed;
3745
+ }
3746
+ }
3747
+ __name(setSeed, "setSeed");
3748
+ function shuffle() {
3749
+ if (!alphabet) {
3750
+ setCharacters(ORIGINAL);
3751
+ }
3752
+ var sourceArray = alphabet.split("");
3753
+ var targetArray = [];
3754
+ var r = randomFromSeed2.nextValue();
3755
+ var characterIndex;
3756
+ while (sourceArray.length > 0) {
3757
+ r = randomFromSeed2.nextValue();
3758
+ characterIndex = Math.floor(r * sourceArray.length);
3759
+ targetArray.push(sourceArray.splice(characterIndex, 1)[0]);
3760
+ }
3761
+ return targetArray.join("");
3762
+ }
3763
+ __name(shuffle, "shuffle");
3764
+ function getShuffled() {
3765
+ if (shuffled) {
3766
+ return shuffled;
3767
+ }
3768
+ shuffled = shuffle();
3769
+ return shuffled;
3770
+ }
3771
+ __name(getShuffled, "getShuffled");
3772
+ function lookup(index) {
3773
+ var alphabetShuffled = getShuffled();
3774
+ return alphabetShuffled[index];
3775
+ }
3776
+ __name(lookup, "lookup");
3777
+ function get2() {
3778
+ return alphabet || ORIGINAL;
3779
+ }
3780
+ __name(get2, "get");
3781
+ alphabet_1 = {
3782
+ get: get2,
3783
+ characters,
3784
+ seed: setSeed,
3785
+ lookup,
3786
+ shuffled: getShuffled
3787
+ };
3788
+ return alphabet_1;
3789
+ }
3790
+ __name(requireAlphabet, "requireAlphabet");
3791
+ var randomByteBrowser;
3792
+ var hasRequiredRandomByteBrowser;
3793
+ function requireRandomByteBrowser() {
3794
+ if (hasRequiredRandomByteBrowser) return randomByteBrowser;
3795
+ hasRequiredRandomByteBrowser = 1;
3796
+ var crypto = typeof window === "object" && (window.crypto || window.msCrypto);
3797
+ var randomByte;
3798
+ if (!crypto || !crypto.getRandomValues) {
3799
+ randomByte = /* @__PURE__ */ __name(function(size) {
3800
+ var bytes = [];
3801
+ for (var i = 0; i < size; i++) {
3802
+ bytes.push(Math.floor(Math.random() * 256));
3803
+ }
3804
+ return bytes;
3805
+ }, "randomByte");
3806
+ } else {
3807
+ randomByte = /* @__PURE__ */ __name(function(size) {
3808
+ return crypto.getRandomValues(new Uint8Array(size));
3809
+ }, "randomByte");
3810
+ }
3811
+ randomByteBrowser = randomByte;
3812
+ return randomByteBrowser;
3813
+ }
3814
+ __name(requireRandomByteBrowser, "requireRandomByteBrowser");
3815
+ var format_browser;
3816
+ var hasRequiredFormat_browser;
3817
+ function requireFormat_browser() {
3818
+ if (hasRequiredFormat_browser) return format_browser;
3819
+ hasRequiredFormat_browser = 1;
3820
+ format_browser = /* @__PURE__ */ __name(function(random, alphabet, size) {
3821
+ var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1;
3822
+ var step = -~(1.6 * mask * size / alphabet.length);
3823
+ var id = "";
3824
+ while (true) {
3825
+ var bytes = random(step);
3826
+ var i = step;
3827
+ while (i--) {
3828
+ id += alphabet[bytes[i] & mask] || "";
3829
+ if (id.length === +size) return id;
3830
+ }
3831
+ }
3832
+ }, "format_browser");
3833
+ return format_browser;
3834
+ }
3835
+ __name(requireFormat_browser, "requireFormat_browser");
3836
+ var generate_1;
3837
+ var hasRequiredGenerate;
3838
+ function requireGenerate() {
3839
+ if (hasRequiredGenerate) return generate_1;
3840
+ hasRequiredGenerate = 1;
3841
+ var alphabet = requireAlphabet();
3842
+ var random = requireRandomByteBrowser();
3843
+ var format = /* @__PURE__ */ requireFormat_browser();
3844
+ function generate(number) {
3845
+ var loopCounter = 0;
3846
+ var done;
3847
+ var str = "";
3848
+ while (!done) {
3849
+ str = str + format(random, alphabet.get(), 1);
3850
+ done = number < Math.pow(16, loopCounter + 1);
3851
+ loopCounter++;
3852
+ }
3853
+ return str;
3854
+ }
3855
+ __name(generate, "generate");
3856
+ generate_1 = generate;
3857
+ return generate_1;
3858
+ }
3859
+ __name(requireGenerate, "requireGenerate");
3860
+ var build_1;
3861
+ var hasRequiredBuild;
3862
+ function requireBuild() {
3863
+ if (hasRequiredBuild) return build_1;
3864
+ hasRequiredBuild = 1;
3865
+ var generate = requireGenerate();
3866
+ requireAlphabet();
3867
+ var REDUCE_TIME = 1567752802062;
3868
+ var version = 7;
3869
+ var counter;
3870
+ var previousSeconds;
3871
+ function build(clusterWorkerId) {
3872
+ var str = "";
3873
+ var seconds = Math.floor((Date.now() - REDUCE_TIME) * 1e-3);
3874
+ if (seconds === previousSeconds) {
3875
+ counter++;
3876
+ } else {
3877
+ counter = 0;
3878
+ previousSeconds = seconds;
3879
+ }
3880
+ str = str + generate(version);
3881
+ str = str + generate(clusterWorkerId);
3882
+ if (counter > 0) {
3883
+ str = str + generate(counter);
3884
+ }
3885
+ str = str + generate(seconds);
3886
+ return str;
3887
+ }
3888
+ __name(build, "build");
3889
+ build_1 = build;
3890
+ return build_1;
3891
+ }
3892
+ __name(requireBuild, "requireBuild");
3893
+ var isValid;
3894
+ var hasRequiredIsValid;
3895
+ function requireIsValid() {
3896
+ if (hasRequiredIsValid) return isValid;
3897
+ hasRequiredIsValid = 1;
3898
+ var alphabet = requireAlphabet();
3899
+ function isShortId(id) {
3900
+ if (!id || typeof id !== "string" || id.length < 6) {
3901
+ return false;
3902
+ }
3903
+ var nonAlphabetic = new RegExp("[^" + alphabet.get().replace(/[|\\{}()[\]^$+*?.-]/g, "\\$&") + "]");
3904
+ return !nonAlphabetic.test(id);
3905
+ }
3906
+ __name(isShortId, "isShortId");
3907
+ isValid = isShortId;
3908
+ return isValid;
3909
+ }
3910
+ __name(requireIsValid, "requireIsValid");
3911
+ var clusterWorkerIdBrowser;
3912
+ var hasRequiredClusterWorkerIdBrowser;
3913
+ function requireClusterWorkerIdBrowser() {
3914
+ if (hasRequiredClusterWorkerIdBrowser) return clusterWorkerIdBrowser;
3915
+ hasRequiredClusterWorkerIdBrowser = 1;
3916
+ clusterWorkerIdBrowser = 0;
3917
+ return clusterWorkerIdBrowser;
3918
+ }
3919
+ __name(requireClusterWorkerIdBrowser, "requireClusterWorkerIdBrowser");
3920
+ var hasRequiredLib;
3921
+ function requireLib() {
3922
+ if (hasRequiredLib) return lib.exports;
3923
+ hasRequiredLib = 1;
3924
+ (function(module2) {
3925
+ var alphabet = requireAlphabet();
3926
+ var build = requireBuild();
3927
+ var isValid2 = requireIsValid();
3928
+ var clusterWorkerId = requireClusterWorkerIdBrowser() || 0;
3929
+ function seed(seedValue) {
3930
+ alphabet.seed(seedValue);
3931
+ return module2.exports;
3932
+ }
3933
+ __name(seed, "seed");
3934
+ function worker(workerId) {
3935
+ clusterWorkerId = workerId;
3936
+ return module2.exports;
3937
+ }
3938
+ __name(worker, "worker");
3939
+ function characters(newCharacters) {
3940
+ if (newCharacters !== void 0) {
3941
+ alphabet.characters(newCharacters);
3942
+ }
3943
+ return alphabet.shuffled();
3944
+ }
3945
+ __name(characters, "characters");
3946
+ function generate() {
3947
+ return build(clusterWorkerId);
3948
+ }
3949
+ __name(generate, "generate");
3950
+ module2.exports = generate;
3951
+ module2.exports.generate = generate;
3952
+ module2.exports.seed = seed;
3953
+ module2.exports.worker = worker;
3954
+ module2.exports.characters = characters;
3955
+ module2.exports.isValid = isValid2;
3956
+ })(lib);
3957
+ return lib.exports;
3958
+ }
3959
+ __name(requireLib, "requireLib");
3960
+ var shortid$1;
3961
+ var hasRequiredShortid;
3962
+ function requireShortid() {
3963
+ if (hasRequiredShortid) return shortid$1;
3964
+ hasRequiredShortid = 1;
3965
+ shortid$1 = requireLib();
3966
+ return shortid$1;
3967
+ }
3968
+ __name(requireShortid, "requireShortid");
3969
+ var shortidExports = requireShortid();
3970
+ const shortid = /* @__PURE__ */ getDefaultExportFromCjs(shortidExports);
3679
3971
  function cutSequenceByRestrictionEnzyme(pSequence, circular, restrictionEnzyme) {
3680
3972
  if (restrictionEnzyme.forwardRegex.length === 0 || restrictionEnzyme.reverseRegex.length === 0) {
3681
3973
  const returnArray = [];
@@ -3883,7 +4175,7 @@ function cutSequence(forwardRegExpPattern, restrictionEnzyme, sequence, circular
3883
4175
  }
3884
4176
  const overhangBps = getSequenceWithinRange(cutRange, originalSequence);
3885
4177
  restrictionCutSite = {
3886
- id: nanoid(),
4178
+ id: shortid(),
3887
4179
  start,
3888
4180
  end,
3889
4181
  topSnipPosition,
@@ -3941,7 +4233,7 @@ function computeDigestFragments({
3941
4233
  });
3942
4234
  if (!circular && cutsites.length) {
3943
4235
  sortedCutsites.push({
3944
- id: "seqTerm_" + nanoid(),
4236
+ id: "seqTerm_" + shortid(),
3945
4237
  start: 0,
3946
4238
  end: 0,
3947
4239
  overhangBps: "",
@@ -4075,10 +4367,6 @@ function getDigestFragsForSeqAndEnzymes({
4075
4367
  });
4076
4368
  }
4077
4369
  __name(getDigestFragsForSeqAndEnzymes, "getDigestFragsForSeqAndEnzymes");
4078
- function getDefaultExportFromCjs(x) {
4079
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
4080
- }
4081
- __name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
4082
4370
  var jsondiffpatch_umd$1 = { exports: {} };
4083
4371
  var empty = {};
4084
4372
  var hasRequiredEmpty;
@@ -8677,10 +8965,10 @@ function tidyUpAnnotation(_annotation, {
8677
8965
  annotation.name = "Untitled annotation";
8678
8966
  }
8679
8967
  if (provideNewIdsForAnnotations) {
8680
- annotation.id = nanoid();
8968
+ annotation.id = shortid();
8681
8969
  }
8682
8970
  if (!annotation.id && annotation.id !== 0 && !doNotProvideIdsForAnnotations) {
8683
- annotation.id = nanoid();
8971
+ annotation.id = shortid();
8684
8972
  messages.push(
8685
8973
  "Unable to detect valid ID for annotation, setting ID to " + annotation.id
8686
8974
  );
@@ -8924,7 +9212,7 @@ function tidyUpSequenceData(pSeqData, options = {}) {
8924
9212
  if (item.id || item.id === 0) {
8925
9213
  itemId = item.id;
8926
9214
  } else {
8927
- itemId = nanoid();
9215
+ itemId = shortid();
8928
9216
  if (!doNotProvideIdsForAnnotations) {
8929
9217
  item.id = itemId;
8930
9218
  }
@@ -17494,7 +17782,7 @@ function generateAnnotation(start, end, maxLength) {
17494
17782
  return __spreadProps(__spreadValues({}, range), {
17495
17783
  name: getRandomInt(0, 1e5).toString(),
17496
17784
  type: "misc_feature",
17497
- id: nanoid(),
17785
+ id: shortid(),
17498
17786
  forward: Math.random() > 0.5,
17499
17787
  notes: {}
17500
17788
  });
@@ -17617,7 +17905,7 @@ function getOrfsFromSequence(options) {
17617
17905
  forward,
17618
17906
  annotationTypePlural: "orfs",
17619
17907
  isOrf: true,
17620
- id: nanoid()
17908
+ id: shortid()
17621
17909
  });
17622
17910
  }
17623
17911
  }
package/index.js CHANGED
@@ -3665,15 +3665,307 @@ const getFeatureToColorMap = /* @__PURE__ */ __name(({ includeHidden } = {}) =>
3665
3665
  const getFeatureTypes = /* @__PURE__ */ __name(({ includeHidden } = {}) => filter(getMergedFeatureMap(), (f) => includeHidden ? true : !f.isHidden).map(
3666
3666
  (f) => f.name
3667
3667
  ), "getFeatureTypes");
3668
- const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
3669
- let nanoid = /* @__PURE__ */ __name((size = 21) => {
3670
- let id = "";
3671
- let bytes = crypto.getRandomValues(new Uint8Array(size |= 0));
3672
- while (size--) {
3673
- id += urlAlphabet[bytes[size] & 63];
3674
- }
3675
- return id;
3676
- }, "nanoid");
3668
+ function getDefaultExportFromCjs(x) {
3669
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
3670
+ }
3671
+ __name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
3672
+ var lib = { exports: {} };
3673
+ var randomFromSeed;
3674
+ var hasRequiredRandomFromSeed;
3675
+ function requireRandomFromSeed() {
3676
+ if (hasRequiredRandomFromSeed) return randomFromSeed;
3677
+ hasRequiredRandomFromSeed = 1;
3678
+ var seed = 1;
3679
+ function getNextValue() {
3680
+ seed = (seed * 9301 + 49297) % 233280;
3681
+ return seed / 233280;
3682
+ }
3683
+ __name(getNextValue, "getNextValue");
3684
+ function setSeed(_seed_) {
3685
+ seed = _seed_;
3686
+ }
3687
+ __name(setSeed, "setSeed");
3688
+ randomFromSeed = {
3689
+ nextValue: getNextValue,
3690
+ seed: setSeed
3691
+ };
3692
+ return randomFromSeed;
3693
+ }
3694
+ __name(requireRandomFromSeed, "requireRandomFromSeed");
3695
+ var alphabet_1;
3696
+ var hasRequiredAlphabet;
3697
+ function requireAlphabet() {
3698
+ if (hasRequiredAlphabet) return alphabet_1;
3699
+ hasRequiredAlphabet = 1;
3700
+ var randomFromSeed2 = requireRandomFromSeed();
3701
+ var ORIGINAL = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
3702
+ var alphabet;
3703
+ var previousSeed;
3704
+ var shuffled;
3705
+ function reset() {
3706
+ shuffled = false;
3707
+ }
3708
+ __name(reset, "reset");
3709
+ function setCharacters(_alphabet_) {
3710
+ if (!_alphabet_) {
3711
+ if (alphabet !== ORIGINAL) {
3712
+ alphabet = ORIGINAL;
3713
+ reset();
3714
+ }
3715
+ return;
3716
+ }
3717
+ if (_alphabet_ === alphabet) {
3718
+ return;
3719
+ }
3720
+ if (_alphabet_.length !== ORIGINAL.length) {
3721
+ throw new Error("Custom alphabet for shortid must be " + ORIGINAL.length + " unique characters. You submitted " + _alphabet_.length + " characters: " + _alphabet_);
3722
+ }
3723
+ var unique = _alphabet_.split("").filter(function(item, ind, arr) {
3724
+ return ind !== arr.lastIndexOf(item);
3725
+ });
3726
+ if (unique.length) {
3727
+ throw new Error("Custom alphabet for shortid must be " + ORIGINAL.length + " unique characters. These characters were not unique: " + unique.join(", "));
3728
+ }
3729
+ alphabet = _alphabet_;
3730
+ reset();
3731
+ }
3732
+ __name(setCharacters, "setCharacters");
3733
+ function characters(_alphabet_) {
3734
+ setCharacters(_alphabet_);
3735
+ return alphabet;
3736
+ }
3737
+ __name(characters, "characters");
3738
+ function setSeed(seed) {
3739
+ randomFromSeed2.seed(seed);
3740
+ if (previousSeed !== seed) {
3741
+ reset();
3742
+ previousSeed = seed;
3743
+ }
3744
+ }
3745
+ __name(setSeed, "setSeed");
3746
+ function shuffle() {
3747
+ if (!alphabet) {
3748
+ setCharacters(ORIGINAL);
3749
+ }
3750
+ var sourceArray = alphabet.split("");
3751
+ var targetArray = [];
3752
+ var r = randomFromSeed2.nextValue();
3753
+ var characterIndex;
3754
+ while (sourceArray.length > 0) {
3755
+ r = randomFromSeed2.nextValue();
3756
+ characterIndex = Math.floor(r * sourceArray.length);
3757
+ targetArray.push(sourceArray.splice(characterIndex, 1)[0]);
3758
+ }
3759
+ return targetArray.join("");
3760
+ }
3761
+ __name(shuffle, "shuffle");
3762
+ function getShuffled() {
3763
+ if (shuffled) {
3764
+ return shuffled;
3765
+ }
3766
+ shuffled = shuffle();
3767
+ return shuffled;
3768
+ }
3769
+ __name(getShuffled, "getShuffled");
3770
+ function lookup(index) {
3771
+ var alphabetShuffled = getShuffled();
3772
+ return alphabetShuffled[index];
3773
+ }
3774
+ __name(lookup, "lookup");
3775
+ function get2() {
3776
+ return alphabet || ORIGINAL;
3777
+ }
3778
+ __name(get2, "get");
3779
+ alphabet_1 = {
3780
+ get: get2,
3781
+ characters,
3782
+ seed: setSeed,
3783
+ lookup,
3784
+ shuffled: getShuffled
3785
+ };
3786
+ return alphabet_1;
3787
+ }
3788
+ __name(requireAlphabet, "requireAlphabet");
3789
+ var randomByteBrowser;
3790
+ var hasRequiredRandomByteBrowser;
3791
+ function requireRandomByteBrowser() {
3792
+ if (hasRequiredRandomByteBrowser) return randomByteBrowser;
3793
+ hasRequiredRandomByteBrowser = 1;
3794
+ var crypto = typeof window === "object" && (window.crypto || window.msCrypto);
3795
+ var randomByte;
3796
+ if (!crypto || !crypto.getRandomValues) {
3797
+ randomByte = /* @__PURE__ */ __name(function(size) {
3798
+ var bytes = [];
3799
+ for (var i = 0; i < size; i++) {
3800
+ bytes.push(Math.floor(Math.random() * 256));
3801
+ }
3802
+ return bytes;
3803
+ }, "randomByte");
3804
+ } else {
3805
+ randomByte = /* @__PURE__ */ __name(function(size) {
3806
+ return crypto.getRandomValues(new Uint8Array(size));
3807
+ }, "randomByte");
3808
+ }
3809
+ randomByteBrowser = randomByte;
3810
+ return randomByteBrowser;
3811
+ }
3812
+ __name(requireRandomByteBrowser, "requireRandomByteBrowser");
3813
+ var format_browser;
3814
+ var hasRequiredFormat_browser;
3815
+ function requireFormat_browser() {
3816
+ if (hasRequiredFormat_browser) return format_browser;
3817
+ hasRequiredFormat_browser = 1;
3818
+ format_browser = /* @__PURE__ */ __name(function(random, alphabet, size) {
3819
+ var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1;
3820
+ var step = -~(1.6 * mask * size / alphabet.length);
3821
+ var id = "";
3822
+ while (true) {
3823
+ var bytes = random(step);
3824
+ var i = step;
3825
+ while (i--) {
3826
+ id += alphabet[bytes[i] & mask] || "";
3827
+ if (id.length === +size) return id;
3828
+ }
3829
+ }
3830
+ }, "format_browser");
3831
+ return format_browser;
3832
+ }
3833
+ __name(requireFormat_browser, "requireFormat_browser");
3834
+ var generate_1;
3835
+ var hasRequiredGenerate;
3836
+ function requireGenerate() {
3837
+ if (hasRequiredGenerate) return generate_1;
3838
+ hasRequiredGenerate = 1;
3839
+ var alphabet = requireAlphabet();
3840
+ var random = requireRandomByteBrowser();
3841
+ var format = /* @__PURE__ */ requireFormat_browser();
3842
+ function generate(number) {
3843
+ var loopCounter = 0;
3844
+ var done;
3845
+ var str = "";
3846
+ while (!done) {
3847
+ str = str + format(random, alphabet.get(), 1);
3848
+ done = number < Math.pow(16, loopCounter + 1);
3849
+ loopCounter++;
3850
+ }
3851
+ return str;
3852
+ }
3853
+ __name(generate, "generate");
3854
+ generate_1 = generate;
3855
+ return generate_1;
3856
+ }
3857
+ __name(requireGenerate, "requireGenerate");
3858
+ var build_1;
3859
+ var hasRequiredBuild;
3860
+ function requireBuild() {
3861
+ if (hasRequiredBuild) return build_1;
3862
+ hasRequiredBuild = 1;
3863
+ var generate = requireGenerate();
3864
+ requireAlphabet();
3865
+ var REDUCE_TIME = 1567752802062;
3866
+ var version = 7;
3867
+ var counter;
3868
+ var previousSeconds;
3869
+ function build(clusterWorkerId) {
3870
+ var str = "";
3871
+ var seconds = Math.floor((Date.now() - REDUCE_TIME) * 1e-3);
3872
+ if (seconds === previousSeconds) {
3873
+ counter++;
3874
+ } else {
3875
+ counter = 0;
3876
+ previousSeconds = seconds;
3877
+ }
3878
+ str = str + generate(version);
3879
+ str = str + generate(clusterWorkerId);
3880
+ if (counter > 0) {
3881
+ str = str + generate(counter);
3882
+ }
3883
+ str = str + generate(seconds);
3884
+ return str;
3885
+ }
3886
+ __name(build, "build");
3887
+ build_1 = build;
3888
+ return build_1;
3889
+ }
3890
+ __name(requireBuild, "requireBuild");
3891
+ var isValid;
3892
+ var hasRequiredIsValid;
3893
+ function requireIsValid() {
3894
+ if (hasRequiredIsValid) return isValid;
3895
+ hasRequiredIsValid = 1;
3896
+ var alphabet = requireAlphabet();
3897
+ function isShortId(id) {
3898
+ if (!id || typeof id !== "string" || id.length < 6) {
3899
+ return false;
3900
+ }
3901
+ var nonAlphabetic = new RegExp("[^" + alphabet.get().replace(/[|\\{}()[\]^$+*?.-]/g, "\\$&") + "]");
3902
+ return !nonAlphabetic.test(id);
3903
+ }
3904
+ __name(isShortId, "isShortId");
3905
+ isValid = isShortId;
3906
+ return isValid;
3907
+ }
3908
+ __name(requireIsValid, "requireIsValid");
3909
+ var clusterWorkerIdBrowser;
3910
+ var hasRequiredClusterWorkerIdBrowser;
3911
+ function requireClusterWorkerIdBrowser() {
3912
+ if (hasRequiredClusterWorkerIdBrowser) return clusterWorkerIdBrowser;
3913
+ hasRequiredClusterWorkerIdBrowser = 1;
3914
+ clusterWorkerIdBrowser = 0;
3915
+ return clusterWorkerIdBrowser;
3916
+ }
3917
+ __name(requireClusterWorkerIdBrowser, "requireClusterWorkerIdBrowser");
3918
+ var hasRequiredLib;
3919
+ function requireLib() {
3920
+ if (hasRequiredLib) return lib.exports;
3921
+ hasRequiredLib = 1;
3922
+ (function(module2) {
3923
+ var alphabet = requireAlphabet();
3924
+ var build = requireBuild();
3925
+ var isValid2 = requireIsValid();
3926
+ var clusterWorkerId = requireClusterWorkerIdBrowser() || 0;
3927
+ function seed(seedValue) {
3928
+ alphabet.seed(seedValue);
3929
+ return module2.exports;
3930
+ }
3931
+ __name(seed, "seed");
3932
+ function worker(workerId) {
3933
+ clusterWorkerId = workerId;
3934
+ return module2.exports;
3935
+ }
3936
+ __name(worker, "worker");
3937
+ function characters(newCharacters) {
3938
+ if (newCharacters !== void 0) {
3939
+ alphabet.characters(newCharacters);
3940
+ }
3941
+ return alphabet.shuffled();
3942
+ }
3943
+ __name(characters, "characters");
3944
+ function generate() {
3945
+ return build(clusterWorkerId);
3946
+ }
3947
+ __name(generate, "generate");
3948
+ module2.exports = generate;
3949
+ module2.exports.generate = generate;
3950
+ module2.exports.seed = seed;
3951
+ module2.exports.worker = worker;
3952
+ module2.exports.characters = characters;
3953
+ module2.exports.isValid = isValid2;
3954
+ })(lib);
3955
+ return lib.exports;
3956
+ }
3957
+ __name(requireLib, "requireLib");
3958
+ var shortid$1;
3959
+ var hasRequiredShortid;
3960
+ function requireShortid() {
3961
+ if (hasRequiredShortid) return shortid$1;
3962
+ hasRequiredShortid = 1;
3963
+ shortid$1 = requireLib();
3964
+ return shortid$1;
3965
+ }
3966
+ __name(requireShortid, "requireShortid");
3967
+ var shortidExports = requireShortid();
3968
+ const shortid = /* @__PURE__ */ getDefaultExportFromCjs(shortidExports);
3677
3969
  function cutSequenceByRestrictionEnzyme(pSequence, circular, restrictionEnzyme) {
3678
3970
  if (restrictionEnzyme.forwardRegex.length === 0 || restrictionEnzyme.reverseRegex.length === 0) {
3679
3971
  const returnArray = [];
@@ -3881,7 +4173,7 @@ function cutSequence(forwardRegExpPattern, restrictionEnzyme, sequence, circular
3881
4173
  }
3882
4174
  const overhangBps = getSequenceWithinRange(cutRange, originalSequence);
3883
4175
  restrictionCutSite = {
3884
- id: nanoid(),
4176
+ id: shortid(),
3885
4177
  start,
3886
4178
  end,
3887
4179
  topSnipPosition,
@@ -3939,7 +4231,7 @@ function computeDigestFragments({
3939
4231
  });
3940
4232
  if (!circular && cutsites.length) {
3941
4233
  sortedCutsites.push({
3942
- id: "seqTerm_" + nanoid(),
4234
+ id: "seqTerm_" + shortid(),
3943
4235
  start: 0,
3944
4236
  end: 0,
3945
4237
  overhangBps: "",
@@ -4073,10 +4365,6 @@ function getDigestFragsForSeqAndEnzymes({
4073
4365
  });
4074
4366
  }
4075
4367
  __name(getDigestFragsForSeqAndEnzymes, "getDigestFragsForSeqAndEnzymes");
4076
- function getDefaultExportFromCjs(x) {
4077
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
4078
- }
4079
- __name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
4080
4368
  var jsondiffpatch_umd$1 = { exports: {} };
4081
4369
  var empty = {};
4082
4370
  var hasRequiredEmpty;
@@ -8675,10 +8963,10 @@ function tidyUpAnnotation(_annotation, {
8675
8963
  annotation.name = "Untitled annotation";
8676
8964
  }
8677
8965
  if (provideNewIdsForAnnotations) {
8678
- annotation.id = nanoid();
8966
+ annotation.id = shortid();
8679
8967
  }
8680
8968
  if (!annotation.id && annotation.id !== 0 && !doNotProvideIdsForAnnotations) {
8681
- annotation.id = nanoid();
8969
+ annotation.id = shortid();
8682
8970
  messages.push(
8683
8971
  "Unable to detect valid ID for annotation, setting ID to " + annotation.id
8684
8972
  );
@@ -8922,7 +9210,7 @@ function tidyUpSequenceData(pSeqData, options = {}) {
8922
9210
  if (item.id || item.id === 0) {
8923
9211
  itemId = item.id;
8924
9212
  } else {
8925
- itemId = nanoid();
9213
+ itemId = shortid();
8926
9214
  if (!doNotProvideIdsForAnnotations) {
8927
9215
  item.id = itemId;
8928
9216
  }
@@ -17492,7 +17780,7 @@ function generateAnnotation(start, end, maxLength) {
17492
17780
  return __spreadProps(__spreadValues({}, range), {
17493
17781
  name: getRandomInt(0, 1e5).toString(),
17494
17782
  type: "misc_feature",
17495
- id: nanoid(),
17783
+ id: shortid(),
17496
17784
  forward: Math.random() > 0.5,
17497
17785
  notes: {}
17498
17786
  });
@@ -17615,7 +17903,7 @@ function getOrfsFromSequence(options) {
17615
17903
  forward,
17616
17904
  annotationTypePlural: "orfs",
17617
17905
  isOrf: true,
17618
- id: nanoid()
17906
+ id: shortid()
17619
17907
  });
17620
17908
  }
17621
17909
  }
package/index.umd.cjs CHANGED
@@ -3669,15 +3669,307 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3669
3669
  const getFeatureTypes = /* @__PURE__ */ __name(({ includeHidden } = {}) => filter(getMergedFeatureMap(), (f) => includeHidden ? true : !f.isHidden).map(
3670
3670
  (f) => f.name
3671
3671
  ), "getFeatureTypes");
3672
- const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
3673
- let nanoid = /* @__PURE__ */ __name((size = 21) => {
3674
- let id = "";
3675
- let bytes = crypto.getRandomValues(new Uint8Array(size |= 0));
3676
- while (size--) {
3677
- id += urlAlphabet[bytes[size] & 63];
3678
- }
3679
- return id;
3680
- }, "nanoid");
3672
+ function getDefaultExportFromCjs(x) {
3673
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
3674
+ }
3675
+ __name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
3676
+ var lib = { exports: {} };
3677
+ var randomFromSeed;
3678
+ var hasRequiredRandomFromSeed;
3679
+ function requireRandomFromSeed() {
3680
+ if (hasRequiredRandomFromSeed) return randomFromSeed;
3681
+ hasRequiredRandomFromSeed = 1;
3682
+ var seed = 1;
3683
+ function getNextValue() {
3684
+ seed = (seed * 9301 + 49297) % 233280;
3685
+ return seed / 233280;
3686
+ }
3687
+ __name(getNextValue, "getNextValue");
3688
+ function setSeed(_seed_) {
3689
+ seed = _seed_;
3690
+ }
3691
+ __name(setSeed, "setSeed");
3692
+ randomFromSeed = {
3693
+ nextValue: getNextValue,
3694
+ seed: setSeed
3695
+ };
3696
+ return randomFromSeed;
3697
+ }
3698
+ __name(requireRandomFromSeed, "requireRandomFromSeed");
3699
+ var alphabet_1;
3700
+ var hasRequiredAlphabet;
3701
+ function requireAlphabet() {
3702
+ if (hasRequiredAlphabet) return alphabet_1;
3703
+ hasRequiredAlphabet = 1;
3704
+ var randomFromSeed2 = requireRandomFromSeed();
3705
+ var ORIGINAL = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
3706
+ var alphabet;
3707
+ var previousSeed;
3708
+ var shuffled;
3709
+ function reset() {
3710
+ shuffled = false;
3711
+ }
3712
+ __name(reset, "reset");
3713
+ function setCharacters(_alphabet_) {
3714
+ if (!_alphabet_) {
3715
+ if (alphabet !== ORIGINAL) {
3716
+ alphabet = ORIGINAL;
3717
+ reset();
3718
+ }
3719
+ return;
3720
+ }
3721
+ if (_alphabet_ === alphabet) {
3722
+ return;
3723
+ }
3724
+ if (_alphabet_.length !== ORIGINAL.length) {
3725
+ throw new Error("Custom alphabet for shortid must be " + ORIGINAL.length + " unique characters. You submitted " + _alphabet_.length + " characters: " + _alphabet_);
3726
+ }
3727
+ var unique = _alphabet_.split("").filter(function(item, ind, arr) {
3728
+ return ind !== arr.lastIndexOf(item);
3729
+ });
3730
+ if (unique.length) {
3731
+ throw new Error("Custom alphabet for shortid must be " + ORIGINAL.length + " unique characters. These characters were not unique: " + unique.join(", "));
3732
+ }
3733
+ alphabet = _alphabet_;
3734
+ reset();
3735
+ }
3736
+ __name(setCharacters, "setCharacters");
3737
+ function characters(_alphabet_) {
3738
+ setCharacters(_alphabet_);
3739
+ return alphabet;
3740
+ }
3741
+ __name(characters, "characters");
3742
+ function setSeed(seed) {
3743
+ randomFromSeed2.seed(seed);
3744
+ if (previousSeed !== seed) {
3745
+ reset();
3746
+ previousSeed = seed;
3747
+ }
3748
+ }
3749
+ __name(setSeed, "setSeed");
3750
+ function shuffle() {
3751
+ if (!alphabet) {
3752
+ setCharacters(ORIGINAL);
3753
+ }
3754
+ var sourceArray = alphabet.split("");
3755
+ var targetArray = [];
3756
+ var r = randomFromSeed2.nextValue();
3757
+ var characterIndex;
3758
+ while (sourceArray.length > 0) {
3759
+ r = randomFromSeed2.nextValue();
3760
+ characterIndex = Math.floor(r * sourceArray.length);
3761
+ targetArray.push(sourceArray.splice(characterIndex, 1)[0]);
3762
+ }
3763
+ return targetArray.join("");
3764
+ }
3765
+ __name(shuffle, "shuffle");
3766
+ function getShuffled() {
3767
+ if (shuffled) {
3768
+ return shuffled;
3769
+ }
3770
+ shuffled = shuffle();
3771
+ return shuffled;
3772
+ }
3773
+ __name(getShuffled, "getShuffled");
3774
+ function lookup(index) {
3775
+ var alphabetShuffled = getShuffled();
3776
+ return alphabetShuffled[index];
3777
+ }
3778
+ __name(lookup, "lookup");
3779
+ function get2() {
3780
+ return alphabet || ORIGINAL;
3781
+ }
3782
+ __name(get2, "get");
3783
+ alphabet_1 = {
3784
+ get: get2,
3785
+ characters,
3786
+ seed: setSeed,
3787
+ lookup,
3788
+ shuffled: getShuffled
3789
+ };
3790
+ return alphabet_1;
3791
+ }
3792
+ __name(requireAlphabet, "requireAlphabet");
3793
+ var randomByteBrowser;
3794
+ var hasRequiredRandomByteBrowser;
3795
+ function requireRandomByteBrowser() {
3796
+ if (hasRequiredRandomByteBrowser) return randomByteBrowser;
3797
+ hasRequiredRandomByteBrowser = 1;
3798
+ var crypto = typeof window === "object" && (window.crypto || window.msCrypto);
3799
+ var randomByte;
3800
+ if (!crypto || !crypto.getRandomValues) {
3801
+ randomByte = /* @__PURE__ */ __name(function(size) {
3802
+ var bytes = [];
3803
+ for (var i = 0; i < size; i++) {
3804
+ bytes.push(Math.floor(Math.random() * 256));
3805
+ }
3806
+ return bytes;
3807
+ }, "randomByte");
3808
+ } else {
3809
+ randomByte = /* @__PURE__ */ __name(function(size) {
3810
+ return crypto.getRandomValues(new Uint8Array(size));
3811
+ }, "randomByte");
3812
+ }
3813
+ randomByteBrowser = randomByte;
3814
+ return randomByteBrowser;
3815
+ }
3816
+ __name(requireRandomByteBrowser, "requireRandomByteBrowser");
3817
+ var format_browser;
3818
+ var hasRequiredFormat_browser;
3819
+ function requireFormat_browser() {
3820
+ if (hasRequiredFormat_browser) return format_browser;
3821
+ hasRequiredFormat_browser = 1;
3822
+ format_browser = /* @__PURE__ */ __name(function(random, alphabet, size) {
3823
+ var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1;
3824
+ var step = -~(1.6 * mask * size / alphabet.length);
3825
+ var id = "";
3826
+ while (true) {
3827
+ var bytes = random(step);
3828
+ var i = step;
3829
+ while (i--) {
3830
+ id += alphabet[bytes[i] & mask] || "";
3831
+ if (id.length === +size) return id;
3832
+ }
3833
+ }
3834
+ }, "format_browser");
3835
+ return format_browser;
3836
+ }
3837
+ __name(requireFormat_browser, "requireFormat_browser");
3838
+ var generate_1;
3839
+ var hasRequiredGenerate;
3840
+ function requireGenerate() {
3841
+ if (hasRequiredGenerate) return generate_1;
3842
+ hasRequiredGenerate = 1;
3843
+ var alphabet = requireAlphabet();
3844
+ var random = requireRandomByteBrowser();
3845
+ var format = /* @__PURE__ */ requireFormat_browser();
3846
+ function generate(number) {
3847
+ var loopCounter = 0;
3848
+ var done;
3849
+ var str = "";
3850
+ while (!done) {
3851
+ str = str + format(random, alphabet.get(), 1);
3852
+ done = number < Math.pow(16, loopCounter + 1);
3853
+ loopCounter++;
3854
+ }
3855
+ return str;
3856
+ }
3857
+ __name(generate, "generate");
3858
+ generate_1 = generate;
3859
+ return generate_1;
3860
+ }
3861
+ __name(requireGenerate, "requireGenerate");
3862
+ var build_1;
3863
+ var hasRequiredBuild;
3864
+ function requireBuild() {
3865
+ if (hasRequiredBuild) return build_1;
3866
+ hasRequiredBuild = 1;
3867
+ var generate = requireGenerate();
3868
+ requireAlphabet();
3869
+ var REDUCE_TIME = 1567752802062;
3870
+ var version = 7;
3871
+ var counter;
3872
+ var previousSeconds;
3873
+ function build(clusterWorkerId) {
3874
+ var str = "";
3875
+ var seconds = Math.floor((Date.now() - REDUCE_TIME) * 1e-3);
3876
+ if (seconds === previousSeconds) {
3877
+ counter++;
3878
+ } else {
3879
+ counter = 0;
3880
+ previousSeconds = seconds;
3881
+ }
3882
+ str = str + generate(version);
3883
+ str = str + generate(clusterWorkerId);
3884
+ if (counter > 0) {
3885
+ str = str + generate(counter);
3886
+ }
3887
+ str = str + generate(seconds);
3888
+ return str;
3889
+ }
3890
+ __name(build, "build");
3891
+ build_1 = build;
3892
+ return build_1;
3893
+ }
3894
+ __name(requireBuild, "requireBuild");
3895
+ var isValid;
3896
+ var hasRequiredIsValid;
3897
+ function requireIsValid() {
3898
+ if (hasRequiredIsValid) return isValid;
3899
+ hasRequiredIsValid = 1;
3900
+ var alphabet = requireAlphabet();
3901
+ function isShortId(id) {
3902
+ if (!id || typeof id !== "string" || id.length < 6) {
3903
+ return false;
3904
+ }
3905
+ var nonAlphabetic = new RegExp("[^" + alphabet.get().replace(/[|\\{}()[\]^$+*?.-]/g, "\\$&") + "]");
3906
+ return !nonAlphabetic.test(id);
3907
+ }
3908
+ __name(isShortId, "isShortId");
3909
+ isValid = isShortId;
3910
+ return isValid;
3911
+ }
3912
+ __name(requireIsValid, "requireIsValid");
3913
+ var clusterWorkerIdBrowser;
3914
+ var hasRequiredClusterWorkerIdBrowser;
3915
+ function requireClusterWorkerIdBrowser() {
3916
+ if (hasRequiredClusterWorkerIdBrowser) return clusterWorkerIdBrowser;
3917
+ hasRequiredClusterWorkerIdBrowser = 1;
3918
+ clusterWorkerIdBrowser = 0;
3919
+ return clusterWorkerIdBrowser;
3920
+ }
3921
+ __name(requireClusterWorkerIdBrowser, "requireClusterWorkerIdBrowser");
3922
+ var hasRequiredLib;
3923
+ function requireLib() {
3924
+ if (hasRequiredLib) return lib.exports;
3925
+ hasRequiredLib = 1;
3926
+ (function(module2) {
3927
+ var alphabet = requireAlphabet();
3928
+ var build = requireBuild();
3929
+ var isValid2 = requireIsValid();
3930
+ var clusterWorkerId = requireClusterWorkerIdBrowser() || 0;
3931
+ function seed(seedValue) {
3932
+ alphabet.seed(seedValue);
3933
+ return module2.exports;
3934
+ }
3935
+ __name(seed, "seed");
3936
+ function worker(workerId) {
3937
+ clusterWorkerId = workerId;
3938
+ return module2.exports;
3939
+ }
3940
+ __name(worker, "worker");
3941
+ function characters(newCharacters) {
3942
+ if (newCharacters !== void 0) {
3943
+ alphabet.characters(newCharacters);
3944
+ }
3945
+ return alphabet.shuffled();
3946
+ }
3947
+ __name(characters, "characters");
3948
+ function generate() {
3949
+ return build(clusterWorkerId);
3950
+ }
3951
+ __name(generate, "generate");
3952
+ module2.exports = generate;
3953
+ module2.exports.generate = generate;
3954
+ module2.exports.seed = seed;
3955
+ module2.exports.worker = worker;
3956
+ module2.exports.characters = characters;
3957
+ module2.exports.isValid = isValid2;
3958
+ })(lib);
3959
+ return lib.exports;
3960
+ }
3961
+ __name(requireLib, "requireLib");
3962
+ var shortid$1;
3963
+ var hasRequiredShortid;
3964
+ function requireShortid() {
3965
+ if (hasRequiredShortid) return shortid$1;
3966
+ hasRequiredShortid = 1;
3967
+ shortid$1 = requireLib();
3968
+ return shortid$1;
3969
+ }
3970
+ __name(requireShortid, "requireShortid");
3971
+ var shortidExports = requireShortid();
3972
+ const shortid = /* @__PURE__ */ getDefaultExportFromCjs(shortidExports);
3681
3973
  function cutSequenceByRestrictionEnzyme(pSequence, circular, restrictionEnzyme) {
3682
3974
  if (restrictionEnzyme.forwardRegex.length === 0 || restrictionEnzyme.reverseRegex.length === 0) {
3683
3975
  const returnArray = [];
@@ -3885,7 +4177,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3885
4177
  }
3886
4178
  const overhangBps = getSequenceWithinRange(cutRange, originalSequence);
3887
4179
  restrictionCutSite = {
3888
- id: nanoid(),
4180
+ id: shortid(),
3889
4181
  start,
3890
4182
  end,
3891
4183
  topSnipPosition,
@@ -3943,7 +4235,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3943
4235
  });
3944
4236
  if (!circular && cutsites.length) {
3945
4237
  sortedCutsites.push({
3946
- id: "seqTerm_" + nanoid(),
4238
+ id: "seqTerm_" + shortid(),
3947
4239
  start: 0,
3948
4240
  end: 0,
3949
4241
  overhangBps: "",
@@ -4077,10 +4369,6 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
4077
4369
  });
4078
4370
  }
4079
4371
  __name(getDigestFragsForSeqAndEnzymes, "getDigestFragsForSeqAndEnzymes");
4080
- function getDefaultExportFromCjs(x) {
4081
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
4082
- }
4083
- __name(getDefaultExportFromCjs, "getDefaultExportFromCjs");
4084
4372
  var jsondiffpatch_umd$1 = { exports: {} };
4085
4373
  var empty = {};
4086
4374
  var hasRequiredEmpty;
@@ -8679,10 +8967,10 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
8679
8967
  annotation.name = "Untitled annotation";
8680
8968
  }
8681
8969
  if (provideNewIdsForAnnotations) {
8682
- annotation.id = nanoid();
8970
+ annotation.id = shortid();
8683
8971
  }
8684
8972
  if (!annotation.id && annotation.id !== 0 && !doNotProvideIdsForAnnotations) {
8685
- annotation.id = nanoid();
8973
+ annotation.id = shortid();
8686
8974
  messages.push(
8687
8975
  "Unable to detect valid ID for annotation, setting ID to " + annotation.id
8688
8976
  );
@@ -8926,7 +9214,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
8926
9214
  if (item.id || item.id === 0) {
8927
9215
  itemId = item.id;
8928
9216
  } else {
8929
- itemId = nanoid();
9217
+ itemId = shortid();
8930
9218
  if (!doNotProvideIdsForAnnotations) {
8931
9219
  item.id = itemId;
8932
9220
  }
@@ -17496,7 +17784,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
17496
17784
  return __spreadProps(__spreadValues({}, range), {
17497
17785
  name: getRandomInt(0, 1e5).toString(),
17498
17786
  type: "misc_feature",
17499
- id: nanoid(),
17787
+ id: shortid(),
17500
17788
  forward: Math.random() > 0.5,
17501
17789
  notes: {}
17502
17790
  });
@@ -17619,7 +17907,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
17619
17907
  forward,
17620
17908
  annotationTypePlural: "orfs",
17621
17909
  isOrf: true,
17622
- id: nanoid()
17910
+ id: shortid()
17623
17911
  });
17624
17912
  }
17625
17913
  }
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@teselagen/sequence-utils",
3
- "version": "0.3.32-beta.2",
3
+ "version": "0.3.32",
4
4
  "type": "module",
5
5
  "dependencies": {
6
- "@teselagen/range-utils": "0.3.14-beta.1",
7
6
  "escape-string-regexp": "5.0.0",
8
7
  "jsondiffpatch": "0.4.1",
8
+ "string-splice": "^1.3.0",
9
9
  "lodash-es": "^4.17.21",
10
- "nanoid": "^5.1.5",
11
- "string-splice": "^1.3.0"
10
+ "shortid": "2.2.16",
11
+ "@teselagen/range-utils": "0.3.13"
12
12
  },
13
13
  "exports": {
14
14
  ".": {
@@ -16,9 +16,5 @@
16
16
  "require": "./index.cjs"
17
17
  }
18
18
  },
19
- "volta": {
20
- "node": "18.18.0",
21
- "yarn": "1.22.22"
22
- },
23
19
  "license": "MIT"
24
20
  }
@@ -1,4 +1,4 @@
1
- import { nanoid } from "nanoid";
1
+ import shortid from "shortid";
2
2
  import { flatMap, cloneDeep } from "lodash-es";
3
3
  import {
4
4
  normalizePositionByRangeLength,
@@ -27,7 +27,7 @@ function computeDigestFragments({
27
27
  });
28
28
  if (!circular && cutsites.length) {
29
29
  sortedCutsites.push({
30
- id: "seqTerm_" + nanoid(),
30
+ id: "seqTerm_" + shortid(),
31
31
  start: 0,
32
32
  end: 0,
33
33
  overhangBps: "",
@@ -1,5 +1,5 @@
1
1
  import { assign } from "lodash-es";
2
- import { nanoid } from "nanoid";
2
+ import shortid from "shortid";
3
3
  import getReverseComplementSequenceString from "./getReverseComplementSequenceString";
4
4
 
5
5
  import {
@@ -268,7 +268,7 @@ function cutSequence(
268
268
  const overhangBps = getSequenceWithinRange(cutRange, originalSequence);
269
269
 
270
270
  restrictionCutSite = {
271
- id: nanoid(),
271
+ id: shortid(),
272
272
  start,
273
273
  end,
274
274
  topSnipPosition,
@@ -1,5 +1,5 @@
1
1
  import { generateRandomRange } from "@teselagen/range-utils";
2
- import { nanoid } from "nanoid";
2
+ import shortid from "shortid";
3
3
 
4
4
  function generateAnnotations(
5
5
  numberOfAnnotationsToGenerate,
@@ -21,7 +21,7 @@ function generateAnnotation(start, end, maxLength) {
21
21
  ...range,
22
22
  name: getRandomInt(0, 100000).toString(),
23
23
  type: "misc_feature",
24
- id: nanoid(),
24
+ id: shortid(),
25
25
  forward: Math.random() > 0.5,
26
26
  notes: {}
27
27
  };
@@ -1,4 +1,4 @@
1
- import { nanoid } from "nanoid";
1
+ import shortid from "shortid";
2
2
  import getReverseComplementSequenceString from "./getReverseComplementSequenceString";
3
3
 
4
4
  /**
@@ -61,7 +61,7 @@ export default function getOrfsFromSequence(options) {
61
61
  forward: forward,
62
62
  annotationTypePlural: "orfs",
63
63
  isOrf: true,
64
- id: nanoid()
64
+ id: shortid()
65
65
  });
66
66
  }
67
67
  }
@@ -1,6 +1,6 @@
1
1
  import { cloneDeep, get, some } from "lodash-es";
2
2
  import { getFeatureToColorMap, getFeatureTypes } from "./featureTypesAndColors";
3
- import { nanoid } from "nanoid";
3
+ import shortid from "shortid";
4
4
 
5
5
  export default function tidyUpAnnotation(
6
6
  _annotation,
@@ -34,10 +34,10 @@ export default function tidyUpAnnotation(
34
34
  annotation.name = "Untitled annotation";
35
35
  }
36
36
  if (provideNewIdsForAnnotations) {
37
- annotation.id = nanoid();
37
+ annotation.id = shortid();
38
38
  }
39
39
  if (!annotation.id && annotation.id !== 0 && !doNotProvideIdsForAnnotations) {
40
- annotation.id = nanoid();
40
+ annotation.id = shortid();
41
41
  messages.push(
42
42
  "Unable to detect valid ID for annotation, setting ID to " + annotation.id
43
43
  );
@@ -1,5 +1,5 @@
1
1
  // tnrtodo: figure out where to insert this validation exactly..
2
- import { nanoid } from "nanoid";
2
+ import shortid from "shortid";
3
3
 
4
4
  import getAminoAcidDataForEachBaseOfDna from "./getAminoAcidDataForEachBaseOfDna";
5
5
  import { cloneDeep, flatMap } from "lodash-es";
@@ -155,7 +155,7 @@ export default function tidyUpSequenceData(pSeqData, options = {}) {
155
155
  if (item.id || item.id === 0) {
156
156
  itemId = item.id;
157
157
  } else {
158
- itemId = nanoid();
158
+ itemId = shortid();
159
159
  if (!doNotProvideIdsForAnnotations) {
160
160
  item.id = itemId; //assign the newly created id to the item
161
161
  }