Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 64x 42x 15x 1x 92x 1x 6x 3x 40060x 1x 1x 3x 1x 21x 1x 1x 11x 1x 1x 41120x 41120x 1x 1x | const Promise = require('bluebird'); const util = require('util'); const check = require('check-types'); let dseDriver; try { // eslint-disable-next-line import/no-extraneous-dependencies, import/no-unresolved dseDriver = require('dse-driver'); } catch (e) { dseDriver = null; } const cql = Promise.promisifyAll(dseDriver || require('cassandra-driver')); const validators = {}; validators.is_array = (obj) => (check.array(obj)); validators.is_object = (obj) => (check.object(obj)); validators.is_long = (obj) => ((obj instanceof cql.types.Long)); validators.is_decimal = (obj) => ((obj instanceof cql.types.BigDecimal)); validators.is_integer = (obj) => (check.integer(obj)); validators.is_var_int = (obj) => ((obj instanceof cql.types.Integer)); validators.is_boolean = (obj) => ((obj === true || obj === false)); validators.is_number = (obj) => (check.number(obj)); validators.is_string = (obj) => (check.string(obj)); validators.is_local_date = (obj) => ((obj instanceof cql.types.LocalDate)); validators.is_local_time = (obj) => ((obj instanceof cql.types.LocalTime)); validators.is_date = (obj) => (check.date(new Date(obj))); validators.is_buffer = (obj) => ((obj instanceof Buffer)); validators.is_timeuuid = (obj) => ((obj instanceof cql.types.TimeUuid)); validators.is_uuid = (obj) => ((obj instanceof cql.types.Uuid)); validators.is_inet = (obj) => ((obj instanceof cql.types.InetAddress)); validators.is_frozen = (obj) => ((validators.is_array(obj) || validators.is_object(obj))); const TYPE_MAP = { ascii: { validator: validators.is_string }, bigint: { validator: validators.is_long }, blob: { validator: validators.is_buffer }, boolean: { validator: validators.is_boolean }, counter: { validator: validators.is_long }, date: { validator: validators.is_local_date }, decimal: { validator: validators.is_decimal }, double: { validator: validators.is_number }, float: { validator: validators.is_number }, inet: { validator: validators.is_inet }, int: { validator: validators.is_integer }, list: { validator: validators.is_array }, map: { validator: validators.is_object }, set: { validator: validators.is_array }, smallint: { validator: validators.is_integer }, text: { validator: validators.is_string }, time: { validator: validators.is_local_time }, timestamp: { validator: validators.is_date }, timeuuid: { validator: validators.is_timeuuid }, tinyint: { validator: validators.is_integer }, uuid: { validator: validators.is_uuid }, varchar: { validator: validators.is_string }, varint: { validator: validators.is_var_int }, frozen: { validator: validators.is_frozen }, }; TYPE_MAP.generic_type_validator = function f(fieldtype) { Iif (!this[fieldtype]) return null; return { validator: this[fieldtype].validator, message(value, propName, fieldType) { return util.format('Invalid Value: "%s" for Field: %s (Type: %s)', value, propName, fieldType); }, type: 'type_validator', }; }; module.exports = TYPE_MAP; |