UNPKG

2.49 kBJavaScriptView Raw
1import { initializer } from './base';
2import * as utils from './utils';
3export function getQuestionToken(node) {
4 return utils.getValueOrUndefined(node.questionToken);
5}
6export function getDotDotDotToken(node) {
7 return utils.getValueOrUndefined(node.dotDotDotToken);
8}
9export function isRestParameter(node) {
10 return getDotDotDotToken(node) !== undefined;
11}
12export function isOptional(node) {
13 return getQuestionToken(node) !== undefined || isRestParameter(node) || initializer.hasInitializer(node);
14}
15
16//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcmFtZXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUE2QjtJQUM1RCxPQUFPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUE2QjtJQUM3RCxPQUFPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBNkI7SUFDM0QsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBNkI7SUFDdEQsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0csQ0FBQyIsImZpbGUiOiJuZW8tb25lLXRzLXV0aWxzL3NyYy9wYXJhbWV0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBpbml0aWFsaXplciB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXN0aW9uVG9rZW4obm9kZTogdHMuUGFyYW1ldGVyRGVjbGFyYXRpb24pOiB0cy5Ub2tlbjx0cy5TeW50YXhLaW5kLlF1ZXN0aW9uVG9rZW4+IHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHV0aWxzLmdldFZhbHVlT3JVbmRlZmluZWQobm9kZS5xdWVzdGlvblRva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERvdERvdERvdFRva2VuKG5vZGU6IHRzLlBhcmFtZXRlckRlY2xhcmF0aW9uKTogdHMuVG9rZW48dHMuU3ludGF4S2luZC5Eb3REb3REb3RUb2tlbj4gfCB1bmRlZmluZWQge1xuICByZXR1cm4gdXRpbHMuZ2V0VmFsdWVPclVuZGVmaW5lZChub2RlLmRvdERvdERvdFRva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVzdFBhcmFtZXRlcihub2RlOiB0cy5QYXJhbWV0ZXJEZWNsYXJhdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0RG90RG90RG90VG9rZW4obm9kZSkgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT3B0aW9uYWwobm9kZTogdHMuUGFyYW1ldGVyRGVjbGFyYXRpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldFF1ZXN0aW9uVG9rZW4obm9kZSkgIT09IHVuZGVmaW5lZCB8fCBpc1Jlc3RQYXJhbWV0ZXIobm9kZSkgfHwgaW5pdGlhbGl6ZXIuaGFzSW5pdGlhbGl6ZXIobm9kZSk7XG59XG4iXX0=