nmr-processing 9.0.3 → 9.1.0

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.
Files changed (166) hide show
  1. package/lib/assignment/get13CAssignments.js +2 -5
  2. package/lib/assignment/get13CAssignments.js.map +1 -1
  3. package/lib/assignment/get1HAssignments.js +2 -5
  4. package/lib/assignment/get1HAssignments.js.map +1 -1
  5. package/lib/assignment/utils/getAssignment/checkIDs.d.ts +1 -1
  6. package/lib/assignment/utils/getAssignment/checkIDs.js +3 -6
  7. package/lib/assignment/utils/getAssignment/checkIDs.js.map +1 -1
  8. package/lib/peaks/NMRPeak1D.d.ts +1 -0
  9. package/lib/peaks/peakToXY.js +6 -1
  10. package/lib/peaks/peakToXY.js.map +1 -1
  11. package/lib/peaks/peaksFilterImpurities.d.ts +1 -1
  12. package/lib/peaks/peaksFilterImpurities.js.map +1 -1
  13. package/lib/peaks/peaksToRanges.js +3 -0
  14. package/lib/peaks/peaksToRanges.js.map +1 -1
  15. package/lib/peaks/peaksToXY.js +4 -1
  16. package/lib/peaks/peaksToXY.js.map +1 -1
  17. package/lib/peaks/solventSuppression.js +2 -1
  18. package/lib/peaks/solventSuppression.js.map +1 -1
  19. package/lib/peaks/util/addMissingIDs.d.ts +7 -0
  20. package/lib/peaks/util/addMissingIDs.js +16 -0
  21. package/lib/peaks/util/addMissingIDs.js.map +1 -0
  22. package/lib/peaks/util/convertWidth.d.ts +3 -3
  23. package/lib/peaks/util/convertWidth.js +7 -7
  24. package/lib/peaks/util/convertWidth.js.map +1 -1
  25. package/lib/peaks/util/convertWidthToHz.d.ts +2 -2
  26. package/lib/peaks/util/convertWidthToHz.js.map +1 -1
  27. package/lib/peaks/util/convertWidthToPPM.d.ts +1 -1
  28. package/lib/peaks/util/convertWidthToPPM.js.map +1 -1
  29. package/lib/peaks/util/determineRealTop.d.ts +1 -1
  30. package/lib/peaks/util/determineRealTop.js.map +1 -1
  31. package/lib/peaks/util/setIDs.d.ts +5 -0
  32. package/lib/peaks/util/setIDs.js +14 -0
  33. package/lib/peaks/util/setIDs.js.map +1 -0
  34. package/lib/prediction/predictCOSY.d.ts +4 -2
  35. package/lib/prediction/predictCarbon.js +4 -1
  36. package/lib/prediction/predictCarbon.js.map +1 -1
  37. package/lib/prediction/predictHMBC.d.ts +4 -2
  38. package/lib/prediction/predictHSQC.d.ts +4 -2
  39. package/lib/prediction/predictProton.js +2 -0
  40. package/lib/prediction/predictProton.js.map +1 -1
  41. package/lib/prediction/utils/predict2D.d.ts +4 -2
  42. package/lib/prediction/utils/predict2D.js +6 -3
  43. package/lib/prediction/utils/predict2D.js.map +1 -1
  44. package/lib/ranges/markSolventSignal.js +4 -6
  45. package/lib/ranges/markSolventSignal.js.map +1 -1
  46. package/lib/ranges/utils/joinRanges.js +2 -0
  47. package/lib/ranges/utils/joinRanges.js.map +1 -1
  48. package/lib/signals/signalsJoin.js +2 -0
  49. package/lib/signals/signalsJoin.js.map +1 -1
  50. package/lib/signals/signalsToRanges.d.ts +3 -1
  51. package/lib/signals/signalsToRanges.js +2 -0
  52. package/lib/signals/signalsToRanges.js.map +1 -1
  53. package/lib/signals/utils/jAnalyzer.d.ts +1 -0
  54. package/lib/signals/utils/jAnalyzer.js.map +1 -1
  55. package/lib/utilities/clone.d.ts +1 -0
  56. package/lib/utilities/clone.js +9 -0
  57. package/lib/utilities/clone.js.map +1 -0
  58. package/lib/utilities/hasProperty.d.ts +3 -0
  59. package/lib/utilities/hasProperty.js +8 -0
  60. package/lib/utilities/hasProperty.js.map +1 -0
  61. package/lib/xy/xyAutoPeaksPicking.d.ts +4 -2
  62. package/lib/xy/xyAutoPeaksPicking.js +17 -7
  63. package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
  64. package/lib/xy/xyPeaksOptimization.d.ts +3 -1
  65. package/lib/xy/xyPeaksOptimization.js.map +1 -1
  66. package/lib/xyz/NMRSignal2D.d.ts +2 -2
  67. package/lib/xyz/util/formatZone.d.ts +2 -3
  68. package/lib/xyz/util/formatZone.js +2 -0
  69. package/lib/xyz/util/formatZone.js.map +1 -1
  70. package/lib/xyz/xyzAutoZonesPicking.d.ts +7 -1
  71. package/lib/xyz/xyzAutoZonesPicking.js +8 -5
  72. package/lib/xyz/xyzAutoZonesPicking.js.map +1 -1
  73. package/lib/xyz/xyzJResAnalyzer.d.ts +4 -1
  74. package/lib/xyz/xyzJResAnalyzer.js +8 -3
  75. package/lib/xyz/xyzJResAnalyzer.js.map +1 -1
  76. package/lib-esm/assignment/get13CAssignments.js +1 -1
  77. package/lib-esm/assignment/get13CAssignments.js.map +1 -1
  78. package/lib-esm/assignment/get1HAssignments.js +1 -1
  79. package/lib-esm/assignment/get1HAssignments.js.map +1 -1
  80. package/lib-esm/assignment/utils/getAssignment/checkIDs.js +1 -1
  81. package/lib-esm/assignment/utils/getAssignment/checkIDs.js.map +1 -1
  82. package/lib-esm/peaks/peakToXY.js +6 -1
  83. package/lib-esm/peaks/peakToXY.js.map +1 -1
  84. package/lib-esm/peaks/peaksFilterImpurities.js.map +1 -1
  85. package/lib-esm/peaks/peaksToRanges.js +3 -0
  86. package/lib-esm/peaks/peaksToRanges.js.map +1 -1
  87. package/lib-esm/peaks/peaksToXY.js +4 -1
  88. package/lib-esm/peaks/peaksToXY.js.map +1 -1
  89. package/lib-esm/peaks/solventSuppression.js +2 -1
  90. package/lib-esm/peaks/solventSuppression.js.map +1 -1
  91. package/lib-esm/peaks/util/addMissingIDs.js +12 -0
  92. package/lib-esm/peaks/util/addMissingIDs.js.map +1 -0
  93. package/lib-esm/peaks/util/convertWidth.js +7 -7
  94. package/lib-esm/peaks/util/convertWidth.js.map +1 -1
  95. package/lib-esm/peaks/util/convertWidthToHz.js.map +1 -1
  96. package/lib-esm/peaks/util/convertWidthToPPM.js.map +1 -1
  97. package/lib-esm/peaks/util/determineRealTop.js.map +1 -1
  98. package/lib-esm/peaks/util/setIDs.js +10 -0
  99. package/lib-esm/peaks/util/setIDs.js.map +1 -0
  100. package/lib-esm/prediction/predictCarbon.js +4 -1
  101. package/lib-esm/prediction/predictCarbon.js.map +1 -1
  102. package/lib-esm/prediction/predictProton.js +2 -0
  103. package/lib-esm/prediction/predictProton.js.map +1 -1
  104. package/lib-esm/prediction/utils/predict2D.js +6 -3
  105. package/lib-esm/prediction/utils/predict2D.js.map +1 -1
  106. package/lib-esm/ranges/markSolventSignal.js +3 -2
  107. package/lib-esm/ranges/markSolventSignal.js.map +1 -1
  108. package/lib-esm/ranges/utils/joinRanges.js +2 -0
  109. package/lib-esm/ranges/utils/joinRanges.js.map +1 -1
  110. package/lib-esm/signals/signalsJoin.js +2 -0
  111. package/lib-esm/signals/signalsJoin.js.map +1 -1
  112. package/lib-esm/signals/signalsToRanges.js +2 -0
  113. package/lib-esm/signals/signalsToRanges.js.map +1 -1
  114. package/lib-esm/signals/utils/jAnalyzer.js.map +1 -1
  115. package/lib-esm/utilities/clone.js +5 -0
  116. package/lib-esm/utilities/clone.js.map +1 -0
  117. package/lib-esm/utilities/hasProperty.js +4 -0
  118. package/lib-esm/utilities/hasProperty.js.map +1 -0
  119. package/lib-esm/xy/xyAutoPeaksPicking.js +18 -8
  120. package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
  121. package/lib-esm/xy/xyPeaksOptimization.js.map +1 -1
  122. package/lib-esm/xyz/util/formatZone.js +2 -0
  123. package/lib-esm/xyz/util/formatZone.js.map +1 -1
  124. package/lib-esm/xyz/xyzAutoZonesPicking.js +8 -5
  125. package/lib-esm/xyz/xyzAutoZonesPicking.js.map +1 -1
  126. package/lib-esm/xyz/xyzJResAnalyzer.js +8 -3
  127. package/lib-esm/xyz/xyzJResAnalyzer.js.map +1 -1
  128. package/package.json +4 -3
  129. package/src/assignment/get13CAssignments.ts +1 -1
  130. package/src/assignment/get1HAssignments.ts +1 -1
  131. package/src/assignment/utils/getAssignment/checkIDs.ts +2 -1
  132. package/src/ml-matrix-peaks-finder.d.ts +1 -0
  133. package/src/peaks/NMRPeak1D.ts +1 -0
  134. package/src/peaks/peakToXY.ts +12 -1
  135. package/src/peaks/peaksFilterImpurities.ts +4 -4
  136. package/src/peaks/peaksToRanges.ts +3 -0
  137. package/src/peaks/peaksToXY.ts +6 -3
  138. package/src/peaks/solventSuppression.ts +2 -1
  139. package/src/peaks/util/addMissingIDs.ts +17 -0
  140. package/src/peaks/util/convertWidth.ts +16 -11
  141. package/src/peaks/util/convertWidthToHz.ts +5 -2
  142. package/src/peaks/util/convertWidthToPPM.ts +4 -1
  143. package/src/peaks/util/determineRealTop.ts +1 -1
  144. package/src/peaks/util/setIDs.ts +14 -0
  145. package/src/prediction/predictCarbon.ts +4 -1
  146. package/src/prediction/predictProton.ts +2 -0
  147. package/src/prediction/utils/predict2D.ts +6 -3
  148. package/src/ranges/markSolventSignal.ts +4 -2
  149. package/src/ranges/utils/joinRanges.ts +3 -0
  150. package/src/signals/signalsJoin.ts +2 -0
  151. package/src/signals/signalsToRanges.ts +5 -2
  152. package/src/signals/utils/jAnalyzer.ts +1 -0
  153. package/src/utilities/clone.ts +5 -0
  154. package/src/utilities/hasProperty.ts +6 -0
  155. package/src/xy/xyAutoPeaksPicking.ts +34 -14
  156. package/src/xy/xyPeaksOptimization.ts +2 -2
  157. package/src/xyz/NMRSignal2D.ts +2 -2
  158. package/src/xyz/util/formatZone.ts +6 -4
  159. package/src/xyz/xyzAutoZonesPicking.ts +24 -9
  160. package/src/xyz/xyzJResAnalyzer.ts +24 -16
  161. package/lib/assignment/utils/generateID.d.ts +0 -1
  162. package/lib/assignment/utils/generateID.js +0 -13
  163. package/lib/assignment/utils/generateID.js.map +0 -1
  164. package/lib-esm/assignment/utils/generateID.js +0 -10
  165. package/lib-esm/assignment/utils/generateID.js.map +0 -1
  166. package/src/assignment/utils/generateID.ts +0 -11
