1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
8 |
|
9 | var _index = require("./index");
|
10 |
|
11 | var _index2 = _interopRequireDefault(_index);
|
12 |
|
13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14 |
|
15 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
16 |
|
17 | var NumberInsight = function () {
|
18 | /**
|
19 | * @param {Credentials} credentials
|
20 | * credentials to be used when interacting with the API.
|
21 | * @param {Object} options
|
22 | * Addition NumberInsight options.
|
23 | */
|
24 | function NumberInsight(credentials) {
|
25 | var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
26 |
|
27 | _classCallCheck(this, NumberInsight);
|
28 |
|
29 | this.creds = credentials;
|
30 | this.options = options;
|
31 |
|
32 | // Used to facilitate testing of the call to the underlying object
|
33 | this._nexmo = this.options.nexmoOverride || _index2.default;
|
34 |
|
35 | this._nexmo.initialize(this.creds.apiKey, this.creds.apiSecret, this.options);
|
36 | }
|
37 |
|
38 | /**
|
39 | * Get insight on the provided number.
|
40 | *
|
41 | * @param {Object} options - The options for Number Insight
|
42 | * @param {string} options.level - the level of insight: 'basic', 'standard'
|
43 | * or 'advanced'.
|
44 | * If no `level` value is provided, or an unrecognised value
|
45 | * is used, 'basic' level insight will be used.
|
46 | * @param {string} options.number - the phone number to retrieve insight on
|
47 | * @param {string} options.country - 'basic' and 'standard' only.
|
48 | * An ISO 3166 Alpha 2 country code
|
49 | * https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
|
50 | * @param {string} options. ip - 'advanced' only.
|
51 | * The IP address in IPv4 notation of the endpoint the
|
52 | * user connected from.
|
53 | * @param {Array} options.features - 'advanced' only.
|
54 | * An Array detailing the information you want for this phone
|
55 | * number. Possible Array elements are:
|
56 | * - type: number is one of the following: mobile, landline,
|
57 | * landline_premium or unknown phone number.
|
58 | * - valid: number exists.
|
59 | * - reachable: is number available now.
|
60 | * - carrier: the MCCMNC for the carrier number is registered
|
61 | * with. This is either: <ISO country code>-FIXED
|
62 | * or <ISO country code>-PREMIUM.
|
63 | * - ported: if the user has changed carrier for number.
|
64 | * - roaming: the subscriber is outside their home network
|
65 | *
|
66 | * @param {string} options.callback - 'advanced' only.
|
67 | * The callback to be called when the API call completes.
|
68 | * @param {Number} options.callback_timeout - 'advanced' only.
|
69 | * The maximum wait until the Number Insight Return Parameters
|
70 | * are sent to callback. This is a value between 1000 - 30000ms
|
71 | * inclusive. The default is 30000 ms.
|
72 | * @param {string} options.callback_method - 'advanced' only.
|
73 | * The HTTP method used to send the Number Insight Return
|
74 | * Parameters to callback. Must be GET or POST. The default
|
75 | * value is GET.
|
76 | * @param {string} options.client_ref - 'advanced' only.
|
77 | * A 40 character reference string returned in the Number
|
78 | * Insight Return Parameters. This may be useful for your
|
79 | * internal reports.
|
80 | * @param {string} options['include-intermediate-callbacks'] - 'advanced' only.
|
81 | * Tells the Nexmo platform to make callbacks as soon as an
|
82 | * individual piece of information is retrieved.
|
83 | */
|
84 |
|
85 |
|
86 | _createClass(NumberInsight, [{
|
87 | key: "get",
|
88 | value: function get(options, callback) {
|
89 | var level = options.level;
|
90 | // remove 'level' as it's a library-only parameter
|
91 | delete options.level;
|
92 |
|
93 | if (level === "advanced" || level === "advancedAsync") {
|
94 | if (level === "advanced") {
|
95 | console.warn('DEPRECATION WARNING: Number Insight Advanced with a level of "advanced" will be synchronous in v2.0+. Consider using the level "advancedAsync" to keep using the async option.');
|
96 | }
|
97 | this._nexmo.numberInsightAdvancedAsync.apply(this._nexmo, arguments);
|
98 | } else if (level === "advancedSync") {
|
99 | this._nexmo.numberInsightAdvanced.apply(this._nexmo, arguments);
|
100 | } else if (level === "standard") {
|
101 | this._nexmo.numberInsightStandard.apply(this._nexmo, arguments);
|
102 | } else {
|
103 | this._nexmo.numberInsightBasic.apply(this._nexmo, arguments);
|
104 | }
|
105 | }
|
106 | }]);
|
107 |
|
108 | return NumberInsight;
|
109 | }();
|
110 |
|
111 | exports.default = NumberInsight;
|
112 | module.exports = exports["default"];
|
113 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9OdW1iZXJJbnNpZ2h0LmpzIl0sIm5hbWVzIjpbIk51bWJlckluc2lnaHQiLCJjcmVkZW50aWFscyIsIm9wdGlvbnMiLCJjcmVkcyIsIl9uZXhtbyIsIm5leG1vT3ZlcnJpZGUiLCJpbml0aWFsaXplIiwiYXBpS2V5IiwiYXBpU2VjcmV0IiwiY2FsbGJhY2siLCJsZXZlbCIsImNvbnNvbGUiLCJ3YXJuIiwibnVtYmVySW5zaWdodEFkdmFuY2VkQXN5bmMiLCJhcHBseSIsImFyZ3VtZW50cyIsIm51bWJlckluc2lnaHRBZHZhbmNlZCIsIm51bWJlckluc2lnaHRTdGFuZGFyZCIsIm51bWJlckluc2lnaHRCYXNpYyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0FBRUE7Ozs7Ozs7O0lBRU1BLGE7QUFDSjs7Ozs7O0FBTUEseUJBQVlDLFdBQVosRUFBdUM7QUFBQSxRQUFkQyxPQUFjLHVFQUFKLEVBQUk7O0FBQUE7O0FBQ3JDLFNBQUtDLEtBQUwsR0FBYUYsV0FBYjtBQUNBLFNBQUtDLE9BQUwsR0FBZUEsT0FBZjs7QUFFQTtBQUNBLFNBQUtFLE1BQUwsR0FBYyxLQUFLRixPQUFMLENBQWFHLGFBQWIsbUJBQWQ7O0FBRUEsU0FBS0QsTUFBTCxDQUFZRSxVQUFaLENBQ0UsS0FBS0gsS0FBTCxDQUFXSSxNQURiLEVBRUUsS0FBS0osS0FBTCxDQUFXSyxTQUZiLEVBR0UsS0FBS04sT0FIUDtBQUtEOztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt3QkE4Q0lBLE8sRUFBU08sUSxFQUFVO0FBQ3JCLFVBQUlDLFFBQVFSLFFBQVFRLEtBQXBCO0FBQ0E7QUFDQSxhQUFPUixRQUFRUSxLQUFmOztBQUVBLFVBQUlBLFVBQVUsVUFBVixJQUF3QkEsVUFBVSxlQUF0QyxFQUF1RDtBQUNyRCxZQUFJQSxVQUFVLFVBQWQsRUFBMEI7QUFDeEJDLGtCQUFRQyxJQUFSLENBQ0UsZ0xBREY7QUFHRDtBQUNELGFBQUtSLE1BQUwsQ0FBWVMsMEJBQVosQ0FBdUNDLEtBQXZDLENBQTZDLEtBQUtWLE1BQWxELEVBQTBEVyxTQUExRDtBQUNELE9BUEQsTUFPTyxJQUFJTCxVQUFVLGNBQWQsRUFBOEI7QUFDbkMsYUFBS04sTUFBTCxDQUFZWSxxQkFBWixDQUFrQ0YsS0FBbEMsQ0FBd0MsS0FBS1YsTUFBN0MsRUFBcURXLFNBQXJEO0FBQ0QsT0FGTSxNQUVBLElBQUlMLFVBQVUsVUFBZCxFQUEwQjtBQUMvQixhQUFLTixNQUFMLENBQVlhLHFCQUFaLENBQWtDSCxLQUFsQyxDQUF3QyxLQUFLVixNQUE3QyxFQUFxRFcsU0FBckQ7QUFDRCxPQUZNLE1BRUE7QUFDTCxhQUFLWCxNQUFMLENBQVljLGtCQUFaLENBQStCSixLQUEvQixDQUFxQyxLQUFLVixNQUExQyxFQUFrRFcsU0FBbEQ7QUFDRDtBQUNGOzs7Ozs7a0JBR1lmLGEiLCJmaWxlIjoiTnVtYmVySW5zaWdodC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbmV4bW8gZnJvbSBcIi4vaW5kZXhcIjtcblxuY2xhc3MgTnVtYmVySW5zaWdodCB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0NyZWRlbnRpYWxzfSBjcmVkZW50aWFsc1xuICAgKiAgICBjcmVkZW50aWFscyB0byBiZSB1c2VkIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQVBJLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICAgKiAgICBBZGRpdGlvbiBOdW1iZXJJbnNpZ2h0IG9wdGlvbnMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjcmVkZW50aWFscywgb3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5jcmVkcyA9IGNyZWRlbnRpYWxzO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAvLyBVc2VkIHRvIGZhY2lsaXRhdGUgdGVzdGluZyBvZiB0aGUgY2FsbCB0byB0aGUgdW5kZXJseWluZyBvYmplY3RcbiAgICB0aGlzLl9uZXhtbyA9IHRoaXMub3B0aW9ucy5uZXhtb092ZXJyaWRlIHx8IG5leG1vO1xuXG4gICAgdGhpcy5fbmV4bW8uaW5pdGlhbGl6ZShcbiAgICAgIHRoaXMuY3JlZHMuYXBpS2V5LFxuICAgICAgdGhpcy5jcmVkcy5hcGlTZWNyZXQsXG4gICAgICB0aGlzLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbnNpZ2h0IG9uIHRoZSBwcm92aWRlZCBudW1iZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIE51bWJlciBJbnNpZ2h0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmxldmVsIC0gdGhlIGxldmVsIG9mIGluc2lnaHQ6ICdiYXNpYycsICdzdGFuZGFyZCdcbiAgICogICAgICAgICAgICAgICAgIG9yICdhZHZhbmNlZCcuXG4gICAqICAgICAgICAgICAgICAgICBJZiBubyBgbGV2ZWxgIHZhbHVlIGlzIHByb3ZpZGVkLCBvciBhbiB1bnJlY29nbmlzZWQgdmFsdWVcbiAgICogICAgICAgICAgICAgICAgIGlzIHVzZWQsICdiYXNpYycgbGV2ZWwgaW5zaWdodCB3aWxsIGJlIHVzZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlciAtIHRoZSBwaG9uZSBudW1iZXIgdG8gcmV0cmlldmUgaW5zaWdodCBvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jb3VudHJ5IC0gJ2Jhc2ljJyBhbmQgJ3N0YW5kYXJkJyBvbmx5LlxuICAgKiAgICAgICAgICAgICAgICAgQW4gSVNPIDMxNjYgQWxwaGEgMiBjb3VudHJ5IGNvZGVcbiAgICogICAgICAgICAgICAgICAgIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT18zMTY2LTFfYWxwaGEtMlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy4gaXAgLSAnYWR2YW5jZWQnIG9ubHkuXG4gICAqICAgICAgICAgICAgICAgICBUaGUgSVAgYWRkcmVzcyBpbiBJUHY0IG5vdGF0aW9uIG9mIHRoZSBlbmRwb2ludCB0aGVcbiAgICogICAgICAgICAgICAgICAgIHVzZXIgY29ubmVjdGVkIGZyb20uXG4gICAqIEBwYXJhbSB7QXJyYXl9ICBvcHRpb25zLmZlYXR1cmVzIC0gJ2FkdmFuY2VkJyBvbmx5LlxuICAgKiAgICAgICAgICAgICAgICAgQW4gQXJyYXkgZGV0YWlsaW5nIHRoZSBpbmZvcm1hdGlvbiB5b3Ugd2FudCBmb3IgdGhpcyBwaG9uZVxuICAgKiAgICAgICAgICAgICAgICAgbnVtYmVyLiBQb3NzaWJsZSBBcnJheSBlbGVtZW50cyBhcmU6XG4gICAqICAgICAgICAgICAgICAgICAtIHR5cGU6IG51bWJlciBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZzogbW9iaWxlLCBsYW5kbGluZSxcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmRsaW5lX3ByZW1pdW0gb3IgdW5rbm93biBwaG9uZSBudW1iZXIuXG4gICAqICAgICAgICAgICAgICAgICAtIHZhbGlkOiBudW1iZXIgZXhpc3RzLlxuICAgKiAgICAgICAgICAgICAgICAgLSByZWFjaGFibGU6IGlzIG51bWJlciBhdmFpbGFibGUgbm93LlxuICAgKiAgICAgICAgICAgICAgICAgLSBjYXJyaWVyOiB0aGUgTUNDTU5DIGZvciB0aGUgY2FycmllciBudW1iZXIgaXMgcmVnaXN0ZXJlZFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aC4gVGhpcyBpcyBlaXRoZXI6IDxJU08gY291bnRyeSBjb2RlPi1GSVhFRFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgPElTTyBjb3VudHJ5IGNvZGU+LVBSRU1JVU0uXG4gICAqICAgICAgICAgICAgICAgICAtIHBvcnRlZDogaWYgdGhlIHVzZXIgaGFzIGNoYW5nZWQgY2FycmllciBmb3IgbnVtYmVyLlxuICAgKiAgICAgICAgICAgICAgICAgLSByb2FtaW5nOiB0aGUgc3Vic2NyaWJlciBpcyBvdXRzaWRlIHRoZWlyIGhvbWUgbmV0d29ya1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jYWxsYmFjayAtICdhZHZhbmNlZCcgb25seS5cbiAgICogICAgICAgICAgICAgICAgIFRoZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgQVBJIGNhbGwgY29tcGxldGVzLlxuICAgKiBAcGFyYW0ge051bWJlcn0gb3B0aW9ucy5jYWxsYmFja190aW1lb3V0IC0gJ2FkdmFuY2VkJyBvbmx5LlxuICAgKiAgICAgICAgICAgICAgICAgVGhlIG1heGltdW0gd2FpdCB1bnRpbCB0aGUgTnVtYmVyIEluc2lnaHQgUmV0dXJuIFBhcmFtZXRlcnNcbiAgICogICAgICAgICAgICAgICAgIGFyZSBzZW50IHRvIGNhbGxiYWNrLiBUaGlzIGlzIGEgdmFsdWUgYmV0d2VlbiAxMDAwIC0gMzAwMDBtc1xuICAgKiAgICAgICAgICAgICAgICAgaW5jbHVzaXZlLiBUaGUgZGVmYXVsdCBpcyAzMDAwMCBtcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuY2FsbGJhY2tfbWV0aG9kIC0gJ2FkdmFuY2VkJyBvbmx5LlxuICAgKiAgICAgICAgICAgICAgICAgVGhlIEhUVFAgbWV0aG9kIHVzZWQgdG8gc2VuZCB0aGUgTnVtYmVyIEluc2lnaHQgUmV0dXJuXG4gICAqICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzIHRvIGNhbGxiYWNrLiBNdXN0IGJlIEdFVCBvciBQT1NULiBUaGUgZGVmYXVsdFxuICAgKiAgICAgICAgICAgICAgICAgdmFsdWUgaXMgR0VULlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5jbGllbnRfcmVmIC0gJ2FkdmFuY2VkJyBvbmx5LlxuICAgKiAgICAgICAgICAgICAgICAgQSA0MCBjaGFyYWN0ZXIgcmVmZXJlbmNlIHN0cmluZyByZXR1cm5lZCBpbiB0aGUgTnVtYmVyXG4gICAqICAgICAgICAgICAgICAgICBJbnNpZ2h0IFJldHVybiBQYXJhbWV0ZXJzLiBUaGlzIG1heSBiZSB1c2VmdWwgZm9yIHlvdXJcbiAgICogICAgICAgICAgICAgICAgIGludGVybmFsIHJlcG9ydHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zWydpbmNsdWRlLWludGVybWVkaWF0ZS1jYWxsYmFja3MnXSAtICdhZHZhbmNlZCcgb25seS5cbiAgICogICAgICAgICAgICAgICAgIFRlbGxzIHRoZSBOZXhtbyBwbGF0Zm9ybSB0byBtYWtlIGNhbGxiYWNrcyBhcyBzb29uIGFzIGFuXG4gICAqICAgICAgICAgICAgICAgICBpbmRpdmlkdWFsIHBpZWNlIG9mIGluZm9ybWF0aW9uIGlzIHJldHJpZXZlZC5cbiAgICovXG4gIGdldChvcHRpb25zLCBjYWxsYmFjaykge1xuICAgIHZhciBsZXZlbCA9IG9wdGlvbnMubGV2ZWw7XG4gICAgLy8gcmVtb3ZlICdsZXZlbCcgYXMgaXQncyBhIGxpYnJhcnktb25seSBwYXJhbWV0ZXJcbiAgICBkZWxldGUgb3B0aW9ucy5sZXZlbDtcblxuICAgIGlmIChsZXZlbCA9PT0gXCJhZHZhbmNlZFwiIHx8IGxldmVsID09PSBcImFkdmFuY2VkQXN5bmNcIikge1xuICAgICAgaWYgKGxldmVsID09PSBcImFkdmFuY2VkXCIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdERVBSRUNBVElPTiBXQVJOSU5HOiBOdW1iZXIgSW5zaWdodCBBZHZhbmNlZCB3aXRoIGEgbGV2ZWwgb2YgXCJhZHZhbmNlZFwiIHdpbGwgYmUgc3luY2hyb25vdXMgaW4gdjIuMCsuIENvbnNpZGVyIHVzaW5nIHRoZSBsZXZlbCBcImFkdmFuY2VkQXN5bmNcIiB0byBrZWVwIHVzaW5nIHRoZSBhc3luYyBvcHRpb24uJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5fbmV4bW8ubnVtYmVySW5zaWdodEFkdmFuY2VkQXN5bmMuYXBwbHkodGhpcy5fbmV4bW8sIGFyZ3VtZW50cyk7XG4gICAgfSBlbHNlIGlmIChsZXZlbCA9PT0gXCJhZHZhbmNlZFN5bmNcIikge1xuICAgICAgdGhpcy5fbmV4bW8ubnVtYmVySW5zaWdodEFkdmFuY2VkLmFwcGx5KHRoaXMuX25leG1vLCBhcmd1bWVudHMpO1xuICAgIH0gZWxzZSBpZiAobGV2ZWwgPT09IFwic3RhbmRhcmRcIikge1xuICAgICAgdGhpcy5fbmV4bW8ubnVtYmVySW5zaWdodFN0YW5kYXJkLmFwcGx5KHRoaXMuX25leG1vLCBhcmd1bWVudHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9uZXhtby5udW1iZXJJbnNpZ2h0QmFzaWMuYXBwbHkodGhpcy5fbmV4bW8sIGFyZ3VtZW50cyk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE51bWJlckluc2lnaHQ7XG4iXX0= |
\ | No newline at end of file |