format: outwillfile-2.0
root:
  - wEventHandler.out
consistency:
  ../will.yml: &ref_0
    hash: 9d37ce9e4cb21a1ed5acb7d3246eb8a2
    size: 6948
module:
  wEventHandler.out:
    about:
      name: wEventHandler
      org: noorg
      description: >-
        Mixin adds events dispatching mechanism to your class. EventHandler
        provides methods to bind/unbind handler of an event, to handle a
        specific event only once, to associate an event with a namespace what
        later make possible to unbind handler of event with help of namespace.
        EventHandler allows redirecting events to/from another instance. Unlike
        alternative implementation of the concept, EventHandler is strict by
        default and force developer to explicitly declare / bind / unbind all
        events supported by object. Use it to add events dispatching mechanism
        to your classes and avoid accumulation of technical dept and potential
        errors.
      enabled: 1
      version: 0.5.0
      license: MIT
      npm.name: wEventHandler
      author: Kostiantyn Wandalen <wandalen@obox.systems>
      keywords: &ref_1
        - wTools
        - Events
      contributors: &ref_2
        - Kostiantyn Wandalen <wandalen@obox.systems>
      interpreters: &ref_3
        - njs >= 10.0.0
        - chrome >= 60.0.0
        - firefox >= 60.0.0
      npm.scripts: &ref_4
        test: wtest .run proto/**
        docgen: wdocgen .build proto
    path:
      module.willfiles:
        criterion:
          predefined: 1
        path: wEventHandler.out.will.yml
      module.common:
        criterion:
          predefined: 1
        path: wEventHandler.out
      module.original.willfiles:
        criterion:
          predefined: 1
        path: ../will.yml
      module.peer.willfiles:
        criterion:
          predefined: 1
        path: ../will.yml
      module.peer.in:
        criterion:
          predefined: 1
        path: ..
      download:
        criterion:
          predefined: 1
        path: ..
      repository:
        path: 'git+https:///github.com/Wandalen/wEventHandler.git'
      origins:
        path:
          - 'git+https:///github.com/Wandalen/wEventHandler.git'
          - 'npm:///wEventHandler'
      bugtracker:
        path: 'https:///github.com/Wandalen/wEventHandler/issues'
      in:
        path: .
      out:
        path: .
      temp:
        path:
          - 'path::out'
          - ../package-lock.json
          - ../package.json
          - ../node_modules
      proto:
        path: ../proto
      export:
        path: '{path::proto}/**'
      doc:
        path: ../doc
      out.raw.debug:
        criterion:
          debug: debug
          raw: raw
          content: prime
        path: '{path::out}/debug'
      out.compiled.debug:
        criterion:
          debug: debug
          raw: compiled
          content: prime
        path: '{path::out}/compiled.debug'
      out.raw.release:
        criterion:
          debug: release
          raw: raw
          content: prime
        path: '{path::out}/raw.release'
      out.compiled.release:
        criterion:
          debug: release
          raw: compiled
          content: prime
        path: '{path::out}/release'
      entry.proto.no.tests:
        criterion:
          tests: no.tests
        path: ../proto/wtools/abase/l7_mixin/EventHandler.s
      entry.proto.only.tests:
        criterion:
          tests: only.tests
        path: ../proto/**/*.test.s
      entry.out.raw.debug.debug:
        criterion:
          debug: debug
          raw: raw
          content: prime
        path: '{path::out.*=1}/source/wtools/abase/l7_mixin/EventHandler.s'
      entry.out.raw.debug.release:
        criterion:
          debug: release
          raw: raw
          content: prime
        path: '{path::out.*=1}/source/wtools/abase/l7_mixin/EventHandler.s'
      entry.out.compiled.debug.debug:
        criterion:
          debug: debug
          raw: compiled
          content: prime
        path: '{path::out.*=}/source/Index.s'
      entry.out.compiled.debug.release:
        criterion:
          debug: release
          raw: compiled
          content: prime
        path: '{path::out.*=}/source/Index.s'
      npm.proto.entry:
        path:
          - ../proto/wtools/abase/l7_mixin/EventHandler.s
          - ../proto/node_modules/wEventHandler
      exported.dir.proto.export:
        criterion:
          generated: 1
          content: proto
          export: 1
        path: ../proto
      exported.files.proto.export:
        criterion:
          generated: 1
          content: proto
          export: 1
        path:
          - ../proto
          - ../proto/Integration.test.ss
          - ../proto/node_modules
          - ../proto/node_modules/Tools
          - ../proto/node_modules/wEventHandler
          - ../proto/wtools
          - ../proto/wtools/abase
          - ../proto/wtools/abase/l7_mixin
          - ../proto/wtools/abase/l7_mixin/EventHandler.s
          - ../proto/wtools/abase/l7_mixin.test
          - ../proto/wtools/abase/l7_mixin.test/EventHandler.test.s
          - ../proto/wtools/amid
          - ../proto/wtools/atop
    submodule:
      wTools:
        path: 'npm:///wTools'
        autoExporting: 0
        enabled: 0
      wProto:
        path: 'npm:///wProto'
        autoExporting: 0
        enabled: 0
      wEventHandler:
        path: 'hd://..'
        autoExporting: 0
        enabled: 0
        criterion:
          development: 1
      wTesting:
        path: 'npm:///wTesting'
        autoExporting: 0
        enabled: 0
        criterion:
          development: 1
    reflector:
      reflect.proto.debug.raw:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: no.tests
          debug: debug
          raw: raw
          content: prime
        inherit:
          - predefined.*
      reflect.proto.release.raw:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: no.tests
          debug: release
          raw: raw
          content: prime
        inherit:
          - predefined.*
      reflect.proto.debug.compiled:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: no.tests
          debug: debug
          raw: compiled
          content: prime
        inherit:
          - predefined.*
      reflect.proto.release.compiled:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: no.tests
          debug: release
          raw: compiled
          content: prime
        inherit:
          - predefined.*
      transpile.proto.raw:
        src:
          filePath:
            'path::proto': '{path::out.raw.release}'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          raw: raw
          debug: release
          content: prime
        inherit:
          - predefined.*
      transpile.proto.no.tests.compiled.debug:
        src:
          filePath:
            '**.test*': false
            '**.test/**': false
            'path::proto': '{path::out.*=1}/Main.s'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: no.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - predefined.*
      transpile.proto.no.tests.compiled.release:
        src:
          filePath:
            '**.test*': false
            '**.test/**': false
            'path::proto': '{path::out.*=1}/Main.s'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: no.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - predefined.*
      transpile.proto.only.tests.compiled.debug:
        src:
          filePath:
            '**.test*': true
            'path::proto': '{path::out.*=1}/Tests.test.s'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: only.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - predefined.*
      transpile.proto.only.tests.compiled.release:
        src:
          filePath:
            '**.test*': true
            'path::proto': '{path::out.*=1}/Tests.test.s'
          prefixPath: ''
        dst:
          prefixPath: ''
        criterion:
          tests: only.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - predefined.*
      exported.proto.export:
        src:
          filePath:
            '**': ''
          prefixPath: ../proto
        mandatory: 1
        dstRewritingOnlyPreserving: 1
        linkingAction: hardLinkMaybe
        criterion:
          generated: 1
          content: proto
          export: 1
      exported.files.proto.export:
        src:
          filePath:
            'path::exported.files.proto.export': ''
          basePath: .
          prefixPath: 'path::exported.dir.proto.export'
          recursive: 0
        recursive: 0
        criterion:
          generated: 1
          content: proto
          export: 1
    step:
      proto.export:
        opts:
          export: 'path::export'
          tar: 0
        criterion:
          content: proto
        inherit:
          - module.export
      doc.export:
        opts:
          export: 'path::doc'
          tar: 0
        criterion:
          content: doc
        inherit:
          - module.export
      npm.export:
        opts:
          export: out.npm
          tar: 0
        criterion:
          content: npm
        inherit:
          - module.export
      npm.generate.debug.raw:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: debug
          raw: raw
        inherit:
          - npm.generate
      npm.generate.release.raw:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: release
          raw: raw
        inherit:
          - npm.generate
      npm.generate.debug.compiled:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: debug
          raw: compiled
        inherit:
          - npm.generate
      npm.generate.release.compiled:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: release
          raw: compiled
        inherit:
          - npm.generate
      clean.out.debug.raw.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.raw.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.compiled.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.compiled.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.raw.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.raw.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.compiled.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.compiled.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.raw.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.raw.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.debug.compiled.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.compiled.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.debug.raw.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.raw.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.debug.compiled.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.compiled.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.npm:
        opts:
          filePath: 'path::out.*=1'
        criterion:
          debug: debug
          raw: compiled
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      tst.proto:
        opts:
          shell: 'tst {path::proto}'
        criterion:
          content: proto
      tst.debug:
        opts:
          shell: 'tst {path::out.*=1}'
        criterion:
          content: prime
          debug: debug
      tst.release:
        opts:
          shell: 'tst {path::out.*=1}'
        criterion:
          content: prime
          debug: release
      reflect.proto.debug.raw:
        opts:
          filePath: 'reflector::reflect.proto.debug.raw'
        criterion:
          tests: no.tests
          debug: debug
          raw: raw
          content: prime
        inherit:
          - files.reflect
      reflect.proto.release.raw:
        opts:
          filePath: 'reflector::reflect.proto.release.raw'
        criterion:
          tests: no.tests
          debug: release
          raw: raw
          content: prime
        inherit:
          - files.reflect
      reflect.proto.debug.compiled:
        opts:
          filePath: 'reflector::reflect.proto.debug.compiled'
        criterion:
          tests: no.tests
          debug: debug
          raw: compiled
          content: prime
        inherit:
          - files.reflect
      reflect.proto.release.compiled:
        opts:
          filePath: 'reflector::reflect.proto.release.compiled'
        criterion:
          tests: no.tests
          debug: release
          raw: compiled
          content: prime
        inherit:
          - files.reflect
      transpile.proto.raw:
        opts:
          entry: 'path::entry.proto.no.tests'
          filePath: 'reflector::transpile.proto.raw'
        criterion:
          raw: raw
          debug: release
          content: prime
        inherit:
          - files.transpile
      transpile.proto.no.tests.compiled.debug:
        opts:
          entry: 'path::entry.proto.*=1'
          filePath: 'reflector::transpile.proto.no.tests.compiled.debug'
        criterion:
          tests: no.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - files.transpile
      transpile.proto.no.tests.compiled.release:
        opts:
          entry: 'path::entry.proto.*=1'
          filePath: 'reflector::transpile.proto.no.tests.compiled.release'
        criterion:
          tests: no.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - files.transpile
      transpile.proto.only.tests.compiled.debug:
        opts:
          entry: 'path::entry.proto.*=1'
          external.before: '{path::out.*=1}/Main.s'
          filePath: 'reflector::transpile.proto.only.tests.compiled.debug'
        criterion:
          tests: only.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - files.transpile
      transpile.proto.only.tests.compiled.release:
        opts:
          entry: 'path::entry.proto.*=1'
          external.before: '{path::out.*=1}/Main.s'
          filePath: 'reflector::transpile.proto.only.tests.compiled.release'
        criterion:
          tests: only.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - files.transpile
    build:
      proto.export:
        steps:
          - 'step::proto.export'
        criterion:
          content: proto
          export: 1
      doc.export:
        steps:
          - 'step::doc.export'
        criterion:
          content: doc
          export: 1
      export:
        steps:
          - 'build::proto.export'
        criterion:
          default: 1
          export: 1
      debug:
        steps:
          - 'step::clean.out*=2'
          - reflect.proto.*=1
        criterion:
          default: 1
          debug: debug
          raw: raw
          content: prime
      compiled.debug:
        steps:
          - 'step::clean.out*=2'
          - transpile.proto.no.tests*=1
          - transpile.proto.only.tests*=1
        criterion:
          debug: debug
          raw: compiled
          content: prime
      raw.release:
        steps:
          - 'step::clean.out*=2'
          - transpile.proto.raw
        criterion:
          debug: release
          raw: raw
          content: prime
      release:
        steps:
          - 'step::clean.out*=2'
          - transpile.proto.no.tests*=1
          - transpile.proto.only.tests*=1
        criterion:
          debug: release
          raw: compiled
          content: prime
      npm:
        steps:
          - npm.generate.*=1
        criterion:
          debug: debug
          raw: raw
          content: npm
      all:
        steps:
          - 'build::debug'
          - 'build::compiled.debug'
          - 'build::raw.release'
          - 'build::release'
          - 'build::npm'
    exported:
      proto.export:
        version: 0.5.0
        recursive: 0
        withIntegrated: 2
        tar: 0
        exportedReflector: 'reflector::exported.proto.export'
        exportedFilesReflector: 'reflector::exported.files.proto.export'
        exportedDirPath: 'path::exported.dir.proto.export'
        exportedFilesPath: 'path::exported.files.proto.export'
        criterion:
          content: proto
          export: 1
    consistency:
      ../will.yml: *ref_0
  ../:
    about:
      name: wEventHandler
      org: noorg
      description: >-
        Mixin adds events dispatching mechanism to your class. EventHandler
        provides methods to bind/unbind handler of an event, to handle a
        specific event only once, to associate an event with a namespace what
        later make possible to unbind handler of event with help of namespace.
        EventHandler allows redirecting events to/from another instance. Unlike
        alternative implementation of the concept, EventHandler is strict by
        default and force developer to explicitly declare / bind / unbind all
        events supported by object. Use it to add events dispatching mechanism
        to your classes and avoid accumulation of technical dept and potential
        errors.
      enabled: 1
      version: 0.5.0
      license: MIT
      npm.name: wEventHandler
      author: Kostiantyn Wandalen <wandalen@obox.systems>
      keywords: *ref_1
      contributors: *ref_2
      interpreters: *ref_3
      npm.scripts: *ref_4
    path:
      module.willfiles:
        criterion:
          predefined: 1
        path: will.yml
      module.original.willfiles:
        criterion:
          predefined: 1
        path: will.yml
      module.peer.willfiles:
        criterion:
          predefined: 1
        path: out/wEventHandler.out.will.yml
      module.peer.in:
        criterion:
          predefined: 1
        path: out
      module.common:
        criterion:
          predefined: 1
        path: ./
      download:
        criterion:
          predefined: 1
        path: .
      repository:
        path: 'git+https:///github.com/Wandalen/wEventHandler.git'
      origins:
        path:
          - 'git+https:///github.com/Wandalen/wEventHandler.git'
          - 'npm:///wEventHandler'
      bugtracker:
        path: 'https:///github.com/Wandalen/wEventHandler/issues'
      in:
        path: .
      out:
        path: out
      temp:
        path:
          - 'path::out'
          - package-lock.json
          - package.json
          - node_modules
      proto:
        path: proto
      export:
        path: '{path::proto}/**'
      doc:
        path: doc
      out.raw.debug:
        criterion:
          debug: debug
          raw: raw
          content: prime
        path: '{path::out}/debug'
      out.compiled.debug:
        criterion:
          debug: debug
          raw: compiled
          content: prime
        path: '{path::out}/compiled.debug'
      out.raw.release:
        criterion:
          debug: release
          raw: raw
          content: prime
        path: '{path::out}/raw.release'
      out.compiled.release:
        criterion:
          debug: release
          raw: compiled
          content: prime
        path: '{path::out}/release'
      entry.proto.no.tests:
        criterion:
          tests: no.tests
        path: proto/wtools/abase/l7_mixin/EventHandler.s
      entry.proto.only.tests:
        criterion:
          tests: only.tests
        path: proto/**/*.test.s
      entry.out.raw.debug.debug:
        criterion:
          debug: debug
          raw: raw
          content: prime
        path: '{path::out.*=1}/source/wtools/abase/l7_mixin/EventHandler.s'
      entry.out.raw.debug.release:
        criterion:
          debug: release
          raw: raw
          content: prime
        path: '{path::out.*=1}/source/wtools/abase/l7_mixin/EventHandler.s'
      entry.out.compiled.debug.debug:
        criterion:
          debug: debug
          raw: compiled
          content: prime
        path: '{path::out.*=}/source/Index.s'
      entry.out.compiled.debug.release:
        criterion:
          debug: release
          raw: compiled
          content: prime
        path: '{path::out.*=}/source/Index.s'
      npm.proto.entry:
        path:
          - proto/wtools/abase/l7_mixin/EventHandler.s
          - proto/node_modules/wEventHandler
    submodule:
      wTools:
        path: 'npm:///wTools'
        autoExporting: 0
        enabled: 0
      wProto:
        path: 'npm:///wProto'
        autoExporting: 0
        enabled: 0
      wEventHandler:
        path: 'hd://.'
        autoExporting: 0
        enabled: 0
        criterion:
          development: 1
      wTesting:
        path: 'npm:///wTesting'
        autoExporting: 0
        enabled: 0
        criterion:
          development: 1
    reflector:
      reflect.proto.debug.raw:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
        criterion:
          tests: no.tests
          debug: debug
          raw: raw
          content: prime
        inherit:
          - predefined.*
      reflect.proto.release.raw:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
        criterion:
          tests: no.tests
          debug: release
          raw: raw
          content: prime
        inherit:
          - predefined.*
      reflect.proto.debug.compiled:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
        criterion:
          tests: no.tests
          debug: debug
          raw: compiled
          content: prime
        inherit:
          - predefined.*
      reflect.proto.release.compiled:
        src:
          filePath:
            'path::proto': '{path::out.*=1}/source'
        criterion:
          tests: no.tests
          debug: release
          raw: compiled
          content: prime
        inherit:
          - predefined.*
      transpile.proto.raw:
        src:
          filePath:
            'path::proto': '{path::out.raw.release}'
        criterion:
          raw: raw
          debug: release
          content: prime
        inherit:
          - predefined.*
      transpile.proto.no.tests.compiled.debug:
        src:
          filePath:
            '**.test*': 0
            '**.test/**': 0
            'path::proto': '{path::out.*=1}/Main.s'
        criterion:
          tests: no.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - predefined.*
      transpile.proto.no.tests.compiled.release:
        src:
          filePath:
            '**.test*': 0
            '**.test/**': 0
            'path::proto': '{path::out.*=1}/Main.s'
        criterion:
          tests: no.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - predefined.*
      transpile.proto.only.tests.compiled.debug:
        src:
          filePath:
            '**.test*': 1
            'path::proto': '{path::out.*=1}/Tests.test.s'
        criterion:
          tests: only.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - predefined.*
      transpile.proto.only.tests.compiled.release:
        src:
          filePath:
            '**.test*': 1
            'path::proto': '{path::out.*=1}/Tests.test.s'
        criterion:
          tests: only.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - predefined.*
    step:
      proto.export:
        opts:
          export: 'path::export'
          tar: 0
        criterion:
          content: proto
        inherit:
          - module.export
      doc.export:
        opts:
          export: 'path::doc'
          tar: 0
        criterion:
          content: doc
        inherit:
          - module.export
      npm.export:
        opts:
          export: out.npm
          tar: 0
        criterion:
          content: npm
        inherit:
          - module.export
      npm.generate.debug.raw:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: debug
          raw: raw
        inherit:
          - npm.generate
      npm.generate.release.raw:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: release
          raw: raw
        inherit:
          - npm.generate
      npm.generate.debug.compiled:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: debug
          raw: compiled
        inherit:
          - npm.generate
      npm.generate.release.compiled:
        opts:
          entryPath: 'path::entry.out.*=1'
          packagePath: '{path::out.*=1}/package.json'
          filesPath: '{path::out.*=1}/source/**'
        criterion:
          debug: release
          raw: compiled
        inherit:
          - npm.generate
      clean.out.debug.raw.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.raw.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.compiled.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.compiled.no.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: no.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.raw.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.raw.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.compiled.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.release.compiled.only.tests.prime:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: only.tests
          content: prime
        inherit:
          - files.delete
      clean.out.debug.raw.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.raw.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.debug.compiled.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.compiled.no.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      clean.out.debug.raw.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: raw
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.raw.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: raw
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.debug.compiled.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: debug
          raw: compiled
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.release.compiled.only.tests.npm:
        opts:
          filePath: '{path::out.*=1}/source'
        criterion:
          debug: release
          raw: compiled
          tests: only.tests
          content: npm
        inherit:
          - files.delete
      clean.out.npm:
        opts:
          filePath: 'path::out.*=1'
        criterion:
          debug: debug
          raw: compiled
          tests: no.tests
          content: npm
        inherit:
          - files.delete
      tst.proto:
        opts:
          shell: 'tst {path::proto}'
        criterion:
          content: proto
      tst.debug:
        opts:
          shell: 'tst {path::out.*=1}'
        criterion:
          content: prime
          debug: debug
      tst.release:
        opts:
          shell: 'tst {path::out.*=1}'
        criterion:
          content: prime
          debug: release
      reflect.proto.debug.raw:
        opts:
          filePath: 'reflector::reflect.proto.debug.raw'
        criterion:
          tests: no.tests
          debug: debug
          raw: raw
          content: prime
        inherit:
          - files.reflect
      reflect.proto.release.raw:
        opts:
          filePath: 'reflector::reflect.proto.release.raw'
        criterion:
          tests: no.tests
          debug: release
          raw: raw
          content: prime
        inherit:
          - files.reflect
      reflect.proto.debug.compiled:
        opts:
          filePath: 'reflector::reflect.proto.debug.compiled'
        criterion:
          tests: no.tests
          debug: debug
          raw: compiled
          content: prime
        inherit:
          - files.reflect
      reflect.proto.release.compiled:
        opts:
          filePath: 'reflector::reflect.proto.release.compiled'
        criterion:
          tests: no.tests
          debug: release
          raw: compiled
          content: prime
        inherit:
          - files.reflect
      transpile.proto.raw:
        opts:
          entry: 'path::entry.proto.no.tests'
          filePath: 'reflector::transpile.proto.raw'
        criterion:
          raw: raw
          debug: release
          content: prime
        inherit:
          - files.transpile
      transpile.proto.no.tests.compiled.debug:
        opts:
          entry: 'path::entry.proto.*=1'
          filePath: 'reflector::transpile.proto.no.tests.compiled.debug'
        criterion:
          tests: no.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - files.transpile
      transpile.proto.no.tests.compiled.release:
        opts:
          entry: 'path::entry.proto.*=1'
          filePath: 'reflector::transpile.proto.no.tests.compiled.release'
        criterion:
          tests: no.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - files.transpile
      transpile.proto.only.tests.compiled.debug:
        opts:
          entry: 'path::entry.proto.*=1'
          external.before: '{path::out.*=1}/Main.s'
          filePath: 'reflector::transpile.proto.only.tests.compiled.debug'
        criterion:
          tests: only.tests
          raw: compiled
          debug: debug
          content: prime
        inherit:
          - files.transpile
      transpile.proto.only.tests.compiled.release:
        opts:
          entry: 'path::entry.proto.*=1'
          external.before: '{path::out.*=1}/Main.s'
          filePath: 'reflector::transpile.proto.only.tests.compiled.release'
        criterion:
          tests: only.tests
          raw: compiled
          debug: release
          content: prime
        inherit:
          - files.transpile
    build:
      proto.export:
        steps:
          - 'step::proto.export'
        criterion:
          content: proto
          export: 1
      doc.export:
        steps:
          - 'step::doc.export'
        criterion:
          content: doc
          export: 1
      export:
        steps:
          - 'build::proto.export'
        criterion:
          default: 1
          export: 1
      debug:
        steps:
          - 'step::clean.out*=2'
          - reflect.proto.*=1
        criterion:
          default: 1
          debug: debug
          raw: raw
          content: prime
      compiled.debug:
        steps:
          - 'step::clean.out*=2'
          - transpile.proto.no.tests*=1
          - transpile.proto.only.tests*=1
        criterion:
          debug: debug
          raw: compiled
          content: prime
      raw.release:
        steps:
          - 'step::clean.out*=2'
          - transpile.proto.raw
        criterion:
          debug: release
          raw: raw
          content: prime
      release:
        steps:
          - 'step::clean.out*=2'
          - transpile.proto.no.tests*=1
          - transpile.proto.only.tests*=1
        criterion:
          debug: release
          raw: compiled
          content: prime
      npm:
        steps:
          - npm.generate.*=1
        criterion:
          debug: debug
          raw: raw
          content: npm
      all:
        steps:
          - 'build::debug'
          - 'build::compiled.debug'
          - 'build::raw.release'
          - 'build::release'
          - 'build::npm'
    consistency:
      ../will.yml:
        hash: 9d37ce9e4cb21a1ed5acb7d3246eb8a2
        size: 6948
