dotfiles/.vscode/extensions/saviorisdead.RustyCode-0.18.0/node_modules/spdx-expression-parse
Cyryl Płotnicki 2f946d6200 Add .vscode
2016-09-11 10:29:13 +02:00
..
index.js Add .vscode 2016-09-11 10:29:13 +02:00
LICENSE Add .vscode 2016-09-11 10:29:13 +02:00
package.json Add .vscode 2016-09-11 10:29:13 +02:00
parser.generated.js Add .vscode 2016-09-11 10:29:13 +02:00
README.md Add .vscode 2016-09-11 10:29:13 +02:00

var parse = require('spdx-expression-parse')
var assert = require('assert')

var firstAST = {
  left: { license: 'LGPL-2.1' },
  conjunction: 'or',
  right: {
    left: { license: 'BSD-3-Clause' },
    conjunction: 'and',
    right: { license: 'MIT' } } }

assert.deepEqual(
  parse('(LGPL-2.1 OR BSD-3-Clause AND MIT)'),
  firstAST)

var secondAST = {
  left: { license: 'MIT' },
  conjunction: 'and',
  right: {
    left: {
	  license: 'LGPL-2.1',
	  plus: true },
    conjunction: 'and',
    right: { license: 'BSD-3-Clause' } } }

assert.deepEqual(
  parse('(MIT AND (LGPL-2.1+ AND BSD-3-Clause))'),
  secondAST)

// We handle all the bare SPDX license and exception ids as well.
require('spdx-license-ids').forEach(function(id) {
  assert.deepEqual(
    parse(id),
    { license: id })
  require('spdx-exceptions').forEach(function(e) {
    assert.deepEqual(
      parse(id + ' WITH ' + e),
      { license: id, exception: e }) }) })

The Software Package Data Exchange (SPDX) specification is the work of the Linux Foundation and its contributors, and is licensed under the terms of the Creative Commons Attribution License 3.0 Unported (SPDX: "CC-BY-3.0"). "SPDX" is a United States federally registered trademark of the Linux Foundation.