mechanical-tolerance-calculator 1.0.9 → 1.1.1

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 (2) hide show
  1. package/index.js +28 -13
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -185,7 +185,8 @@ function calculateUncomputedBounds(nominal, spec) {
185
185
  }
186
186
 
187
187
  function checkMeetsSpecification(measurement, bounds) {
188
- const measure = parseStringFloat(measurement);
188
+ const validatedMeasurement = validateMeasurement(measurement);
189
+ const measure = parseStringFloat(validatedMeasurement);
189
190
  const upper = parseStringFloat(bounds.upperBound);
190
191
  const lower = parseStringFloat(bounds.lowerBound);
191
192
 
@@ -202,8 +203,12 @@ function processMeasurement(materialType, measurement, tolerances) {
202
203
  };
203
204
  }
204
205
 
206
+ const validatedMeasurement = validateMeasurement(measurement);
205
207
  // Calculate nominal diameter
206
- const nominal = parseNominalFromMeasurement(measurement, materialType);
208
+ const nominal = parseNominalFromMeasurement(
209
+ validatedMeasurement,
210
+ materialType
211
+ );
207
212
 
208
213
  // Find matching specification
209
214
  const matchedSpec = findMatchingSpec(
@@ -260,9 +265,10 @@ function processMeasurement(materialType, measurement, tolerances) {
260
265
  }
261
266
 
262
267
  function processOneMeasurement(materialType, measurement, tolerances) {
268
+ const validatedMeasurement = validateMeasurement(measurement);
263
269
  const processedMeasurement = processMeasurement(
264
270
  materialType,
265
- measurement,
271
+ validatedMeasurement,
266
272
  tolerances
267
273
  );
268
274
  return {
@@ -278,7 +284,8 @@ function checkOneMeasurementFor(materialType, measurement) {
278
284
  return camcoStandardTolerances;
279
285
  }
280
286
 
281
- if (typeof measurement !== "number" || isNaN(measurement)) {
287
+ const validatedMeasurement = validateMeasurement(measurement);
288
+ if (typeof measurement !== "number" || isNaN(validatedMeasurement)) {
282
289
  return {
283
290
  error: true,
284
291
  message: "Invalid measurement value",
@@ -287,7 +294,7 @@ function checkOneMeasurementFor(materialType, measurement) {
287
294
 
288
295
  return processOneMeasurement(
289
296
  camcoStandardTolerances.type,
290
- measurement,
297
+ validatedMeasurement,
291
298
  camcoStandardTolerances
292
299
  );
293
300
  }
@@ -346,9 +353,10 @@ function parseStringFloat(value) {
346
353
  return isNaN(parsed) ? 0 : parsed;
347
354
  }
348
355
  function processIndividualMeasurement(materialType, measurement, tolerances) {
356
+ const validatedMeasurement = validateMeasurement(measurement);
349
357
  const processedMeasurement = processMeasurement(
350
358
  materialType,
351
- measurement,
359
+ validatedMeasurement,
352
360
  tolerances
353
361
  );
354
362
  return processedMeasurement;
@@ -444,27 +452,32 @@ function checkMultipleMeasurementsFor(materialType, measurements) {
444
452
  }
445
453
 
446
454
  function generateReasonForSpecs(spec, measurement, base1, base2) {
455
+ const validatedMeasurement = validateMeasurement(measurement);
447
456
  if (spec === true) {
448
457
  return `${parseToFixedThreeString(
449
- measurement
458
+ validatedMeasurement
450
459
  )} falls between ${base1} and ${base2}`;
451
460
  }
452
461
  return `${parseToFixedThreeString(
453
- measurement
462
+ validatedMeasurement
454
463
  )} doesn't fall between ${base1} and ${base2}`;
455
464
  }
456
465
 
457
466
  function generateReasonForTolerances(spec, measurement1, measurement2, base) {
467
+ const validatedMeasurement1 = validateMeasurement(measurement1);
468
+ const validatedMeasurement2 = validateMeasurement(measurement2);
458
469
  if (spec === true) {
459
470
  return `The difference between ${parseToFixedThreeString(
460
- measurement1
471
+ validatedMeasurement1
461
472
  )} and ${parseToFixedThreeString(
462
- measurement2
473
+ validatedMeasurement2
463
474
  )} is less than or equal to ${base}.`;
464
475
  }
465
476
  return `The difference between ${parseToFixedThreeString(
466
- measurement1
467
- )} and ${parseToFixedThreeString(measurement2)} is greater than ${base}.`;
477
+ validatedMeasurement1
478
+ )} and ${parseToFixedThreeString(
479
+ validatedMeasurement2
480
+ )} is greater than ${base}.`;
468
481
  }
469
482
 
470
483
  function validateMeasurements(measurements) {
@@ -480,7 +493,9 @@ function validateMeasurements(measurements) {
480
493
  };
481
494
  }
482
495
 
483
- measurements.forEach((a) => validateMeasurement(a));
496
+ measurements.forEach((a) => {
497
+ return validateMeasurement(a);
498
+ });
484
499
  return null;
485
500
  }
486
501
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mechanical-tolerance-calculator",
3
- "version": "1.0.9",
3
+ "version": "1.1.1",
4
4
  "description": "Calculates international standard specification and tolerances for bores, round bars and metals of mechanical units. For examples; H7, H8, H9, h8, h9 specifications and IT5/IT6 tolerances.",
5
5
  "main": "index.js",
6
6
  "scripts": {