UNPKG

1.91 kBtext/coffeescriptView Raw
1
2
3
4'use strict'
5
6
7############################################################################################################
8CND = require 'cnd'
9rpr = CND.rpr
10badge = 'HOLLERITH-CODEC/TYPES'
11debug = CND.get_logger 'debug', badge
12alert = CND.get_logger 'alert', badge
13whisper = CND.get_logger 'whisper', badge
14warn = CND.get_logger 'warn', badge
15help = CND.get_logger 'help', badge
16urge = CND.get_logger 'urge', badge
17info = CND.get_logger 'info', badge
18jr = JSON.stringify
19Intertype = ( require 'intertype' ).Intertype
20intertype = new Intertype module.exports
21
22
23# #-----------------------------------------------------------------------------------------------------------
24# @declare 'datamill_register_key_settings', ( x ) ->
25 # tests:
26 # "optional x is function or boolean":
27# "x is a object": ( x ) -> @isa.object x
28# "x has key 'key'": ( x ) -> @has_key x, 'key'
29# "x has key 'vlnr_txt'": ( x ) -> @has_key x, 'vlnr_txt'
30# "x has key 'value'": ( x ) -> @has_key x, 'value'
31# "x.key is a nonempty text": ( x ) -> @isa.nonempty_text x.key
32# "x.vlnr_txt is a nonempty text": ( x ) -> @isa.nonempty_text x.vlnr_txt
33# "x.vlnr_txt starts, ends with '[]'": ( x ) -> ( x.vlnr_txt.match /^\[.*\]$/ )?
34# "x.vlnr_txt is a JSON array of integers": ( x ) ->
35# # debug 'µ55589', x
36# ( @isa.list ( lst = JSON.parse x.vlnr_txt ) ) and \
37# ( lst.every ( xx ) => ( @isa.integer xx ) and ( @isa.positive xx ) )
38
39