3 * Copyright (c) 2020 Project CHIP Authors
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 const stringShortTypes = [ 'CHAR_STRING', 'OCTET_STRING' ];
19 const stringLongTypes = [ 'LONG_CHAR_STRING', 'LONG_OCTET_STRING' ];
20 const stringBytesTypes = [ 'OCTET_STRING', 'LONG_OCTET_STRING' ];
22 function isShortString(type)
24 return stringShortTypes.includes(type);
27 function isLongString(type)
29 return stringLongTypes.includes(type);
32 function isByteString(type)
34 return stringBytesTypes.includes(type);
37 function isString(type)
39 return isShortString(type) || isLongString(type);
42 function isCharString(type)
44 return isString(type) && !isByteString(type);
50 exports.isString = isString;
51 exports.isShortString = isShortString;
52 exports.isLongString = isLongString;
53 exports.isByteString = isByteString;
54 exports.isCharString = isCharString;