it('question option', () => { let type = doctrine.parseParamType('?='); assert.deepEqual(type, { type: 'OptionalType', expression: { type: 'NullableLiteral' } }); });
it('function option parameters latter', () => { let type = doctrine.parseParamType('function(number, ?)'); assert.deepEqual(type, { type: 'FunctionType', params: [ { type: 'NameExpression', name: 'number' }, { type: 'NullableLiteral' } ], result: null }); });
it('function type union', () => { let type = doctrine.parseParamType('function(): ?|number'); assert.deepEqual(type, { type: 'UnionType', elements: [ { type: 'FunctionType', params: [], result: { type: 'NullableLiteral' } }, { type: 'NameExpression', name: 'number' } ] }); });
it('question', () => { let type = doctrine.parseParamType('?'); assert.deepEqual(type, { type: 'NullableLiteral' }); });