@@ -8,13 +8,13 @@ export interface Signal2DProjection {
8
8
  atoms?: number[];
9
9
  diaIDs?: string[];
10
10
  }
11
- export interface NMRSignal2D {
11
+ export interface NMRSignal2D<T extends Peak2D = Peak2D> {
12
12
  x: Signal2DProjection;
13
13
  y: Signal2DProjection;
14
14
  j?: {
15
15
  pathLength?: number | FromTo;
16
16
  };
17
17
  id?: string;
18
- peaks?: Peak2D[];
18
+ peaks?: T[];
19
19
  kind?: string;
20
20
  }
@@ -1,8 +1,9 @@
1
- import { NMRSignal2D } from '../NMRSignal2D';
2
- import { NMRZone } from '../NMRZone';
1
+ import { v4 as generateID } from '@lukeed/uuid';
3
2
 
4
- export function formatZones(signals: NMRSignal2D[]) {
5
- let zones: NMRZone[] = [];
3
+ import { NMRSignal2DWithID, NMRZoneWithID } from '../xyzAutoZonesPicking';
4
+
5
+ export function formatZones(signals: NMRSignal2DWithID[]) {
6
+ let zones: NMRZoneWithID[] = [];
6
7
  for (const signal of signals) {
7
8
  let minMax1 = [Number.MAX_VALUE, 0];
8
9
  let minMax2 = [Number.MAX_VALUE, 0];
@@ -21,6 +22,7 @@ export function formatZones(signals: NMRSignal2D[]) {
21
22
  }
22
23
  }
23
24
  zones.push({
25
+ id: generateID(),
24
26
  x: {
25
27
  from: minMax1[0],
26
28
  to: minMax1[1],
@@ -1,15 +1,19 @@
1
+ import { v4 as generateID } from '@lukeed/uuid';
1
2
  import { Matrix } from 'ml-matrix';
2
3
  import * as convolution from 'ml-matrix-convolution';
3
4
  import * as matrixPeakFinders from 'ml-matrix-peaks-finder';
4
5
  import type { Peak2D } from 'ml-matrix-peaks-finder';
5
6
  import simpleClustering from 'ml-simple-clustering';
6
7
 
8
+ import { addMissingIDs } from '../peaks/util/addMissingIDs';
7
9
  import { determineRealTop } from '../peaks/util/determineRealTop';
8
10
  import { getKernel } from '../peaks/util/getKernel';
9
11
  import type { GetKernelOptions } from '../peaks/util/getKernel';
10
12
  import * as PeakOptimizer from '../peaks/util/peakOptimizer';
13
+ import { MakeMandatory } from '../utilities/MakeMandatory';
11
14
 
12
15
  import type { NMRSignal2D } from './NMRSignal2D';
16
+ import { NMRZone } from './NMRZone';
13
17
  import { formatZones } from './util/formatZone';
14
18
 
15
19
  const smallFilter = [
@@ -88,10 +92,16 @@ export interface XYZAutoZonesPickingOptions {
88
92
  kernel?: GetKernelOptions;
89
93
  }
90
94
 
95
+ export type NMRSignal2DWithID<T extends Peak2D = Peak2D> = MakeMandatory<
96
+ NMRSignal2D<T>,
97
+ 'id'
98
+ >;
99
+ export type NMRZoneWithID = MakeMandatory<NMRZone, 'id'>;
100
+
91
101
  export function xyzAutoZonesPicking(
92
102
  spectraData: Data2D,
93
103
  options: XYZAutoZonesPickingOptions,
94
- ) {
104
+ ): NMRZoneWithID[] {
95
105
  let {
96
106
  sizeToPad = 14,
97
107
  realTopDetection = true,
@@ -161,7 +171,7 @@ export function xyzAutoZonesPicking(
161
171
  peaksMC1 = PeakOptimizer.clean(peaksMC1, maxPercentCutOff);
162
172
  }
163
173
 
164
- let signals = createSignals2D(peaksMC1, {
174
+ let signals = createSignals2D(addMissingIDs(peaksMC1), {
165
175
  nRows: nbSubSpectra,
166
176
  nCols: nbPoints,
167
177
  minX: spectraData.minX,
@@ -203,7 +213,11 @@ export interface CreateSignals2DOptions {
203
213
  minX: number;
204
214
  maxX: number;
205
215
  }
206
- const createSignals2D = (peaks: Peak2D[], options: CreateSignals2DOptions) => {
216
+
217
+ function createSignals2D<T extends Peak2D>(
218
+ peaks: T[],
219
+ options: CreateSignals2DOptions,
220
+ ) {
207
221
  let {
208
222
  nCols,
209
223
  nRows,
@@ -267,10 +281,11 @@ const createSignals2D = (peaks: Peak2D[], options: CreateSignals2DOptions) => {
267
281
  }
268
282
  let clusters = simpleClustering(connectivity);
269
283
 
270
- let signals: NMRSignal2D[] = [];
284
+ let signals: NMRSignal2DWithID<T>[] = [];
271
285
  if (clusters) {
272
286
  for (const cluster of clusters) {
273
287
  let signal: any = {
288
+ id: generateID(),
274
289
  x: {
275
290
  delta: 0,
276
291
  nucleus: nucleusX,
@@ -282,7 +297,7 @@ const createSignals2D = (peaks: Peak2D[], options: CreateSignals2DOptions) => {
282
297
  resolution: dy,
283
298
  },
284
299
  };
285
- let peaks2D: Peak2D[] = [];
300
+ let peaks2D: T[] = [];
286
301
  let sumZ = 0;
287
302
 
288
303
  for (let jPeak = 0; jPeak < cluster.length; jPeak++) {
@@ -297,13 +312,13 @@ const createSignals2D = (peaks: Peak2D[], options: CreateSignals2DOptions) => {
297
312
  signal.x.delta /= sumZ;
298
313
  signal.y.delta /= sumZ;
299
314
  signal.peaks = peaks2D;
300
- signals.push(signal as NMRSignal2D);
315
+ signals.push(signal as NMRSignal2DWithID<T>);
301
316
  }
302
317
  }
303
318
  return signals;
304
- };
319
+ }
305
320
 
306
- const padData = (spectraData: Data2D, options: { width: number }) => {
321
+ function padData(spectraData: Data2D, options: { width: number }) {
307
322
  let { minX, maxX, minY, maxY } = spectraData;
308
323
 
309
324
  const width = options.width;
@@ -335,4 +350,4 @@ const padData = (spectraData: Data2D, options: { width: number }) => {
335
350
  minY: minY - yOffset * yInterval,
336
351
  maxY: maxY + yOffset * yInterval,
337
352
  };
338
- };
353
+ }
@@ -1,6 +1,8 @@
1
+ import { v4 as generateID } from '@lukeed/uuid';
1
2
  import type { Peak2D } from 'ml-matrix-peaks-finder';
2
3
  import simpleClustering from 'ml-simple-clustering';
3
4
 
5
+ import { addMissingIDs } from '../peaks/util/addMissingIDs';
4
6
  import type { JAxisKeys } from '../signals/utils/jAnalyzer';
5
7
  import jAnalyzer from '../signals/utils/jAnalyzer';
6
8
  import type { MakeMandatory } from '../utilities/MakeMandatory';
@@ -8,6 +10,8 @@ import type { MakeMandatory } from '../utilities/MakeMandatory';
8
10
  import type { NMRSignal2D } from './NMRSignal2D';
9
11
  import { formatZones } from './util/formatZone';
10
12
 
13
+ const { parse, stringify } = JSON;
14
+
11
15
  interface CompilePatternOptions {
12
16
  observedFrequencies?: number[] | Float64Array;
13
17
  tolerances?: number[] | Float64Array;
@@ -33,6 +37,18 @@ interface XYZJResAnalyzerOptions extends CompilePatternOptions {
33
37
  getZones?: boolean;
34
38
  }
35
39
 
40
+ interface Peak2DInternalCompiler extends Peak2D {
41
+ width?: number;
42
+ }
43
+ type Signal2DInternalCompiler = Omit<NMRSignal2D, 'peaks'> & {
44
+ peaks: Peak2DInternalCompiler[];
45
+ integralData: { from: number; to: number };
46
+ nbPeaks: number;
47
+ multiplicity: string;
48
+ pattern: string;
49
+ observe: number;
50
+ };
51
+
36
52
  type CompilePatternOptionsMandatory = MakeMandatory<
37
53
  CompilePatternOptions,
38
54
  'observedFrequencies' | 'tolerances' | 'nuclei' | 'jAnalyzer'
@@ -53,7 +69,7 @@ export function xyzJResAnalyzer(
53
69
  jAxisKey: { jAxis: 'y', intensity: 'z' },
54
70
  },
55
71
  } = options;
56
- let temporalSignals = compilePattern([...signals], {
72
+ let temporalSignals = compilePattern(signals, {
57
73
  observedFrequencies,
58
74
  tolerances,
59
75
  nuclei,
@@ -66,6 +82,9 @@ export function xyzJResAnalyzer(
66
82
  if (Math.abs(delta - reference) > referenceMaxShiftError) continue;
67
83
  signals2D.push(tempSignal);
68
84
  }
85
+
86
+ signals2D = addMissingIDs(signals2D);
87
+
69
88
  return getZones ? formatZones(signals2D) : signals2D;
70
89
  }
71
90
 
@@ -89,7 +108,7 @@ function compilePattern(
89
108
  };
90
109
 
91
110
  const defaultWidth = 0.02 * observedFrequencies[0];
92
- const newSignals = JSON.parse(JSON.stringify(signals));
111
+ const newSignals = parse(stringify(signals));
93
112
  //adapt to 1D jAnalyzer
94
113
  for (const signal of newSignals) {
95
114
  let peaks = signal.peaks;
@@ -146,22 +165,10 @@ function compilePattern(
146
165
  return signals;
147
166
  }
148
167
 
149
- interface Peak2DHack extends Peak2D {
150
- width?: number;
151
- }
152
- type Signal2DHack = Omit<NMRSignal2D, 'peaks'> & {
153
- peaks: Peak2DHack[];
154
- integralData: { from: number; to: number };
155
- nbPeaks: number;
156
- multiplicity: string;
157
- pattern: string;
158
- observe: number;
159
- };
160
-
161
168
  function createSignals2D(peaksInput: Peak2D[], options: any) {
162
169
  let { observedFrequencies, tolerances, nuclei, dx, dy } = options;
163
170
 
164
- const peaks: Peak2DHack[] = JSON.parse(JSON.stringify(peaksInput));
171
+ const peaks: Peak2DInternalCompiler[] = parse(stringify(peaksInput));
165
172
 
166
173
  let [nucleusX, nucleusY] = nuclei;
167
174
  let [toleranceX, toleranceY] = tolerances;
@@ -189,6 +196,7 @@ function createSignals2D(peaksInput: Peak2D[], options: any) {
189
196
  if (clusters) {
190
197
  for (let cluster of clusters) {
191
198
  let signal: any = {
199
+ id: generateID(),
192
200
  nucleusX,
193
201
  nucleusY,
194
202
  integralData: {
@@ -239,7 +247,7 @@ function createSignals2D(peaksInput: Peak2D[], options: any) {
239
247
  signal.shiftY /= sumZ;
240
248
  signal.delta1 = signal.shiftY;
241
249
  signal.peaks = peaks2D;
242
- signals.push(signal as Signal2DHack);
250
+ signals.push(signal as Signal2DInternalCompiler);
243
251
  }
244
252
  }
245
253
  return signals;
@@ -1 +0,0 @@
1
- export default function generateID(): string;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const BASE62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
4
- const LENGTH = 8;
5
- function generateID() {
6
- let id = '';
7
- for (let i = 0; i < LENGTH; i++) {
8
- id += BASE62.charAt(Math.floor(Math.random() * 62));
9
- }
10
- return id;
11
- }
12
- exports.default = generateID;
13
- //# sourceMappingURL=generateID.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateID.js","sourceRoot":"","sources":["../../../src/assignment/utils/generateID.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,GAAG,gEAAgE,CAAC;AAEhF,MAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,SAAwB,UAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;KACrD;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAND,6BAMC"}
@@ -1,10 +0,0 @@
1
- const BASE62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
2
- const LENGTH = 8;
3
- export default function generateID() {
4
- let id = '';
5
- for (let i = 0; i < LENGTH; i++) {
6
- id += BASE62.charAt(Math.floor(Math.random() * 62));
7
- }
8
- return id;
9
- }
10
- //# sourceMappingURL=generateID.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateID.js","sourceRoot":"","sources":["../../../src/assignment/utils/generateID.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,gEAAgE,CAAC;AAEhF,MAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,UAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;KACrD;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1,11 +0,0 @@
1
- const BASE62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
2
-
3
- const LENGTH = 8;
4
-
5
- export default function generateID() {
6
- let id = '';
7
- for (let i = 0; i < LENGTH; i++) {
8
- id += BASE62.charAt(Math.floor(Math.random() * 62));
9
- }
10
- return id;
11
- }