• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hildjj / node-inspect-extracted / 9053558361

12 May 2024 06:59PM UTC coverage: 97.922%. Remained the same
9053558361

push

github

hildjj
3.0.2

1812 of 1862 branches covered (97.31%)

Branch coverage included in aggregate %.

3749 of 3817 relevant lines covered (98.22%)

2306.02 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/internal/validators.js
1
'use strict';
44✔
2

44✔
3
const {
44✔
4
  ArrayIsArray,
44✔
5
} = require('../primordials');
44✔
6

44✔
7
const {
44✔
8
  hideStackFrames,
44✔
9
  codes: {
44✔
10
    ERR_INVALID_ARG_TYPE,
44✔
11
  },
44✔
12
} = require('./errors');
44✔
13

44✔
14
const kValidateObjectNone = 0;
44✔
15
const kValidateObjectAllowNullable = 1 << 0;
44✔
16
const kValidateObjectAllowArray = 1 << 1;
44✔
17
const kValidateObjectAllowFunction = 1 << 2;
44✔
18

44✔
19
/**
44✔
20
 * @callback validateObject
44✔
21
 * @param {*} value
44✔
22
 * @param {string} name
44✔
23
 * @param {number} [options]
44✔
24
 */
44✔
25

44✔
26
/** @type {validateObject} */
44✔
27
const validateObject = hideStackFrames(
44✔
28
  (value, name, options = kValidateObjectNone) => {
44✔
29
    if (options === kValidateObjectNone) {
136✔
30
      if (value === null || ArrayIsArray(value)) {
68✔
31
        throw new ERR_INVALID_ARG_TYPE(name, 'Object', value);
12✔
32
      }
12✔
33

56✔
34
      if (typeof value !== 'object') {
68✔
35
        throw new ERR_INVALID_ARG_TYPE(name, 'Object', value);
40✔
36
      }
40✔
37
    } else {
68✔
38
      const throwOnNullable = (kValidateObjectAllowNullable & options) === 0;
68✔
39

68✔
40
      if (throwOnNullable && value === null) {
68✔
41
        throw new ERR_INVALID_ARG_TYPE(name, 'Object', value);
8✔
42
      }
8✔
43

60✔
44
      const throwOnArray = (kValidateObjectAllowArray & options) === 0;
60✔
45

60✔
46
      if (throwOnArray && ArrayIsArray(value)) {
68✔
47
        throw new ERR_INVALID_ARG_TYPE(name, 'Object', value);
4✔
48
      }
4✔
49

56✔
50
      const throwOnFunction = (kValidateObjectAllowFunction & options) === 0;
56✔
51
      const typeofValue = typeof value;
56✔
52

56✔
53
      if (typeofValue !== 'object' && (throwOnFunction || typeofValue !== 'function')) {
68✔
54
        throw new ERR_INVALID_ARG_TYPE(name, 'Object', value);
28✔
55
      }
28✔
56
    }
68✔
57
  });
44✔
58

44✔
59
function validateString(value, name) {
948✔
60
  if (typeof value !== 'string')
948✔
61
    throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
948✔
62
}
948✔
63

44✔
64
module.exports = {
44✔
65
  kValidateObjectNone,
44✔
66
  kValidateObjectAllowNullable,
44✔
67
  kValidateObjectAllowArray,
44✔
68
  kValidateObjectAllowFunction,
44✔
69
  validateObject,
44✔
70
  validateString,
44✔
71
};
44✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc